{"version":3,"sources":["landingPage.js","main.js","maps.js","application.js","cookies.js","directions.js","forms.js","headerAnims.js","processModule.js","select.js","showMore.js","social.js","swipers.js","template.js","timeline.js"],"names":["initLandingSwipers","landingSwiper","$","landingSwiperArray","each","index","landingSwiperUniqueId","this","attr","parent","closest","prevBtn","find","nextBtn","pagin","landingSwiperUnique","landingSwiperInstance","Swiper","spaceBetween","simulateTouch","allowTouchMove","paginationClickable","slidesPerView","autoHeight","effect","crossFade","speed","pagination","el","type","clickable","navigation","prevEl","nextEl","on","slideChange","removeClass","eq","snapIndex","addClass","update","push","equalizeJobOverviewBoxes","maxHeight","boxes","css","outerHeight","equalizeContactBoxText","maxPersonalHeight","addSoftBreaksToContactEmails","res","text","split","html","concat","initProductOverlaySwipers","slideNr","initialSlide","disabledClass","breakpoints","320","768","1439","init","currentSlideNr","data","galleryThumbs","watchSlidesVisibility","watchSlidesProgress","thumbs","swiper","initGalleryForSwipers","gallerySwiper","direction","resistanceRatio","fadeEffect","scrollbar","hide","renderCustom","current","slice","992","initSimpleGallery","simpleGallery","simpleGalleryArray","simpleGalleryUniqueId","simpleGalleryUnique","simpleGallerySwiper","initImageTextGallery","imageTextGallery","imageTextGalleryArray","imageTextCardSwiperArray","imageTextGalleryUniqueId","cardSwiperId","imageTextGalleryUnique","cardSwiperInstance","imageTextGallerySwiper","slideTo","initMaps","directions__initMap","Dropzone","autoDiscover","applicationSwiperObj","document","querySelector","applicationSwiper","centeredSlides","loop","noSwiping","noSwipingClass","lockClass","applicationSwiperStart__btn","querySelectorAll","applicationSwiperBg","forEach","btn","addEventListener","onSwiperStart","activeIndex","toogleBg","pi__lockLastTwo","allowSlideNext","sa__toogleBtn","pi__toogleBtn","uf__toogleBtn","classList","add","sa__openPosition__radio","getElementById","sa__openPosition__dropdown","sa__apprenticeship__radio","sa__apprenticeship__dropdown","sa__nextBtn","radio","sa__radioChange","select","sa__selectChange","pi__inputs","pi__nextBtn","input","uf__dropzoneId","uf__dropzoneContainer","uf__dropzoneElement","uf__textarea","uf__checkboxs","uf__templateNode","uf__previewTemplate","innerHTML","parentNode","removeChild","getUrl","window","location","targetUrlFiles","origin","uf__dropzone","url","method","paramName","createImageThumbnails","filesizeBase","maxFilesize","maxFiles","acceptedFiles","uploadMultiple","autoQueue","autoProcessQueue","addRemoveLinks","hiddenInputContainer","dictDefaultMessage","dictFileTooBig","dictInvalidFileType","dictCancelUpload","dictRemoveFile","previewTemplate","uf__maxSize","options","uf__currentSize","file","size","uf__checkMaxSize","position","name","lastIndexOf","extension","substring","previewElement","innerText","remove","errorObj","response","slideNext","errorMsg","xhrError","undefined","error","checkbox","uv__dropzoneId","uv__dropzoneContainer","uv__dropzoneElement","uv__templateNode","uv__previewTemplate","targetUrlVideos","uv__dropzone","message","preview","value","disable","applicationForm","applicationForm__sendBtn","event","preventDefault","checkValidity","processQueue","xhr","formData","has","applicationFormData","FormData","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","entries","Symbol","iterator","next","done","entry","set","err","initialized","setTimeout","lastPagination","slideNo","className","checked","sa__toogleDropdowns","selectedIndex","_toConsumableArray","every","required","validity","valid","pi__lastTwo","element","files","length","googleAnalyticsPropertyID","googleTagManagerPropertyID","cookies__consentName","cookies__analyticsConsentName","cookies__overlay","cookies__overviewPage","cookies__showSettingsBtn","cookies__acceptOverviewBtn","cookies__settingsPage","cookies__settingsRequiredCheckboxes","cookies__settingsCheckbox3","cookies__settingsAnalyticsCheckbox","cookies__acceptSettingsBtn","cookies__showSettingsPage","check","cookies__toogleSettingsBtn","localStorage","setItem","cookies__addAnalyticsScript","cookies__addTagManagerScript","allChecked","Array","from","script","createElement","getElementsByTagName","appendChild","scriptAsync","async","src","getItem","once","directions__container","directions__targetAddress","dataset","targetAddress","directions__targetLat","targetLat","directions__targetLng","targetLng","directions__tabs","directions__fromInput","directions__toInput","directions__switchBtn","directions__openRouteBtn","directions__isDirectionReversed","directions__tabClick","tab","target","disabled","travelMode","contains","open","observe","checkFormValidity","currentForm","jQuery","validator","setDefaults","debug","success","addMethod","arg","e","targetUrl","ajax","cache","contentType","processData","r","console","log","attachEvent","handler","resize","delayedResize","focus","style","height","scrollHeight","fileInput","prop","heroSwiper","heroBgSwiperId","heroBgSwiperInstance","autoplay","delay","slideNextTransitionStart","classNumber","spinWheel","slidePrevTransitionStart","slideNumber","wheel","activeCountries","willRotate","countryCode","activeMapStyles","join","myearth","Earth","lat","lng","mapLandColor","mapSeaColor","mapBorderWidth","mapBorderColor","mapStyles","mapHitTest","transparent","light","lightAmbience","autoRotate","autoRotateSpeed","quality","id","not","show","display","modal","getVhValue","vh","innerHeight","documentElement","setProperty","SVGInject","_this","header","menu","stickHeader","scrollTop","scroll","moveLine","nav_current","outerWidth","left","nav_menu","children","hover","mouseleave","menu_toggler","mobile_menu","mobile_items","click","toggleClass","hasClass","bodyScrollLock","disableBodyScroll","enableBodyScroll","slider_input","slider_output","slider_range","input_value","width","oninput","tabs_current","tabs_item","moveTabsLine","changeTabContent","fadeIn","get_route_current","get_route_menu","moveLineRoute","contact_choice","contact_content","getContactContent","stop","animate","offset","top","route_from","route_to","val","to","isVimeo","iframe","serverVideo","includes","Vimeo","Player","play","then","fadeOut","matchMedia","matches","targetModal","confirmationMessage","sendBtn","pincodeInput","inputs","hidedigits","change","inputNumber","complete","trigger","linkList","logoWidth","menuWidth","btnWidth","parentWidth","nextTextHeight","siblings","mapsTheme","elementType","stylers","color","featureType","directions__mapObj","google","maps","Map","center","zoom","disableDefaultUI","scrollwheel","zoomControl","zoomControlOptions","ControlPosition","RIGHT_CENTER","styles","process_swiper","realIndex","closeAllSelect","elmnt","x","y","i","arrNo","getElementsByClassName","indexOf","containers","container","selected","items","_step2","_iterator2","_iteratorNormalCompletion2","option","item","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","dispatchEvent","Event","firstChild","stopPropagation","nextSibling","toggle","previousElementSibling","label","_loop","postsContainer","posts","moreBtn","hiddenPosts","products_swiper","swiperBox","swiper_simple","featured_slider","1440","tabs_swiper","images_carousel","reviews_swiper","timeline","featuredSlider","group","grabCursor","coverflowEffect","rotate","stretch","depth","modifier","slideShadows","indexDot","currentTranslateValue","_","dates","empty","date","append","personNumbers","surfaces","workers"],"mappings":"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","file":"../main.bundle.js","sourcesContent":["$(() => {\r\n const activeCountries = [];\r\n\r\n if ($('#myearth').length) {\r\n\r\n const willRotate = $('#myearth').data('rotate');\r\n\r\n $('.m-company-overview').each(function() {\r\n const countryCode = $(this).data('country-code');\r\n activeCountries.push(countryCode);\r\n });\r\n\r\n const activeMapStyles = '#' + activeCountries.join(', #') + ' { fill: #e2001a; }';\r\n\r\n var myearth = new Earth( \"myearth\", {\r\n location: { lat: 21.481387307294426, lng: 17.871879031717256 },\r\n mapLandColor: '#004777',\r\n mapSeaColor: 'rgba(0, 56, 95, 0.80)',\r\n mapBorderWidth: 0.2,\r\n mapBorderColor: '#fff',\r\n mapStyles: activeMapStyles,\r\n mapHitTest: true,\r\n transparent: true,\r\n light: 'simple',\r\n lightAmbience: 0.7,\r\n autoRotate: willRotate,\r\n autoRotateSpeed: 0.4,\r\n quality: 4\r\n /* more earth options here */\r\n } );\r\n\r\n myearth.addEventListener( 'click', function( event ) {\r\n\r\n if ( ! event.id || event.id == 'SEA' ) return; // no country hit\r\n const target = $(`[data-country-code=${event.id}`);\r\n\r\n if ($('.m-company-overview.open').not(target).length) {\r\n $('.m-company-overview').not(target).removeClass('open');\r\n $('.m-company-overview').hide();\r\n }\r\n target.show(100);\r\n setTimeout(() => {\r\n target.addClass('open');\r\n setTimeout(() => {\r\n initLandingSwipers();\r\n }, 500);\r\n }, 100);\r\n\r\n } );\r\n\r\n myearth.addEventListener( \"ready\", function() {\r\n\r\n $('.e-earth-globe').addClass('globe-loaded');\r\n document.getElementById('landing-spinner').style.display = 'none';\r\n\r\n } );\r\n\r\n $('.m-company-overview__close').on('click', function() {\r\n const modal = $(this).closest('.m-company-overview');\r\n modal.removeClass('open');\r\n setTimeout(function() {\r\n modal.hide();\r\n }, 300);\r\n });\r\n }\r\n\r\n});\r\n\r\nfunction initLandingSwipers() {\r\n\r\n const landingSwiper = $('.m-company-overview__swiper');\r\n const landingSwiperArray = [];\r\n\r\n landingSwiper.each(function(index) {\r\n const landingSwiperUniqueId = '#' + $(this).attr('id');\r\n const parent = $(landingSwiperUniqueId).closest('.m-company-overview');\r\n const prevBtn = parent.find('.m-company-overview__navigation-button--prev');\r\n const nextBtn = parent.find('.m-company-overview__navigation-button--next');\r\n const pagin = parent.find('.m-company-overview__pagination');\r\n const landingSwiperUnique = $(landingSwiperUniqueId);\r\n\r\n const landingSwiperInstance = new Swiper(landingSwiperUnique, {\r\n spaceBetween: 0,\r\n simulateTouch: false,\r\n allowTouchMove: false,\r\n paginationClickable: true,\r\n slidesPerView: 1,\r\n autoHeight: true,\r\n effect: 'fade',\r\n crossFade: true,\r\n speed: 600,\r\n pagination: {\r\n el: pagin,\r\n type: 'bullets',\r\n clickable: true\r\n },\r\n navigation: {\r\n prevEl: prevBtn,\r\n nextEl: nextBtn,\r\n },\r\n on: {\r\n slideChange: function() {\r\n pagin.find('.swiper-pagination-bullet').removeClass('swiper-pagination-bullet-active');\r\n pagin.find('.swiper-pagination-bullet').eq($(this)[0].snapIndex).addClass('swiper-pagination-bullet-active');\r\n $(this)[0].pagination.update();\r\n }\r\n }\r\n });\r\n\r\n landingSwiperArray.push(landingSwiperInstance);\r\n });\r\n}\r\n","$(() => {\r\n // SVGInject\r\n SVGInject(document.querySelectorAll(\"img.injectable\"));\r\n\r\n /* 100vh trick */\r\n function getVhValue() {\r\n let vh = window.innerHeight * 0.01;\r\n document.documentElement.style.setProperty('--vh', `${vh}px`);\r\n }\r\n\r\n window.addEventListener('resize', () => {\r\n getVhValue();\r\n });\r\n\r\n getVhValue();\r\n\r\n // pressed button state\r\n $(\".e-button\").on(\"click\", function(e) {\r\n // e.preventDefault();\r\n $(this).addClass(\"pressed\");\r\n setTimeout(element => {\r\n $(this).removeClass(\"pressed\");\r\n }, 1000);\r\n });\r\n\r\n /* change color of navbar and header on scroll */\r\n const header = $('#header');\r\n const menu = $('#mobile-menu');\r\n const sticky = $('.sticky-header').length;\r\n\r\n\r\n function stickHeader() {\r\n if ($(window).scrollTop() > 0) {\r\n header.addClass('active');\r\n menu.addClass('scrolled');\r\n } else {\r\n header.removeClass('active');\r\n menu.removeClass('scrolled');\r\n }\r\n };\r\n\r\n if (sticky) {\r\n stickHeader();\r\n\r\n $(window).scroll(function() {\r\n stickHeader();\r\n });\r\n }\r\n\r\n /*\r\n change position of underline in nav\r\n */\r\n\r\n if ($('.e-nav__current').length) {\r\n let nav_current = $('.e-nav__current');\r\n let nav_menu = $('.e-nav__menu');\r\n\r\n function moveLine(el) {\r\n if (el.length !== 0) {\r\n nav_current.css('width', el.outerWidth());\r\n nav_current.css('left', el.position().left);\r\n nav_current.css('opacity', 1)\r\n } else {\r\n nav_current.css('opacity', 0);\r\n }\r\n };\r\n\r\n moveLine($('.e-nav__menu').find('.current'));\r\n\r\n nav_menu.children('li').hover(function() {\r\n moveLine($(this));\r\n });\r\n\r\n $(window).resize(function() {\r\n moveLine($('.e-nav__menu').find('.current'));\r\n });\r\n\r\n nav_menu.mouseleave(function() {\r\n moveLine($('.e-nav__menu').find('.current'));\r\n });\r\n }\r\n\r\n /*\r\n submenu in mobile menu things\r\n */\r\n\r\n let menu_toggler = $('.e-nav__toggler');\r\n let mobile_menu = $('.e-mobile-menu');\r\n let mobile_items = document.getElementById('mobile-menu-items');\r\n\r\n menu_toggler.click(function() {\r\n $(this).toggleClass('active');\r\n mobile_menu.toggleClass('active');\r\n\r\n if (mobile_menu.hasClass('active')) {\r\n bodyScrollLock.disableBodyScroll(mobile_items);\r\n } else {\r\n bodyScrollLock.enableBodyScroll(mobile_items);\r\n }\r\n });\r\n\r\n /*\r\n slider filter\r\n */\r\n\r\n var slider_input = document.getElementById(\"slider-input\");\r\n var slider_output = document.getElementById(\"slider-output\");\r\n var slider_range = document.getElementById(\"slider-range\");\r\n\r\n if (slider_input && slider_output && slider_range) {\r\n var input_value = slider_input.value;\r\n\r\n slider_output.innerHTML = input_value;\r\n slider_range.style.width = input_value + \"%\";\r\n\r\n slider_input.oninput = function() {\r\n slider_output.innerHTML = this.value;\r\n slider_range.style.width = this.value + \"%\";\r\n }\r\n };\r\n\r\n if ($(window).width() < 992) {\r\n $('.e-dropdown').click(function(e) {\r\n e.preventDefault();\r\n $(this).toggleClass('active');\r\n });\r\n\r\n $(document).click(function(e) {\r\n if ($('.e-dropdown').hasClass('active') && $(e.target).closest('.e-dropdown').length == 0) {\r\n $('.e-dropdown').removeClass('active')\r\n }\r\n });\r\n }\r\n\r\n\r\n // tabs\r\n\r\n let tabs_current = $('.e-tabs__current');\r\n let tabs_item = $('.e-tabs__item');\r\n\r\n function moveTabsLine(el) {\r\n let left = el.position().left;\r\n\r\n if (el.parent().hasClass('swiper-slide')) {\r\n left = el.parent().position().left;\r\n }\r\n\r\n tabs_current.css('width', el.outerWidth());\r\n tabs_current.css('left', left);\r\n };\r\n\r\n if (tabs_item.length) {\r\n\r\n setTimeout(function() {\r\n moveTabsLine($('.e-tabs__item.active'));\r\n }, 200);\r\n\r\n tabs_item.hover(function() {\r\n moveTabsLine($(this));\r\n });\r\n\r\n $(window).resize(function() {\r\n moveTabsLine($('.e-tabs__item.active'));\r\n });\r\n\r\n $('.e-tabs').mouseleave(function() {\r\n moveTabsLine($('.e-tabs__item.active'));\r\n });\r\n }\r\n\r\n function changeTabContent(el) {\r\n var id = el.data('id');\r\n\r\n $('.e-tab-content').hide();\r\n\r\n $('.e-tab-content[data-id=\"' + id + '\"]').fadeIn();\r\n\r\n if ($(`.e-tab-content[data-id=\"${id}\"]`).find('.e-image-gallery').length) {\r\n setTimeout(function() {\r\n initSimpleGallery();\r\n }, 201);\r\n }\r\n }\r\n\r\n changeTabContent($('.e-tabs__item.active'));\r\n\r\n tabs_item.click(function() {\r\n tabs_item.removeClass('active');\r\n $(this).addClass('active');\r\n\r\n changeTabContent($(this));\r\n });\r\n\r\n // collapse galleries\r\n\r\n if ($('input[type=checkbox].toggle').length) {\r\n $('input[type=checkbox].toggle').on('change', function() {\r\n if($(this).closest('.m-collapse-item').find('.e-image-gallery').length) {\r\n setTimeout(function() {\r\n initSimpleGallery();\r\n }, 201);\r\n }\r\n });\r\n }\r\n\r\n\r\n // get route underline\r\n let get_route_current = $('.e-get-route__current');\r\n let get_route_menu = $('.e-get-route__nav');\r\n\r\n if (get_route_menu.length) {\r\n\r\n function moveLineRoute(el) {\r\n get_route_current.css('width', el.outerWidth());\r\n get_route_current.css('left', el.position().left);\r\n };\r\n\r\n moveLineRoute($('.e-get-route__nav').find('.active'));\r\n\r\n $(window).resize(function() {\r\n moveLineRoute($('.e-get-route__nav').find('.active'));\r\n });\r\n\r\n get_route_menu.children('li').hover(function() {\r\n moveLineRoute($(this));\r\n });\r\n\r\n get_route_menu.children('li').click(function() {\r\n get_route_menu.children('li').removeClass('active');\r\n $(this).addClass('active');\r\n });\r\n\r\n get_route_menu.mouseleave(function() {\r\n moveLineRoute($('.e-get-route__nav').find('.active'));\r\n });\r\n }\r\n\r\n // contact content\r\n let contact_choice = $('.e-fav--contact');\r\n let contact_content = $('.contact-content');\r\n\r\n function getContactContent(el) {\r\n contact_choice.removeClass('active');\r\n el.addClass('active');\r\n\r\n contact_content.hide();\r\n $('.contact-content[data-id=\"' + el.data('id') + '\"]').fadeIn();\r\n }\r\n\r\n contact_choice.click(function(e) {\r\n e.preventDefault();\r\n getContactContent($(this));\r\n\r\n $('html, body').stop().animate({\r\n scrollTop: $('.m-contact-choice').offset().top + $('.m-contact-choice').innerHeight() - 50\r\n }, 500);\r\n });\r\n\r\n getContactContent($(contact_choice[0]));\r\n\r\n // get route inputs\r\n let route_from = $('.e-get-route__input--from').find('input');\r\n let route_to = $('.e-get-route__input--to').find('input');\r\n let route_change = $('.e-get-route__chevron');\r\n\r\n route_change.click(function() {\r\n var from = route_from.val();\r\n var to = route_to.val();\r\n\r\n route_from.val(to);\r\n route_to.val(from);\r\n });\r\n\r\n //vimeo video\r\n if ($('.m-video__box').length) {\r\n\r\n $('.m-video__play-btn').on('click', function() {\r\n const iframe = $(this).closest('.m-video__box').find('.m-video__iframe')[0];\r\n const serverVideo = $(this).closest('.m-video__box').find('video')[0];\r\n let isVimeo;\r\n\r\n if (iframe) {\r\n isVimeo = iframe['src'].includes('vimeo');\r\n }\r\n\r\n if (iframe && isVimeo) {\r\n const player = new Vimeo.Player(iframe);\r\n player.play().then(function() {\r\n // The video is playing\r\n }).catch(function(error) {\r\n switch (error.name) {\r\n case 'PasswordError':\r\n // The video is password-protected\r\n break;\r\n\r\n case 'PrivacyError':\r\n // The video is private\r\n break;\r\n\r\n default:\r\n // Some other error occurred\r\n break;\r\n }\r\n });\r\n }\r\n\r\n if (iframe && !isVimeo) {\r\n iframe['src'] += '&autoplay=1';\r\n }\r\n\r\n if (serverVideo) {\r\n serverVideo.play();\r\n }\r\n\r\n if ($(this).closest('.m-video__overlay').length) {\r\n $(this).closest('.m-video__overlay').fadeOut(200);\r\n }\r\n })\r\n }\r\n\r\n if ($('.e-news').length) {\r\n $('.e-news').each(function() {\r\n const height = $(this).find('.e-news__date').outerHeight() + $(this).find('h3').outerHeight();\r\n const media = window.matchMedia('(max-width: 991px)')\r\n if (media.matches) {\r\n $(this).find('.e-news__content').css('minHeight', height + 50);\r\n } else {\r\n $(this).find('.e-news__content').css('minHeight', height + 80);\r\n }\r\n })\r\n }\r\n\r\n if ($('.e-mobile-multi__trigger').length) {\r\n $('.e-mobile-multi__trigger').on('click', function(e) {\r\n e.preventDefault();\r\n const target = $(`[data-header-menu=${$(this).data('header-open')}]`);\r\n target.addClass('active');\r\n $('.e-mobile-menu__items').addClass('submenu-opened');\r\n });\r\n\r\n $('.e-mobile-multi__back').on('click', function(e) {\r\n e.preventDefault();\r\n $(this).closest('.e-mobile-multi__menu').removeClass('active');\r\n\r\n if(!$('.e-mobile-multi__menu.active').length) {\r\n $('.e-mobile-menu__items').removeClass('submenu-opened');\r\n }\r\n });\r\n }\r\n\r\n if ($('.m-product-overlay').length) {\r\n $('[data-prod-overlay]').on('click', function(e) {\r\n e.preventDefault();\r\n const targetModal = `#${$(this).data('prod-overlay')}`;\r\n $(targetModal).addClass('open');\r\n $('body, html').addClass('blocked');\r\n initProductOverlaySwipers($(this).data('prod-item'));\r\n });\r\n $('.m-product-overlay').on('click', '.m-product-overlay__close', function() {\r\n $(this).closest('.m-product-overlay').removeClass('open');\r\n $('body, html').removeClass('blocked');\r\n })\r\n }\r\n\r\n if ($('[data-modal]').length) {\r\n $('[data-open-overlay]').on('click', function(e) {\r\n e.preventDefault();\r\n const targetModal = `#${$(this).data('open-overlay')}`;\r\n $(targetModal).addClass('open');\r\n $('body, html').addClass('blocked');\r\n });\r\n $('[data-modal]').on('click', '[data-modal-close]', function() {\r\n const confirmationMessage = $(this).closest('[data-modal]').find('.m-contact__confirmation');\r\n $(this).closest('[data-modal]').removeClass('open');\r\n if (confirmationMessage.length) {\r\n confirmationMessage.removeClass('show');\r\n }\r\n $('body, html').removeClass('blocked');\r\n })\r\n }\r\n\r\n initSimpleGallery();\r\n initImageTextGallery();\r\n\r\n if ($('.e-news').length) {\r\n $('.e-news').on('mouseleave', function() {\r\n $(this).find('.e-news__content').scrollTop(0);\r\n });\r\n }\r\n\r\n if ($('#login-pin').length) {\r\n const sendBtn = $('.m-login-panel').find('.m-login-panel__btn');\r\n\r\n $('#login-pin').pincodeInput({\r\n inputs: 6,\r\n hidedigits: false,\r\n change: function(input, value, inputNumber) {\r\n if (value !== '') {\r\n $(input).closest('.m-login-panel__pinbox').addClass(`f-${inputNumber}`);\r\n } else {\r\n $(input).closest('.m-login-panel__pinbox').removeClass(`f-${inputNumber}`);\r\n }\r\n if (value === '' && !sendBtn.hasClass('disabled')) {\r\n sendBtn.addClass('disabled');\r\n }\r\n },\r\n complete: function(value, e, errorElement) {\r\n sendBtn.removeClass('disabled');\r\n }\r\n });\r\n }\r\n\r\n if($('[data-toggle-quicklinks]').length) {\r\n const trigger = $('[data-toggle-quicklinks]');\r\n const linkList = $('[data-quicklinks]');\r\n\r\n trigger.on('click', function(e) {\r\n e.preventDefault();\r\n trigger.toggleClass('open');\r\n linkList.toggleClass('active');\r\n })\r\n }\r\n\r\n if($('.e-nav__menu').length) {\r\n const parent = $('.e-nav__container');\r\n const logoWidth = parent.find('.e-nav__logo').outerWidth();\r\n const menuWidth = parent.find('.e-nav__menu').outerWidth();\r\n const btnWidth = parent.find('.e-nav__btn').outerWidth();\r\n $(window).on('resize', function() {\r\n const parentWidth = parent.outerWidth();\r\n const media = window.matchMedia('(max-width: 991px)')\r\n if (!media.matches) {\r\n if((parentWidth - logoWidth - btnWidth) <= (menuWidth + 50)) {\r\n $('body').addClass('set-mobile-menu');\r\n } else {\r\n $('body').removeClass('set-mobile-menu');\r\n }\r\n } else {\r\n $('body').removeClass('set-mobile-menu');\r\n }\r\n });\r\n $(window).trigger('resize');\r\n }\r\n\r\n if ($('.m-collapse-item__card-contact').length) {\r\n addSoftBreaksToContactEmails();\r\n equalizeContactBoxText();\r\n }\r\n\r\n if ($('[data-timeline-numbers]').length) {\r\n $(window).on('resize', function() {\r\n $('[data-timeline-numbers]').each(function() {\r\n const nextTextHeight = $(this).siblings('p').outerHeight();\r\n $(this).css('bottom', nextTextHeight + 6);\r\n })\r\n }).trigger('resize');\r\n }\r\n\r\n if ($('.m-job-overview__box').length) {\r\n $(window).on('resize', equalizeJobOverviewBoxes).trigger('resize');\r\n }\r\n});\r\n\r\nfunction equalizeJobOverviewBoxes() {\r\n let maxHeight = 0;\r\n const boxes = $('.m-job-overview .m-job-overview__box');\r\n boxes.css('minHeight', 0);\r\n\r\n boxes.each( function() {\r\n if ($(this).outerHeight() > maxHeight) {\r\n maxHeight = $(this).outerHeight();\r\n }\r\n });\r\n boxes.css('minHeight', maxHeight);\r\n}\r\n\r\nfunction equalizeContactBoxText() {\r\n //let maxHeight = 0;\r\n let maxPersonalHeight = 0;\r\n //$('.m-collapse-item__card-contact').each(function() {\r\n // if ($(this).outerHeight() > maxHeight) {\r\n // maxHeight = $(this).outerHeight();\r\n // }\r\n //});\r\n $('.m-collapse-item__card-personal').each(function() {\r\n if ($(this).outerHeight() > maxPersonalHeight) {\r\n maxPersonalHeight = $(this).outerHeight();\r\n }\r\n });\r\n $('.m-collapse-item__card-contact').css('minHeight', '17px');\r\n $('.m-collapse-item__card-personal').css('minHeight', maxPersonalHeight);\r\n}\r\n\r\nfunction addSoftBreaksToContactEmails() {\r\n $('.m-collapse-item__card-contact-item.mail').each(function() {\r\n let str = ($(this).find('a').text());\r\n let res = str.split('@');\r\n $(this).find('a').html(`${res[0]}@${res[1]}`);\r\n })\r\n}\r\n\r\nfunction initProductOverlaySwipers(slideNr) {\r\n var galleryMain = new Swiper('.m-product-overlay__main-swiper', {\r\n spaceBetween: 152,\r\n simulateTouch: false,\r\n initialSlide: slideNr - 1,\r\n navigation: {\r\n prevEl: \".m-product-overlay__navigation-button--prev\",\r\n nextEl: \".m-product-overlay__navigation-button--next\",\r\n disabledClass: \"disabled\"\r\n },\r\n breakpoints: {\r\n 320: {\r\n spaceBetween: 30,\r\n },\r\n 768: {\r\n spaceBetween: 80,\r\n },\r\n 1439: {\r\n spaceBetween: 120,\r\n }\r\n },\r\n on: {\r\n init: function() {\r\n const slides = $('[data-slide-nr]');\r\n slides.each(function() {\r\n const currentSlideNr = $(this).data('slide-nr');\r\n var galleryThumbs = new Swiper(`#thumbs-${currentSlideNr}`, {\r\n spaceBetween: 10,\r\n slidesPerView: 4,\r\n watchSlidesVisibility: true,\r\n watchSlidesProgress: true,\r\n });\r\n var galleryTop = new Swiper(`#gallery-${currentSlideNr}`, {\r\n spaceBetween: 10,\r\n thumbs: {\r\n swiper: galleryThumbs\r\n }\r\n });\r\n });\r\n },\r\n }\r\n });\r\n}\r\n\r\n\r\nfunction initGalleryForSwipers() {\r\n const gallerySwiper = $('.e-gallery-swiper');\r\n\r\n if (gallerySwiper) {\r\n let swiper = new Swiper(gallerySwiper, {\r\n speed: 600,\r\n direction: \"horizontal\",\r\n resistanceRatio: 0,\r\n effect: \"fade\",\r\n fadeEffect: {\r\n crossFade: true\r\n },\r\n scrollbar: {\r\n el: \".swiper-scrollbar\",\r\n hide: false\r\n },\r\n navigation: {\r\n prevEl: \".e-gallery-swiper__navigation-button--prev\",\r\n nextEl: \".e-gallery-swiper__navigation-button--next\",\r\n disabledClass: 'disabled'\r\n },\r\n pagination: {\r\n el: \".e-gallery-swiper__fraction\",\r\n type: \"custom\",\r\n renderCustom: function(swiper, current, total) {\r\n return (\"0\" + current).slice(-2);\r\n }\r\n },\r\n breakpoints: {\r\n 992: {\r\n allowTouchMove: false\r\n }\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction initSimpleGallery() {\r\n\r\n const simpleGallery = $('.e-image-gallery__swiper');\r\n const simpleGalleryArray = [];\r\n\r\n simpleGallery.each(function(index) {\r\n const simpleGalleryUniqueId = '#' + $(this).attr('id');\r\n const parent = $(simpleGalleryUniqueId).closest('.e-image-gallery');\r\n const prevBtn = parent.find('.e-image-gallery__navigation-button--prev');\r\n const nextBtn = parent.find('.e-image-gallery__navigation-button--next');\r\n const pagin = parent.find('.e-image-gallery__pagination');\r\n const simpleGalleryUnique = $(simpleGalleryUniqueId);\r\n\r\n const simpleGallerySwiper = new Swiper(simpleGalleryUnique, {\r\n spaceBetween: 0,\r\n simulateTouch: false,\r\n allowTouchMove: true,\r\n paginationClickable: true,\r\n slidesPerView: 1,\r\n autoHeight: true,\r\n pagination: {\r\n el: pagin,\r\n type: 'bullets',\r\n clickable: true\r\n },\r\n navigation: {\r\n prevEl: prevBtn,\r\n nextEl: nextBtn,\r\n },\r\n on: {\r\n slideChange: function() {\r\n pagin.find('.swiper-pagination-bullet').removeClass('swiper-pagination-bullet-active');\r\n pagin.find('.swiper-pagination-bullet').eq($(this)[0].snapIndex).addClass('swiper-pagination-bullet-active');\r\n $(this)[0].pagination.update();\r\n }\r\n }\r\n });\r\n\r\n simpleGalleryArray.push(simpleGallerySwiper);\r\n });\r\n}\r\n\r\nfunction initImageTextGallery() {\r\n\r\n const imageTextGallery = $('.e-image-gallery-text__swiper');\r\n const imageTextGalleryArray = [];\r\n const imageTextCardSwiperArray = [];\r\n\r\n imageTextGallery.each(function(index) {\r\n const imageTextGalleryUniqueId = '#' + $(this).attr('id');\r\n const parent = $(imageTextGalleryUniqueId).closest('.e-image-gallery');\r\n const cardSwiper = parent.find('.e-image-gallery__card-swiper');\r\n const cardSwiperId = '#' + cardSwiper.attr('id');\r\n const prevBtn = parent.find('.e-image-gallery__navigation-button--prev');\r\n const nextBtn = parent.find('.e-image-gallery__navigation-button--next');\r\n const pagin = parent.find('.e-image-gallery__pagination');\r\n const imageTextGalleryUnique = $(imageTextGalleryUniqueId);\r\n\r\n const cardSwiperInstance = new Swiper(cardSwiperId, {\r\n spaceBetween: 0,\r\n simulateTouch: false,\r\n allowTouchMove: false,\r\n paginationClickable: false,\r\n slidesPerView: 1,\r\n effect: 'fade',\r\n });\r\n\r\n const imageTextGallerySwiper = new Swiper(imageTextGalleryUnique, {\r\n spaceBetween: 0,\r\n simulateTouch: false,\r\n allowTouchMove: false,\r\n paginationClickable: true,\r\n slidesPerView: 1,\r\n pagination: {\r\n el: pagin,\r\n type: 'bullets',\r\n clickable: true\r\n },\r\n navigation: {\r\n prevEl: prevBtn,\r\n nextEl: nextBtn,\r\n },\r\n on: {\r\n slideChange: function() {\r\n pagin.find('.swiper-pagination-bullet').removeClass('swiper-pagination-bullet-active');\r\n pagin.find('.swiper-pagination-bullet').eq($(this)[0].snapIndex).addClass('swiper-pagination-bullet-active');\r\n cardSwiperInstance.slideTo($(this)[0].snapIndex);\r\n $(this)[0].pagination.update();\r\n }\r\n }\r\n });\r\n\r\n imageTextGalleryArray.push(imageTextGallerySwiper);\r\n imageTextCardSwiperArray.push(cardSwiperInstance);\r\n });\r\n}\r\n","function initMaps() {\r\n // This function will be called when\r\n // Google Maps JavaScript API will finish loading.\r\n // Initialize here all maps that using this API.\r\n\r\n directions__initMap();\r\n}\r\n\r\nconst mapsTheme = [{ \"elementType\": \"geometry\", \"stylers\": [{ \"color\": \"#1d2c4d\" }] }, { \"elementType\": \"labels.text.fill\", \"stylers\": [{ \"color\": \"#8ec3b9\" }] }, { \"elementType\": \"labels.text.stroke\", \"stylers\": [{ \"color\": \"#1a3646\" }] }, { \"featureType\": \"administrative.country\", \"elementType\": \"geometry.stroke\", \"stylers\": [{ \"color\": \"#4b6878\" }] }, { \"featureType\": \"administrative.land_parcel\", \"elementType\": \"labels.text.fill\", \"stylers\": [{ \"color\": \"#64779e\" }] }, { \"featureType\": \"administrative.province\", \"elementType\": \"geometry.stroke\", \"stylers\": [{ \"color\": \"#4b6878\" }] }, { \"featureType\": \"landscape.man_made\", \"elementType\": \"geometry.stroke\", \"stylers\": [{ \"color\": \"#334e87\" }] }, { \"featureType\": \"landscape.natural\", \"elementType\": \"geometry\", \"stylers\": [{ \"color\": \"#023e58\" }] }, { \"featureType\": \"poi\", \"elementType\": \"geometry\", \"stylers\": [{ \"color\": \"#283d6a\" }] }, { \"featureType\": \"poi\", \"elementType\": \"labels.text.fill\", \"stylers\": [{ \"color\": \"#6f9ba5\" }] }, { \"featureType\": \"poi\", \"elementType\": \"labels.text.stroke\", \"stylers\": [{ \"color\": \"#1d2c4d\" }] }, { \"featureType\": \"poi.park\", \"elementType\": \"geometry.fill\", \"stylers\": [{ \"color\": \"#023e58\" }] }, { \"featureType\": \"poi.park\", \"elementType\": \"labels.text.fill\", \"stylers\": [{ \"color\": \"#3C7680\" }] }, { \"featureType\": \"road\", \"elementType\": \"geometry\", \"stylers\": [{ \"color\": \"#304a7d\" }] }, { \"featureType\": \"road\", \"elementType\": \"labels.text.fill\", \"stylers\": [{ \"color\": \"#98a5be\" }] }, { \"featureType\": \"road\", \"elementType\": \"labels.text.stroke\", \"stylers\": [{ \"color\": \"#1d2c4d\" }] }, { \"featureType\": \"road.highway\", \"elementType\": \"geometry\", \"stylers\": [{ \"color\": \"#2c6675\" }] }, { \"featureType\": \"road.highway\", \"elementType\": \"geometry.stroke\", \"stylers\": [{ \"color\": \"#255763\" }] }, { \"featureType\": \"road.highway\", \"elementType\": \"labels.text.fill\", \"stylers\": [{ \"color\": \"#b0d5ce\" }] }, { \"featureType\": \"road.highway\", \"elementType\": \"labels.text.stroke\", \"stylers\": [{ \"color\": \"#023e58\" }] }, { \"featureType\": \"transit\", \"elementType\": \"labels.text.fill\", \"stylers\": [{ \"color\": \"#98a5be\" }] }, { \"featureType\": \"transit\", \"elementType\": \"labels.text.stroke\", \"stylers\": [{ \"color\": \"#1d2c4d\" }] }, { \"featureType\": \"transit.line\", \"elementType\": \"geometry.fill\", \"stylers\": [{ \"color\": \"#283d6a\" }] }, { \"featureType\": \"transit.station\", \"elementType\": \"geometry\", \"stylers\": [{ \"color\": \"#3a4762\" }] }, { \"featureType\": \"water\", \"elementType\": \"geometry\", \"stylers\": [{ \"color\": \"#0e1626\" }] }, { \"featureType\": \"water\", \"elementType\": \"labels.text.fill\", \"stylers\": [{ \"color\": \"#4e6d70\" }] }];\r\n\r\nfunction directions__initMap() {\r\n const directions__container = document.querySelector('.m-directions');\r\n if (directions__container === null) return false;\r\n\r\n const directions__targetLat = directions__container.dataset.targetLat / 1;\r\n const directions__targetLng = directions__container.dataset.targetLng / 1;\r\n\r\n if (directions__targetLat === undefined || directions__targetLng === undefined) {\r\n return false;\r\n }\r\n\r\n const directions__mapObj = document.getElementById('m-directions__mapObj');\r\n\r\n const directions__map = new google.maps.Map(directions__mapObj, {\r\n center: { lat: directions__targetLat, lng: directions__targetLng },\r\n zoom: 17,\r\n disableDefaultUI: true,\r\n scrollwheel: false,\r\n zoomControl: false,\r\n zoomControlOptions: {\r\n position: google.maps.ControlPosition.RIGHT_CENTER\r\n },\r\n styles: mapsTheme,\r\n });\r\n}\r\n","Dropzone.autoDiscover = false;\r\n\r\n$(() => {\r\n /**\r\n * Swiper\r\n */\r\n const applicationSwiperObj = document.querySelector('.application-swiper');\r\n if (applicationSwiperObj === null) { return; }\r\n\r\n const applicationSwiper = new Swiper(applicationSwiperObj, {\r\n init: false,\r\n speed: 600,\r\n direction: 'horizontal',\r\n watchSlidesProgress: false,\r\n watchSlidesVisibility: true,\r\n centeredSlides: true,\r\n slidesPerView: 'auto',\r\n spaceBetween: 40,\r\n loop: false,\r\n noSwiping: true,\r\n noSwipingClass: 'application-swiper',\r\n pagination: {\r\n el: '.application-swiper__pagination',\r\n type: 'bullets',\r\n clickable: true, // TODO: Change to false for production\r\n },\r\n navigation: {\r\n nextEl: '.application-swiper__next',\r\n disabledClass: 'disabled',\r\n lockClass: 'disabled',\r\n },\r\n breakpoints: {\r\n },\r\n });\r\n\r\n const applicationSwiperStart__btn = document.querySelectorAll('[data-application-overlay-start]');\r\n const applicationSwiperBg = applicationSwiperObj.querySelector('.application-swiper__bg');\r\n\r\n applicationSwiperStart__btn.forEach(btn => {\r\n btn.addEventListener('click', onSwiperStart);\r\n });\r\n\r\n applicationSwiper.on('slideChange', () => {\r\n switch (applicationSwiper.activeIndex) {\r\n case 0:\r\n case 2:\r\n case 4:\r\n toogleBg(applicationSwiper.activeIndex);\r\n pi__lockLastTwo()\r\n applicationSwiper.allowSlideNext = true;\r\n break;\r\n\r\n case 1:\r\n toogleBg(1);\r\n sa__toogleBtn();\r\n pi__lockLastTwo()\r\n break;\r\n\r\n case 3:\r\n toogleBg(3);\r\n pi__lockLastTwo()\r\n pi__toogleBtn();\r\n break;\r\n\r\n case 5:\r\n toogleBg(applicationSwiper.activeIndex);\r\n uf__toogleBtn();\r\n break;\r\n\r\n case 6:\r\n toogleBg(applicationSwiper.activeIndex);\r\n hidePagination();\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n });\r\n\r\n function onSwiperStart() {\r\n if (applicationSwiper.initialized) { return; }\r\n\r\n setTimeout(() => {\r\n applicationSwiper.init();\r\n const lastPagination = applicationSwiperObj.querySelector('.application-swiper__pagination span:last-child');\r\n lastPagination.parentNode.removeChild(lastPagination);\r\n }, 0);\r\n }\r\n\r\n function toogleBg(slideNo) {\r\n applicationSwiperBg.className = `application-swiper__bg application-swiper__bg--slide-${slideNo}`;\r\n }\r\n\r\n function hidePagination() {\r\n applicationSwiperObj.querySelector('.application-swiper__pagination').classList.add('hide');\r\n }\r\n\r\n\r\n /**\r\n * Form: Select Application\r\n */\r\n const sa__openPosition__radio = document.getElementById('select-application-form__open-position');\r\n const sa__openPosition__dropdown = document.getElementById('select-application-form__open-position-dropdown');\r\n\r\n const sa__apprenticeship__radio = document.getElementById('select-application-form__apprenticeship');\r\n const sa__apprenticeship__dropdown = document.getElementById('select-application-form__apprenticeship-dropdown');\r\n\r\n const sa__nextBtn = document.getElementById('select-application-form__btn');\r\n\r\n if (sa__openPosition__radio !== null && sa__openPosition__dropdown !== null &&\r\n sa__apprenticeship__radio !== null && sa__apprenticeship__dropdown !== null &&\r\n sa__nextBtn !== null\r\n ) {\r\n document.querySelectorAll('.select-application-form input[type=radio]')\r\n .forEach(radio => radio.addEventListener('change', sa__radioChange));\r\n\r\n document.querySelectorAll('.select-application-form select')\r\n .forEach(select => select.addEventListener('input', sa__selectChange));\r\n }\r\n\r\n function sa__radioChange() {\r\n sa__toogleDropdowns();\r\n sa__toogleBtn();\r\n }\r\n\r\n function sa__selectChange() {\r\n sa__toogleBtn();\r\n }\r\n\r\n function sa__toogleDropdowns() {\r\n if (!sa__openPosition__radio.checked) {\r\n sa__openPosition__dropdown.classList.add('lock');\r\n } else {\r\n sa__openPosition__dropdown.classList.remove('lock');\r\n }\r\n\r\n if (!sa__apprenticeship__radio.checked) {\r\n sa__apprenticeship__dropdown.classList.add('lock');\r\n } else {\r\n sa__apprenticeship__dropdown.classList.remove('lock');\r\n }\r\n }\r\n\r\n function sa__toogleBtn() {\r\n if (sa__openPosition__radio.checked) {\r\n const select = sa__openPosition__dropdown.querySelector('select');\r\n\r\n if (select.selectedIndex > 0) {\r\n applicationSwiper.allowSlideNext = true;\r\n sa__nextBtn.classList.remove('disabled');\r\n } else {\r\n applicationSwiper.allowSlideNext = false;\r\n sa__nextBtn.classList.add('disabled');\r\n }\r\n }\r\n else if (sa__apprenticeship__radio.checked) {\r\n const select = sa__apprenticeship__dropdown.querySelector('select');\r\n\r\n if (select.selectedIndex > 0) {\r\n applicationSwiper.allowSlideNext = true;\r\n sa__nextBtn.classList.remove('disabled');\r\n } else {\r\n applicationSwiper.allowSlideNext = false;\r\n sa__nextBtn.classList.add('disabled');\r\n }\r\n }\r\n else {\r\n applicationSwiper.allowSlideNext = true;\r\n sa__nextBtn.classList.remove('disabled');\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Form: Personal information\r\n */\r\n const pi__inputs = document.querySelectorAll('.personal-information-form .e-form__input input');\r\n const pi__nextBtn = document.getElementById('personal-information-form__btn');\r\n\r\n pi__inputs.forEach(input => input.addEventListener('change', pi__toogleBtn));\r\n\r\n function pi__toogleBtn() {\r\n\r\n if ([...pi__inputs].every(input => !input.required || input.validity.valid)) {\r\n applicationSwiper.allowSlideNext = true;\r\n pi__nextBtn.classList.remove('disabled');\r\n } else {\r\n applicationSwiper.allowSlideNext = false;\r\n pi__nextBtn.classList.add('disabled');\r\n }\r\n }\r\n\r\n function pi__lockLastTwo() {\r\n const pi__lastTwo = document.querySelectorAll('.application-swiper__pagination .swiper-pagination-bullet:nth-last-child(-n+2)');\r\n\r\n if ([...pi__inputs].every(input => !input.required || input.validity.valid)) {\r\n pi__lastTwo.forEach(element => {\r\n element.classList.remove('disabled');\r\n });\r\n } else {\r\n pi__lastTwo.forEach(element => {\r\n element.classList.add('disabled');\r\n });\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Form: Upload files\r\n */\r\n const uf__dropzoneId = 'upload-files-form__files-dropzone';\r\n const uf__allFilesMaxSize = 25; // max size of all files\r\n\r\n const uf__dropzoneContainer = document.getElementById(uf__dropzoneId);\r\n if (uf__dropzoneContainer === null) { return; }\r\n\r\n const uf__dropzoneElement = uf__dropzoneContainer.querySelector('.e-dropzone');\r\n const uf__textarea = document.querySelector('.upload-files-form .e-form__input textarea');\r\n const uf__checkboxs = document.querySelectorAll('.upload-files-form .e-checkbox input');\r\n\r\n // Get template's HTML and remove it from document object\r\n const uf__templateNode = document.querySelector(`#${uf__dropzoneId} .e-dropzone-template`);\r\n const uf__previewTemplate = uf__templateNode.innerHTML;\r\n uf__templateNode.parentNode.removeChild(uf__templateNode);\r\n\r\n const getUrl = window.location;\r\n const targetUrlFiles = `${getUrl.origin}/umbraco/surface/contact/sendform`;\r\n\r\n const uf__dropzone = new Dropzone(`#${uf__dropzoneId} .e-dropzone`, {\r\n url: targetUrlFiles,\r\n method: 'post',\r\n paramName: 'files',\r\n createImageThumbnails: false,\r\n filesizeBase: 1000, // base for calculating size, 1000 == 1 MB\r\n maxFilesize: uf__allFilesMaxSize, // size limit per file\r\n maxFiles: 99, // maximum number of files\r\n acceptedFiles: 'application/pdf,image/jpeg,image/png,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,',\r\n uploadMultiple: true,\r\n autoQueue: true,\r\n autoProcessQueue: false,\r\n addRemoveLinks: true,\r\n hiddenInputContainer: `#${uf__dropzoneId}`, // element the hidden input field will be appended to\r\n dictDefaultMessage: 'Upload your files',\r\n dictFileTooBig: 'Your selected files are too big to continue, please make sure to reduce the size and select them again',\r\n dictInvalidFileType: 'Your uploaded file has wrong file type, please upload one of: pdf, jpg, png, doc, docx',\r\n dictCancelUpload: '',\r\n dictRemoveFile: '',\r\n previewTemplate: uf__previewTemplate,\r\n });\r\n\r\n // max size of all files in kB\r\n const uf__maxSize = uf__allFilesMaxSize * uf__dropzone.options.filesizeBase * 1000;\r\n let uf__currentSize = 0;\r\n\r\n uf__dropzone.on('addedfile', file => {\r\n uf__currentSize += file.size;\r\n uf__checkMaxSize();\r\n uf__toogleBtn();\r\n\r\n const position = file.name.lastIndexOf('.');\r\n const extension = file.name.substring(position + 1);\r\n\r\n file.previewElement.querySelector('.e-dropzone__extension').innerText = extension;\r\n });\r\n\r\n uf__dropzone.on('removedfile', file => {\r\n uf__currentSize -= file.size;\r\n uf__checkMaxSize();\r\n uf__toogleBtn();\r\n\r\n if (uf__dropzoneElement !== null) {\r\n uf__dropzoneElement.classList.remove('error');\r\n\r\n uf__dropzoneContainer.querySelectorAll('.e-dropzone__error').forEach(errorObj => {\r\n errorObj.classList.remove('show');\r\n })\r\n }\r\n });\r\n\r\n uf__dropzone.on('success', (file, response) => {\r\n applicationSwiper.slideNext();\r\n });\r\n\r\n uf__dropzone.on('error', (file, errorMsg, xhrError) => {\r\n if (uf__dropzoneElement !== null) {\r\n uf__dropzoneElement.classList.add('error');\r\n }\r\n\r\n if (xhrError !== undefined) {\r\n const error = uf__dropzoneContainer.querySelector('.e-dropzone__error--api');\r\n\r\n if (error !== null) {\r\n error.classList.add('show');\r\n }\r\n } else {\r\n const error = uf__dropzoneContainer.querySelector('.e-dropzone__error--custom');\r\n\r\n if (error !== null) {\r\n error.querySelector('span').innerText = errorMsg;\r\n error.classList.add('show');\r\n }\r\n }\r\n\r\n });\r\n\r\n uf__textarea.addEventListener('change', uf__toogleBtn);\r\n uf__checkboxs.forEach(checkbox => checkbox.addEventListener('change', uf__toogleBtn));\r\n\r\n function uf__toogleBtn() {\r\n if (applicationForm.checkValidity() && uf__dropzone.files.length > 0) {\r\n applicationSwiper.allowSlideNext = true;\r\n applicationForm__sendBtn.classList.remove('disabled');\r\n } else {\r\n applicationSwiper.allowSlideNext = false;\r\n applicationForm__sendBtn.classList.add('disabled');\r\n }\r\n }\r\n\r\n function uf__checkMaxSize() {\r\n const error = uf__dropzoneContainer.querySelector('.e-dropzone__error--custom');\r\n\r\n if (uf__dropzoneElement !== null && error !== null) {\r\n if (uf__currentSize > uf__maxSize) {\r\n uf__dropzoneElement.classList.add('error');\r\n error.querySelector('span').innerText = uf__dropzone.options.dictFileTooBig;\r\n error.classList.add('show');\r\n } else {\r\n uf__dropzoneElement.classList.remove('error');\r\n error.classList.remove('show');\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Upload video Dropzone\r\n */\r\n const uv__dropzoneId = 'upload-files-form__video-dropzone';\r\n\r\n const uv__dropzoneContainer = document.querySelector(`#${uv__dropzoneId}`);\r\n const uv__dropzoneElement = uv__dropzoneContainer.querySelector('.e-dropzone');\r\n\r\n // Get template's HTML and remove it from document object\r\n const uv__templateNode = document.querySelector(`#${uv__dropzoneId} .e-dropzone-template`);\r\n const uv__previewTemplate = uv__templateNode.innerHTML;\r\n uv__templateNode.parentNode.removeChild(uv__templateNode);\r\n\r\n const targetUrlVideos = `${getUrl.origin}/umbraco/api/application/sendvideo`;\r\n\r\n const uv__dropzone = new Dropzone(`#${uv__dropzoneId} .e-dropzone`, {\r\n url: targetUrlVideos,\r\n method: 'post',\r\n paramName: 'HttpPostedFileBase',\r\n createImageThumbnails: false,\r\n filesizeBase: 1000, // base for calculating size, 1000 == 1 MB\r\n maxFilesize: 250, // size limit per file\r\n maxFiles: 1, // maximum number of files\r\n acceptedFiles: 'video/mp4',\r\n autoQueue: true,\r\n autoProcessQueue: true,\r\n addRemoveLinks: true,\r\n hiddenInputContainer: `#${uv__dropzoneId}`, // element the hidden input field will be appended to\r\n dictDefaultMessage: 'Upload a video',\r\n dictFileTooBig: 'Your selected file is too big to continue, please make sure to reduce the size and upload it again',\r\n dictInvalidFileType: 'Your uploaded file has wrong file type, please upload one of: pdf, jpg, png, doc, docx',\r\n dictCancelUpload: '',\r\n dictRemoveFile: '',\r\n previewTemplate: uv__previewTemplate,\r\n });\r\n\r\n uv__dropzone.on('addedfile', file => {\r\n const position = file.name.lastIndexOf('.');\r\n const extension = file.name.substring(position + 1);\r\n\r\n file.previewElement.querySelector('.e-dropzone__extension').innerText = extension;\r\n });\r\n\r\n uv__dropzone.on('success', (file, response) => {\r\n uv__dropzoneContainer.querySelectorAll('.dz-message')\r\n .forEach(message => message.parentNode.removeChild(message));\r\n\r\n uv__dropzoneContainer.querySelectorAll('.dz-preview')\r\n .forEach(preview => preview.parentNode.removeChild(preview));\r\n\r\n if (response) {\r\n uv__dropzoneContainer.querySelector('.e-dropzone__success-url').value = response;\r\n }\r\n\r\n uv__dropzoneContainer.querySelector('.e-dropzone__success').classList.add('e-dropzone__success--show');\r\n\r\n uv__dropzone.disable();\r\n });\r\n\r\n uv__dropzone.on('error', (file, errorMsg, xhrError) => {\r\n if (uv__dropzoneElement !== null) {\r\n uv__dropzoneElement.classList.add('error');\r\n }\r\n\r\n if (xhrError !== undefined) {\r\n const error = uv__dropzoneContainer.querySelector('.e-dropzone__error--api');\r\n\r\n if (error !== null) {\r\n error.classList.add('show');\r\n }\r\n } else {\r\n const error = uv__dropzoneContainer.querySelector('.e-dropzone__error--custom');\r\n\r\n if (error !== null) {\r\n error.querySelector('span').innerText = errorMsg;\r\n error.classList.add('show');\r\n }\r\n }\r\n\r\n });\r\n\r\n uv__dropzone.on('removedfile', (file) => {\r\n if (uv__dropzoneElement !== null) {\r\n uv__dropzoneElement.classList.remove('error');\r\n\r\n uv__dropzoneContainer.querySelectorAll('.e-dropzone__error').forEach(errorObj => {\r\n errorObj.classList.remove('show');\r\n })\r\n }\r\n });\r\n\r\n\r\n /**\r\n * Form: Send\r\n */\r\n const applicationForm = document.getElementById('application-form');\r\n const applicationForm__sendBtn = document.getElementById('application-form__send');\r\n\r\n applicationForm__sendBtn.addEventListener('click', s__onSend);\r\n\r\n // We need to copy entires from applicationForm to Dropzone form\r\n uf__dropzone.on('sending', (file, xhr, formData) => {\r\n // If Dropzone FormData doesnt have 'application_type', which is first\r\n // applicationForm entry, it means entries hasn't been copied yet\r\n if (!formData.has('applicationType')) {\r\n const applicationFormData = new FormData(applicationForm);\r\n\r\n for (let entry of applicationFormData.entries()) {\r\n formData.set(entry[0], entry[1]);\r\n }\r\n }\r\n });\r\n\r\n function s__onSend(event) {\r\n event.preventDefault();\r\n\r\n if (!applicationForm.checkValidity()) {\r\n return false;\r\n }\r\n\r\n uf__dropzone.processQueue();\r\n }\r\n})\r\n","$(() => {\r\n const googleAnalyticsPropertyID = 'UA-141887062-1';\r\n const googleTagManagerPropertyID = 'G-SJPPFCZFZ2';\r\n const cookies__consentName = '_cc';\r\n const cookies__analyticsConsentName = '_ac';\r\n\r\n const cookies__overlay = document.getElementById('cookies-overlay')\r\n if (cookies__overlay === null) return false;\r\n\r\n const cookies__overviewPage = cookies__overlay.querySelector('.m-cookies__overview');\r\n const cookies__showSettingsBtn = cookies__overlay.querySelector('.m-cookies__show-settings');\r\n const cookies__acceptOverviewBtn = cookies__overlay.querySelector('.m-cookies__accept-overview');\r\n\r\n const cookies__settingsPage = cookies__overlay.querySelector('.m-cookies__settings');\r\n const cookies__settingsRequiredCheckboxes = cookies__settingsPage.querySelectorAll('input[type=checkbox]:not(.toggle):required');\r\n const cookies__settingsCheckbox3 = document.getElementById('m-cookies__accept-3');\r\n const cookies__settingsAnalyticsCheckbox = document.getElementById('m-cookies__accept-analytics');\r\n const cookies__acceptSettingsBtn = cookies__overlay.querySelector('.m-cookies__accept-settings');\r\n\r\n cookies__checkAnalyticsConsent();\r\n cookies__checkCookiesConsent();\r\n\r\n function cookies__checkAnalyticsConsent() {\r\n if (localStorage.getItem(cookies__analyticsConsentName) !== null) {\r\n cookies__addAnalyticsScript();\r\n cookies__addTagManagerScript();\r\n };\r\n }\r\n\r\n function cookies__checkCookiesConsent() {\r\n if (localStorage.getItem(cookies__consentName) === null) {\r\n cookies__showOverviewPage();\r\n };\r\n }\r\n\r\n function cookies__showOverviewPage() {\r\n cookies__overlay.classList.add('open');\r\n\r\n cookies__acceptOverviewBtn.addEventListener('click', () => {\r\n cookies__overlay.classList.remove('open');\r\n\r\n localStorage.setItem(cookies__consentName, '1');\r\n localStorage.setItem(cookies__analyticsConsentName, '1');\r\n cookies__addAnalyticsScript();\r\n cookies__addTagManagerScript();\r\n });\r\n\r\n cookies__showSettingsBtn.addEventListener('click', cookies__showSettingsPage, { once: true });\r\n }\r\n\r\n function cookies__showSettingsPage() {\r\n cookies__overviewPage.classList.remove('show');\r\n cookies__settingsPage.classList.add('show');\r\n\r\n cookies__settingsRequiredCheckboxes.forEach(check => check.addEventListener('change', cookies__toogleSettingsBtn));\r\n\r\n cookies__settingsCheckbox3.addEventListener('change', () => {\r\n cookies__settingsAnalyticsCheckbox.checked = cookies__settingsCheckbox3.checked;\r\n });\r\n cookies__settingsAnalyticsCheckbox.addEventListener('change', () => {\r\n cookies__settingsCheckbox3.checked = cookies__settingsAnalyticsCheckbox.checked;\r\n });\r\n\r\n cookies__acceptSettingsBtn.addEventListener('click', () => {\r\n if (!cookies__toogleSettingsBtn()) return false;\r\n\r\n cookies__overlay.classList.remove('open');\r\n\r\n localStorage.setItem(cookies__consentName, '1');\r\n\r\n if (cookies__settingsAnalyticsCheckbox.checked) {\r\n localStorage.setItem(cookies__analyticsConsentName, '1');\r\n cookies__addAnalyticsScript();\r\n cookies__addTagManagerScript();\r\n }\r\n });\r\n }\r\n\r\n function cookies__toogleSettingsBtn() {\r\n const allChecked = Array.from(cookies__settingsRequiredCheckboxes).every(check => check.checked);\r\n\r\n if (allChecked) {\r\n cookies__acceptSettingsBtn.classList.remove('disabled');\r\n } else {\r\n cookies__acceptSettingsBtn.classList.add('disabled');\r\n }\r\n\r\n return allChecked;\r\n }\r\n\r\n function cookies__addAnalyticsScript() {\r\n const script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.innerHTML = `\r\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\r\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\r\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\r\n })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');\r\n\r\n ga('create', '${googleAnalyticsPropertyID}', 'auto');\r\n ga('send', 'pageview');\r\n `;\r\n document.getElementsByTagName('head')[0].appendChild(script);\r\n }\r\n\r\n function cookies__addTagManagerScript() {\r\n const scriptAsync = document.createElement(\"script\");\r\n const script = document.createElement(\"script\");\r\n scriptAsync.type = \"text/javascript\";\r\n script.type = \"text/javascript\";\r\n scriptAsync.async = true;\r\n scriptAsync.src = `https://www.googletagmanager.com/gtag/js?id=${googleTagManagerPropertyID}`\r\n script.innerHTML = `function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag(\"js\",new Date),gtag(\"config\",\"${googleTagManagerPropertyID}\");`;\r\n document.getElementsByTagName('head')[0].appendChild(scriptAsync);\r\n document.getElementsByTagName('head')[0].appendChild(script);\r\n }\r\n});\r\n","$(() => {\r\n const directions__container = document.querySelector('.m-directions');\r\n if (directions__container === null) return false;\r\n\r\n const directions__targetAddress = directions__container.dataset.targetAddress;\r\n const directions__targetLat = directions__container.dataset.targetLat;\r\n const directions__targetLng = directions__container.dataset.targetLng;\r\n\r\n if (directions__targetAddress === undefined || directions__targetLat === undefined || directions__targetLng === undefined) {\r\n return false;\r\n }\r\n\r\n const directions__tabs = directions__container.querySelectorAll('.m-directions__tab');\r\n const directions__fromInput = directions__container.querySelector('.m-directions__from input');\r\n const directions__toInput = directions__container.querySelector('.m-directions__to input');\r\n const directions__switchBtn = directions__container.querySelector('.m-directions__arrows');\r\n const directions__openRouteBtn = directions__container.querySelector('.m-directions__btn');\r\n\r\n let directions__isDirectionReversed = false;\r\n\r\n directions__initForm();\r\n\r\n directions__tabs.forEach(tab => tab.addEventListener('click', directions__tabClick));\r\n directions__switchBtn.addEventListener('click', directions__switchInputs);\r\n directions__openRouteBtn.addEventListener('click', directions__openRoute);\r\n\r\n function directions__tabClick(event) {\r\n directions__tabs.forEach(tab => tab.classList.remove('active'));\r\n event.target.classList.add('active');\r\n }\r\n\r\n function directions__switchInputs() {\r\n directions__isDirectionReversed = !directions__isDirectionReversed;\r\n\r\n if (directions__isDirectionReversed) {\r\n directions__toInput.value = directions__fromInput.value;\r\n directions__fromInput.value = directions__targetAddress;\r\n\r\n directions__toInput.disabled = false;\r\n directions__fromInput.disabled = true;\r\n } else {\r\n directions__fromInput.value = directions__toInput.value;\r\n directions__toInput.value = directions__targetAddress;\r\n\r\n directions__fromInput.disabled = false;\r\n directions__toInput.disabled = true;\r\n }\r\n }\r\n\r\n function directions__initForm() {\r\n directions__toInput.value = directions__targetAddress;\r\n directions__toInput.disabled = true;\r\n }\r\n\r\n function directions__openRoute() {\r\n const travelMode = Array.from(directions__tabs).find(tab => tab.classList.contains('active')).dataset.travelMode;\r\n\r\n let url = `https://www.google.com/maps/dir/?api=1`;\r\n\r\n if (directions__isDirectionReversed) {\r\n url += `&origin=${directions__targetLat},${directions__targetLng}`;\r\n url += `&destination=${directions__toInput.value}`;\r\n } else {\r\n url += `&origin=$${directions__fromInput.value}`;\r\n url += `&destination=${directions__targetLat},${directions__targetLng}`;\r\n }\r\n\r\n url += `&travelmode=${travelMode}`;\r\n\r\n window.open(url, '_blank');\r\n }\r\n});","$(() => {\r\n var currentFormToValid = \"\";\r\n\r\n jQuery.validator.setDefaults({\r\n debug: true,\r\n success: \"valid\"\r\n });\r\n\r\n $.validator.addMethod(\"valueNotEquals\", function(value, element, arg) {\r\n return arg !== value;\r\n }, \"Value must not equal arg.\");\r\n\r\n function setCurrentFormToValid(currentForm) {\r\n currentFormToValid = '#' + currentForm;\r\n }\r\n\r\n function checkFormValidity(currentForm) {\r\n setCurrentFormToValid(currentForm);\r\n\r\n var isValid = $(currentFormToValid).valid();\r\n\r\n return isValid;\r\n }\r\n\r\n $('form').on('submit', function(e) {\r\n e.preventDefault();\r\n let currentForm = $(this).closest('form').attr(\"id\");\r\n let isFormValid = checkFormValidity(currentForm);\r\n\r\n if (isFormValid === true) {\r\n const getUrl = window.location;\r\n const targetUrl = `${getUrl.origin}/umbraco/Surface/Contact/SaveContactEmail`;\r\n const formData = new FormData($(this).closest('form')[0]);\r\n\r\n $.ajax({\r\n method: \"POST\",\r\n url: targetUrl,\r\n data: formData,\r\n\r\n cache: false,\r\n contentType: false,\r\n processData: false\r\n }).done(function(r) {\r\n $('.m-contact__confirmation').addClass('show');\r\n });\r\n }\r\n });\r\n\r\n // Placeholder fix\r\n\r\n if ($('.e-form__input').length) {\r\n $('.e-form__input').on('blur', 'input:not(required)', function() {\r\n console.log($(this));\r\n const parent = $(this).closest('.e-form__input');\r\n if ($(this)[0].value) {\r\n parent.addClass('filled');\r\n } else {\r\n parent.removeClass('filled');\r\n }\r\n })\r\n }\r\n\r\n // Resizeable textarea\r\n var observe;\r\n if ($('.e-form__input textarea').length) {\r\n if (window.attachEvent) {\r\n observe = function (element, event, handler) {\r\n element.attachEvent('on'+event, handler);\r\n };\r\n }\r\n else {\r\n observe = function (element, event, handler) {\r\n element.addEventListener(event, handler, false);\r\n };\r\n }\r\n\r\n function initTextarea () {\r\n var text = document.querySelector('.e-form__input textarea');\r\n function resize () {\r\n text.style.height = 'auto';\r\n text.style.height = text.scrollHeight - 4 +'px';\r\n }\r\n\r\n /* 0-timeout to get the already changed text */\r\n function delayedResize () {\r\n window.setTimeout(resize, 0);\r\n }\r\n\r\n observe(text, 'change', resize);\r\n observe(text, 'cut', delayedResize);\r\n observe(text, 'paste', delayedResize);\r\n observe(text, 'drop', delayedResize);\r\n observe(text, 'keydown', delayedResize);\r\n\r\n text.focus();\r\n text.select();\r\n resize();\r\n }\r\n\r\n initTextarea();\r\n }\r\n\r\n // File inputs\r\n const fileInput = $('input[type=file]:not(.dz-hidden-input)');\r\n const clearFileInput = $('.e-form__clear-file');\r\n clearFileInput.on('click', function(e) {\r\n e.preventDefault();\r\n const parent = $(this).closest('.e-form__input--fileupload');\r\n const fileInput = parent.find('input[type=file]');\r\n fileInput.value = '';\r\n fileInput.removeClass('fileuploaded');\r\n fileInput.attr('data-filename', '');\r\n parent.removeClass('hide-dl').removeClass('filled');\r\n });\r\n\r\n fileInput.on('change', function() {\r\n if($(this).prop('files').length) {\r\n console.log($(this).prop('files'));\r\n $(this).addClass('fileuploaded');\r\n $(this).closest('.e-form__input--fileupload').addClass('hide-dl');\r\n $(this).attr('data-filename', $(this).prop('files')[0].name);\r\n } else {\r\n $(this).removeClass('fileuploaded');\r\n $(this).closest('.e-form__input--fileupload').removeClass('hide-dl').removeClass('filled');\r\n $(this).attr('data-filename', '');\r\n }\r\n });\r\n});\r\n","$(() => {\r\n\r\n if ($('.m-hero-slider__gallery').length) {\r\n const heroSwiper = $('.m-hero-slider__gallery');\r\n const heroBgSwiperId = '#' + $('.m-hero-slider__bg-gallery').attr('id');\r\n\r\n const heroBgSwiperInstance = new Swiper(heroBgSwiperId, {\r\n spaceBetween: 0,\r\n simulateTouch: false,\r\n allowTouchMove: false,\r\n paginationClickable: false,\r\n slidesPerView: 1,\r\n effect: 'fade',\r\n });\r\n\r\n const heroSwiperInstance = new Swiper(heroSwiper, {\r\n speed: 1000,\r\n direction: \"horizontal\",\r\n watchSlidesProgress: true,\r\n watchSlidesVisibility: true,\r\n paginationClickable: true,\r\n slidesPerView: 1,\r\n spaceBetween: 0,\r\n loop: true,\r\n effect: 'fade',\r\n autoplay: {\r\n delay: 5000,\r\n },\r\n navigation: {\r\n prevEl: \".m-hero-slider__navigation-button--prev\",\r\n nextEl: \".m-hero-slider__navigation-button--next\",\r\n disabledClass: \"disabled\"\r\n },\r\n breakpoints: {\r\n },\r\n pagination: {\r\n el: '.m-hero-slider__pagination',\r\n type: 'bullets',\r\n clickable: true\r\n },\r\n on: {\r\n slideNextTransitionStart: function() {\r\n const classNumber = $(this.el).find('.swiper-slide-active').data('slide-to-wheel');\r\n spinWheel(classNumber);\r\n heroBgSwiperInstance.slideTo(classNumber - 1);\r\n },\r\n slidePrevTransitionStart: function() {\r\n const classNumber = $(this.el).find('.swiper-slide-active').data('slide-to-wheel');\r\n spinWheel(classNumber);\r\n heroBgSwiperInstance.slideTo(classNumber - 1);\r\n },\r\n }\r\n });\r\n }\r\n\r\n function spinWheel(slideNumber) {\r\n const wheel = $('.m-hero-slider .e-animation-wheel__window ul');\r\n wheel.attr('class', '');\r\n wheel.addClass(`rotate-${slideNumber}`);\r\n }\r\n});\r\n","$(() => {\r\n\r\n if ($('.m-process__gallery').length) {\r\n const process_swiper = $('.m-process__gallery');\r\n\r\n if (process_swiper.length) {\r\n let processSwiper = new Swiper(process_swiper, {\r\n speed: 1000,\r\n direction: \"horizontal\",\r\n watchSlidesProgress: true,\r\n watchSlidesVisibility: true,\r\n paginationClickable: true,\r\n slidesPerView: 1,\r\n spaceBetween: 0,\r\n loop: true,\r\n effect: 'fade',\r\n navigation: {\r\n prevEl: \".m-process__navigation-button--prev\",\r\n nextEl: \".m-process__navigation-button--next\",\r\n disabledClass: \"disabled\"\r\n },\r\n breakpoints: {\r\n },\r\n pagination: {\r\n el: '.m-process__pagination',\r\n type: 'bullets',\r\n clickable: true\r\n },\r\n on: {\r\n slideChange: function() {\r\n const wheel = $('.m-process .e-animation-wheel__window ul');\r\n wheel.attr('class', '');\r\n wheel.addClass(`rotate-${this.realIndex + 1}`);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n});\r\n","const closeAllSelect = (elmnt) => {\r\n /* A function that will close all select boxes in the document,\r\n except the current select box: */\r\n var x, y, i, arrNo = [];\r\n x = document.getElementsByClassName('e-select__items');\r\n y = document.getElementsByClassName('e-select__selected');\r\n for (i = 0; i < y.length; i++) {\r\n if (elmnt == y[i]) {\r\n arrNo.push(i)\r\n } else {\r\n y[i].classList.remove('active');\r\n }\r\n }\r\n for (i = 0; i < x.length; i++) {\r\n if (arrNo.indexOf(i)) {\r\n x[i].classList.add('hide');\r\n }\r\n }\r\n}\r\n\r\n/* Look for any elements with the class 'e-select': */\r\nconst containers = [...document.getElementsByClassName('e-select')];\r\nfor (const container of containers) {\r\n const select = container.getElementsByTagName('select')[0];\r\n\r\n /* For each element, create a new DIV that will act as the selected item: */\r\n const selected = document.createElement('DIV');\r\n selected.classList.add('e-select__selected');\r\n selected.innerHTML = select.options[select.selectedIndex].innerHTML;\r\n container.appendChild(selected);\r\n\r\n /* For each element, create a new DIV that will contain the option list: */\r\n const items = document.createElement('DIV');\r\n items.classList.add('e-select__items', 'hide');\r\n\r\n /* For each option in the original select element,\r\n create a new DIV that will act as an option item: */\r\n for (const option of select.options) {\r\n const item = document.createElement('DIV');\r\n item.innerHTML = option.innerHTML;\r\n\r\n /* When an item is clicked, update the original select box,\r\n and the selected item: */\r\n item.addEventListener('click', function (e) {\r\n const selectedIndex = [...items.children].indexOf(this);\r\n\r\n select.selectedIndex = selectedIndex;\r\n selected.innerHTML = this.innerHTML;\r\n\r\n if (selectedIndex > 0) {\r\n selected.classList.add('selected');\r\n } else {\r\n selected.classList.remove('selected');\r\n }\r\n\r\n for (let item of items.children) {\r\n item.classList.remove('active');\r\n }\r\n this.classList.add('active');\r\n\r\n selected.click();\r\n select.dispatchEvent(new Event('input'));\r\n });\r\n items.appendChild(item);\r\n }\r\n items.firstChild.classList.add('active');\r\n container.appendChild(items);\r\n\r\n /* When the select box is clicked, close any other select boxes,\r\n and open/close the current select box: */\r\n selected.addEventListener('click', function (e) {\r\n e.stopPropagation();\r\n closeAllSelect(this);\r\n this.nextSibling.classList.toggle('hide');\r\n this.classList.toggle('active');\r\n //Popup dropdown check\r\n if ($(this).closest('.m-booking').length > 0) {\r\n if ($(this)[0].previousElementSibling.options[0].label == $(this)[0].innerHTML && !$(this).hasClass('active')) {\r\n $(this).addClass('error');\r\n } else {\r\n $(this).removeClass('error');\r\n }\r\n }\r\n });\r\n}\r\n\r\n/* If the user clicks anywhere outside the select box,\r\nthen close all select boxes: */\r\ndocument.addEventListener('click', closeAllSelect);","$(() => {\r\n // load more posts\r\n const postsContainer = $(\".postsContainer\");\r\n const posts = $(\".singlePost\");\r\n const moreBtn = $('.showMoreBtn');\r\n\r\n if (postsContainer.length > 0 && postsContainer.hasClass('postsContainerSmall')) {\r\n posts.slice(3, posts.length).hide();\r\n\r\n if ( posts.length <= 3 ) {\r\n moreBtn.hide();\r\n }\r\n\r\n } else if (postsContainer.length > 0 && ! postsContainer.hasClass('postsContainerSmall')) {\r\n posts.slice(6, posts.length).hide();\r\n\r\n if ( posts.length <= 6 ) {\r\n moreBtn.hide();\r\n }\r\n }\r\n\r\n moreBtn.click(function(e) {\r\n e.preventDefault();\r\n\r\n const hiddenPosts = $('.singlePost:hidden');\r\n\r\n hiddenPosts.slice(0, 3).show();\r\n\r\n if ( ( hiddenPosts.length - 3 ) <= 0 ) {\r\n $(this).hide();\r\n }\r\n });\r\n});\r\n","$(() => {\r\n\r\n if ($('.m-social-details').length) {\r\n $('[data-social-overlay]').on('click', function(e) {\r\n e.preventDefault();\r\n const targetModal = `#${$(this).data('social-overlay')}`;\r\n $(targetModal).addClass('open');\r\n $('body, html').addClass('blocked');\r\n initSocialDetailsSwipers($(this).data('social-item'));\r\n });\r\n $('.m-social-details').on('click', '.m-social-details__close', function() {\r\n $(this).closest('.m-social-details').removeClass('open');\r\n $('body, html').removeClass('blocked');\r\n })\r\n }\r\n\r\n function initSocialDetailsSwipers(slideNr) {\r\n var galleryMain = new Swiper('.m-social-details__main-swiper', {\r\n spaceBetween: 152,\r\n simulateTouch: false,\r\n initialSlide: slideNr - 1,\r\n autoHeight: true,\r\n navigation: {\r\n prevEl: \".m-social-details__navigation-button--prev\",\r\n nextEl: \".m-social-details__navigation-button--next\",\r\n disabledClass: \"disabled\"\r\n },\r\n breakpoints: {\r\n 320: {\r\n spaceBetween: 30,\r\n },\r\n 768: {\r\n spaceBetween: 80,\r\n },\r\n 1439: {\r\n spaceBetween: 120,\r\n }\r\n },\r\n on: {\r\n init: function() {\r\n const slides = $('[data-slide-nr]');\r\n slides.each(function() {\r\n const currentSlideNr = $(this).data('slide-nr');\r\n var galleryTop = new Swiper(`#gallery-${currentSlideNr}`, {\r\n spaceBetween: 10,\r\n simulateTouch: false,\r\n pagination: {\r\n el: '.m-social-details__gallery-pagin',\r\n type: 'bullets',\r\n clickable: true\r\n },\r\n });\r\n });\r\n },\r\n }\r\n });\r\n }\r\n});\r\n","$(() => {\r\n\r\n // let gallery_swiper = document.getElementById('gallerySwiper');\r\n const gallerySwiper = $('.e-gallery-swiper');\r\n\r\n if (gallerySwiper) {\r\n let swiper = new Swiper(gallerySwiper, {\r\n speed: 600,\r\n direction: \"horizontal\",\r\n resistanceRatio: 0,\r\n effect: \"fade\",\r\n fadeEffect: {\r\n crossFade: true\r\n },\r\n scrollbar: {\r\n el: \".swiper-scrollbar\",\r\n hide: false\r\n },\r\n navigation: {\r\n prevEl: \".e-gallery-swiper__navigation-button--prev\",\r\n nextEl: \".e-gallery-swiper__navigation-button--next\",\r\n disabledClass: 'disabled'\r\n },\r\n pagination: {\r\n el: \".e-gallery-swiper__fraction\",\r\n type: \"custom\",\r\n renderCustom: function (swiper, current, total) {\r\n return (\"0\" + current).slice(-2);\r\n }\r\n },\r\n breakpoints: {\r\n 992: {\r\n allowTouchMove: false\r\n }\r\n }\r\n });\r\n }\r\n\r\n const products_swiper = $('.e-products-swiper');\r\n\r\n if (products_swiper.length) {\r\n let programsSwiper = new Swiper(products_swiper, {\r\n paginationClickable: true,\r\n centeredSlides: true,\r\n slidesPerView: 1,\r\n spaceBetween: 16,\r\n // autoHeight: true,\r\n navigation: {\r\n prevEl: \".e-products-swiper__navigation-button--prev\",\r\n nextEl: \".e-products-swiper__navigation-button--next\",\r\n disabledClass: \"disabled\"\r\n },\r\n pagination: {\r\n el: '.e-products-swiper__pagination',\r\n type: 'bullets',\r\n clickable: true\r\n },\r\n breakpoints: {\r\n 320: {\r\n // slidesPerView: 1\r\n },\r\n 768: {\r\n // slidesPerView: 1,\r\n },\r\n 992: {\r\n // slidesPerView: 1,\r\n allowTouchMove: false,\r\n }\r\n },\r\n on: {\r\n init: function () {\r\n setTimeout(function () {\r\n const swiperBox = products_swiper.closest('.m-product-slider__box');\r\n swiperBox.css('minHeight', swiperBox.outerHeight());\r\n }, 400);\r\n }\r\n }\r\n });\r\n\r\n // programsSwiper.init();\r\n // programsSwiper.snapGrid = programsSwiper.slidesGrid.slice(0);\r\n }\r\n\r\n const swiper_simple = $('.e-simple-slider');\r\n\r\n if (swiper_simple.length) {\r\n let simpleSlider = new Swiper(swiper_simple, {\r\n // init: false,\r\n speed: 600,\r\n direction: \"horizontal\",\r\n watchSlidesProgress: true,\r\n watchSlidesVisibility: true,\r\n spaceBetween: 30,\r\n navigation: {\r\n prevEl: \".e-simple-slider__navigation .e-simple-slider__navigation-button--prev\",\r\n nextEl: \".e-simple-slider__navigation .e-simple-slider__navigation-button--next\",\r\n disabledClass: \"disabled\"\r\n },\r\n breakpoints: {\r\n 320: {\r\n slidesPerView: 'auto'\r\n },\r\n 768: {\r\n slidesPerView: 'auto',\r\n },\r\n 992: {\r\n slidesPerView: 'auto',\r\n allowTouchMove: false,\r\n }\r\n }\r\n });\r\n }\r\n\r\n const featured_slider = $('.m-featured-slider');\r\n\r\n if (featured_slider.length) {\r\n let featuredSlider = new Swiper(featured_slider, {\r\n // init: false,\r\n speed: 600,\r\n watchSlidesProgress: true,\r\n watchSlidesVisibility: true,\r\n spaceBetween: 30,\r\n navigation: {\r\n prevEl: \".e-simple-slider__navigation .e-simple-slider__navigation-button--prev\",\r\n nextEl: \".e-simple-slider__navigation .e-simple-slider__navigation-button--next\",\r\n disabledClass: \"disabled\"\r\n },\r\n breakpoints: {\r\n 320: {\r\n slidesPerView: 'auto'\r\n },\r\n 768: {\r\n slidesPerView: 'auto',\r\n },\r\n 992: {\r\n slidesPerView: '',\r\n allowTouchMove: false,\r\n },\r\n 1440: {\r\n slidesPerView: 4,\r\n allowTouchMove: false,\r\n }\r\n }\r\n });\r\n }\r\n\r\n const tabs_swiper = $('.e-tabs-swiper');\r\n\r\n if (tabs_swiper.length) {\r\n let tabsSwiper = new Swiper(tabs_swiper, {\r\n speed: 600,\r\n direction: \"horizontal\",\r\n watchSlidesProgress: true,\r\n watchSlidesVisibility: true,\r\n spaceBetween: 20,\r\n breakpoints: {\r\n 320: {\r\n slidesPerView: 'auto'\r\n },\r\n 992: {\r\n slidesPerView: 3,\r\n allowTouchMove: false\r\n }\r\n }\r\n });\r\n }\r\n\r\n const images_carousel = $('.e-images-carousel');\r\n\r\n if (images_carousel.length) {\r\n let tabsSwiper = new Swiper(images_carousel, {\r\n speed: 600,\r\n direction: \"horizontal\",\r\n watchSlidesProgress: true,\r\n watchSlidesVisibility: true,\r\n centeredSlides: true,\r\n slidesPerView: 'auto',\r\n spaceBetween: 40,\r\n loop: true,\r\n navigation: {\r\n prevEl: \".e-images-carousel__navigation-button--prev\",\r\n nextEl: \".e-images-carousel__navigation-button--next\",\r\n disabledClass: \"disabled\"\r\n },\r\n breakpoints: {\r\n }\r\n });\r\n }\r\n\r\n const reviews_swiper = $('.m-reviews__swiper');\r\n\r\n if (reviews_swiper.length) {\r\n let reviewsSwiper = new Swiper(reviews_swiper, {\r\n speed: 600,\r\n direction: \"horizontal\",\r\n watchSlidesProgress: true,\r\n watchSlidesVisibility: true,\r\n paginationClickable: true,\r\n slidesPerView: 1,\r\n spaceBetween: 0,\r\n loop: false,\r\n navigation: {\r\n prevEl: \".m-reviews__navigation-button--prev\",\r\n nextEl: \".m-reviews__navigation-button--next\",\r\n disabledClass: \"disabled\"\r\n },\r\n breakpoints: {\r\n },\r\n pagination: {\r\n el: '.m-reviews__pagination',\r\n type: 'bullets',\r\n clickable: true\r\n },\r\n });\r\n }\r\n\r\n});\r\n\r\n\r\nconst timeline = $('.e-timeline-carousel');\r\n\r\nif (timeline.length) {\r\n let featuredSlider = new Swiper(timeline, {\r\n watchSlidesProgress: false,\r\n slidesPerView: 1,\r\n spaceBetween: 10,\r\n speed: 1,\r\n navigation: {\r\n prevEl: \".e-timeline-carousel__navigation-button--prev\",\r\n nextEl: \".e-timeline-carousel__navigation-button--next\",\r\n },\r\n effect: 'fade',\r\n fadeEffect: { crossFade: true },\r\n });\r\n\r\n}\r\n\r\nconst group = $('.e-group-carousel');\r\n\r\nif (group.length) {\r\n let featuredSlider = new Swiper(group, {\r\n effect: 'coverflow',\r\n grabCursor: false,\r\n slidesPerView: 'auto',\r\n spaceBetween: 30,\r\n coverflowEffect: {\r\n rotate: 0,\r\n stretch: -50,\r\n depth: 100,\r\n modifier: 1,\r\n slideShadows: true,\r\n },\r\n\r\n loop: true,\r\n navigation: {\r\n prevEl: \".m-group__prev\",\r\n nextEl: \".m-group__next\",\r\n },\r\n on: {\r\n slideChange: function() {\r\n $('.m-group__prev').show();\r\n }\r\n }\r\n });\r\n\r\n}\r\n\r\n","$(() => {\r\n // console.log('template active');\r\n});\r\n","$(() => {\r\n let timeline = $(\".timeline\");\r\n let children = timeline.children();\r\n let move = 200;\r\n let indexDot = 0;\r\n\r\n if (children && children.length > 0) {\r\n let width = 0;\r\n\r\n timeline.children().each((index, el) => {\r\n $(el).css(\"left\", width);\r\n $(el).attr('id', 'timeline' + index);\r\n width += 200;\r\n });\r\n }\r\n\r\n let currentTranslateValue = move;\r\n\r\n $(\".e-timeline-carousel__navigation-button--prev\").on(\"click\", function () {\r\n if (indexDot === 0) {\r\n return;\r\n }\r\n\r\n currentTranslateValue += move;\r\n timeline.css(\r\n \"transform\",\r\n \"translateX(\" + currentTranslateValue + \"px)\"\r\n );\r\n\r\n indexDot -= 1;\r\n\r\n $('.timeline-item').removeClass('active');\r\n $('#' + 'timeline' + indexDot).addClass('active');\r\n\r\n $('.e-timeline-carousel__date h3, .e-timeline-carousel__person-number h3, .e-timeline-carousel__surface h3, .e-timeline-carousel__worker h3').each((_, element) => {\r\n if ($(element).hasClass('active')) {\r\n $(element).addClass('inactive');\r\n $(element).removeClass('active');\r\n setTimeout(() => {\r\n $(element).removeClass('inactive');\r\n }, 500);\r\n }\r\n });\r\n $('.slide-' + indexDot).each((index, el) => {\r\n $(el).addClass('active');\r\n });\r\n });\r\n\r\n $(\".e-timeline-carousel__navigation-button--next\").on(\"click\", function () {\r\n if (children.length - 1 <= indexDot) {\r\n return;\r\n }\r\n\r\n currentTranslateValue -= move;\r\n timeline.css(\r\n \"transform\",\r\n \"translateX(\" + currentTranslateValue + \"px)\"\r\n );\r\n\r\n indexDot += 1;\r\n\r\n $('.timeline-item').removeClass('active');\r\n $('#' + 'timeline' + indexDot).addClass('active');\r\n\r\n $('.e-timeline-carousel__date h3, .e-timeline-carousel__person-number h3, .e-timeline-carousel__surface h3, .e-timeline-carousel__worker h3')\r\n .each((_, element) => {\r\n if ($(element).hasClass('active')) {\r\n $(element).addClass('inactive');\r\n $(element).removeClass('active');\r\n setTimeout(() => {\r\n $(element).removeClass('inactive');\r\n }, 500);\r\n }\r\n });\r\n\r\n $('.slide-' + indexDot).each((index, el) => {\r\n $(el).addClass('active');\r\n });\r\n });\r\n\r\n // init\r\n const dates = [];\r\n $('.e-timeline-carousel__date h3').each((_, element) => {\r\n dates.push(element.innerText);\r\n });\r\n\r\n $('.e-timeline-carousel__date').each((_, element) => {\r\n $(element).empty();\r\n dates.forEach((date, index) => {\r\n if (index === 0) {\r\n $(element).append('