var tribe_dropdowns = window.tribe_dropdowns || {}; ( function( $, obj, _ ) { 'use strict'; obj.selector = { dropdown: '.tribe-dropdown', created: '.tribe-dropdown-created', searchField: '.select2-search__field', }; // Setup a Dependent $.fn.tribe_dropdowns = function() { obj.dropdown( this, {} ); return this; }; obj.freefrom_create_search_choice = function( params ) { if ( 'string' !== typeof params.term ) { return null; } var term = params.term.trim(); if ( '' === term ) { return null; } var args = this.options.options; var $select = args.$select; if ( term.match( args.regexToken ) && ( ! $select.is( '[data-int]' ) || ( $select.is( '[data-int]' ) && term.match( /\d+/ ) ) ) ) { var choice = { id: term, text: term, new: true }; if ( $select.is( '[data-create-choice-template]' ) ) { choice.text = _.template( $select.data( 'createChoiceTemplate' ) )( { term: term } ); } return choice; } return null; }; /** * Better Search ID for Select2, compatible with WordPress ID from WP_Query * * @param {object|string} e Searched object or the actual ID * @return {string} ID of the object */ obj.search_id = function( e ) { var id = undefined; if ( 'undefined' !== typeof e.id ) { id = e.id; } else if ( 'undefined' !== typeof e.ID ) { id = e.ID; } else if ( 'undefined' !== typeof e.value ) { id = e.value; } return undefined === e ? undefined : id; }; /** * Better way of matching results * * @param {string} term Which term we are searching for * @param {string} text Search here * @return {boolean} */ obj.matcher = function( params, data ) { // If there are no search terms, return all of the data if ( 'string' !== typeof params.term || params.term.trim() === '') { return data; } // Do not display the item if there is no 'text' property if ( typeof data.text === 'undefined' ) { return null; } var term = params.term.trim(); var text = data.text; var $select = $( data.element ).closest( 'select' ); var args = $select.data( 'dropdown' ); var result = text.toUpperCase().indexOf( term.toUpperCase() ) !== -1; if ( ! result && 'undefined' !== typeof args.tags ){ var possible = _.where( args.tags, { text: text } ); if ( args.tags.length > 0 && _.isObject( possible ) ){ var test_value = obj.search_id( possible[0] ); result = test_value.toUpperCase().indexOf( term.toUpperCase() ) !== -1; } } return result; }; /** * If the element used as the basis of a dropdown specifies one or more numeric/text * identifiers in its val attribute, then use those to preselect the appropriate options. * * @param {object} $select * @param {function} make_selection */ obj.init_selection = function( $select, make_selection ) { var isMultiple = $select.is( '[multiple]' ); var options = $select.data( 'dropdown' ); var currentValues = $select.val().split( options.regexSplit ); var selectedItems = []; $( currentValues ).each( function( index, value ) { // eslint-disable-line no-unused-vars var searchFor = { id: this, text: this }; var data = options.ajax ? $select.data( 'options' ) : options.data; var locatedItem = find_item( searchFor, data ); if ( locatedItem && locatedItem.selected ) { selectedItems.push( locatedItem ); } } ); if ( selectedItems.length && isMultiple ) { make_selection( selectedItems ); } else if ( selectedItems.length ) { make_selection( selectedItems[ 0 ] ); } else { make_selection( false ); return; } }; /** * Searches array 'haystack' for objects that match 'description'. * * The 'description' object should take the form { id: number, text: string }. The first * object within the haystack that matches one of those two properties will be returned. * * If objects contain an array named 'children', then that array will also be searched. * * @param {Object} description * @param {Array} haystack * * @return {Object|boolean} */ function find_item( description, haystack ) { if ( ! _.isArray( haystack ) ) { return false; } for ( var index in haystack ) { var possible_match = haystack[ index ]; if ( possible_match.hasOwnProperty( 'id' ) && possible_match.id == description.id ) { // eslint-disable-line no-prototype-builtins,eqeqeq,max-len return possible_match; } if ( possible_match.hasOwnProperty( 'text' ) && possible_match.text == description.text ) { // eslint-disable-line no-prototype-builtins,eqeqeq,max-len return possible_match; } if ( possible_match.hasOwnProperty( 'children' ) && _.isArray( possible_match.children ) ) { // eslint-disable-line no-prototype-builtins,max-len var subsearch = find_item( description, possible_match.children ); if ( subsearch ) { return subsearch; } } } return false; } obj.getSelectClasses = function( $select ) { var classesToRemove = [ 'select2-hidden-accessible', 'hide-before-select2-init', ]; var originalClasses = $select.attr( 'class' ).split( /\s+/ ); return _.difference( originalClasses, classesToRemove ); }; obj.element = function( field, args ) { var $select = $( field ); var args = $.extend( {}, args ); // eslint-disable-line no-redeclare var carryOverData = [ // eslint-disable-line no-unused-vars 'depends', 'condition', 'conditionNot', 'condition-not', 'conditionNotEmpty', 'condition-not-empty', 'conditionEmpty', 'condition-empty', 'conditionIsNumeric', 'condition-is-numeric', 'conditionIsNotNumeric', 'condition-is-not-numeric', 'conditionChecked', 'condition-is-checked', ]; var $container; // Add a class for dropdown created $select.addClass( obj.selector.created.className() ); // args.debug = true; // For Reference we save the jQuery element as an Arg. args.$select = $select; // Auto define the Width of the Select2. args.dropdownAutoWidth = true; args.width = 'resolve'; // CSS for the container args.containerCss = {}; // Only apply visibility when it's a Visible Select2. if ( $select.is( ':visible' ) ) { args.containerCss.display = 'inline-block'; args.containerCss.position = 'relative'; } // CSS for the dropdown args.dropdownCss = {}; args.dropdownCss.width = 'auto'; // When we have this we replace the default with what's in the param. if ( $select.is( '[data-dropdown-css-width]' ) ) { args.dropdownCss.width = $select.data( 'dropdown-css-width' ); if ( ! args.dropdownCss.width || 'false' === args.dropdownCss.width ) { delete args.dropdownCss.width; delete args.containerCss; } } // By default we allow The field to be cleared args.allowClear = true; if ( $select.is( '[data-prevent-clear]' ) ) { args.allowClear = false; } // Pass the "Searching..." placeholder if specified if ( $select.is( '[data-searching-placeholder]' ) ) { args.formatSearching = $select.data( 'searching-placeholder' ); } // If we are dealing with a Input Hidden we need to set the Data for it to work if ( ! $select.is( '[data-placeholder]' ) && $select.is( '[placeholder]' ) ) { args.placeholder = $select.attr( 'placeholder' ); } // If we are dealing with a Input Hidden we need to set the Data for it to work. if ( $select.is( '[data-options]' ) ) { args.data = $select.data( 'options' ); } // With less then 10 args we wouldn't show the search. args.minimumResultsForSearch = 10; // Prevents the Search box to show if ( $select.is( '[data-hide-search]' ) ) { args.minimumResultsForSearch = Infinity; } // Makes sure search shows up. if ( $select.is( '[data-force-search]' ) ) { delete args.minimumResultsForSearch; } // Allows freeform entry if ( $select.is( '[data-freeform]' ) ) { args.createTag = obj.freefrom_create_search_choice; args.tags = true; $select.data( 'tags', true ); } if ( $select.is( '[multiple]' ) ) { args.multiple = true; // Set the max select items, if defined if ( $select.is( '[data-maximum-selection-size]' ) ) { args.maximumSelectionSize = $select.data( 'maximum-selection-size' ); } // If you don't have separator, add one (comma) if ( ! $select.is( 'data-separator' ) ) { $select.data( 'separator', ',' ); } if ( ! _.isArray( $select.data( 'separator' ) ) ) { args.tokenSeparators = [ $select.data( 'separator' ) ]; } else { args.tokenSeparators = $select.data( 'separator' ); } args.separator = $select.data( 'separator' ); // Define the regular Exp based on args.regexSeparatorElements = [ '^(' ]; args.regexSplitElements = [ '(?:' ]; $.each( args.tokenSeparators, function ( i, token ) { args.regexSeparatorElements.push( '[^' + token + ']+' ); args.regexSplitElements.push( '[' + token + ']' ); } ); args.regexSeparatorElements.push( ')$' ); args.regexSplitElements.push( ')' ); args.regexSeparatorString = args.regexSeparatorElements.join( '' ); args.regexSplitString = args.regexSplitElements.join( '' ); args.regexToken = new RegExp( args.regexSeparatorString, 'ig' ); args.regexSplit = new RegExp( args.regexSplitString, 'ig' ); } // Select also allows Tags, so we go with that too if ( $select.is( '[data-tags]' ) ) { args.tags = $select.data( 'tags' ); args.createSearchChoice = function( term, data ) { // eslint-disable-line no-unused-vars if ( term.match( args.regexToken ) ) { return { id: term, text: term }; } }; if ( 0 === args.tags.length ) { args.formatNoMatches = function() { return $select.attr( 'placeholder' ); }; } } // When we have a source, we do an AJAX call if ( $select.is( '[data-source]' ) ) { var source = $select.data( 'source' ); // For AJAX we reset the data args.data = { results: [] }; // Format for Parents breadcrumbs args.formatResult = function ( item, container, query ) { // eslint-disable-line no-unused-vars,max-len if ( 'undefined' !== typeof item.breadcrumbs ) { return $.merge( item.breadcrumbs, [ item.text ] ).join( ' » ' ); } return item.text; }; // instead of writing the function to execute the request we use Select2's convenient helper. args.ajax = { dataType: 'json', type: 'POST', url: obj.ajaxurl(), // parse the results into the format expected by Select2. processResults: function ( response, page, query ) { // eslint-disable-line no-unused-vars if ( ! $.isPlainObject( response ) || 'undefined' === typeof response.success ) { console.error( 'We received a malformed Object, could not complete the Select2 Search.' ); // eslint-disable-line max-len return { results: [] }; } if ( ! $.isPlainObject( response.data ) || 'undefined' === typeof response.data.results ) { console.error( 'We received a malformed results array, could not complete the Select2 Search.' ); // eslint-disable-line max-len return { results: [] }; } if ( ! response.success ) { if ( 'string' === $.type( response.data.message ) ) { console.error( response.data.message ); } else { console.error( 'The Select2 search failed in some way... Verify the source.' ); } return { results: [] }; } return response.data; }, }; // By default only send the source args.ajax.data = function( search, page ) { return { action: 'tribe_dropdown', source: source, search: search, page: page, args: $select.data( 'source-args' ), }; }; } // Attach dropdown to container in DOM. if ( $select.is( '[data-attach-container]' ) ) { // If multiple, attach container without search. if ( $select.is( '[multiple]' ) ) { $.fn.select2.amd.define( 'AttachedDropdownAdapter', [ 'select2/utils', 'select2/dropdown', 'select2/dropdown/attachContainer', ], function( utils, dropdown, attachContainer ) { return utils.Decorate( dropdown, attachContainer ); } ); args.dropdownAdapter = $.fn.select2.amd.require( 'AttachedDropdownAdapter' ); // If not multiple, attach container with search. } else { $.fn.select2.amd.define( 'AttachedWithSearchDropdownAdapter', [ 'select2/utils', 'select2/dropdown', 'select2/dropdown/search', 'select2/dropdown/minimumResultsForSearch', 'select2/dropdown/attachContainer', ], function( utils, dropdown, search, minimumResultsForSearch, attachContainer ) { var adapter = utils.Decorate( dropdown, attachContainer ); adapter = utils.Decorate( adapter, search ); adapter = utils.Decorate( adapter, minimumResultsForSearch ); return adapter; } ); args.dropdownAdapter = $.fn.select2.amd.require( 'AttachedWithSearchDropdownAdapter' ); } } // Save data on Dropdown $select.data( 'dropdown', args ); $container = $select.select2TEC( args ); // Propagating original input classes to the select2 container. $container.data( 'select2' ).$container.addClass( obj.getSelectClasses( $select ).join( ' ' ) ); // Propagating original input classes to the select2 container. $container.data( 'select2' ).$container.removeClass( 'hide-before-select2-init' ); $container.on( 'select2:open', obj.action_select2_open ); /** * @todo @bordoni Investigate how and if we should be doing this. * if ( carryOverData.length > 0 ) { carryOverData.map( function( dataKey ) { var attr = 'data-' + dataKey; var val = $select.attr( attr ); if ( ! val ) { return; } this.attr( attr, val ); }, $container ); } */ }; obj.ajaxurl = function() { if ( 'undefined' !== typeof window.ajaxurl ) { return window.ajaxurl; } if ( 'undefined' !== typeof TEC && 'undefined' !== typeof TEC.ajaxurl ) { return TEC.ajaxurl; } console.error( 'Dropdowns framework cannot properly do an AJAX request without the WordPress `ajaxurl` variable setup.' ); // eslint-disable-line max-len }; obj.action_select2_open = function( event ) { // eslint-disable-line no-unused-vars var $select = $( this ); var select2Data = $select.data( 'select2' ); var $search = select2Data.$dropdown.find( obj.selector.searchField ); // eslint-disable-line es5/no-es6-methods,max-len select2Data.$dropdown.addClass( obj.selector.dropdown.className() ); // If we have a placeholder for search, apply it! if ( $select.is( '[data-search-placeholder]' ) ) { $search.attr( 'placeholder', $select.data( 'searchPlaceholder' ) ); } }; /** * Configure the Drop Down Fields * * @param {jQuery} $fields All the fields from the page * @param {array} args Allow extending the arguments * * @return {jQuery} Affected fields */ obj.dropdown = function( $fields, args ) { var $elements = $fields.not( '.select2-offscreen, .select2-container, ' + obj.selector.created.className() ); // eslint-disable-line max-len if ( 0 === $elements.length ) { return $elements; } // Default args to avoid Undefined if ( ! args ) { args = {}; } $elements .each( function( index, element ) { // Apply element to all given items and pass args obj.element( element, args ); } ); // return to be able to chain jQuery calls return $elements; }; $( function() { $( obj.selector.dropdown ).tribe_dropdowns(); } ); // Addresses some problems with Select2 inputs not being initialized when using a browser's "Back" button. $( window ).on( 'unload', function() { $( obj.selector.dropdown ).tribe_dropdowns(); }); } )( jQuery, tribe_dropdowns, window.underscore || window._ ); /*! elementor-pro - v3.5.1 - 10-11-2021 */ .elementor-cta,.elementor-widget-call-to-action .elementor-widget-container{overflow:hidden}.elementor-cta{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:.5s;-o-transition:.5s;transition:.5s}.elementor-cta--skin-classic .elementor-cta{-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-cta--skin-classic .elementor-cta__bg-wrapper{position:relative;min-height:200px;width:100%}.elementor-cta--skin-classic .elementor-cta__content{-webkit-transition:all .4s;-o-transition:all .4s;transition:all .4s;width:100%;background-color:#f7f7f7}.elementor-cta--skin-classic .elementor-cta__content-item,.elementor-cta--skin-classic .elementor-cta__content-item .elementor-icon{color:#55595c;border-color:#55595c;fill:#55595c}.elementor-cta--skin-classic .elementor-cta__button.elementor-button{color:#55595c;border-color:#55595c}.elementor-cta--skin-cover .elementor-cta{display:block}.elementor-cta--skin-cover .elementor-cta__bg-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;-webkit-transition:all .4s;-o-transition:all .4s;transition:all .4s;width:100%}.elementor-cta--skin-cover .elementor-cta__content{min-height:280px}.elementor-cta--skin-cover .elementor-cta__button.elementor-button,.elementor-cta--skin-cover .elementor-cta__content-item,.elementor-cta--skin-cover .elementor-cta__content-item .elementor-icon{color:#fff;border-color:#fff}.elementor-cta--layout-image-above .elementor-cta{-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-cta--layout-image-above .elementor-cta__bg-wrapper{width:100%}.elementor-cta--layout-image-left .elementor-cta,.elementor-cta--layout-image-right .elementor-cta{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.elementor-cta--layout-image-left .elementor-cta__bg-wrapper,.elementor-cta--layout-image-right .elementor-cta__bg-wrapper{width:auto;min-width:50%}.elementor-cta--layout-image-left .elementor-cta__content,.elementor-cta--layout-image-right .elementor-cta__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-cta--layout-image-left .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-cta--layout-image-right .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.elementor-cta__bg,.elementor-cta__bg-overlay{position:absolute;top:0;left:0;right:0;bottom:0;-webkit-transition:all .4s;-o-transition:all .4s;transition:all .4s}.elementor-cta__bg-wrapper{z-index:1;overflow:hidden}.elementor-cta__bg{-webkit-background-size:cover;background-size:cover;background-position:50%;z-index:1}.elementor-cta__bg-overlay{z-index:2}.elementor-cta__button.elementor-button{cursor:pointer;-ms-flex-item-align:center;align-self:center;margin-left:auto;margin-right:auto;border:2px solid #fff;background:transparent}.elementor-cta__button.elementor-button:hover{background:transparent;text-decoration:none}.elementor-cta__title{font-size:23px}.elementor-cta__content{z-index:1;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;padding:35px;width:100%}.elementor-cta__content,.elementor-cta__content-item{position:relative;-webkit-transition:.5s;-o-transition:.5s;transition:.5s;color:#fff}.elementor-cta__content-item{width:100%;margin:0}.elementor-cta__content-item:not(:last-child){margin-bottom:15px}.elementor-cta__content-item .elementor-icon{color:#fff}.elementor-cta--valign-top .elementor-cta__content{-ms-flex-line-pack:start;align-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-cta--valign-middle .elementor-cta__content{-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-cta--valign-bottom .elementor-cta__content{-ms-flex-line-pack:end;align-content:flex-end;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-cta:hover .elementor-cta__bg-overlay{background-color:rgba(0,0,0,.3)}@media (max-device-width:1024px){.elementor-cta{cursor:pointer}}@media (min-width:-1px){.elementor-cta--widescreen-layout-image-above .elementor-cta{-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-cta--widescreen-layout-image-above .elementor-cta__bg-wrapper{width:100%}.elementor-cta--widescreen-layout-image-left .elementor-cta,.elementor-cta--widescreen-layout-image-right .elementor-cta{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.elementor-cta--widescreen-layout-image-left .elementor-cta__bg-wrapper,.elementor-cta--widescreen-layout-image-right .elementor-cta__bg-wrapper{width:auto;min-width:50%}.elementor-cta--widescreen-layout-image-left .elementor-cta__content,.elementor-cta--widescreen-layout-image-right .elementor-cta__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-cta--widescreen-layout-image-left .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-cta--widescreen-layout-image-right .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}@media (max-width:-1px){.elementor-cta--laptop-layout-image-above .elementor-cta{-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-cta--laptop-layout-image-above .elementor-cta__bg-wrapper{width:100%}.elementor-cta--laptop-layout-image-left .elementor-cta,.elementor-cta--laptop-layout-image-right .elementor-cta{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.elementor-cta--laptop-layout-image-left .elementor-cta__bg-wrapper,.elementor-cta--laptop-layout-image-right .elementor-cta__bg-wrapper{width:auto;min-width:50%}.elementor-cta--laptop-layout-image-left .elementor-cta__content,.elementor-cta--laptop-layout-image-right .elementor-cta__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-cta--laptop-layout-image-left .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-cta--laptop-layout-image-right .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}@media (max-width:-1px){.elementor-cta--tablet_extra-layout-image-above .elementor-cta{-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-cta--tablet_extra-layout-image-above .elementor-cta__bg-wrapper{width:100%}.elementor-cta--tablet_extra-layout-image-left .elementor-cta,.elementor-cta--tablet_extra-layout-image-right .elementor-cta{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.elementor-cta--tablet_extra-layout-image-left .elementor-cta__bg-wrapper,.elementor-cta--tablet_extra-layout-image-right .elementor-cta__bg-wrapper{width:auto;min-width:50%}.elementor-cta--tablet_extra-layout-image-left .elementor-cta__content,.elementor-cta--tablet_extra-layout-image-right .elementor-cta__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-cta--tablet_extra-layout-image-left .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-cta--tablet_extra-layout-image-right .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}@media (max-width:1024px){.elementor-cta--tablet-layout-image-above .elementor-cta{-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-cta--tablet-layout-image-above .elementor-cta__bg-wrapper{width:100%}.elementor-cta--tablet-layout-image-left .elementor-cta,.elementor-cta--tablet-layout-image-right .elementor-cta{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.elementor-cta--tablet-layout-image-left .elementor-cta__bg-wrapper,.elementor-cta--tablet-layout-image-right .elementor-cta__bg-wrapper{width:auto;min-width:50%}.elementor-cta--tablet-layout-image-left .elementor-cta__content,.elementor-cta--tablet-layout-image-right .elementor-cta__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-cta--tablet-layout-image-left .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-cta--tablet-layout-image-right .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}@media (max-width:-1px){.elementor-cta--mobile_extra-layout-image-above .elementor-cta{-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-cta--mobile_extra-layout-image-above .elementor-cta__bg-wrapper{width:100%}.elementor-cta--mobile_extra-layout-image-left .elementor-cta,.elementor-cta--mobile_extra-layout-image-right .elementor-cta{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.elementor-cta--mobile_extra-layout-image-left .elementor-cta__bg-wrapper,.elementor-cta--mobile_extra-layout-image-right .elementor-cta__bg-wrapper{width:auto;min-width:50%}.elementor-cta--mobile_extra-layout-image-left .elementor-cta__content,.elementor-cta--mobile_extra-layout-image-right .elementor-cta__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-cta--mobile_extra-layout-image-left .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-cta--mobile_extra-layout-image-right .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}@media (max-width:767px){.elementor-cta--mobile-layout-image-above .elementor-cta{-ms-flex-wrap:wrap;flex-wrap:wrap}.elementor-cta--mobile-layout-image-above .elementor-cta__bg-wrapper{width:100%}.elementor-cta--mobile-layout-image-left .elementor-cta,.elementor-cta--mobile-layout-image-right .elementor-cta{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.elementor-cta--mobile-layout-image-left .elementor-cta__bg-wrapper,.elementor-cta--mobile-layout-image-right .elementor-cta__bg-wrapper{width:auto;min-width:50%}.elementor-cta--mobile-layout-image-left .elementor-cta__content,.elementor-cta--mobile-layout-image-right .elementor-cta__content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.elementor-cta--mobile-layout-image-left .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-cta--mobile-layout-image-right .elementor-cta{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.elementor-ribbon{position:absolute;z-index:1;top:0;left:0;right:auto;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);width:150px;overflow:hidden;height:150px}.elementor-ribbon-inner{text-align:center;left:0;width:200%;-webkit-transform:translateY(-50%) translateX(0) translateX(35px) rotate(-45deg);-ms-transform:translateY(-50%) translateX(0) translateX(35px) rotate(-45deg);transform:translateY(-50%) translateX(0) translateX(35px) rotate(-45deg);margin-top:35px;font-size:13px;line-height:2;font-weight:800;text-transform:uppercase;background:#000;color:#fff}.elementor-ribbon.elementor-ribbon-left{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);left:0;right:auto}.elementor-ribbon.elementor-ribbon-right{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);left:auto;right:0} Objevte 7 důvodů, proč se připojit k Betclic ještě dnes!_2 - premier mills

Objevte 7 důvodů, proč se připojit k Betclic ještě dnes!_2

Objevte 7 důvodů, proč se připojit k Betclic ještě dnes!

Betclic je jedním z nejznámějších a nejrespektovanějších sázkových kanceláří v Evropě. Jeho úspěch spočívá nejen v široké nabídce sportovních sázek, ale také v kvalitních službách a uživatelském prostředí, které usnadňují sázkařům přístup k jejich oblíbeným akcím. Betclic ci se connecter je proces, který je snadný a velmi intuitivní, což znamená, že každému, kdo má zájem, bude snadno umožněno vstoupit do světa sázek. V tomto článku si představíme sedm klíčových důvodů, proč byste se měli připojit k Betclic ještě dnes! Tyto důvody se zaměřují na to, jak vám platforma může pomoci vylepšit vaši sázkařskou zkušenost a co všechno nabízí.

Výběr správné sázkové kanceláře je klíčový pro váš úspěch ve světě sázek. Betclic nabízí unikátní funkce a služby, které jej odlišují od konkurence. Patří sem nejen rozmanité trhy a sázkové možnosti, ale také řada bonusů a promo akcí. Proto je užitečné se blíže podívat na to, proč byste měli zvážit registraci a jakým způsobem vám může Betclic usnadnit sázkování.

Tento článek se zaměří na důležité aspekty připojení k Betclic, od jednoduchosti registrace po výhody a specifické funkce, které platforma nabízí. Budeme také zdůrazňovat, jak se můžete betclic ci se connecter a jak snadno začít sázet na širokou škálu sportovních událostí a příležitostí. Pokud jste vášnivý sázkař, nebo jste jen nováček ve světě sázek, najdete zde cenné informace, které vám mohou pomoci při rozhodování.

1. Snadná registrace a přihlášení

Jedním z hlavních důvodů, proč se připojit k Betclic, je snadnost registrace a přihlášení. Proces registrace je velmi intuitivní a rychlý, což znamená, že netrávíte hodiny vyplněním zbytečných formulářů. Stačí několika jednoduchými kroky a můžete být připraveni sázet.

Navigativní rozhraní Betclic je navrženo tak, aby uživatelé mohli rychle najít vše, co potřebují. Můžete snadno přistupovat k různým sekcím jako jsou sportovní sázky, kasinové hry a další nabídky. Tento aspekt platforamy se velmi pozitivně odráží na celkovém uživatelském zážitku.

Krok
Popis
1 Navštivte web Betclic a klikněte na ‘Registrovat se’
2 Vyplňte osobní údaje a vytvořte účet
3 Potvrďte registraci prostřednictvím e-mailu

Jakmile máte účet, můžete se snadno přihlásit a začít využívat všech výhod, které Betclic nabízí. K dispozici máte také podporu, pokud byste měli jakékoliv potíže s registrací nebo přihlášením. Betclic se zavazuje k tomu, aby byl jeho systém co nejpřístupnější pro všechny uživatele.

Uživatelské rozhraní

Betclic se pyšní moderním a přehledným uživatelským rozhraním, které uľehčuje navigaci po webu a aplikaci. Bez ohledu na to, zda používáte počítač nebo mobilní zařízení, platforma je optimalizována pro rychlost a pohodlí. Díky mobilní aplikaci můžete sázky umisťovat kdekoliv a kdykoliv, což je velkým lákadlem pro aktivní sázkaře.

Je důležité zdůraznit, že uživatelské rozhraní Betclic je navrženo s ohledem na širokou veřejnost — jak pro zkušené sázkaře, tak i pro nováčky, kteří se teprve učí. Všechny sekce jsou jasně označeny a velmi intuitivní, což dává uživatelům větší flexibilitu při používání platformy.

Bezpečnost a důvěryhodnost

Bezpečnost je dnes pro mnoho sázkařů prvořadá a Betclic to velmi dobře ví. Nabízí širokou škálu bezpečnostních opatření, která chrání vaše osobní i finanční údaje. Betclic má licenci k provozování online sázek v několika zemích, což potvrzuje jeho důvěryhodnost a spolehlivost. Všechny transakce jsou šifrované, což zajišťuje ochranu před neoprávněným přístupem.

Díky pokročilým metodám zabezpečení můžete být v klidu, když provádíte vklady a výběry. Zákaznická podpora je také k dispozici, pokud byste měli další dotazy týkající se bezpečnosti a důvěryhodnosti platformy. Tato kombinace zabezpečení a kvalitního zákaznického servisu činí Betclic výbornou volbou pro každého sákaře.

2. Široká nabídka sázek

Jednou z hlavních výhod Betclic je jeho široká nabídka sázek. Platforma pokrývá téměř všechny možné sporty a události, což uskutečňuje možnost sázení na vaše oblíbené sporty. Od fotbalu a tenisu po méně známé sporty, jako jsou šipky nebo e-sporty, zde najdete širokou škálu možností.

Betclic se také pravidelně účastní velkých sportovních událostí a nabízí speciální sázky a trhy, které jsou přizpůsobeny k těmto příležitostem. Tímto způsobem se můžete těšit na soutěže s vysokými výplatami a jedinečnými možnostmi sázení.

  • Fotbal: Rozmanité ligy a turnaje ze všech koutů světa.
  • Tennis: Včetně Grand Slam turnajů a dalších významných akcí.
  • E-sporty: Možnosti sázení na populární video hry a turnaje.

Zároveň Betclic často aktualizuje své nabídky s ohledem na aktuální sportovní situaci, takže vám neutečou žádné zajímavé příležitosti. Sázkaři mají tak možnost vychutnat si skvělý zážitek ze sázení na jakýkoli zápas či událost, která je zajímá. Je dobré mít na paměti, že Betclic neustále zlepšuje své služby pro své zákazníky.

Bonusy a promo akce

Další důvod, proč se připojit k Betclic, jsou jeho štědré bonusy a promo akce. Tyto akce jsou navrženy tak, aby přilákaly nové hráče a odměnily stávající zákazníky. Mezi typické bonusy patří uvítací bonusy, bezrizikové sázky a pravidelné promo akce.

Většina bonusů vyžaduje dodatečné podmínky, jako je splnění minimálních sázek nebo vkladů, takže je důležité se s nimi seznámit. Nicméně, tyto bonusy mohou výrazně zvýšit vaší potenciální výplatu a příležitosti.

Finanční možnosti

Betclic nabízí širokou škálu finančních možností pro vklady a výběry. Mezi běžně používané metody patří kreditní karty, bankovní převody, ale také moderní elektronické peněženky. Díky této diverzifikaci můžete snadno najít způsob, který vám nejlépe vyhovuje.

Všechny transakce jsou rychlé a bezpečné, což zajišťuje pohodlnou a bezstresovou sázkovou zkušenost. Navíc je důležité zmínit, že Betclic se náležitě stará o tabletové a mobilní platby, což znovu potvrzuje závazek k modernímu sázkařskému prostředí.

3. Kvalitní zákaznická podpora

Pokud se rozhodnete zaregistrovat, kvalitní zákaznická podpora Betclic je jedním z klíčových aspektů, které vám mohou při sázení výrazně pomoci. Betclic uvádí, že se vždy snaží, aby zákazníci měli co nejlepší zážitek, a to zahrnuje i efektivní řešení problémů nebo dotazů, které uživatelé mohou mít.

Podpora je k dispozici prostřednictvím různých kanálů. Zákazníci mohou kontaktovat tým přes e-mail, telefon nebo chat. Způsob komunikace závisí na preferencích uživatele a urgenci problematiky. To znamená, že máte zajištěno, že vaše otázky budou rychle a efektivně zodpovězeny.

Většina dotazů a požadavků bývá zodpovězena v krátkém čase, což je pro uživatele vždy příjemné. Podpora je dostupná v několika jazycích, což pouze zvyšuje uživatelský komfort pro mezinárodní klientelu. To je užitečné zejména během velkých sportovních událostí, kdy se může objevit více otázek a specifických požadavků.

  1. Podpora přes chat: Rychlí a efektivní odpovědi na otázky.
  2. Telefonická podpora: Možnost mluvit s odborníky přímo.
  3. E-mailová podpora: Pro složitější dotazy a požadavky.

Vzdělávací materiály

Betclic také klade důraz na vzdělávání svých uživatelů, a tak doporučuje různé zdroje a články zabývající se tipy pro sázení. Tyto materiály pokrývají široké spektrum témat, od základního sázení po pokročilé strategie. Určitě stojí za to věnovat čas ke studiu, abyste se stali úspěšnějším sázkařem.

Vzdělávací sekce vám pomůže nejen lépe chápat svět sázek, ale také aplikovat tyto znalosti v praxi. V tomto ohledu Betclic vycháází vstříc svým uživatelům a pomáhá jim se zlepšit.

Zatím poslední tipy pro sázení

Nakonec, Betclic pravidelně aktualizuje své tipy a rady pro sázení, které zahrnují jak nováčky, tak i zkušené sázkaře. Udržování aktuálnosti informací o týmech, hráčích a statistikách je nezbytné pro úspěšné sázení. Betclic ci se connecter vám poskytne nejen přístup k široké škále sázek, ale také nezapomenutelné tipy, které mohou zlepšit vaše šance na úspěch.

4. Inovativní funkce

Jedním z dalších důvodů, proč se připojit k Betclic, jsou jeho inovativní funkce. Tato platforma neustále pracuje na svém zlepšování, aby uživatelé měli co nejlepší sázkový zážitek. Například, mít možnost sledovat zápasy živě a sázet na průběh utkání přitom, je unikátní výhoda, kterou Betclic nabízí.

Inovativní technologie, jako je livestreaming, vám umožňuje být v kontaktu s akcí a vždy mít přehled o aktuálním dění ve sportovním světě. Tato funkce je ideální pro sázkaře, kteří chtějí reagovat na různé situace a události okamžitě.

Inovativní funkce
Popis
Živé sázení Možnost sázet během probíhajícího zápasu.
Livestreaming Sledování zápasů a událostí v reálném čase.

Další pozitivní vlastností Betclic je možnost přizpůsobení sázek. To znamená, že si můžete vytvořit vlastní sázkové karty podle vlastních preferencí. Uživatelé také mají přístup k analýzám a statistikám, které mohou obohatit vaše rozhodování a pomoci vám lépe se orientovat v sázkovém prostředí.

Mobilní aplikace

Betclic přichází i s vysoce kvalitní mobilní aplikací, která je k dispozici pro zařízení Android a iOS. Tato aplikace nabízí všechny funkce, kterými se chlubí desktopová verze webu, a navíc ji můžete používat kdekoli a kdykoli. Mobilní aplikace je navržena uživatelsky příjemným způsobem, což znamená, že i na menších obrazovkách je snadné umisťovat sázky a sledovat probíhající události.

Mobilní aplikace Betclic je ideálním řešením pro aktivní sázkaře, kteří často cestují nebo preferují sázení z pohodlí svého domova. Kombinace rychlosti a efektivity činí z mobilní aplikace výborný nástroj pro efektivní sázení a sledování sportovních událostí.

Technologické inovace

Betclic neustále investuje do moderních technologií, což jí umožňuje zůstávat na špici v sázkovém průmyslu. Inovativní algoritmy pro analýzu dat a predikci výsledků sportovních událostí poskytují uživatelům cenné informace a podporu pro jejich rozhodování. Všechny tyto technologické inovace přispívají k celkovému zlepšení uživatelské zkušenosti a zajišťují, že Betclic je konkurenceschopný na současném trhu.

5. sázkový trh

Betclic nabízí jednu z největších a nejrozmanitějších sázkových nabídek v Evropě, pokrývající široké spektrum sportovních událostí. Mezi nejpopulárnější sporty, na které můžete sázky umisťovat, patří fotbal, basketbal, tenis a hokej. Sázkový trh je dynamický a neustále se vyvíjí.

Další důležitou součástí sázkového trhu Betclic jsou jejich speciality, jako například live betting a cash out. Tato funkce umožňuje sázkařům sledovat své sázkové tiketky během probíhajících zápasů a upravit je podle aktuální situace. Live betting je atraktivní pro mnoho hráčů, jelikož poskytuje další úroveň vzrušení a napětí.

Příležitosti pro sázkaře

Betclic se ponořil do trhu a nabízí sázkovým kancelářím jedinečné příležitosti, které pomáhají zaujmout různé typy sázkařů. Ať už jste zkušený sázkař nebo nováček, zde najdete příležitosti, které lze průběžně měnit a přizpůsobovat. Oproti jiným platformám Betclic vybírá skutečně každého uživatele.

Zároveň Betclic neustále aktualizuje své nabídky a zlepšuje své sázkové trhy, což uživateli přináší pozitivní zkušenosti a skvělé možnosti pro zábavu. Platí však, že je důležité kontrolovat aktuálnost nabídek a sázkových trhů na webu.

Statistické analýzy

Dalším z aspektů, který odlišuje Betclic od konkurence, jsou pravidelně aktualizované statistiky a analýzy. Betclic se snaží poskytnout sázkařům co nejpřesnější data, což znamená, že máte možnost porovnávat výkony týmů, hráčů a mnoho dalšího. Tyto analýzy mohou výrazně ovlivnit vaše rozhodování a zlepšit vaše šance na úspěch.

6. Sazková zkušenost

Celková sázková zkušenost na Betclic je velmi pozitivní. Platforma se zaměřuje na to, aby jeho uživatelé měli bezproblémový a příjemný zážitek od začátku do konce. Interakce mezi uživatelským rozhraním a dostupnými funkcemi vytváří jedinečný zážitek, který zaujme sázkaře.

Betclic se vrhá do neustálého zlepšování uživatelských zážitků. Každý aspekt, od registrace, přes sázení až po výběr výher, je pečlivě navržen tak, aby uživatelé měli co nejlepší výsledky.

Personalizace sázek

Betclic umožňuje uživatelům personalizovat své sázky a zážitek na míru. Můžete si přizpůsobit notifikace podle vašich oblíbených sportů nebo lig, což znamená, že nikdy nezmeškáte důležité informace nebo události. Tento způsob personalizace zvyšuje zážitek z užívání, což je důležité pro opakované sázkaře, kteří se chtějí cítit v návaznosti na danou komunitu.

Komunitní zapojení

Betclic také podporuje komunitní aspekty, což umožňuje sázkařům spojit se s ostatními uživateli a sdílet své názory a názory na různé zápasy a akce. V rámci této komunity mohou uživatelé diskutovat o statistikách, strategiích a sdílet své úspěchy. Veškeré tyto interakce také přispívají k celkovému zážitku a pocitu společenství při sázení.

7. Zaměření na odpovědné sázení

Betclic je také známý svým důrazem na odpovědné sázení. Různé nástroje pro sebereflexi a nastavení limitů pomáhají hráčům udržovat kontrolu nad jejich sázením. Od možnosti nastavit denní limity až po self-exkluzivaci, Betclic se snaží zajistit, aby se hráči cítili bezpečně a chráněni.

Odpovědné sázení je důležitým tématem v sázkovém průmyslu a Betclic se zavazuje vytvořit prostředí, které minimalizuje riziko a podporuje zábavu. Každý sázkař by měl být schopen vychutnat si svou sázkovou zkušenost bez negativních dopadů.

Podpora pro uživatele

V případě, že máte pocit, že jste ztratili kontrolu, Betclic nabízí pomocné zdroje a kontaktní informace na organizace, které se zabývají prevencí problémového sázení. Je důležité mít na paměti, že existují vždy cesty, jak se opět vrátit pod kontrolu a užívat si sázení bez zbytečně vysokých nároků.

Vzdělávací materiály o odpovědném sázení

Betclic se snaží poskytnout uživatelům vzdělávací obsah, který se týká odpovědného sázení. Pochopení rizik spojených se sázkovými aktivitami a existence správných nástrojů pro sebereflexi mohou hráčům pomoci učinit lepší rozhodnutí a být zodpovědnými sázkaři.

Celkově, Betclic nabízí skvělou platformu pro všechny, kteří chtějí začít se sázením nebo zlepšit své zkušenosti. Betclic ci se connecter je bezpečné a efektivní, a díky široké škále funkcí a možností pro sázkaře se stává ideální volbou pro každého v oblasti sázek.

Závěr

V této době, kdy je online sázení stále populárnější, je důležité mít spolehlivou platformu, jako je Betclic. Jeho výhody od snadné registrace přes širokou nabídku sázek až po kvalitní zákaznickou podporu dělají z Betclic skvělou volbu pro každého sázkaře. Nezáleží na tom, zda jste začátečník nebo zkušený hráč, Betclic má co nabídnout každému. Připojte se k této vzrušující platformě a objevte, co vše vám může přinést!

Leave a Comment

Your email address will not be published. Required fields are marked *