
$(document).ready(function(){

	/* Start: Vars */
	var screen_xs_min = 480;
	var screen_sm_min = 768;
	var screen_md_min = 992;
	var screen_lg_min = 1200;
	var screen_xs_max = screen_sm_min - 1;
	var screen_sm_max = screen_md_min - 1;
	var screen_md_max = screen_lg_min - 1;
	var translation = {
	    "de-DE" : {
	    	"load_more" : "mehr anzeigen"
	    },
	    "en-EN" : {
	    	"load_more" : "load more"
	    }
	};
	var lang = document.documentElement.lang;
	/* End: Vars */


	/* Start: Functions */
	toolTipInit();
	lightBoxInit();
	responsiveTablesInit();
	slickCarouselInit();
	parallaxInit();
	animateCssInit();
	shuffleInit();
	infoboxInit();
	searchboxInit();
	iconColorBoxInit();
	textImgBlockScrollInit();
	numberCountInit();
	smartMenusInit();
	//dropdownInit();
	//mobileNavInit();
	//stickyHeader();
	//cookieBoxInit();
	//gaOptOutInit();
	scrollToSectionInit();
	//datePickerInit();
	imageMapInit();
	loadMoreInit();
	stickyCourseMenuInit();
	/* End: Functions */


	//* Start: WindowResize *//
	$(window).resize(function(){
		//dropdownInit();
		//mobileNavInit();
	});
	//* End: WindowResize *//




	//* Start: Tooltip *//
	function toolTipInit()
	{
		$('.navi_social a').tooltip({
			placement: 'top'
		});
	}
	//* End: Tooltip *//


	//* Start: Lightbox & ImgLink *//
	function lightBoxInit()
	{
		$('a.img_link').append('<div class="img_zoom"><i class="fas fa-external-link-alt"></i></div>');
		$('a.img_lightbox').append('<div class="img_zoom"><i class="fas fa-search"></i></div>');

		$('a.img_lightbox, a.img_lightbox_btn').lightcase({
			maxWidth: 1200,
			maxHeight: 1600,
			showSequenceInfo: true,
			showCaption: false
		});

		$('a.lightbox_video').lightcase({
			maxWidth: 1200,
			maxHeight: 1600,
			showSequenceInfo: false,
			showCaption: false
		});

		$('a.vid_lightbox').lightcase({
			maxWidth: 2000,
			maxHeight: 2000,
			showSequenceInfo: false,
			showCaption: false,
			breakBeforeShow: true,
			video: {
				width: 800,
				height: 500
			},
			onStart: {
				videoReplaceShow: function(){
					var videosub = lightcase.origin[0].attributes['data-sub'].nodeValue;
					lightcase.get('case').find('video').append('<track label="Deutsch" kind="subtitles" srclang="de" src="' + videosub + '" default>');
				}
			},
			onBeforeShow: {
				videoReplaceShow: function(){
					lightcase.show();
				}
			},
		});

		/*
		$('a.img_lightbox').magnificPopup({
			type: 'image',
			zoom: {enabled:true},
			gallery: {enabled:true}
		});
		*/
	}
	//* End: Lightbox *//


	//* Start: ResponsiveTables *//
	function responsiveTablesInit()
	{
		$('table.table').wrap('<div class="table-responsive" />')
	}
	//* End: ResponsiveTables *//


	//* Start: SlickCarousel *//
	function slickCarouselInit()
	{
		$('.theme_imagecarousel .slick_carousel').slick({
			slidesToShow: 1,
			slidesToScroll: 1,
			infinite: true,
			dots: true,
			speed: 2000,
			cssEase: 'ease-in-out',
			fade: false
		});

		$('.theme_clientlogocarousel .slick_carousel').slick({
			slidesToShow: 3,
			slidesToScroll: 1,
			infinite: true,
			dots: false,
			speed: 2000,
			cssEase: 'ease-in-out',
			responsive: [
				{
                    breakpoint: screen_sm_max,
                    settings: {
                        slidesToShow: 1
                    }
                }
            ]
		});

		$('.theme_reference_detail .slick_carousel').slick({
			slidesToShow: 1,
			slidesToScroll: 1,
			infinite: true,
			dots: true,
			speed: 2000,
			cssEase: 'ease-in-out',
			fade: true
		});

		$('.messen-slider').slick({
			slidesToShow: 4,
			slidesToScroll: 1,
			infinite: true,
			speed: 2000,
			cssEase: 'ease-in-out',
			responsive: [
				{
                    breakpoint: screen_xs_max,
                    settings: {
						slidesToShow: 1
					}
				},
				{
                    breakpoint: screen_sm_max,
                    settings: {
						slidesToShow: 2
					}
				},
				{
                    breakpoint: screen_md_max,
                    settings: {
                        slidesToShow: 3
					}					
                }
            ]
		});

		$('.theme_headercarousel .slick_carousel').each(function(){
			var slickFade = $(this).data('slick-fade');
			var slickAutoplay =  false;
			var slickAutoplayPause =  $(this).data('slick-autoplay');
			slickFade = !!+slickFade;
			if(slickAutoplayPause > 0)
			{
				slickAutoplay =  true;
			}

			$(this).slick({
                slidesToShow: 1,
                slidesToScroll: 1,
                infinite: true,
                dots: true,
                speed: 2000,
                autoplay: slickAutoplay,
				autoplaySpeed: slickAutoplayPause,
                cssEase: 'ease-in-out',
                fade: slickFade
            });
		});

		$('.slick_carousel_var').each(function(){
			var slickVar = $(this).data('slick-var');
			var slickFade = $(this).data('slick-fade');
			var slickAutoplay =  false;
			var slickAutoplayPause =  $(this).data('slick-autoplay');
			slickFade = !!+slickFade;
			if(slickAutoplayPause > 0)
			{
				slickAutoplay =  true;
			}

			$(this).on('init', function(slick){
				var actSlide = $(this).find('[data-slick-index="0"]');
				actSlide.find('[data-animated]').each(function(){
					var animateClass = $(this).data('animated');
					$(this).addClass(animateClass);
				});
				$(this).find('.kenburns_1').each(function(){
					var kenburnsClass = 'kenburns_1';
					$(this).attr('data-kenburns', kenburnsClass);
					$(this).removeClass(kenburnsClass);
				});
				actSlide.find('[data-kenburns]').addClass('kenburns_1');
			});

			$(this).on('beforeChange', function(event, slick, currentSlide, nextSlide){
				var actSlide = $(this).find('[data-slick-index="' +  nextSlide + '"]');
				actSlide.find('[data-animated]').each(function(){
					var animateClass =  $(this).data('animated');
					$(this).removeClass(animateClass);
				});
				actSlide.find('[data-kenburns]').each(function(){
					var kenburnsClass = $(this).data('kenburns');
					$(this).addClass(kenburnsClass);
				});
				actSlide.find('.static_header_txt').hide();
			});

			$(this).on('afterChange', function(event, slick, currentSlide){
				$('.slick_carousel_var').find('[data-animated]').each(function(){
					var animateClass =  $(this).data('animated');
					$(this).removeClass(animateClass);
				});

				var actSlide = $(this).find('[data-slick-index="' + currentSlide + '"]');
				actSlide.find('[data-animated]').each(function(){
					var animateClass =  $(this).data('animated');
					$(this).addClass(animateClass);
				});

				$('.slick_carousel_var').find('[data-kenburns]').each(function(){
					var kenburnsClass = 'kenburns_1';
					$(this).removeClass(kenburnsClass);
				});
				actSlide.find('[data-kenburns]').each(function(){
					var kenburnsClass =  $(this).data('kenburns');
					$(this).addClass(kenburnsClass);
				});
				actSlide.find('.static_header_txt').show();
			});

			$(this).on('setPosition', function(){
				$(this).find('.slick-slide').height('auto');
				var slickTrack = $(this).find('.slick-track');
				var slickTrackHeight = $(slickTrack).height();
				$(this).find('.slick-slide').css('height', slickTrackHeight + 'px');
			});

			$(this).slick({
				slidesToShow: slickVar,
				slidesToScroll: slickVar,
				infinite: true,
				dots: true,
				//prevArrow: '<button type="button" class="slick_var_prev">Previous</button>',
				//nextArrow: '<button type="button" class="slick_var_next">Next</button>',
				speed: 2000,
				autoplay: slickAutoplay,
				autoplaySpeed: slickAutoplayPause,
				cssEase: 'ease-in-out',
				fade: slickFade,
				responsive: [
					{
						breakpoint: screen_xs_max,
						settings: {
							slidesToShow: 1,
							slidesToScroll: 1
						}
					}
				]
			});
		});

		$('.slick_carousel_var').on('setPosition', function(){
			$(this).find('.slick-slide').height('auto');
			var slickTrack = $(this).find('.slick-track');
			var slickTrackHeight = $(slickTrack).height();
			$(this).find('.slick-slide').css('height', slickTrackHeight + 'px');
		});
	}
	//* End: SlickCarousel *//


	//* Start: ParallaxInit *//
	function parallaxInit()
	{
		$('.parallax_wrapper').each(function(){
			var parallaxParam = $(this).data('parallax-param');
			parallaxParam = parallaxParam.split(' ');
			$(this).find('> .outer_container').css('padding', parallaxParam[2] + 'px 0px ' + parallaxParam[3] + 'px 0px');
			var parallaxSrc = $(this).data('parallax-img');
			if(parallaxSrc)
			{
				$(this).jarallax({
					imgSrc: parallaxSrc,
					speed: parallaxParam[0],
					imgPosition: '50% ' + parallaxParam[1] + '%',
				});
			}
		});
	}
	//* End: ParallaxInit *//


	//* Start: AnimateCss *//
	function animateCssInit()
	{
		AOS.init({
			offset: 100,
      		delay: 100,
      		duration: 600,
      		//once: true
		});

		$('.row_content [data-animated]').each(function(){
			var element = $(this);
			var animateClass = element.data('animated');
			var hidden = element.data('hidden');
			if(hidden)
			{
				element.css('opacity', 0);
			}
			$(this).waypoint(function(){
    			element.addClass(animateClass);
			}, { offset: '50%'});
		});


		$('.static_header [data-animated], .static_header_img [data-animated]').each(function(){
			var element = $(this);
			var animateClass = element.data('animated');
			element.addClass(animateClass);
		});
		
		
		$('.headline_title_special, .headline_subtitle_special, .theme_divider_title_special').each(function(){
			var element = $(this);
			element.waypoint(function(direction){
				if(direction == 'down')
				{
					element.addClass('scrollani');
				}
				else
				{
					element.removeClass('scrollani');
				}
			}, { offset: '75%'});
		});
	}
	//* End: AnimateCss *//


	//* Start: Shuffle *//
	function shuffleInit()
	{
		$('.shuffle_wrapper').each(function(){
		    var grid = $(this).find('.shuffle');
            var filterOptions = $(this).find('.filter-options');
			var sizer = $(this).data('sizer');
			var catDefault = $(this).data('catdefault');
            $(this).append('<div class="' + sizer + '" />');

            if($(this).length)
            {
                var myShuffle = new Shuffle(grid, {
                    itemSelector: '.shuffle_item',
					sizer: '.shuffle_sizer',
					group: catDefault,
                    speed: 500,
                    easing: 'cubic-bezier(0.4, 0.0, 0.2, 1)'
                });

                $(this).find('.filter-options a').click(function(e){
                    e.preventDefault();

                    $(this).parent().parent().find('.filter-options a').removeClass('active');
                    $(this).addClass('active');

                    var groupName = $(this).attr('data-group');

                    if(groupName != '*')
                    {
                        myShuffle.filter(groupName);
                    }
                    else
                    {
                        myShuffle.filter();
                    }
                });
            }
        });
	}
	//* End: Shuffle *//


	//* Start: InfoBox *//
	function infoboxInit()
	{
		$('.infobox_content').hide();
  		$('.infobox_content').css('right', '-300px');
		$('.infobox_phone').click(function(){
			$('.infobox').toggleClass('infobox_open');
			if($('.infobox').hasClass('infobox_open'))
        	{
                $('.infobox_content').fadeIn(100);
                $('.infobox_content').animate({'right':'0px'});
            }
            else
            {
            	$('.infobox_content').animate({'right':'-300px'});
                $('.infobox_content').fadeOut(100);
            }
		});
	}
	//* End: InfoBox *//


	//* Start: SearchBox *//
	function searchboxInit()
	{
		$('.searchbox_form').hide();
		$('.searchbox_toggle').click(function(){
			$('#search_box').toggleClass('searchbox_open');
			if($('#search_box').hasClass('searchbox_open'))
			{
				$('.searchbox_form').fadeIn(500);
			}
            else
            {
                $('.searchbox_form').fadeOut(500);
            }
		});
	}
	//* End: SearchBox *//


	//* Start: IconColorBox *//
	function iconColorBoxInit()
	{
		$('.theme_iconcolorbox').each(function(){
			$(this).find('.theme_iconcolorbox_overlay').css('transition', 'none');
			$(this).on('mouseenter mouseleave', function(e){
            	var	width = $(this).width();
            	var	height = $(this).height();
        		var x = (e.pageX - $(this).offset().left - (width / 2)) * (width > height ? (height / width) : 1);
            	var	y = (e.pageY - $(this).offset().top - (height / 2)) * (height > width ? (width / height) : 1);
            	var dir_num = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;

            	if(e.type === 'mouseenter')
            	{
            	    if(dir_num == 0)
                    {
                        $(this).find('.theme_iconcolorbox_overlay').animate({transform: 100}, {
                            step: function(now, fx) {
                                $(this).css('transform', 'translate(0%, ' + (now - 100) + '%)');
                            },
                            duration: 1000
                        });
                    }
                    else if(dir_num == 1)
                    {
                        $(this).find('.theme_iconcolorbox_overlay').animate({transform: 100}, {
                            step: function(now, fx) {
                                $(this).css('transform', 'translate(' + (100 - now) + '%, 0%)');
                            },
                            duration: 1000
                        });
                    }
                    else if(dir_num == 2)
                    {
                        $(this).find('.theme_iconcolorbox_overlay').animate({transform: 100}, {
                            step: function(now, fx) {
                                $(this).css('transform', 'translate(0%, ' + (100 -  now) + '%)');
                            },
                            duration: 1000
                        });
                    }
                    else if(dir_num == 3)
                    {
                        $(this).find('.theme_iconcolorbox_overlay').animate({transform: 100}, {
                            step: function(now, fx) {
                                $(this).css('transform', 'translate(' + (now - 100) + '%, 0%)');
                            },
                            duration: 1000
                        });
                    }
                }

                if(e.type === 'mouseleave')
            	{
            	    if(dir_num == 0)
                    {
                        $(this).find('.theme_iconcolorbox_overlay').animate({transform: 100}, {
                            step: function(now, fx) {
                                $(this).css('transform', 'translate(0%, ' + (0 - now) + '%)');
                            },
                            duration: 1000
                        });
                    }
                    else if(dir_num == 1)
                    {
                        $(this).find('.theme_iconcolorbox_overlay').animate({transform: 100}, {
                            step: function(now, fx) {
                                $(this).css('transform', 'translate(' + (now) + '%, 0%)');
                            },
                            duration: 1000
                        });
                    }
                    else if(dir_num == 2)
                    {
                        $(this).find('.theme_iconcolorbox_overlay').animate({transform: 100}, {
                            step: function(now, fx) {
                                $(this).css('transform', 'translate(0%, ' + (now) + '%)');
                            },
                            duration: 1000
                        });
                    }
                    else if(dir_num == 3)
                    {
                        $(this).find('.theme_iconcolorbox_overlay').animate({transform: 100}, {
                            step: function(now, fx) {
                                $(this).css('transform', 'translate(' + (0 - now) + '%, 0%)');
                            },
                            duration: 1000
                        });
                    }
                }
			});
		});
	}
	//* End: IconColorBox *//


	//* Start: TextImgBlockScroll *//
	function textImgBlockScrollInit()
	{
		var scenes = {};

		function createScene(obj)
		{
			var controller = new ScrollMagic.Controller();

			var imgHeight = $(window).height() - $('header').outerHeight();

			obj.find('.theme_img').css('height', imgHeight);
    		obj.find('.theme_img').css('min-height', imgHeight);

            var scene = new ScrollMagic.Scene({
                triggerElement: '#' + obj.attr('id'),
                triggerHook: 'onLeave',
                offset: $('header').outerHeight() * -1,
                duration: obj.find('.theme_txt').outerHeight() - imgHeight
            })
            .setPin('#' + obj.find('.theme_img').attr('id'))
            .addTo(controller);

            return scene;
    	}

    	if($(window).width() >= screen_md_min)
    	{
    		$('.theme_textimgblockscroll').each(function(index){
    			scenes[index] = createScene($(this));

    			$(this).find('.theme_textimgblockscroll_resize').on('click', function(){
    				$(this).closest('.theme_textimgblockscroll').toggleClass('imgopen');
    			});
    		});
    	}

    	$(window).resize(function(){
    		$.each(scenes, function(key, value) {
                scenes[key].destroy(true);
            });

		    if($(window).width() >= screen_md_min)
    	    {
                $('.theme_textimgblockscroll').each(function(index){
    			    scenes[index] = createScene($(this));
                });
            }
        });
	}
	//* End: TextImgBlockScroll *//


	//* Start: NumberCount *//
	function numberCountInit()
	{
		$('.theme_numbers_element').each(function(){
			var element = $(this);
			var countToString = element.find('.theme_numbers_number').attr('data-count');
			var countTo = countToString;
			var countFinish = 0;
			countTo = countTo.replace('.', '');
			countTo = countTo.replace(',', '');

			element.find('.theme_numbers_number').text('0');

			$(this).waypoint(function(){
				if(countFinish == 0)
				{
                    element.find('.theme_numbers_number').animate(
                    {
                        countNum: countTo
                    },
                    {
                        duration: 2000,
                        easing: 'linear',
                        step: function()
                        {
                            $(this).text(Math.floor(this.countNum));
                        },
                        complete: function()
                        {
                            $(this).text(countToString);
                            countFinish = 1;

                        }
                    });
                }
            }, { offset: '70%'});
		});
	}
	//* End: NumberCount *//


	//* Start: SmartMenus *//
	function smartMenusInit()
	{
		var fadeSpeed = 500;
		var slideSpeed = 250;
		
		dirCheck();
		megaMenuInit();
		$(window).resize(function(){
			dirCheck();
			megaMenuInit();
		});
		function dirCheck()
		{
			$('.alm_navi .sm > li > ul').each(function(){
				$(this).show();
				$(this).find('ul').show();

				$(this).find('[class*=alm_navi_dd_]').each(function(){
					var offsetRight = $(window).width() - ($(this).offset().left + $(this).outerWidth(true));

					$(this).removeClass('dd_left');

					if(offsetRight < 300)
					{
						$(this).addClass('dd_left');
					}
				});

				$(this).hide();
				$(this).find('ul').hide();
			});
		}
		function megaMenuInit()
		{
			var megaParentContainer = $('.alm_navi_theme_1 > .container').width();
			var megaCss = $('.alm_navi_theme_1 .alm_navi_1 .megamenu_1 > ul').attr('style');
			$('.alm_navi_theme_1 .alm_navi_1 .megamenu_1 > ul').css('cssText', megaCss + '; font-size: 10px; width: ' + $(window ).width() + 'px !important; margin-left: -' + ($(window ).width() - megaParentContainer) / 2 + 'px !important');
		}

		$('.alm_navi .sm').smartmenus({
			subMenusMinWidth: '',
			subMenusMaxWidth: '',
			collapsibleBehavior: 'accordion-link',
			collapsibleShowFunction: function($ul, complete) { $ul.slideDown(fadeSpeed, complete); },
			collapsibleHideFunction: function($ul, complete) { $ul.slideUp(fadeSpeed, complete); },
			showFunction: function($ul, complete) { $ul.context.parentElement.className.indexOf('alm_navi_dd_1') ? $ul.slideDown(slideSpeed, complete) : $ul.fadeIn(slideSpeed, complete) },
			hideFunction: function($ul, complete) { $ul.context.parentElement.className.indexOf('alm_navi_dd_1') ? $ul.slideUp(slideSpeed, complete) : $ul.fadeOut(slideSpeed, complete) }
		});

		$('.alm_navi_toggle').after('<div class="clearfix"></div>');
		$('.alm_navi_toggle').click(function(){
			var almNavi = $(this).parent().find('.alm_navi_1');
			if($(this).hasClass('active'))
			{
				$(this).removeClass('active');
				almNavi.show().slideUp(slideSpeed, function() { almNavi.css('display', ''); });
			}
			else
			{
				$(this).addClass('active');
				almNavi.hide().slideDown(slideSpeed, function() { almNavi.css('display', ''); });
			}
		});
	}
	//* End: SmartMenus *//


	//* Start: Dropdown Hover *//
	function dropdownInit()
	{
		var mobileMenu = $('.navbar-toggle').css('display');

		$('ul.nav li.dropdown').unbind('mouseenter mouseleave');
		$('ul.nav li.dropdown .dropdown-menu').each(function(){
			$(this).removeAttr('style');
		});
  	    if(!isTouchDevice() && mobileMenu != 'block')
        {
		    $('ul.nav li.dropdown, ul.nav li.dropdown-submenu').hover(function(){
                $(this).find('> .dropdown-menu').stop(true, true).delay(200).fadeIn(500);
            }, function(){
                $(this).find('> .dropdown-menu').stop(true, true).delay(200).fadeOut(500);
            });
        }
	}
	//* End: Dropdown Hover *//


	//* Start: Dropdown SecondClick goTo Href *//
	function mobileNavInit()
	{
    	var mobileMenu = $('.navbar-toggle').css('display');
    	$('.navbar-nav .dropdown a.dropdown-toggle').off('click');
    	$('.navbar-nav .dropdown a.dropdown-toggle').attr('data-toggle', 'dropdown');

    	if(isTouchDevice() || mobileMenu == 'block')
    	{
    		$('.navbar-nav .dropdown a.dropdown-toggle').on('click', function(){
    			if($(this).parent().hasClass('open') || $(this).next('ul').css('display') == 'block')
    			{
        			window.location = $(this).attr('href');
        		}
			});
		}
		else
		{
			$('.navbar-nav .dropdown a.dropdown-toggle').removeAttr('data-toggle');
		}
	}
	//* End: Dropdown SecondClick goTo Href *//


	//* Start: StickyHeader *//
	function stickyHeader()
	{
		var stickyElement = '.header';
		var stickySpaceElement = '.row_header';
		var stickyClasses = 'sticky_fixed';

		checkDistance();

		$(window).resize(function(){
			checkDistance();
		});

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

		function checkDistance()
		{
			$(stickyElement).removeClass(stickyClasses);
			var stickyDistance = $(stickyElement).offset().top;
			var stickySpaceTop = parseInt($(stickyElement).outerHeight()) + parseInt($(stickySpaceElement).css('padding-top'));

			if($(this).scrollTop() >= stickyDistance)
			{
				$(stickyElement).addClass(stickyClasses);
				$(stickySpaceElement).css('margin-top', stickySpaceTop);
			}
			else
			{
				$(stickyElement).removeClass(stickyClasses);
				$(stickySpaceElement).removeAttr('style');
			}
		}
	}
  	//* End: StickyHeader *//


	//* Start: CookieBox *//
	function cookieBoxInit()
	{
		/* CookieEuBanner */
		var lang = $('html').attr('lang');
		if(lang == 'de-DE')
		{
			var message = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr.';
			var allow = 'Cookies akzeptieren';
            var dismiss = 'Nur System-Cookies erlauben';
            var link = 'N&auml;here Informationen';
            var href = './datenschutz/';
		}
		else
		{
		    var message = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr.';
			var allow = 'Accept Cookies';
            var dismiss = 'No Cookies';
            var link = 'Learn more';
            var href = './en/privacy-policy/';
		}

		var cBox = '<div id="cookies-eu-banner" class="cookies-eu-banner">'
            + '<div class="cookies-eu-message">' + message + '</div>'
            + '<div class="cookies-eu-link"><a href="' + href + '" id="cookies-eu-more" target="_blank">' + link + '</a></div>'
            + '<div class="cookies-eu-buttons">'
            + '<button id="cookies-eu-accept" class="btn btn-primary btn_template_1">' + allow + '</button>'
            //+ '<button id="cookies-eu-reject" class="btn btn-primary btn_template_1">' + dismiss + '</button>'
            + '</div>'
    		+ '</div>';

		$('body').append(cBox);

		new CookiesEuBanner(function(){
	        var consentAdd_1 = '<!-- Global Site Tag (gtag.js) - Google Analytics -->\n' +
			'<script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-xxxxxxxxx-1" type="text/javascript"></script>\n' +
			'<script type="text/javascript">\n' +
			'  window.dataLayer = window.dataLayer || [];\n' +
			'  function gtag(){dataLayer.push(arguments)};\n' +
			'  gtag(\'js\', new Date());\n' +
			'  gtag(\'config\', \'UA-xxxxxxxxx-1\', {\'anonymize_ip\': true});\n' +
			'</script>\n';

			//$('head').append(consentAdd_1);
		}, true);

		/* CookieConsent */
		/*
		var lang = $('html').attr('lang');
		var opt = 'opt-in'
		if(lang == 'de-DE')
		{
			var message = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr.';
			var allow = 'Cookies akzeptieren';
            var dismiss = 'Keine Cookies';
            var link = 'N&auml;here Informationen';
            var href = '/datenschutz/';
		}
		else
		{
		    var message = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr.';
			var allow = 'Accept Cookies';
            var dismiss = 'No Cookies';
            var link = 'Learn more';
            var href = '/en/privacy-policy/';
		}

		window.cookieconsent.initialise({
			container: document.getElementById('row_content'),
			position: 'bottom-right',
			type: opt,
 			content: {
    			message: message,
				allow: allow,
    			dismiss: dismiss,
    			link: link,
    			href: href
  			}
		});
		*/
	}
	//* End: CookieBox *//


	//* Start: GA OptOut *//
	// <a class="gaoptout" href="t3://page?uid=1" title="GA OptOut">[ hier ]</a>
	function gaOptOutInit()
	{
  		var gaProperty = 'UA-xxxxxxxxx-1';
  		var disableStr = 'ga-disable-' + gaProperty;

        if(document.cookie.indexOf(disableStr + '=true') > -1)
        {
        	window[disableStr] = true;
        }

  		$('.gaoptout').click(function(event){
  			event.preventDefault();

  			document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
  			window[disableStr] = true;

  			alert('Goole Analytics Off');
  		});
	}
	//* End: GA OptOut *//


	//* Start: Scroll To Section */
	function scrollToSectionInit()
	{
		var scrollObj = $(location).attr('hash');
		scrollObj = $(scrollObj);
		var stickyElement = $('.sticky_fixed');
		var scrollObjSpaceTop = 0;
		if(stickyElement.length)
		{
			scrollObjSpaceTop = parseInt(stickyElement.outerHeight()) + 30;
		}
		if(scrollObj.length)
		{
			window.scrollTo(0, 0);
			$('html, body').animate({
				scrollTop: ($(scrollObj).offset().top - scrollObjSpaceTop)
			}, 500);
		}

		$('a[href*=\\#page_]').click(function(event){
			$('html, body').animate({
				scrollTop: $( $.attr(this, 'href') ).offset().top
			}, 500);
			event.preventDefault();
		});
	}
	//* End: Scroll To Section *//


	//* Start: DatePicker */
	function datePickerInit()
	{
		var lang = $('html').attr('lang');

		if(lang == 'de-DE')
		{
			$.datetimepicker.setLocale('de');
		}
		else
		{
		    $.datetimepicker.setLocale('en');
		}

		$('.field_datepicker').attr('placeholder', 'dd.mm.yyyy');
		$('.field_datepicker').datetimepicker({
        	timepicker: false,
            scrollInput: false,
            scrollMonth: false,
            format: 'd.m.Y',
        });
	}
	//* End: DatePicker *//




	//* Start: ImageMap */
	function imageMapInit()
	{
		$('.theme_imagemap').each(function(){
			$(this).append('<div class="image_map_info" />');
			$(this).find('.image_map_info').hide();
		});

		$('.image_map').each(function(){
			$(this).rwdImageMaps();
		});

		$('.image_map_map area').each(function(){
			var infoText = '<div class="info_title">' + $(this).attr('title') + '</div>' + $(this).data('info');

			$(this).click(function(e){
				e.preventDefault();
			});

			$(this).hover(function(){
				$(this).closest('.theme_imagemap').find('.image_map_info').html(infoText).stop(true, true).delay(200).fadeIn(500);
			}, function(){
				$(this).closest('.theme_imagemap').find('.image_map_info').stop(true, true).delay(200).fadeOut(500);
			});
		});
	}
	//* End: ImageMap *//




	//* Start: loadMore */
	function loadMoreInit()
	{
		loadMoreAction('.ce-uploads', 'li', 6, 9, 12);
		loadMoreAction('.navi_subdyn ul', 'li', 6, 6, 9);

		function loadMoreAction(pElement, cElement, iShowS, iShowM, iShowL)
		{
			$(pElement).each(function(){
				var pElement = $(this);
				var iCount = $(this).find(cElement).length;
				var iShow = iShowS;

				if($(window).width() >= screen_sm_min){ iShow = iShowM; }
				if($(window).width() >= screen_md_min){ iShow = iShowL; }

				if(iCount > iShow)
				{
					pElement.find('li:nth-child(n+' + (iShow + 1) + ')').hide();
					pElement.after('<div class="downloads more-button"><a href="#">'+translation[lang]['load_more']+'</a></div>');
					pElement.next('.more-button').find('a').on('click', function(e){
						e.preventDefault();
						pElement.children().slice(iShow).each(function(index){
							$(this).delay(200 * index).fadeIn();
						});
						pElement.next('.more-button').remove();
					});
				}
			});
		}
	}
	//* End: loadMore *//

	//* Start: Flyout Course Menu *//
	function stickyCourseMenuInit()
	{
		$('.almcourse_block_navi').click(function(){
			$('.almcourse_block_navi').toggleClass('open');
		});

		if ($('.almcourse_block_navi').length > 0) {
			var topLimit = $('.almcourse_block_navi').offset().top - 300;
			$(window).scroll(function() {
			if (topLimit <= $(window).scrollTop()) {
				$('.almcourse_block_navi').addClass('sticky')
			} else {
				$('.almcourse_block_navi').removeClass('sticky')
			}
			});
		}
	}
	//* End: Flyout Course Menu *//




	//* Start: Check Touchdevice *//
	function isTouchDevice()
	{
		try
		{
			document.createEvent('TouchEvent');
			return true;
		}
		catch(e)
		{
			return false;
		}
	}
	//* End: Check Touchdevice *//
});
$(document).ready(function(){
    var lang = $('html').attr('lang');

    cookieManButtons();
    cookieManOpen();

    if(typeof cookieType_gt !== "undefined" && cookieType_gt == 1) { cookie_gt(); }
    if(typeof cookieType_ga !== "undefined" && cookieType_ga == 1) { cookie_ga(); }
    if(typeof cookieType_os !== "undefined" && cookieType_os == 1) { cookie_os(); } else { cookie_ph('os'); }
    if(typeof cookieType_gm !== "undefined" && cookieType_gm == 1) { cookie_gm(); } else { cookie_ph('gm'); }
    if(typeof cookieType_yt !== "undefined" && cookieType_yt == 1) { cookie_yt(); } else { cookie_ph('yt'); }


    /* Google Tag Manager */
    function cookie_gt()
    {
        var gtProperty = 'GTM-XXXXXX';

        var consentAdd = "<!-- Google Tag Manager -->\n" +
        "<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});\n" +
        "var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';\n" +
        "j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n" +
        "})(window,document,'script','dataLayer','" + gtProperty + "');</script>\n" +
        "<!-- End Google Tag Manager -->\n";

        $('head').append(consentAdd);
    }
    

    /* Google Analytics */
    function cookie_ga()
    {
        var gaProperty = 'UA-xxxxxxxxx-1';

        var consentAdd = '<!-- Global Site Tag (gtag.js) - Google Analytics -->\n' +
        '<script async="" src="https://www.googletagmanager.com/gtag/js?id=' + gaProperty + '" type="text/javascript"></script>\n' +
        '<script type="text/javascript">\n' +
        '  window.dataLayer = window.dataLayer || [];\n' +
        '  function gtag(){dataLayer.push(arguments)};\n' +
        '  gtag(\'js\', new Date());\n' +
        '  gtag(\'config\', \'' + gaProperty + '\', {\'anonymize_ip\': true});\n' +
        '</script>\n';

        $('head').append(consentAdd);


        // <a class="gaoptout" href="t3://page?uid=1" title="GA OptOut">[ hier ]</a>
        var disableStr = 'ga-disable-' + gaProperty;

        if(document.cookie.indexOf(disableStr + '=true') > -1)
        {
            window[disableStr] = true;
        }

        $('.gaoptout').click(function(event){
            event.preventDefault();

            document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
            window[disableStr] = true;

            alert('Goole Analytics Off');
        });
    }


    /* Open Street Map */
    function cookie_os()
    {
    }


    /* Google Maps */
    function cookie_gm()
    {
        $('.iframe_gm').each(function(){
            var src = $(this).data('src');
            $(this).attr('src', src);
        });
    }


    /* YouTube */
    function cookie_yt()
    {
        $('.iframe_yt').each(function(){
            var src = $(this).data('src');
            $(this).attr('src', src);
        });
    }


    /* iFrame Placeholder */
    function cookie_ph(phType)
    {
        if(phType == 'os')
        {
            var phTitle = 'Open Street Map Placeholder';

            $('.theme_osm_c').each(function(){
                $(this).replaceWith('<div class="iframe_ph iframe_ph_' + phType + '"><div class="iframe_ph_title">' + phTitle + '</div></div>');
            });
            $('.iframe_ph_' + phType).each(function(){
                $('.footer .cookieman_open').clone(true).appendTo($(this));
            });
        }

        if(phType == 'gm')
        {
            var phTitle = 'Google Maps Placeholder';

            $('.iframe_' + phType).each(function(){
                $(this).replaceWith('<div class="iframe_ph iframe_ph_' + phType + '"><div class="iframe_ph_title">' + phTitle + '</div></div>');
            });
            $('.iframe_ph_' + phType).each(function(){
                $('.footer .cookieman_open').clone(true).appendTo($(this));
            });
        }

        if(phType == 'yt')
        {
            var phTitle = 'YouTube Placeholder';

            $('.iframe_' + phType).each(function(){
                $(this).replaceWith('<div class="iframe_ph iframe_ph_' + phType + '"><div class="iframe_ph_title">' + phTitle + '</div></div>');
            });
            $('.iframe_ph_' + phType).each(function(){
                $('.footer .cookieman_open').clone(true).appendTo($(this));
                $(this).parent('.flex_video').addClass('flex_video_ph');
            });
        }
    }


    /* CookieMan Modal Buttons */
    function cookieManButtons()
    {
        $('#cookieman-modal .modal-footer .btn').click(function(event){
            location.reload();
        });
    }


    /* CookieMan Link */
    function cookieManOpen()
    {
        $('.cookieman_open').click(function(event){
            event.preventDefault();

            cookieman.show();
        });
    }
});