jQuery(function(n,t,i){var r=new n.userLayerModel,u=new n.ValidationHandler({listenOnForms:!0}),tt=new n.Prenavigation({userModel:r,validationHandler:u}),it=new n.DestinationNavigation,rt=new n.MegaNavigation,ut=new n.MyPages({validationHandler:u,userModel:r}),ft=new n.BusinessCustomerReg({validationHandler:u,userModel:r}),et=new n.BusinessCustomerUsers({validationHandler:u,userModel:r}),ot=new n.CreateExtraAccount({validationHandler:u,userModel:r}),st=new n.Search,s,l,a,v,h,y,c,f,e,o,p,w,b,k,d,g,nt;n.$body.find(".m_login._01").length>0&&(s=n.BookingModel===i?i:n.BookingModel.BookingLayer,l=new n.Login({el:".m_login._01",userModel:r,validationHandler:u,bookingLayer:s}));n.$body.find(".m_extra_opt_in._01").length>0&&(a=new n.ExtraOptIn);n.$body.find(".m_footer._01").length>0&&(v=new n.Footer);n.$body.find(".m_breadcrumb._01").length>0&&(h=new n.Breadcrumb({el:".m_breadcrumb._01"}),n.breadcrumbSocialMedia=h);n.$body.find(".m_qas._01").length>0&&(y=new n.m_qas);n.$body.find(".m_scriptspot").length>0&&(c=new n.m_scriptspot,c.executeScript(n.$body.find(".m_scriptspot")));n.$body.find(".m_rss_feed_spot:visible").each(function(){var t=new n.RssFeedSpot({el:this})});n.$body.find(".m_rss_jobs_feed_spot:visible").each(function(){var t=new n.RssJobsFeedSpot({el:this})});var ht=new n.Trackers.ScriptHandler({el:"#analytics_cookies_head",getTrackerNamespace:function(){return n.Trackers.analyticsCookiesHead}}),ct=new n.Trackers.ScriptHandler({el:"#analytics_cookies_body",getTrackerNamespace:function(){return n.Trackers.analyticsCookiesBody}}),lt=new n.Trackers.ScriptHandler({el:"#targeting_and_advertising_cookies_body",getTrackerNamespace:function(){return n.Trackers.targetingCookiesBody}}),at=new n.Trackers.ScriptHandler({el:"#functionality_cookies_body",getTrackerNamespace:function(){return n.Trackers.functionalityCookiesBody}});n.$body.find(".m_review_form").length>0&&(f=[],n.$body.find(".m_review_form").each(function(){f[f.length]=new n.ReviewForm({el:this})}));n.$body.find(".m_accommodation_list").length>0&&(e=[],n.$body.find(".m_accommodation_list").each(function(){e[e.length]=new n.AccommodationList({el:this})}));n.$body.find(".m_accomodation_spot").length>0&&(o=[],n.$body.find(".m_accomodation_spot").each(function(){o[o.length]=new n.AccomodationSpot({el:this})}));t(window).on("app:ready",function(){var f=n.BookingModel.BookingLayer,i=n.BookingModel.UiLayer,h=new n.Remarketing({BookingLayer:f,UiLayer:i}),e=n.$body.find(".m_find_and_book_tabs"),o,s,r,u;e.length>0&&(o=new n.FindAndBookTabs({BookingLayer:f,UiLayer:i}));n.$body.find(".m_review_spot").length>0&&(s=new n.ReviewSpot({UiLayer:i}));n.$body.find(".m_cabin_list").length>0&&(r=[],n.$body.find(".m_cabin_list").each(function(){r[r.length]=new n.CabinList({el:this})}));n.$body.find(".m_vr_image").length>0&&(u=[],n.$body.find(".m_vr_image").each(function(){u[u.length]=new n.VrImage({el:this})}));!function(){var i=t(".tpl_sembo-find-and-book");i.length&&i.html((new n.m_semboFindAndBook).render().el)}(),function(){var r=n.$body.find(".stena-map-widget-placeholder"),i=location.search.match(/[?&]openmap=(\d+)/);i&&(i=Number(i[1]));r.each(function(n){var f,u;n++;var r=t(this),e=r.find(".close"),o=!!r.attr("data-design"),s=r.attr("data-markercategorylists")||".",h=r.attr("data-categories")||".";if(!o){r.addClass("loading");f=r.attr("data-config");u=require("stena-map-widget")({config:f,lists:s,categories:h});u.appendTo(this);u.on("loaded",function(){r.removeClass("loading");i===n&&u.allowInteraction(!0)});u.on("fullscreen",function(){if(r.addClass("full-screen"),!document.querySelector(".overlay-background")){var n=document.body.appendChild(document.createElement("div"));n.className="overlay-background";n.setAttribute("style","background-color: rgba(0, 0, 0, 0.6); position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 100;")}u.allowInteraction(!0)});u.on("normalscreen",function(){r.removeClass("full-screen");var n=document.querySelector(".overlay-background");n&&document.body.removeChild(n)});e.on("click",function(){var n=document.querySelector(".overlay-background");n&&n.parentNode.removeChild(n);r.removeClass("full-screen");u.allowInteraction(!1)})}})}();_utils.resizeResponsiveMenu(!0);_utils.clearFindAndBookSessionKeys();_lightboxHandler.init();t(window).off("app:ready")});n.$body.find(".m_time_table_spot:visible").each(function(){var t=new n.TimeTableSpot({el:this})});n.$body.find(".m_lffBestPrice:visible").each(function(){var t=new n.m_lffBestPrice({el:this})});n.$body.find(".m_route_map_spot").length>0&&n.$body.find(".m_route_map_spot").each(function(){new n.RouteMapSpot({el:this})});n.$body.find(".m_weather_map_spot").length>0&&n.$body.find(".m_weather_map_spot").each(function(){new n.WeatherMapSpot({el:this})});n.$body.find(".m_agent_bookings").length>0&&(p=new n.AgentBookings({}));n.$body.find(".m_filtering_module").length>0&&(w=new n.FilteringModule({}));n.$body.find(".m_contact_info_spot").length>0&&(b=new n.ContactInfoSpot({}));n.$body.find(".m_activity_calendar").length>0&&(k=new n.ActivityCalendar({}));n.$body.find(".new_activity_calendar").length>0&&n.ActivityCalendarNew.init();t("a[target='lightbox']").on("click",function(i){i.preventDefault();n.ActivityCalendarNew.initFromCalendarSpot(t(this).attr("href"))});t(".activity-calendar-modal-window-close-button").on("click",function(n){n.preventDefault();t("#activityCalendarModalWindowOverlay").addClass("hide");t("#activityCalendarModalWindow").empty()});n.$body.find(".m_points_calculator").length>0&&(d=new n.PointsCalculator({}));n.$body.find(".m_deal_of_the_day_spot").length>0&&(g=new n.DealOfTheDaySpot({}));n.$body.find(".m_chat_bot_stina").length>0&&(nt=new n.ChatBot({}));t(function(){_utils.loadImagesAfterDOM()})}(window.STENA=window.STENA||{},jQuery));jQuery(function(n,t){function i(){t("body").toggleClass("menu-open");var n=t(".topnav"),i=t("body").hasClass("menu-open");_utils.trigger("menu:open",i);n.animate({left:i?-60:-n.width()-60,duration:.5})}t(window).resize(_utils.resizeResponsiveMenu);_utils.resizeResponsiveMenu();t("#topMenues, div.topnav").on("click",".menu-button-wrapper",i);t(document).on("click",function(n){t("body").hasClass("menu-open")&&(t(n.target).closest(".topnav").length||(i(),n.preventDefault()))});t(".wrapper").on("click",".level2 > .nav-items > .nav-item > a",function(n){t(this).parent().find(".waiting-for-load").length>0&&n.preventDefault()});t(".p_001 .subpage-tabs li").click(function(){var i=window.matchMedia&&window.matchMedia("(max-width: 800px)").matches,n;i&&(n=t(this).parents("ul.nav-items"),n.hasClass("menu-open")||n.addClass("menu-open"))});t(window).on("scroll",function(){if(_utils.isInResponsiveMode()){var n=t(".cookie-info-wrapper").height(),i=t(".responsive-header"),r=t(".m_prenavigation").find(".login-icon"),u=t(".m_prenavigation").find(".search-field");i.css("top",n);t(window).scrollTop()>10?(t("body").addClass("scrolled-down"),i.css("top","0"),r.css("top","9px"),u.css("top","9px")):t(window).scrollTop()<10&&t(".cookie-info-wrapper").css("display")==="none"?(t("body").removeClass("scrolled-down"),i.css("top","0"),r.css("top","9px"),u.css("top","9px")):(t("body").removeClass("scrolled-down"),i.css("top",n),r.css("top",n+9),u.css("top",n+9))}});t(document).ready(function(){if(_utils.isInResponsiveMode()){var n=t(".responsive-header"),i=t(".m_prenavigation").find(".login-icon"),r=t(".m_prenavigation").find(".search-field");t(".btn-cookie").click(function(){n.css("top","0");i.css("top","9px");r.css("top","9px")})}})}(window.STENA=window.STENA||{},jQuery))