#element-debf0183-777d-40bc-92ce-00eacf2e26f9 .border-box { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .tabbed-box { position: relative; margin: 20px 0; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .tabbed-box-tab-group { font-size: 0; margin: 0; padding: 0; float: left; list-style: none; height: 60px; width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; white-space: nowrap; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .tabbed-box-tab { margin: 0; cursor: pointer; height: 60px; display: inline-block; min-width: 19%; position: relative; background-color: #eee; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .tabbed-box-content-group { clear: both; float: left; width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .tabbed-box-content { padding: 40px 20px 40px 20px; display: none } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .scrollArrow { width: 25px; background-color: white; text-align: center; position: absolute; z-index: 3; top: 0; display: none cursor: pointer; height: 60px; line-height: 60px; font-weight: bold; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .scrollArrow.scrollArrow-left { left: 0; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .scrollArrow.scrollArrow-right { right: 0; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .tabbed-box.scrollable .tabbed-box-tab-group { border-bottom: none; overflow-x: hidden; overflow-y: hidden; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .tabbed-box.scrollable .tabbed-box-bar:hover .scrollArrow.active { display: block } @media only screen and (min-device-width: 414px) and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 3),only screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-min-device-pixel-ratio: 2),only screen and (min-device-width: 320px) and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 2),only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2),only screen and (max-width: 499px) { #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .tabbed-box-tab-group { overflow-x: scroll !important; } } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .standard .tabbed-box-tab-group { border-left: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .standard .tabbed-box-tab { border: 1px solid #CCCCCC; border-left: none; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .standard .tabbed-box-tab .paragraph { color: #A8ABAC; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .standard .tabbed-box-tab.active { border-bottom: 1px solid white; background-color: white; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .standard .tabbed-box-content-group { border: 1px solid #CCCCCC; border-top: none; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .standard.scrollable .tabbed-box-tab-group { border-right: 1px solid #CCCCCC; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .standard.scrollable .tabbed-box-tab-group .tabbed-box-tab:last-child { border-right: none; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .standard.scrollable .scrollArrow-left { border: 1px solid #CCCCCC; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .standard.scrollable .scrollArrow-right { border: 1px solid #CCCCCC; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .line .tabbed-box-tab-group { border: 1px solid #CCCCCC; border-bottom: none; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .line .tabbed-box-tab { border-bottom: 1px solid #CCCCCC; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .line .tabbed-box-tab .paragraph { color: #BDC2C2; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .line .tabbed-box-tab.active { border-bottom: 1px solid black; background-color: white; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .line .tabbed-box-content-group { border: 1px solid #CCCCCC; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .line.scrollable .tabbed-box-tab-group { height: 61px; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .line.scrollable .tabbed-box-content-group { border-top: none; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .line.scrollable .scrollArrow-left, #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .line.scrollable .scrollArrow-right { border: 1px solid #CCCCCC; border-bottom: none; border-top: none; height: 61px; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .simple .tabbed-box-tab { border-bottom: 1px solid #CCCCCC; height: 61px; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .simple .tabbed-box-tab .paragraph { color: #BDC2C2; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .simple .tabbed-box-tab.active { border-bottom: 1px solid black; background-color: white; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .simple .tabbed-box-content-group { border-top: 1px solid #CCCCCC; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .simple .tabbed-box-content { padding: 20px 0px 20px 0px; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .simple .scrollArrow-left { border-right: 1px solid #CCCCCC; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .simple .scrollArrow-right { border-left: 1px solid #CCCCCC; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .s3d-shadow { -webkit-box-shadow: #f5f5f5; -moz-box-shadow: #f5f5f5; box-shadow: #f5f5f5; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .s3d-content-shadow { -webkit-box-shadow: 0px 0px 30px 4px #f5f5f5; -moz-box-shadow: 0px 0px 30px 4px #f5f5f5; box-shadow: 0px 0px 30px 4px #f5f5f5; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .s3d .tabbed-box-tab .paragraph { color: #A8ABAC; background-color: #eee; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .s3d .tabbed-box-tab.active { border-bottom: 1px solid white; background-color: white; -webkit-box-shadow: 0px -10px 31px -4px #f5f5f5, -12px -4px 40px -16px #f5f5f5, 12px -4px 40px -16px #f5f5f5; -moz-box-shadow: 0px -10px 31px -4px #f5f5f5, -12px -4px 40px -16px #f5f5f5, 12px -4px 40px -16px #f5f5f5; box-shadow: 0px -10px 31px -4px #f5f5f5, -12px -4px 40px -16px #f5f5f5, 12px -4px 40px -16px #f5f5f5; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .s3d .tabbed-box-tab.active .paragraph { background-color: white; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .s3d .tabbed-box-content-group { -webkit-box-shadow: 0px 0px 30px 4px #f5f5f5; -moz-box-shadow: 0px 0px 30px 4px #f5f5f5; box-shadow: 0px 0px 30px 4px #f5f5f5; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .tabbed-box-tab .paragraph { padding: 0px; line-height: 60px !important; text-align: center !important; font-weight: bold; font-size: 16px !important; margin: 0 20px; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .tabbed-box-content .paragraph { padding: 0; line-height: 30px; } #element-debf0183-777d-40bc-92ce-00eacf2e26f9 .tabbed-box-tab:last-child .w-delete-outer { display: none position: relative; float: right; } Projektinformation Samarbeten, stöd & sponsorer < > Titel: Han Hette HaraldTyp: Spelfilm/LångfilmGenre: Thriller, KomediProduktionsår: 2012-2020Premiär: 2020Huvudskådespelare: Henrik Fagelberg, Rickard Arvidsson, Emelie Dahlskog, Seliman Rammo Manus: Martina JukasRegi: Martina Jukas​Regiassistent: Peter KarlssonProducent: Julian JukasExekutiv producent: Peter Karlsson​Produktionsansvarig: Julian Jukas ​A-Foto: Mikael BerglundB-Foto: Johan Cederholm​Klippning: Mikael Berglund, Johan CederholmLjud: Robert Wozniak, Joakim RosénOriginalmusik: K.L.K.IMDb: Gå till IMDb​ ​En produktion av Identic FilmsI samarbete med CinematikI samarbete med  Teatergruppen DramatörernaMed stöd från ​Leader Linné Småland & EU-fonden/JordbruksverketMed stöd från Filmregion Sydost ​Sponsring från CS & Co​Sponsring från Lyckans​​Sponsring från Palladium Växjö function setupElement163525297198742069() { var requireFunc = window.platformElementRequire || window.require; // Relies on a global require, specific to platform elements requireFunc([ ’w-global’, ’underscore’, ’jquery’, ’backbone’, ’util/platform/elements/PlatformElement’, ’util/platform/elements/PlatformElementSettings’ ], function( _W, _, $, Backbone, PlatformElement, PlatformElementSettings ) { var dependencies = null || []; var platform_element_id = ”135397292802228534-1.3.6”; if (typeof _W.loadedPlatformDependencies === ’undefined’) { _W.loadedPlatformDependencies = []; } if (typeof _W.platformElements === ’undefined’) { _W.platformElements = []; } if (typeof _W.platformElements[platform_element_id] === ’undefined’) { _W.platformElements[platform_element_id] = {}; _W.platformElements[platform_element_id].deferredObject = new $.Deferred(); _W.platformElements[platform_element_id].deferredPromise = _W.platformElements[platform_element_id].deferredObject.promise(); } if(_.intersection(_W.loadedPlatformDependencies, dependencies).length !== dependencies.length){ _.reduce(dependencies, function(promise, nextScript){ _W.loadedPlatformDependencies.push(nextScript); return promise.then(function(){ return $.getScript(nextScript); }); }, $().promise()).then(function(){ _W.platformElements[platform_element_id].deferredObject.resolve(); }); } if (dependencies.length === 0){ _W.platformElements[platform_element_id].deferredObject.resolve(); } _W.platformElements[platform_element_id].deferredPromise.done(function(){ var _ElementDefinition = /** * This is required for element rendering to be possible * @type {PlatformElement} */ (function() { var TabbedBox = PlatformElement.extend({ events: { ’click .tabbed-box-tab’: ’clickTab’, // in case they type and that causes an overflow, we should determine scrollability here ’keyup .tabbed-box-tab .paragraph’: ’determineScrollability’, ’mousedown .scrollArrow-left’: ’scrollLeft’, ’mousedown .scrollArrow-right’: ’scrollRight’, ’touchstart .scrollArrow-left’: ’scrollLeft’, ’touchstart .scrollArrow-right’: ’scrollRight’ }, initialize: function() { var view = this; // optimization this.scrollArrowLeft = this.$(’> .tabbed-box > .tabbed-box-bar > .scrollArrow-left’); this.scrollArrowRight = this.$(’> .tabbed-box > .tabbed-box-bar > .scrollArrow-right’); this.scrollTabsBar = this.$(’> .tabbed-box > .tabbed-box-bar > .tabbed-box-tab-group’); // resize handler and mouseup handler // since we want to be able to handle mouseup wherever the user releases (not just over the element) // we set it here as a property of the window. $(window).resize(function() { this.determineScrollability(); }.bind(this)).on(’mouseup touchend’, function() { this.stopScrolling(); }.bind(this)); // since scroll events don’t propagate up, we have to bind it here as opposed to in the events object this.scrollTabsBar.scroll(function() { this.determineHandlers(); }.bind(this)); // determine whether or not we should show the scroll handlers this.determineScrollability(); // load the first tab. $(document).ready(function() { this.scrollTabsBar.children().first().click(); }.bind(this)); }, /* Handle click event on a tab. Uses ’rel’ attribute of each tab as an index to access the class of the corresponding content area. */ clickTab: function(e) { var active = $(e.currentTarget); // Clicked tab var content_wrapper = this.$(’> .tabbed-box > .tabbed-box-content-group’); // wrapper for all content divs this.stopScrolling(); this.determineClickScroll(active); // Set new active tab active.siblings().removeClass(’active’); active.addClass(’active’); // mark the new active tab this.settings.set(’activeTabIndexInternal’, this.scrollTabsBar.children().index(active)); this.settings.save(); // trigger children first content_wrapper.find(’.tabbed-box-tab.active’).click(); // Set new active content content_wrapper.children().hide(); content_wrapper.find(’> .’ + active.attr(’rel’)).fadeIn(); this.determineHandlers(); // fire resize event to handle any deterministic elements now appearing $(window).resize(); // Stop propagation in case this is a nested tab app e.stopPropagation(); }, // determines whether or not the two arrows (left and right scroll handlers) should be visible or not. determineScrollability: function() { var group = this.scrollTabsBar[0]; if (group.scrollWidth > group.clientWidth) { this.$el.children().addClass(’scrollable’); this.determineHandlers(); } else { this.$el.children().removeClass(’scrollable’); } }, // determines whether or not the two arrows (left and right scroll handlers) should be active or not. determineHandlers: function() { var target = this.scrollTabsBar[0]; // left handler if (target.scrollLeft !== 0) { this.scrollArrowLeft.addClass(’active’); } else { this.scrollArrowLeft.removeClass(’active’); } // right handler if (target.scrollLeft + target.clientWidth < target.scrollWidth - 1) { this.scrollArrowRight.addClass('active'); } else { this.scrollArrowRight.removeClass('active'); } }, // scrolls the tabs bar to the left. scrollLeft: function(e) { e.stopPropagation(); this.stopScrolling(); var scrollEl = this.scrollTabsBar[0]; var view = this; var factor = 2; this.scrollArrowRight.addClass('active'); this.scrollInterval = setInterval(function() { scrollEl.scrollLeft -= Math.floor(factor); factor *= 1.05; if (scrollEl.scrollLeft === 0) { view.stopScrolling(); } }, 10); }, // scrolls the tabs bar to the right. scrollRight: function(e) { e.stopPropagation(); this.stopScrolling(); var scrollEl = this.scrollTabsBar[0]; var view = this; var factor = 2; this.scrollArrowLeft.addClass('active'); this.scrollInterval = setInterval(function() { scrollEl.scrollLeft += Math.floor(factor); factor *= 1.05; // forcefully stop the interval if it's not doing anything anymore if (scrollEl.scrollLeft + scrollEl.clientWidth == scrollEl.scrollWidth) { view.stopScrolling(); } }, 10); }, stopScrolling: function() { clearInterval(this.scrollInterval); this.determineHandlers(); }, determineClickScroll: function(active) { // figure out where the element is, and if we need to change our view to show it var scroll; // determine where the element we're going to is in respect to the tabs bar // 25px is the size of the scroll arrows var leftSidePosition = active.position().left - 50; var rightSidePosition = active.position().left + active.width() + 50; // the gap is how much space we want there to be between the selected element // when it's out of view, and we go to it. var gap = 25; if (this.scrollTabsBar.children().index(active) === 0) { // this the first element, so define the scroll to be 0. scroll = 0; } else if (this.scrollTabsBar.children().index(active) == this.scrollTabsBar.children().length - 1) { // this the last element, so define the scroll to be all the way to the right. scroll = this.scrollTabsBar[0].scrollWidth - this.scrollTabsBar[0].clientWidth; } else if (leftSidePosition < 0) { // the left corner is out of view, which means it's beyond the left. scroll = this.scrollTabsBar[0].scrollLeft + leftSidePosition - gap; } else if (rightSidePosition > this.scrollTabsBar.width()) { // the right corner is out of view. scroll = this.scrollTabsBar[0].scrollLeft + (rightSidePosition – this.scrollTabsBar.width()) + gap; } else { scroll = this.scrollTabsBar[0].scrollLeft; } // start scrolling scroll = Math.floor(scroll); var delta = scroll – this.scrollTabsBar[0].scrollLeft; var startedDown = false; if (delta !== 0) { clearInterval(this.scrollInterval); var distance = 0; var direction = (delta > 0 ? 1 : -1); var speed = 1; var factor = 1.25; // for parabolic acceleration this.scrollInterval = setInterval(function() { if (distance >= Math.abs(delta)) { this.stopScrolling(); } this.scrollTabsBar[0].scrollLeft += (Math.max(1, Math.floor(speed)) * direction); distance += Math.max(1, Math.floor(speed)); if (distance * 2 >= Math.abs(delta)) { // if we’ve traversed more than half if (factor == 1.25) { // 5/4 factor = 1; // 4/4 } else { factor = 0.8; // 4/5 } } speed *= factor; }.bind(this), 20); } } }); return TabbedBox; })(); if (typeof _ElementDefinition == ’undefined’ || typeof _ElementDefinition == ’null’) { var _ElementDefinition = PlatformElement.extend({}); } var _Element = _ElementDefinition.extend({ initialize: function() { // we still want to call the initialize function defined by the developer // however, we don’t want to call it until placeholders have been replaced this.placeholderInterval = setInterval(function() { // so use setInterval to check for placeholders. if (this.$(’.platform-element-child-placeholder’).length == 0) { clearInterval(this.placeholderInterval); this.constructor.__super__.initialize.apply(this); } }.bind(this), 100); } }); _Element.prototype.settings = new PlatformElementSettings({”tabs_each”:[{”tabs_index”:0},{”tabs_index”:1}],”theme”:”simple”,”tabs”:2,”active_tab”:”white”,”inactive_tab”:”#eee”,”border_color”:”#CCCCCC”,”activeTabIndexInternal”:0}); _Element.prototype.settings.page_element_id = ”163525297198742069”; _Element.prototype.element_id = ”debf0183-777d-40bc-92ce-00eacf2e26f9”; _Element.prototype.user_id = ”8562925”; _Element.prototype.site_id = ”238592367274609151”; _Element.prototype.assets_path = ”//marketplace.editmysite.com/uploads/b/marketplace-elements-135397292802228534-1.3.6/assets/”; new _Element({ el: ’#element-debf0183-777d-40bc-92ce-00eacf2e26f9’ }); }); }); } if (typeof document.documentElement.appReady == ’undefined’) { document.documentElement.appReady = 0; } if (document.documentElement.appReady || (window.inEditor && window.inEditor())) { setupElement163525297198742069(); } else if (document.createEvent && document.addEventListener) { document.addEventListener(’appReady’, setupElement163525297198742069, false); } else { document.documentElement.attachEvent(’onpropertychange’, function(event){ if (event.propertyName == ’appReady’) { setupElement163525297198742069(); } }); }
Bakom kulisserna
Skådespelare #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .border-box { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .tabbed-box { position: relative; margin: 20px 0; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .tabbed-box-tab-group { font-size: 0; margin: 0; padding: 0; float: left; list-style: none; height: 60px; width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; white-space: nowrap; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .tabbed-box-tab { margin: 0; cursor: pointer; height: 60px; display: inline-block; min-width: 19%; position: relative; background-color: #FFFFFF; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .tabbed-box-content-group { clear: both; float: left; width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .tabbed-box-content { padding: 40px 20px 40px 20px; display: none } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .scrollArrow { width: 25px; background-color: #FFFFFF; text-align: center; position: absolute; z-index: 3; top: 0; display: none cursor: pointer; height: 60px; line-height: 60px; font-weight: bold; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .scrollArrow.scrollArrow-left { left: 0; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .scrollArrow.scrollArrow-right { right: 0; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .tabbed-box.scrollable .tabbed-box-tab-group { border-bottom: none; overflow-x: hidden; overflow-y: hidden; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .tabbed-box.scrollable .tabbed-box-bar:hover .scrollArrow.active { display: block } @media only screen and (min-device-width: 414px) and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 3),only screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-min-device-pixel-ratio: 2),only screen and (min-device-width: 320px) and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 2),only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2),only screen and (max-width: 499px) { #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .tabbed-box-tab-group { overflow-x: scroll !important; } } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .standard .tabbed-box-tab-group { border-left: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .standard .tabbed-box-tab { border: 1px solid #CCCCCC; border-left: none; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .standard .tabbed-box-tab .paragraph { color: #A8ABAC; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .standard .tabbed-box-tab.active { border-bottom: 1px solid #FFFFFF; background-color: #FFFFFF; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .standard .tabbed-box-content-group { border: 1px solid #CCCCCC; border-top: none; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .standard.scrollable .tabbed-box-tab-group { border-right: 1px solid #CCCCCC; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .standard.scrollable .tabbed-box-tab-group .tabbed-box-tab:last-child { border-right: none; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .standard.scrollable .scrollArrow-left { border: 1px solid #CCCCCC; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .standard.scrollable .scrollArrow-right { border: 1px solid #CCCCCC; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .line .tabbed-box-tab-group { border: 1px solid #CCCCCC; border-bottom: none; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .line .tabbed-box-tab { border-bottom: 1px solid #CCCCCC; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .line .tabbed-box-tab .paragraph { color: #BDC2C2; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .line .tabbed-box-tab.active { border-bottom: 1px solid black; background-color: #FFFFFF; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .line .tabbed-box-content-group { border: 1px solid #CCCCCC; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .line.scrollable .tabbed-box-tab-group { height: 61px; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .line.scrollable .tabbed-box-content-group { border-top: none; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .line.scrollable .scrollArrow-left, #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .line.scrollable .scrollArrow-right { border: 1px solid #CCCCCC; border-bottom: none; border-top: none; height: 61px; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .simple .tabbed-box-tab { border-bottom: 1px solid #CCCCCC; height: 61px; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .simple .tabbed-box-tab .paragraph { color: #BDC2C2; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .simple .tabbed-box-tab.active { border-bottom: 1px solid black; background-color: #FFFFFF; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .simple .tabbed-box-content-group { border-top: 1px solid #CCCCCC; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .simple .tabbed-box-content { padding: 20px 0px 20px 0px; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .simple .scrollArrow-left { border-right: 1px solid #CCCCCC; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .simple .scrollArrow-right { border-left: 1px solid #CCCCCC; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .s3d-shadow { -webkit-box-shadow: #f5f5f5; -moz-box-shadow: #f5f5f5; box-shadow: #f5f5f5; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .s3d-content-shadow { -webkit-box-shadow: 0px 0px 30px 4px #f5f5f5; -moz-box-shadow: 0px 0px 30px 4px #f5f5f5; box-shadow: 0px 0px 30px 4px #f5f5f5; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .s3d .tabbed-box-tab .paragraph { color: #A8ABAC; background-color: #FFFFFF; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .s3d .tabbed-box-tab.active { border-bottom: 1px solid #FFFFFF; background-color: #FFFFFF; -webkit-box-shadow: 0px -10px 31px -4px #f5f5f5, -12px -4px 40px -16px #f5f5f5, 12px -4px 40px -16px #f5f5f5; -moz-box-shadow: 0px -10px 31px -4px #f5f5f5, -12px -4px 40px -16px #f5f5f5, 12px -4px 40px -16px #f5f5f5; box-shadow: 0px -10px 31px -4px #f5f5f5, -12px -4px 40px -16px #f5f5f5, 12px -4px 40px -16px #f5f5f5; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .s3d .tabbed-box-tab.active .paragraph { background-color: #FFFFFF; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .s3d .tabbed-box-content-group { -webkit-box-shadow: 0px 0px 30px 4px #f5f5f5; -moz-box-shadow: 0px 0px 30px 4px #f5f5f5; box-shadow: 0px 0px 30px 4px #f5f5f5; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .tabbed-box-tab .paragraph { padding: 0px; line-height: 60px !important; text-align: center !important; font-weight: bold; font-size: 16px !important; margin: 0 20px; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .tabbed-box-content .paragraph { padding: 0; line-height: 30px; } #element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e .tabbed-box-tab:last-child .w-delete-outer { display: none position: relative; float: right; } Henrik Fagelberg Rickard Arvidsson Emelie Dahlskog Seliman Rammo < > I rollen som Harald Henrik Fagelberg, 39 år, jag föddes i Täby men flyttade vid en tidig ålder utomlands. Vid returen till Sverige hamnade jag på Katedralskolans Estetiska program i Växjö och har sedan dess varit aktiv inom Växjös kulturliv genom teater, fotografering, film och musik. Nu tar jag mig an min första långfilm som den rullstolsburne Harald i ”Han Hette Harald”. I rollen som Staffan Det här projektet är en dröm som gått i uppfyllelse!Jag är uppvuxen i enkla förhållanden i en liten by som heter Arbrå på 3000 pers. Jag har alltid varit skolans clown… Jag brinner för att få människor att skratta, gråta och t.o.m att förakta mig, kan jag beröra folks känslor så mår jag bra i själen.”Han Hette Harald” är startskottet för min och alla andra i produktionens karriär! Jag ser fram emot att ta Sverige med storm. I rollen som Selma För mig handlar skådespeleri om den kreativa skapande processen i mötet med min rollkaraktär, fysiskt, intuitivt, intellektuellt och emotionellt.Jag jobbar inom Chubbucktekniken sen 4 år tillbaka och min dröm, mitt liv och min passion är skådespeleriet och det är det jag arbetar för.När jag fick manus för rollen Selma i ”Han Hette Harald”, så kände jag direkt ett otroligt starkt driv och kärlek till både karaktären och hela berättelsen. Hur långt vi människor går för att kämpa för dem vi älskar. Jag är otroligt glad och tacksam att få jobba med ett fantastiskt team av eldsjälar. Jag tror stort på ”Han Hette Harald” och jag ser fram emot att jobba vidare med Selma och resan. I rollen som Fahid Förutom att ge tittarna en rejäl underhållning så hoppas jag att filmen ska öka chansen för oupptäckta talanger att ta sig in i filmvärlden, bidra med ny skådespelarkraft och att kunna få visa upp sina färdigheter inom film och TV.​Sverige behöver se nya skådespelare i filmrutan och för min del hoppas jag att denna film ska öppna nya dörrar för mig. function setupElement501236713951163504() { var requireFunc = window.platformElementRequire || window.require; // Relies on a global require, specific to platform elements requireFunc([ ’w-global’, ’underscore’, ’jquery’, ’backbone’, ’util/platform/elements/PlatformElement’, ’util/platform/elements/PlatformElementSettings’ ], function( _W, _, $, Backbone, PlatformElement, PlatformElementSettings ) { var dependencies = null || []; var platform_element_id = ”135397292802228534-1.3.6”; if (typeof _W.loadedPlatformDependencies === ’undefined’) { _W.loadedPlatformDependencies = []; } if (typeof _W.platformElements === ’undefined’) { _W.platformElements = []; } if (typeof _W.platformElements[platform_element_id] === ’undefined’) { _W.platformElements[platform_element_id] = {}; _W.platformElements[platform_element_id].deferredObject = new $.Deferred(); _W.platformElements[platform_element_id].deferredPromise = _W.platformElements[platform_element_id].deferredObject.promise(); } if(_.intersection(_W.loadedPlatformDependencies, dependencies).length !== dependencies.length){ _.reduce(dependencies, function(promise, nextScript){ _W.loadedPlatformDependencies.push(nextScript); return promise.then(function(){ return $.getScript(nextScript); }); }, $().promise()).then(function(){ _W.platformElements[platform_element_id].deferredObject.resolve(); }); } if (dependencies.length === 0){ _W.platformElements[platform_element_id].deferredObject.resolve(); } _W.platformElements[platform_element_id].deferredPromise.done(function(){ var _ElementDefinition = /** * This is required for element rendering to be possible * @type {PlatformElement} */ (function() { var TabbedBox = PlatformElement.extend({ events: { ’click .tabbed-box-tab’: ’clickTab’, // in case they type and that causes an overflow, we should determine scrollability here ’keyup .tabbed-box-tab .paragraph’: ’determineScrollability’, ’mousedown .scrollArrow-left’: ’scrollLeft’, ’mousedown .scrollArrow-right’: ’scrollRight’, ’touchstart .scrollArrow-left’: ’scrollLeft’, ’touchstart .scrollArrow-right’: ’scrollRight’ }, initialize: function() { var view = this; // optimization this.scrollArrowLeft = this.$(’> .tabbed-box > .tabbed-box-bar > .scrollArrow-left’); this.scrollArrowRight = this.$(’> .tabbed-box > .tabbed-box-bar > .scrollArrow-right’); this.scrollTabsBar = this.$(’> .tabbed-box > .tabbed-box-bar > .tabbed-box-tab-group’); // resize handler and mouseup handler // since we want to be able to handle mouseup wherever the user releases (not just over the element) // we set it here as a property of the window. $(window).resize(function() { this.determineScrollability(); }.bind(this)).on(’mouseup touchend’, function() { this.stopScrolling(); }.bind(this)); // since scroll events don’t propagate up, we have to bind it here as opposed to in the events object this.scrollTabsBar.scroll(function() { this.determineHandlers(); }.bind(this)); // determine whether or not we should show the scroll handlers this.determineScrollability(); // load the first tab. $(document).ready(function() { this.scrollTabsBar.children().first().click(); }.bind(this)); }, /* Handle click event on a tab. Uses ’rel’ attribute of each tab as an index to access the class of the corresponding content area. */ clickTab: function(e) { var active = $(e.currentTarget); // Clicked tab var content_wrapper = this.$(’> .tabbed-box > .tabbed-box-content-group’); // wrapper for all content divs this.stopScrolling(); this.determineClickScroll(active); // Set new active tab active.siblings().removeClass(’active’); active.addClass(’active’); // mark the new active tab this.settings.set(’activeTabIndexInternal’, this.scrollTabsBar.children().index(active)); this.settings.save(); // trigger children first content_wrapper.find(’.tabbed-box-tab.active’).click(); // Set new active content content_wrapper.children().hide(); content_wrapper.find(’> .’ + active.attr(’rel’)).fadeIn(); this.determineHandlers(); // fire resize event to handle any deterministic elements now appearing $(window).resize(); // Stop propagation in case this is a nested tab app e.stopPropagation(); }, // determines whether or not the two arrows (left and right scroll handlers) should be visible or not. determineScrollability: function() { var group = this.scrollTabsBar[0]; if (group.scrollWidth > group.clientWidth) { this.$el.children().addClass(’scrollable’); this.determineHandlers(); } else { this.$el.children().removeClass(’scrollable’); } }, // determines whether or not the two arrows (left and right scroll handlers) should be active or not. determineHandlers: function() { var target = this.scrollTabsBar[0]; // left handler if (target.scrollLeft !== 0) { this.scrollArrowLeft.addClass(’active’); } else { this.scrollArrowLeft.removeClass(’active’); } // right handler if (target.scrollLeft + target.clientWidth < target.scrollWidth - 1) { this.scrollArrowRight.addClass('active'); } else { this.scrollArrowRight.removeClass('active'); } }, // scrolls the tabs bar to the left. scrollLeft: function(e) { e.stopPropagation(); this.stopScrolling(); var scrollEl = this.scrollTabsBar[0]; var view = this; var factor = 2; this.scrollArrowRight.addClass('active'); this.scrollInterval = setInterval(function() { scrollEl.scrollLeft -= Math.floor(factor); factor *= 1.05; if (scrollEl.scrollLeft === 0) { view.stopScrolling(); } }, 10); }, // scrolls the tabs bar to the right. scrollRight: function(e) { e.stopPropagation(); this.stopScrolling(); var scrollEl = this.scrollTabsBar[0]; var view = this; var factor = 2; this.scrollArrowLeft.addClass('active'); this.scrollInterval = setInterval(function() { scrollEl.scrollLeft += Math.floor(factor); factor *= 1.05; // forcefully stop the interval if it's not doing anything anymore if (scrollEl.scrollLeft + scrollEl.clientWidth == scrollEl.scrollWidth) { view.stopScrolling(); } }, 10); }, stopScrolling: function() { clearInterval(this.scrollInterval); this.determineHandlers(); }, determineClickScroll: function(active) { // figure out where the element is, and if we need to change our view to show it var scroll; // determine where the element we're going to is in respect to the tabs bar // 25px is the size of the scroll arrows var leftSidePosition = active.position().left - 50; var rightSidePosition = active.position().left + active.width() + 50; // the gap is how much space we want there to be between the selected element // when it's out of view, and we go to it. var gap = 25; if (this.scrollTabsBar.children().index(active) === 0) { // this the first element, so define the scroll to be 0. scroll = 0; } else if (this.scrollTabsBar.children().index(active) == this.scrollTabsBar.children().length - 1) { // this the last element, so define the scroll to be all the way to the right. scroll = this.scrollTabsBar[0].scrollWidth - this.scrollTabsBar[0].clientWidth; } else if (leftSidePosition < 0) { // the left corner is out of view, which means it's beyond the left. scroll = this.scrollTabsBar[0].scrollLeft + leftSidePosition - gap; } else if (rightSidePosition > this.scrollTabsBar.width()) { // the right corner is out of view. scroll = this.scrollTabsBar[0].scrollLeft + (rightSidePosition – this.scrollTabsBar.width()) + gap; } else { scroll = this.scrollTabsBar[0].scrollLeft; } // start scrolling scroll = Math.floor(scroll); var delta = scroll – this.scrollTabsBar[0].scrollLeft; var startedDown = false; if (delta !== 0) { clearInterval(this.scrollInterval); var distance = 0; var direction = (delta > 0 ? 1 : -1); var speed = 1; var factor = 1.25; // for parabolic acceleration this.scrollInterval = setInterval(function() { if (distance >= Math.abs(delta)) { this.stopScrolling(); } this.scrollTabsBar[0].scrollLeft += (Math.max(1, Math.floor(speed)) * direction); distance += Math.max(1, Math.floor(speed)); if (distance * 2 >= Math.abs(delta)) { // if we’ve traversed more than half if (factor == 1.25) { // 5/4 factor = 1; // 4/4 } else { factor = 0.8; // 4/5 } } speed *= factor; }.bind(this), 20); } } }); return TabbedBox; })(); if (typeof _ElementDefinition == ’undefined’ || typeof _ElementDefinition == ’null’) { var _ElementDefinition = PlatformElement.extend({}); } var _Element = _ElementDefinition.extend({ initialize: function() { // we still want to call the initialize function defined by the developer // however, we don’t want to call it until placeholders have been replaced this.placeholderInterval = setInterval(function() { // so use setInterval to check for placeholders. if (this.$(’.platform-element-child-placeholder’).length == 0) { clearInterval(this.placeholderInterval); this.constructor.__super__.initialize.apply(this); } }.bind(this), 100); } }); _Element.prototype.settings = new PlatformElementSettings({”tabs_each”:[{”tabs_index”:0},{”tabs_index”:1},{”tabs_index”:2},{”tabs_index”:3}],”theme”:”simple”,”tabs”:4,”active_tab”:”#FFFFFF”,”inactive_tab”:”#FFFFFF”,”border_color”:”#CCCCCC”,”activeTabIndexInternal”:0}); _Element.prototype.settings.page_element_id = ”501236713951163504”; _Element.prototype.element_id = ”9b2845a1-5c8b-4a94-a8da-0220e418aa3e”; _Element.prototype.user_id = ”8562925”; _Element.prototype.site_id = ”238592367274609151”; _Element.prototype.assets_path = ”//marketplace.editmysite.com/uploads/b/marketplace-elements-135397292802228534-1.3.6/assets/”; new _Element({ el: ’#element-9b2845a1-5c8b-4a94-a8da-0220e418aa3e’ }); }); }); } if (typeof document.documentElement.appReady == ’undefined’) { document.documentElement.appReady = 0; } if (document.documentElement.appReady || (window.inEditor && window.inEditor())) { setupElement501236713951163504(); } else if (document.createEvent && document.addEventListener) { document.addEventListener(’appReady’, setupElement501236713951163504, false); } else { document.documentElement.attachEvent(’onpropertychange’, function(event){ if (event.propertyName == ’appReady’) { setupElement501236713951163504(); } }); }
Bildgalleri – Inspelningen #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .border-box { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .tabbed-box { position: relative; margin: 20px 0; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .tabbed-box-tab-group { font-size: 0; margin: 0; padding: 0; float: left; list-style: none; height: 60px; width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; white-space: nowrap; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .tabbed-box-tab { margin: 0; cursor: pointer; height: 60px; display: inline-block; min-width: 19%; position: relative; background-color: #2b2b2b; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .tabbed-box-content-group { clear: both; float: left; width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .tabbed-box-content { padding: 40px 20px 40px 20px; display: none } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .scrollArrow { width: 25px; background-color: #d5d5d5; text-align: center; position: absolute; z-index: 3; top: 0; display: none cursor: pointer; height: 60px; line-height: 60px; font-weight: bold; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .scrollArrow.scrollArrow-left { left: 0; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .scrollArrow.scrollArrow-right { right: 0; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .tabbed-box.scrollable .tabbed-box-tab-group { border-bottom: none; overflow-x: hidden; overflow-y: hidden; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .tabbed-box.scrollable .tabbed-box-bar:hover .scrollArrow.active { display: block } @media only screen and (min-device-width: 414px) and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 3),only screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-min-device-pixel-ratio: 2),only screen and (min-device-width: 320px) and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 2),only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2),only screen and (max-width: 499px) { #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .tabbed-box-tab-group { overflow-x: scroll !important; } } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .standard .tabbed-box-tab-group { border-left: 1px solid #FFFFFF; border-bottom: 1px solid #FFFFFF; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .standard .tabbed-box-tab { border: 1px solid #FFFFFF; border-left: none; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .standard .tabbed-box-tab .paragraph { color: #A8ABAC; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .standard .tabbed-box-tab.active { border-bottom: 1px solid #d5d5d5; background-color: #d5d5d5; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .standard .tabbed-box-content-group { border: 1px solid #FFFFFF; border-top: none; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .standard.scrollable .tabbed-box-tab-group { border-right: 1px solid #FFFFFF; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .standard.scrollable .tabbed-box-tab-group .tabbed-box-tab:last-child { border-right: none; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .standard.scrollable .scrollArrow-left { border: 1px solid #FFFFFF; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .standard.scrollable .scrollArrow-right { border: 1px solid #FFFFFF; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .line .tabbed-box-tab-group { border: 1px solid #FFFFFF; border-bottom: none; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .line .tabbed-box-tab { border-bottom: 1px solid #FFFFFF; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .line .tabbed-box-tab .paragraph { color: #BDC2C2; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .line .tabbed-box-tab.active { border-bottom: 1px solid black; background-color: #d5d5d5; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .line .tabbed-box-content-group { border: 1px solid #FFFFFF; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .line.scrollable .tabbed-box-tab-group { height: 61px; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .line.scrollable .tabbed-box-content-group { border-top: none; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .line.scrollable .scrollArrow-left, #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .line.scrollable .scrollArrow-right { border: 1px solid #FFFFFF; border-bottom: none; border-top: none; height: 61px; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .simple .tabbed-box-tab { border-bottom: 1px solid #FFFFFF; height: 61px; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .simple .tabbed-box-tab .paragraph { color: #BDC2C2; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .simple .tabbed-box-tab.active { border-bottom: 1px solid black; background-color: #d5d5d5; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .simple .tabbed-box-content-group { border-top: 1px solid #FFFFFF; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .simple .tabbed-box-content { padding: 20px 0px 20px 0px; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .simple .scrollArrow-left { border-right: 1px solid #FFFFFF; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .simple .scrollArrow-right { border-left: 1px solid #FFFFFF; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .s3d-shadow { -webkit-box-shadow: #f5f5f5; -moz-box-shadow: #f5f5f5; box-shadow: #f5f5f5; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .s3d-content-shadow { -webkit-box-shadow: 0px 0px 30px 4px #f5f5f5; -moz-box-shadow: 0px 0px 30px 4px #f5f5f5; box-shadow: 0px 0px 30px 4px #f5f5f5; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .s3d .tabbed-box-tab .paragraph { color: #A8ABAC; background-color: #2b2b2b; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .s3d .tabbed-box-tab.active { border-bottom: 1px solid #d5d5d5; background-color: #d5d5d5; -webkit-box-shadow: 0px -10px 31px -4px #f5f5f5, -12px -4px 40px -16px #f5f5f5, 12px -4px 40px -16px #f5f5f5; -moz-box-shadow: 0px -10px 31px -4px #f5f5f5, -12px -4px 40px -16px #f5f5f5, 12px -4px 40px -16px #f5f5f5; box-shadow: 0px -10px 31px -4px #f5f5f5, -12px -4px 40px -16px #f5f5f5, 12px -4px 40px -16px #f5f5f5; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .s3d .tabbed-box-tab.active .paragraph { background-color: #d5d5d5; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .s3d .tabbed-box-content-group { -webkit-box-shadow: 0px 0px 30px 4px #f5f5f5; -moz-box-shadow: 0px 0px 30px 4px #f5f5f5; box-shadow: 0px 0px 30px 4px #f5f5f5; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .tabbed-box-tab .paragraph { padding: 0px; line-height: 60px !important; text-align: center !important; font-weight: bold; font-size: 16px !important; margin: 0 20px; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .tabbed-box-content .paragraph { padding: 0; line-height: 30px; } #element-4ebc4074-15aa-480a-af6f-3f31f83c3890 .tabbed-box-tab:last-child .w-delete-outer { display: none position: relative; float: right; } Utvalda bilder Alla bilder < > Foton av Johan Cerderholm/Cinematik function setupElement272709851103237404() { var requireFunc = window.platformElementRequire || window.require; // Relies on a global require, specific to platform elements requireFunc([ ’w-global’, ’underscore’, ’jquery’, ’backbone’, ’util/platform/elements/PlatformElement’, ’util/platform/elements/PlatformElementSettings’ ], function( _W, _, $, Backbone, PlatformElement, PlatformElementSettings ) { var dependencies = null || []; var platform_element_id = ”135397292802228534-1.3.6”; if (typeof _W.loadedPlatformDependencies === ’undefined’) { _W.loadedPlatformDependencies = []; } if (typeof _W.platformElements === ’undefined’) { _W.platformElements = []; } if (typeof _W.platformElements[platform_element_id] === ’undefined’) { _W.platformElements[platform_element_id] = {}; _W.platformElements[platform_element_id].deferredObject = new $.Deferred(); _W.platformElements[platform_element_id].deferredPromise = _W.platformElements[platform_element_id].deferredObject.promise(); } if(_.intersection(_W.loadedPlatformDependencies, dependencies).length !== dependencies.length){ _.reduce(dependencies, function(promise, nextScript){ _W.loadedPlatformDependencies.push(nextScript); return promise.then(function(){ return $.getScript(nextScript); }); }, $().promise()).then(function(){ _W.platformElements[platform_element_id].deferredObject.resolve(); }); } if (dependencies.length === 0){ _W.platformElements[platform_element_id].deferredObject.resolve(); } _W.platformElements[platform_element_id].deferredPromise.done(function(){ var _ElementDefinition = /** * This is required for element rendering to be possible * @type {PlatformElement} */ (function() { var TabbedBox = PlatformElement.extend({ events: { ’click .tabbed-box-tab’: ’clickTab’, // in case they type and that causes an overflow, we should determine scrollability here ’keyup .tabbed-box-tab .paragraph’: ’determineScrollability’, ’mousedown .scrollArrow-left’: ’scrollLeft’, ’mousedown .scrollArrow-right’: ’scrollRight’, ’touchstart .scrollArrow-left’: ’scrollLeft’, ’touchstart .scrollArrow-right’: ’scrollRight’ }, initialize: function() { var view = this; // optimization this.scrollArrowLeft = this.$(’> .tabbed-box > .tabbed-box-bar > .scrollArrow-left’); this.scrollArrowRight = this.$(’> .tabbed-box > .tabbed-box-bar > .scrollArrow-right’); this.scrollTabsBar = this.$(’> .tabbed-box > .tabbed-box-bar > .tabbed-box-tab-group’); // resize handler and mouseup handler // since we want to be able to handle mouseup wherever the user releases (not just over the element) // we set it here as a property of the window. $(window).resize(function() { this.determineScrollability(); }.bind(this)).on(’mouseup touchend’, function() { this.stopScrolling(); }.bind(this)); // since scroll events don’t propagate up, we have to bind it here as opposed to in the events object this.scrollTabsBar.scroll(function() { this.determineHandlers(); }.bind(this)); // determine whether or not we should show the scroll handlers this.determineScrollability(); // load the first tab. $(document).ready(function() { this.scrollTabsBar.children().first().click(); }.bind(this)); }, /* Handle click event on a tab. Uses ’rel’ attribute of each tab as an index to access the class of the corresponding content area. */ clickTab: function(e) { var active = $(e.currentTarget); // Clicked tab var content_wrapper = this.$(’> .tabbed-box > .tabbed-box-content-group’); // wrapper for all content divs this.stopScrolling(); this.determineClickScroll(active); // Set new active tab active.siblings().removeClass(’active’); active.addClass(’active’); // mark the new active tab this.settings.set(’activeTabIndexInternal’, this.scrollTabsBar.children().index(active)); this.settings.save(); // trigger children first content_wrapper.find(’.tabbed-box-tab.active’).click(); // Set new active content content_wrapper.children().hide(); content_wrapper.find(’> .’ + active.attr(’rel’)).fadeIn(); this.determineHandlers(); // fire resize event to handle any deterministic elements now appearing $(window).resize(); // Stop propagation in case this is a nested tab app e.stopPropagation(); }, // determines whether or not the two arrows (left and right scroll handlers) should be visible or not. determineScrollability: function() { var group = this.scrollTabsBar[0]; if (group.scrollWidth > group.clientWidth) { this.$el.children().addClass(’scrollable’); this.determineHandlers(); } else { this.$el.children().removeClass(’scrollable’); } }, // determines whether or not the two arrows (left and right scroll handlers) should be active or not. determineHandlers: function() { var target = this.scrollTabsBar[0]; // left handler if (target.scrollLeft !== 0) { this.scrollArrowLeft.addClass(’active’); } else { this.scrollArrowLeft.removeClass(’active’); } // right handler if (target.scrollLeft + target.clientWidth < target.scrollWidth - 1) { this.scrollArrowRight.addClass('active'); } else { this.scrollArrowRight.removeClass('active'); } }, // scrolls the tabs bar to the left. scrollLeft: function(e) { e.stopPropagation(); this.stopScrolling(); var scrollEl = this.scrollTabsBar[0]; var view = this; var factor = 2; this.scrollArrowRight.addClass('active'); this.scrollInterval = setInterval(function() { scrollEl.scrollLeft -= Math.floor(factor); factor *= 1.05; if (scrollEl.scrollLeft === 0) { view.stopScrolling(); } }, 10); }, // scrolls the tabs bar to the right. scrollRight: function(e) { e.stopPropagation(); this.stopScrolling(); var scrollEl = this.scrollTabsBar[0]; var view = this; var factor = 2; this.scrollArrowLeft.addClass('active'); this.scrollInterval = setInterval(function() { scrollEl.scrollLeft += Math.floor(factor); factor *= 1.05; // forcefully stop the interval if it's not doing anything anymore if (scrollEl.scrollLeft + scrollEl.clientWidth == scrollEl.scrollWidth) { view.stopScrolling(); } }, 10); }, stopScrolling: function() { clearInterval(this.scrollInterval); this.determineHandlers(); }, determineClickScroll: function(active) { // figure out where the element is, and if we need to change our view to show it var scroll; // determine where the element we're going to is in respect to the tabs bar // 25px is the size of the scroll arrows var leftSidePosition = active.position().left - 50; var rightSidePosition = active.position().left + active.width() + 50; // the gap is how much space we want there to be between the selected element // when it's out of view, and we go to it. var gap = 25; if (this.scrollTabsBar.children().index(active) === 0) { // this the first element, so define the scroll to be 0. scroll = 0; } else if (this.scrollTabsBar.children().index(active) == this.scrollTabsBar.children().length - 1) { // this the last element, so define the scroll to be all the way to the right. scroll = this.scrollTabsBar[0].scrollWidth - this.scrollTabsBar[0].clientWidth; } else if (leftSidePosition < 0) { // the left corner is out of view, which means it's beyond the left. scroll = this.scrollTabsBar[0].scrollLeft + leftSidePosition - gap; } else if (rightSidePosition > this.scrollTabsBar.width()) { // the right corner is out of view. scroll = this.scrollTabsBar[0].scrollLeft + (rightSidePosition – this.scrollTabsBar.width()) + gap; } else { scroll = this.scrollTabsBar[0].scrollLeft; } // start scrolling scroll = Math.floor(scroll); var delta = scroll – this.scrollTabsBar[0].scrollLeft; var startedDown = false; if (delta !== 0) { clearInterval(this.scrollInterval); var distance = 0; var direction = (delta > 0 ? 1 : -1); var speed = 1; var factor = 1.25; // for parabolic acceleration this.scrollInterval = setInterval(function() { if (distance >= Math.abs(delta)) { this.stopScrolling(); } this.scrollTabsBar[0].scrollLeft += (Math.max(1, Math.floor(speed)) * direction); distance += Math.max(1, Math.floor(speed)); if (distance * 2 >= Math.abs(delta)) { // if we’ve traversed more than half if (factor == 1.25) { // 5/4 factor = 1; // 4/4 } else { factor = 0.8; // 4/5 } } speed *= factor; }.bind(this), 20); } } }); return TabbedBox; })(); if (typeof _ElementDefinition == ’undefined’ || typeof _ElementDefinition == ’null’) { var _ElementDefinition = PlatformElement.extend({}); } var _Element = _ElementDefinition.extend({ initialize: function() { // we still want to call the initialize function defined by the developer // however, we don’t want to call it until placeholders have been replaced this.placeholderInterval = setInterval(function() { // so use setInterval to check for placeholders. if (this.$(’.platform-element-child-placeholder’).length == 0) { clearInterval(this.placeholderInterval); this.constructor.__super__.initialize.apply(this); } }.bind(this), 100); } }); _Element.prototype.settings = new PlatformElementSettings({”tabs_each”:[{”tabs_index”:0},{”tabs_index”:1}],”activeTabIndexInternal_each”:[{”activeTabIndexInternal_index”:0}],”theme”:”simple”,”tabs”:2,”active_tab”:”#d5d5d5″,”inactive_tab”:”#2b2b2b”,”border_color”:”#FFFFFF”,”activeTabIndexInternal”:1}); _Element.prototype.settings.page_element_id = ”272709851103237404”; _Element.prototype.element_id = ”4ebc4074-15aa-480a-af6f-3f31f83c3890”; _Element.prototype.user_id = ”8562925”; _Element.prototype.site_id = ”238592367274609151”; _Element.prototype.assets_path = ”//marketplace.editmysite.com/uploads/b/marketplace-elements-135397292802228534-1.3.6/assets/”; new _Element({ el: ’#element-4ebc4074-15aa-480a-af6f-3f31f83c3890’ }); }); }); } if (typeof document.documentElement.appReady == ’undefined’) { document.documentElement.appReady = 0; } if (document.documentElement.appReady || (window.inEditor && window.inEditor())) { setupElement272709851103237404(); } else if (document.createEvent && document.addEventListener) { document.addEventListener(’appReady’, setupElement272709851103237404, false); } else { document.documentElement.attachEvent(’onpropertychange’, function(event){ if (event.propertyName == ’appReady’) { setupElement272709851103237404(); } }); }
ec.europa.eu
Sponsra eller stödja? Skriv till oss Följ med på Facebook Facebooksidan Gilla oss för att inte missa något!


Lämna ett svar

Din e-postadress kommer inte publiceras.