/*! pro-elements - v3.26.0 - 17-12-2024 */ .elementor-headline{display:block;font-size:43px;line-height:1.2}.elementor-headline-dynamic-text{color:var(--dynamic-text-color,#aebcb9)}.elementor-headline--style-rotate .elementor-headline-dynamic-wrapper{text-align:start}.elementor-headline--style-highlight .elementor-headline-dynamic-wrapper{overflow:visible;text-align:inherit}.elementor-headline--style-highlight .elementor-headline-dynamic-text{z-index:1}.elementor-headline--style-highlight .elementor-headline-plain-text{position:relative;z-index:1}.elementor-headline--style-highlight svg{height:calc(100% + 20px);left:50%;overflow:visible;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% + 20px)}.elementor-headline--style-highlight svg path{stroke:red;stroke-width:9;fill:none;opacity:0;stroke-dasharray:0 1500;transition:.3s}.elementor-headline.e-animated svg path{animation:elementor-headline-dash forwards;animation-duration:var(--animation-duration,1.2s);animation-iteration-count:1}.elementor-headline.e-animated svg path:nth-of-type(2){animation-delay:calc(var(--animation-duration, 1.2s) / 2)}.elementor-headline.e-hide-highlight svg path{opacity:1;stroke-dasharray:1500 1500;animation:hide-highlight .4s forwards;animation-iteration-count:1}@keyframes elementor-headline-dash{0%{stroke-dasharray:0 1500;opacity:1}to{stroke-dasharray:1500 1500;opacity:1}}@keyframes hide-highlight{0%{opacity:1;stroke-dasharray:1500 1500}to{filter:blur(10px);opacity:0}}.elementor-headline-text-wrapper{vertical-align:bottom}.elementor-headline-dynamic-wrapper{display:inline-block;position:relative}.elementor-headline-dynamic-wrapper .elementor-headline-dynamic-text{display:inline-block;left:0;position:absolute;top:0}.elementor-headline-dynamic-wrapper .elementor-headline-dynamic-text.elementor-headline-text-active{position:relative}.elementor-headline-animation-type-flip .elementor-headline-dynamic-wrapper{perspective:300px}.elementor-headline-animation-type-flip .elementor-headline-dynamic-text{opacity:0;transform:rotateX(180deg);transform-origin:50% 100%}.elementor-headline-animation-type-flip .elementor-headline-dynamic-text.elementor-headline-text-active{animation:elementor-headline-flip-in 1.2s;opacity:1;transform:rotateX(0deg)}.elementor-headline-animation-type-flip .elementor-headline-dynamic-text.elementor-headline-text-inactive{animation:elementor-headline-flip-out 1.2s;transform:rotateX(180deg)}@keyframes elementor-headline-flip-in{0%{opacity:0;transform:rotateX(180deg)}35%{opacity:0;transform:rotateX(120deg)}65%{opacity:0}to{opacity:1;transform:rotateX(1turn)}}@keyframes elementor-headline-flip-out{0%{opacity:1;transform:rotateX(0deg)}35%{opacity:1;transform:rotateX(-40deg)}65%{opacity:0}to{opacity:0;transform:rotateX(180deg)}}.elementor-headline-animation-type-typing .elementor-headline-dynamic-wrapper{overflow:hidden;vertical-align:top}.elementor-headline-animation-type-typing .elementor-headline-dynamic-wrapper:after{background-color:#0d0d0d;content:"";height:90%;left:auto;position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px}.elementor-headline-animation-type-typing .elementor-headline-dynamic-wrapper:not(.elementor-headline-typing-selected):after{animation:elementor-headline-pulse 1s infinite}.elementor-headline-animation-type-typing .elementor-headline-dynamic-wrapper.elementor-headline-typing-selected{background-color:var(--typing-selected-bg-color,#0d0d0d)}.elementor-headline-animation-type-typing .elementor-headline-dynamic-wrapper.elementor-headline-typing-selected:after{visibility:hidden}.elementor-headline-animation-type-typing .elementor-headline-dynamic-wrapper.elementor-headline-typing-selected .elementor-headline-dynamic-text{color:var(--typing-selected-color,var(--dynamic-text-color),#aebcb9)}.elementor-headline-animation-type-typing .elementor-headline-dynamic-text:not(.elementor-headline-text-active){visibility:hidden}.elementor-headline-animation-type-typing .elementor-headline-dynamic-letter:not(.elementor-headline-animation-in){position:absolute;visibility:hidden}@keyframes elementor-headline-pulse{0%{opacity:1;transform:translateY(-50%) scale(1)}40%{opacity:0;transform:translateY(-50%) scale(.9)}to{opacity:0;transform:translateY(-50%) scale(0)}}.elementor-headline-animation-type-swirl .elementor-headline-dynamic-wrapper{perspective:300px}.elementor-headline-animation-type-swirl .elementor-headline-dynamic-letter{backface-visibility:hidden;display:inline-block}.elementor-headline-animation-type-swirl .elementor-headline-dynamic-text{opacity:0;transform:scaleX(1.0005)}.elementor-headline-animation-type-swirl .elementor-headline-dynamic-letter{opacity:0;transform:translateZ(-20px) rotateX(90deg);transform-style:preserve-3d}.elementor-headline-text-active .elementor-headline-animation-type-swirl .elementor-headline-dynamic-letter{opacity:1}.elementor-headline-animation-type-swirl .elementor-headline-dynamic-letter.elementor-headline-animation-in{animation:elementor-headline-swirl-in .4s forwards}.elementor-headline-animation-type-swirl .elementor-headline-dynamic-letter:not(.elementor-headline-animation-in){animation:elementor-headline-swirl-out .4s forwards}@keyframes elementor-headline-swirl-in{0%{opacity:0;transform:translateZ(-20px) rotateX(90deg)}60%{opacity:1;transform:translateZ(-20px) rotateX(-10deg)}to{opacity:1;transform:translateZ(-20px) rotateX(0deg)}}@keyframes elementor-headline-swirl-out{0%{opacity:1;transform:translateZ(-20px) rotateX(0)}60%{opacity:0;transform:translateZ(-20px) rotateX(-100deg)}to{opacity:0;transform:translateZ(-20px) rotateX(-90deg)}}.elementor-headline-animation-type-slide-down .elementor-headline-text-wrapper{display:inline-block;padding:.2em 0}.elementor-headline-animation-type-slide-down .elementor-headline-dynamic-wrapper{overflow:hidden;vertical-align:top}.elementor-headline-animation-type-slide-down .elementor-headline-dynamic-text{opacity:0;top:.2em}.elementor-headline-animation-type-slide-down .elementor-headline-dynamic-text.elementor-headline-text-active{animation:elementor-headline-slide-down-in .6s;opacity:1;top:0}.elementor-headline-animation-type-slide-down .elementor-headline-dynamic-text.elementor-headline-text-inactive{animation:elementor-headline-slide-down-out .6s}@keyframes elementor-headline-slide-down-in{0%{opacity:0;transform:translateY(-100%)}60%{opacity:1;transform:translateY(20%)}to{opacity:1;transform:translateY(0)}}@keyframes elementor-headline-slide-down-out{0%{opacity:1;transform:translateY(0)}60%{opacity:0;transform:translateY(120%)}to{opacity:0;transform:translateY(100%)}}.elementor-headline-animation-type-clip .elementor-headline-text-wrapper{display:inline-block;padding:.2em 0}.elementor-headline-animation-type-clip .elementor-headline-dynamic-wrapper{overflow:hidden;vertical-align:top}.elementor-headline-animation-type-clip .elementor-headline-dynamic-wrapper:after{background-color:#0d0d0d;content:"";height:100%;left:auto;position:absolute;right:0;top:0;width:2px}.elementor-headline-animation-type-clip .elementor-headline-dynamic-text{opacity:0}.elementor-headline-animation-type-clip .elementor-headline-dynamic-text.elementor-headline-text-active{opacity:1}.elementor-headline-animation-type-drop-in .elementor-headline-dynamic-wrapper{perspective:300px}.elementor-headline-animation-type-drop-in .elementor-headline-dynamic-text{opacity:0}.elementor-headline-animation-type-drop-in .elementor-headline-dynamic-text.elementor-headline-text-active{animation:elementor-headline-drop-in-in .8s;opacity:1}.elementor-headline-animation-type-drop-in .elementor-headline-dynamic-text.elementor-headline-text-inactive{animation:elementor-headline-drop-in-out .8s}@keyframes elementor-headline-drop-in-in{0%{opacity:0;transform:translateZ(100px)}to{opacity:1;transform:translateZ(0)}}@keyframes elementor-headline-drop-in-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translateZ(-100px)}}.elementor-headline-animation-type-blinds .elementor-headline-dynamic-wrapper{perspective:300px}.elementor-headline-animation-type-blinds .elementor-headline-dynamic-text{opacity:0}.elementor-headline-animation-type-blinds .elementor-headline-dynamic-letter{backface-visibility:hidden;display:inline-block;transform:rotateY(180deg)}.elementor-headline-text-active .elementor-headline-animation-type-blinds .elementor-headline-dynamic-letter{transform:rotateY(0deg)}.elementor-headline-animation-type-blinds .elementor-headline-dynamic-letter.elementor-headline-animation-in{animation:elementor-headline-blinds-in .6s forwards}.elementor-headline-animation-type-blinds .elementor-headline-dynamic-letter:not(.elementor-headline-animation-in){animation:elementor-headline-blinds-out .6s forwards}@keyframes elementor-headline-blinds-in{0%{transform:rotateY(180deg)}to{transform:rotateY(0deg)}}@keyframes elementor-headline-blinds-out{0%{transform:rotateY(0)}to{transform:rotateY(-180deg)}}.elementor-headline-animation-type-wave .elementor-headline-dynamic-text{opacity:0}.elementor-headline-animation-type-wave .elementor-headline-dynamic-letter{display:inline-block;opacity:0;transform:scale(0)}.elementor-headline-text-active .elementor-headline-animation-type-wave .elementor-headline-dynamic-letter{opacity:1}.elementor-headline-animation-type-wave .elementor-headline-dynamic-letter.elementor-headline-animation-in{animation:elementor-headline-wave-up .6s forwards}.elementor-headline-animation-type-wave .elementor-headline-dynamic-letter:not(.elementor-headline-animation-in){animation:elementor-headline-wave-down .6s forwards}@keyframes elementor-headline-wave-up{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes elementor-headline-wave-down{0%{opacity:1;transform:scale(1)}60%{opacity:0;transform:scale(0)}}.elementor-headline-animation-type-slide .elementor-headline-dynamic-text{opacity:0}.elementor-headline-animation-type-slide .elementor-headline-dynamic-text.elementor-headline-text-active{animation:elementor-headline-slide-in .6s;opacity:1}.elementor-headline-animation-type-slide .elementor-headline-dynamic-text.elementor-headline-text-inactive{animation:elementor-headline-slide-out .6s}@keyframes elementor-headline-slide-in{0%{opacity:0;transform:translateX(-100%)}60%{opacity:1;transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}@keyframes elementor-headline-slide-out{0%{opacity:1;transform:translateX(0)}60%{opacity:0;transform:translateX(110%)}to{opacity:0;transform:translateX(100%)}}.elementor-headline-animation-type-blinds .elementor-headline-dynamic-wrapper,.elementor-headline-animation-type-drop-in .elementor-headline-dynamic-wrapper,.elementor-headline-animation-type-flip .elementor-headline-dynamic-wrapper,.elementor-headline-animation-type-slide .elementor-headline-dynamic-wrapper,.elementor-headline-animation-type-slide-down .elementor-headline-dynamic-wrapper,.elementor-headline-animation-type-swirl .elementor-headline-dynamic-wrapper,.elementor-headline-animation-type-wave .elementor-headline-dynamic-wrapper{transition:width .5s}.elementor-headline-animation-type-blinds .elementor-headline-dynamic-wrapper,.elementor-headline-animation-type-swirl .elementor-headline-dynamic-wrapper,.elementor-headline-animation-type-wave .elementor-headline-dynamic-wrapper{overflow:hidden}.elementor-headline-animation-type-blinds .elementor-headline-dynamic-text,.elementor-headline-animation-type-swirl .elementor-headline-dynamic-text,.elementor-headline-animation-type-wave .elementor-headline-dynamic-text{white-space:nowrap}.elementor-msie .elementor-headline--style-highlight svg{left:auto;top:auto;transform:translate(-100%)}(function($, fwe) { fwe.on('fw:options:init', function(data) { data.$elements .find( '.fw-option-type-multi-picker:not(.fw-option-initialized)' ) .not( '.fw-option-type-multi-picker-dynamic' ) .each(initSimpleMultiPicker) .addClass('fw-option-initialized'); data.$elements .find( '.fw-option-type-multi-picker.fw-option-type-multi-picker-dynamic' ) .not( '.fw-option-initialized' ) .each(initDynamicMultiPicker) .addClass('fw-option-initialized'); }); fwe.on('fw:options:teardown', function (data) { data.$elements .find( '.fw-option-type-multi-picker.fw-option-type-multi-picker-dynamic' ).filter('.fw-option-initialized') .each(function () { if ($(this).data().fwPickerListener) { fw.options.off.change($(this).data().fwPickerListener); } }) }) function initDynamicMultiPicker () { var $container = $(this); $container.closest( '.fw-backend-option-type-multi-picker' ).addClass('fw-option-type-multi-picker-dynamic-container'); $container.addClass('fw-option-initialized'); var optionDescriptor = fw.options.getOptionDescriptor($container[0]); var pickerDescriptor = fw.options.findOptionInSameContextFor( optionDescriptor.el, $container.attr('data-fw-dynamic-picker-path') ); $container.find('> .choice-group').first().addClass('chosen'); $container.data('fw-picker-listener', handleChange); fw.options.on.change($container.data().fwPickerListener); chooseGroupForOptionDescriptor(pickerDescriptor); function handleChange (optionDescriptor) { if (pickerDescriptor.el === optionDescriptor.el) { setTimeout(function () { chooseGroupForOptionDescriptor(optionDescriptor); }, 0); } } function chooseGroupForOptionDescriptor (optionDescriptor) { fw.options.getValueForEl(pickerDescriptor.el).then(function (value) { // TODO: implement interfaces for multiple compound option types if (pickerDescriptor.type === 'icon-v2') { chooseGroup( value.value.type === 'none' ? '' : value.value.type ); } else { if (! _.isString(value.value)) { throw "Your picker returned a non-string value. In order for it to work with multi-pickers it should yield string values"; } chooseGroup(value.value); } }); function chooseGroup(groupId) { var $choicesGroups = $container.find('> .choice-group'); var $choicesToReveal = $container.find( '.choice-group[data-choice-key="'+ groupId +'"]' ); $choicesGroups.removeClass('chosen'); $choicesToReveal.addClass('chosen'); if ($choicesToReveal.length) { $container.addClass('has-choice'); $container.closest( '.fw-backend-option-type-multi-picker' ).addClass('fw-has-dynamic-choice'); } else { $container.removeClass('has-choice'); $container.closest( '.fw-backend-option-type-multi-picker' ).removeClass('fw-has-dynamic-choice'); } }; } } function initSimpleMultiPicker() { var $this = $(this); var elements = { $pickerGroup: $this.find('> .picker-group'), $choicesGroups: $this.find('> .choice-group') }; var chooseGroup = function(groupId) { var $choicesToReveal = elements.$choicesGroups.filter('.choice-group[data-choice-key="'+ groupId +'"]'); /** * The group options html was rendered in an attribute to make page load faster. * Move the html from attribute in group and init options with js. */ if ($choicesToReveal.attr('data-options-template')) { $choicesToReveal.html( $choicesToReveal.attr('data-options-template') ); $choicesToReveal.removeAttr('data-options-template'); fwEvents.trigger('fw:options:init', { $elements: $choicesToReveal }); } elements.$choicesGroups.removeClass('chosen'); $choicesToReveal.addClass('chosen'); if ($choicesToReveal.length) { $this.addClass('has-choice'); } else { $this.removeClass('has-choice'); } }; var pickerType = elements.$pickerGroup.attr('class').match(/picker-type-(\S+)/)[1]; var flows = { 'switch': function() { elements.$pickerGroup.find(':checkbox').on('change', function() { var $this = $(this), checked = $(this).is(':checked'), value = JSON.parse($this.attr('data-switch-'+ (checked ? 'right' : 'left') +'-value-json')); chooseGroup(value); }).trigger('change'); }, 'select': function() { elements.$pickerGroup.find('select').on('change', function() { chooseGroup(this.value); }).trigger('change'); }, 'short-select': function() { this.select(); }, 'radio': function() { elements.$pickerGroup.find(':radio').on('change', function() { chooseGroup(this.value); }).filter(':checked').trigger('change'); }, 'image-picker': function() { elements.$pickerGroup.find('select').on('change', function() { chooseGroup(this.value); }).trigger('change'); }, 'icon-v2': function () { var iconV2Selector = '.fw-option-type-icon-v2 > input'; elements.$pickerGroup.find(iconV2Selector).on('change', function() { var type = JSON.parse(this.value)['type']; chooseGroup(type); }).trigger('change'); } }; if (! pickerType) { console.error('unknown multi-picker type:', pickerType); } else { if (flows[pickerType]) { flows[pickerType](); } else { var eventName = 'fw:option-type:multi-picker:init:'+ pickerType; if (fwe.hasListeners(eventName)) { fwe.trigger(eventName, { '$pickerGroup': elements.$pickerGroup, 'chooseGroup': chooseGroup }); } else { console.error('uninitialized multi-picker type:', pickerType); } } } }; fw.options.register('multi-picker', { getValue: fw.options.get('multi').getValue }) })(jQuery, fwEvents);