(function ($) {

  "use strict";

  /* ==========================================================================
   ieViewportFix - fixes viewport problem in IE 10 SnapMode and IE Mobile 10
   ========================================================================== */

  function ieViewportFix() {

    var msViewportStyle = document.createElement("style");

    msViewportStyle.appendChild(
      document.createTextNode(
        "@-ms-viewport { width: device-width; }"
      )
    );

    if (navigator.userAgent.match(/IEMobile\/10\.0/)) {

      msViewportStyle.appendChild(
        document.createTextNode(
          "@-ms-viewport { width: auto !important; }"
        )
      );
    }

    document.getElementsByTagName("head")[0].
      appendChild(msViewportStyle);

  }

  /* ==========================================================================
   exists - Check if an element exists
   ========================================================================== */

  function exists(e) {
    return $(e).length > 0;
  }

  /* ==========================================================================
   handleMobileMenu
   ========================================================================== */

  var MOBILEBREAKPOINT = 768;

  function handleMobileMenu() {

    if ($(window).width() > MOBILEBREAKPOINT) {
      $("#mobile-menu").hide();
      $("#mobile-menu-trigger").removeClass("mobile-menu-opened").addClass("mobile-menu-closed");

    } else {

      if (!exists("#mobile-menu")) {

        $("#menu").clone().attr({
          id: "mobile-menu",
          "class": "fixed"
        }).insertAfter("#header");

      }

      $('#mobile-menu a').on("click", function () {
        var $t = $('#mobile-menu-trigger');
        var $n = $('#mobile-menu');
        var ti = $(this).attr('title');
        var $element = $('#' + ti);
        $.scrollTo($element, {duration: 500, offset: -150})
        if ($t.hasClass("mobile-menu-opened")) {
          $t.removeClass("mobile-menu-opened").addClass("mobile-menu-closed");
          $n.slideUp(300);
        } else {
          $t.removeClass("mobile-menu-closed").addClass("mobile-menu-opened");
          $n.slideDown(300);
        }
        event.preventDefault();
      });

      $("#mobile-menu li, #mobile-menu li a, #mobile-menu ul").attr("style", "");

    }


  }

  /* ==========================================================================
   showHideMobileMenu
   ========================================================================== */

  function showHideMobileMenu() {

    $("#mobile-menu-trigger").on("click", function (event) {

      var $t = $(this),
        $n = $("#mobile-menu");

      if ($t.hasClass("mobile-menu-opened")) {
        $t.removeClass("mobile-menu-opened").addClass("mobile-menu-closed");
        $n.slideUp(300);
      } else {
        $t.removeClass("mobile-menu-closed").addClass("mobile-menu-opened");
        $n.slideDown(300);
      }
      event.preventDefault();

    });

  }

  /* ==========================================================================
   handleBackToTop
   ========================================================================== */

  function handleBackToTop() {

    $('#back-to-top').on("click", function () {
      $('html, body').animate({scrollTop: 0}, 'slow');
      return false;
    });

  }

  /* ==========================================================================
   showHidebackToTop
   ========================================================================== */

  function showHidebackToTop() {

    if ($(window).scrollTop() > $(window).height() / 2) {
      $("#back-to-top").removeClass('gone').addClass('visible');
    } else {
      $("#back-to-top").removeClass('visible').addClass('gone');
    }

  }

  /* ==========================================================================
   handleVideoBackground
   ========================================================================== */

  var min_w = 0,
    video_width_original = 1920,
    video_height_original = 1080,
    vid_ratio = 1920 / 1080;

  function handleVideoBackground() {

    $('.fullwidth-section .fullwidth-section-video').each(function (i) {

      var $sectionWidth = $(this).closest('.fullwidth-section').outerWidth(),
        $sectionHeight = $(this).closest('.fullwidth-section').outerHeight();

      $(this).width($sectionWidth);
      $(this).height($sectionHeight);

      // calculate scale ratio
      var scale_h = $sectionWidth / video_width_original,
        scale_v = $sectionHeight / video_height_original,
        scale = scale_h > scale_v ? scale_h : scale_v;

      // limit minimum width
      min_w = vid_ratio * ($sectionHeight + 20);

      if (scale * video_width_original < min_w) {
        scale = min_w / video_width_original;
      }

      $(this).find('video').width(Math.ceil(scale * video_width_original + 2)).height(Math.ceil(scale * video_height_original + 2));

    });

  }


  /* ==========================================================================
   handleStickyHeader
   ========================================================================== */

  var stickyHeader = false;
  var stickypoint = 150;

  if ($('body').hasClass('sticky-header')) {
    stickyHeader = true;
  }

  //stickypoint = $("#header-top").outerHeight() + $("#header-wrap").outerHeight() + 150;

  function handleStickyHeader() {

    var b = document.documentElement,
      e = false;

    function f() {

      window.addEventListener("scroll", function (h) {

        if (!e) {
          e = true;
          setTimeout(d, 250);
        }
      }, false);

      window.addEventListener("load", function (h) {

        if (!e) {
          e = true;
          setTimeout(d, 250);
        }
      }, false);
    }

    function d() {

      var h = c();

      if (h >= stickypoint) {
        $('#header').addClass("stuck");
        $('#logo img').attr("src", "assets/images/logo-2.png");
      } else {
        $('#header').removeClass("stuck");
        $('#logo img').attr("src", "assets/images/logo.png");
        $('.header-style-2 #logo img').attr("src", "assets/images/logo-2.png");
        $('#content').animate({top: '0px'}, 100);
      }

      e = false;
    }

    function c() {

      return window.pageYOffset || b.scrollTop;

    }

    f();

  }

  /* ==========================================================================
   When document is ready, do
   ========================================================================== */


  window.modernNavInit = function () {

    ieViewportFix();


    //if (!isTouchDevice()) {
    //  enableParallax();
    //}


    handleMobileMenu();
    showHideMobileMenu();

    handleBackToTop();
    showHidebackToTop();

    handleVideoBackground();


    $('.sf-menu li a').on('click', function () {
      var ti = $(this).attr('title');
      var $element = $('#' + ti);
      $.scrollTo($element, {duration: 500, offset: -150})
    });


    $('#logo').click(function (e) {
      $('body').animate({scrollTop: 0}, 500);
    });

  };

  /* ==========================================================================
   When the window is scrolled, do
   ========================================================================== */

  $(window).scroll(function () {
    showHidebackToTop();
  });

  /* ==========================================================================
   When the window is resized, do
   ========================================================================== */

  $(window).resize(function () {

    handleMobileMenu();
    handleVideoBackground();

    //if(stickyHeader && ($(window).width() > 1024)){
    //	handleStickyHeader();
    //}

  });


})(jQuery);

// non jQuery scripts below



