diff --git a/changelogs.txt b/changelogs.txt new file mode 100644 index 0000000..9b59ee4 --- /dev/null +++ b/changelogs.txt @@ -0,0 +1,2 @@ +19/09/2022 version 1.0 +- Initial Release \ No newline at end of file diff --git a/extensions/extensions.php b/extensions/extensions.php new file mode 100644 index 0000000..cfbb03d --- /dev/null +++ b/extensions/extensions.php @@ -0,0 +1,11 @@ + 'compare', + 'type' => 'select2', + 'default' => 'in_list', + 'options' => array( + 'in_list' => esc_html__( 'Any in the list', 'table-rate-shipping-rates' ), + 'none' => esc_html__( 'None in the list', 'table-rate-shipping-rates' ), + ), + 'width' => '98%', + 'box_width' => '25%', + ); + + $in_fields[] = array( + 'id' => 'user_emails', + 'type' => 'select2', + 'multiple' => true, + 'minimum_input_length' => 2, + 'placeholder' => esc_html__( 'Search users...', 'table-rate-shipping-rates' ), + 'allow_clear' => true, + 'minimum_results_forsearch' => 10, + 'data' => array( + 'source' => 'users', + 'ajax' => true, + 'value_col' => 'email', + 'show_value' => true, + ), + 'width' => '100%', + 'box_width' => '75%', + ); + + + + return $in_fields; + } + + public function get_logged_in_user_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'is_logged_in', + 'type' => 'select2', + 'default' => 'yes', + 'options' => array( + 'no' => esc_html__( 'No', 'table-rate-shipping-rates' ), + 'yes' => esc_html__( 'Yes', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + 'box_width' => '100%', + ); + + + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Conditions_Customer(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/condition-types/condition-types-order-totals.php b/extensions/shipped/admin/condition-types/condition-types-order-totals.php new file mode 100644 index 0000000..7fce509 --- /dev/null +++ b/extensions/shipped/admin/condition-types/condition-types-order-totals.php @@ -0,0 +1,173 @@ +get_options() as $option ) { + + add_filter( 'wtars_shipped_admin/get-' . $this->prefix . $option[ 'option_id' ] . '-condition-fields', array( $this, 'get_totals_fields' ), 10, 2 ); + } + + $in_groups[ 'order_totals' ] = esc_html__( 'Cart & Package Totals', 'table-rate-shipping-rates' ); + + return $in_groups; + } + + public function get_conditions( $in_list, $args ) { + + foreach ( $this->get_options() as $option ) { + + $in_list[ $this->prefix . $option[ 'option_id' ] ] = sprintf( esc_html__( 'Totals - %s', 'table-rate-shipping-rates' ), $this->get_title( $option ) ); + } + + return $in_list; + } + + public function get_totals_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'compare', + 'type' => 'select2', + 'default' => '--', + 'options' => array( + '--' => esc_html__( 'Between', 'table-rate-shipping-rates' ), + '>=' => esc_html__( 'More than or equal to', 'table-rate-shipping-rates' ), + '>' => esc_html__( 'More than', 'table-rate-shipping-rates' ), + '<=' => esc_html__( 'Less than or equal to', 'table-rate-shipping-rates' ), + '<' => esc_html__( 'Less than', 'table-rate-shipping-rates' ), + '==' => esc_html__( 'Equal to', 'table-rate-shipping-rates' ), + '!=' => esc_html__( 'Not equal to', 'table-rate-shipping-rates' ), + ), + 'width' => '98%', + 'box_width' => '44%', + 'fold_id' => 'order_totals', + ); + + $in_fields[] = array( + 'id' => 'totals', + 'type' => 'textbox', + 'input_type' => 'number', + 'default' => '0.01', + 'placeholder' => esc_html__( '0.00', 'table-rate-shipping-rates' ), + 'attributes' => array( + 'min' => '0', + 'step' => '0.01', + ), + 'width' => '100%', + 'box_width' => '56%', + 'fold' => array( + 'target' => 'order_totals', + 'attribute' => 'value', + 'value' => array( '--' ), + 'oparator' => 'neq', + 'clear' => false, + ), + ); + + $in_fields[] = array( + 'id' => 'from_totals', + 'type' => 'textbox', + 'input_type' => 'number', + 'default' => '0', + 'placeholder' => esc_html__( '0.00', 'table-rate-shipping-rates' ), + 'attributes' => array( + 'min' => '0', + 'step' => '0.01', + ), + 'width' => '98%', + 'box_width' => '28%', + 'fold' => array( + 'target' => 'order_totals', + 'attribute' => 'value', + 'value' => array( '--' ), + 'oparator' => 'eq', + 'clear' => false, + ), + ); + + $in_fields[] = array( + 'id' => 'to_totals', + 'type' => 'textbox', + 'input_type' => 'number', + 'default' => '0.01', + 'placeholder' => esc_html__( '0.00', 'table-rate-shipping-rates' ), + 'attributes' => array( + 'min' => '0', + 'step' => '0.01', + ), + 'width' => '100%', + 'box_width' => '28%', + 'fold' => array( + 'target' => 'order_totals', + 'attribute' => 'value', + 'value' => array( '--' ), + 'oparator' => 'eq', + 'clear' => false, + ), + ); + + return $in_fields; + } + + public function get_options() { + + global $wtars_shipped; + + $options = array(); + + if ( isset( $wtars_shipped[ 'checkout_totals' ] ) ) { + $options = $wtars_shipped[ 'checkout_totals' ]; + } else { + $options = self::get_default(); + } + + return $options; + } + + private function get_title( $option ) { + if ( !empty( $option[ 'title' ] ) ) { + return $option[ 'title' ]; + } + + return $this->get_default_title( $option[ 'option_id' ] ); + } + + private function get_default_title( $option_id ) { + + foreach ( $this->get_default() as $option ) { + + if ( $option_id == $option[ 'option_id' ] ) { + return $option[ 'admin_note' ]; + } + } + return esc_html__( 'Order Totals', 'table-rate-shipping-rates' ); + } + + private function get_default() { + + return array( + array( + 'title' => esc_html__( 'Order Totals', 'table-rate-shipping-rates' ), + 'option_id' => '2234343', + ), + ); + } + + } + + new WTARS_Shipped_Admin_Conditions_Order_Totals(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/condition-types/condition-types-order.php b/extensions/shipped/admin/condition-types/condition-types-order.php new file mode 100644 index 0000000..d25fe78 --- /dev/null +++ b/extensions/shipped/admin/condition-types/condition-types-order.php @@ -0,0 +1,125 @@ + 'compare', + 'type' => 'select2', + 'default' => '--', + 'options' => array( + '--' => esc_html__( 'Between', 'table-rate-shipping-rates' ), + '>=' => esc_html__( 'More than or equal to', 'table-rate-shipping-rates' ), + '>' => esc_html__( 'More than', 'table-rate-shipping-rates' ), + '<=' => esc_html__( 'Less than or equal to', 'table-rate-shipping-rates' ), + '<' => esc_html__( 'Less than', 'table-rate-shipping-rates' ), + '==' => esc_html__( 'Equal to', 'table-rate-shipping-rates' ), + '!=' => esc_html__( 'Not equal to', 'table-rate-shipping-rates' ), + ), + 'width' => '99%', + 'box_width' => '44%', + 'fold_id' => 'order_quantity', + ); + + $in_fields[] = array( + 'id' => 'quantity', + 'type' => 'textbox', + 'input_type' => 'number', + 'default' => '1', + 'placeholder' => esc_html__( '0', 'table-rate-shipping-rates' ), + 'width' => '100%', + 'box_width' => '56%', + 'attributes' => array( + 'min' => '1', + 'step' => '1', + ), + 'fold' => array( + 'target' => 'order_quantity', + 'attribute' => 'value', + 'value' => array( '--' ), + 'oparator' => 'neq', + 'clear' => false, + ), + ); + + $in_fields[] = array( + 'id' => 'from_quantity', + 'type' => 'textbox', + 'input_type' => 'number', + 'default' => '0', + 'placeholder' => esc_html__( '0', 'table-rate-shipping-rates' ), + 'width' => '98%', + 'box_width' => '28%', + 'attributes' => array( + 'min' => '0', + 'step' => '1', + ), + 'fold' => array( + 'target' => 'order_quantity', + 'attribute' => 'value', + 'value' => array( '--' ), + 'oparator' => 'eq', + 'clear' => false, + ), + ); + + $in_fields[] = array( + 'id' => 'to_quantity', + 'type' => 'textbox', + 'input_type' => 'number', + 'default' => '1', + 'placeholder' => esc_html__( '0', 'table-rate-shipping-rates' ), + 'width' => '100%', + 'box_width' => '28%', + 'attributes' => array( + 'min' => '1', + 'step' => '1', + ), + 'fold' => array( + 'target' => 'order_quantity', + 'attribute' => 'value', + 'value' => array( '--' ), + 'oparator' => 'eq', + 'clear' => false, + ), + ); + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Conditions_Order(); +} diff --git a/extensions/shipped/admin/condition-types/condition-types-package-items.php b/extensions/shipped/admin/condition-types/condition-types-package-items.php new file mode 100644 index 0000000..4675b70 --- /dev/null +++ b/extensions/shipped/admin/condition-types/condition-types-package-items.php @@ -0,0 +1,191 @@ + 'compare', + 'type' => 'select2', + 'default' => 'in_list', + 'options' => array( + 'in_list' => esc_html__( 'Any in the list', 'table-rate-shipping-rates' ), + 'in_all_list' => esc_html__( 'All in the list', 'table-rate-shipping-rates' ), + 'in_list_only' => esc_html__( 'Only in the list', 'table-rate-shipping-rates' ), + 'in_all_list_only' => esc_html__( 'Only all in the list', 'table-rate-shipping-rates' ), + 'none' => esc_html__( 'None in the list', 'table-rate-shipping-rates' ), + ), + 'width' => '99%', + 'box_width' => '29%', + ); + + $in_fields[] = array( + 'id' => 'product_slugs', + 'type' => 'select2', + 'multiple' => true, + 'minimum_input_length' => 2, + 'placeholder' => esc_html__( 'Search products...', 'table-rate-shipping-rates' ), + 'allow_clear' => true, + 'minimum_results_forsearch' => 10, + 'data' => array( + 'source' => 'wc:products', + 'ajax' => true, + 'value_col' => 'slug', + ), + 'width' => '100%', + 'box_width' => '71%', + ); + + return $in_fields; + } + + public function get_categories_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'compare', + 'type' => 'select2', + 'default' => 'in_list', + 'options' => array( + 'in_list' => esc_html__( 'Any in the list', 'table-rate-shipping-rates' ), + 'in_all_list' => esc_html__( 'All in the list', 'table-rate-shipping-rates' ), + 'in_list_only' => esc_html__( 'Only in the list', 'table-rate-shipping-rates' ), + 'in_all_list_only' => esc_html__( 'Only all in the list', 'table-rate-shipping-rates' ), + 'none' => esc_html__( 'None in the list', 'table-rate-shipping-rates' ), + ), + 'width' => '99%', + 'box_width' => '29%', + ); + + $in_fields[] = array( + 'id' => 'category_slugs', + 'type' => 'select2', + 'multiple' => true, + 'minimum_input_length' => 1, + 'placeholder' => esc_html__( 'Search categories...', 'table-rate-shipping-rates' ), + 'allow_clear' => true, + 'minimum_results_forsearch' => 10, + 'data' => array( + 'source' => 'categories:product_cat', + 'ajax' => true, + 'value_col' => 'slug', + ), + 'width' => '100%', + 'box_width' => '71%', + ); + + return $in_fields; + } + + public function get_tags_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'compare', + 'type' => 'select2', + 'default' => 'in_list', + 'options' => array( + 'in_list' => esc_html__( 'Any in the list', 'table-rate-shipping-rates' ), + 'in_all_list' => esc_html__( 'All in the list', 'table-rate-shipping-rates' ), + 'in_list_only' => esc_html__( 'Only in the list', 'table-rate-shipping-rates' ), + 'in_all_list_only' => esc_html__( 'Only all in the list', 'table-rate-shipping-rates' ), + 'none' => esc_html__( 'None in the list', 'table-rate-shipping-rates' ), + ), + 'width' => '99%', + 'box_width' => '29%', + ); + + $in_fields[] = array( + 'id' => 'tag_slugs', + 'type' => 'select2', + 'multiple' => true, + 'minimum_input_length' => 1, + 'placeholder' => esc_html__( 'Search tags...', 'table-rate-shipping-rates' ), + 'allow_clear' => true, + 'minimum_results_forsearch' => 10, + 'data' => array( + 'source' => 'categories:product_tag', + 'ajax' => true, + 'value_col' => 'slug', + ), + 'width' => '100%', + 'box_width' => '71%', + ); + + return $in_fields; + } + + public function get_shipping_classes_fields( $in_fields, $args ){ + + $in_fields[] = array( + 'id' => 'compare', + 'type' => 'select2', + 'default' => 'in_list', + 'options' => array( + 'in_list' => esc_html__( 'Any in the list', 'table-rate-shipping-rates' ), + 'in_all_list' => esc_html__( 'All in the list', 'table-rate-shipping-rates' ), + 'in_list_only' => esc_html__( 'Only in the list', 'table-rate-shipping-rates' ), + 'in_all_list_only' => esc_html__( 'Only all in the list', 'table-rate-shipping-rates' ), + 'none' => esc_html__( 'None in the list', 'table-rate-shipping-rates' ), + ), + 'width' => '99%', + 'box_width' => '29%', + ); + + $in_fields[] = array( + 'id' => 'shipping_classes', + 'type' => 'select2', + 'multiple' => true, + 'placeholder' => esc_html__( 'Search shipping classes...', 'table-rate-shipping-rates' ), + 'minimum_input_length' => 1, + 'minimum_results_forsearch' => 10, + 'data' => array( + 'source' => 'wc:shipping_classes', + 'ajax' => true, + 'value_col' => 'slug', + ), + 'width' => '100%', + 'box_width' => '71%', + ); + + return $in_fields; + } + } + + new WTARS_Shipped_Admin_Conditions_Package_Items(); +} diff --git a/extensions/shipped/admin/condition-types/condition-types-package-weight.php b/extensions/shipped/admin/condition-types/condition-types-package-weight.php new file mode 100644 index 0000000..acff505 --- /dev/null +++ b/extensions/shipped/admin/condition-types/condition-types-package-weight.php @@ -0,0 +1,178 @@ +get_options() as $option ) { + + add_filter( 'wtars_shipped_admin/get-' . $this->prefix . $option[ 'option_id' ] . '-condition-fields', array( $this, 'get_weight_fields' ), 10, 2 ); + } + + $in_groups[ 'package_weight' ] = sprintf( esc_html__( 'Package Weight (%s)', 'table-rate-shipping-rates' ), $unit ); + + return $in_groups; + } + + public function get_conditions( $in_list, $args ) { + + $unit = get_option( 'woocommerce_weight_unit' ); + + foreach ( $this->get_options() as $option ) { + + $in_list[ $this->prefix . $option[ 'option_id' ] ] = sprintf( esc_html__( 'Package Weight - %s (%s)', 'table-rate-shipping-rates' ), $this->get_title( $option ), $unit ); + } + + return $in_list; + } + + public function get_weight_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'compare', + 'type' => 'select2', + 'default' => '--', + 'options' => array( + '--' => esc_html__( 'Between', 'table-rate-shipping-rates' ), + '>=' => esc_html__( 'More than or equal to', 'table-rate-shipping-rates' ), + '>' => esc_html__( 'More than', 'table-rate-shipping-rates' ), + '<=' => esc_html__( 'Less than or equal to', 'table-rate-shipping-rates' ), + '<' => esc_html__( 'Less than', 'table-rate-shipping-rates' ), + '==' => esc_html__( 'Equal to', 'table-rate-shipping-rates' ), + '!=' => esc_html__( 'Not equal to', 'table-rate-shipping-rates' ), + ), + 'width' => '98%', + 'box_width' => '44%', + 'fold_id' => 'order_weight', + ); + + $in_fields[] = array( + 'id' => 'weight', + 'type' => 'textbox', + 'input_type' => 'number', + 'default' => '0.5', + 'placeholder' => esc_html__( '0.00', 'table-rate-shipping-rates' ), + 'attributes' => array( + 'min' => '0', + 'step' => '0.01', + ), + 'width' => '100%', + 'box_width' => '56%', + 'fold' => array( + 'target' => 'order_weight', + 'attribute' => 'value', + 'value' => array( '--' ), + 'oparator' => 'neq', + 'clear' => false, + ), + ); + + $in_fields[] = array( + 'id' => 'from_weight', + 'type' => 'textbox', + 'input_type' => 'number', + 'default' => '0', + 'placeholder' => esc_html__( '0.00', 'table-rate-shipping-rates' ), + 'attributes' => array( + 'min' => '0', + 'step' => '0.01', + ), + 'width' => '98%', + 'box_width' => '28%', + 'fold' => array( + 'target' => 'order_weight', + 'attribute' => 'value', + 'value' => array( '--' ), + 'oparator' => 'eq', + 'clear' => false, + ), + ); + + $in_fields[] = array( + 'id' => 'to_weight', + 'type' => 'textbox', + 'input_type' => 'number', + 'default' => '0.5', + 'placeholder' => esc_html__( '0.00', 'table-rate-shipping-rates' ), + 'attributes' => array( + 'min' => '0', + 'step' => '0.01', + ), + 'width' => '100%', + 'box_width' => '28%', + 'fold' => array( + 'target' => 'order_weight', + 'attribute' => 'value', + 'value' => array( '--' ), + 'oparator' => 'eq', + 'clear' => false, + ), + ); + + return $in_fields; + } + + public function get_options() { + + global $wtars_shipped; + + $options = array(); + + if ( isset( $wtars_shipped[ 'weight_calcs' ] ) ) { + $options = $wtars_shipped[ 'weight_calcs' ]; + } else { + $options = self::get_default(); + } + + return $options; + } + + private function get_title( $option ) { + if ( !empty( $option[ 'admin_note' ] ) ) { + return $option[ 'admin_note' ]; + } + + return $this->get_default_title( $option[ 'option_id' ] ); + } + + private function get_default_title( $option_id ) { + + foreach ( $this->get_default() as $option ) { + + if ( $option_id == $option[ 'option_id' ] ) { + return $option[ 'admin_note' ]; + } + } + return esc_html__( 'Weight', 'table-rate-shipping-rates' ); + } + + private function get_default() { + + return array( + array( + 'admin_note' => esc_html__( 'Weight', 'table-rate-shipping-rates' ), + 'option_id' => '2234343', + ), + ); + } + + } + + new WTARS_Shipped_Admin_Conditions_Package_Weight(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/condition-types/condition-types-shipping-address.php b/extensions/shipped/admin/condition-types/condition-types-shipping-address.php new file mode 100644 index 0000000..3328886 --- /dev/null +++ b/extensions/shipped/admin/condition-types/condition-types-shipping-address.php @@ -0,0 +1,130 @@ + 'compare', + 'type' => 'select2', + 'default' => 'in_list', + 'options' => array( + 'in_list' => esc_html__( 'Any in the list', 'table-rate-shipping-rates' ), + 'none' => esc_html__( 'None in the list', 'table-rate-shipping-rates' ), + ), + 'width' => '98%', + 'box_width' => '26%', + ); + + $in_fields[] = array( + 'id' => 'countries', + 'type' => 'select2', + 'multiple' => true, + 'allow_clear' => true, + 'minimum_input_length' => 2, + 'minimum_results_forsearch' => 10, + 'placeholder' => esc_html__( 'Shipping Countries...', 'table-rate-shipping-rates' ), + 'ajax_data' => 'wc:countries', + 'width' => '100%', + 'box_width' => '74%', + ); + + return $in_fields; + } + + public function get_states_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'compare', + 'type' => 'select2', + 'default' => 'in_list', + 'options' => array( + 'in_list' => esc_html__( 'Any in the list', 'table-rate-shipping-rates' ), + 'none' => esc_html__( 'None in the list', 'table-rate-shipping-rates' ), + ), + 'width' => '98%', + 'box_width' => '26%', + ); + + $in_fields[] = array( + 'id' => 'states', + 'type' => 'select2', + 'multiple' => true, + 'allow_clear' => true, + 'minimum_input_length' => 2, + 'minimum_results_forsearch' => 10, + 'placeholder' => esc_html__( 'Shipping States...', 'table-rate-shipping-rates' ), + 'ajax_data' => 'wc:states', + 'width' => '100%', + 'box_width' => '74%', + ); + + return $in_fields; + } + + public function get_postcodes_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'compare', + 'type' => 'select2', + 'default' => 'in_list', + 'options' => array( + 'match' => esc_html__( 'Match', 'table-rate-shipping-rates' ), + 'not_match' => esc_html__( 'Not match', 'table-rate-shipping-rates' ), + ), + 'width' => '98%', + 'box_width' => '22%', + ); + + $in_fields[] = array( + 'id' => 'postcode', + 'type' => 'textbox', + 'input_type' => 'text', + 'default' => '', + 'placeholder' => esc_html__( 'e.g 1815, 870*, [1870 - 9999], DSE, LDS', 'table-rate-shipping-rates' ), + 'width' => '100%', + 'box_width' => '78%', + ); + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Conditions_Shipping_Address(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/condition-types/condition-types.php b/extensions/shipped/admin/condition-types/condition-types.php new file mode 100644 index 0000000..94b0215 --- /dev/null +++ b/extensions/shipped/admin/condition-types/condition-types.php @@ -0,0 +1,35 @@ + $type_group ) { + self::$cost_types[ $args[ 'module' ] ][ $key ][ 'label' ] = $type_group; + self::$cost_types[ $args[ 'module' ] ][ $key ][ 'options' ] = apply_filters( 'wtars_shipped_admin/get-cost-group-types-' . $key, array(), $args ); + } + + return self::$cost_types[ $args[ 'module' ] ]; + } + + public static function get_type_fields( $args ) { + $type_fields = array(); + + $target = $args[ 'fold_id' ]; + + + $amount_type_ids = self::get_type_ids( $args ); + + $disabled_list = WTARS_Shipped_Admin_Page::get_disabled_list( array(), $amount_type_ids ); + + foreach ( $amount_type_ids as $amount_type_id ) { + + if ( in_array( $amount_type_id, $disabled_list ) ) { + continue; + } + + $type_flds = apply_filters( 'wtars_shipped_admin/get-cost-type-' . $amount_type_id . '-fields', array(), $args ); + + foreach ( $type_flds as $type_fld ) { + $type_fld[ 'fold' ] = array( + 'target' => $target, + 'attribute' => 'value', + 'value' => $amount_type_id, + 'oparator' => 'eq', + 'clear' => false, + ); + + $type_fields[] = $type_fld; + } + } + + return $type_fields; + } + + public static function get_other_fields( $in_fields, $args ) { + return apply_filters( 'wtars_shipped_admin/get-cost-type-fields', $in_fields, $args ); + } + + public static function get_cost_add_methods( $args ) { + + $module_text = ''; + + if ( 'shipping-rates' == $args[ 'module' ] ) { + $module_text = esc_html__( 'costs', 'table-rate-shipping-rates' ); + } + + if ( 'cart-fees' == $args[ 'module' ] ) { + $module_text = esc_html__( 'fees', 'table-rate-shipping-rates' ); + } + + $options = array( + 'add' => sprintf( esc_html__( 'Add to previous %s', 'table-rate-shipping-rates' ), $module_text ) + ); + + return apply_filters( 'wtars_shipped_admin/get-cost-add-methods', $options, $args ); + } + + public static function get_type_ids( $args ) { + + $amount_type_ids = array(); + foreach ( self::get_types( $args ) as $key => $amount_type ) { + + if ( isset( $amount_type[ 'options' ] ) ) { + foreach ( $amount_type[ 'options' ] as $sub_key => $a_type ) { + $amount_type_ids[] = $sub_key; + } + } else { + $amount_type_ids[] = $key; + } + } + + return $amount_type_ids; + } + + public static function get_cost_box_fields( $in_fields, $args ) { + + foreach ( apply_filters( 'wtars_shipped_admin/get-cost-box-fields', array(), $args ) as $field ) { + $in_fields[] = $field; + } + + return $in_fields; + } + + } + +} diff --git a/extensions/shipped/admin/data-list/data-list-cart-fee-methods.php b/extensions/shipped/admin/data-list/data-list-cart-fee-methods.php new file mode 100644 index 0000000..1311db8 --- /dev/null +++ b/extensions/shipped/admin/data-list/data-list-cart-fee-methods.php @@ -0,0 +1,27 @@ + esc_html__( 'Cart Subtotals', 'table-rate-shipping-rates' ), + 'option_id' => '2234343', + ), + array( + 'title' => esc_html__( 'Package Totals', 'table-rate-shipping-rates' ), + 'option_id' => '2234344', + ), + ); + } + + return array( + array( + 'title' => esc_html__( 'Order Totals', 'table-rate-shipping-rates' ), + 'option_id' => '2234343', + ), + ); + } + + } + + new WTARS_Shipped_Admin_Data_List_Checkout_Totals(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/data-list/data-list-shipping-rate-methods.php b/extensions/shipped/admin/data-list/data-list-shipping-rate-methods.php new file mode 100644 index 0000000..3494090 --- /dev/null +++ b/extensions/shipped/admin/data-list/data-list-shipping-rate-methods.php @@ -0,0 +1,27 @@ += 2 && $db_source[ 0 ] == 'shipped' ) { + if ( count( $db_source ) > 2 ) { + $n_src = array(); + for ( $i = 2; $i < count( $db_source ); $i++ ) { + $n_src[] = $db_source[ $i ]; + } + $data_args[ 'source' ] = implode( ':', $n_src ); + } + + return apply_filters( 'wtars_shipped_admin/get-data-list-' . $db_source[ 1 ], $result, $data_args ); + } + + + return $result; + } + + } + + new WTARS_Shipped_Admin_Data_List(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/logic-types/logic-types-conditions.php b/extensions/shipped/admin/logic-types/logic-types-conditions.php new file mode 100644 index 0000000..2ffb6d1 --- /dev/null +++ b/extensions/shipped/admin/logic-types/logic-types-conditions.php @@ -0,0 +1,210 @@ + 'match_mode', + 'type' => 'select2', + 'full_width' => true, + 'center_head' => true, + 'title' => sprintf( esc_html__( '%s Conditions', 'table-rate-shipping-rates' ), $module_text ), + 'desc' => sprintf( esc_html__( 'List of conditions in which this %s should apply, empty conditions will apply this %s in any scenario', 'table-rate-shipping-rates' ), $module_tool_text, $module_tool_text ), + 'default' => 'match_all', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => array( + 'match_all' => esc_html__( 'All conditions should match', 'table-rate-shipping-rates' ), + ), + 'width' => '320px', + ); + + return $in_fields; + } + + public static function get_cost_conditions_title( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'paneltitle', + 'full_width' => true, + 'center_head' => true, + 'title' => esc_html__( 'Conditions', 'table-rate-shipping-rates' ), + 'desc' => esc_html__( 'List of conditions in which this shipping cost should apply, all specified conditions must match', 'table-rate-shipping-rates' ), + 'field_css_class' => array( 'shipped_logic_title' ), + 'last' => true, + 'fold' => array( + 'target' => 'set_conditions', + 'attribute' => 'value', + 'value' => array( 'yes' ), + 'oparator' => 'eq', + 'clear' => false, + ), + ); + + + return $in_fields; + } + + public static function get_condition_fields( $in_fields, $args ) { + + $field = array( + 'id' => 'conditions', + 'type' => 'simple-repeater', + 'filter_id' => 'shipped-conditions', + 'new_field_args' => $args, + 'white_repeater' => ('method' == $args[ 'sub_module' ]) ? true : false, + 'repeater_size' => 'smaller', + 'buttons_sep' => false, + 'buttons_box_width' => '65px', + 'width' => '100%', + 'css_class' => array( 'shipped_conditions' ), + 'sortable' => array( + 'enabled' => true, + ), + 'template_adder' => array( + 'position' => 'right', + 'show_list' => false, + 'button_text' => esc_html__( 'Add Condition', 'table-rate-shipping-rates' ), + ), + ); + + if ( 'base-cost' == $args[ 'sub_module' ] || 'extra-cost' == $args[ 'sub_module' ] ) { + + $field[ 'fold' ] = array( + 'target' => 'set_conditions', + 'attribute' => 'value', + 'value' => array( 'yes' ), + 'oparator' => 'eq', + 'clear' => false, + ); + } + + $in_fields[] = $field; + + return $in_fields; + } + + public function get_condition_templates( $in_templates, $repeater_args ) { + + $in_templates[] = array( + 'id' => 'condition', + ); + + return $in_templates; + } + + public function get_condition_template_fields( $in_fields, $repeater_args ) { + + $args = $repeater_args[ 'field_args' ]; + + $list = array(); + + $groups = WTARS_Shipped_Admin_Condition_Types::get_groups( $args ); + + foreach ( $groups as $key => $group_label ) { + $list[ $key ][ 'label' ] = $group_label; + $list[ $key ][ 'options' ] = WTARS_Shipped_Admin_Condition_Types::get_conditions( $key, $args ); + } + + + $in_fields[] = array( + 'id' => 'condition_type', + 'type' => 'select2', + 'default' => '', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-grouped-list', + 'options' => $list, + 'width' => '98%', + 'box_width' => '33%', + 'dyn_switcher_id' => 'condition_type', + ); + + + $conds = array(); + foreach ( $list as $grp ) { + if ( count( $grp[ 'options' ] ) > 0 ) { + $conds = array_merge( $conds, array_keys( $grp[ 'options' ] ) ); + } + } + + $disabled_list = WTARS_Shipped_Admin_Page::get_disabled_list( array(), $conds ); + + foreach ( $conds as $cond ) { + if ( in_array( $cond, $disabled_list ) ) { + continue; + } + + $in_fields[] = array( + 'id' => 'condition_type_' . $cond, + 'type' => 'group-field', + 'dyn_switcher_target' => 'condition_type', + 'dyn_switcher_target_value' => $cond, + 'fluid-group' => true, + 'width' => '67%', + 'css_class' => array( 'rn-last' ), + 'last' => true, + 'fields' => WTARS_Shipped_Admin_Condition_Types::get_condition_fields( $cond, $args ), + ); + } + + return $in_fields; + } + + public function process_options( $cost, $raw_cost, $args ) { + + if ( $raw_cost[ 'set_conditions' ] == 'yes' && isset( $raw_cost[ 'conditions' ] ) ) { + $cost[ 'conditions' ] = $raw_cost[ 'conditions' ]; + } + + return $cost; + } + + } + + new WTARS_Shipped_Admin_Logic_Types_Conditions(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/logic-types/logic-types.php b/extensions/shipped/admin/logic-types/logic-types.php new file mode 100644 index 0000000..1d34b7f --- /dev/null +++ b/extensions/shipped/admin/logic-types/logic-types.php @@ -0,0 +1,7 @@ + +

Shipped - WooCommerce Table Rate Shipping, that’s awesome! Could you please do me a favor and give it a 5-star rating to help us spread the word?', 'table-rate-shipping-rates' ), array( 'strong' => array() ) ); ?>

+

+ + + +

+ \ No newline at end of file diff --git a/extensions/shipped/admin/notices/notices-view.php b/extensions/shipped/admin/notices/notices-view.php new file mode 100644 index 0000000..9c7cd32 --- /dev/null +++ b/extensions/shipped/admin/notices/notices-view.php @@ -0,0 +1,8 @@ +
+

Table Rate Shipping Rates, that’s awesome! Could you please do me a favor and give it a 5-star rating to help us spread the word?', 'table-rate-shipping-rates' ), array( 'strong' => array() ) ); ?>

+

+ + + +

+
\ No newline at end of file diff --git a/extensions/shipped/admin/notices/notices.php b/extensions/shipped/admin/notices/notices.php new file mode 100644 index 0000000..39d63e9 --- /dev/null +++ b/extensions/shipped/admin/notices/notices.php @@ -0,0 +1,178 @@ +notices_name = 'wtars_shipped_admin_notices'; + + add_action( 'admin_notices', array( $this, 'show_notice' ) ); + add_action( 'wp_ajax_wtars_shipped_dismiss_notice', array( $this, 'dismiss_notice' ) ); + } + + public static function get_instance(): self { + + if ( !self::$instance ) { + + self::$instance = new self(); + } + + return self::$instance; + } + + public function enqueue_scripts() { + + wp_enqueue_script( 'shipped_notices_scripts_js', WTARS_SHIPPED_ASSETS_URL . 'admin-notices.js', array( 'jquery' ), '1.0', true ); + } + + public function show_notice() { + + if ( $this->can_show_pro_notices() ) { + + include_once 'notices-view-pro.php'; + } else if ( $this->can_show_notices() ) { + + include_once 'notices-view.php'; + } + } + + public function dismiss_notice() { + + if ( !isset( $_POST[ 'dismiss_notice_id' ] ) ) { + + wp_die(); + } + + $maybe_later = false; + + if ( isset( $_POST[ 'mayme_later' ] ) ) { + + $maybe_later = ('yes' == sanitize_text_field( $_POST[ 'mayme_later' ] )); + } + + $notice_id = sanitize_text_field( $_POST[ 'dismiss_notice_id' ] ); + + + $review = $this->get_notice_option(); + + if ( !$maybe_later && $this->notice_is_pro( $notice_id ) ) { + + $review[ 'review_request_pro' ][ 'dismissed' ] = true; + } else if ( !$maybe_later ) { + $review[ 'review_request' ][ 'dismissed' ] = true; + } + + $time = time(); + + $review[ 'review_request_pro' ][ 'time' ] = $time; + $review[ 'review_request' ][ 'time' ] = $time; + + update_option( $this->notices_name, $review ); + + wp_die(); + } + + private function can_show_notices() { + + if ( !is_super_admin() ) { + + return false; + } + + $review = $this->get_notice_option(); + + $review_request = $review[ 'review_request' ]; + + return $this->can_show_request( $review_request, 3 ); + } + + private function can_show_pro_notices() { + + if ( !is_super_admin() ) { + + return false; + } + + if ( !$this->is_pro_version() ) { + + return false; + } + + $review = $this->get_notice_option(); + + $review_request = $review[ 'review_request_pro' ]; + + return $this->can_show_request( $review_request, 3 ); + } + + private function get_notice_option() { + + $nodice_option = get_option( $this->notices_name, false ); + + if ( !$nodice_option ) { + + return $this->get_default_notice_option(); + } + + return $nodice_option; + } + + private function get_default_notice_option() { + + $default_request_review = array( + 'time' => time(), + 'dismissed' => false, + ); + + $default_review = array( + 'review_request' => $default_request_review, + 'review_request_pro' => $default_request_review, + ); + + update_option( $this->notices_name, $default_review ); + + return $default_review; + } + + private function can_show_request( $review_request, $days ) { + + if ( $review_request[ 'dismissed' ] ) { + + return false; + } + + $time = $review_request[ 'time' ] + (DAY_IN_SECONDS * $days); + + $current_time = time(); + + return ($time < $current_time); + } + + private function notice_is_pro( $notice_id ) { + + return ('pro' == $notice_id); + } + + private function is_pro_version() { + + if ( class_exists( 'WTARS_Shipped_Premium' ) ) { + + return true; + } + + return false; + } + + } + + WTARS_Shipped_Admin_Notices::get_instance(); +} diff --git a/extensions/shipped/admin/settings-page/abstract-section.php b/extensions/shipped/admin/settings-page/abstract-section.php new file mode 100644 index 0000000..252ccac --- /dev/null +++ b/extensions/shipped/admin/settings-page/abstract-section.php @@ -0,0 +1,37 @@ +option_name = $option_name; + + $this->instance_id = $instance_id; + + $this->init(); + } + + protected function init() {} + + protected function get_option_name() { + + return $this->option_name; + } + + protected function get_instance_id() { + + return $this->instance_id; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel-base-costs.php b/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel-base-costs.php new file mode 100644 index 0000000..725dd2b --- /dev/null +++ b/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel-base-costs.php @@ -0,0 +1,238 @@ + 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => false, + 'css_class' => 'shipped_panel_calcs', + 'field_css_class' => array( 'shipped_panel_calcs_field', 'shipped_mid_panel_calcs' ), + 'last' => true, + 'fields' => apply_filters( 'wtars_shipped_admin/cart-fees/get-panel-base-costs-fields', array(), $args ), + ); + + return $in_fields; + } + + public function get_panel_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => true, + 'panel_size' => 'smaller', + 'width' => '100%', + 'last' => true, + 'css_class' => 'shipped_calcs_title', + 'fields' => array( + array( + 'id' => 'any_id', + 'type' => 'paneltitle', + 'full_width' => true, + 'center_head' => true, + 'title' => esc_html__( 'Shipping Fees', 'table-rate-shipping-rates' ), + 'desc' => esc_html__( 'List of shipping fees to apply, empty list will apply zero fee', 'table-rate-shipping-rates' ), + ) + ), + ); + + $in_fields[] = array( + 'id' => 'base_costs', + 'field_args' => $args, + 'filter_id' => 'base_fees', + 'type' => 'repeater', + 'white_repeater' => true, + 'repeater_size' => 'smaller', + 'collapsible' => false, + 'accordions' => false, + 'buttons_sep' => false, + 'delete_button' => true, + 'clone_button' => false, + 'css_class' => 'shipped_calcs', + 'field_css_class' => array( 'shipped_calcs_field' ), + 'width' => '100%', + 'auto_expand' => array( + 'all_section' => true, + 'new_section' => true, + 'default_section' => true, + 'cloned_section' => true, + ), + 'sortable' => array( + 'enabled' => true, + ), + 'template_adder' => array( + 'position' => 'right', + 'button_text' => esc_html__( 'Add Fee', 'table-rate-shipping-rates' ), + ), + ); + + return $in_fields; + } + + public function get_option_templates( $in_templates, $repeater_args ) { + + $in_templates[] = array( + 'id' => 'base_cost', + 'head' => array( + 'title' => '', + 'defaut_title' => esc_html__( 'Shipping Fee', 'table-rate-shipping-rates' ), + 'title_field' => 'cost_type', + ) + ); + + return $in_templates; + } + + public function get_fee_fields( $in_fields, $repeater_args ) { + + $section_args = $repeater_args[ 'field_args' ]; + + $args = array( + 'instance_id' => $section_args[ 'instance_id' ], + 'module' => 'cart-fees', + 'sub_module' => 'base-cost', + 'fold_id' => 'cost_type', + 'format_cap_text' => esc_html__( 'Fee', 'table-rate-shipping-rates' ), + 'format_text' => esc_html__( 'fee', 'table-rate-shipping-rates' ), + ); + + $fee_types = WTARS_Shipped_Admin_Cost_Types::get_types( $args ); + + $in_fields[] = array( + 'id' => 'id', + 'type' => 'autoid', + 'autoid' => 'shipped', + ); + + $in_fields[] = array( + 'id' => 'any_ids', + 'type' => 'columns-field', + 'columns' => 5, + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'cost_type', + 'type' => 'select2', + 'column_size' => 2, + 'column_title' => esc_html__( 'Fee Type', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls handling fee type', 'table-rate-shipping-rates' ), + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-grouped-list', + 'default' => apply_filters( 'wtars_shipped_admin/get-cost-types-default', 'cart_fixed', $args ), + 'options' => $fee_types, + 'attributes' => array( + 'data-repeater-title' => 'base_costs', + ), + 'width' => '100%', + 'fold_id' => 'cost_type', + ), + array( + 'id' => 'add_type', + 'type' => 'select2', + 'column_size' => 2, + 'tooltip' => esc_html__( 'Controls how the fee should be added to previously calculated fees', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Addition / Subtraction', 'table-rate-shipping-rates' ), + 'default' => 'add', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => WTARS_Shipped_Admin_Cost_Types::get_cost_add_methods( $args ), + 'width' => '100%', + ), + array( + 'id' => 'set_conditions', + 'type' => 'select2', + 'column_size' => 1, + 'tooltip' => esc_html__( 'Determines whether no conditions should be validated before fee calculation', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Validate Conditions', 'table-rate-shipping-rates' ), + 'default' => 'no', + 'options' => array( + 'no' => esc_html__( 'No', 'table-rate-shipping-rates' ), + 'yes' => esc_html__( 'Yes', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + 'fold_id' => 'set_conditions', + ), + ), + ); + + + $in_fields[] = array( + 'id' => 'any_ids', + 'type' => 'columns-field', + 'columns' => 12, + 'merge_fields' => false, + 'fields' => $this->get_fee_box_fields( array(), $args ), + ); + + + foreach ( WTARS_Shipped_Admin_Cost_Types::get_type_fields( $args ) as $type_field ) { + $in_fields[] = $type_field; + } + + $in_fields = WTARS_Shipped_Admin_Cost_Types::get_other_fields( $in_fields, $args ); + + return $in_fields; + } + + private function get_fee_box_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'cost', + 'type' => 'textbox', + 'input_type' => 'number', + 'tooltip' => esc_html__( 'Controls the fee to apply, based on fee type', 'table-rate-shipping-rates' ), + 'column_size' => 2, + 'column_title' => esc_html__( 'Fee', 'table-rate-shipping-rates' ), + 'default' => '0.00', + 'placeholder' => esc_html__( '0.00', 'table-rate-shipping-rates' ), + 'width' => '100%', + 'attributes' => array( + 'min' => '0', + 'step' => '0.01', + ), + ); + + $in_fields = WTARS_Shipped_Admin_Cost_Types::get_cost_box_fields( $in_fields, $args ); + + $in_fields[] = array( + 'id' => 'taxable', + 'type' => 'select2', + 'column_size' => 4, + 'column_title' => esc_html__( 'Tax Class', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls fee tax class', 'table-rate-shipping-rates' ), + 'default' => '--0', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'data' => 'shipped:tax_options', + 'width' => '100%', + ); + + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Cart_Fees_Panel_Base_Costs(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel-conditions.php b/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel-conditions.php new file mode 100644 index 0000000..112dafd --- /dev/null +++ b/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel-conditions.php @@ -0,0 +1,39 @@ + 'fee_conditions', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => true, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => true, + 'last' => true, + 'fields' => apply_filters( 'wtars_shipped_admin/cart-fees/get-panel-conditions-fields', array(), $args ), + ); + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Cart_Fees_Panel_Conditions(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel-max.php b/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel-max.php new file mode 100644 index 0000000..ddef65c --- /dev/null +++ b/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel-max.php @@ -0,0 +1,86 @@ + 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => false, + 'css_class' => 'shipped_panel_calcs', + 'field_css_class' => array( 'shipped_panel_calcs_field' ), + 'last' => true, + 'fields' => apply_filters( 'wtars_shipped_admin/cart-fees/get-panel-max-fields', array(), $args ), + ); + + return $in_fields; + } + + public function get_panel_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => true, + 'panel_size' => 'smaller', + 'merge_fields' => false, + 'width' => '100%', + 'last' => true, + 'fields' => array( + array( + 'id' => 'costs_limit', + 'type' => 'columns-field', + 'columns' => 4, + 'merge_fields' => true, + 'fields' => $this->get_fields( $in_fields, $args ), + ), + ), + ); + + return $in_fields; + } + + private function get_fields( $in_fields, $args ) { + + $currency = get_woocommerce_currency_symbol( get_woocommerce_currency() ); + + $in_fields[] = array( + 'id' => 'limit_type', + 'type' => 'select2', + 'column_size' => 1, + 'column_title' => esc_html__( 'Fees Limit', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls handling fees limit', 'table-rate-shipping-rates' ), + 'default' => 'no', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => array( + 'no' => esc_html__( 'No limit', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + ); + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Cart_Fees_Panel_Max(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel-options.php b/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel-options.php new file mode 100644 index 0000000..2105373 --- /dev/null +++ b/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel-options.php @@ -0,0 +1,210 @@ + 'any_ids', + 'type' => 'columns-field', + 'columns' => 4, + 'merge_fields' => false, + 'fields' => array( + $this->get_title_field(), + array( + 'id' => 'admin_note', + 'type' => 'textbox', + 'tooltip' => esc_html__( 'Adds a private note for reference purposes', 'table-rate-shipping-rates' ), + 'column_size' => 1, + 'column_title' => esc_html__( 'Admin Note', 'table-rate-shipping-rates' ), + 'default' => '', + 'placeholder' => esc_html__( 'Type here...', 'table-rate-shipping-rates' ), + 'width' => '100%', + ), + array( + 'id' => 'fee_method', + 'type' => 'select2', + 'column_size' => 1, + 'column_title' => esc_html__( 'Fee Method', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls how the handling fee should be applied', 'table-rate-shipping-rates' ), + 'default' => 'rate_cost', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => $this->get_fee_method_options(), + 'width' => '100%', + 'fold_id' => 'fee_method', + ), + ), + ); + + $in_fields[] = array( + 'id' => 'any_ids', + 'type' => 'columns-field', + 'columns' => 3, + 'merge_fields' => false, + 'fields' => array( + $this->get_tooltip_field(), + array( + 'id' => 'inclusive_tax', + 'type' => 'select2', + 'column_size' => 1, + 'column_title' => esc_html__( 'Tax Calculation', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls handling fee tax calculations', 'table-rate-shipping-rates' ), + 'default' => 'no', + 'options' => array( + 'no' => esc_html__( 'Calculate fee exclusive of taxes', 'table-rate-shipping-rates' ), + 'yes' => esc_html__( 'Calculate fee inclusive of taxes', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + ), + ), + ); + + $in_fields[] = array( + 'id' => 'any_ids', + 'type' => 'columns-field', + 'columns' => 8, + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'shipping_rates', + 'type' => 'select2', + 'column_size' => 6, + 'column_title' => esc_html__( 'Shipping Rates', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls which shipping rates the fee should be part of', 'table-rate-shipping-rates' ), + 'default' => '', + 'multiple' => true, + 'minimum_results_forsearch' => 10, + 'placeholder' => esc_html__( 'Select shipping rates...', 'table-rate-shipping-rates' ), + 'data' => 'shipped:shipping_rates', + 'width' => '100%', + ), + array( + 'id' => 'compare', + 'type' => 'select2', + 'column_size' => 2, + 'column_title' => esc_html__( 'Equals To', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls how the shipping rates should be included', 'table-rate-shipping-rates' ), + 'default' => 'in_list', + 'options' => array( + 'in_list' => esc_html__( 'Any in the list', 'table-rate-shipping-rates' ), + 'none' => esc_html__( 'Any NOT in the list', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + ), + ), + ); + + return $in_fields; + } + + private function get_title_field() { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + + return array( + 'id' => 'title', + 'type' => 'textbox', + 'tooltip' => esc_html__( 'Controls handling fee title on cart and checkout pages', 'table-rate-shipping-rates' ), + 'column_size' => 2, + 'column_title' => esc_html__( 'Title', 'table-rate-shipping-rates' ), + 'default' => '', + 'placeholder' => esc_html__( 'Type here...', 'table-rate-shipping-rates' ), + 'width' => '100%', + ); + } else { + + return array( + 'id' => 'is_any', + 'type' => 'textblock', + 'show_box' => true, + 'column_size' => 2, + 'column_title' => esc_html__( 'Title', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls handling fee title on cart and checkout pages', 'table-rate-shipping-rates' ), + 'text' => WTARS_Shipped_Admin_Page::get_premium_messages( 'short_message' ), + 'width' => '100%', + 'box_width' => '100%', + 'fold' => array( + 'target' => 'fee_method', + 'attribute' => 'value', + 'value' => 'rate_cost', + 'oparator' => 'neq', + 'clear' => false, + ), + ); + } + } + + private function get_tooltip_field() { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + + return array( + 'id' => 'tooltip', + 'type' => 'textarea', + 'sanitize_type' => 'shipped_kses_post', + 'tooltip' => esc_html__( 'Controls handling fee tooltip on cart and checkout pages', 'table-rate-shipping-rates' ), + 'column_size' => 2, + 'column_title' => esc_html__( 'Tooltip', 'table-rate-shipping-rates' ), + 'default' => '', + 'rows' => 1, + 'placeholder' => esc_html__( 'Type here...', 'table-rate-shipping-rates' ), + 'width' => '100%', + 'fold' => array( + 'target' => 'fee_method', + 'attribute' => 'value', + 'value' => 'rate_cost', + 'oparator' => 'neq', + 'clear' => false, + ), + ); + } else { + + return array( + 'id' => 'is_any', + 'type' => 'textblock', + 'show_box' => true, + 'column_size' => 2, + 'column_title' => esc_html__( 'Tooltip', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls handling fee tooltip on cart and checkout pages', 'table-rate-shipping-rates' ), + 'text' => WTARS_Shipped_Admin_Page::get_premium_messages( 'short_message' ), + 'width' => '100%', + 'box_width' => '100%', + 'fold' => array( + 'target' => 'fee_method', + 'attribute' => 'value', + 'value' => 'rate_cost', + 'oparator' => 'neq', + 'clear' => false, + ), + ); + } + } + + private function get_fee_method_options() { + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return array( + 'rate_cost' => esc_html__( 'Apply as shipping cost', 'table-rate-shipping-rates' ), + 'cart_fee' => esc_html__( 'Apply as cart fee', 'table-rate-shipping-rates' ), + ); + } + + return array( + 'rate_cost' => esc_html__( 'Apply as shipping cost', 'table-rate-shipping-rates' ), + ); + } + + } + + new WTARS_Shipped_Admin_Cart_Fees_Panel_Options(); +} diff --git a/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel.php b/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel.php new file mode 100644 index 0000000..e230f20 --- /dev/null +++ b/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-panel.php @@ -0,0 +1,49 @@ + 'fee_id', + 'type' => 'autoid', + 'autoid' => 'shipped', + ); + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => true, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => false, + 'last' => true, + 'fields' => apply_filters( 'wtars_shipped_admin/cart-fees/get-panel-fields', array(), $args ), + ); + + return $in_fields; + } + + public function get_panel_fields( $in_fields, $args ) { + + return apply_filters( 'wtars_shipped_admin/cart-fees/get-panel-option-fields', $in_fields, $args ); + } + + } + + new WTARS_Shipped_Admin_Cart_Fees_Panel(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-section.php b/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-section.php new file mode 100644 index 0000000..ed767f6 --- /dev/null +++ b/extensions/shipped/admin/settings-page/cart-fees-section/cart-fees-section.php @@ -0,0 +1,277 @@ +get_option_name() . 'section-cart_fees-fields', array( $this, 'get_settings_fields' ), 20, 2 ); + } + + add_filter( 'get-option-page-' . $this->get_option_name() . 'section-cart_fees-fields', array( $this, 'get_rules_fields' ), 30, 2 ); + + + add_filter( 'reon/get-repeater-field-cart_fees-templates', array( $this, 'get_rule_templates' ), 10, 2 ); + add_filter( 'roen/get-repeater-template-cart_fees-cart_fee-fields', array( $this, 'get_rule_fields' ), 10, 2 ); + add_filter( 'roen/get-repeater-template-cart_fees-cart_fee-head-fields', array( $this, 'get_rule_head_fields' ), 10, 2 ); + + add_filter( 'reon/process-save-options-' . $this->get_option_name(), array( $this, 'process_options' ), 10 ); + } + + public function get_settings_fields( $in_fields, $section_id ) { + + $in_fields[] = array( + 'id' => 'cart_fees_settings', + 'type' => 'panel', + 'last' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'field_css_class' => array( 'wtars_shipped_rules_apply_mode' ), + 'fields' => array( + array( + 'id' => 'shipped_any_id', + 'type' => 'columns-field', + 'columns' => 8, + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'limit_type', + 'type' => 'select2', + 'column_size' => 2, + 'column_title' => esc_html__( 'Cost Limit', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls handling fees limits', 'table-rate-shipping-rates' ), + 'default' => 'no', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => array( + 'no' => esc_html__( 'No limit', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + 'fold_id' => 'limit_type', + ), + array( + 'id' => 'mode', + 'type' => 'select2', + 'column_size' => 3, + 'column_title' => esc_html__( 'Apply Mode', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls handling fees apply mode', 'table-rate-shipping-rates' ), + 'default' => 'all', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'data' => 'shipped:cart_fee_modes', + 'width' => '100%', + ), + ), + ), + ), + ); + + + + + return $in_fields; + } + + public function get_rules_fields( $in_fields, $section_id ) { + + $max_sections = 1; + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $max_sections = 99999; + } + + $in_fields[] = array( + 'id' => 'cart_fees', + 'type' => 'repeater', + 'white_repeater' => false, + 'repeater_size' => 'small', + 'accordions' => true, + 'buttons_sep' => false, + 'delete_button' => true, + 'clone_button' => true, + 'width' => '100%', + 'max_sections' => $max_sections, + 'max_sections_msg' => esc_html__( 'Please upgrade to premium version in order to add more rates', 'table-rate-shipping-rates' ), + 'field_css_class' => array( 'wtars_shipped_rules' ), + 'css_class' => 'wtars_shipped_extension_rules', + 'auto_expand' => array( + 'new_section' => true, + 'cloned_section' => true, + ), + 'sortable' => array( + 'enabled' => true, + ), + 'template_adder' => array( + 'position' => 'right', + 'show_list' => false, + 'button_text' => esc_html__( 'New Handling Fee', 'table-rate-shipping-rates' ), + ), + ); + + return $in_fields; + } + + public function get_rule_templates( $in_templates, $repeater_args ) { + if ( $repeater_args[ 'screen' ] == 'option-page' && $repeater_args[ 'option_name' ] == $this->get_option_name() ) { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + + $in_templates[] = array( + 'id' => 'cart_fee', + 'head' => array( + 'title' => '', + 'defaut_title' => esc_html__( 'Handling Fee', 'table-rate-shipping-rates' ), + 'title_field' => 'title', + 'subtitle_field' => 'admin_note', + ) + ); + } else { + + $in_templates[] = array( + 'id' => 'cart_fee', + 'head' => array( + 'title' => '', + 'defaut_title' => esc_html__( 'Handling Fee', 'table-rate-shipping-rates' ), + 'title_field' => 'admin_note', + ) + ); + } + } + + return $in_templates; + } + + public function get_rule_fields( $in_fields ) { + + $args = array( + 'instance_id' => $this->get_instance_id(), + 'option_name' => $this->get_option_name() + ); + + return apply_filters( 'wtars_shipped_admin/cart-fees/get-panels', array(), $args ); + } + + public function get_rule_head_fields( $in_fields, $repeater_args ) { + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'group-field', + 'position' => 'right', + 'width' => '100%', + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'apply_mode', + 'type' => 'select2', + 'default' => 'with_others', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'data' => 'shipped:cart_fee_methods', + 'width' => '255px', + ), + array( + 'id' => 'enable', + 'type' => 'select2', + 'default' => 'yes', + 'options' => array( + 'yes' => esc_html__( 'Enable', 'table-rate-shipping-rates' ), + 'no' => esc_html__( 'Disable', 'table-rate-shipping-rates' ), + ), + 'width' => '95px', + ), + ), + ); + + + + return $in_fields; + } + + public function process_options( $options ) { + + if ( isset( $options[ 'cart_fees' ] ) ) { + $options[ 'cart_fees' ] = $this->process_rules( $options[ 'cart_fees' ] ); + } + + return $options; + } + + private function process_rules( $rules ) { + + foreach ( $rules as $key => $rule ) { + + $rules[ $key ] = $this->process_rule( $rule ); + } + + return $rules; + } + + private function process_rule( $rule ) { + + $args = array( + 'instance_id' => $this->get_instance_id(), + 'option_name' => $this->get_option_name(), + 'module' => 'cart-fees', + ); + + if ( isset( $rule[ 'base_costs' ] ) ) { + + $args[ 'sub_module' ] = 'base-cost'; + + $rule[ 'base_costs' ] = $this->process_fees( $rule[ 'base_costs' ], $args ); + } + + if ( isset( $rule[ 'extra_costs' ] ) ) { + + $args[ 'sub_module' ] = 'extra-cost'; + + $rule[ 'extra_costs' ] = $this->process_fees( $rule[ 'extra_costs' ], $args ); + } + + return $rule; + } + + private function process_fees( $raw_fees, $args ) { + + $fees = array(); + + foreach ( $raw_fees as $key => $raw_fee ) { + $fee = array(); + + $fee[ 'id' ] = $raw_fee[ 'id' ]; + $fee[ 'cost_type' ] = $raw_fee[ 'cost_type' ]; + + if ( isset( $raw_fee[ 'add_type' ] ) ) { + $fee[ 'add_type' ] = $raw_fee[ 'add_type' ]; + } + + if ( isset( $raw_fee[ 'group_by' ] ) ) { + $fee[ 'group_by' ] = $raw_fee[ 'group_by' ]; + } + + $fee[ 'set_conditions' ] = $raw_fee[ 'set_conditions' ]; + + $fee[ 'cost' ] = 0.0; + + if ( is_numeric( $raw_fee[ 'cost' ] ) ) { + $fee[ 'cost' ] = $raw_fee[ 'cost' ]; + } + + $fee = apply_filters( 'wtars_shipped_admin/process-cost-options', apply_filters( 'wtars_shipped_admin/process-cost-type-' . $raw_fee[ 'cost_type' ] . '-options', $fee, $raw_fee, $args ), $raw_fee, $args ); + + $fee[ 'taxable' ] = $raw_fee[ 'taxable' ]; + + $fees[ $key ] = $fee; + } + + return $fees; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-panel-conditions.php b/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-panel-conditions.php new file mode 100644 index 0000000..a8b3e82 --- /dev/null +++ b/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-panel-conditions.php @@ -0,0 +1,61 @@ + 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => false, + 'css_class' => 'shipped_panel_calcs', + 'field_css_class' => array( 'shipped_panel_calcs_field', 'shipped_mid_panel_calcs' ), + 'last' => true, + 'fields' => $this->get_inner_panel( array(), $args ), + ); + + return $in_fields; + } + + private function get_inner_panel( $in_fields, $args ) { + + $args[ 'module' ] = 'checkout-messages'; + $args[ 'sub_module' ] = 'messages'; + + $in_fields[] = array( + 'id' => 'message_conditions', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => true, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => true, + 'last' => true, + 'fields' => apply_filters( 'wtars_shipped_admin/checkout-messages/get-panel-conditions-fields', array(), $args ), + ); + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Checkout_Messages_Panel_Conditions(); +} + + \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-panel-options.php b/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-panel-options.php new file mode 100644 index 0000000..4c5eb86 --- /dev/null +++ b/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-panel-options.php @@ -0,0 +1,110 @@ + 'any_ids', + 'type' => 'columns-field', + 'columns' => 4, + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'admin_note', + 'type' => 'textbox', + 'tooltip' => esc_html__( 'Adds a private note for reference purposes', 'table-rate-shipping-rates' ), + 'column_size' => 2, + 'column_title' => esc_html__( 'Admin Note', 'table-rate-shipping-rates' ), + 'default' => '', + 'placeholder' => esc_html__( 'Type here...', 'table-rate-shipping-rates' ), + 'width' => '100%', + ), + array( + 'id' => 'message_type', + 'type' => 'select2', + 'column_size' => 1, + 'column_title' => esc_html__( 'Notification Type', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls cart notification type', 'table-rate-shipping-rates' ), + 'default' => 'error', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => apply_filters( 'wtars_shipped_admin/get-message-types', $this->get_message_type_options() ), + 'width' => '100%', + ), + array( + 'id' => 'always_show', + 'type' => 'select2', + 'column_size' => 1, + 'column_title' => esc_html__( 'Always Show', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Always show message', 'table-rate-shipping-rates' ), + 'default' => 'yes', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => $this->get_always_show_options(), + 'width' => '100%', + ), + ), + ); + + $in_fields[] = array( + 'id' => 'any_ids', + 'type' => 'columns-field', + 'columns' => 1, + 'full_width' => true, + 'center_head' => true, + 'title' => esc_html__( 'Message', 'table-rate-shipping-rates' ), + 'desc' => esc_html__( 'A text to display on the cart / checkout pages. html, shortcodes and {{Parameter ID}} can also by included in the message.', 'table-rate-shipping-rates' ), + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'message', + 'type' => 'textarea', + 'sanitize_type' => 'shipped_kses_post', + 'column_size' => 1, + 'default' => '', + 'placeholder' => esc_html__( 'Type here...', 'table-rate-shipping-rates' ), + 'width' => '100%', + ), + ), + ); + + return $in_fields; + } + + private function get_message_type_options() { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + + return WTARS_Shipped_Premium_Admin_Checkout_Messages_Panel_Options::get_message_type_options(); + } + + return array( + 'error' => esc_html__( 'Error message', 'table-rate-shipping-rates' ), + ); + } + + private function get_always_show_options() { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return WTARS_Shipped_Premium_Admin_Checkout_Messages_Panel_Options::get_always_show_options(); + } + + return array( + 'yes' => esc_html__( 'Yes', 'table-rate-shipping-rates' ), + ); + } + + } + + new WTARS_Shipped_Admin_Checkout_Messages_Panel_Options(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-panel-parameters.php b/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-panel-parameters.php new file mode 100644 index 0000000..8f5f190 --- /dev/null +++ b/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-panel-parameters.php @@ -0,0 +1,43 @@ + 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => false, + 'css_class' => 'shipped_panel_calcs', + 'field_css_class' => array( 'shipped_panel_calcs_field', 'shipped_mid_panel_calcs' ), + 'last' => true, + 'fields' => apply_filters( 'wtars_shipped_admin/checkout-messages/get-panel-parameters-fields', array(), $args ), + ); + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Checkout_Messages_Panel_Parameters(); +} diff --git a/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-panel.php b/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-panel.php new file mode 100644 index 0000000..ef62edb --- /dev/null +++ b/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-panel.php @@ -0,0 +1,49 @@ + 'message_id', + 'type' => 'autoid', + 'autoid' => 'shipped', + ); + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => true, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => false, + 'last' => true, + 'fields' => apply_filters( 'wtars_shipped_admin/checkout-messages/get-panel-fields', array(), $args ), + ); + + return $in_fields; + } + + public function get_panel_fields( $in_fields, $args ) { + + return apply_filters( 'wtars_shipped_admin/checkout-messages/get-panel-option-fields', $in_fields, $args ); + } + + } + + new WTARS_Shipped_Admin_Checkout_Messages_Panel(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-section.php b/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-section.php new file mode 100644 index 0000000..9f7f591 --- /dev/null +++ b/extensions/shipped/admin/settings-page/checkout-messages-section/checkout-messages-section.php @@ -0,0 +1,188 @@ +get_option_name() . 'section-checkout_messages-fields', array( $this, 'get_fields' ), 10, 2 ); + + add_filter( 'reon/get-repeater-field-checkout_messages-templates', array( $this, 'get_rule_templates' ), 10, 2 ); + add_filter( 'roen/get-repeater-template-checkout_messages-checkout_message-fields', array( $this, 'get_rule_fields' ), 10, 2 ); + add_filter( 'roen/get-repeater-template-checkout_messages-checkout_message-head-fields', array( $this, 'get_rule_head_fields' ), 10, 2 ); + + add_filter( 'reon/process-save-options-' . $this->get_option_name(), array( $this, 'process_options' ), 10 ); + } + + public function get_fields( $in_fields, $section_id ) { + + $in_fields[] = array( + 'id' => 'checkout_messages_settings', + 'type' => 'panel', + 'last' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'field_css_class' => array( 'wtars_shipped_rules_apply_mode' ), + 'fields' => array( + array( + 'id' => 'shipped_any_id', + 'type' => 'columns-field', + 'columns' => 8, + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'mode', + 'type' => 'select2', + 'column_size' => 3, + 'column_title' => esc_html__( 'Apply Mode', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls cart message apply mode', 'table-rate-shipping-rates' ), + 'default' => 'all', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'data' => 'shipped:checkout_messages_modes', + 'width' => '100%', + ), + ), + ), + ), + ); + + + $max_sections = 1; + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $max_sections = 99999; + } + + $in_fields[] = array( + 'id' => 'checkout_messages', + 'type' => 'repeater', + 'white_repeater' => false, + 'repeater_size' => 'small', + 'accordions' => true, + 'buttons_sep' => false, + 'delete_button' => true, + 'clone_button' => true, + 'width' => '100%', + 'max_sections' => $max_sections, + 'max_sections_msg' => esc_html__( 'Please upgrade to premium version in order to add more messages', 'table-rate-shipping-rates' ), + 'field_css_class' => array( 'wtars_shipped_rules' ), + 'css_class' => 'wtars_shipped_extension_rules', + 'auto_expand' => array( + 'new_section' => true, + 'cloned_section' => true, + ), + 'sortable' => array( + 'enabled' => true, + ), + 'template_adder' => array( + 'position' => 'right', + 'show_list' => false, + 'button_text' => esc_html__( 'New Cart Notification', 'table-rate-shipping-rates' ), + ), + ); + + return $in_fields; + } + + public function get_rule_templates( $in_templates, $repeater_args ) { + if ( $repeater_args[ 'screen' ] == 'option-page' && $repeater_args[ 'option_name' ] == $this->get_option_name() ) { + + $in_templates[] = array( + 'id' => 'checkout_message', + 'head' => array( + 'title' => '', + 'defaut_title' => esc_html__( 'Cart Notification', 'table-rate-shipping-rates' ), + 'defaut_subtitle' => esc_html__( 'Cart Notification', 'table-rate-shipping-rates' ), + 'title_field' => 'admin_note', + 'subtitle_field' => 'message_type', + ) + ); + } + + return $in_templates; + } + + public function get_rule_fields( $in_fields ) { + + $args = array( + 'instance_id' => $this->get_instance_id(), + 'option_name' => $this->get_option_name() + ); + + return apply_filters( 'wtars_shipped_admin/checkout-messages/get-panels', array(), $args ); + } + + public function get_rule_head_fields( $in_fields, $repeater_args ) { + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'group-field', + 'position' => 'right', + 'width' => '100%', + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'apply_mode', + 'type' => 'select2', + 'default' => 'with_others', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'data' => 'shipped:checkout_messages_methods', + 'width' => '265px', + ), + array( + 'id' => 'enable', + 'type' => 'select2', + 'default' => 'yes', + 'options' => array( + 'yes' => esc_html__( 'Enable', 'table-rate-shipping-rates' ), + 'no' => esc_html__( 'Disable', 'table-rate-shipping-rates' ), + ), + 'width' => '95px', + ), + ), + ); + + return $in_fields; + } + + public function process_options( $options ) { + + if ( isset( $options[ 'checkout_messages' ] ) ) { + $options[ 'checkout_messages' ] = $this->process_rules( $options[ 'checkout_messages' ] ); + } + + return $options; + } + + private function process_rules( $rules ) { + + foreach ( $rules as $key => $rule ) { + + $rules[ $key ] = $this->process_rule( $rule ); + } + + return $rules; + } + + private function process_rule( $rule ) { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + + $chck_msg_sec = new WTARS_Shipped_Premium_Admin_Checkout_Messages_Section( $this->get_option_name(), $this->get_instance_id() ); + + $rule = $chck_msg_sec->process_rule( $rule ); + } + + return $rule; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/settings-page.php b/extensions/shipped/admin/settings-page/settings-page.php new file mode 100644 index 0000000..8789474 --- /dev/null +++ b/extensions/shipped/admin/settings-page/settings-page.php @@ -0,0 +1,402 @@ +get_option_name(); + $instance_id = $this->get_instance_id(); + $this->init_page( $option_name ); + $this->init_data_store( $instance_id ); + + add_filter( 'wtars_shipped_admin/get-disabled-list', array( $this, 'get_disabled_list' ), 10, 2 ); + add_filter( 'wtars_shipped_admin/get-disabled-grouped-list', array( $this, 'get_grouped_disabled_list' ), 10, 2 ); + + //Initialize Sections + new WTARS_Shipped_Admin_Shipping_Rates_Section( $option_name, $instance_id ); + new WTARS_Shipped_Admin_Cart_Fees_Section( $option_name, $instance_id ); + new WTARS_Shipped_Admin_Checkout_Messages_Section( $option_name, $instance_id ); + new WTARS_Shipped_Admin_Settings_Section( $option_name, $instance_id ); + + //Configure section menus + add_filter( 'reon/get-option-page-' . $option_name . '-sections', array( $this, 'config_sections' ), 10 ); + add_filter( 'reon/get-option-page-' . $option_name . '-section-title', array( $this, 'get_page_title' ), 10, 2 ); + add_action( 'reon/before-save-' . $option_name . '-options', array( $this, 'init_data_store' ), 1 ); + add_action( 'reon/before-import-' . $option_name . '-options', array( $this, 'init_data_store' ), 1 ); + + // Reon framework custom sanitizer for shipped + add_filter( 'reon/sanitize-shipped_kses_post', array( $this, 'sanitize_shipped_kses_post_box' ), 1, 4 ); + + add_filter( 'plugin_action_links_' . plugin_basename( WTARS_SHIPPED_FILE ), array( $this, 'get_plugin_links' ), 10, 1 ); + } + + public function init_page( $option_name ) { + + $version_text = sprintf( esc_html__( 'Lite v%s', 'table-rate-shipping-rates' ), WTARS_SHIPPED_VERSION ); + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + + $version_text = sprintf( esc_html__( 'Premium v%s', 'table-rate-shipping-rates' ), WTARS_SHIPPED_VERSION ); + } + + $args = array( + 'option_name' => $option_name, + 'database' => 'option', + 'url_base' => 'admin.php?page=wc-settings&tab=shipping', + 'tabs_key' => 'tb', + 'use_slug_url' => false, + 'default_min_height' => '700px', + 'auto_load' => false, + 'page_id' => 'wtars_shipped_page', + 'enable_section_title' => true, + 'width' => 'auto', + 'aside_width' => '210px', + 'display' => array( + 'enabled' => true, + 'image' => WTARS_SHIPPED_ASSETS_URL . 'images/aside_logo.png', + 'title' => esc_html__( 'Shipped', 'table-rate-shipping-rates' ), + 'version' => $version_text, + 'sub_title' => esc_html__( 'Table Rate Shipping & Fees', 'table-rate-shipping-rates' ), + 'styles' => array( + 'bg_image' => WTARS_SHIPPED_ASSETS_URL . 'images/aside_bg.png', + 'bg_color' => '#0073aa', + 'color' => '#fff', + ), + ), + 'ajax' => array( + 'save_msg' => esc_html__( 'Done!!', 'table-rate-shipping-rates' ), + 'save_error_msg' => esc_html__( 'Unable to save your settings', 'table-rate-shipping-rates' ), + 'reset_msg' => esc_html__( 'Done!!', 'table-rate-shipping-rates' ), + 'reset_error_msg' => esc_html__( 'Unable to reset reset your settings', 'table-rate-shipping-rates' ), + 'nonce_error_msg' => esc_html__( 'invalid nonce', 'table-rate-shipping-rates' ), + ), + 'wc_menu' => array( + 'enable' => false, + ), + 'import_export' => array( + 'enable' => true, + 'min_height' => '565px', + 'title' => esc_html__( 'Import / Export', 'table-rate-shipping-rates' ), + 'import' => array( + 'title' => esc_html__( 'Import Settings', 'table-rate-shipping-rates' ), + 'desc' => esc_html__( 'Here you can import new settings. Simply paste the settings url or data on the field below.', 'table-rate-shipping-rates' ), + 'url_button_text' => esc_html__( 'Import from url', 'table-rate-shipping-rates' ), + 'url_textbox_desc' => esc_html__( "Paste the url to another site's settings below and click the 'Import Now' button.", 'table-rate-shipping-rates' ), + 'url_textbox_hint' => esc_html__( "Paste the url to another site's settings here...", 'table-rate-shipping-rates' ), + 'data_button_text' => esc_html__( 'Import Data', 'table-rate-shipping-rates' ), + 'data_textbox_desc' => esc_html__( "Paste your backup settings below and click the 'Import Now' button.", 'table-rate-shipping-rates' ), + 'data_textbox_hint' => esc_html__( 'Paste your backup settings here...', 'table-rate-shipping-rates' ), + 'import_button_text' => esc_html__( 'Import Now', 'table-rate-shipping-rates' ), + 'warn_text' => esc_html__( 'Warning! This will override all existing settings. proceed with caution!', 'table-rate-shipping-rates' ), + ), + 'export' => array( + 'title' => esc_html__( 'Export Settings', 'table-rate-shipping-rates' ), + 'desc' => esc_html__( 'Here you can backup your current settings. You can later use it to restore your settings.', 'table-rate-shipping-rates' ), + 'download_button_text' => esc_html__( 'Download Data', 'table-rate-shipping-rates' ), + 'url_button_text' => esc_html__( 'Export url', 'table-rate-shipping-rates' ), + 'url_textbox_desc' => esc_html__( 'Copy the url below, use it to transfer the settings from this site.', 'table-rate-shipping-rates' ), + 'data_button_text' => esc_html__( 'Export Data', 'table-rate-shipping-rates' ), + 'data_textbox_desc' => esc_html__( 'Copy the data below, use it as your backup.', 'table-rate-shipping-rates' ), + ), + ), + 'header_buttons' => array( + 'reset_all_text' => esc_html__( 'Reset All', 'table-rate-shipping-rates' ), + 'reset_section_text' => esc_html__( 'Reset Section', 'table-rate-shipping-rates' ), + 'save_section_text' => esc_html__( 'Save Section', 'table-rate-shipping-rates' ), + ), + 'footer_buttons' => array( + 'reset_all_text' => esc_html__( 'Reset All', 'table-rate-shipping-rates' ), + 'reset_section_text' => esc_html__( 'Reset Section', 'table-rate-shipping-rates' ), + 'save_section_text' => esc_html__( 'Save Section', 'table-rate-shipping-rates' ), + ), + 'page_links' => $this->get_page_links(), + 'social_links' => $this->get_social_links(), + ); + Reon::set_wc_option_page( $args ); + } + + public function config_sections( $in_sections ) { + + $in_sections[] = array( + 'title' => esc_html__( 'Method Settings', 'table-rate-shipping-rates' ), + 'id' => 'settings', + 'group' => 4, + ); + + $in_sections[] = array( + 'title' => esc_html__( 'Shipping Rates', 'table-rate-shipping-rates' ), + 'id' => 'shipping_rates', + 'group' => 1, + ); + + $in_sections[] = array( + 'title' => esc_html__( 'Handling Fees', 'table-rate-shipping-rates' ), + 'id' => 'cart_fees', + 'group' => 2, + ); + + $in_sections[] = array( + 'title' => esc_html__( 'Cart Notifications', 'table-rate-shipping-rates' ), + 'id' => 'checkout_messages', + 'group' => 3, + ); + + return $in_sections; + } + + public function get_page_title( $in_title, $tab ) { + + $section_titles = $this->get_section_titles(); + + if ( isset( $section_titles[ $tab - 1 ] ) ) { + + return $section_titles[ $tab - 1 ]; + } + + return $in_title; + } + + public function get_option_name() { + + return WTARS_SHIPPED_OPTION_NAME; + } + + public function get_instance_id() { + + if ( isset( $_GET[ 'instance_id' ] ) ) { + $instance_id = sanitize_key( $_GET[ 'instance_id' ] ); + if ( is_numeric( $instance_id ) ) { + return (( int ) $instance_id); + } + } + + return 0; + } + + public static function get_premium_messages( $message_id = '' ) { + $premium_url = esc_url( "https://codecanyon.net/item/woocommerce-table-rate-shipping/39691473?ref=zendcrew" ); + $message = esc_html__( 'This feature is available on premium version', 'table-rate-shipping-rates' ); + $link_text = esc_html__( 'Premium Feature', 'table-rate-shipping-rates' ); + + + switch ( $message_id ) { + case 'short_message': + $message = esc_html__( 'Available on premium version', 'table-rate-shipping-rates' ); + return '' . $link_text . ' - ' . $message; + + default: + + return '' . $link_text . ' | ' . $message; + } + } + + public function get_disabled_list_keys( $options ) { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return array(); + } + + $d_list = array(); + $prem_max = count( $options ); + + + for ( $i = 1; $i <= $prem_max; $i++ ) { + $d_key = 'prem_' . $i; + if ( is_array( $d_key, $options ) ) { + $d_list[] = $d_key; + } + } + + return $d_list; + } + + public static function get_disabled_list( $list, $options ) { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return array(); + } + + $d_list = array(); + $prem_max = count( $options ); + for ( $i = 1; $i <= $prem_max; $i++ ) { + $d_key = 'prem_' . $i; + if ( isset( $options[ $d_key ] ) ) { + $d_list[] = $d_key; + } + } + + return $d_list; + } + + public function get_grouped_disabled_list( $list, $grouped_options ) { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return array(); + } + + $options = array(); + + foreach ( $grouped_options as $grouped_option ) { + + if ( !isset( $grouped_option[ 'options' ] ) ) { + continue; + } + + foreach ( $grouped_option[ 'options' ] as $key => $option ) { + $options[ $key ] = $option; + } + } + + return self::get_disabled_list( $list, $options ); + } + + public function sanitize_shipped_kses_post_box( $sanitized_option, $raw_option, $field_id, $children ) { + + return wp_kses_post( $raw_option ); + } + + public function init_data_store( $instance_id ) { + + global $wtars_shipped; + + $wtars_shipped = get_option( $this->get_option_name() . '_' . $instance_id, array() ); + } + + public function get_plugin_links( $links ) { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + + unset( $links[ 'deactivate' ] ); + + $add_on_text = esc_html__( 'Shipped Premium', 'table-rate-shipping-rates' ); + + $required_text = sprintf( esc_html__( 'Required by %s', 'table-rate-shipping-rates' ), $add_on_text ); + + $no_deactivate_tag = '' . $required_text . ''; + + array_unshift( $links, $no_deactivate_tag ); + + return $links; + } + + $doc_link = '' . esc_html__( 'Documentation', 'table-rate-shipping-rates' ) . ''; + + array_unshift( $links, $doc_link ); + + $settings_url = admin_url( 'admin.php?page=wc-settings&tab=shipping' ); + + $settings_link = '' . esc_html__( 'Settings', 'table-rate-shipping-rates' ) . ''; + + array_unshift( $links, $settings_link ); + + return $links; + } + + private function get_page_links() { + + $page_links = array( + array( + 'id' => 'zcws_documentation', + 'title' => esc_html__( 'Documentation', 'table-rate-shipping-rates' ), + 'icon' => 'fa fa-file-text', + 'href' => 'https://zencrew.freshdesk.com/support/solutions/51000121629', + 'target' => '_blank', + 'show_in' => 'both' + ), + ); + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + + $page_links[] = array( + 'id' => 'zcws_help', + 'title' => esc_html__( 'Help', 'table-rate-shipping-rates' ), + 'icon' => 'fa fa-question-circle', + 'href' => 'https://zencrew.freshdesk.com/support/tickets', + 'target' => '_blank', + 'show_in' => 'both' + ); + } else { + + $prm_link_text = esc_html__( 'Premium Version', 'table-rate-shipping-rates' ); + $page_links[] = array( + 'id' => 'zcws_get_premium', + 'title' => '' . $prm_link_text . '', + 'icon' => '', + 'href' => '#', + 'target' => '_blank', + 'show_in' => 'both' + ); + } + + + return $page_links; + } + + private function get_social_links() { + + return array( + array( + 'id' => 'zcws_facebook', + 'title' => esc_html__( 'Facebook', 'table-rate-shipping-rates' ), + 'icon' => 'fa fa-facebook', + 'href' => 'http://www.facebook.com/zendcrew', + 'target' => '_blank', + ), + array( + 'id' => 'zcws_linkedin', + 'title' => esc_html__( 'LinkedIn', 'table-rate-shipping-rates' ), + 'icon' => 'fa fa-linkedin', + 'href' => 'https://www.linkedin.com/company/zendcrew', + 'target' => '_blank', + ), + array( + 'id' => 'zcws_stack_overflow', + 'title' => esc_html__( 'Stack Overflow', 'table-rate-shipping-rates' ), + 'icon' => 'fa fa-stack-overflow', + 'href' => 'https://stackoverflow.com/users/8692713/zendcrew', + 'target' => '_blank', + ), + array( + 'id' => 'zcws_instagram', + 'title' => esc_html__( 'Instagram', 'table-rate-shipping-rates' ), + 'icon' => 'fa fa-instagram', + 'href' => 'https://www.instagram.com/zendcrew/', + 'target' => '_blank', + ), + ); + } + + private function get_section_titles() { + + return array( + esc_html__( 'Method Settings', 'table-rate-shipping-rates' ), + esc_html__( 'Shipping Rates', 'table-rate-shipping-rates' ), + esc_html__( 'Handling Fees', 'table-rate-shipping-rates' ), + esc_html__( 'Cart Notifications', 'table-rate-shipping-rates' ), + esc_html__( 'Import / Export', 'table-rate-shipping-rates' ) + ); + } + + } + + new WTARS_Shipped_Admin_Page(); +} + + + + + + diff --git a/extensions/shipped/admin/settings-page/settings-section/settings-cart-fees.php b/extensions/shipped/admin/settings-page/settings-section/settings-cart-fees.php new file mode 100644 index 0000000..e25a2f7 --- /dev/null +++ b/extensions/shipped/admin/settings-page/settings-section/settings-cart-fees.php @@ -0,0 +1,98 @@ + 'any_id', + 'type' => 'panel', + 'last' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'field_css_class' => array( 'shipped_setting_panel' ), + 'merge_fields' => false, + 'fields' => $this->get_fields( array() ), + ); + + return $in_fields; + } + + private function get_fields( $in_fields ) { + + $in_fields[] = array( + 'id' => 'any_id_cart_fees', + 'type' => 'paneltitle', + 'full_width' => true, + 'center_head' => true, + 'title' => esc_html__( 'Handling Fees Settings', 'table-rate-shipping-rates' ), + 'desc' => esc_html__( 'Use these settings to control handling fees basic settings', 'table-rate-shipping-rates' ), + ); + + $in_fields[] = array( + 'id' => 'cart_fee_settings', + 'type' => 'columns-field', + 'columns' => 2, + 'merge_fields' => true, + 'fields' => array( + array( + 'id' => 'tax_type', + 'type' => 'select2', + 'column_size' => 1, + 'tooltip' => esc_html__( 'Determines whether or not to use tax rates applied to shipping only for fees tax rates', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Tax Rate Options', 'table-rate-shipping-rates' ), + 'default' => array( 'ship_rates' ), + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => $this->get_tax_options(), + 'width' => '100%', + ), + array( + 'id' => 'show_on_cart', + 'type' => 'select2', + 'column_size' => 1, + 'tooltip' => esc_html__( 'Enables handling fees on cart page', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Enable On "Cart" Page', 'table-rate-shipping-rates' ), + 'default' => array( 'yes' ), + 'options' => array( + 'no' => esc_html__( 'No', 'table-rate-shipping-rates' ), + 'yes' => esc_html__( 'Yes', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + ), + ), + ); + + return $in_fields; + } + + private function get_tax_options() { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return array( + 'no' => esc_html__( 'Not taxable', 'table-rate-shipping-rates' ), + 'ship_rates' => esc_html__( 'Use shipping tax rates only', 'table-rate-shipping-rates' ), + 'reg_rates' => esc_html__( 'Use regular tax rates', 'table-rate-shipping-rates' ), + ); + } + + return array( + 'no' => esc_html__( 'Not taxable', 'table-rate-shipping-rates' ), + 'ship_rates' => esc_html__( 'Use shipping tax rates only', 'table-rate-shipping-rates' ), + ); + } + + } + + new WTARS_Shipped_Admin_Cart_Fees_Settings(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/settings-section/settings-checkout-messages.php b/extensions/shipped/admin/settings-page/settings-section/settings-checkout-messages.php new file mode 100644 index 0000000..5e9c7ca --- /dev/null +++ b/extensions/shipped/admin/settings-page/settings-section/settings-checkout-messages.php @@ -0,0 +1,71 @@ + 'any_id', + 'type' => 'panel', + 'last' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'field_css_class' => array( 'shipped_setting_panel' ), + 'merge_fields' => false, + 'fields' => $this->get_fields( array() ), + ); + + return $in_fields; + } + + private function get_fields( $in_fields ) { + + $in_fields[] = array( + 'id' => 'any_id_shipping_rates', + 'type' => 'paneltitle', + 'full_width' => true, + 'center_head' => true, + 'title' => esc_html__( 'Cart Notifications Settings', 'table-rate-shipping-rates' ), + 'desc' => esc_html__( 'Use these settings to control cart notification basic settings', 'table-rate-shipping-rates' ), + ); + + $in_fields[] = array( + 'id' => 'checkout_message_settings', + 'type' => 'columns-field', + 'columns' => 1, + 'merge_fields' => true, + 'fields' => array( + array( + 'id' => 'show_on_cart', + 'type' => 'select2', + 'column_size' => 1, + 'tooltip' => esc_html__( 'Enables Cart Notifications on cart page', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Enable On "Cart" Page', 'table-rate-shipping-rates' ), + 'default' => array( 'yes' ), + 'options' => array( + 'no' => esc_html__( 'No', 'table-rate-shipping-rates' ), + 'yes' => esc_html__( 'Yes', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + ), + ), + ); + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Checkout_Messages_Settings(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/settings-section/settings-debug-cache.php b/extensions/shipped/admin/settings-page/settings-section/settings-debug-cache.php new file mode 100644 index 0000000..a00a4cb --- /dev/null +++ b/extensions/shipped/admin/settings-page/settings-section/settings-debug-cache.php @@ -0,0 +1,110 @@ + 'any_id', + 'type' => 'panel', + 'last' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'field_css_class' => array( 'shipped_setting_panel' ), + 'merge_fields' => false, + 'fields' => $this->get_fields( array() ), + ); + + return $in_fields; + } + + private function get_fields( $in_fields ) { + + $dec_allowed_html = array( + 'br' => array(), + ); + + $in_fields[] = array( + 'id' => 'any_id_shipping_rates', + 'type' => 'paneltitle', + 'full_width' => true, + 'center_head' => true, + 'title' => esc_html__( 'Debug & Cache Settings', 'table-rate-shipping-rates' ), + 'desc' => wp_kses( __( 'Use these settings to enable debug mode or specify how shipping data should be cached.
Debug mode will disable caching.', 'table-rate-shipping-rates' ), $dec_allowed_html ), + ); + + $in_fields[] = array( + 'id' => 'cache_settings', + 'type' => 'columns-field', + 'columns' => 5, + 'merge_fields' => true, + 'fields' => array( + array( + 'id' => 'enable_debug', + 'type' => 'select2', + 'column_size' => 1, + 'tooltip' => esc_html__( 'Enables debug mode for testing purposes only', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Enable Debug', 'table-rate-shipping-rates' ), + 'default' => 'no', + 'options' => array( + 'no' => esc_html__( 'No', 'table-rate-shipping-rates' ), + 'yes' => esc_html__( 'Yes', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + 'fold_id' => 'enable_debug' + ), + array( + 'id' => 'cache_params', + 'type' => 'select2', + 'column_size' => 4, + 'tooltip' => esc_html__( 'Specify when shipping data should be cached based on parameters', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Cache Parameters', 'table-rate-shipping-rates' ), + 'multiple' => true, + 'default' => array( 'package_items' ), + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => apply_filters( 'wtars_shipped_admin/get-hash-params', $this->get_params() ), + 'width' => '100%', + 'fold' => array( + 'target' => 'enable_debug', + 'attribute' => 'value', + 'value' => 'no', + 'oparator' => 'eq', + 'clear' => false, + ), + ), + ), + ); + + return $in_fields; + } + + private function get_params() { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return array( + 'package_items' => esc_html__( 'Package items', 'table-rate-shipping-rates' ), + 'cart_items' => esc_html__( 'Cart items', 'table-rate-shipping-rates' ), + ); + } + + return array( + 'package_items' => esc_html__( 'Package items', 'table-rate-shipping-rates' ), + 'cart_items' => esc_html__( 'Cart items', 'table-rate-shipping-rates' ), + ); + } + + } + + new WTARS_Shipped_Admin_Debug_Cache_Settings(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/settings-section/settings-hide-shipping-methods.php b/extensions/shipped/admin/settings-page/settings-section/settings-hide-shipping-methods.php new file mode 100644 index 0000000..a03427b --- /dev/null +++ b/extensions/shipped/admin/settings-page/settings-section/settings-hide-shipping-methods.php @@ -0,0 +1,75 @@ + 'any_id', + 'type' => 'panel', + 'last' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'field_css_class' => array( 'shipped_setting_panel' ), + 'merge_fields' => false, + 'fields' => $this->get_fields( array(), $args ), + ); + + return $in_fields; + } + + private function get_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'paneltitle', + 'full_width' => true, + 'center_head' => true, + 'title' => esc_html__( 'Hide Shipping Methods', 'table-rate-shipping-rates' ), + 'desc' => esc_html__( 'Use these settings to hide this or other shipping methods', 'table-rate-shipping-rates' ), + ); + + $in_fields[] = array( + 'id' => 'hide_methods', + 'type' => 'columns-field', + 'columns' => 4, + 'merge_fields' => true, + 'fields' => array( + array( + 'id' => 'mode', + 'type' => 'select2', + 'column_size' => 1, + 'tooltip' => esc_html__( 'Controls how shipping methods should hidden', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Mode', 'table-rate-shipping-rates' ), + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'default' => 'no', + 'options' => array( + 'no' => esc_html__( 'Do not hide any method', 'table-rate-shipping-rates' ), + 'hide_others' => esc_html__( 'Hide other shipping methods', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + 'fold_id' => 'hide_mode' + ), + ), + ); + + + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Hide_Methods_Settings(); +} diff --git a/extensions/shipped/admin/settings-page/settings-section/settings-section.php b/extensions/shipped/admin/settings-page/settings-section/settings-section.php new file mode 100644 index 0000000..a653c49 --- /dev/null +++ b/extensions/shipped/admin/settings-page/settings-section/settings-section.php @@ -0,0 +1,32 @@ +get_option_name(); + + add_filter( 'get-option-page-' . $option_name . 'section-settings-fields', array( $this, 'get_page_fields' ), 10 ); + } + + public function get_page_fields( $in_fields ) { + + $args = array( + 'instance_id' => $this->get_instance_id(), + 'option_name' => $this->get_option_name(), + ); + + return apply_filters( 'wtars_shipped_admin/get-settings-section-fields', $in_fields, $args ); + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/settings-section/settings-shipping-rates.php b/extensions/shipped/admin/settings-page/settings-section/settings-shipping-rates.php new file mode 100644 index 0000000..bb38427 --- /dev/null +++ b/extensions/shipped/admin/settings-page/settings-section/settings-shipping-rates.php @@ -0,0 +1,108 @@ + 'any_id', + 'type' => 'panel', + 'last' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => false, + 'fields' => $this->get_fields( array() ), + ); + + return $in_fields; + } + + private function get_fields( $in_fields ) { + + $in_fields[] = array( + 'id' => 'any_id_shipping_rates', + 'type' => 'paneltitle', + 'full_width' => true, + 'center_head' => true, + 'title' => esc_html__( 'Shipping Rates Settings', 'table-rate-shipping-rates' ), + 'desc' => esc_html__( 'Use these settings to control shipping rates basic settings', 'table-rate-shipping-rates' ), + ); + + $in_fields[] = array( + 'id' => 'shipping_rate_settings', + 'type' => 'columns-field', + 'columns' => 7, + 'merge_fields' => true, + 'fields' => array( + array( + 'id' => 'title', + 'type' => 'textbox', + 'input_type' => 'text', + 'column_size' => 3, + 'tooltip' => esc_html__( 'Controls the method title for reference purposes', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Method Title', 'table-rate-shipping-rates' ), + 'default' => esc_html__( 'Table Rate Shipping & Fees', 'table-rate-shipping-rates' ), + 'placeholder' => esc_html__( 'Type here...', 'table-rate-shipping-rates' ), + 'width' => '100%', + ), + array( + 'id' => 'tax_type', + 'type' => 'select2', + 'column_size' => 2, + 'tooltip' => esc_html__( 'Determines whether or not to use tax rates applied to shipping only.', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Tax Rate Options', 'table-rate-shipping-rates' ), + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'default' => array( 'ship_rates' ), + 'options' => $this->get_tax_options(), + 'width' => '100%', + ), + array( + 'id' => 'show_on_cart', + 'type' => 'select2', + 'column_size' => 2, + 'tooltip' => esc_html__( 'Enables shipping rates on cart page', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Enable On "Cart" Page', 'table-rate-shipping-rates' ), + 'default' => array( 'yes' ), + 'options' => array( + 'no' => esc_html__( 'No', 'table-rate-shipping-rates' ), + 'yes' => esc_html__( 'Yes', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + ), + ), + ); + + return $in_fields; + } + + private function get_tax_options() { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return array( + 'no' => esc_html__( 'Not taxable', 'table-rate-shipping-rates' ), + 'ship_rates' => esc_html__( 'Use shipping tax rates only', 'table-rate-shipping-rates' ), + 'reg_rates' => esc_html__( 'Use regular tax rates', 'table-rate-shipping-rates' ), + ); + } + + return array( + 'no' => esc_html__( 'Not taxable', 'table-rate-shipping-rates' ), + 'ship_rates' => esc_html__( 'Use shipping tax rates only', 'table-rate-shipping-rates' ), + ); + } + + } + + new WTARS_Shipped_Admin_Shipping_Rates_Settings(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/settings-section/settings-totals.php b/extensions/shipped/admin/settings-page/settings-section/settings-totals.php new file mode 100644 index 0000000..5483fa8 --- /dev/null +++ b/extensions/shipped/admin/settings-page/settings-section/settings-totals.php @@ -0,0 +1,172 @@ + 'any_id', + 'type' => 'panel', + 'last' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'field_css_class' => array( 'shipped_setting_panel' ), + 'merge_fields' => false, + 'fields' => $this->get_fields( array() ), + ); + + return $in_fields; + } + + public function get_templates( $in_templates, $repeater_args ) { + + $in_templates[] = array( + 'id' => 'calc_default', + 'empy_button' => true, + ); + + $in_templates[] = array( + 'id' => 'calc_option', + ); + + + return $in_templates; + } + + public function get_template_fields( $in_fields, $repeater_args ) { + + $in_fields[] = array( + 'id' => 'option_id', + 'type' => 'autoid', + 'autoid' => 'shipped', + ); + + $in_fields[] = array( + 'id' => 'title', + 'type' => 'textbox', + 'default' => esc_html__( 'Cart Subtotals', 'table-rate-shipping-rates' ), + 'placeholder' => esc_html__( 'Title here...', 'table-rate-shipping-rates' ), + 'width' => '98%', + 'box_width' => '36%', + ); + + + $in_fields[] = array( + 'id' => 'include', + 'type' => 'select2', + 'multiple' => true, + 'minimum_results_forsearch' => 10, + 'default' => array( 'subtotal' ), + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => $this->get_options(), + 'width' => '100%', + 'box_width' => '64%', + ); + + return $in_fields; + } + + private function get_fields( $in_fields ) { + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'paneltitle', + 'full_width' => true, + 'center_head' => true, + 'title' => esc_html__( 'Cart & Package Totals Calculation', 'table-rate-shipping-rates' ), + 'desc' => esc_html__( 'Use these settings to control what are included in the "based on" percentage totals & the "cart & package totals" conditions', 'table-rate-shipping-rates' ), + ); + + $max_sections = 1; + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $max_sections = 99999; + } + + $in_fields[] = array( + 'id' => 'checkout_totals', + 'type' => 'simple-repeater', + 'full_width' => true, + 'center_head' => true, + 'white_repeater' => true, + 'repeater_size' => 'smaller', + 'buttons_sep' => false, + 'buttons_box_width' => '65px', + 'max_sections' => $max_sections, + 'max_sections_msg' => esc_html__( 'Please upgrade to premium version in order to add more options', 'table-rate-shipping-rates' ), + 'width' => '100%', + 'default' => $this->get_defaults(), + 'static_template' => 'calc_default', + 'section_type_id' => 'calc_option_type', + 'sortable' => array( + 'enabled' => false, + ), + 'template_adder' => array( + 'position' => 'right', + 'show_list' => false, + 'button_text' => esc_html__( 'Add Option', 'table-rate-shipping-rates' ), + ), + ); + + return $in_fields; + } + + private function get_options() { + + $options = array( + 'subtotal' => esc_html__( 'Add subtotal', 'table-rate-shipping-rates' ), + 'subtotal_tax' => esc_html__( 'Add subtotal Tax', 'table-rate-shipping-rates' ), + 'package_total' => esc_html__( 'Add package total', 'table-rate-shipping-rates' ), + 'package_total_tax' => esc_html__( 'Add package total Tax', 'table-rate-shipping-rates' ), + ); + + return apply_filters( 'wtars_shipped_admin/get-totals-options', $options ); + } + + private function get_defaults() { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return array( + array( + 'calc_option_type' => 'calc_default', + 'title' => esc_html__( 'Cart Subtotals', 'table-rate-shipping-rates' ), + 'include' => array( 'subtotal', 'subtotal_tax' ), + 'option_id' => '2234343', + ), + array( + 'calc_option_type' => 'calc_option', + 'title' => esc_html__( 'Package Totals', 'table-rate-shipping-rates' ), + 'include' => array( 'package_total', 'package_total_tax' ), + 'option_id' => '2234344', + ), + ); + } + + return array( + array( + 'calc_option_type' => 'calc_default', + 'title' => esc_html__( 'Order Totals', 'table-rate-shipping-rates' ), + 'include' => array( 'subtotal', 'subtotal_tax' ), + 'option_id' => '2234343', + ), + ); + } + + } + + new WTARS_Shipped_Admin_Checkout_Totals_Settings(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/settings-section/settings-volumetric-weight.php b/extensions/shipped/admin/settings-page/settings-section/settings-volumetric-weight.php new file mode 100644 index 0000000..359aa79 --- /dev/null +++ b/extensions/shipped/admin/settings-page/settings-section/settings-volumetric-weight.php @@ -0,0 +1,208 @@ + 'any_id', + 'type' => 'panel', + 'last' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'field_css_class' => array( 'shipped_setting_panel' ), + 'merge_fields' => false, + 'fields' => $this->get_fields( array(), $args ), + ); + + return $in_fields; + } + + public function get_templates( $in_templates, $repeater_args ) { + + $in_templates[] = array( + 'id' => 'calc_default', + 'head' => array( + 'title' => '', + 'defaut_title' => esc_html__( 'Weight', 'table-rate-shipping-rates' ), + 'title_field' => 'admin_note', + 'subtitle_field' => 'formula', + ), + 'empy_button' => true, + ); + + $in_templates[] = array( + 'id' => 'calc_option', + 'head' => array( + 'title' => '', + 'defaut_title' => esc_html__( 'Volumetric Weight', 'table-rate-shipping-rates' ), + 'title_field' => 'admin_note', + 'subtitle_field' => 'formula', + ), + ); + + return $in_templates; + } + + public static function get_template_fields( $in_fields, $repeater_args ) { + + $in_fields[] = array( + 'id' => 'option_id', + 'type' => 'autoid', + 'autoid' => 'shipped', + ); + + $in_fields[] = array( + 'id' => 'any_ids', + 'type' => 'columns-field', + 'columns' => 3, + 'full_width' => true, + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'admin_note', + 'type' => 'textbox', + 'tooltip' => esc_html__( 'Adds a private note for reference purposes', 'table-rate-shipping-rates' ), + 'column_size' => 1, + 'column_title' => esc_html__( 'Admin Note', 'table-rate-shipping-rates' ), + 'default' => '', + 'placeholder' => esc_html__( 'Type here...', 'table-rate-shipping-rates' ), + 'width' => '100%', + ), + array( + 'id' => 'formula', + 'type' => 'select2', + 'column_size' => 1, + 'column_title' => esc_html__( 'Volumetric Weight Formula', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Determines how volumetric weights should be calculated', 'table-rate-shipping-rates' ), + 'default' => 'no', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => array( + 'no' => esc_html__( 'No formula', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + 'fold_id' => 'weight_formula', + ), + ), + ); + + $in_fields[] = array( + 'id' => 'any_ids', + 'type' => 'columns-field', + 'columns' => 5, + 'full_width' => true, + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'round_weight', + 'type' => 'select2', + 'column_size' => 2, + 'column_title' => esc_html__( 'Round Weight', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Determines how weights or volumetric weight should be rounded', 'table-rate-shipping-rates' ), + 'default' => 'no', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => array( + 'no' => esc_html__( 'Do not round weight', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + ), + ), + ); + + return $in_fields; + } + + private function get_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'paneltitle', + 'full_width' => true, + 'center_head' => true, + 'title' => esc_html__( 'Weights & Volumetric Weight Calculation', 'table-rate-shipping-rates' ), + 'desc' => esc_html__( 'Use these settings to control how item weights should be calculated', 'table-rate-shipping-rates' ), + ); + + $max_sections = 1; + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $max_sections = 99999; + } + + $in_fields[] = array( + 'id' => 'weight_calcs', + 'type' => 'repeater', + 'white_repeater' => true, + 'repeater_size' => 'smaller', + 'accordions' => true, + 'buttons_sep' => false, + 'delete_button' => true, + 'clone_button' => false, + 'width' => '100%', + 'max_sections' => $max_sections, + 'max_sections_msg' => esc_html__( 'Please upgrade to premium version in order to add more options', 'table-rate-shipping-rates' ), + 'default' => $this->get_default_calc(), + 'static_template' => 'calc_default', + 'section_type_id' => 'calc_option_type', + 'auto_expand' => array( + 'new_section' => true, + 'cloned_section' => false, + ), + 'sortable' => array( + 'enabled' => false, + ), + 'template_adder' => array( + 'position' => 'right', + 'show_list' => false, + 'button_text' => esc_html__( 'Add Calculator', 'table-rate-shipping-rates' ), + ), + ); + + return $in_fields; + } + + private function get_default_calc() { + + if ( !defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return array( + array( + 'calc_option_type' => 'calc_default', + 'option_id' => '2234343', + ), + ); + } + + return array( + array( + 'calc_option_type' => 'calc_default', + 'option_id' => '2234343', + ), + array( + 'calc_option_type' => 'calc_option', + 'option_id' => '2234344', + ), + ); + } + + } + + new WTARS_Shipped_Admin_Volumetric_Weight_Settings(); +} + + diff --git a/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel-base-costs.php b/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel-base-costs.php new file mode 100644 index 0000000..9cb86b3 --- /dev/null +++ b/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel-base-costs.php @@ -0,0 +1,238 @@ + 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => false, + 'css_class' => 'shipped_panel_calcs', + 'field_css_class' => array( 'shipped_panel_calcs_field', 'shipped_mid_panel_calcs' ), + 'last' => true, + 'fields' => apply_filters( 'wtars_shipped_admin/shipping-rates/get-panel-base-costs-fields', array(), $args ), + ); + + return $in_fields; + } + + public function get_panel_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => true, + 'panel_size' => 'smaller', + 'width' => '100%', + 'last' => true, + 'css_class' => 'shipped_calcs_title', + 'fields' => array( + array( + 'id' => 'any_id', + 'type' => 'paneltitle', + 'full_width' => true, + 'center_head' => true, + 'title' => esc_html__( 'Shipping Costs', 'table-rate-shipping-rates' ), + 'desc' => esc_html__( 'List of shipping costs to apply, empty list will apply zero cost', 'table-rate-shipping-rates' ), + ) + ), + ); + + $in_fields[] = array( + 'id' => 'base_costs', + 'field_args' => $args, + 'type' => 'repeater', + 'white_repeater' => true, + 'repeater_size' => 'smaller', + 'collapsible' => false, + 'accordions' => false, + 'buttons_sep' => false, + 'delete_button' => true, + 'clone_button' => false, + 'css_class' => 'shipped_calcs', + 'field_css_class' => array( 'shipped_calcs_field' ), + 'width' => '100%', + 'auto_expand' => array( + 'all_section' => true, + 'new_section' => true, + 'default_section' => true, + 'cloned_section' => true, + ), + 'sortable' => array( + 'enabled' => true, + ), + 'template_adder' => array( + 'position' => 'right', + 'button_text' => esc_html__( 'Add Cost', 'table-rate-shipping-rates' ), + ), + ); + + return $in_fields; + } + + public function get_option_templates( $in_templates, $repeater_args ) { + + $in_templates[] = array( + 'id' => 'base_cost', + 'head' => array( + 'title' => '', + 'defaut_title' => esc_html__( 'Shipping Cost', 'table-rate-shipping-rates' ), + 'title_field' => 'cost_type', + ) + ); + + return $in_templates; + } + + public function get_cost_fields( $in_fields, $repeater_args ) { + + $section_args = $repeater_args[ 'field_args' ]; + + $args = array( + 'instance_id' => $section_args[ 'instance_id' ], + 'module' => 'shipping-rates', + 'sub_module' => 'base-cost', + 'fold_id' => 'cost_type', + 'format_cap_text' => esc_html__( 'Cost', 'table-rate-shipping-rates' ), + 'format_text' => esc_html__( 'cost', 'table-rate-shipping-rates' ), + ); + + $cost_types = WTARS_Shipped_Admin_Cost_Types::get_types( $args ); + + $in_fields[] = array( + 'id' => 'id', + 'type' => 'autoid', + 'autoid' => 'shipped', + ); + + $in_fields[] = array( + 'id' => 'any_ids', + 'type' => 'columns-field', + 'columns' => 5, + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'cost_type', + 'type' => 'select2', + 'column_size' => 2, + 'column_title' => esc_html__( 'Cost Type', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls shipping cost type', 'table-rate-shipping-rates' ), + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-grouped-list', + 'default' => apply_filters( 'wtars_shipped_admin/get-cost-types-default', 'cart_fixed', $args ), + 'options' => $cost_types, + 'attributes' => array( + 'data-repeater-title' => 'base_costs', + ), + 'width' => '100%', + 'fold_id' => 'cost_type', + ), + array( + 'id' => 'add_type', + 'type' => 'select2', + 'column_size' => 2, + 'tooltip' => esc_html__( 'Controls how the shipping cost should be added to previously calculated costs', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Addition / Subtraction', 'table-rate-shipping-rates' ), + 'default' => 'add', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => WTARS_Shipped_Admin_Cost_Types::get_cost_add_methods( $args ), + 'width' => '100%', + ), + array( + 'id' => 'set_conditions', + 'type' => 'select2', + 'column_size' => 1, + 'tooltip' => esc_html__( 'Determines whether no conditions should be validated before cost calculation', 'table-rate-shipping-rates' ), + 'column_title' => esc_html__( 'Validate Conditions', 'table-rate-shipping-rates' ), + 'default' => 'no', + 'options' => array( + 'no' => esc_html__( 'No', 'table-rate-shipping-rates' ), + 'yes' => esc_html__( 'Yes', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + 'fold_id' => 'set_conditions', + ), + ), + ); + + + $in_fields[] = array( + 'id' => 'any_ids', + 'type' => 'columns-field', + 'columns' => 12, + 'merge_fields' => false, + 'fields' => $this->get_cost_box_fields( array(), $args ), + ); + + + foreach ( WTARS_Shipped_Admin_Cost_Types::get_type_fields( $args ) as $type_field ) { + $in_fields[] = $type_field; + } + + $in_fields = WTARS_Shipped_Admin_Cost_Types::get_other_fields( $in_fields, $args ); + + return $in_fields; + } + + private function get_cost_box_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'cost', + 'type' => 'textbox', + 'input_type' => 'number', + 'tooltip' => esc_html__( 'Controls the cost to apply, based on cost type', 'table-rate-shipping-rates' ), + 'column_size' => 2, + 'column_title' => esc_html__( 'Cost', 'table-rate-shipping-rates' ), + 'default' => '0.00', + 'placeholder' => esc_html__( '0.00', 'table-rate-shipping-rates' ), + 'width' => '100%', + 'attributes' => array( + 'min' => '0', + 'step' => '0.01', + ), + ); + + $in_fields = WTARS_Shipped_Admin_Cost_Types::get_cost_box_fields( $in_fields, $args ); + + $in_fields[] = array( + 'id' => 'taxable', + 'type' => 'select2', + 'column_size' => 4, + 'column_title' => esc_html__( 'Tax Class', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls cost tax class', 'table-rate-shipping-rates' ), + 'default' => '--0', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'data' => 'shipped:tax_options', + 'width' => '100%', + ); + + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Shipping_Rates_Panel_Base_Costs(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel-conditions.php b/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel-conditions.php new file mode 100644 index 0000000..441290e --- /dev/null +++ b/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel-conditions.php @@ -0,0 +1,39 @@ + 'rate_conditions', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => true, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => true, + 'last' => true, + 'fields' => apply_filters( 'wtars_shipped_admin/shipping-rates/get-panel-conditions-fields', array(), $args ), + ); + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Shipping_Rates_Panel_Conditions(); +} diff --git a/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel-max.php b/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel-max.php new file mode 100644 index 0000000..4699a77 --- /dev/null +++ b/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel-max.php @@ -0,0 +1,85 @@ + 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => false, + 'css_class' => 'shipped_panel_calcs', + 'field_css_class' => array( 'shipped_panel_calcs_field' ), + 'last' => true, + 'fields' => apply_filters( 'wtars_shipped_admin/shipping-rates/get-panel-max-fields', array(), $args ), + ); + + return $in_fields; + } + + public function get_panel_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => true, + 'panel_size' => 'smaller', + 'merge_fields' => false, + 'width' => '100%', + 'last' => true, + 'fields' => array( + array( + 'id' => 'costs_limit', + 'type' => 'columns-field', + 'columns' => 4, + 'merge_fields' => true, + 'fields' => $this->get_fields( $in_fields, $args ), + ), + ), + ); + + return $in_fields; + } + + private function get_fields( $in_fields, $args ) { + + $in_fields[] = array( + 'id' => 'limit_type', + 'type' => 'select2', + 'column_size' => 1, + 'column_title' => esc_html__( 'Costs Limit', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls shipping rate costs limit', 'table-rate-shipping-rates' ), + 'default' => 'no', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => array( + 'no' => esc_html__( 'No limit', 'table-rate-shipping-rates' ), + + ), + 'width' => '100%', + ); + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Shipping_Rates_Panel_Max(); +} diff --git a/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel-options.php b/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel-options.php new file mode 100644 index 0000000..25c2843 --- /dev/null +++ b/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel-options.php @@ -0,0 +1,121 @@ + 'any_ids', + 'type' => 'columns-field', + 'columns' => 4, + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'title', + 'type' => 'textbox', + 'tooltip' => esc_html__( 'Controls shipping rate title on cart and checkout pages', 'table-rate-shipping-rates' ), + 'column_size' => 2, + 'column_title' => esc_html__( 'Title', 'table-rate-shipping-rates' ), + 'default' => '', + 'placeholder' => esc_html__( 'Type here...', 'table-rate-shipping-rates' ), + 'width' => '100%', + ), + array( + 'id' => 'admin_note', + 'type' => 'textbox', + 'tooltip' => esc_html__( 'Adds a private note for reference purposes', 'table-rate-shipping-rates' ), + 'column_size' => 1, + 'column_title' => esc_html__( 'Admin Note', 'table-rate-shipping-rates' ), + 'default' => '', + 'placeholder' => esc_html__( 'Type here...', 'table-rate-shipping-rates' ), + 'width' => '100%', + ), + array( + 'id' => 'default', + 'type' => 'select2', + 'column_size' => 1, + 'column_title' => esc_html__( 'Default Selection', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls shipping rate default selection', 'table-rate-shipping-rates' ), + 'default' => 'no', + 'options' => array( + 'no' => esc_html__( 'No', 'table-rate-shipping-rates' ), + 'yes' => esc_html__( 'Yes', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + ), + ), + ); + + + $in_fields[] = array( + 'id' => 'any_ids', + 'type' => 'columns-field', + 'columns' => 3, + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'tooltip', + 'type' => 'textarea', + 'sanitize_type' => 'shipped_kses_post', + 'tooltip' => esc_html__( 'Controls shipping rate tooltip on cart and checkout pages', 'table-rate-shipping-rates' ), + 'column_size' => 2, + 'column_title' => esc_html__( 'Tooltip', 'table-rate-shipping-rates' ), + 'default' => '', + 'rows' => 1, + 'placeholder' => esc_html__( 'Type here...', 'table-rate-shipping-rates' ), + 'width' => '100%', + ), + array( + 'id' => 'inclusive_tax', + 'type' => 'select2', + 'column_size' => 1, + 'column_title' => esc_html__( 'Tax Calculation', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls shipping rate tax calculations', 'table-rate-shipping-rates' ), + 'default' => 'no', + 'options' => array( + 'no' => esc_html__( 'Calculate shipping cost exclusive of taxes', 'table-rate-shipping-rates' ), + 'yes' => esc_html__( 'Calculate shipping cost inclusive of taxes', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + ), + ), + ); + + $in_fields[] = array( + 'id' => 'any_ids', + 'type' => 'columns-field', + 'columns' => 1, + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'desc', + 'type' => 'textarea', + 'sanitize_type' => 'shipped_kses_post', + 'tooltip' => esc_html__( 'Controls shipping rate description on cart and checkout pages', 'table-rate-shipping-rates' ), + 'column_size' => 1, + 'column_title' => esc_html__( 'Description', 'table-rate-shipping-rates' ), + 'default' => '', + 'placeholder' => esc_html__( 'Type here...', 'table-rate-shipping-rates' ), + 'width' => '100%', + ), + ), + ); + + return $in_fields; + } + + } + + new WTARS_Shipped_Admin_Shipping_Rates_Panel_Options(); +} diff --git a/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel.php b/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel.php new file mode 100644 index 0000000..c2ea83c --- /dev/null +++ b/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-panel.php @@ -0,0 +1,49 @@ + 'rate_id', + 'type' => 'autoid', + 'autoid' => 'shipped', + ); + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'panel', + 'full_width' => true, + 'center_head' => true, + 'white_panel' => true, + 'panel_size' => 'smaller', + 'width' => '100%', + 'merge_fields' => false, + 'last' => true, + 'fields' => apply_filters( 'wtars_shipped_admin/shipping-rates/get-panel-fields', array(), $args ), + ); + + return $in_fields; + } + + public function get_panel_fields( $in_fields, $args ) { + + return apply_filters( 'wtars_shipped_admin/shipping-rates/get-panel-option-fields', $in_fields, $args ); + } + + } + + new WTARS_Shipped_Admin_Shipping_Rates_Panel(); +} \ No newline at end of file diff --git a/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-section.php b/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-section.php new file mode 100644 index 0000000..0311f83 --- /dev/null +++ b/extensions/shipped/admin/settings-page/shipping-rates-section/shipping-rates-section.php @@ -0,0 +1,266 @@ +get_option_name() . 'section-shipping_rates-fields', array( $this, 'get_settings_fields' ), 20, 2 ); + } + + add_filter( 'get-option-page-' . $this->get_option_name() . 'section-shipping_rates-fields', array( $this, 'get_rules_fields' ), 30, 2 ); + + + add_filter( 'reon/get-repeater-field-shipping_rates-templates', array( $this, 'get_rule_templates' ), 10, 2 ); + add_filter( 'roen/get-repeater-template-shipping_rates-shipping_rate-fields', array( $this, 'get_rule_fields' ), 10, 2 ); + add_filter( 'roen/get-repeater-template-shipping_rates-shipping_rate-head-fields', array( $this, 'get_rule_head_fields' ), 10, 2 ); + + add_filter( 'reon/process-save-options-' . $this->get_option_name(), array( $this, 'process_options' ), 10 ); + } + + public function get_settings_fields( $in_fields, $section_id ) { + + $in_fields[] = array( + 'id' => 'shipping_rates_settings', + 'type' => 'panel', + 'last' => true, + 'white_panel' => false, + 'panel_size' => 'smaller', + 'width' => '100%', + 'field_css_class' => array( 'wtars_shipped_rules_apply_mode' ), + 'fields' => array( + array( + 'id' => 'shipped_any_id', + 'type' => 'columns-field', + 'columns' => 8, + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'limit_type', + 'type' => 'select2', + 'column_size' => 2, + 'column_title' => esc_html__( 'Cost Limit Per Rate', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls cost limits per every shipping rates', 'table-rate-shipping-rates' ), + 'default' => 'no', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'options' => array( + 'no' => esc_html__( 'No limit', 'table-rate-shipping-rates' ), + ), + 'width' => '100%', + 'fold_id' => 'limit_type', + ), + array( + 'id' => 'mode', + 'type' => 'select2', + 'column_size' => 3, + 'column_title' => esc_html__( 'Apply Mode', 'table-rate-shipping-rates' ), + 'tooltip' => esc_html__( 'Controls shipping rate apply mode', 'table-rate-shipping-rates' ), + 'default' => 'all', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'data' => 'shipped:shipping_rate_modes', + 'width' => '100%', + ), + ), + ), + ), + ); + + + + + return $in_fields; + } + + public function get_rules_fields( $in_fields, $section_id ) { + + $max_sections = 1; + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $max_sections = 99999; + } + + $in_fields[] = array( + 'id' => 'shipping_rates', + 'type' => 'repeater', + 'white_repeater' => false, + 'repeater_size' => 'small', + 'accordions' => true, + 'buttons_sep' => false, + 'delete_button' => true, + 'clone_button' => true, + 'last' => true, + 'width' => '100%', + 'max_sections' => $max_sections, + 'max_sections_msg' => esc_html__( 'Please upgrade to premium version in order to add more rates', 'table-rate-shipping-rates' ), + 'field_css_class' => array( 'wtars_shipped_rules' ), + 'css_class' => 'wtars_shipped_extension_rules', + 'auto_expand' => array( + 'new_section' => true, + 'cloned_section' => true, + ), + 'sortable' => array( + 'enabled' => true, + ), + 'template_adder' => array( + 'position' => 'right', + 'show_list' => false, + 'button_text' => esc_html__( 'New Shipping Rate', 'table-rate-shipping-rates' ), + ), + ); + + return $in_fields; + } + + public function get_rule_templates( $in_templates, $repeater_args ) { + if ( $repeater_args[ 'screen' ] == 'option-page' && $repeater_args[ 'option_name' ] == $this->get_option_name() ) { + + $in_templates[] = array( + 'id' => 'shipping_rate', + 'head' => array( + 'title' => '', + 'defaut_title' => esc_html__( 'Shipping Rate', 'table-rate-shipping-rates' ), + 'title_field' => 'title', + 'subtitle_field' => 'admin_note', + ) + ); + } + + return $in_templates; + } + + public function get_rule_fields( $in_fields ) { + + $args = array( + 'instance_id' => $this->get_instance_id(), + 'option_name' => $this->get_option_name() + ); + + return apply_filters( 'wtars_shipped_admin/shipping-rates/get-panels', array(), $args ); + } + + public function get_rule_head_fields( $in_fields, $repeater_args ) { + + $in_fields[] = array( + 'id' => 'any_id', + 'type' => 'group-field', + 'position' => 'right', + 'width' => '100%', + 'merge_fields' => false, + 'fields' => array( + array( + 'id' => 'apply_mode', + 'type' => 'select2', + 'default' => 'with_others', + 'disabled_list_filter' => 'wtars_shipped_admin/get-disabled-list', + 'data' => 'shipped:shipping_rate_methods', + 'width' => '255px', + ), + array( + 'id' => 'enable', + 'type' => 'select2', + 'default' => 'yes', + 'options' => array( + 'yes' => esc_html__( 'Enable', 'table-rate-shipping-rates' ), + 'no' => esc_html__( 'Disable', 'table-rate-shipping-rates' ), + ), + 'width' => '95px', + ), + ), + ); + + + + return $in_fields; + } + + public function process_options( $options ) { + + if ( isset( $options[ 'shipping_rates' ] ) ) { + $options[ 'shipping_rates' ] = $this->process_rules( $options[ 'shipping_rates' ] ); + } + + return $options; + } + + private function process_rules( $rules ) { + + foreach ( $rules as $key => $rule ) { + + $rules[ $key ] = $this->process_rule( $rule ); + } + + return $rules; + } + + private function process_rule( $rule ) { + + $args = array( + 'instance_id' => $this->get_instance_id(), + 'option_name' => $this->get_option_name(), + 'module' => 'shipping-rates', + ); + + if ( isset( $rule[ 'base_costs' ] ) ) { + + $args[ 'sub_module' ] = 'base-cost'; + + $rule[ 'base_costs' ] = $this->process_costs( $rule[ 'base_costs' ], $args ); + } + + if ( isset( $rule[ 'extra_costs' ] ) ) { + + $args[ 'sub_module' ] = 'extra-cost'; + + $rule[ 'extra_costs' ] = $this->process_costs( $rule[ 'extra_costs' ], $args ); + } + + return $rule; + } + + private function process_costs( $raw_costs, $args ) { + + $costs = array(); + + + foreach ( $raw_costs as $key => $raw_cost ) { + $cost = array(); + + $cost[ 'id' ] = $raw_cost[ 'id' ]; + $cost[ 'cost_type' ] = $raw_cost[ 'cost_type' ]; + + if ( isset( $raw_cost[ 'add_type' ] ) ) { + $cost[ 'add_type' ] = $raw_cost[ 'add_type' ]; + } + + if ( isset( $raw_cost[ 'group_by' ] ) ) { + $cost[ 'group_by' ] = $raw_cost[ 'group_by' ]; + } + + $cost[ 'set_conditions' ] = $raw_cost[ 'set_conditions' ]; + + $cost[ 'cost' ] = 0.0; + + if ( is_numeric( $raw_cost[ 'cost' ] ) ) { + $cost[ 'cost' ] = $raw_cost[ 'cost' ]; + } + + $cost = apply_filters( 'wtars_shipped_admin/process-cost-options', apply_filters( 'wtars_shipped_admin/process-cost-type-' . $raw_cost[ 'cost_type' ] . '-options', $cost, $raw_cost, $args ), $raw_cost, $args ); + + $cost[ 'taxable' ] = $raw_cost[ 'taxable' ]; + + $costs[ $key ] = $cost; + } + + return $costs; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/assets/admin-notices.js b/extensions/shipped/assets/admin-notices.js new file mode 100644 index 0000000..f432b59 --- /dev/null +++ b/extensions/shipped/assets/admin-notices.js @@ -0,0 +1,66 @@ +jQuery(document).ready(function($) { + "use strict"; + + + setTimeout(function() { + init_shipped_notice(); + }, 50); + + function init_shipped_notice() { + + $('.wtars-shipped-notice').each(function() { + + var obj = $(this); + + var notice_id = 'lite'; + + if (obj.attr('data-wtars_shipped_id')) { + + notice_id = obj.attr('data-wtars_shipped_id'); + } + + obj.find('.notice-dismiss,.wtars-shipped-btn-secondary').each(function() { + + var btn = $(this); + + var remind_me = 'no'; + + if (btn.attr('data-wtars_shipped_remind')) { + + remind_me = btn.attr('data-wtars_shipped_remind'); + } + + btn.on('click', function(event) { + + var btn_is_wp = true; + + + if (obj.attr('data-wtars_shipped_id')) + if (btn.hasClass('wtars-shipped-btn-secondary')) { + + event.preventDefault(); + btn_is_wp = false; + + } + + $.post(ajaxurl, { + action: 'wtars_shipped_dismiss_notice', + dismiss_notice_id: notice_id, + mayme_later: remind_me, + }); + + if (!btn_is_wp) { + + obj.animate({ height: '0px', opacity: 0 }, 300, 'swing', function() { + + obj.remove(); + }); + } + + }); + }); + + }); + } + +}); \ No newline at end of file diff --git a/extensions/shipped/assets/admin-styles.css b/extensions/shipped/assets/admin-styles.css new file mode 100644 index 0000000..e29c53f --- /dev/null +++ b/extensions/shipped/assets/admin-styles.css @@ -0,0 +1,253 @@ +#wtars_shipped_page .rn-field.rn-textbox { + overflow: hidden; +} + +.forminp-wtars_shipped_page { + padding: 0!important; +} + +#wtars_shipped_page { + margin-top: 0; +} + +#wtars_shipped_page .form-table td { + margin-bottom: 0px; + padding: 0 0; +} + +#wtars_shipped_page.rn-option-page .rn-option-page-body .rn-option-page-groups .rn-option-page-group { + padding: 0 27px 27px 28px; +} + +#wtars_shipped_page.rn-option-page .rn-option-page-tool:not(.rn-option-page-footer) { + position: sticky; + top: 86px; + z-index: 410; + background-color: #fff; +} + +.wtars_shipped_rules>.rn-ui-block { + padding-top: 5px!important; +} + +.wtars_shipped_rules_title { + border-bottom: 0!important; +} + +.wtars_shipped_rules_title .rn-ui-block { + padding-top: 20px!important; +} + +.rn-container .rn-ui-section.rn-ui-big-section.wtars_shipped_rules_title>.rn-ui-block>.rn-ui-head { + padding-bottom: 18px!important; +} + +.wtars_shipped_rules_apply_mode .rn-repeater-section { + margin-bottom: 4px!important; +} + +.rn-container .rn-repeater.wtars_shipped_extension_rules>.rn-repeater-sections>.rn-repeater-section>.rn-repeater-section-body { + padding-left: 0px!important; + padding-right: 0px!important; +} + +.rn-container .rn-repeater.wtars_shipped_extension_rules>.rn-repeater-sections>.rn-repeater-section>.rn-repeater-section-body>.rn-repeater-section-inner>.rn-ui-subapp>.rn-ui-section>.rn-ui-block { + padding-left: 20px; + padding-right: 20px; +} + +.shipped_calcs_title .rn-repeater-section { + margin-bottom: 0px!important; +} + +.shipped_calcs_title .rn-repeater-section-body { + padding-bottom: 0px!important; +} + +.shipped_calcs_field>.rn-ui-block { + padding-top: 10px!important; +} + +.rn-ui-section.shipped_panel_calcs_field>.rn-ui-block { + padding-left: 0!important; + padding-right: 0!important; +} + +.shipped_panel_calcs>.rn-repeater-sections>.rn-repeater-section { + border-left: 0!important; + border-right: 0!important; +} + +.shipped_panel_calcs>.rn-repeater-sections>.rn-repeater-section>.rn-repeater-section-body>.rn-repeater-section-inner>.rn-ui-subapp>.rn-ui-section:not(.shipped_calcs_field)>.rn-ui-block { + padding-top: 22px!important; +} + +.shipped_mid_panel_calcs .shipped_panel_calcs>.rn-repeater-sections>.rn-repeater-section { + border-bottom: 0!important; + margin-bottom: 0!important; +} + +.shipped_mid_panel_calcs .shipped_panel_calcs>.rn-repeater-sections>.rn-repeater-section>.rn-repeater-section-body { + padding-bottom: 0!important; +} + +.rn-container .rn-repeater.shipped_calcs .rn-repeater-sections>.rn-repeater-section>.rn-repeater-section-body { + border-top: 0; +} + +.rn-container .rn-repeater.shipped_calcs>.rn-repeater-sections>.rn-repeater-section>.rn-repeater-section-head { + background-color: transparent!important; +} + +.rn-container .rn-repeater.shipped_calcs>.rn-repeater-sections>.rn-repeater-section>.rn-repeater-section-head .rn-repeater-head-buttons .rn-repeater-head-delete { + font-size: 21px; +} + +.rn-container .rn-repeater.shipped_calcs>.rn-repeater-sections>.rn-repeater-section>.rn-repeater-section-head .rn-repeater-head-buttons .rn-repeater-head-sort { + width: 32px; + padding: 4px 23px 0 11px; + font-size: 18px; +} + +.rn-container .rn-repeater.shipped_calcs .rn-repeater-sections .rn-repeater-section { + margin-bottom: 10px!important; +} + +.rn-container .rn-repeater.shipped_calcs .rn-repeater-sections .rn-repeater-section .rn-ui-section.rn-first .rn-ui-block { + padding-top: 3px!important; +} + +.shipped_logic_title .rn-ui-head { + padding-bottom: 0px!important; +} + +.rn-container .rn-repeater.shipped_calcs .shipped_conditions .rn-repeater-sections .rn-repeater-section { + margin-bottom: 5px!important; +} + +.rn-container .shipped-title-message .rn-ui-block { + margin-bottom: 15px!important; +} + +.rn-container .rn-ui-section.shipped_setting_panel>.rn-ui-block { + padding-top: 15px!important; +} + +#wtars_shipped_page .rn-option-page-aside-details { + height: 195px; +} + +#wtars_shipped_page .rn-option-page-aside-details-logo { + margin-bottom: 8px; +} + +#wtars_shipped_page .rn-option-page-aside-details-title { + margin-bottom: 5px; +} + +#wtars_shipped_page hr { + display: none; +} + +#wtars_shipped_page .rn-option-page-aside-details-after { + height: 22px; +} + +#wtars_shipped_page .rn-option-page-tabs-list a { + padding: 5px 5px 5px 27px; +} + +#wtars_shipped_page .rn-option-page-tabs-list a::before { + top: 0px; + position: relative; + font-size: 14px; + margin-right: 9px; +} + +#wtars_shipped_page #rn_link_settings::before { + content: '\f013'; +} + +#wtars_shipped_page #rn_link_shipping_rates::before { + content: '\f48b'; +} + +#wtars_shipped_page #rn_link_cart_fees::before { + content: '\f4de'; +} + +#wtars_shipped_page #rn_link_checkout_messages::before { + content: '\f658'; +} + +#wtars_shipped_page #rn_link_rn_import_export::before { + content: '\f0a0'; + font: var(--fa-font-solid); +} + +.notice.wtars-shipped-notice { + padding: 10px 15px; + font-size: 14px; +} + +.notice.wtars-shipped-notice p.notice-message { + font-size: 14px; + margin-bottom: 14px; +} + +.wtars-shipped-btn { + display: inline-block; + padding: 5px 9px 4px 7px; + ; + font-size: 12px; + color: #fff; + background-color: #00a0d2; + border: 1px solid #00a0d2; + margin-right: 2px; + border-radius: 0; + text-decoration: none; + text-transform: uppercase; + letter-spacing: .4px; + transition: all .3s ease; +} + +.wtars-shipped-btn:hover { + color: #fff; + border-color: #0090bd; + background-color: #0090bd; + text-decoration: none; + outline: none; + -webkit-box-shadow: inset 0px 1px 1px rgb(0 0 0 / 30%); + box-shadow: inset 0px 1px 1px rgb(0 0 0 / 30%); +} + +.wtars-shipped-btn:active, +.wtars-shipped-btn:visited { + color: #fff; + text-decoration: none; + outline: none; + box-shadow: none; +} + +.wtars-shipped-btn .dashicons { + position: relative; + top: 0px; + padding-right: 3px; + font-size: 18px; +} + +.wtars-shipped-btn.wtars-shipped-btn-secondary { + color: #697578; + background-color: #f1f1f1; + border-color: #ccc; +} + +.wtars-shipped-btn.wtars-shipped-btn-secondary:hover { + color: #697578; + background-color: #eaeaea; +} + +#zcws_get_premium span { + font-weight: 600; + color: red; +} \ No newline at end of file diff --git a/extensions/shipped/assets/images/aside_bg.png b/extensions/shipped/assets/images/aside_bg.png new file mode 100644 index 0000000..7c949e0 Binary files /dev/null and b/extensions/shipped/assets/images/aside_bg.png differ diff --git a/extensions/shipped/assets/images/aside_logo.png b/extensions/shipped/assets/images/aside_logo.png new file mode 100644 index 0000000..8f4be38 Binary files /dev/null and b/extensions/shipped/assets/images/aside_logo.png differ diff --git a/extensions/shipped/assets/jquery.tipTip.min.js b/extensions/shipped/assets/jquery.tipTip.min.js new file mode 100644 index 0000000..cdf3a89 --- /dev/null +++ b/extensions/shipped/assets/jquery.tipTip.min.js @@ -0,0 +1,21 @@ + /* + * TipTip + * Copyright 2010 Drew Wilson + * www.drewwilson.com + * code.drewwilson.com/entry/tiptip-jquery-plugin + * + * Version 1.3 - Updated: Mar. 23, 2010 + * + * This Plug-In will create a custom tooltip to replace the default + * browser tooltip. It is extremely lightweight and very smart in + * that it detects the edges of the browser window and will make sure + * the tooltip stays within the current window size. As a result the + * tooltip will adjust itself to be displayed above, below, to the left + * or to the right depending on what is necessary to stay within the + * browser window. It is completely customizable as well via CSS. + * + * This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ +(function($){$.fn.tipTip=function(options){var defaults={activation:"hover",keepAlive:false,maxWidth:"200px",edgeOffset:3,defaultPosition:"bottom",delay:400,fadeIn:200,fadeOut:200,attribute:"title",content:false,enter:function(){},exit:function(){}};var opts=$.extend(defaults,options);if($("#tiptip_holder").length<=0){var tiptip_holder=$('
');var tiptip_content=$('
');var tiptip_arrow=$('
');$("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('
')))}else{var tiptip_holder=$("#tiptip_holder");var tiptip_content=$("#tiptip_content");var tiptip_arrow=$("#tiptip_arrow")}return this.each(function(){var org_elem=$(this);if(opts.content){var org_title=opts.content}else{var org_title=org_elem.attr(opts.attribute)}if(org_title!=""){if(!opts.content){org_elem.removeAttr(opts.attribute)}var timeout=false;if(opts.activation=="hover"){org_elem.hover(function(){active_tiptip()},function(){if(!opts.keepAlive){deactive_tiptip()}});if(opts.keepAlive){tiptip_holder.hover(function(){},function(){deactive_tiptip()})}}else if(opts.activation=="focus"){org_elem.focus(function(){active_tiptip()}).blur(function(){deactive_tiptip()})}else if(opts.activation=="click"){org_elem.click(function(){active_tiptip();return false}).hover(function(){},function(){if(!opts.keepAlive){deactive_tiptip()}});if(opts.keepAlive){tiptip_holder.hover(function(){},function(){deactive_tiptip()})}}function active_tiptip(){opts.enter.call(this);tiptip_content.html(org_title);tiptip_holder.hide().removeAttr("class").css("margin","0");tiptip_arrow.removeAttr("style");var top=parseInt(org_elem.offset()['top']);var left=parseInt(org_elem.offset()['left']);var org_width=parseInt(org_elem.outerWidth());var org_height=parseInt(org_elem.outerHeight());var tip_w=tiptip_holder.outerWidth();var tip_h=tiptip_holder.outerHeight();var w_compare=Math.round((org_width-tip_w)/2);var h_compare=Math.round((org_height-tip_h)/2);var marg_left=Math.round(left+w_compare);var marg_top=Math.round(top+org_height+opts.edgeOffset);var t_class="";var arrow_top="";var arrow_left=Math.round(tip_w-12)/2;if(opts.defaultPosition=="bottom"){t_class="_bottom"}else if(opts.defaultPosition=="top"){t_class="_top"}else if(opts.defaultPosition=="left"){t_class="_left"}else if(opts.defaultPosition=="right"){t_class="_right"}var right_compare=(w_compare+left)parseInt($(window).width());if((right_compare&&w_compare<0)||(t_class=="_right"&&!left_compare)||(t_class=="_left"&&left<(tip_w+opts.edgeOffset+5))){t_class="_right";arrow_top=Math.round(tip_h-13)/2;arrow_left=-12;marg_left=Math.round(left+org_width+opts.edgeOffset);marg_top=Math.round(top+h_compare)}else if((left_compare&&w_compare<0)||(t_class=="_left"&&!right_compare)){t_class="_left";arrow_top=Math.round(tip_h-13)/2;arrow_left=Math.round(tip_w);marg_left=Math.round(left-(tip_w+opts.edgeOffset+5));marg_top=Math.round(top+h_compare)}var top_compare=(top+org_height+opts.edgeOffset+tip_h+8)>parseInt($(window).height()+$(window).scrollTop());var bottom_compare=((top+org_height)-(opts.edgeOffset+tip_h+8))<0;if(top_compare||(t_class=="_bottom"&&top_compare)||(t_class=="_top"&&!bottom_compare)){if(t_class=="_top"||t_class=="_bottom"){t_class="_top"}else{t_class=t_class+"_top"}arrow_top=tip_h;marg_top=Math.round(top-(tip_h+5+opts.edgeOffset))}else if(bottom_compare|(t_class=="_top"&&bottom_compare)||(t_class=="_bottom"&&!top_compare)){if(t_class=="_top"||t_class=="_bottom"){t_class="_bottom"}else{t_class=t_class+"_bottom"}arrow_top=-12;marg_top=Math.round(top+org_height+opts.edgeOffset)}if(t_class=="_right_top"||t_class=="_left_top"){marg_top=marg_top+5}else if(t_class=="_right_bottom"||t_class=="_left_bottom"){marg_top=marg_top-5}if(t_class=="_left_top"||t_class=="_left_bottom"){marg_left=marg_left+5}tiptip_arrow.css({"margin-left":arrow_left+"px","margin-top":arrow_top+"px"});tiptip_holder.css({"margin-left":marg_left+"px","margin-top":marg_top+"px"}).attr("class","tip"+t_class);if(timeout){clearTimeout(timeout)}timeout=setTimeout(function(){tiptip_holder.stop(true,true).fadeIn(opts.fadeIn)},opts.delay)}function deactive_tiptip(){opts.exit.call(this);if(timeout){clearTimeout(timeout)}tiptip_holder.fadeOut(opts.fadeOut)}}})}})(jQuery); \ No newline at end of file diff --git a/extensions/shipped/assets/public-scripts.js b/extensions/shipped/assets/public-scripts.js new file mode 100644 index 0000000..d318853 --- /dev/null +++ b/extensions/shipped/assets/public-scripts.js @@ -0,0 +1,35 @@ +jQuery(document).ready(function($) { + "use strict"; + + if ('' != wtars_shipped.update_triggers) { + + $('form.checkout').on('change', wtars_shipped.update_triggers, function() { + $('body').trigger('update_checkout'); + }); + } + run_shipped_tips(); + + $(document.body).on("updated_checkout", function(e, data) { + + run_shipped_tips(); + }); + + $(document.body).on('updated_cart_totals', function() { + + run_shipped_tips(); + }); + + function run_shipped_tips() { + + $('.fee').each(function() { + var shipped_fee = $(this); + var shipped_fee_tips = shipped_fee.find('.wtars_shipped_tooltip_mv'); + shipped_fee.find('th').append(shipped_fee_tips); + shipped_fee.find('td').find('.wtars_shipped_tooltip_mv').remove(); + shipped_fee_tips.removeClass('wtars_shipped_tooltip_mv'); + }); + + $('.wtars_shipped_tooltip').tipTip({defaultPosition: 'top'}); + } + +}); \ No newline at end of file diff --git a/extensions/shipped/assets/public-scripts.min.js b/extensions/shipped/assets/public-scripts.min.js new file mode 100644 index 0000000..73cf357 --- /dev/null +++ b/extensions/shipped/assets/public-scripts.min.js @@ -0,0 +1 @@ +jQuery(document).ready(function(t){"use strict";function e(){t(".fee").each(function(){var e=t(this),o=e.find(".wtars_shipped_tooltip_mv");e.find("th").append(o),e.find("td").find(".wtars_shipped_tooltip_mv").remove(),o.removeClass("wtars_shipped_tooltip_mv")}),t(".wtars_shipped_tooltip").tipTip({defaultPosition:"top"})}""!=wtars_shipped.update_triggers&&t("form.checkout").on("change",wtars_shipped.update_triggers,function(){t("body").trigger("update_checkout")}),e(),t(document.body).on("updated_checkout",function(t,o){e()}),t(document.body).on("updated_cart_totals",function(){e()})}); \ No newline at end of file diff --git a/extensions/shipped/assets/public-styles.css b/extensions/shipped/assets/public-styles.css new file mode 100644 index 0000000..7046b79 --- /dev/null +++ b/extensions/shipped/assets/public-styles.css @@ -0,0 +1,12 @@ +.wtars_shipped_tooltip{ + vertical-align: middle; + font-size: 16px; + margin-left: 2px; + cursor: pointer; + display: inline-block; +} + +.wtars_shipped_tooltip_mv{ + display: none; + visibility: hidden; +} \ No newline at end of file diff --git a/extensions/shipped/assets/public-styles.min.css b/extensions/shipped/assets/public-styles.min.css new file mode 100644 index 0000000..ce2ccdf --- /dev/null +++ b/extensions/shipped/assets/public-styles.min.css @@ -0,0 +1 @@ +.wtars_shipped_tooltip{vertical-align:middle;font-size:16px;margin-left:2px;cursor:pointer;display:inline-block}.wtars_shipped_tooltip_mv{display:none;visibility:hidden} \ No newline at end of file diff --git a/extensions/shipped/assets/tipTip.css b/extensions/shipped/assets/tipTip.css new file mode 100644 index 0000000..4fb95d3 --- /dev/null +++ b/extensions/shipped/assets/tipTip.css @@ -0,0 +1,113 @@ +/* TipTip CSS - Version 1.2 */ + +#tiptip_holder { + display: none; + position: absolute; + top: 0; + left: 0; + z-index: 99999; +} + +#tiptip_holder.tip_top { + padding-bottom: 5px; +} + +#tiptip_holder.tip_bottom { + padding-top: 5px; +} + +#tiptip_holder.tip_right { + padding-left: 5px; +} + +#tiptip_holder.tip_left { + padding-right: 5px; +} + +#tiptip_content { + font-size: 11px; + color: #fff; + text-shadow: 0 0 2px #000; + padding: 4px 8px; + border: 1px solid rgba(255,255,255,0.25); + background-color: rgb(25,25,25); + background-color: rgba(25,25,25,0.92); + background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(transparent), to(#000)); + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + box-shadow: 0 0 3px #555; + -webkit-box-shadow: 0 0 3px #555; + -moz-box-shadow: 0 0 3px #555; +} + +#tiptip_arrow, #tiptip_arrow_inner { + position: absolute; + border-color: transparent; + border-style: solid; + border-width: 6px; + height: 0; + width: 0; +} + +#tiptip_holder.tip_top #tiptip_arrow { + border-top-color: #fff; + border-top-color: rgba(255,255,255,0.35); +} + +#tiptip_holder.tip_bottom #tiptip_arrow { + border-bottom-color: #fff; + border-bottom-color: rgba(255,255,255,0.35); +} + +#tiptip_holder.tip_right #tiptip_arrow { + border-right-color: #fff; + border-right-color: rgba(255,255,255,0.35); +} + +#tiptip_holder.tip_left #tiptip_arrow { + border-left-color: #fff; + border-left-color: rgba(255,255,255,0.35); +} + +#tiptip_holder.tip_top #tiptip_arrow_inner { + margin-top: -7px; + margin-left: -6px; + border-top-color: rgb(25,25,25); + border-top-color: rgba(25,25,25,0.92); +} + +#tiptip_holder.tip_bottom #tiptip_arrow_inner { + margin-top: -5px; + margin-left: -6px; + border-bottom-color: rgb(25,25,25); + border-bottom-color: rgba(25,25,25,0.92); +} + +#tiptip_holder.tip_right #tiptip_arrow_inner { + margin-top: -6px; + margin-left: -5px; + border-right-color: rgb(25,25,25); + border-right-color: rgba(25,25,25,0.92); +} + +#tiptip_holder.tip_left #tiptip_arrow_inner { + margin-top: -6px; + margin-left: -7px; + border-left-color: rgb(25,25,25); + border-left-color: rgba(25,25,25,0.92); +} + +/* Webkit Hacks */ +@media screen and (-webkit-min-device-pixel-ratio:0) { + #tiptip_content { + padding: 4px 8px 5px 8px; + background-color: rgba(45,45,45,0.88); + } + #tiptip_holder.tip_bottom #tiptip_arrow_inner { + border-bottom-color: rgba(45,45,45,0.88); + } + #tiptip_holder.tip_top #tiptip_arrow_inner { + border-top-color: rgba(20,20,20,0.92); + } +} \ No newline at end of file diff --git a/extensions/shipped/assets/tipTip.min.css b/extensions/shipped/assets/tipTip.min.css new file mode 100644 index 0000000..c0a2506 --- /dev/null +++ b/extensions/shipped/assets/tipTip.min.css @@ -0,0 +1 @@ + #tiptip_holder {display: none;position: absolute;top: 0;left: 0;z-index: 99999;}#tiptip_holder.tip_top {padding-bottom: 5px;}#tiptip_holder.tip_bottom {padding-top: 5px;}#tiptip_holder.tip_right {padding-left: 5px;}#tiptip_holder.tip_left {padding-right: 5px;}#tiptip_content {font-size: 11px;color: #fff;text-shadow: 0 0 2px #000;padding: 4px 8px;border: 1px solid rgba(255,255,255,0.25);background-color: rgb(25,25,25);background-color: rgba(25,25,25,0.92);background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(transparent), to(#000));border-radius: 3px;-webkit-border-radius: 3px;-moz-border-radius: 3px;box-shadow: 0 0 3px #555;-webkit-box-shadow: 0 0 3px #555;-moz-box-shadow: 0 0 3px #555;}#tiptip_arrow, #tiptip_arrow_inner {position: absolute;border-color: transparent;border-style: solid;border-width: 6px;height: 0;width: 0;}#tiptip_holder.tip_top #tiptip_arrow {border-top-color: #fff;border-top-color: rgba(255,255,255,0.35);}#tiptip_holder.tip_bottom #tiptip_arrow {border-bottom-color: #fff;border-bottom-color: rgba(255,255,255,0.35);}#tiptip_holder.tip_right #tiptip_arrow {border-right-color: #fff;border-right-color: rgba(255,255,255,0.35);}#tiptip_holder.tip_left #tiptip_arrow {border-left-color: #fff;border-left-color: rgba(255,255,255,0.35);}#tiptip_holder.tip_top #tiptip_arrow_inner {margin-top: -7px;margin-left: -6px;border-top-color: rgb(25,25,25);border-top-color: rgba(25,25,25,0.92);}#tiptip_holder.tip_bottom #tiptip_arrow_inner {margin-top: -5px;margin-left: -6px;border-bottom-color: rgb(25,25,25);border-bottom-color: rgba(25,25,25,0.92);}#tiptip_holder.tip_right #tiptip_arrow_inner {margin-top: -6px;margin-left: -5px;border-right-color: rgb(25,25,25);border-right-color: rgba(25,25,25,0.92);}#tiptip_holder.tip_left #tiptip_arrow_inner {margin-top: -6px;margin-left: -7px;border-left-color: rgb(25,25,25);border-left-color: rgba(25,25,25,0.92);}@media screen and (-webkit-min-device-pixel-ratio:0) {#tiptip_content {padding: 4px 8px 5px 8px;background-color: rgba(45,45,45,0.88);}#tiptip_holder.tip_bottom #tiptip_arrow_inner {border-bottom-color: rgba(45,45,45,0.88);}#tiptip_holder.tip_top #tiptip_arrow_inner {border-top-color: rgba(20,20,20,0.92);}} \ No newline at end of file diff --git a/extensions/shipped/compatibility/compatibility.php b/extensions/shipped/compatibility/compatibility.php new file mode 100644 index 0000000..b593ee8 --- /dev/null +++ b/extensions/shipped/compatibility/compatibility.php @@ -0,0 +1,6 @@ +get_string_id_prefix( $message_id, $instance_id ); + + $string_id = $id_prefix; + + return WTARS_Shipped_Polylang::get_translated_string( $message, $string_id ); + } + + public function get_strings( $options, $instance_id ) { + + $message_strings = array(); + + foreach ( $this->get_messages( $options ) as $message ) { + + $key = $this->get_string_id_prefix( $message[ 'message_id' ], $instance_id ); + + $message_strings[ $key ] = array( + 'value' => $message[ 'message' ], + 'is_multiline' => true + ); + } + + return $message_strings; + } + + private function get_string_id_prefix( $message_id, $instance_id ) { + + return 'wtars_shipped_message_' . $instance_id . '_' . $message_id; + } + + private function get_messages( $options ) { + + if ( !isset( $options[ 'checkout_messages' ] ) ) { + + return array(); + } + + return $options[ 'checkout_messages' ]; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/compatibility/polylang/polylang-rates.php b/extensions/shipped/compatibility/polylang/polylang-rates.php new file mode 100644 index 0000000..d2c623d --- /dev/null +++ b/extensions/shipped/compatibility/polylang/polylang-rates.php @@ -0,0 +1,90 @@ +get_string_id_prefix( $rate_id, $instance_id ); + + $string_id = $id_prefix . 'title'; + + return WTARS_Shipped_Polylang::get_translated_string( $title, $string_id ); + } + + public function tranlate_tooltip( $tooltip, $rate_id, $instance_id ) { + + $id_prefix = $this->get_string_id_prefix( $rate_id, $instance_id ); + + $string_id = $id_prefix . 'tooltip'; + + return WTARS_Shipped_Polylang::get_translated_string( $tooltip, $string_id ); + } + + public function tranlate_desc( $desc, $rate_id, $instance_id ) { + + $id_prefix = $this->get_string_id_prefix( $rate_id, $instance_id ); + + $string_id = $id_prefix . 'desc'; + + return WTARS_Shipped_Polylang::get_translated_string( $desc, $string_id ); + } + + public function get_strings( $options, $instance_id ) { + + $rate_strings = array(); + + foreach ( $this->get_shipping_rates( $options ) as $shipping_rate ) { + + $key = $this->get_string_id_prefix( $shipping_rate[ 'rate_id' ], $instance_id ); + + $rate_strings[ $key . 'title' ] = array( + 'value' => $shipping_rate[ 'title' ], + 'is_multiline' => true + ); + + $rate_strings[ $key . 'tooltip' ] = array( + 'value' => $shipping_rate[ 'tooltip' ], + 'is_multiline' => true + ); + + $rate_strings[ $key . 'desc' ] = array( + 'value' => $shipping_rate[ 'desc' ], + 'is_multiline' => true + ); + } + + return $rate_strings; + } + + private function get_string_id_prefix( $rate_id, $instance_id ) { + + return 'wtars_shipped_rate_' . $instance_id . '_' . $rate_id . '_'; + } + + private function get_shipping_rates( $options ) { + + if ( !isset( $options[ 'shipping_rates' ] ) ) { + + return array(); + } + + return $options[ 'shipping_rates' ]; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/compatibility/polylang/polylang.php b/extensions/shipped/compatibility/polylang/polylang.php new file mode 100644 index 0000000..0319161 --- /dev/null +++ b/extensions/shipped/compatibility/polylang/polylang.php @@ -0,0 +1,72 @@ +shipping_rates = new WTARS_Shipped_Polylang_Shipping_Rates(); + $this->messages = new WTARS_Shipped_Polylang_Messages(); + + add_filter( 'reon/process-save-options-' . $option_name, array( $this, 'register_translations' ), 10, 3 ); + } + + public function register_translations( $options, $is_reset, $instance_id ) { + + // Register shipping rates strings + foreach ( $this->shipping_rates->get_strings( $options, $instance_id ) as $string_id => $string_data ) { + + $this->register_string( $string_id, $string_data[ 'value' ], $string_data[ 'is_multiline' ] ); + } + + // Register cart notifications strings + foreach ( $this->messages->get_strings( $options, $instance_id ) as $string_id => $string_data ) { + + $this->register_string( $string_id, $string_data[ 'value' ], $string_data[ 'is_multiline' ] ); + } + + return $options; + } + + public static function get_translated_string( $string_value, $string_id ) { + + if ( function_exists( 'pll__' ) ) { + + return pll__( $string_value ); + } else if ( function_exists( 'icl_t' ) ) { + + return icl_t( 'table-rate-shipping-rates', $string_id, $string_value ); + } + + return $string_value; + } + + private function register_string( $string_id, $string_value, $is_multiline = true ) { + + if ( function_exists( 'icl_register_string' ) ) { + + icl_register_string( 'table-rate-shipping-rates', $string_id, $string_value ); + } else if ( function_exists( 'pll_register_string' ) ) { + + pll_register_string( $string_id, $string_value, 'table-rate-shipping-rates', $is_multiline ); + } + } + + } + + new WTARS_Shipped_Polylang(); +} + diff --git a/extensions/shipped/compatibility/wmc/wmc-cart.php b/extensions/shipped/compatibility/wmc/wmc-cart.php new file mode 100644 index 0000000..7f30b5f --- /dev/null +++ b/extensions/shipped/compatibility/wmc/wmc-cart.php @@ -0,0 +1,39 @@ +get_converter(); + + $cart_totals[ 'subtotal' ] = $converter->revert_amount( $cart_totals[ 'subtotal' ] ); + $cart_totals[ 'subtotal_tax' ] = $converter->revert_amount( $cart_totals[ 'subtotal_tax' ] ); + $cart_totals[ 'discount_total' ] = $converter->revert_amount( $cart_totals[ 'discount_total' ] ); + $cart_totals[ 'discount_tax' ] = $converter->revert_amount( $cart_totals[ 'discount_tax' ] ); + $cart_totals[ 'cart_contents_total' ] = $converter->revert_amount( $cart_totals[ 'cart_contents_total' ] ); + $cart_totals[ 'cart_contents_tax' ] = $converter->revert_amount( $cart_totals[ 'cart_contents_tax' ] ); + $cart_totals[ 'cart_contents_taxes' ] = $converter->revert_amount_list( $cart_totals[ 'cart_contents_taxes' ] ); + + return $cart_totals; + } + + private function get_converter() { + + return WTARS_Shipped_WMC::get_instance(); + } + + } + + new WTARS_Shipped_WMC_Cart(); +} diff --git a/extensions/shipped/compatibility/wmc/wmc-fees.php b/extensions/shipped/compatibility/wmc/wmc-fees.php new file mode 100644 index 0000000..5eb61f1 --- /dev/null +++ b/extensions/shipped/compatibility/wmc/wmc-fees.php @@ -0,0 +1,36 @@ +get_converter(); + + $rate_fee[ 'cost' ] = $converter->convert_amount( $rate_fee[ 'cost' ] ); + $rate_fee[ 'tax_total' ] = $converter->convert_amount( $rate_fee[ 'tax_total' ] ); + $rate_fee[ 'taxes' ] = $converter->convert_amount_list( $rate_fee[ 'taxes' ] ); + + return $rate_fee; + } + + private function get_converter() { + + return WTARS_Shipped_WMC::get_instance(); + } + + } + + new WTARS_Shipped_WMC_Fees(); +} + diff --git a/extensions/shipped/compatibility/wmc/wmc-package.php b/extensions/shipped/compatibility/wmc/wmc-package.php new file mode 100644 index 0000000..33c9603 --- /dev/null +++ b/extensions/shipped/compatibility/wmc/wmc-package.php @@ -0,0 +1,34 @@ +get_converter(); + + $item[ 'line_subtotal' ] = $converter->revert_amount( $item[ 'line_subtotal' ] ); + $item[ 'line_subtotal_tax' ] = $converter->revert_amount( $item[ 'line_subtotal_tax' ] ); + + return $item; + } + + private function get_converter() { + + return WTARS_Shipped_WMC::get_instance(); + } + + } + + new WTARS_Shipped_WMC_Package(); +} diff --git a/extensions/shipped/compatibility/wmc/wmc.php b/extensions/shipped/compatibility/wmc/wmc.php new file mode 100644 index 0000000..3f680b3 --- /dev/null +++ b/extensions/shipped/compatibility/wmc/wmc.php @@ -0,0 +1,73 @@ +convert_amount( $amount_list ); + } + + $amounts = array(); + + foreach ( $amount_list as $key => $amount ) { + + $amounts[ $key ] = $this->convert_amount( $amount ); + } + + return $amounts; + } + + public function revert_amount_list( $amount_list ) { + + if ( !is_array( $amount_list ) ) { + + return $this->revert_amount( $amount_list ); + } + + $amounts = array(); + + foreach ( $amount_list as $key => $amount ) { + + $amounts[ $key ] = $this->revert_amount( $amount ); + } + + return $amounts; + } + + public function convert_amount( $amount ) { + + return wmc_get_price( $amount ); + } + + public function revert_amount( $amount ) { + + return wmc_revert_price( $amount ); + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/compatibility/woocs/woocs-cart.php b/extensions/shipped/compatibility/woocs/woocs-cart.php new file mode 100644 index 0000000..aa42cdd --- /dev/null +++ b/extensions/shipped/compatibility/woocs/woocs-cart.php @@ -0,0 +1,39 @@ +get_converter(); + + $cart_totals[ 'subtotal' ] = $converter->revert_amount( $cart_totals[ 'subtotal' ] ); + $cart_totals[ 'subtotal_tax' ] = $converter->revert_amount( $cart_totals[ 'subtotal_tax' ] ); + $cart_totals[ 'discount_total' ] = $converter->revert_amount( $cart_totals[ 'discount_total' ] ); + $cart_totals[ 'discount_tax' ] = $converter->revert_amount( $cart_totals[ 'discount_tax' ] ); + $cart_totals[ 'cart_contents_total' ] = $converter->revert_amount( $cart_totals[ 'cart_contents_total' ] ); + $cart_totals[ 'cart_contents_tax' ] = $converter->revert_amount( $cart_totals[ 'cart_contents_tax' ] ); + $cart_totals[ 'cart_contents_taxes' ] = $converter->revert_amount_list( $cart_totals[ 'cart_contents_taxes' ] ); + + return $cart_totals; + } + + private function get_converter() { + + return WTARS_Shipped_WOOCS::get_instance(); + } + + } + + new WTARS_Shipped_WOOCS_Cart(); +} \ No newline at end of file diff --git a/extensions/shipped/compatibility/woocs/woocs-fees.php b/extensions/shipped/compatibility/woocs/woocs-fees.php new file mode 100644 index 0000000..204f47a --- /dev/null +++ b/extensions/shipped/compatibility/woocs/woocs-fees.php @@ -0,0 +1,35 @@ +get_converter(); + + $rate_fee[ 'cost' ] = $converter->convert_amount( $rate_fee[ 'cost' ] ); + $rate_fee[ 'tax_total' ] = $converter->convert_amount( $rate_fee[ 'tax_total' ] ); + $rate_fee[ 'taxes' ] = $converter->convert_amount_list( $rate_fee[ 'taxes' ] ); + + return $rate_fee; + } + + private function get_converter() { + + return WTARS_Shipped_WOOCS::get_instance(); + } + + } + + new WTARS_Shipped_WOOCS_Fees(); +} \ No newline at end of file diff --git a/extensions/shipped/compatibility/woocs/woocs-package.php b/extensions/shipped/compatibility/woocs/woocs-package.php new file mode 100644 index 0000000..f5bc2a0 --- /dev/null +++ b/extensions/shipped/compatibility/woocs/woocs-package.php @@ -0,0 +1,34 @@ +get_converter(); + + $item[ 'line_subtotal' ] = $converter->revert_amount( $item[ 'line_subtotal' ] ); + $item[ 'line_subtotal_tax' ] = $converter->revert_amount( $item[ 'line_subtotal_tax' ] ); + + return $item; + } + + private function get_converter() { + + return WTARS_Shipped_WOOCS::get_instance(); + } + + } + + new WTARS_Shipped_WOOCS_Package(); +} diff --git a/extensions/shipped/compatibility/woocs/woocs.php b/extensions/shipped/compatibility/woocs/woocs.php new file mode 100644 index 0000000..02db87f --- /dev/null +++ b/extensions/shipped/compatibility/woocs/woocs.php @@ -0,0 +1,73 @@ +convert_amount( $amount_list ); + } + + $amounts = array(); + + foreach ( $amount_list as $key => $amount ) { + + $amounts[ $key ] = $this->convert_amount( $amount ); + } + + return $amounts; + } + + public function revert_amount_list( $amount_list ) { + + if ( !is_array( $amount_list ) ) { + + return $this->revert_amount( $amount_list ); + } + + $amounts = array(); + + foreach ( $amount_list as $key => $amount ) { + + $amounts[ $key ] = $this->revert_amount( $amount ); + } + + return $amounts; + } + + public function convert_amount( $amount ) { + + return apply_filters( 'woocs_convert_price', $amount ); + } + + public function revert_amount( $amount ) { + + return apply_filters( 'woocs_back_convert_price', $amount ); + } + + } + +} diff --git a/extensions/shipped/compatibility/wpml/wpml-messages.php b/extensions/shipped/compatibility/wpml/wpml-messages.php new file mode 100644 index 0000000..d28c219 --- /dev/null +++ b/extensions/shipped/compatibility/wpml/wpml-messages.php @@ -0,0 +1,56 @@ +get_string_id_prefix( $message_id, $instance_id ); + + $string_id = $id_prefix; + + return WTARS_Shipped_WPML::get_translated_string( $message, $string_id ); + } + + public function get_strings( $options, $instance_id ) { + + $message_strings = array(); + + foreach ( $this->get_messages( $options ) as $message ) { + + $key = $this->get_string_id_prefix( $message[ 'message_id' ], $instance_id ); + + $message_strings[ $key ] = $message[ 'message' ]; + } + + return $message_strings; + } + + private function get_string_id_prefix( $message_id, $instance_id ) { + + return 'wtars_shipped_message_' . $instance_id . '_' . $message_id; + } + + private function get_messages( $options ) { + + if ( !isset( $options[ 'checkout_messages' ] ) ) { + + return array(); + } + + return $options[ 'checkout_messages' ]; + } + + } + +} diff --git a/extensions/shipped/compatibility/wpml/wpml-rates.php b/extensions/shipped/compatibility/wpml/wpml-rates.php new file mode 100644 index 0000000..23e6b12 --- /dev/null +++ b/extensions/shipped/compatibility/wpml/wpml-rates.php @@ -0,0 +1,81 @@ +get_string_id_prefix( $rate_id, $instance_id ); + + $string_id = $id_prefix . 'title'; + + return WTARS_Shipped_WPML::get_translated_string( $title, $string_id ); + } + + public function tranlate_tooltip( $tooltip, $rate_id, $instance_id ) { + + $id_prefix = $this->get_string_id_prefix( $rate_id, $instance_id ); + + $string_id = $id_prefix . 'tooltip'; + + return WTARS_Shipped_WPML::get_translated_string( $tooltip, $string_id ); + } + + public function tranlate_desc( $desc, $rate_id, $instance_id ) { + + $id_prefix = $this->get_string_id_prefix( $rate_id, $instance_id ); + + $string_id = $id_prefix . 'desc'; + + return WTARS_Shipped_WPML::get_translated_string( $desc, $string_id ); + } + + public function get_strings( $options, $instance_id ) { + + $rate_strings = array(); + + foreach ( $this->get_shipping_rates( $options ) as $shipping_rate ) { + + $key = $this->get_string_id_prefix( $shipping_rate[ 'rate_id' ], $instance_id ); + + $rate_strings[ $key . 'title' ] = $shipping_rate[ 'title' ]; + + $rate_strings[ $key . 'tooltip' ] = $shipping_rate[ 'tooltip' ]; + + $rate_strings[ $key . 'desc' ] = $shipping_rate[ 'desc' ]; + } + + return $rate_strings; + } + + private function get_string_id_prefix( $rate_id, $instance_id ) { + + return 'wtars_shipped_rate_' . $instance_id . '_' . $rate_id . '_'; + } + + private function get_shipping_rates( $options ) { + + if ( !isset( $options[ 'shipping_rates' ] ) ) { + + return array(); + } + + return $options[ 'shipping_rates' ]; + } + + } + +} + diff --git a/extensions/shipped/compatibility/wpml/wpml.php b/extensions/shipped/compatibility/wpml/wpml.php new file mode 100644 index 0000000..2e75b20 --- /dev/null +++ b/extensions/shipped/compatibility/wpml/wpml.php @@ -0,0 +1,73 @@ +shipping_rates = new WTARS_Shipped_WPML_Shipping_Rates(); + $this->fees = new WTARS_Shipped_WPML_Fees(); + $this->messages = new WTARS_Shipped_WPML_Messages(); + + add_filter( 'reon/process-save-options-' . $option_name, array( $this, 'register_translations' ), 10, 3 ); + } + + public function register_translations( $options, $is_reset, $instance_id ) { + + // Register shipping rates strings + foreach ( $this->shipping_rates->get_strings( $options, $instance_id ) as $string_id => $string_value ) { + + $this->register_string( $string_id, $string_value ); + } + + // Register handling fees strings + foreach ( $this->fees->get_strings( $options, $instance_id ) as $string_id => $string_value ) { + + $this->register_string( $string_id, $string_value ); + } + + // Register cart notifications strings + foreach ( $this->messages->get_strings( $options, $instance_id ) as $string_id => $string_value ) { + + $this->register_string( $string_id, $string_value ); + } + + return $options; + } + + public function get_translated_string( $string_value, $string_id ) { + + if ( function_exists( 'icl_t' ) ) { + + return icl_t( 'zc-woo-pricely', $string_id, $string_value ); + } + + return $string_value; + } + + private function register_string( $string_id, $string_value ) { + + if ( function_exists( 'icl_register_string' ) ) { + + icl_register_string( 'table-rate-shipping-rates', $string_id, $string_value ); + } + } + + } + + new WTARS_Shipped_WPML(); +} \ No newline at end of file diff --git a/extensions/shipped/public/condition-types/condition-types-customer.php b/extensions/shipped/public/condition-types/condition-types-customer.php new file mode 100644 index 0000000..45838f8 --- /dev/null +++ b/extensions/shipped/public/condition-types/condition-types-customer.php @@ -0,0 +1,53 @@ +prefix . '2234343-condition', array( $this, 'validate_totals' ), 10, 2 ); + + return $data; + } + + public function validate_totals( $condition, $data ) { + + $order_totals = $this->get_order_totals( $condition, $data ); + + $rule_compare = $condition[ 'compare' ]; + + if ( '--' == $rule_compare ) { + + $rule_from_totals = 0; + + if ( is_numeric( $condition[ 'from_totals' ] ) ) { + + $rule_from_totals = $condition[ 'from_totals' ]; + } + + $rule_to_totals = .01; + + if ( is_numeric( $condition[ 'to_totals' ] ) ) { + + $rule_to_totals = $condition[ 'to_totals' ]; + } + + $from_is_valid = WTARS_Shipped_Validation_Util::validate_value( '>=', $order_totals, $rule_from_totals, 'no' ); + + $to_is_valid = WTARS_Shipped_Validation_Util::validate_value( '<=', $order_totals, $rule_to_totals, 'no' ); + + return (true == $from_is_valid && true == $to_is_valid); + } + + $rule_totals = 0; + + if ( is_numeric( $condition[ 'totals' ] ) ) { + + $rule_totals = $condition[ 'totals' ]; + } + + return WTARS_Shipped_Validation_Util::validate_value( $rule_compare, $order_totals, $rule_totals, 'no' ); + } + + private function get_order_totals( $condition, $data ) { + + $instance_id = $data[ 'wc' ][ 'instance_id' ]; + $option_id = preg_replace( '/' . $this->prefix . '/', '', $condition[ 'condition_type' ] ); + + $args = array( + 'module' => $condition[ 'module' ], + 'option_id' => $option_id, + 'instance_id' => $instance_id + ); + + $order_totals = WTARS_Shipped_Total_Types::get_totals( $args, $data ); + + return $order_totals; + } + + } + + new WTARS_Shipped_Conditions_Order_Totals(); +} diff --git a/extensions/shipped/public/condition-types/condition-types-order.php b/extensions/shipped/public/condition-types/condition-types-order.php new file mode 100644 index 0000000..968b12c --- /dev/null +++ b/extensions/shipped/public/condition-types/condition-types-order.php @@ -0,0 +1,73 @@ +get_quantity( $data ); + + $rule_compare = $condition[ 'compare' ]; + + if ( '--' == $rule_compare ) { + + $rule_from_quantity = 0; + + if ( is_numeric( $condition[ 'from_quantity' ] ) ) { + + $rule_from_quantity = $condition[ 'from_quantity' ]; + } + + $rule_to_quantity = 1; + + if ( is_numeric( $condition[ 'to_quantity' ] ) ) { + + $rule_to_quantity = $condition[ 'to_quantity' ]; + } + + $from_is_valid = WTARS_Shipped_Validation_Util::validate_value( '>=', $quantity, $rule_from_quantity, 'no' ); + + $to_is_valid = WTARS_Shipped_Validation_Util::validate_value( '<=', $quantity, $rule_to_quantity, 'no' ); + + return (true == $from_is_valid && true == $to_is_valid); + } + + + $rule_quantity = 0; + + if ( is_numeric( $condition[ 'quantity' ] ) ) { + + $rule_quantity = $condition[ 'quantity' ]; + } + + return WTARS_Shipped_Validation_Util::validate_value( $rule_compare, $quantity, $rule_quantity, 'no' ); + } + + private function get_quantity( $data ) { + + $quantity = 0; + + if ( !isset( $data[ 'wc' ][ 'package' ][ 'items' ] ) ) { + return $quantity; + } + + foreach ( $data[ 'wc' ][ 'package' ][ 'items' ] as $package_item ) { + $quantity += $package_item[ 'quantity' ]; + } + + return $quantity; + } + + } + + new WTARS_Shipped_Conditions_Order(); +} \ No newline at end of file diff --git a/extensions/shipped/public/condition-types/condition-types-package-items.php b/extensions/shipped/public/condition-types/condition-types-package-items.php new file mode 100644 index 0000000..199abed --- /dev/null +++ b/extensions/shipped/public/condition-types/condition-types-package-items.php @@ -0,0 +1,98 @@ +prefix . '2234343-condition', array( $this, 'validate_weights' ), 10, 2 ); + + return $data; + } + + public function validate_weights( $condition, $data ) { + + $total_weight = $this->get_total_weight( $data ); + + $rule_compare = $condition[ 'compare' ]; + + if ( '--' == $rule_compare ) { + + $rule_from_weight = 0; + + if ( is_numeric( $condition[ 'from_weight' ] ) ) { + + $rule_from_weight = $condition[ 'from_weight' ]; + } + + $rule_to_weight = .5; + + if ( is_numeric( $condition[ 'to_weight' ] ) ) { + + $rule_to_weight = $condition[ 'to_weight' ]; + } + + $from_is_valid = WTARS_Shipped_Validation_Util::validate_value( '>=', $total_weight, $rule_from_weight, 'no' ); + + $to_is_valid = WTARS_Shipped_Validation_Util::validate_value( '<=', $total_weight, $rule_to_weight, 'no' ); + + return (true == $from_is_valid && true == $to_is_valid); + } + + $rule_weight = 0; + + if ( is_numeric( $condition[ 'weight' ] ) ) { + + $rule_weight = $condition[ 'weight' ]; + } + + return WTARS_Shipped_Validation_Util::validate_value( $rule_compare, $total_weight, $rule_weight, 'no' ); + } + + private function get_total_weight( $data ) { + + if ( !isset( $data[ 'wc' ][ 'package' ][ 'items' ] ) ) { + return 0; + } + + $package_items = $this->get_package_items_data( $data[ 'wc' ][ 'package' ][ 'items' ], $data[ 'wc' ][ 'cart' ][ 'items' ] ); + + $weight_calc = new WTARS_Shipped_Weight_Calculator(); + + $total_weight = $weight_calc->get_total_weight( $package_items, array() ); + + return $total_weight; + } + + private function get_package_items_data( $package_items, $cart_items ) { + + foreach ( array_keys( $package_items ) as $key ) { + + $package_items[ $key ][ 'data' ] = $this->get_cart_item_data( $package_items[ $key ][ 'key' ], $cart_items ); + } + + return $package_items; + } + + private function get_cart_item_data( $key, $cart_items ) { + + foreach ( $cart_items as $cart_item ) { + if ( $key == $cart_item[ 'key' ] && isset( $cart_item[ 'data' ] ) ) { + return $cart_item[ 'data' ]; + } + } + + return array(); + } + + } + + new WTARS_Shipped_Conditions_Package_Weight(); +} \ No newline at end of file diff --git a/extensions/shipped/public/condition-types/condition-types-shipping-address.php b/extensions/shipped/public/condition-types/condition-types-shipping-address.php new file mode 100644 index 0000000..7c08719 --- /dev/null +++ b/extensions/shipped/public/condition-types/condition-types-shipping-address.php @@ -0,0 +1,76 @@ + $condition_type, + ); + + if ( isset( $cond[ 'condition_type_' . $condition_type ] ) ) { + + $condition = self::get_condition_args( $condition, $cond[ 'condition_type_' . $condition_type ] ); + } + + $condition[ 'module' ] = $cond[ 'module' ]; + $condition[ 'sub_module' ] = $cond[ 'sub_module' ]; + + if ( false == apply_filters( 'wtars_shipped/validate-' . $condition_type . '-condition', $condition, $data ) ) { + return false; + } + } + + return true; + } + + private static function get_condition_args( $condition, $option_conditions ) { + + foreach ( $option_conditions as $key => $condition_arg ) { + + if ( $key == 'condition_type' ) { + continue; + } + + $condition[ $key ] = $condition_arg; + } + + return $condition; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/cost-types/cost-tax.php b/extensions/shipped/public/cost-types/cost-tax.php new file mode 100644 index 0000000..c065d91 --- /dev/null +++ b/extensions/shipped/public/cost-types/cost-tax.php @@ -0,0 +1,138 @@ +calculate_based_on_items( $cost, $tax_args, $package_items ); + } else if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return WTARS_Shipped_Premium_Cost_Tax::calculate( $cost, $tax_args, $package_items ); + } + + return array(); + } + + private function calculate_based_on_items( $cost, $tax_args, $package_items ) { + + if ( count( $package_items ) == 0 ) { + return array(); + } + + $total_qty = 0; + $item_rates = array(); + + // get item tax class and quantities + foreach ( $package_items as $key => $package_item ) { + + if ( isset( $package_item[ 'data' ][ 'is_taxable' ] ) && $package_item[ 'data' ][ 'is_taxable' ] == true ) { + $item_rates[ $key ] = array( + 'tax_class' => $package_item[ 'data' ][ 'tax_class' ], + 'quantity' => $package_item[ 'quantity' ], + ); + $total_qty += $package_item[ 'quantity' ]; + } + } + + $sliced_costs = self::get_instance()->get_sliced_costs( $cost, $item_rates, $total_qty ); + $taxes = array(); + + //calculate item taxes + foreach ( $sliced_costs as $sliced_cost ) { + $tax_args[ 'tax_class' ] = $sliced_cost[ 'tax_class' ]; + + $tax_rates = WC_Tax::get_shipping_tax_rates( $tax_args[ 'tax_class' ] ); + + $txs = WC_Tax::calc_tax( $sliced_cost[ 'price' ], $tax_rates, $tax_args[ 'inclusive_tax' ] ); + + foreach ( $txs as $key => $tx ) { + if ( isset( $taxes[ $key ] ) ) { + $taxes[ $key ] += $tx; + } else { + $taxes[ $key ] = $tx; + } + } + } + + return array_map( array( $this, 'round_tax' ), $taxes ); + } + + private function get_sliced_costs( $cost, $item_rates, $total_quantity ) { + + if(0>=$total_quantity){ + return $item_rates; + } + + // slices the total cost based on item quantities + $sl_cost = array(); + + $sl = WTARS_Shipped_Util::round_num( ($cost / $total_quantity ), wc_get_price_decimals() ); + + + for ( $i = 0; $i < $total_quantity; $i++ ) { + + if ( $cost - $sl >= 0 ) { + $sl_cost[] = $sl; + $cost = $cost - $sl; + } + } + + if ( WTARS_Shipped_Util::round_num( $cost, wc_get_price_decimals() ) > 0 ) { + $sl_cost[] = WTARS_Shipped_Util::round_num( $cost, wc_get_price_decimals() ); + } + + if ( count( $sl_cost ) > $total_quantity && $total_quantity > 1 ) { + $sl_cost[ $total_quantity - 1 ] = $sl_cost[ $total_quantity - 1 ] + $sl_cost[ $total_quantity ]; + unset( $sl_cost[ $total_quantity ] ); + } + + + + // merge costs based on quantities + $index = 0; + $keys = array_keys( $item_rates ); + foreach ( $keys as $key ) { + if ( !isset( $item_rates[ $key ][ 'price' ] ) ) { + $item_rates[ $key ][ 'price' ] = 0; + } + for ( $i = 0; $i < $item_rates[ $key ][ 'quantity' ]; $i++ ) { + + $item_rates[ $key ][ 'price' ] += $sl_cost[ $index ]; + + $index++; + } + } + return $item_rates; + } + + private function round_tax( $tax ) { + return WTARS_Shipped_Util::round_num( $tax, wc_get_price_decimals() ); + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/cost-types/cost-types-order.php b/extensions/shipped/public/cost-types/cost-types-order.php new file mode 100644 index 0000000..b93d86c --- /dev/null +++ b/extensions/shipped/public/cost-types/cost-types-order.php @@ -0,0 +1,28 @@ + 0 ), $cost_args, $data ); + + //calculates tax if not calculated + if ( !isset( $cost[ 'tax_total' ] ) ) { + + $tax_args = array( + 'tax_class' => $cost_args[ 'taxable' ], + 'tax_type' => $cost_args[ 'tax_type' ], + 'inclusive_tax' => ('yes' == $cost_args[ 'inclusive_tax' ]) + ); + + $cost_taxes = self::get_instance()->calculate_cost_tax( $cost[ 'cost' ], $tax_args, $data ); + + $cost[ 'tax_total' ] = array_sum( $cost_taxes ); + + $cost[ 'taxes' ] = $cost_taxes; + } + + if ( true == ('yes' == $cost_args[ 'inclusive_tax' ]) && $cost[ 'tax_total' ] > 0 ) { + + $cost[ 'cost' ] = $cost[ 'cost' ] - $cost[ 'tax_total' ]; + } + + $cost[ 'add_type' ] = isset( $cost_args[ 'add_type' ] ) ? $cost_args[ 'add_type' ] : 'add'; + + // allows other plugins to modify the processed cost + if ( has_filter( 'wtars_shipped/calculated-cost' ) ) { + $cost = apply_filters( 'wtars_shipped/calculated-cost', $cost, $cost_args, $data ); + } + + $costs[] = $cost; + } + + return $costs; + } + + public static function prepare_cost( $cost, $calc_cost, $cost_args = array(), $package_items = array() ) { + + if ( 0 >= $calc_cost ) { + return $cost; + } + + $cost[ 'cost' ] = $calc_cost; + + if ( !count( $package_items ) ) { + return $cost; + } + + if ( !count( $cost_args ) ) { + return $cost; + } + + $tax_args = array( + 'tax_class' => $cost_args[ 'taxable' ], + 'tax_type' => $cost_args[ 'tax_type' ], + 'inclusive_tax' => ('yes' == $cost_args[ 'inclusive_tax' ]) + ); + + $cost_taxes = WTARS_Shipped_Cost_Tax::calculate( $calc_cost, $tax_args, $package_items ); + $cost[ 'tax_total' ] = array_sum( $cost_taxes ); + $cost[ 'taxes' ] = $cost_taxes; + + return $cost; + } + + public static function merge_costs( $costs, $merge_args ) { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $calc_cost = WTARS_Shipped_Premium_Cost_Types::merge_costs( $costs ); + } else { + + $calc_cost = array( + 'cost' => 0, + 'tax_total' => 0, + 'taxes' => array(), + ); + + foreach ( $costs as $cost ) { + + $calc_cost[ 'cost' ] += $cost[ 'cost' ]; + $calc_cost[ 'tax_total' ] += $cost[ 'tax_total' ]; + + $calc_cost[ 'taxes' ] = self::get_instance()->add_taxes( $calc_cost[ 'taxes' ], $cost[ 'taxes' ] ); + } + } + + if ( $calc_cost[ 'cost' ] <= 0 ) { + $calc_cost[ 'cost' ] = 0; + $calc_cost[ 'taxes' ] = array(); + } + + if ( $calc_cost[ 'tax_total' ] <= 0 ) { + $calc_cost[ 'tax_total' ] = 0; + $calc_cost[ 'taxes' ] = array(); + } + + if ( !isset( $calc_cost[ 'taxes' ] ) ) { + $calc_cost[ 'taxes' ] = array(); + } + + // allows other plugins to modify the merged costs + if ( has_filter( 'wtars_shipped/merged-cost' ) ) { + $calc_cost = apply_filters( 'wtars_shipped/merged-cost', $calc_cost, $costs, $merge_args ); + } + + return $calc_cost; + } + + public static function can_calculate_cost( $cost_args, $data ) { + + if ( 'no' == $cost_args[ 'set_conditions' ] ) { + return true; + } + + if ( !isset( $cost_args[ 'conditions' ] ) ) { + return true; + } + + $conditions = $cost_args[ 'conditions' ]; + + for ( $key = 0; $key < count( $conditions ); $key++ ) { + + $conditions[ $key ][ 'module' ] = $cost_args[ 'module' ]; + $conditions[ $key ][ 'sub_module' ] = $cost_args[ 'sub_module' ]; + + } + + return WTARS_Shipped_Condition_Types::validate_cost_conditions( $conditions, $data ); + } + + private function calculate_cost_tax( $cost, $tax_args, $data ) { + + $package_items = WTARS_Shipped_Package::get_package_items_data( $data[ 'wc' ][ 'package' ][ 'items' ], $data[ 'wc' ][ 'cart' ][ 'items' ] ); + + if ( $tax_args[ 'tax_class' ] == '--0' ) { + return WTARS_Shipped_Cost_Tax::calculate( $cost, $tax_args, $package_items ); + } else { + return WTARS_Shipped_Cost_Tax::calculate( $cost, $tax_args ); + } + } + + private function add_taxes( $prev_cost_taxes, $new_cost_taxes ) { + + foreach ( $new_cost_taxes as $key => $tax ) { + if ( isset( $prev_cost_taxes[ $key ] ) ) { + $prev_cost_taxes[ $key ] += $tax; + } else { + $prev_cost_taxes[ $key ] = $tax; + } + } + return $prev_cost_taxes; + } + + } + +} diff --git a/extensions/shipped/public/modules/cart-fees/cart-fees-cache.php b/extensions/shipped/public/modules/cart-fees/cart-fees-cache.php new file mode 100644 index 0000000..b9264a7 --- /dev/null +++ b/extensions/shipped/public/modules/cart-fees/cart-fees-cache.php @@ -0,0 +1,103 @@ +cache = new WTARS_Shipped_Cache(); + + add_filter( 'wtars_shipped/cache-data', array( $this, 'cache_data' ), 30, 1 ); + } + + public function cache_data( $data ) { + + //shipping instance needs to be set + if ( !isset( $data[ 'wc' ][ 'instance_id' ] ) ) { + return $data; + } + + $instance_id = $data[ 'wc' ][ 'instance_id' ]; + + //get in memory cached fees + if ( isset( $this->fees[ $instance_id ] ) ) { + $data[ 'fees' ][ $instance_id ] = $this->fees[ $instance_id ]; + } + + if ( isset( $data[ 'fees' ][ $instance_id ] ) ) { + if ( !count( $data[ 'fees' ][ $instance_id ] ) ) { + unset( $data[ 'fees' ][ $instance_id ] ); + } + if ( !count( $data[ 'fees' ] ) ) { + unset( $data[ 'fees' ] ); + } + return $data; + } + + // validate cache hash + if ( !$this->cache->validate_hash( $instance_id ) ) { + // reload fees + $data[ 'wc' ][ 'reload' ] = true; + return $data; + } + + + // try load fees from session cache + $data = $this->load_cache( $data, $instance_id ); + + if ( isset( $data[ 'fees' ][ $instance_id ] ) ) { + + $this->fees[ $instance_id ] = $data[ 'fees' ][ $instance_id ]; + } else if ( !$this->loaded ) { + + // reload fees + $data[ 'wc' ][ 'reload' ] = true; + } + + return $data; + } + + public function store_cache( $fees, $instance_id ) { + + $instance_fees = array(); + + if ( isset( $fees[ $instance_id ] ) ) { + $instance_fees = $fees[ $instance_id ]; + } + + //set in memory cache + $this->fees[ $instance_id ] = $instance_fees; + + //store cache hash + $this->cache->store_hash( $instance_id ); + + //store cache data + $this->cache->store_cache( 'fees', $instance_fees, $instance_id ); + } + + private function load_cache( $data, $instance_id ) { + + $cache_data = $this->cache->load_cache( 'fees', $instance_id ); + + $this->loaded = is_array( $cache_data ); + + if ( $cache_data ) { + + $data[ 'fees' ][ $instance_id ] = $cache_data; + } + + return $data; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/modules/cart-fees/cart-fees-engine.php b/extensions/shipped/public/modules/cart-fees/cart-fees-engine.php new file mode 100644 index 0000000..c42ac43 --- /dev/null +++ b/extensions/shipped/public/modules/cart-fees/cart-fees-engine.php @@ -0,0 +1,294 @@ +fee_cache = new WTARS_Shipped_Cart_Fees_Cache(); + add_filter( 'wtars_shipped/process-data', array( $this, 'process_data' ), 30, 1 ); + } + + public function process_data( $data ) { + + //shipping instance needs to be set + if ( !isset( $data[ 'wc' ][ 'instance_id' ] ) ) { + return $data; + } + + $instance_id = $data[ 'wc' ][ 'instance_id' ]; + + // check for cached or in memory data + if ( isset( $data[ 'fees' ][ $instance_id ] ) ) { + return $data; + } + + //calculate handling fees + $data = $this->calculate_fees( $data, $instance_id ); + + //store cache data + if ( isset( $data[ 'fees' ][ $instance_id ] ) ) { + $this->fee_cache->store_cache( $data[ 'fees' ], $instance_id ); + } else { + $this->fee_cache->store_cache( array(), $instance_id ); + } + + return $data; + } + + public function calculate_fees( $data, $instance_id ) { + + //do not calculate fees if method is not available + $is_available = true; + + if ( isset( $data[ 'is_availables' ][ $instance_id ] ) ) { + $is_available = $data[ 'is_availables' ][ $instance_id ]; + } + + if ( !$is_available ) { + return $data; + } + + + //get settings + $fees_settings = $this->get_fees_settings( $instance_id ); + + //check if handling fees should be calculated + if ( 'no' == $fees_settings[ 'mode' ] ) { + return $data; + } + + // go through the handling fees and apply them + foreach ( $this->get_fee_options( $instance_id ) as $fee_option ) { + + $fee_option_head = array( + 'apply_mode' => $fee_option[ 'apply_mode' ], + 'enable' => $fee_option[ 'enable' ], + 'fee_id' => $fee_option[ 'fee_id' ], + 'inclusive_tax' => $fee_option[ 'inclusive_tax' ], + 'costs_limit' => $fee_option[ 'costs_limit' ], + 'settings' => $fees_settings, + 'instance_id' => $instance_id, + 'module' => 'cart-fees', + 'sub_module' => 'fees', + ); + + $fee_conditions = $fee_option[ 'fee_conditions' ]; + $fee_conditions[ 'instance_id' ] = $instance_id; + $fee_conditions[ 'module' ] = 'cart-fees'; + $fee_conditions[ 'sub_module' ] = 'fees'; + + if ( !$this->can_apply_fee( $fee_option_head, $fee_conditions, $data ) ) { + continue; + } + + $cost = $this->calculate_cost( $fee_option, $instance_id, $data ); + + if ( has_filter( 'wtars_shipped/cart-fees/calculated-cost' ) ) { + $cost = apply_filters( 'wtars_shipped/cart-fees/calculated-cost', $cost, $fee_option[ 'fee_id' ], $data ); + } + + $title = ''; + if ( isset( $fee_option[ 'title' ] ) ) { + $title = $fee_option[ 'title' ]; + } + + $tooltip = ''; + if ( isset( $fee_option[ 'tooltip' ] ) ) { + $tooltip = $fee_option[ 'tooltip' ]; + } + + $fee = array( + 'title' => ('' != $title) ? $title : esc_html__( 'Handling Fee', 'table-rate-shipping-rates' ), + 'fee_method' => $fee_option[ 'fee_method' ], + 'tooltip' => $tooltip, + 'shipping_rates' => $fee_option[ 'shipping_rates' ], + 'compare' => $fee_option[ 'compare' ], + 'inclusive_tax' => $fee_option[ 'inclusive_tax' ], + 'cost' => $cost[ 'cost' ], + 'tax_total' => $cost[ 'tax_total' ], + 'taxes' => $cost[ 'taxes' ], + ); + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $data = WTARS_Shipped_Premium_Cart_Fees_Engine::add_fee( $data, $fee, $fee_option_head ); + } else { + $data = $this->add_fee( $data, $fee, $fee_option_head ); + } + } + + if ( isset( $data[ 'fees' ][ $instance_id ] ) && has_filter( 'wtars_shipped/cart-fees/calculated-fees' ) ) { + $data[ 'fees' ][ $instance_id ] = apply_filters( 'wtars_shipped/cart-fees/calculated-fees', $data[ 'fees' ][ $instance_id ], $data ); + } + + return $data; + } + + private function calculate_cost( $fee_option, $instance_id, $data ) { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return WTARS_Shipped_Premium_Cart_Fees_Engine::calculate_costs( $fee_option, $instance_id, $data ); + } + + $costs_args = $this->get_valid_costs_args( $this->get_costs_args_from_fee_option( $fee_option, $instance_id ), $data ); + + $costs = WTARS_Shipped_Cost_Types::calculate_costs( array(), $costs_args, $data ); + + $merge_args = array( + 'fee_id' => $fee_option[ 'fee_id' ], + 'instance_id' => $instance_id, + 'module' => 'cart-fees', + 'sub_module' => 'fees', + ); + + $cost = WTARS_Shipped_Cost_Types::merge_costs( $costs, $merge_args ); + + if ( has_filter( 'wtars_shipped/cart-fees/calculated-base-cost' ) ) { + $cost = apply_filters( 'wtars_shipped/cart-fees/calculated-base-cost', $cost, $fee_option[ 'fee_id' ], $data ); + } + + return $cost; + } + + private function get_costs_args_from_fee_option( $fee_option, $instance_id ) { + + $costs_args = array(); + + if ( isset( $fee_option[ 'base_costs' ] ) ) { + + $costs_args = $fee_option[ 'base_costs' ]; + } + + $arg_keys = array_keys( $costs_args ); + + $tax_type = $this->get_tax_type( $instance_id ); + + foreach ( $arg_keys as $key ) { + + $costs_args[ $key ][ 'instance_id' ] = $instance_id; + $costs_args[ $key ][ 'module' ] = 'cart-fees'; + $costs_args[ $key ][ 'sub_module' ] = 'base-costs'; + $costs_args[ $key ][ 'fee_id' ] = $fee_option[ 'fee_id' ]; + $costs_args[ $key ][ 'tax_type' ] = $tax_type; + $costs_args[ $key ][ 'inclusive_tax' ] = $fee_option[ 'inclusive_tax' ]; + } + + return $costs_args; + } + + private function get_valid_costs_args( $costs_args, $data ) { + + $args = array(); + foreach ( $costs_args as $key => $cost_args ) { + + if ( !isset( $cost_args[ 'conditions' ] ) ) { + + $args[ $key ] = $cost_args; + continue; + } + + if ( !WTARS_Shipped_Cost_Types::can_calculate_cost( $cost_args, $data ) ) { + continue; //do nothing + } + + $args[ $key ] = $cost_args; + + unset( $args[ $key ][ 'set_conditions' ] ); + unset( $args[ $key ][ 'conditions' ] ); + } + + return $args; + } + + private function can_apply_fee( $fee_option_head, $fee_conditions, $data ) { + + // allows active fee only + + if ( 'no' == $fee_option_head[ 'enable' ] ) { + return false; + } + + $bool_val = true; + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $bool_val = WTARS_Shipped_Premium_Cart_Fees_Engine::can_apply_fee( $fee_option_head, $data ); + } + + // allows other plugins to check if the fee should apply + + if ( has_filter( 'wtars_shipped/cart-fees/can-apply-fee' ) ) { + $bool_val = apply_filters( 'wtars_shipped/cart-fees/can-apply-fee', $bool_val, $fee_option_head, $data ); + } + + // no need for validations + if ( false == $bool_val ) { + return $bool_val; + } + + // validate fee conditions + + $bool_val = WTARS_Shipped_Condition_Types::validate_conditions( $fee_conditions, $data ); + + + return $bool_val; + } + + private function add_fee( $data, $fee, $fee_option_head ) { + + $instance_id = $fee_option_head[ 'instance_id' ]; + + $data[ 'fees' ][ $instance_id ][ $fee_option_head[ 'fee_id' ] ] = $fee; + + // allows other plugins to modify fee data once added + if ( has_filter( 'wtars_shipped/cart-fees/added-fee' ) ) { + if ( isset( $data[ 'fees' ][ $instance_id ][ $fee_option_head[ 'fee_id' ] ] ) ) { + $data[ 'fees' ][ $instance_id ][ $fee_option_head[ 'fee_id' ] ] = apply_filters( 'wtars_shipped/cart-fees/added-fee', $data[ 'fees' ][ $instance_id ][ $fee_option_head[ 'fee_id' ] ], $instance_id, $fee_option_head ); + } + } + + return $data; + } + + private function get_tax_type( $instance_id ) { + + $default = array( + 'tax_type' => 'ship_rates', + ); + + $shipping = WTARS_Shipped::get_option( 'cart_fee_settings', $instance_id, $default ); + + return $shipping[ 'tax_type' ]; + } + + private function get_fees_settings( $instance_id ) { + + $default = array( + 'mode' => 'no', + ); + + return WTARS_Shipped::get_option( 'cart_fees_settings', $instance_id, $default ); + } + + private function get_fee_options( $instance_id ) { + + $fee_options = array(); + + foreach ( WTARS_Shipped::get_option( 'cart_fees', $instance_id, array() ) as $fee_option ) { + + $fee_options[] = $fee_option; + } + + return $fee_options; + } + + } + +} diff --git a/extensions/shipped/public/modules/cart-fees/cart-fees.php b/extensions/shipped/public/modules/cart-fees/cart-fees.php new file mode 100644 index 0000000..34418ea --- /dev/null +++ b/extensions/shipped/public/modules/cart-fees/cart-fees.php @@ -0,0 +1,137 @@ + 'yes' ) ); + + if ( 'no' == $settings[ 'show_on_cart' ] && is_cart() ) { + return $package; + } + + $package = apply_filters( 'wtars_shipped/process-cart-fees', $package, $data, $instance_id ); + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + + return $package; + } + + // rates cost with fees cost + + $rates = array(); + + foreach ( $data[ 'fees' ][ $instance_id ] as $fee ) { + + $rates = $this->apply_rate_fee( $rates, $fee, $data[ 'rates' ][ $instance_id ], $instance_id ); + } + + return $this->update_package_rates( $package, $rates, $instance_id ); + } + + private function apply_rate_fee( $rates, $fee, $data_rates, $instance_id ) { + + $rate_args = array( + 'shipping_rates' => $fee[ 'shipping_rates' ], + 'compare' => $fee[ 'compare' ], + ); + + $fee_rates = $this->get_rates( $rate_args, $data_rates, $instance_id ); + + + foreach ( $fee_rates as $key => $fee_rate ) { + + if ( !isset( $rates[ $key ] ) ) { + $rates[ $key ] = $fee_rate; + } + + $rate_fee = $this->add_fee_to_rate( $rates[ $key ], $fee ); + + $rates[ $key ] = apply_filters( 'wtars_shipped/rate-fee', $rate_fee, $rates[ $key ], $fee, $instance_id ); + } + + return $rates; + } + + private function update_package_rates( $package, $rates, $instance_id ) { + + foreach ( $rates as $rate_id => $rate ) { + + $shipping_rate_id = WTARS_Shipped::get_rate_client_id( $instance_id, $rate_id ); + + if ( isset( $package[ 'rates' ][ $shipping_rate_id ] ) ) { + + $package[ 'rates' ][ $shipping_rate_id ]->set_cost( apply_filters( 'wtars_shipped/rate-cost', $rate[ 'cost' ], $rate_id, $instance_id ) ); + $package[ 'rates' ][ $shipping_rate_id ]->set_taxes( apply_filters( 'wtars_shipped/rate-taxes', $rate[ 'taxes' ], $rate_id, $instance_id ) ); + } + } + + return $package; + } + + private function add_fee_to_rate( $rate, $fee ) { + + $rate[ 'cost' ] += $fee[ 'cost' ]; + $rate[ 'tax_total' ] += $fee[ 'tax_total' ]; + $rate[ 'taxes' ] = $this->add_fee_taxes_to_rate( $rate[ 'taxes' ], $fee[ 'taxes' ] ); + + return $rate; + } + + private function add_fee_taxes_to_rate( $rate_taxes, $fee_taxes ) { + + $keys = array_keys( $fee_taxes ); + + foreach ( $keys as $key ) { + + if ( !isset( $rate_taxes[ $key ] ) ) { + $rate_taxes[ $key ] = 0; + } + + $rate_taxes[ $key ] += $fee_taxes[ $key ]; + } + + return $rate_taxes; + } + + private function get_rates( $args, $data_rates, $instance_id ) { + + if ( !is_array( $args[ 'shipping_rates' ] ) ) { + return $data_rates; + } + + $rates = array(); + + foreach ( $data_rates as $key => $data_rate ) { + + if ( WTARS_Shipped_Validation_Util::validate_value_list( $key, $args[ 'shipping_rates' ], $args[ 'compare' ] ) ) { + + $rates[ $key ] = $data_rate; + } + } + + return $rates; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/modules/checkout-messages/checkout-messages-cache.php b/extensions/shipped/public/modules/checkout-messages/checkout-messages-cache.php new file mode 100644 index 0000000..0d28c6f --- /dev/null +++ b/extensions/shipped/public/modules/checkout-messages/checkout-messages-cache.php @@ -0,0 +1,109 @@ +cache = new WTARS_Shipped_Cache(); + + add_filter( 'wtars_shipped/cache-data', array( $this, 'cache_data' ), 40, 1 ); + } + + public function cache_data( $data ) { + + //shipping instance needs to be set + if ( !isset( $data[ 'wc' ][ 'instance_id' ] ) ) { + return $data; + } + + $instance_id = $data[ 'wc' ][ 'instance_id' ]; + + //get in memory cached messages + if ( isset( $this->messages[ $instance_id ] ) ) { + + $data[ 'messages' ][ $instance_id ] = $this->messages[ $instance_id ]; + } + + if ( isset( $data[ 'messages' ][ $instance_id ] ) ) { + + if ( !count( $data[ 'messages' ][ $instance_id ] ) ) { + + unset( $data[ 'messages' ][ $instance_id ] ); + } + + if ( !count( $data[ 'messages' ] ) ) { + + unset( $data[ 'messages' ] ); + } + + return $data; + } + + // validate cache hash + if ( !$this->cache->validate_hash( $instance_id ) ) { + // reload messages + $data[ 'wc' ][ 'reload' ] = true; + return $data; + } + + // try load fees from session cache + $data = $this->load_cache( $data, $instance_id ); + + if ( isset( $data[ 'messages' ][ $instance_id ] ) ) { + + $this->messages[ $instance_id ] = $data[ 'messages' ][ $instance_id ]; + } else if ( !$this->loaded ) { + + // reload messages + $data[ 'wc' ][ 'reload' ] = true; + } + + return $data; + } + + public function store_cache( $messages, $instance_id ) { + + $instance_messages = array(); + + if ( isset( $messages[ $instance_id ] ) ) { + $instance_messages = $messages[ $instance_id ]; + } + + //set in memory cache + $this->messages[ $instance_id ] = $instance_messages; + + //store cache hash + $this->cache->store_hash( $instance_id ); + + //store cache data + $this->cache->store_cache( 'messages', $instance_messages, $instance_id ); + } + + private function load_cache( $data, $instance_id ) { + + $cache_data = $this->cache->load_cache( 'messages', $instance_id ); + + $this->loaded = is_array( $cache_data ); + + if ( $cache_data ) { + + $data[ 'messages' ][ $instance_id ] = $cache_data; + } + + return $data; + } + + } + +} diff --git a/extensions/shipped/public/modules/checkout-messages/checkout-messages-engine.php b/extensions/shipped/public/modules/checkout-messages/checkout-messages-engine.php new file mode 100644 index 0000000..25e7808 --- /dev/null +++ b/extensions/shipped/public/modules/checkout-messages/checkout-messages-engine.php @@ -0,0 +1,198 @@ +message_cache = new WTARS_Shipped_Checkout_Messages_Cache(); + add_filter( 'wtars_shipped/process-data', array( $this, 'process_data' ), 30, 1 ); + } + + public function process_data( $data ) { + + //shipping instance needs to be set + if ( !isset( $data[ 'wc' ][ 'instance_id' ] ) ) { + return $data; + } + + $instance_id = $data[ 'wc' ][ 'instance_id' ]; + + // check for cached or in memory data + if ( isset( $data[ 'messages' ][ $instance_id ] ) ) { + + return $data; + } + + + //get cart notifications + $data = $this->get_messages( $data, $instance_id ); + + + //store cache data + if ( isset( $data[ 'messages' ][ $instance_id ] ) ) { + $this->message_cache->store_cache( $data[ 'messages' ], $instance_id ); + } else { + $this->message_cache->store_cache( array(), $instance_id ); + } + + + + + return $data; + } + + public function get_messages( $data, $instance_id ) { + + //get settings + $messages_settings = $this->get_messages_settings( $instance_id ); + + //check if cart notifications should be processed + if ( 'no' == $messages_settings[ 'mode' ] ) { + return $data; + } + + // go through the handling fees and apply them + foreach ( $this->get_message_options( $instance_id ) as $message_option ) { + + $message_option_head = array( + 'apply_mode' => $message_option[ 'apply_mode' ], + 'enable' => $message_option[ 'enable' ], + 'message_id' => $message_option[ 'message_id' ], + 'settings' => $messages_settings, + 'instance_id' => $instance_id, + 'module' => 'checkout-messages', + 'sub_module' => 'messages', + ); + + $message_conditions = $message_option[ 'message_conditions' ]; + $message_conditions[ 'instance_id' ] = $instance_id; + $message_conditions[ 'module' ] = 'checkout-messages'; + $message_conditions[ 'sub_module' ] = 'messages'; + + + if ( !$this->can_apply_message( $message_option_head, $message_conditions, $data ) ) { + continue; + } + + $message = array( + 'message_type' => $message_option[ 'message_type' ], + 'always_show' => $message_option[ 'always_show' ], + 'message' => $message_option[ 'message' ], + 'parameters' => $this->get_parameters( $message_option, $instance_id, $data ), + ); + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $data = WTARS_Shipped_Premium_Checkout_Messages_Engine::add_message( $data, $message, $message_option_head ); + } else { + $data = $this->add_message( $data, $message, $message_option_head ); + } + } + + if ( isset( $data[ 'messages' ][ $instance_id ] ) && has_filter( 'wtars_shipped/checkout-messages/gotten-messages' ) ) { + $data[ 'messages' ][ $instance_id ] = apply_filters( 'wtars_shipped/checkout-messages/gotten-messages', $data[ 'messages' ][ $instance_id ], $data ); + } + + return $data; + } + + private function get_parameters( $message_option, $instance_id, $data ) { + + $parameters = array(); + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $parameters = WTARS_Shipped_Premium_Checkout_Messages_Engine::get_parameters( $message_option, $instance_id, $data ); + } + + // allows other plugins to modify the processed parameters + if ( has_filter( 'wtars_shipped/gotten-parameters' ) ) { + $parameters = apply_filters( 'wtars_shipped/gotten-parameters', $parameters, $parameters_args, $data ); + } + + return $parameters; + } + + private function can_apply_message( $message_option_head, $message_conditions, $data ) { + + // allows active message only + + if ( 'no' == $message_option_head[ 'enable' ] ) { + return false; + } + + $bool_val = true; + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $bool_val = WTARS_Shipped_Premium_Checkout_Messages_Engine::can_apply_message( $message_option_head, $data ); + } + + // allows other plugins to check if the message should apply + + if ( has_filter( 'wtars_shipped/checkout-messages/can-apply-message' ) ) { + $bool_val = apply_filters( 'wtars_shipped/checkout-messages/can-apply-message', $bool_val, $message_option_head, $data ); + } + + // no need for validations + if ( false == $bool_val ) { + return $bool_val; + } + + // validate message conditions + + $bool_val = WTARS_Shipped_Condition_Types::validate_conditions( $message_conditions, $data ); + + + return $bool_val; + } + + private function add_message( $data, $message, $message_option_head ) { + + $instance_id = $message_option_head[ 'instance_id' ]; + + $data[ 'messages' ][ $instance_id ][ $message_option_head[ 'message_id' ] ] = $message; + + // allows other plugins to modify message data once added + if ( has_filter( 'wtars_shipped/checkout-messages/added-message' ) ) { + + if ( isset( $data[ 'messages' ][ $instance_id ][ $message_option_head[ 'message_id' ] ] ) ) { + + $data[ 'messages' ][ $instance_id ][ $message_option_head[ 'message_id' ] ] = apply_filters( 'wtars_shipped/checkout-messages/added-message', $data[ 'messages' ][ $instance_id ][ $message_option_head[ 'message_id' ] ], $instance_id, $message_option_head ); + } + } + + return $data; + } + + private function get_messages_settings( $instance_id ) { + + $default = array( + 'mode' => 'no', + ); + + return WTARS_Shipped::get_option( 'checkout_messages_settings', $instance_id, $default ); + } + + private function get_message_options( $instance_id ) { + + $fee_options = array(); + + foreach ( WTARS_Shipped::get_option( 'checkout_messages', $instance_id, array() ) as $fee_option ) { + + $fee_options[] = $fee_option; + } + + return $fee_options; + } + + } + +} + + diff --git a/extensions/shipped/public/modules/checkout-messages/checkout-messages.php b/extensions/shipped/public/modules/checkout-messages/checkout-messages.php new file mode 100644 index 0000000..4ebdf29 --- /dev/null +++ b/extensions/shipped/public/modules/checkout-messages/checkout-messages.php @@ -0,0 +1,78 @@ + 'yes' ) ); + + if ( 'no' == $settings[ 'show_on_cart' ] && is_cart() ) { + return; + } + + if ( !isset( $data[ 'messages' ][ $instance_id ] ) ) { + return; + } + + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + + WTARS_Shipped_Premium_Checkout_Messages::process_messages( $data, $instance_id ); + + return; + } + + foreach ( $data[ 'messages' ][ $instance_id ] as $message_id => $messages_data ) { + $this->process_message( $messages_data, $message_id, $instance_id ); + } + } + + private function process_message( $message_data, $message_id, $instance_id ) { + + if ( '' == $message_data[ 'message' ] ) { + return; + } + + $raw_message = apply_filters( 'wtars_shipped/message-text', $message_data[ 'message' ], $message_id, 'error', $instance_id ); + + $message = $this->prepare_message( $raw_message, $message_data[ 'parameters' ], $instance_id ); + + if ( !wc_has_notice( $message, 'error' ) ) { + + wc_add_notice( $message, 'error' ); + } + } + + private function prepare_message( $message, $parameters, $instance_id ) { + + foreach ( $parameters as $parameter_id => $parameter ) { + + $parameter_type = $parameter[ 'parameter_type' ]; + + $parameter_value = apply_filters( 'wtars_shipped/parameter-value', $parameter[ 'value' ], $parameter_id, $parameter_type, $instance_id ); + + if ( $parameter[ 'is_currency' ] && is_numeric( $parameter_value ) ) { + $parameter_value = wc_price( apply_filters( 'wtars_shipped/parameter-currency-value', $parameter_value, $parameter_id, $parameter_type, $instance_id ) ); + } + + $rep_value = '/{{' . $parameter_id . '}}/'; + + $message = preg_replace( $rep_value, $parameter_value, $message ); + } + + return $message; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/modules/shipping-rates/shipping-rates-cache.php b/extensions/shipped/public/modules/shipping-rates/shipping-rates-cache.php new file mode 100644 index 0000000..a805de7 --- /dev/null +++ b/extensions/shipped/public/modules/shipping-rates/shipping-rates-cache.php @@ -0,0 +1,104 @@ +cache = new WTARS_Shipped_Cache(); + + add_filter( 'wtars_shipped/cache-data', array( $this, 'cache_data' ), 20, 1 ); + } + + public function cache_data( $data ) { + + //shipping instance needs to be set + if ( !isset( $data[ 'wc' ][ 'instance_id' ] ) ) { + return $data; + } + + $instance_id = $data[ 'wc' ][ 'instance_id' ]; + + + //get in memory cached rates + if ( isset( $this->rates[ $instance_id ] ) ) { + $data[ 'rates' ][ $instance_id ] = $this->rates[ $instance_id ]; + } + + if ( isset( $data[ 'rates' ][ $instance_id ] ) ) { + if ( !count( $data[ 'rates' ][ $instance_id ] ) ) { + unset( $data[ 'rates' ][ $instance_id ] ); + } + if ( !count( $data[ 'rates' ] ) ) { + unset( $data[ 'rates' ] ); + } + return $data; + } + + + // validate cache hash + if ( !$this->cache->validate_hash( $instance_id ) ) { + // reload rates + $data[ 'wc' ][ 'reload' ] = true; + return $data; + } + + // try load rates from session cache + $data = $this->load_cache( $data, $instance_id ); + + if ( isset( $data[ 'rates' ][ $instance_id ] ) ) { + + $this->rates[ $instance_id ] = $data[ 'rates' ][ $instance_id ]; + } else if ( !$this->loaded ) { + + // reload rates + $data[ 'wc' ][ 'reload' ] = true; + } + + return $data; + } + + public function store_cache( $rates, $instance_id ) { + + $instance_rates = array(); + + if ( isset( $rates[ $instance_id ] ) ) { + $instance_rates = $rates[ $instance_id ]; + } + + //set in memory cache + $this->rates[ $instance_id ] = $instance_rates; + + //store cache hash + $this->cache->store_hash( $instance_id ); + + //store cache data + $this->cache->store_cache( 'rates', $instance_rates, $instance_id ); + } + + private function load_cache( $data, $instance_id ) { + + $cache_data = $this->cache->load_cache( 'rates', $instance_id ); + + $this->loaded = is_array( $cache_data ); + + if ( $cache_data ) { + $data[ 'rates' ][ $instance_id ] = $cache_data; + } + + return $data; + } + + } + +} diff --git a/extensions/shipped/public/modules/shipping-rates/shipping-rates-engine.php b/extensions/shipped/public/modules/shipping-rates/shipping-rates-engine.php new file mode 100644 index 0000000..737bd9a --- /dev/null +++ b/extensions/shipped/public/modules/shipping-rates/shipping-rates-engine.php @@ -0,0 +1,285 @@ +rate_cache = new WTARS_Shipped_Shipping_Rates_Cache(); + add_filter( 'wtars_shipped/process-data', array( $this, 'process_data' ), 20, 1 ); + } + + public function process_data( $data ) { + + //shipping instance needs to be set + if ( !isset( $data[ 'wc' ][ 'instance_id' ] ) ) { + return $data; + } + + $instance_id = $data[ 'wc' ][ 'instance_id' ]; + + // check for cached or in memory data + if ( isset( $data[ 'rates' ][ $instance_id ] ) ) { + return $data; + } + + //calculate shipping rates + $data = $this->calculate_rates( $data, $instance_id ); + + //store cache data + if ( isset( $data[ 'rates' ][ $instance_id ] ) ) { + $this->rate_cache->store_cache( $data[ 'rates' ], $instance_id ); + } else { + $this->rate_cache->store_cache( array(), $instance_id ); + } + + return $data; + } + + private function calculate_rates( $data, $instance_id ) { + + //do not calculate rates if method is not available + $is_available = true; + + if ( isset( $data[ 'is_availables' ][ $instance_id ] ) ) { + $is_available = $data[ 'is_availables' ][ $instance_id ]; + } + + if ( !$is_available ) { + return $data; + } + + + //get settings + $rates_settings = $this->get_rates_settings( $instance_id ); + + //check if shipping rates should be calculated + if ( 'no' == $rates_settings[ 'mode' ] ) { + return $data; + } + + + // go through the shipping rates and apply them + foreach ( $this->get_rate_options( $instance_id ) as $rate_option ) { + + $rate_option_head = array( + 'apply_mode' => $rate_option[ 'apply_mode' ], + 'enable' => $rate_option[ 'enable' ], + 'rate_id' => $rate_option[ 'rate_id' ], + 'inclusive_tax' => $rate_option[ 'inclusive_tax' ], + 'costs_limit' => $rate_option[ 'costs_limit' ], + 'settings' => $rates_settings, + 'instance_id' => $instance_id, + 'module' => 'shipping-rates', + 'sub_module' => 'rates', + ); + + $rate_conditions = $rate_option[ 'rate_conditions' ]; + $rate_conditions[ 'instance_id' ] = $instance_id; + $rate_conditions[ 'module' ] = 'shipping-rates'; + $rate_conditions[ 'sub_module' ] = 'rates'; + + if ( !$this->can_apply_rate( $rate_option_head, $rate_conditions, $data ) ) { + continue; + } + + $cost = $this->calculate_cost( $rate_option, $instance_id, $data ); + + if ( has_filter( 'wtars_shipped/shipping-rates/calculated-cost' ) ) { + $cost = apply_filters( 'wtars_shipped/shipping-rates/calculated-cost', $cost, $rate_option[ 'rate_id' ], $data ); + } + + $rate = array( + 'title' => ('' != $rate_option[ 'title' ]) ? $rate_option[ 'title' ] : esc_html__( 'Shipping Rate', 'table-rate-shipping-rates' ), + 'desc' => $rate_option[ 'desc' ], + 'tooltip' => $rate_option[ 'tooltip' ], + 'is_default' => ($rate_option[ 'default' ] == 'yes'), + 'inclusive_tax' => $rate_option[ 'inclusive_tax' ], + 'cost' => $cost[ 'cost' ], + 'tax_total' => $cost[ 'tax_total' ], + 'taxes' => $cost[ 'taxes' ], + ); + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $data = WTARS_Shipped_Premium_Shipping_Rates_Engine::add_rate( $data, $rate, $rate_option_head ); + } else { + $data = $this->add_rate( $data, $rate, $rate_option_head ); + } + } + + if ( isset( $data[ 'rates' ][ $instance_id ] ) && has_filter( 'wtars_shipped/shipping-rates/calculated-rates' ) ) { + $data[ 'rates' ][ $instance_id ] = apply_filters( 'wtars_shipped/shipping-rates/calculated-rates', $data[ 'rates' ][ $instance_id ], $data ); + } + + return $data; + } + + private function calculate_cost( $rate_option, $instance_id, $data ) { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return WTARS_Shipped_Premium_Shipping_Rates_Engine::calculate_costs( $rate_option, $instance_id, $data ); + } + + $costs_args = $this->get_valid_costs_args( $this->get_costs_args_from_rate_option( $rate_option, $instance_id ), $data ); + + $costs = WTARS_Shipped_Cost_Types::calculate_costs( array(), $costs_args, $data ); + + $merge_args = array( + 'rate_id' => $rate_option[ 'rate_id' ], + 'instance_id' => $instance_id, + 'module' => 'shipping-rates', + 'sub_module' => 'rates', + ); + + $cost = WTARS_Shipped_Cost_Types::merge_costs( $costs, $merge_args ); + + if ( has_filter( 'wtars_shipped/shipping-rates/calculated-base-cost' ) ) { + $cost = apply_filters( 'wtars_shipped/shipping-rates/calculated-base-cost', $cost, $rate_option[ 'rate_id' ], $data ); + } + + return $cost; + } + + private function get_costs_args_from_rate_option( $rate_option, $instance_id ) { + + $costs_args = array(); + + if ( isset( $rate_option[ 'base_costs' ] ) ) { + + $costs_args = $rate_option[ 'base_costs' ]; + } + + $arg_keys = array_keys( $costs_args ); + + $tax_type = $this->get_tax_type( $instance_id ); + + foreach ( $arg_keys as $key ) { + + $costs_args[ $key ][ 'instance_id' ] = $instance_id; + $costs_args[ $key ][ 'module' ] = 'shipping-rates'; + $costs_args[ $key ][ 'sub_module' ] = 'base-costs'; + $costs_args[ $key ][ 'rate_id' ] = $rate_option[ 'rate_id' ]; + $costs_args[ $key ][ 'tax_type' ] = $tax_type; + $costs_args[ $key ][ 'inclusive_tax' ] = $rate_option[ 'inclusive_tax' ]; + } + + return $costs_args; + } + + private function get_valid_costs_args( $costs_args, $data ) { + + $args = array(); + foreach ( $costs_args as $key => $cost_args ) { + + if ( !isset( $cost_args[ 'conditions' ] ) ) { + + $args[ $key ] = $cost_args; + continue; + } + + if ( !WTARS_Shipped_Cost_Types::can_calculate_cost( $cost_args, $data ) ) { + continue; //do nothing + } + + $args[ $key ] = $cost_args; + + unset( $args[ $key ][ 'set_conditions' ] ); + unset( $args[ $key ][ 'conditions' ] ); + } + + return $args; + } + + private function can_apply_rate( $rate_option_head, $rate_conditions, $data ) { + + // allows active rates only + + if ( 'no' == $rate_option_head[ 'enable' ] ) { + return false; + } + + $bool_val = true; + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $bool_val = WTARS_Shipped_Premium_Shipping_Rates_Engine::can_apply_rate( $rate_option_head, $data ); + } + + + // allows other plugins to check if the rate should apply + + if ( has_filter( 'wtars_shipped/shipping-rates/can-apply-rate' ) ) { + $bool_val = apply_filters( 'wtars_shipped/shipping-rates/can-apply-rate', $bool_val, $rate_option_head, $data ); + } + + // no need for validations + if ( false == $bool_val ) { + return $bool_val; + } + + // validate rate conditions + + $bool_val = WTARS_Shipped_Condition_Types::validate_conditions( $rate_conditions, $data ); + + + return $bool_val; + } + + private function add_rate( $data, $rate, $rate_option_head ) { + + $instance_id = $rate_option_head[ 'instance_id' ]; + + $data[ 'rates' ][ $instance_id ][ $rate_option_head[ 'rate_id' ] ] = $rate; + + // allows other plugins to modify rate data once added + if ( has_filter( 'wtars_shipped/shipping-rates/added-rate' ) ) { + if ( isset( $data[ 'rates' ][ $instance_id ][ $rate_option_head[ 'rate_id' ] ] ) ) { + $data[ 'rates' ][ $instance_id ][ $rate_option_head[ 'rate_id' ] ] = apply_filters( 'wtars_shipped/shipping-rates/added-rate', $data[ 'rates' ][ $instance_id ][ $rate_option_head[ 'rate_id' ] ], $instance_id, $rate_option_head ); + } + } + + return $data; + } + + private function get_tax_type( $instance_id ) { + + $default = array( + 'tax_type' => 'ship_rates', + ); + + $shipping = WTARS_Shipped::get_option( 'shipping_rate_settings', $instance_id, $default ); + + return $shipping[ 'tax_type' ]; + } + + private function get_rates_settings( $instance_id ) { + + $default = array( + 'mode' => 'no', + ); + + return WTARS_Shipped::get_option( 'shipping_rates_settings', $instance_id, $default ); + } + + private function get_rate_options( $instance_id ) { + + $rate_options = array(); + + foreach ( WTARS_Shipped::get_option( 'shipping_rates', $instance_id, array() ) as $rate_option ) { + + $rate_options[] = $rate_option; + } + + return $rate_options; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/modules/shipping-rates/shipping-rates.php b/extensions/shipped/public/modules/shipping-rates/shipping-rates.php new file mode 100644 index 0000000..8c3ca4c --- /dev/null +++ b/extensions/shipped/public/modules/shipping-rates/shipping-rates.php @@ -0,0 +1,231 @@ +get_package_data_for_hash( $packages[ $key ] ); + } + + $this->save_package_hash( $package_data ); + + // create new custom hash for shipping calculation + $cache = new WTARS_Shipped_Cache(); + + $hash = $cache->get_global_hash(); + + foreach ( $keys as $key ) { + + $packages[ $key ][ 'shipped-hash' ] = $hash; + } + + return $packages; + } + + public function get_calculated_rates( $data, $package, $instance_id ) { + + $rates = array(); + + //get settings + $settings = WTARS_Shipped::get_option( 'shipping_rate_settings', $instance_id, array( 'show_on_cart' => 'yes' ) ); + + if ( 'no' == $settings[ 'show_on_cart' ] && is_cart() ) { + return $rates; + } + + + //check for calculated rates + if ( !isset( $data[ 'rates' ][ $instance_id ] ) ) { + return $rates; + } + + // go through each calculated rates and process them + foreach ( $data[ 'rates' ][ $instance_id ] as $rate_id => $calc_rate ) { + + $rate = array( + 'id' => WTARS_Shipped::get_rate_client_id( $instance_id, $rate_id ), + 'label' => apply_filters( 'wtars_shipped/rate-title', $calc_rate[ 'title' ], $rate_id, $instance_id ), + 'cost' => apply_filters( 'wtars_shipped/rate-cost', $calc_rate[ 'cost' ], $rate_id, $instance_id ), + ); + + if ( count( $calc_rate[ 'taxes' ] ) ) { + + $rate[ 'taxes' ] = apply_filters( 'wtars_shipped/rate-taxes', $calc_rate[ 'taxes' ], $rate_id, $instance_id ); + } else { + + $rate[ 'taxes' ] = false; + } + + $meta_data = apply_filters( 'wtars_shipped/rate-meta', array(), $rate_id, $instance_id ); + + if ( count( $meta_data ) ) { + + $rate[ 'meta_data' ] = $meta_data; + } + + $rate[ 'package' ] = $package; + + $rates[] = $rate; + } + + return $rates; + } + + public function get_instance_ids_from_rates( $rates ) { + + $instance_ids = array(); + + foreach ( $rates as $rate ) { + + $method_id = $rate->get_method_id(); + + $instance_id = $rate->get_instance_id(); + + if ( WTARS_SHIPPED_METHOD_ID == $method_id && !in_array( $instance_id, $instance_ids ) ) { + + $instance_ids[] = $instance_id; + } + } + + return $instance_ids; + } + + public function prepare_rates_for_display( $data, $instance_id ) { + + if ( !isset( $data[ 'rates' ] ) ) { + return; + } + + //get settings + $settings = WTARS_Shipped::get_option( 'shipping_rate_settings', $instance_id, array( 'show_on_cart' => 'yes' ) ); + + if ( 'no' == $settings[ 'show_on_cart' ] && is_cart() ) { + return; + } + + + foreach ( $data[ 'rates' ][ $instance_id ] as $rate_id => $rate ) { + + $shipping_rate_id = WTARS_Shipped::get_rate_client_id( $instance_id, $rate_id ); + + //prepare display info + + $rate_info = array(); + if ( '' != $rate[ 'desc' ] ) { + $rate_info[ 'desc' ] = apply_filters( 'wtars_shipped/rate-desc', $rate[ 'desc' ], $rate_id, $instance_id ); + } + + if ( '' != $rate[ 'tooltip' ] ) { + $rate_info[ 'tooltip' ] = apply_filters( 'wtars_shipped/rate-tooltip', $rate[ 'tooltip' ], $rate_id, $instance_id ); + } + + $this->rate_infos[ $shipping_rate_id ] = $rate_info; + + + //prepare default selections + if ( $rate[ 'is_default' ] ) { + + $this->default_rate_ids[] = $shipping_rate_id; + } + } + } + + public function get_rate_info( $shipping_rate ) { + + $shipping_rate_id = $shipping_rate->get_id(); + + if ( isset( $this->rate_infos[ $shipping_rate_id ] ) ) { + return $this->rate_infos[ $shipping_rate_id ]; + } + + return array(); + } + + public function get_default_rate( $default, $rates ) { + + if ( !count( $this->default_rate_ids ) ) { + return $default; + } + + if ( isset( $rates[ $this->default_rate_ids[ 0 ] ] ) ) { + return $this->default_rate_ids[ 0 ]; + } + + return $default; + } + + public function maybe_hide_methods( $rates, $instance_id ) { + + $settings = WTARS_Shipped::get_option( 'shipping_rate_settings', $instance_id, array( 'show_on_cart' => 'yes' ) ); + + if ( 'no' == $settings[ 'show_on_cart' ] && is_cart() ) { + return $rates; + } + + $hide_args = WTARS_Shipped::get_option( 'hide_methods', $instance_id, array( 'mode' => 'no' ) ); + + if ( 'no' == $hide_args[ 'mode' ] ) { + return $rates; + } + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + return WTARS_Shipped_Premium_Shipping_Rates::maybe_hide_methods( $rates, $instance_id, $hide_args ); + } + + // hide other methods + $keys = array_keys( $rates ); + + foreach ( $keys as $key ) { + $method_instance_id = $rates[ $key ]->get_instance_id(); + if ( $method_instance_id != $instance_id && isset( $rates[ $key ] ) ) { + unset( $rates[ $key ] ); + } + } + + return $rates; + } + + private function get_package_data_for_hash( $package ) { + + $p_data = array(); + + foreach ( $package[ 'contents' ] as $key => $item ) { + + $p_data[ $key ][ 'product_id' ] = $item[ 'product_id' ]; + $p_data[ $key ][ 'variation_id' ] = $item[ 'variation_id' ]; + $p_data[ $key ][ 'quantity' ] = $item[ 'quantity' ]; + $p_data[ $key ][ 'line_subtotal' ] = $item[ 'line_subtotal' ]; + $p_data[ $key ][ 'line_subtotal_tax' ] = $item[ 'line_subtotal_tax' ]; + $p_data[ $key ][ 'line_total' ] = $item[ 'line_total' ]; + $p_data[ $key ][ 'line_tax' ] = $item[ 'line_tax' ]; + } + + return $p_data; + } + + private function save_package_hash( $package_data ) { + $hash = md5( wp_json_encode( $package_data ) ); + WTARS_Shipped_Cart::set_session_data( 'package-hash', $hash, 'cache' ); + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/shipped-cache.php b/extensions/shipped/public/shipped-cache.php new file mode 100644 index 0000000..8be0005 --- /dev/null +++ b/extensions/shipped/public/shipped-cache.php @@ -0,0 +1,118 @@ +get_session_value( 'hash', $instance_id, false, 'cache' ); + + $hash = $this->get_hash( $instance_id ); + + return ($stored_hash == $hash); + } + + public function store_hash( $instance_id ) { + + $hash = $this->get_hash( $instance_id ); + + $this->set_session_value( 'hash', $this->get_hash( $instance_id ), $instance_id, 'cache' ); + } + + public function store_cache( $key, $object, $instance_id ) { + + $this->set_session_value( $key, $object, $instance_id, 'cache' ); + } + + public function load_cache( $key, $instance_id ) { + return $this->get_session_value( $key, $instance_id, false, 'cache' ); + } + + public function get_global_hash() { + + $hash_instances = WTARS_Shipped_Cart::get_session_data( 'hash', array(), 'cache' ); + + $instance_ids = array_keys( $hash_instances ); + + $hashes = array(); + + foreach ( $instance_ids as $instance_id ) { + + if ( is_numeric( $instance_id ) ) { + + $hashes[] = $this->get_hash( $instance_id ); + } + } + + return md5( wp_json_encode( $hashes ) ); + } + + private function get_session_value( $key, $instance_id, $default, $suffix ) { + + $objoct = WTARS_Shipped_Cart::get_session_data( $key, $default, $suffix ); + + if ( isset( $objoct[ $instance_id ] ) ) { + return $objoct[ $instance_id ]; + } + + return $default; + } + + private function set_session_value( $key, $object, $instance_id, $suffix ) { + + $stored_object = WTARS_Shipped_Cart::get_session_data( $key, array(), $suffix ); + + $stored_object[ $instance_id ] = $object; + + WTARS_Shipped_Cart::set_session_data( $key, $stored_object, $suffix ); + } + + private function get_hash( $instance_id ) { + + + $settings = $this->get_cache_settings( $instance_id ); + + if ( 'yes' == $settings[ 'enable_debug' ] ) { + return md5( wp_json_encode( array( current_time( 'U' ) ) ) ); + } + + $params = array(); + + foreach ( $settings[ 'cache_params' ] as $cache_param ) { + + if ( 'package_items' == $cache_param ) { + + $params[ 'package_items' ] = WTARS_Shipped_Cart::get_session_data( 'package-hash', md5( '' ), 'cache' ); + } + + if ( 'cart_items' == $cache_param ) { + $params[ 'cart_items' ] = WC()->session->get( 'cart' ); + } + } + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $params = WTARS_Shipped_Premium_Cache::get_hash( $params, $settings ); + } + + $hash = md5( wp_json_encode( $params ) ); + + if ( has_filter( 'wtars_shipped/get-hash' ) ) { + $hash = apply_filters( 'wtars_shipped/get-hash', $hash, $params ); + } + + return $hash; + } + + private function get_cache_settings( $instance_id ) { + $default = array( + 'enable_debug' => 'no', + 'cache_params' => array( 'package_items' ), + ); + + return WTARS_Shipped::get_option( 'cache_settings', $instance_id, $default ); + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/shipped-cart.php b/extensions/shipped/public/shipped-cart.php new file mode 100644 index 0000000..f59f637 --- /dev/null +++ b/extensions/shipped/public/shipped-cart.php @@ -0,0 +1,192 @@ +session->get( $session_key, array() ); + if ( isset( $session_data[ $key ] ) ) { + return $session_data[ $key ]; + } + + return $default; + } + + public static function set_session_data( $key, $object, $suffix = false ) { + + $session_key = 'shipped'; + if ( $suffix ) { + $session_key = $session_key . '-' . $suffix; + } + + $session_data = WC()->session->get( $session_key, array() ); + $session_data[ $key ] = $object; + WC()->session->set( $session_key, $session_data ); + } + + public static function get_data() { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + + return WTARS_Shipped_Premium_Cart::get_data(); + } else { + + return self::get_instance()->get_all_data(); + } + } + + private function get_all_data() { + + if ( count( $this->cart_data ) ) { + + return $this->cart_data; + } + + $cart = $this->get_cart(); + + if ( !$cart ) { + + return false; + } + + $this->cart_data = $this->get_contents_data( array(), $cart ); + + return $this->cart_data; + } + + private function get_contents_data( $cart_data, $cart ) { + + $cart_data[ 'items' ] = array(); + + foreach ( $cart->cart_contents as $key => $item ) { + + $cart_data[ 'items' ][ $key ] = $this->get_item( $cart->cart_contents[ $key ] ); + $cart_data[ 'items' ][ $key ][ 'data' ] = $this->get_product_data( $cart->cart_contents[ $key ][ 'data' ], $key ); + } + + return $this->get_totals_data( $cart_data, $cart ); + } + + private function get_item( $cart_item ) { + $item = array( + 'key' => $cart_item[ 'product_id' ] . '_' . $cart_item[ 'variation_id' ], + 'product_id' => $cart_item[ 'product_id' ], + 'quantity' => $cart_item[ 'quantity' ], + ); + + if ( has_filter( 'wtars_shipped/get-cart-item' ) ) { + $item = apply_filters( 'wtars_shipped/get-cart-item', $item, $cart_item ); + } + + return $item; + } + + private function get_product_data( $product, $item_key ) { + + $item_data = array( + 'is_taxable' => $product->is_taxable(), + 'tax_status' => $product->get_tax_status(), + 'tax_class' => $product->get_tax_class(), + 'shipping_class_id' => $product->get_shipping_class_id(), + 'weight' => $product->get_weight(), + ); + + if ( $product->get_parent_id() > 0 ) { + + $v_product = $this->get_parent_product( $product->get_parent_id() ); + + $item_data[ 'category_ids' ] = $v_product->get_category_ids(); + $item_data[ 'tag_ids' ] = $v_product->get_tag_ids(); + } else { + + $item_data[ 'category_ids' ] = $product->get_category_ids(); + $item_data[ 'tag_ids' ] = $product->get_tag_ids(); + } + + if ( has_filter( 'wtars_shipped/get-cart-product-data' ) ) { + + $item_data = apply_filters( 'wtars_shipped/get-cart-product-data', $item_data, $product, $item_key ); + } + return $item_data; + } + + private function get_totals_data( $cart_data, $cart ) { + + $cart_data[ 'totals' ] = $cart->get_totals(); + + if ( has_filter( 'wtars_shipped/get-cart-totals' ) ) { + + $cart_data[ 'totals' ] = apply_filters( 'wtars_shipped/get-cart-totals', $cart_data[ 'totals' ], $cart ); + } + + return self::get_customer( $cart_data, $cart ); + } + + private function get_customer( $cart_data, $cart ) { + + $cart_data[ 'customer' ] = array(); + + $customer = WC()->session->get( 'customer', false ); + + if ( $customer ) { + + $cart_data[ 'customer' ] = array( + 'id' => $customer[ 'id' ], + 'email' => $customer[ 'email' ], + ); + } + + if ( has_filter( 'wtars_shipped/get-cart-customer' ) ) { + $cart_data[ 'method_id' ] = apply_filters( 'wtars_shipped/get-cart-customer', $cart_data[ 'customer' ], $cart ); + } + + return $cart_data; + } + + private function get_parent_product( $parent_id ) { + + if ( isset( $this->parent_products[ $parent_id ] ) ) { + + return $this->parent_products[ $parent_id ]; + } + + $this->parent_products[ $parent_id ] = wc_get_product( $parent_id ); + + return $this->parent_products[ $parent_id ]; + } + + private function get_cart() { + + if ( method_exists( WC()->cart, 'is_empty' ) && WC()->cart->is_empty() ) { + + return false; + } + + return WC()->cart; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/shipped-package.php b/extensions/shipped/public/shipped-package.php new file mode 100644 index 0000000..8e377dc --- /dev/null +++ b/extensions/shipped/public/shipped-package.php @@ -0,0 +1,118 @@ +get_all_data( $package ); + } + } + + public static function get_package_items_data( $package_items, $cart_items ) { + + foreach ( array_keys( $package_items ) as $key ) { + $package_items[ $key ][ 'data' ] = self::get_instance()->get_cart_item_data( $package_items[ $key ][ 'key' ], $cart_items ); + } + + return $package_items; + } + + private function get_all_data( $package ) { + $hash_key = $this->get_hash_key( $package ); + + + if ( isset( $this->package_data[ $hash_key ] ) ) { + + return $this->package_data[ $hash_key ]; + } + + if ( !$package ) { + + return false; + } + + $this->package_data[ $hash_key ] = $this->get_contents_data( array(), $package ); + + return $this->package_data[ $hash_key ]; + } + + private function get_contents_data( $package_data, $package ) { + + $package_data[ 'items' ] = array(); + + foreach ( $package[ 'contents' ] as $key => $item ) { + + $package_data[ 'items' ][ $key ] = $this->get_item( $item ); + } + + return $this->get_destination( $package_data, $package ); + } + + private function get_item( $package_item ) { + + $item = array( + 'key' => $package_item[ 'product_id' ] . '_' . $package_item[ 'variation_id' ], + 'product_id' => $package_item[ 'product_id' ], + 'quantity' => $package_item[ 'quantity' ], + 'line_subtotal' => $package_item[ 'line_subtotal' ], + 'line_subtotal_tax' => $package_item[ 'line_subtotal_tax' ], + ); + + if ( has_filter( 'wtars_shipped/get-package-item' ) ) { + $item = apply_filters( 'wtars_shipped/get-package-item', $item, $package_item ); + } + + return $item; + } + + private function get_destination( $package_data, $package ) { + + $package_data[ 'destination' ] = $package[ 'destination' ]; + + if ( has_filter( 'wtars_shipped/get-package-destination' ) ) { + $package_data[ 'package_cost' ] = apply_filters( 'wtars_shipped/get-package-destination', $package_data[ 'destination' ], $package ); + } + + return $package_data; + } + + private function get_cart_item_data( $key, $cart_items ) { + + foreach ( $cart_items as $cart_item ) { + if ( $key == $cart_item[ 'key' ] && isset( $cart_item[ 'data' ] ) ) { + return $cart_item[ 'data' ]; + } + } + + return array(); + } + + private function get_hash_key( $package ) { + + return wp_json_encode( md5( wp_json_encode( $package ) ) ); + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/shipped-weight-calculator.php b/extensions/shipped/public/shipped-weight-calculator.php new file mode 100644 index 0000000..a9d9093 --- /dev/null +++ b/extensions/shipped/public/shipped-weight-calculator.php @@ -0,0 +1,41 @@ +get_item_weight( $package_item ); + } + + return $total_weight; + } + + public function get_item_weight( $package_item ) { + + if ( !isset( $package_item[ 'data' ][ 'weight' ] ) ) { + + return 0; + } + + if ( !is_numeric( $package_item[ 'data' ][ 'weight' ] ) ) { + + return 0; + } + + return $package_item[ 'data' ][ 'weight' ] * $package_item[ 'quantity' ]; + } + + } + +} diff --git a/extensions/shipped/public/shipped.php b/extensions/shipped/public/shipped.php new file mode 100644 index 0000000..9f666c4 --- /dev/null +++ b/extensions/shipped/public/shipped.php @@ -0,0 +1,244 @@ +shipping_rates = new WTARS_Shipped_Shipping_Rates(); + $this->cart_fees = new WTARS_Shipped_Cart_Fees(); + $this->messages = new WTARS_Shipped_Checkout_Messages(); + + add_filter( 'woocommerce_cart_shipping_packages', array( $this, 'before_calculate_shipping' ), 10 ); + add_filter( 'wtars_shipped/calculate-shipping', array( $this, 'calculate_shipping' ), 10, 3 ); + add_filter( 'woocommerce_package_rates', array( $this, 'get_package_rates' ), 10, 2 ); + add_filter( 'woocommerce_shipping_packages', array( $this, 'get_shipping_packages' ), 10 ); + add_filter( 'woocommerce_after_shipping_rate', array( $this, 'do_after_shipping_rate' ), 10, 2 ); + add_filter( 'woocommerce_shipping_chosen_method', array( $this, 'get_shipping_chosen_method' ), 1, 3 ); + + add_action( 'woocommerce_review_order_before_cart_contents', array( $this, 'before_checkout_contents' ), 10 ); + add_action( 'woocommerce_after_calculate_totals', array( $this, 'before_cart_contents' ), 10 ); + } + + public function before_calculate_shipping( $packages ) { + + //prepares for any possible calculations + $pckgs = $this->shipping_rates->before_calculate( $packages ); + + return $pckgs; + } + + public function calculate_shipping( $package, $instance_id ) { + + ob_start(); // prevents any possible error + + //process all data + $data = $this->process_data( $package, $instance_id ); + + $rates = $this->shipping_rates->get_calculated_rates( $data, $package, $instance_id ); + + ob_clean(); // resume normal buffer + + return $rates; + } + + public function get_package_rates( $rates, $package ) { + + $instance_ids = $this->shipping_rates->get_instance_ids_from_rates( $rates ); + + foreach ( $instance_ids as $instance_id ) { + + //maybe hide methods + $rates = $this->shipping_rates->maybe_hide_methods( $rates, $instance_id ); + } + + return $rates; + } + + public function get_shipping_packages( $packages ) { + + $keys = array_keys( $packages ); + + foreach ( $keys as $key ) { + + $instance_ids = $this->shipping_rates->get_instance_ids_from_rates( $packages[ $key ][ 'rates' ] ); + + foreach ( $instance_ids as $instance_id ) { + + //process all data + $data = $this->process_data( $packages[ $key ], $instance_id ); + + //maybe hide methods + $packages[ $key ][ 'rates' ] = $this->shipping_rates->maybe_hide_methods( $packages[ $key ][ 'rates' ], $instance_id ); + + // apply this fees + $packages[ $key ] = $this->cart_fees->process_fees( $packages[ $key ], $data, $instance_id ); + + //prepare defualt rates + $this->shipping_rates->prepare_rates_for_display( $data, $instance_id ); + } + } + + return $packages; + } + + public function do_after_shipping_rate( $shipping_rate, $index ) { + + $info = $this->shipping_rates->get_rate_info( $shipping_rate ); + + if ( !count( $info ) ) { + return; + } + + if ( isset( $info[ 'tooltip' ] ) ) { + include 'views/tooltip.php'; + } + + if ( isset( $info[ 'desc' ] ) ) { + include 'views/desc.php'; + } + } + + public function get_shipping_chosen_method( $default, $rates, $chosen_method ) { + + //get default rate + return $this->shipping_rates->get_default_rate( $default, $rates ); + } + + public function before_checkout_contents() { + + $packages = WC()->shipping->get_packages(); + + $keys = array_keys( $packages ); + + foreach ( $keys as $key ) { + + $instance_ids = $this->shipping_rates->get_instance_ids_from_rates( $packages[ $key ][ 'rates' ] ); + + foreach ( $instance_ids as $instance_id ) { + + //process all data + $data = $this->process_data( $packages[ $key ], $instance_id ); + + //process process message + $this->messages->process_messages( $data, $instance_id ); + } + } + } + + public function before_cart_contents( $cart ) { + + if ( is_checkout() ) { + return; + } + + if ( !is_cart() ) { + return; + } + + $packages = WC()->shipping->get_packages(); + + $keys = array_keys( $packages ); + + foreach ( $keys as $key ) { + + $instance_ids = $this->shipping_rates->get_instance_ids_from_rates( $packages[ $key ][ 'rates' ] ); + + foreach ( $instance_ids as $instance_id ) { + + //process all data + $data = $this->process_data( $packages[ $key ], $instance_id ); + + //process process message + $this->messages->process_messages( $data, $instance_id ); + } + } + } + + public static function get_option( $option_key, $instance_id, $default ) { + + if ( isset( self::$wtars_shipped[ $instance_id ][ $option_key ] ) ) { + return self::$wtars_shipped[ $instance_id ][ $option_key ]; + } + + self::$wtars_shipped[ $instance_id ] = get_option( WTARS_SHIPPED_OPTION_NAME . '_' . $instance_id, array() ); + + if ( isset( self::$wtars_shipped[ $instance_id ][ $option_key ] ) ) { + return self::$wtars_shipped[ $instance_id ][ $option_key ]; + } + + return $default; + } + + public static function get_rate_client_id( $instance_id, $rate_id ) { + + //get shipping rate id used on cart and checkout page + return WTARS_SHIPPED_METHOD_ID . ':' . $instance_id . '_' . $rate_id; + } + + public static function process_data( $package, $instance_id ) { + + // Get cached data + $data = apply_filters( 'wtars_shipped/cache-data', array( + 'wc' => array( + 'instance_id' => $instance_id, + 'reload' => false, + ) ) ); + + if ( false == $data[ 'wc' ][ 'reload' ] ) { + return self::clean_data( $data ); + } + + // Pre-process all data + $data[ 'wc' ][ 'package' ] = WTARS_Shipped_Package::get_data( $package ); + $data[ 'wc' ][ 'cart' ] = WTARS_Shipped_Cart::get_data(); + + // Process all data + $data = apply_filters( 'wtars_shipped/process-data', $data ); + + + + // Return processed data + return self::clean_data( $data ); + } + + private static function clean_data( $data ) { + + //remove unwanted data + unset( $data[ 'wc' ] ); + return $data; + } + + } + + new WTARS_Shipped(); +} \ No newline at end of file diff --git a/extensions/shipped/public/total-types/shipped-cache.php b/extensions/shipped/public/total-types/shipped-cache.php new file mode 100644 index 0000000..8be0005 --- /dev/null +++ b/extensions/shipped/public/total-types/shipped-cache.php @@ -0,0 +1,118 @@ +get_session_value( 'hash', $instance_id, false, 'cache' ); + + $hash = $this->get_hash( $instance_id ); + + return ($stored_hash == $hash); + } + + public function store_hash( $instance_id ) { + + $hash = $this->get_hash( $instance_id ); + + $this->set_session_value( 'hash', $this->get_hash( $instance_id ), $instance_id, 'cache' ); + } + + public function store_cache( $key, $object, $instance_id ) { + + $this->set_session_value( $key, $object, $instance_id, 'cache' ); + } + + public function load_cache( $key, $instance_id ) { + return $this->get_session_value( $key, $instance_id, false, 'cache' ); + } + + public function get_global_hash() { + + $hash_instances = WTARS_Shipped_Cart::get_session_data( 'hash', array(), 'cache' ); + + $instance_ids = array_keys( $hash_instances ); + + $hashes = array(); + + foreach ( $instance_ids as $instance_id ) { + + if ( is_numeric( $instance_id ) ) { + + $hashes[] = $this->get_hash( $instance_id ); + } + } + + return md5( wp_json_encode( $hashes ) ); + } + + private function get_session_value( $key, $instance_id, $default, $suffix ) { + + $objoct = WTARS_Shipped_Cart::get_session_data( $key, $default, $suffix ); + + if ( isset( $objoct[ $instance_id ] ) ) { + return $objoct[ $instance_id ]; + } + + return $default; + } + + private function set_session_value( $key, $object, $instance_id, $suffix ) { + + $stored_object = WTARS_Shipped_Cart::get_session_data( $key, array(), $suffix ); + + $stored_object[ $instance_id ] = $object; + + WTARS_Shipped_Cart::set_session_data( $key, $stored_object, $suffix ); + } + + private function get_hash( $instance_id ) { + + + $settings = $this->get_cache_settings( $instance_id ); + + if ( 'yes' == $settings[ 'enable_debug' ] ) { + return md5( wp_json_encode( array( current_time( 'U' ) ) ) ); + } + + $params = array(); + + foreach ( $settings[ 'cache_params' ] as $cache_param ) { + + if ( 'package_items' == $cache_param ) { + + $params[ 'package_items' ] = WTARS_Shipped_Cart::get_session_data( 'package-hash', md5( '' ), 'cache' ); + } + + if ( 'cart_items' == $cache_param ) { + $params[ 'cart_items' ] = WC()->session->get( 'cart' ); + } + } + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $params = WTARS_Shipped_Premium_Cache::get_hash( $params, $settings ); + } + + $hash = md5( wp_json_encode( $params ) ); + + if ( has_filter( 'wtars_shipped/get-hash' ) ) { + $hash = apply_filters( 'wtars_shipped/get-hash', $hash, $params ); + } + + return $hash; + } + + private function get_cache_settings( $instance_id ) { + $default = array( + 'enable_debug' => 'no', + 'cache_params' => array( 'package_items' ), + ); + + return WTARS_Shipped::get_option( 'cache_settings', $instance_id, $default ); + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/total-types/total-types-package-totals.php b/extensions/shipped/public/total-types/total-types-package-totals.php new file mode 100644 index 0000000..11f2cbf --- /dev/null +++ b/extensions/shipped/public/total-types/total-types-package-totals.php @@ -0,0 +1,48 @@ +get_totals( $data ); + + if ( 'package_total' == $option ) { + $totals += $package_totals[ 'total' ]; + } + + if ( 'package_total_tax' == $option ) { + $totals += $package_totals[ 'total_tax' ]; + } + + return $totals; + } + + private function get_totals( $data ) { + + $package_totals = array( + 'total' => 0, + 'total_tax' => 0 + ); + + if ( !isset( $data[ 'wc' ][ 'package' ][ 'items' ] ) ) { + return $package_totals; + } + + foreach ( $data[ 'wc' ][ 'package' ][ 'items' ] as $item ) { + + $package_totals[ 'total' ] += $item[ 'line_subtotal' ]; + $package_totals[ 'total_tax' ] += $item[ 'line_subtotal_tax' ]; + } + + return $package_totals; + } + + } + +} diff --git a/extensions/shipped/public/total-types/total-types-subtotals.php b/extensions/shipped/public/total-types/total-types-subtotals.php new file mode 100644 index 0000000..6404315 --- /dev/null +++ b/extensions/shipped/public/total-types/total-types-subtotals.php @@ -0,0 +1,45 @@ +get_subtotals( $data ); + + if ( 'subtotal' == $option ) { + $totals += $subtotals[ 'subtotal' ]; + } + + if ( 'subtotal_tax' == $option ) { + $totals += $subtotals[ 'subtotal_tax' ]; + } + + return $totals; + } + + private function get_subtotals( $data ) { + + $subtotals = array( + 'subtotal' => 0, + 'subtotal_tax' => 0 + ); + + if ( !isset( $data[ 'wc' ]['cart'][ 'totals' ][ 'subtotal' ] ) ) { + return $subtotals; + } + + $subtotals[ 'subtotal' ] = $data[ 'wc' ]['cart'][ 'totals' ][ 'subtotal' ]; + $subtotals[ 'subtotal_tax' ] = $data[ 'wc' ]['cart'][ 'totals' ][ 'subtotal_tax' ]; + + return $subtotals; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/total-types/total-types.php b/extensions/shipped/public/total-types/total-types.php new file mode 100644 index 0000000..8973ad1 --- /dev/null +++ b/extensions/shipped/public/total-types/total-types.php @@ -0,0 +1,127 @@ +get_args_key( $args ); + + if ( isset( $this_obj->totals_list[ $totals_key ] ) ) { + return $this_obj->totals_list[ $totals_key ]; + } + + $totals = 0; + + $options = $this_obj->get_option( $args ); + + foreach ( $options as $option ) { + switch ( $option ) { + + case 'subtotal': + case 'subtotal_tax': + $cart_subtotals = new WTARS_Shipped_Total_Types_Subtotals(); + $totals = $cart_subtotals->calc_totals( $totals, $option, $data ); + break; + + case 'package_total': + case 'package_total_tax': + $package_totals = new WTARS_Shipped_Total_Types_Package_Totals(); + $totals = $package_totals->calc_totals( $totals, $option, $data ); + break; + + default: + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + $prem_totals = new WTARS_Shipped_Premium_Total_Types(); + $totals = $prem_totals->get_totals( $totals, $option, $data ); + } + break; + } + + if ( has_filter( 'wtars_shipped/calculate-' . $option . '-totals' ) ) { + $totals = apply_filters( 'wtars_shipped/calculate-' . $option . '-totals', $totals, $data ); + } + } + + $this_obj->totals_list[ $totals_key ] = $totals; + + return $totals; + } + + private function get_option( $args ) { + + $options = array(); + + $opts = WTARS_Shipped::get_option( 'checkout_totals', $args[ 'instance_id' ], $this->get_defaults() ); + + foreach ( $opts as $opt ) { + + if ( isset( $opt[ 'include' ] ) ) { + + $options[ $opt[ 'option_id' ] ] = $opt[ 'include' ]; + } else { + + $options[ $opt[ 'option_id' ] ] = array(); + } + } + + if ( isset( $options[ $args[ 'option_id' ] ] ) ) { + + return $options[ $args[ 'option_id' ] ]; + } + + return $options[ $opts[ 0 ][ 'option_id' ] ]; + } + + private function get_defaults() { + + if ( defined( 'WTARS_SHIPPED_PREMIUM' ) ) { + + return array( + array( + 'option_id' => '2234343', + 'include' => array( 'subtotal', 'subtotal_tax' ), + ), + array( + 'option_id' => '2234344', + 'include' => array( 'package_total', 'package_total_tax' ), + ), + ); + } + + return array( + array( + 'option_id' => '2234343', + 'include' => array( 'subtotal', 'subtotal_tax' ), + ), + ); + } + + private function get_args_key( $args ) { + return md5( wp_json_encode( $args ) ); + } + + } + +} + \ No newline at end of file diff --git a/extensions/shipped/public/utils/shipped-customer-util.php b/extensions/shipped/public/utils/shipped-customer-util.php new file mode 100644 index 0000000..f2201a8 --- /dev/null +++ b/extensions/shipped/public/utils/shipped-customer-util.php @@ -0,0 +1,33 @@ + 0); + } + + public static function get_user_email( $data ) { + + if ( !isset( $data[ 'wc' ][ 'cart' ][ 'customer' ][ 'email' ] ) ) { + return ''; + } + + return $data[ 'wc' ][ 'cart' ][ 'customer' ][ 'email' ]; + } + + } + +} diff --git a/extensions/shipped/public/utils/shipped-inc.php b/extensions/shipped/public/utils/shipped-inc.php new file mode 100644 index 0000000..b332cfc --- /dev/null +++ b/extensions/shipped/public/utils/shipped-inc.php @@ -0,0 +1,34 @@ +posts + . " WHERE (post_type='product')" + . " AND post_name IN('" . implode( "','", array_map( 'esc_sql', $slugs ) ) . "')"; + + + $results = $wpdb->get_results( $sql, ARRAY_A ); + + foreach ( $results as $row ) { + $product_ids[] = $row[ 'id' ]; + } + + set_transient( $sql_hash, $product_ids, MINUTE_IN_SECONDS + 30 ); + } catch ( Exception $ex ) { + return $product_ids; + } + + + return $product_ids; + } + + public static function get_product_term_ids_by_slugs( $slugs, $taxonomy ) { + $term_ids = array(); + + $sql_hash = 'shp_' . $taxonomy . '_terms_ids' . md5( wp_json_encode( $slugs ) ); + + $t_term_ids = get_transient( $sql_hash ); + + if ( $t_term_ids ) { + return $t_term_ids; + } + + try { + global $wpdb; + + $sql = "SELECT terms.term_id FROM {$wpdb->prefix}terms AS terms" + . " LEFT JOIN {$wpdb->prefix}term_taxonomy AS term_taxonomy ON terms.term_id=term_taxonomy.term_id" + . " WHERE (term_taxonomy.taxonomy=%s)" + . " AND slug IN('" . implode( "','", array_map( 'esc_sql', $slugs ) ) . "')"; + + $results = $wpdb->get_results( $wpdb->prepare( $sql, $taxonomy ), ARRAY_A ); + + foreach ( $results as $row ) { + $term_ids[] = $row[ 'term_id' ]; + } + + set_transient( $sql_hash, $term_ids, MINUTE_IN_SECONDS + 30 ); + } catch ( Exception $ex ) { + return $term_ids; + } + return $term_ids; + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/utils/shipped-validation-util.php b/extensions/shipped/public/utils/shipped-validation-util.php new file mode 100644 index 0000000..345fc12 --- /dev/null +++ b/extensions/shipped/public/utils/shipped-validation-util.php @@ -0,0 +1,218 @@ += $t_arr[ 0 ] && $value <= $t_arr[ 1 ] ) { + $found = true; + break; + } + } + } + } + + if ( $validate_type == 'match' ) { + return $found; + } + return !$found; + } + + public static function validate_value( $validate_type, $value, $rule_value = '', $rule_yes_no = 'no' ) { + + if ( $validate_type == 'empty' ) { + $is_empty = false; + if ( $value == '' ) { + $is_empty = true; + } + return self::validate_yes_no( $is_empty, $rule_yes_no ); + } + + if ( $validate_type == 'contains' ) { + return self::contains( $rule_value, $value ); + } + + if ( $validate_type == 'not_contains' ) { + return !(self::contains( $rule_value, $value )); + } + + if ( $validate_type == 'begins' ) { + return self::starts_with( $rule_value, $value ); + } + + if ( $validate_type == 'ends' ) { + return self::ends_with( $rule_value, $value ); + } + + if ( $validate_type == '>=' ) { + if ( $value === '' ) { + return false; + } + return ($value >= $rule_value); + } + if ( $validate_type == '>' ) { + if ( $value === '' ) { + return false; + } + return ($value > $rule_value); + } + if ( $validate_type == '<=' ) { + if ( $value === '' ) { + return false; + } + return ($value <= $rule_value); + } + if ( $validate_type == '<' ) { + if ( $value === '' ) { + return false; + } + return ($value < $rule_value); + } + if ( $validate_type == '==' ) { + return ($value == $rule_value); + } + if ( $validate_type == '!=' ) { + return ($value != $rule_value); + } + + if ( $validate_type == 'checked' ) { + $is_empty = false; + if ( $value == 'yes' ) { + $is_empty = true; + } + return self::validate_yes_no( $is_empty, $rule_yes_no ); + } + + + return false; + } + + public static function validate_list_list( $list, $rule_list, $validate_type ) { + if ( $validate_type == 'in_list' || $validate_type == 'none' ) { + return self::validate_list_in_list( $list, $rule_list, $validate_type ); + } + + if ( $validate_type == 'in_all_list' ) { + return self::validate_list_all_in_list( $list, $rule_list ); + } + + if ( $validate_type == 'in_list_only' ) { + return self::validate_list_only_in_list( $list, $rule_list ); + } + + if ( $validate_type == 'in_all_list_only' ) { + $all_list = self::validate_list_all_in_list( $list, $rule_list ); + $only_list = self::validate_list_only_in_list( $list, $rule_list ); + return ($all_list == true && $only_list == true); + } + + + return false; + } + + private static function validate_list_in_list( $list, $rule_list, $validate_type ) { + $found_list = array(); + foreach ( $list as $lst ) { + if ( self::validate_value_list( $lst, $rule_list, 'in_list' ) ) { + $found_list[] = $lst; + } + } + $found = (count( $found_list ) > 0); + return ($found == ($validate_type == 'in_list')); + } + + private static function validate_list_all_in_list( $list, $rule_list ) { + $found_list = array(); + foreach ( $list as $lst ) { + if ( self::validate_value_list( $lst, $rule_list, 'in_list' ) ) { + $found_list[] = $lst; + } + } + if ( count( $found_list ) == count( $rule_list ) ) { + return true; + } + return false; + } + + private static function validate_list_only_in_list( $list, $rule_list ) { + $found_list = array(); + foreach ( $rule_list as $lst ) { + if ( self::validate_value_list( $lst, $list, 'in_list' ) ) { + $found_list[] = $lst; + } + } + if ( count( $found_list ) == count( $list ) ) { + return true; + } + return false; + } + + private static function starts_with( $rule_value, $value ) { + return (strpos( strtolower( $value ), strtolower( $rule_value ) ) === 0); + } + + private static function ends_with( $rule_value, $value ) { + $haystack = strtolower( $value ); + $ending = strtolower( $rule_value ); + return (strpos( $haystack, $ending, strlen( $haystack ) - strlen( $ending ) ) !== false); + } + + private static function contains( $rule_value, $value ) { + return (preg_match( "/{$rule_value}/i", $value )); + } + + } + +} \ No newline at end of file diff --git a/extensions/shipped/public/views/desc.php b/extensions/shipped/public/views/desc.php new file mode 100644 index 0000000..619d59c --- /dev/null +++ b/extensions/shipped/public/views/desc.php @@ -0,0 +1,3 @@ +

+ +

\ No newline at end of file diff --git a/extensions/shipped/public/views/tooltip.php b/extensions/shipped/public/views/tooltip.php new file mode 100644 index 0000000..d99b8af --- /dev/null +++ b/extensions/shipped/public/views/tooltip.php @@ -0,0 +1 @@ + diff --git a/extensions/shipped/shipped-extensions.php b/extensions/shipped/shipped-extensions.php new file mode 100644 index 0000000..9c25982 --- /dev/null +++ b/extensions/shipped/shipped-extensions.php @@ -0,0 +1,88 @@ +enqueue_scripts(); + } + + public function enqueue_public_scripts() { + + wp_enqueue_style( 'dashicons' ); + wp_enqueue_style( 'tipTip', WTARS_SHIPPED_ASSETS_URL . 'tipTip.min.css', array(), '1.0', 'all' ); + wp_enqueue_style( 'shipped_public_css', WTARS_SHIPPED_ASSETS_URL . 'public-styles.min.css', array(), '1.0', 'all' ); + + wp_enqueue_script( 'jquery-tipTip', WTARS_SHIPPED_ASSETS_URL . 'jquery.tipTip.min.js', array( 'jquery' ), '1.0', true ); + wp_enqueue_script( 'shipped_public_scripts_js', WTARS_SHIPPED_ASSETS_URL . 'public-scripts.min.js', array( 'jquery' ), '1.0', true ); + + $cart_triggers = array( 'input[name^="payment_method"]' ); + + if ( has_filter( 'wtars_shipped/get-cart-update-triggers' ) ) { + + $cart_triggers = apply_filters( 'wtars_shipped/get-cart-update-triggers', $cart_triggers ); + } + + $script_params = array( + 'update_triggers' => implode( ",", $cart_triggers ), + ); + + wp_localize_script( 'shipped_public_scripts_js', 'wtars_shipped', $script_params ); + } + + } + +} + + + + diff --git a/extensions/shipped/shipping-method.php b/extensions/shipped/shipping-method.php new file mode 100644 index 0000000..b673c4a --- /dev/null +++ b/extensions/shipped/shipping-method.php @@ -0,0 +1,133 @@ +instance_id = absint( $instance_id ); + $this->id = WTARS_SHIPPED_METHOD_ID; + $this->method_title = esc_html__( 'Table Rate Shipping', 'table-rate-shipping-rates' ); + $this->method_description = esc_html__( 'Table Rate Shipping & Handling Fees for WooCommerce', 'table-rate-shipping-rates' ); + $this->plugin_id = WTARS_SHIPPED_METHOD_ID; + $this->supports = array( + 'shipping-zones', + 'instance-settings', + ); + + $this->init(); + } + + function init() { + + // Load the settings API + $this->init_form_fields(); + $this->init_settings(); + + $settings = $this->get_shipped_settings(); + + $this->tax_status = $settings[ 'tax_status' ]; + + $this->title = $settings[ 'title' ]; + } + + public function calculate_shipping( $package = array() ) { + + //calculate shipping rates + $shipping_rates = apply_filters( 'wtars_shipped/calculate-shipping', $package, $this->instance_id ); + + //apply calculated rates + foreach ( $shipping_rates as $shipping_rate ) { + + $this->add_rate( $shipping_rate ); + } + } + + public function get_rate_id( $suffix = '' ) { + + //get shipping rate id used on cart and checkout page + return WTARS_Shipped::get_rate_client_id( $this->instance_id, $suffix ); + } + + public function init_form_fields() { + + $this->instance_form_fields = array( + 'settings_page' => array( + 'type' => 'wtars_shipped_admin', + 'id' => 'wtars_shipped_page', + 'instance_id' => $this->instance_id, + 'option_name' => WTARS_SHIPPED_OPTION_NAME, + ), + ); + } + + public function generate_wtars_shipped_admin_html( $key, $field ) { + + ob_start(); + + if ( !defined( 'WTARS_SHIPPED_ADMIN_PAGE' ) ) { + define( 'WTARS_SHIPPED_ADMIN_PAGE', 1 ); + } + + ReonOptionPageWC::render_wc_page_field( $field ); + + $html = ob_get_clean(); + + return $html; + } + + public function admin_options() { + + echo $this->get_admin_options_html(); + } + + public function get_admin_options_html() { + + $settings_html = $this->generate_settings_html( $this->get_instance_form_fields(), false ); + + return $settings_html; + } + + private function get_shipped_settings() { + + $default_settings = array( + 'title' => esc_html__( 'Table Rate Shipping & Fees', 'table-rate-shipping-rates' ), + 'tax_type' => 'no', + 'tax_status' => 'none' + ); + + if ( !class_exists( 'WTARS_Shipped' ) ) { + + return $default_settings; + } + + if ( class_exists( 'WTARS_Shipped_Shipping_Method' ) ) { + + $settings = WTARS_Shipped::get_option( 'shipping_rate_settings', $this->instance_id, $default_settings ); + } else { + + $settings = $default_settings; + } + + if ( '' == $settings[ 'title' ] ) { + $settings[ 'title' ] = $default_settings[ 'title' ]; + } + + if ( 'no' != $settings[ 'tax_type' ] ) { + + $settings[ 'tax_status' ] = 'taxable'; + } else { + + $settings[ 'tax_status' ] = 'none'; + } + + return $settings; + } + + } + +} + diff --git a/framework/reon/assets/css/admin.css b/framework/reon/assets/css/admin.css new file mode 100644 index 0000000..d46b3da --- /dev/null +++ b/framework/reon/assets/css/admin.css @@ -0,0 +1,2 @@ +.rn-container{display:block}.rn-container,.rn-container *{border:0;font-size:13px;font:inherit;vertical-align:baseline;margin:0;padding:0;line-height:26px;position:relative;-webkit-font-smoothing:antialiased;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.rn-container .rn-clear{display:block;clear:both}.rn-container form{display:block}.rn-container h1,.rn-container h2,.rn-container h3,.rn-container h4,.rn-container h5,.rn-container h6{color:#444c4e;margin-bottom:12px;display:block;font-weight:600}.rn-container h1{font-size:24px;line-height:36px}.rn-container h2{font-size:22px;line-height:36px}.rn-container h3{font-size:20px;line-height:32px}.rn-container h4{font-size:18px;line-height:29px}.rn-container h5{font-size:16px;line-height:27px}.rn-container h6{font-size:14px}.rn-container .dashicons{font-family:'dashicons'}.rn-container .fa{font-family:'FontAwesome'}.rn-container a{-moz-transition:all .3s ease;-webkit-transition:all .3s ease;transition:all .3s ease}.rn-container a,.rn-container a:hover,.rn-container a:visited{text-decoration:none}.rn-container a:focus,.rn-container a:active{outline:none;box-shadow:none}.rn-container p{display:block;margin-bottom:16px}.rn-container ol,.rn-container ul{list-style:none}.rn-container q{quotes:none}.rn-container q:before,.rn-container q:after{content:none}.rn-container blockquote:before,.rn-container blockquote:after{content:none}.rn-container table{border-collapse:collapse;border-spacing:0}.rn-option-page{display:block;background-color:#fff;border:1px solid #e2e5e7;margin:20px 20px 0 0}.rn-option-page .rn-option-page-aside{display:block;float:left;width:250px;min-height:600px;background-color:#23282d;background-size:100%;margin:-1px 0 -1px -1px;color:#fff;padding-bottom:50px}.rn-option-page .rn-option-page-aside.rn-no-display{padding-top:40px}.rn-option-page .rn-option-page-aside .rn-option-page-aside-details{display:block;height:224px;width:100%;text-align:center;background-color:#0073aa}.rn-option-page .rn-option-page-aside .rn-option-page-aside-details .rn-option-page-aside-details-version{display:block;text-align:right;padding:6px 15px 9px 0;font-size:12px;opacity:.7}.rn-option-page .rn-option-page-aside .rn-option-page-aside-details .rn-option-page-aside-details-logo{display:block;margin-bottom:12px}.rn-option-page .rn-option-page-aside .rn-option-page-aside-details .rn-option-page-aside-details-title{display:block;text-align:center;font-weight:600;font-size:16px;line-height:13px}.rn-option-page .rn-option-page-aside .rn-option-page-aside-details hr{display:inline-block;width:36px;height:2px;background-color:#fff;border:0}.rn-option-page .rn-option-page-aside .rn-option-page-aside-details .rn-option-page-aside-details-subversion{display:block;text-align:center;font-size:12px;opacity:.7}.rn-option-page .rn-option-page-aside .rn-option-page-aside-details-after{color:#0073aa;text-align:center;height:32px}.rn-option-page .rn-option-page-aside .rn-option-page-aside-details-after i{display:inline-block;font-size:55px;top:-15px}.rn-option-page .rn-option-page-aside .rn-option-page-tabs{display:block}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list{display:block}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list a{-moz-transition:all .3s ease;-webkit-transition:all .3s ease;transition:all .3s ease}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li{display:block}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li>a{display:block;padding:5px 5px 5px 39px;color:#fff;width:100%;font-size:14px}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li>a:before{content:'\f0da';font-family:'FontAwesome';font-size:14px;margin-right:7px}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li.active>a,.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li.activeparent>a{background-color:#0073aa}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li.active:after{content:'\f0d9';font-family:'FontAwesome';position:absolute;font-size:33px;right:-8px;top:6px}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li:hover>a{background-color:#0073aa}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li.haschild>a:after{content:'\f105';font-family:'FontAwesome';position:absolute;font-size:16px;right:13px;top:5px;-moz-transition:all .3s ease;-webkit-transition:all .3s ease;transition:all .3s ease}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li.haschild.activeparent>a:after{transform:rotate(90deg)}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li .rn-option-page-tabs-sublist{display:none;background-color:#32373c;padding:25px 0 25px 54px}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li .rn-option-page-tabs-sublist .rn-option-subli{display:block}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li .rn-option-page-tabs-sublist .rn-option-subli a{display:block;padding:5px 5px 5px 0px;color:#fff;width:100%;border-left:2px solid #3f4449;font-size:14px}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li .rn-option-page-tabs-sublist .rn-option-subli a:before{content:' ';display:inline-block;font-family:'FontAwesome';width:8px;height:8px;margin-left:-5px;margin-top:-2px;margin-right:8px;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;background-color:#3f4449}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li .rn-option-page-tabs-sublist .rn-option-subli.active a{border-left-color:#474d52;background-color:#292e33;color:#0073aa}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li .rn-option-page-tabs-sublist .rn-option-subli.active a:before{background-color:#474d52}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li .rn-option-page-tabs-sublist .rn-option-subli.active:after{content:'\f0d9';font-family:'FontAwesome';position:absolute;font-size:33px;right:-3px;top:6px}.rn-option-page .rn-option-page-aside .rn-option-page-tabs .rn-option-page-tabs-list>.rn-option-li .rn-option-page-tabs-sublist .rn-option-subli:hover:not(.active) a{color:#0073aa;background-color:#2d333a}.rn-option-page .rn-option-page-body{display:block;clear:right;margin-left:250px}.rn-option-page .rn-option-page-body .rn-option-page-tool{display:block;height:72px;width:100%;border-bottom:1px solid #e0e5e7}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-section-title{display:inline-block;float:left;padding:21px 24px 21px 24px;border-right:1px solid #e0e5e7;margin-bottom:0px}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-links{float:left;padding:23px 0 0 30px}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-links li{display:inline}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-links li a{display:inline-block;padding-right:23px;font-size:14px;color:#667377;float:left}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-links li a i{margin-right:8px;font-weight:normal}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-links li a:hover{color:#0073aa}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-links.rn-social-links a{padding-right:0px;font-size:14px;color:#667377;height:27px;width:27px;border:1px solid;text-align:center;margin-right:9px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-links.rn-social-links a i{vertical-align:top;margin-right:0px}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-buttons{float:right;padding:20px 20px 0px 0px}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-buttons .rn-reset-btn{display:inline-block;padding:3px 19px;color:#697578;background-color:#cad4d7;float:left;margin-right:1px}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-buttons .rn-reset-btn:hover{background-color:#bec9cc}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-buttons .rn-reset-btn:active{-moz-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3);-webkit-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3);box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3)}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-buttons .rn-save-btn{display:inline-block;padding:3px 19px;color:#fff;background-color:#00a0d2;float:left;margin-right:1px}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-buttons .rn-save-btn:hover{background-color:#0090bd}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-buttons .rn-save-btn:active{-moz-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3);-webkit-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3);box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3)}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-buttons .rn-btn-sep{margin-right:5px}.rn-option-page .rn-option-page-body .rn-option-page-tool .rn-option-page-buttons .rn-ajax-icon{display:none;height:20px;width:20px;background-image:url(images/spinner.gif);background-repeat:no-repeat;float:left;opacity:.6;margin:7px 10px 0 0}.rn-option-page .rn-option-page-body .rn-option-page-tool.rn-option-page-footer{border-top:1px solid #e0e5e7;border-bottom:0}.rn-option-page .rn-option-page-body .rn-option-page-groups{display:block;width:100%}.rn-option-page .rn-option-page-body .rn-option-page-groups .rn-option-page-group{display:none;width:100%;padding:0 30px 27px 30px}.rn-option-page .rn-option-page-body .rn-option-page-groups .rn-option-page-group.active-group{display:block}.rn-option-page .rn-option-page-body .rn-option-page-groups .rn-option-page-group .rn-option-page-group-inner{display:block}.rn-option-page .rn-option-page-body.rn-no-aside{margin-left:0px}.rn-option-page .rn-option-page-body.rn-no-aside .rn-option-page-groups .rn-option-page-group{display:block}.rn-option-page .rn-option-page-body .rn-ajax-overlay{display:none;background-color:rgba(0,0,0,0.1);position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:99999999}.rn-option-page .rn-option-page-body .rn-import-export-wrapper{margin-bottom:15px}.rn-option-page .rn-option-page-body .rn-import-export-warn{margin-top:5px;margin-left:6px;color:#c45250;font-size:14px;float:left;display:inline-block}.woocommerce .rn-option-page{margin-top:15px;margin-right:0}.rn-metabox{padding:0 15px 15px 15px;display:block}.rn-metabox .rn-metabox-inner{display:block}.rn-metabox-wc{padding:0 20px 20px 20px;display:block}.rn-metabox-wc .rn-metabox-wc-inner{display:block}.rn-container table{width:100%;display:block}.rn-container table tbody{display:block;width:100%}.rn-container .rn-folded{display:none !important}.rn-container .rn-fluid-width-folded{display:none !important}.rn-container .rn-ui-section{display:block;width:100%;color:#777;border-bottom:1px solid #e0e5e7}.rn-container .rn-ui-section .rn-ui-head{width:260px;padding:30px 0 30px 0;vertical-align:middle}.rn-container .rn-ui-section .rn-ui-head .rn-ui-head-title{line-height:25px;margin-bottom:0;font-size:14px}.rn-container .rn-ui-section .rn-ui-head .rn-ui-head-desc{margin-bottom:0px;line-height:22px}.rn-container .rn-ui-section .rn-ui-block{padding:40px 0 40px 40px;vertical-align:middle}.rn-container .rn-ui-section.rn-last,.rn-container .rn-ui-section.rn-fold-last{border-bottom:0}.rn-container .rn-ui-section.rn-last>.rn-ui-block,.rn-container .rn-ui-section.rn-fold-last>.rn-ui-block{padding-bottom:0px !important}.rn-container .rn-ui-section.rn-ui-big-section>.rn-ui-block>.rn-ui-head{padding:0 0 19px 0;width:100%}.rn-container .rn-ui-section.rn-ui-big-section>.rn-ui-block>.rn-ui-head.rn-center{text-align:center}.rn-container .rn-ui-section.rn-ui-big-section>.rn-ui-block{padding:25px 0 36px 0px;display:inline-block;width:100%}.rn-container .rn-ui-heading-section{display:block;width:100%}.rn-container .rn-ui-heading-section td{width:100%;display:block;background-color:#0ab4e9;padding:5px 14px}.rn-container .rn-ui-heading-section td h5{color:#fff;margin-bottom:1px}.rn-container .rn-ui-title-section .rn-ui-block{padding-bottom:6px !important}.rn-container.rn-metabox .rn-metabox-inner .rn-ui-section .rn-ui-head{padding:20px 0 20px 0}.rn-container.rn-metabox .rn-metabox-inner .rn-ui-section .rn-ui-block{padding:30px 0 30px 30px}.rn-container.rn-metabox .rn-metabox-inner .rn-ui-section.rn-last,.rn-container.rn-metabox .rn-metabox-inner .rn-ui-section.rn-fold-last{border-bottom:0}.rn-container.rn-metabox .rn-metabox-inner .rn-ui-section.rn-ui-big-section>.rn-ui-block{padding:20px 0 30px 0px}.rn-container.rn-metabox .rn-metabox-inner .rn-ui-section.rn-ui-big-section>.rn-ui-block>.rn-ui-head{padding:0px 0 20px 0}.rn-container.rn-metabox-wc .rn-metabox-wc-inner{display:block}.rn-container.rn-metabox-wc .rn-metabox-wc-inner label{width:auto;margin-left:0}.rn-container.rn-metabox-wc .rn-metabox-wc-inner .rn-ui-section .rn-ui-head{padding:20px 0 20px 0}.rn-container.rn-metabox-wc .rn-metabox-wc-inner .rn-ui-section .rn-ui-head p{padding:0px;margin:0px}.rn-container.rn-metabox-wc .rn-metabox-wc-inner .rn-ui-section .rn-ui-block{padding:30px 0 30px 30px}.rn-container.rn-metabox-wc .rn-metabox-wc-inner .rn-ui-section.rn-last,.rn-container.rn-metabox-wc .rn-metabox-wc-inner .rn-ui-section.rn-fold-last{border-bottom:0}.rn-container.rn-metabox-wc .rn-metabox-wc-inner .rn-ui-section.rn-ui-big-section>.rn-ui-block{padding:20px 0 30px 0px}.rn-container.rn-metabox-wc .rn-metabox-wc-inner .rn-ui-section.rn-ui-big-section>.rn-ui-block>.rn-ui-head{padding:0px 0 20px 0}.rn-container.rn-metabox-wc .rn-metabox-wc-inner .rn-columns .rn-field{width:100%}.rn-container input[type=text],.rn-container input[type=password],.rn-container input[type=color],.rn-container input[type=date],.rn-container input[type=datetime],.rn-container input[type=datetime-local],.rn-container input[type=email],.rn-container input[type=number],.rn-container input[type=tel],.rn-container input[type=time],.rn-container input[type=url],.rn-container input[type=week],.rn-container input[type=search],.rn-container select,.rn-container textarea{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;background-color:#f1f6f8;color:#33393b;padding:4px 9px;max-height:32px;height:auto;width:auto;vertical-align:baseline;line-height:22px;font-size:13px;border-radius:0px}.rn-container select{padding:7px 11px}.rn-container textarea{max-width:100%;max-height:none;float:left;border:1px solid #ced4d6;resize:vertical}.rn-container label.rn-field{float:none}.rn-container .rn-field{border:1px solid #ced4d6;display:inline-block;padding:0;background-color:#fff}.rn-container .rn-field input[type=text],.rn-container .rn-field input[type=password],.rn-container .rn-field input[type=color],.rn-container .rn-field input[type=date],.rn-container .rn-field input[type=datetime],.rn-container .rn-field input[type=datetime-local],.rn-container .rn-field input[type=email],.rn-container .rn-field input[type=number],.rn-container .rn-field input[type=tel],.rn-container .rn-field input[type=time],.rn-container .rn-field input[type=url],.rn-container .rn-field input[type=week],.rn-container .rn-field input[type=search],.rn-container .rn-field select,.rn-container .rn-field textarea{border:none;color:#33393b;float:left}.rn-container .rn-field .rn-label{border-right:1px solid #ced4d6;padding:2px 10px;display:inline-block;background-color:#f4f8f9;color:#6e7b7f;font-weight:400;line-height:24px;float:left;min-height:30px}.rn-container .rn-field .rn-label .fa,.rn-container .rn-field .rn-label .dashicons{margin-right:4px;vertical-align:0px;font-size:13px}.rn-container .rn-field .rn-label .dashicons{vertical-align:-1px}.rn-container .rn-field .rn-label.rn-icon-label .fa,.rn-container .rn-field .rn-label.rn-icon-label .dashicons{margin-right:0px}.rn-container .rn-field-wrapper{float:left;line-height:0px;display:inline-block}.rn-container .rn-field-wrapper.rn-center{text-align:center;width:100%}.rn-container .rn-field-wrapper.rn-center .rn-field,.rn-container .rn-field-wrapper.rn-center .rn-spectrum,.rn-container .rn-field-wrapper.rn-center .ui-spinner,.rn-container .rn-field-wrapper.rn-center .rn-group{text-align:left}.rn-container .rn-field-wrapper.rn-center .rn-group{float:none}.rn-container .rn-field-wrapper .rn-field-desc{display:block;margin-bottom:2px}.rn-container .rn-field,.rn-container .rn-spectrum,.rn-container .rn-colorpicker,.rn-container .ui-spinner,.rn-container .rn-group{margin-bottom:0px;margin-right:8px}.rn-container .rn-field.last,.rn-container .rn-spectrum.last,.rn-container .rn-colorpicker.last,.rn-container .ui-spinner.last,.rn-container .rn-group.last{margin-right:0px}.rn-container .rn-field.rn-no-space,.rn-container .rn-spectrum.rn-no-space,.rn-container .rn-colorpicker.rn-no-space,.rn-container .ui-spinner.rn-no-space,.rn-container .rn-group.rn-no-space{margin-right:-1px;z-index:1}.rn-container .rn-spectrum .rn-field,.rn-container .rn-select2 .rn-field,.rn-container .rn-spinner .rn-field,.rn-container .rn-colorpicker .rn-field{float:left}.rn-container .rn-group .rn-spectrum,.rn-container .rn-group .rn-select2,.rn-container .rn-group .rn-spinner,.rn-container .rn-group .rn-colorpicker,.rn-container .rn-group .rn-field{float:left;margin-bottom:5px}.rn-container .rn-group{display:inline-block;float:left;margin-bottom:-5px}.rn-container .rn-group .rn-tips{top:17px;left:2px;margin-right:12px}.rn-container .rn-group .rn-field{margin-right:5px}.rn-container .rn-columns{display:block;float:none;margin-right:-13px}.rn-container .rn-columns table{display:block;width:100%}.rn-container .rn-columns table tbody{display:table}.rn-container .rn-columns table tbody tr td{padding-right:13px}.rn-container .rn-columns .rn-field-wrapper{display:block;width:100%}.rn-container .rn-columns .rn-field{margin-right:0px;min-height:32px;width:100%;display:block}.rn-container .rn-columns .rn-columns-title{font-size:13px;margin-bottom:3px}.rn-container .rn-columns .rn-columns-title .rn-tips{top:0px;left:-2px}.rn-container .rn-columns .rn-columns-title .rn-columns-no-title{display:inline-block;height:13px}.rn-container .rn-columns .rn-ui-title-section{margin:0 6px;width:auto}.rn-container .rn-columns .rn-ui-title-section .rn-ui-block{padding:0}.rn-container .rn-columns.rn-colums-panel{margin-right:0px;border:1px solid #e0e5e7;background-color:#fbfbf6;padding:22px 20px 28px 20px}.rn-container .rn-columns.rn-colums-panel table tbody tr td{padding-right:0;padding:0px 6px}.rn-container .rn-columns.rn-colums-panel .rn-columns-title-gap{display:block;height:22px}.rn-container .rn-columns.rn-colums-panel-small{padding:14px 14px 20px 14px}.rn-container .rn-columns.rn-colums-panel-small .rn-columns-title-gap{height:14px}.rn-container .rn-columns.rn-colums-panel-smaller{padding:8px 6px 12px 6px}.rn-container .rn-columns.rn-colums-panel-smaller .rn-columns-title-gap{height:8px}.rn-container .rn-columns.rn-colums-panel-white{background-color:#fff}.rn-container .rn-columns .rn-colorpicker{margin-right:0px}.rn-container .rn-columns .rn-colorpicker .sp-replacer{width:100%;min-width:135px}.rn-container .rn-columns .rn-colorpicker .sp-replacer .sp-preview{width:100%;float:left}.rn-container .rn-columns .rn-colorpicker .sp-replacer .sp-dd{float:right;margin-top:-32px;border-right:1px solid #ced4d6;background-color:#f4f8f9}.rn-container .rn-fluid-group{width:100%;margin-right:0}.rn-container .rn-fluid-width .rn-select2 .rn-field{width:100%;margin-right:0 !important}.rn-container .rn-fluid-width .rn-select2 .rn-field .select2{width:100% !important}.rn-container .rn-fluid-width .rn-spinner .ui-spinner{margin-right:0 !important}.rn-container .rn-fluid-width .rn-textbox{margin-right:0 !important}.rn-container .rn-fluid-width .rn-textbox input{width:100% !important;min-width:100% !important}.rn-container .rn-fluid-width .rn-textblock{margin-right:0 !important}.rn-container .rn-fluid-width .rn-colorpicker{margin-right:0px}.rn-container .rn-fluid-width .rn-colorpicker .sp-replacer{width:100%;min-width:135px}.rn-container .rn-fluid-width .rn-colorpicker .sp-replacer .sp-preview{width:100%;float:left}.rn-container .rn-fluid-width .rn-colorpicker .sp-replacer .sp-dd{float:right;margin-top:-32px;border-right:1px solid #ced4d6;background-color:#f4f8f9}.rn-container .rn-field.rn-single{margin-right:2px}.rn-container .rn-field.rn-single.rn-no-space{margin-right:-1px;z-index:1}.rn-container .rn-field.rn-single .rn-label{border-right:0}.rn-container .rn-field.rn-no-border{border:0}.rn-container .rn-btn{display:inline-block;padding:3px 18px;color:#697578;background-color:#cad4d7;float:left;margin-right:5px;cursor:pointer}.rn-container .rn-btn.rn-icon-btn{padding-left:15px}.rn-container .rn-btn .fa,.rn-container .rn-btn .dashicons{margin-right:5px;vertical-align:-1px;font-size:13px}.rn-container .rn-btn .dashicons{vertical-align:-2px}.rn-container .rn-btn:hover{background-color:#bec9cc}.rn-container .rn-btn:active{-moz-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3);-webkit-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3);box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3)}.rn-container .rn-btn.rn-btn-primary{color:#fff;background-color:#00a0d2}.rn-container .rn-btn.rn-btn-primary:hover{background-color:#0090bd}.rn-container .rn-btn.rn-btn-primary:active{-moz-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3);-webkit-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3);box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3)}.rn-container .rn-textblock{display:inline-block;padding:2px 10px;border-color:#e2e5e6}.rn-container .rn-ui-hidden{display:none !important;visibility:hidden !important}.rn-container .rn-grey-parent input[type=text],.rn-container .rn-grey-parent input[type=password],.rn-container .rn-grey-parent input[type=color],.rn-container .rn-grey-parent input[type=date],.rn-container .rn-grey-parent input[type=datetime],.rn-container .rn-grey-parent input[type=datetime-local],.rn-container .rn-grey-parent input[type=email],.rn-container .rn-grey-parent input[type=number],.rn-container .rn-grey-parent input[type=tel],.rn-container .rn-grey-parent input[type=time],.rn-container .rn-grey-parent input[type=url],.rn-container .rn-grey-parent input[type=week],.rn-container .rn-grey-parent input[type=search],.rn-container .rn-grey-parent select,.rn-container .rn-grey-parent textarea,.rn-container .rn-grey-parent .select2-container .selection .select2-selection--single,.rn-container .rn-grey-parent .select2-container .selection .select2-selection--single .select2-selection__rendered .select2-selection__clear{background-color:#fff}.rn-container .rn-grey-parent .rn-field .rn-label{background-color:#fff}.rn-container .rn-grey-parent .select2-container.select2-container--open .select2-selection--single{background-color:#fff}.rn-container .rn-repeater{display:block;text-align:left}.rn-container .rn-repeater .rn-repeater-head{display:block;min-height:55px;background-color:#f8f8f0;padding-right:2px;border:1px solid #e0e5e7;margin-bottom:10px;clear:both;width:100%}.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-buttons,.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-spacer,.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-titles{display:table-cell;vertical-align:top}.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-titles{width:100%}.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-left,.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-right,.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-sort,.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-title{display:table-cell;float:left}.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-right{float:right}.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-right .rn-repeater-col-title{float:right;text-align:right}.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-sort{font-size:23px;height:54px;width:55px;padding:12px 0 0 19px;color:#898e90}.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-title{font-size:16px;color:#565f61;padding:12px 0px 0px 0px;max-height:55px;overflow:hidden;font-weight:600}.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-title .rn-tips{top:0px;left:1px}.rn-container .rn-repeater .rn-repeater-head .rn-repeater-col-space{height:2px}.rn-container .rn-repeater .rn-repeater-sections{display:block;min-height:55px;clear:both;width:100%}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section{display:block;background-color:#fbfbf6;border:1px solid #e0e5e7;margin-bottom:10px;clear:both;width:100%}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section.rn-max-h{max-height:55px !important;overflow:hidden !important}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head{display:block;min-height:55px;background-color:#f8f8f0;padding-right:2px}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-left-buttons{display:table-cell;vertical-align:top}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-right-buttons{display:table-cell;vertical-align:top}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-section-head-controls{display:table-cell;vertical-align:top;width:100%}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-section-head-controls.rn-repeater-no-segments{display:block}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head.rn-head-max-h{max-height:55px !important;overflow:hidden !important}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-left,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-right,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-buttons,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-controls,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-sort,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-title,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-sep,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-duplicate,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-delete,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-empty{display:inline-block;float:left}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-group .rn-field{margin-right:3px}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-left .rn-group .rn-select2{margin-bottom:0px}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-right{float:right}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-right .rn-repeater-head-controls .rn-field-wrapper .rn-last{margin-right:3px}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-right .rn-repeater-head-controls .rn-field-wrapper .rn-group.rn-last{margin-right:0px}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-right .rn-repeater-head-controls .rn-field-wrapper .rn-group .rn-field{margin-bottom:0px}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-sort{font-size:23px;height:54px;width:55px;padding:12px 0 0 19px;cursor:move;color:#898e90}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-title{font-size:16px;color:#565f61;padding:12px 30px 0px 0px;max-height:55px;overflow:hidden;font-weight:600}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-title span{font-size:16px;margin-left:7px;font-weight:400;color:#979fa2}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-title span.rn-tips{color:#555;vertical-align:bottom;display:inline-block;position:relative;top:-9px;left:1px;margin-left:0 !important}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-controls{cursor:default;padding:9px 4px 9px 0px}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-buttons{cursor:default}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-buttons .rn-repeater-head-sep{height:19px;width:1px;background-color:#c3c7c9;margin:19px 6px 12px 14px}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-buttons .rn-repeater-head-duplicate{font-size:20px;padding:14px 3px 12px 14px;cursor:pointer}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-buttons .rn-repeater-head-delete{font-size:24px;padding:14px 14px 12px 3px;cursor:pointer}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-buttons .rn-repeater-head-duplicate,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-buttons .rn-repeater-head-delete,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-buttons .rn-repeater-head-sort{color:#898e90;-moz-transition:all .3s ease;-webkit-transition:all .3s ease;transition:all .3s ease}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-buttons .rn-repeater-head-duplicate:hover,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-buttons .rn-repeater-head-delete:hover,.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-buttons .rn-repeater-head-sort:hover{color:#00a0d2}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body{display:none;border-top:1px solid #e0e5e7;padding:0px 25px 25px 25px}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body.rn-repeater-panel-body{border-top:0}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-repeater-section-inner{display:block;width:100%}.rn-container .rn-repeater .rn-repeater-sections .rn-repeater-section.rn-active-section>.rn-repeater-section-body{display:block}.rn-container .rn-repeater .rn-repeater-sections .rn-sortable-repeater-state{display:block;border:1px dashed #e0e5e7;min-height:57px;margin-bottom:10px}.rn-container .rn-repeater .rn-repeater-sections.rn-no-sortable>.rn-repeater-section>.rn-repeater-section-head{padding-left:10px}.rn-container .rn-repeater .rn-repeater-sections.rn-no-sortable>.rn-repeater-section>.rn-repeater-section-head>.rn-repeater-head-left>.rn-repeater-head-title{padding-left:10px}.rn-container .rn-repeater .rn-repeater-template-adder{display:block;padding-top:20px}.rn-container .rn-repeater .rn-repeater-template-adder .rn-repeater-adder-right{float:right}.rn-container .rn-repeater .rn-repeater-template-adder .rn-repeater-adder-right .rn-btn{margin-right:0}.rn-container .rn-repeater .rn-repeater-template-adder .rn-btn,.rn-container .rn-repeater .rn-repeater-template-adder .rn-select2{float:left}.rn-container .rn-repeater .rn-repeater-template-adder .rn-field{margin-right:3px}.rn-container .rn-repeater .rn-repeater-template-adder .rn-no-space{margin-right:-1px}.rn-container .rn-repeater .rn-repeater-template-adder .rn-repeater-adder-center{text-align:center}.rn-container .rn-repeater .rn-repeater-template-adder .rn-repeater-adder-center .rn-field-wrapper{float:none}.rn-container .rn-repeater .rn-repeater-templates{display:none;visibility:hidden}.rn-container .rn-repeater.rn-repeater-collapsible>.rn-repeater-sections>.rn-repeater-section>.rn-repeater-section-head{cursor:pointer}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-head{margin-bottom:5px;min-height:41px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-head .rn-repeater-col-sort{height:41px;width:41px;padding:6px 30px 0 12px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-head .rn-repeater-col-title{font-size:13px;max-height:41px;padding:7px 0px 0px 0px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections{min-height:41px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section{margin-bottom:5px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section.rn-max-h{max-height:41px !important;overflow:hidden !important}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head{min-height:41px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head.rn-head-max-h{max-height:41px !important;overflow:hidden !important}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-sort{height:41px;width:41px;padding:7px 30px 0 13px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-title{font-size:13px;max-height:41px;padding:7px 15px 0px 0px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-title span{margin-left:6px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-controls{padding:5px 0px 5px 0px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-sep{margin:12px 3px 10px 17px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-duplicate{padding:7px 3px 6px 14px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-delete{padding:7px 12px 6px 3px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body{padding:0px 20px 20px 20px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-section .rn-ui-head{padding:15px 0 15px 0}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-section .rn-ui-block{padding:25px 0 25px 25px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-section.rn-last{border-bottom:0}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-section.rn-ui-big-section>.rn-ui-block{padding:19px 0 25px 0px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-section.rn-ui-big-section>.rn-ui-block>.rn-ui-head{padding:0px 0 15px 0}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-heading-section td{padding:2px 12px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-heading-section td h5{margin-bottom:0px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections .rn-sortable-repeater-state{min-height:43px;margin-bottom:5px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections.rn-no-sortable>.rn-repeater-section>.rn-repeater-section-head{padding-left:5px;padding-right:2px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-sections.rn-no-sortable>.rn-repeater-section>.rn-repeater-section-head>.rn-repeater-head-left>.rn-repeater-head-title{padding-left:10px}.rn-container .rn-repeater.rn-small-repeater .rn-repeater-template-adder{padding-top:15px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-head{margin-bottom:3px;min-height:36px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-head .rn-repeater-col-sort{height:36px;width:36px;padding:3px 29px 0 11px;font-size:22px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-head .rn-repeater-col-title{font-size:14px;padding:4px 0px 0px 0px;max-height:36px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections{min-height:36px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section{margin-bottom:5px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section.rn-max-h{max-height:38px !important;overflow:hidden !important}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head{min-height:36px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head.rn-head-max-h{max-height:36px !important;overflow:hidden !important}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-sort{height:36px;width:36px;padding:4px 29px 0 11px;font-size:22px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-title{font-size:13px;padding:4px 15px 0px 0px;max-height:36px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-title span{margin-left:6px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-controls{padding:2px 0px 2px 0px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-right .rn-repeater-head-controls .rn-field-wrapper .rn-last{margin-right:0px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-sep{margin:9px 0px 10px 15px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-duplicate{padding:5px 1px 3px 14px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-head .rn-repeater-head-delete{padding:5px 7px 2px 3px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body{padding:0px 20px 20px 20px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-section .rn-ui-head{padding:15px 0 15px 0}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-section .rn-ui-block{padding:25px 0 25px 25px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-section.rn-last{border-bottom:0}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-section.rn-ui-big-section>.rn-ui-block{padding:15px 0 25px 0px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-section.rn-ui-big-section>.rn-ui-block>.rn-ui-head{padding:0px 0 15px 0}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-heading-section td{padding:2px 12px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-repeater-section .rn-repeater-section-body .rn-ui-heading-section td h5{margin-bottom:0px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections .rn-sortable-repeater-state{min-height:38px;margin-bottom:3px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections.rn-no-sortable>.rn-repeater-section>.rn-repeater-section-head{padding-left:2px;padding-right:2px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-sections.rn-no-sortable>.rn-repeater-section>.rn-repeater-section-head>.rn-repeater-head-left>.rn-repeater-head-title{padding-left:10px}.rn-container .rn-repeater.rn-smaller-repeater .rn-repeater-template-adder{padding-top:10px}.rn-container .rn-repeater.rn-grey-repeater>.rn-repeater-head{background-color:#f8f8f0}.rn-container .rn-repeater.rn-grey-repeater>.rn-repeater-sections>.rn-repeater-section{background-color:#fbfbf6}.rn-container .rn-repeater.rn-grey-repeater>.rn-repeater-sections>.rn-repeater-section>.rn-repeater-section-head{background-color:#f8f8f0}.rn-container .rn-repeater.rn-white-repeater>.rn-repeater-head{background-color:#fff}.rn-container .rn-repeater.rn-white-repeater>.rn-repeater-sections>.rn-repeater-section{background-color:#fff}.rn-container .rn-repeater.rn-white-repeater>.rn-repeater-sections>.rn-repeater-section>.rn-repeater-section-head{background-color:#fff}.rn-container .select2-hidden-accessible{display:none;visibility:hidden}.rn-container .rn-select2{display:inline-block}.rn-container .rn-select2 input[type=text]::-ms-clear{display:none;width:0;height:0}.rn-container .rn-select2 input[type=text]::-ms-reveal{display:none;width:0;height:0}.rn-container .rn-select2 input[type="search"]::-webkit-search-decoration,.rn-container .rn-select2 input[type="search"]::-webkit-search-cancel-button,.rn-container .rn-select2 input[type="search"]::-webkit-search-results-button,.rn-container .rn-select2 input[type="search"]::-webkit-search-results-decoration{display:none}.rn-container .select2-container{display:inline-block;margin:0 -1px 0 -1px;border-left:1px solid #ced4d6;border-right:1px solid #ced4d6;box-sizing:content-box;vertical-align:middle;min-height:30px}.rn-container .select2-container .selection{display:block;min-height:30px}.rn-container .select2-container .selection .select2-selection{display:block}.rn-container .select2-container .selection .select2-selection .select2-selection__rendered{display:block}.rn-container .select2-container .selection .select2-selection .select2-selection__rendered .select2-selection__placeholder{color:#999}.rn-container .select2-container .selection .select2-selection .select2-selection__arrow{display:inline-block}.rn-container .select2-container .selection .select2-selection--single{background-color:#f1f6f8;outline:none;border:0;min-height:30px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.rn-container .select2-container .selection .select2-selection--single .select2-selection__rendered{cursor:pointer;min-height:30px;display:block;margin-right:31px;padding:1px 0 0 9px;color:#33393b;margin-bottom:-30px;font-size:13px}.rn-container .select2-container .selection .select2-selection--single .select2-selection__rendered .select2-selection__clear{display:inline-block;height:30px;width:30px;color:#6e7272;background-color:#f1f6f8;float:right;font-size:16px;cursor:pointer;margin-top:-4px;padding-top:4px;text-align:center}.rn-container .select2-container .selection .select2-selection--single .select2-selection__rendered:after{content:'';display:block;clear:both}.rn-container .select2-container .selection .select2-selection--single .select2-selection__arrow{float:right;display:inline-block;background-color:#fff;width:31px;border-left:1px solid #ced4d6;height:30px;top:0;right:0}.rn-container .select2-container .selection .select2-selection--single .select2-selection__arrow b{background:transparent;color:#999;border:0}.rn-container .select2-container .selection .select2-selection--single .select2-selection__arrow b:before{content:'\f107';font-family:'FontAwesome';font-size:18px;position:relative;left:-3px;top:-12px}.rn-container .select2-container .selection .select2-selection--single .select2-selection__arrow b:hover{color:#555}.rn-container .select2-container .selection .select2-selection--single:after{content:'';display:block;clear:both}.rn-container .select2-container .selection .select2-selection--multiple{z-index:300;line-height:1px;border:0;min-height:30px}.rn-container .select2-container .selection .select2-selection--multiple .select2-selection__rendered{display:block;min-height:30px;padding:0px 0 0px 2px}.rn-container .select2-container .selection .select2-selection--multiple .select2-selection__rendered .select2-selection__placeholder{padding-left:8px}.rn-container .select2-container .selection .select2-selection--multiple .select2-selection__rendered .select2-selection__clear{display:none}.rn-container .select2-container .selection .select2-selection--multiple .select2-selection__rendered input{padding:3px 6px;margin-top:0px !important;display:inline-block;background-color:transparent;min-width:30px;line-height:1px !important}.rn-container .select2-container .selection .select2-selection--multiple .select2-selection__rendered li{margin:0;outline:none}.rn-container .select2-container .selection .select2-selection--multiple .select2-selection__rendered li.select2-selection__choice{line-height:1px;display:inline-block;background-color:#00a0d2;color:#fff;float:left;padding:0px 9px;margin-right:2px;margin-top:2px;margin-bottom:0px;border:0;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.rn-container .select2-container .selection .select2-selection--multiple .select2-selection__rendered li.select2-selection__choice .select2-selection__choice__remove{display:inline-block;padding-right:4px;cursor:pointer;color:#fff;vertical-align:0px}.rn-container .select2-container .selection .select2-selection--multiple .select2-selection__rendered li.select2-selection__choice .select2-selection__choice__remove:hover{opacity:.7}.rn-container .select2-container.select2-container--open .select2-selection--single{background-color:#fff}.rn-container .select2-container.select2-container--open .select2-selection--single .select2-selection__rendered .select2-selection__clear{background-color:#fff}.rn-container .select2-container.select2-container--open .select2-selection--single .select2-selection__arrow b:before{content:'\f106'}.rn-container .rn-select2>.select2-container{border:0}.rn-container.select2-dropdown{display:block;z-index:999999 !important;left:0px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-box-shadow:0px 5px 25px rgba(0,0,0,0.1);-webkit-box-shadow:0px 5px 25px rgba(0,0,0,0.1);box-shadow:0px 5px 25px rgba(0,0,0,0.1);background-color:#fff;border:1px solid #ced4d6}.rn-container.select2-dropdown .select2-search{display:block;border-bottom:1px solid #ced4d6;height:32px}.rn-container.select2-dropdown .select2-search input{display:block;background-color:#fff;border-width:0;width:100%;min-width:50px}.rn-container.select2-dropdown .select2-search:after{content:'\f002';font-family:'FontAwesome';font-size:12px;position:absolute;top:4px;right:8px;position:absolute;background-color:#fff}.rn-container.select2-dropdown .select2-search.select2-search--hide{display:none}.rn-container.select2-dropdown .select2-results{display:block}.rn-container.select2-dropdown .select2-results ul.select2-results__options{display:block;padding:3px 0}.rn-container.select2-dropdown .select2-results ul.select2-results__options li{outline:none !important;display:block;padding:3px 13px;cursor:pointer}.rn-container.select2-dropdown .select2-results ul.select2-results__options li[aria-selected='true']{background-color:#f7f7f7}.rn-container.select2-dropdown .select2-results ul.select2-results__options li.select2-results__option--highlighted{color:#fff;background-color:#00a0d2}.rn-container.select2-dropdown .select2-results ul.select2-results__options li.select2-results__message{display:block;color:#999;cursor:initial}.rn-container.select2-dropdown .select2-results>ul.select2-results__options{max-height:300px}.rn-container.select2-dropdown .select2-results .select2-results__option[role=group],.rn-container.select2-dropdown .select2-results .select2-results__option[role=list]{padding:0}.rn-container.select2-dropdown .select2-results .select2-results__option[role=group] .select2-results__group,.rn-container.select2-dropdown .select2-results .select2-results__option[role=list] .select2-results__group{font-weight:600;padding:3px 13px;color:#8db4c3}.rn-container.select2-dropdown .select2-results .select2-results__option[role=group] .select2-results__options--nested,.rn-container.select2-dropdown .select2-results .select2-results__option[role=list] .select2-results__options--nested{padding:0}.rn-container.select2-dropdown .select2-results .select2-results__option[role=group] .select2-results__options--nested .select2-results__option,.rn-container.select2-dropdown .select2-results .select2-results__option[role=list] .select2-results__options--nested .select2-results__option{padding:3px 13px}.rn-container.select2-dropdown .select2-results__option[data-selected=true]{background-color:#f7f7f7;outline:none}.rn-container.select2-dropdown::after{background:transparent !important}.rn-container .rn-columns .rn-select2{width:100%;display:block}.rn-container .rn-button-set{display:inline-block;min-height:32px;border:0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;overflow:hidden}.rn-container .rn-button-set .rn-opt-set{display:inline-block;padding:2px 14px 0 14px;border:0;background-color:#e4eaec;min-height:32px;float:left;margin:0px;color:#555;-moz-transition:all .3s ease;-webkit-transition:all .3s ease;transition:all .3s ease}.rn-container .rn-button-set .rn-opt-set:hover{background-color:#cad4d7}.rn-container .rn-button-set .rn-opt-set:active{-moz-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3);-webkit-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3);box-shadow:inset 0px 1px 1px rgba(0,0,0,0.3)}.rn-container .rn-button-set .rn-opt-set.opt-on.active{background-color:#00a0d2;z-index:15;color:#fff}.rn-container .rn-button-set .rn-opt-set.opt-on.active:hover{background-color:#00a8dd}.rn-container .rn-button-set .rn-opt-set.opt-off.active{background-color:#777;z-index:15;color:#fff}.rn-container .rn-button-set input{display:none}.rn-container .rn-spinner{line-height:10px;float:left;display:inline-block}.rn-container .rn-spinner .ui-spinner{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border:1px solid #ced4d6}.rn-container .rn-spinner .ui-spinner input[type=text]{text-align:center;min-width:100px;padding-left:41px;padding-right:41px;z-index:10;border:0}.rn-container .rn-spinner .ui-spinner .ui-spinner-button{position:absolute;background-color:#fff;background:#fff;top:0px;display:inline-block;width:30px;min-height:30px;margin-top:0px;font-family:'FontAwesome';cursor:pointer;z-index:11;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-transition:all .6s ease;-webkit-transition:all .6s ease;transition:all .6s ease;border:0}.rn-container .rn-spinner .ui-spinner .ui-spinner-button:active{border:0}.rn-container .rn-spinner .ui-spinner .ui-spinner-button:hover{background-color:#e3ebef;background:#e3ebef}.rn-container .rn-spinner .ui-spinner .ui-spinner-button:before{font-size:10px;color:#444;margin:0px 0 0 0px;display:inline-block;position:absolute;left:11px;top:3px}.rn-container .rn-spinner .ui-spinner .ui-spinner-button.ui-spinner-down{left:0px;border-right:1px solid #ced4d6}.rn-container .rn-spinner .ui-spinner .ui-spinner-button.ui-spinner-down:active{border-right:1px solid #ced4d6}.rn-container .rn-spinner .ui-spinner .ui-spinner-button.ui-spinner-down:before{content:'\f068'}.rn-container .rn-spinner .ui-spinner .ui-spinner-button.ui-spinner-up{right:0px;border-left:1px solid #ced4d6}.rn-container .rn-spinner .ui-spinner .ui-spinner-button.ui-spinner-up:active{border-left:1px solid #ced4d6}.rn-container .rn-spinner .ui-spinner .ui-spinner-button.ui-spinner-up:before{content:'\f067'}.rn-container .rn-spinner .ui-spinner .ui-spinner-button span{display:none}.rn-container .rn-slider{display:inline-block;float:left}.rn-container .rn-slider input{text-align:center;float:left}.rn-container .rn-slider .rn-slider-input{margin-right:0px}.rn-container .rn-slider .rn-slider-track{border:0;background:transparent}.rn-container .rn-slider .rn-noui{float:left;display:inline-block;border-radius:0;border:0;vertical-align:top;box-shadow:none;min-height:32px;background-color:transparent;margin:-1px}.rn-container .rn-slider .rn-noui *{display:inline-block}.rn-container .rn-slider .rn-noui .noUi-base{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto;height:4px;margin:13px 13px 0px 13px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background:#e4eaec}.rn-container .rn-slider .rn-noui .noUi-base .noUi-background{background:#e4eaec;position:absolute;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;box-shadow:none;margin-right:-1px}.rn-container .rn-slider .rn-noui .noUi-base.noUi-connect,.rn-container .rn-slider .rn-noui .noUi-base .noUi-connect{background:#0ab4e9;box-shadow:none;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.rn-container .rn-slider .rn-noui .noUi-base .noUi-connect{position:absolute}.rn-container .rn-slider .rn-noui .noUi-base .noUi-horizontal .noUi-handle,.rn-container .rn-slider .rn-noui .noUi-base .noUi-handle{width:12px;height:12px;left:-5px;top:-10px;border:0;cursor:pointer;border-radius:50%;background:#0ab4e9;-moz-transition:all .2s ease;-webkit-transition:all .2s ease;transition:all .2s ease;box-shadow:none}.rn-container .rn-slider .rn-noui .noUi-base .noUi-horizontal .noUi-handle:before,.rn-container .rn-slider .rn-noui .noUi-base .noUi-horizontal .noUi-handle:after,.rn-container .rn-slider .rn-noui .noUi-base .noUi-handle:before,.rn-container .rn-slider .rn-noui .noUi-base .noUi-handle:after{display:none}.rn-container .rn-slider .rn-noui .noUi-base .noUi-horizontal .noUi-handle:hover,.rn-container .rn-slider .rn-noui .noUi-base .noUi-horizontal .noUi-handle.noUi-active,.rn-container .rn-slider .rn-noui .noUi-base .noUi-handle:hover,.rn-container .rn-slider .rn-noui .noUi-base .noUi-handle.noUi-active{background:#079ece}.rn-container .rn-slider.rn-range-slider .rn-noui .noUi-connect{position:absolute}.rn-container .rn-slider.rn-range-slider .rn-noui-right.no-right-label{border-left:1px solid #ced4d6}.rn-container .rn-slider .rn-tips{left:4px;margin-right:0px}.rn-container .rn-spectrum{display:inline-block}.rn-container .rn-spectrum .sp-replacer{padding:0px;background-color:#eff4f6;border:0;float:left;height:32px;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.rn-container .rn-spectrum .sp-replacer.sp-light .sp-preview,.rn-container .rn-spectrum .sp-replacer.sp-light .sp-dd{height:32px;display:inline-block;font-size:13px;line-height:24px;font-family:"Open Sans",sans-serif;font-weight:400}.rn-container .rn-spectrum .sp-replacer.sp-light .sp-preview{border:1px solid #ced4d6;width:120px;margin-right:0px;height:32px}.rn-container .rn-spectrum .sp-replacer.sp-light .sp-preview .sp-preview-inner{height:30px}.rn-container .rn-spectrum .sp-replacer.sp-light .sp-preview .sp-preview-inner.sp-clear-display{background-position:8px 8px}.rn-container .rn-spectrum .sp-replacer.sp-light .sp-dd{border:1px solid #ced4d6;color:#555;padding:3px 13px}.rn-container .rn-colorpicker .rn-tips{top:4px;left:-1px}.rn-sp-container.sp-container{display:inline-block;background-color:#fff;border:1px solid #ced4d6;-moz-box-shadow:0px 0px 25px rgba(0,0,0,0.15);-webkit-box-shadow:0px 0px 25px rgba(0,0,0,0.15);box-shadow:0px 0px 25px rgba(0,0,0,0.15)}.rn-sp-container.sp-container *{display:inline-block}.rn-sp-container.sp-container .sp-picker-container{width:250px;border-left:0}.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-color{right:37px}.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-color .sp-dragger{background:transparent;border:5px solid #aaa;border-radius:50%;border-color:rgba(128,128,128,0.5);box-shadow:none;width:12px;height:12px;position:absolute;left:-10px;top:-10px}.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-color .sp-dragger:after{position:absolute;bottom:-4px;right:-4px;left:-4px;top:-4px;border:3px solid #ced4d6;border-color:rgba(255,255,255,0.8);-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;content:" "}.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-hue{left:89%}.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-hue .sp-slider{background:0;right:-3px;left:-3px;border:4px solid #aaa;border-width:4px 3px;width:auto;height:6px;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,0.2);opacity:.9}.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-hue .sp-slider:before{content:" ";position:absolute;left:-2px;right:-2px;top:-3px;bottom:-3px;border:2px solid #fff;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-alpha{bottom:-21px;height:12px;border:0;display:block;-moz-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);box-shadow:inset 0 0 5px rgba(0,0,0,0.2)}.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-alpha .sp-alpha-inner{border:0;-moz-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);box-shadow:inset 0 0 5px rgba(0,0,0,0.2)}.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-alpha .sp-alpha-handle{background:transparent;border:5px solid #aaa;border-radius:50%;border-color:rgba(128,128,128,0.5);box-shadow:none;width:10px;height:10px;position:absolute;margin-left:-5px;top:-4px}.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-alpha .sp-alpha-handle:after{position:absolute;bottom:-4px;right:-4px;left:-4px;top:-4px;border:3px solid #ced4d6;border-color:rgba(255,255,255,0.8);-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;content:" "}.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-color,.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-hue,.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-clear{border:0}.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-color,.rn-sp-container.sp-container .sp-picker-container .sp-top .sp-hue{-moz-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);box-shadow:inset 0 0 5px rgba(0,0,0,0.2)}.rn-sp-container.sp-container .sp-initial{height:31px;border:0;margin-bottom:10px;-moz-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,0.2);box-shadow:inset 0 0 5px rgba(0,0,0,0.2)}.rn-sp-container.sp-container .sp-initial span{height:31px}.rn-sp-container.sp-container .sp-input-container{width:177px;margin-bottom:10px}.rn-sp-container.sp-container .sp-input-container .sp-input{padding:6px 10px;background-color:#f7f7f7;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.rn-sp-container.sp-container .sp-button-container .sp-cancel,.rn-sp-container.sp-container .sp-button-container button.sp-choose{vertical-align:middle;margin:0px;border:1px solid #ccc;background-image:initial;background-color:#f9f9f9;background-image:#f9f9f9;text-shadow:none;background:#f9f9f9;padding:7px 13px;max-height:30px;font-size:13px;font-family:"Open Sans",sans-serif;font-weight:400;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.rn-sp-container.sp-container .sp-button-container .sp-cancel:hover,.rn-sp-container.sp-container .sp-button-container button.sp-choose:hover{background:#fafafa;border-color:#999}.rn-sp-container.sp-container .sp-button-container .sp-cancel:active,.rn-sp-container.sp-container .sp-button-container button.sp-choose:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5)}.rn-sp-container.sp-container .sp-button-container .sp-cancel{padding-top:4px;padding-bottom:5px;margin-right:5px}.rn-sp-container.sp-container .sp-button-container .sp-cancel:hover{text-decoration:none}.rn-sp-container.sp-container .sp-button-container button.sp-choose{color:#555}.rn-sp-container.sp-container .sp-button-container button.sp-choose:hover{color:#23282d}.rn-sp-container.sp-alpha-enabled .sp-top{margin-bottom:33px}.rn-sp-container.sp-clear-enabled .sp-clear{left:89%}.rn-sp-container.sp-clear-enabled .sp-hue{height:84.5%}.rn-sp-container.sp-palette-disabled .sp-palette-container{display:none}.rn-datetimepicker{border:solid 1px #e0e5e7;z-index:400 !important;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-box-shadow:0px 0px 25px rgba(0,0,0,0.15);-webkit-box-shadow:0px 0px 25px rgba(0,0,0,0.15);box-shadow:0px 0px 25px rgba(0,0,0,0.15);padding:0px 10px 0px 10px;min-width:250px}.rn-datetimepicker.rn-dateonly{padding-bottom:10px}.rn-datetimepicker .ui-datepicker-header{margin:0px -10px;margin-bottom:7px;border:0;background:#fff;border-bottom:1px solid #e0e5e7;padding:7px 5px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.rn-datetimepicker .ui-datepicker-header .ui-datepicker-prev,.rn-datetimepicker .ui-datepicker-header .ui-datepicker-next{top:7px}.rn-datetimepicker .ui-datepicker-header .ui-datepicker-prev{left:6px}.rn-datetimepicker .ui-datepicker-header .ui-datepicker-next{right:6px}.rn-datetimepicker.rn-change-date .ui-datepicker-header{min-height:32px}.rn-datetimepicker.rn-change-date .ui-datepicker-header select.ui-datepicker-month,.rn-datetimepicker.rn-change-date .ui-datepicker-header select.ui-datepicker-year{padding:5px 8px;height:30px;background:#f1f6f8;border:1px solid #ced4d6;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.rn-datetimepicker.rn-change-date .ui-datepicker-header span.ui-datepicker-month,.rn-datetimepicker.rn-change-date .ui-datepicker-header span.ui-datepicker-year{display:inline-block;padding-top:7px}.rn-datetimepicker.rn-change-date .ui-datepicker-header .ui-datepicker-prev,.rn-datetimepicker.rn-change-date .ui-datepicker-header .ui-datepicker-next{top:13px}.rn-datetimepicker table{margin:0 0 15px 0}.rn-datetimepicker .ui-timepicker-div{display:block}.rn-datetimepicker .ui-timepicker-div .ui-timepicker-select,.rn-datetimepicker .ui-timepicker-div select,.rn-datetimepicker .ui-timepicker-div .ui_tpicker_time_input{padding:5px 8px;height:30px;background:#f1f6f8;border:1px solid #ced4d6;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.rn-datetimepicker .ui-timepicker-div:not(.ui-timepicker-oneLine) .ui-timepicker-select,.rn-datetimepicker .ui-timepicker-div:not(.ui-timepicker-oneLine) select,.rn-datetimepicker .ui-timepicker-div:not(.ui-timepicker-oneLine) .ui_tpicker_time_input{width:143px}.rn-datetimepicker .ui-timepicker-div .ui_tpicker_time_input{background:#fff}.rn-datetimepicker .ui-timepicker-div .ui-widget-header{background:#fff;border:0;border-bottom:1px solid #e0e5e7;padding:7px;margin:0px -10px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.rn-datetimepicker .ui-timepicker-div.ui-timepicker-oneLine .ui-widget-header{margin:0px -12px 0px -10px}.rn-datetimepicker .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label{margin-top:5px;font-weight:600}.rn-datetimepicker .ui-datepicker-buttonpane{border:0;border-top:1px solid #e0e5e7;height:49px;margin:0 -10px}.rn-datetimepicker .ui-datepicker-buttonpane button{margin:10px;padding:6px 11px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.rn-datetimepicker.ui-datepicker-multi table{margin:0 auto 15px auto}.rn-datetimepicker.ui-datepicker-multi .ui-timepicker-div:not(.ui-timepicker-oneLine) .ui-timepicker-select,.rn-datetimepicker.ui-datepicker-multi .ui-timepicker-div:not(.ui-timepicker-oneLine) select,.rn-datetimepicker.ui-datepicker-multi .ui-timepicker-div:not(.ui-timepicker-oneLine) .ui_tpicker_time_input{width:390px}.rn-datetimepicker.ui-datepicker-multi-2 .ui-timepicker-div:not(.ui-timepicker-oneLine) .ui-timepicker-select,.rn-datetimepicker.ui-datepicker-multi-2 .ui-timepicker-div:not(.ui-timepicker-oneLine) select,.rn-datetimepicker.ui-datepicker-multi-2 .ui-timepicker-div:not(.ui-timepicker-oneLine) .ui_tpicker_time_input{width:260px}.rn-container .rn-tips{display:inline-block;top:-12px;left:-6px;color:#555;margin-bottom:-14px;margin-right:5px;font-size:16px;font-weight:normal;font-variant:normal;text-transform:none;height:18px;width:18px;line-height:1px;vertical-align:middle;cursor:help}.rn-container .rn-tips::after{font-family:'Dashicons';text-indent:0;width:100%;height:100%;text-align:center;content:'\f223'}.rn-container .rn-tips-bottom{position:absolute;bottom:-15px;left:0px;font-size:9px;width:100%;letter-spacing:1px}#tiptip_holder[data-rn-tooltip="yes"]{display:none;z-index:8675309;position:absolute;top:0;left:0}#tiptip_holder[data-rn-tooltip="yes"] #tiptip_arrow,#tiptip_holder[data-rn-tooltip="yes"] #tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder[data-rn-tooltip="yes"].tip_top{padding-bottom:5px}#tiptip_holder[data-rn-tooltip="yes"].tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#333}#tiptip_holder[data-rn-tooltip="yes"].tip_bottom{padding-top:5px}#tiptip_holder[data-rn-tooltip="yes"].tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#333}#tiptip_holder[data-rn-tooltip="yes"].tip_right{padding-left:5px}#tiptip_holder[data-rn-tooltip="yes"].tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#333}#tiptip_holder[data-rn-tooltip="yes"].tip_left{padding-right:5px}#tiptip_holder[data-rn-tooltip="yes"].tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#333}#tiptip_holder[data-rn-tooltip="yes"] #tiptip_content{color:#fff;font-size:0.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:0.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,0.2)}.woocommerce table.form-table .rn-container .select2-container{min-width:0px !important;margin-bottom:0px}.woocommerce table.form-table .rn-container input[type=text],.woocommerce table.form-table .rn-container input[type=password],.woocommerce table.form-table .rn-container input[type=color],.woocommerce table.form-table .rn-container input[type=date],.woocommerce table.form-table .rn-container input[type=datetime],.woocommerce table.form-table .rn-container input[type=datetime-local],.woocommerce table.form-table .rn-container input[type=email],.woocommerce table.form-table .rn-container input[type=number],.woocommerce table.form-table .rn-container input[type=tel],.woocommerce table.form-table .rn-container input[type=time],.woocommerce table.form-table .rn-container input[type=url],.woocommerce table.form-table .rn-container input[type=week],.woocommerce table.form-table .rn-container input[type=search],.woocommerce table.form-table .rn-container select,.woocommerce table.form-table .rn-container textarea{padding:4px 11px}.woocommerce table.form-table p.rn_wc_desc{font-weight:400}.rn-no-wc-save p.submit{display:none !important;visibility:hidden !important}.rn-form-table{width:100%}.wc-wp-version-gte-53 .rn-container .select2-container .select2-selection--single .select2-selection__arrow{background:#fff;background-size:inherit}.wc-wp-version-gte-53 .rn-container .select2-container .select2-selection--single .select2-selection__arrow b{display:inline} +/*# sourceMappingURL=admin.css.map */ diff --git a/framework/reon/assets/css/admin.css.map b/framework/reon/assets/css/admin.css.map new file mode 100644 index 0000000..c450391 --- /dev/null +++ b/framework/reon/assets/css/admin.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "AAAA,aAA0B,CACtB,OAAO,CAAE,KAAK,CACd,6BAAI,CACA,MAAM,CAAE,CAAC,CACT,SAAS,CAAE,IAAI,CACf,IAAI,CAAE,OAAO,CACb,cAAc,CAAE,QAAQ,CACxB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACV,WAAW,CAAC,IAAI,CAChB,QAAQ,CAAE,QAAQ,CAClB,sBAAsB,CAAE,WAAW,CCavC,eAAe,CDZiB,UAAU,CCa1C,kBAAkB,CDbc,UAAU,CCc1C,UAAU,CDdsB,UAAU,CAG1C,uBAAqB,CACjB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CAGf,kBAAI,CACA,OAAO,CAAE,KAAK,CAGlB,qGAAsB,CAClB,KAAK,CAAE,OAAO,CACd,aAAa,CAAE,IAAI,CACnB,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,GAAG,CAIpB,gBAAE,CAAC,SAAS,CAAE,IAAI,CAAE,WAAW,CAAE,IAAI,CACrC,gBAAE,CAAC,SAAS,CAAE,IAAI,CAAE,WAAW,CAAE,IAAI,CACrC,gBAAE,CAAC,SAAS,CAAE,IAAI,CAAE,WAAW,CAAE,IAAI,CACrC,gBAAE,CAAC,SAAS,CAAE,IAAI,CAAE,WAAW,CAAE,IAAI,CACrC,gBAAE,CAAC,SAAS,CAAE,IAAI,CAAE,WAAW,CAAE,IAAI,CACrC,gBAAE,CAAC,SAAS,CAAE,IAAI,CAClB,wBAAU,CACN,WAAW,CAAE,WAAW,CAE5B,iBAAG,CACC,WAAW,CAAE,aAAa,CAE9B,eAAC,CCfD,eAAe,CAAC,YAA0B,CAC1C,kBAAkB,CAAC,YAA0B,CAC7C,UAAU,CAAC,YAA0B,CDgBrC,6DACI,CACA,eAAe,CAAE,IAAI,CAEzB,4CAAiB,CACb,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,IAAI,CAEpB,eAAC,CACG,OAAO,CAAE,KAAK,CACd,aAAa,CAAE,IAAI,CAEvB,iCACA,CACI,UAAU,CAAE,IAAI,CAEpB,eACA,CACI,MAAM,CAAE,IAAI,CACZ,4CAAgB,CACZ,OAAO,CAAE,IAAI,CAIjB,8DAAgB,CACZ,OAAO,CAAE,IAAI,CAGrB,mBACA,CACI,eAAe,CAAE,QAAQ,CACzB,cAAc,CAAE,CAAC,CE9EzB,eAA2B,CACvB,OAAO,CAAC,KAAK,CACb,gBAAgB,CAAC,IAAI,CACrB,MAAM,CAAC,iBAAiB,CACxB,MAAM,CAAC,aAAa,CACpB,qCAAiC,CAC7B,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,KAAK,CACjB,gBAAgB,CAAC,OAAO,CACxB,eAAe,CAAE,IAAI,CACrB,MAAM,CAAE,gBAAgB,CACxB,KAAK,CAAC,IAAI,CACV,cAAc,CAAC,IAAI,CACnB,mDAA2B,CACvB,WAAW,CAAC,IAAI,CAEpB,mEAAyC,CACrC,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,KAAK,CACb,KAAK,CAAC,IAAI,CACV,UAAU,CAAE,MAAM,CAClB,gBAAgB,CCtBA,OAAO,CDuBvB,yGAAiD,CAC7C,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,KAAK,CACjB,OAAO,CAAE,cAAc,CACvB,SAAS,CAAE,IAAI,CDM3B,OAAO,CCLsB,EAAG,CAExB,sGAA8C,CAC1C,OAAO,CAAE,KAAK,CACd,aAAa,CAAE,IAAI,CAEvB,uGAA+C,CAC3C,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CAErB,sEAAE,CACE,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,gBAAgB,CAAE,IAAI,CACtB,MAAM,CAAE,CAAC,CAEb,4GAAoD,CAChD,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,IAAI,CDlB3B,OAAO,CCmBsB,EAAG,CAG5B,yEAA+C,CAC3C,KAAK,CCxDW,OAAO,CDyDvB,UAAU,CAAC,MAAM,CACjB,MAAM,CAAE,IAAI,CACZ,2EAAC,CACG,OAAO,CAAE,YAAY,CACrB,SAAS,CAAE,IAAI,CACf,GAAG,CAAE,KAAK,CAIlB,0DAAgC,CAC5B,OAAO,CAAE,KAAK,CACd,oFAAqC,CACjC,OAAO,CAAE,KAAK,CACd,sFAAC,CD1Cb,eAAe,CAAC,YAA0B,CAC1C,kBAAkB,CAAC,YAA0B,CAC7C,UAAU,CAAC,YAA0B,CC2CzB,kGAA2B,CACvB,OAAO,CAAE,KAAK,CACd,oGAAG,CACC,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,gBAAgB,CACzB,KAAK,CAAC,IAAI,CACV,KAAK,CAAE,IAAI,CACX,SAAS,CAAC,IAAI,CACd,2GAAQ,CACJ,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,aAAa,CAC1B,SAAS,CAAE,IAAI,CACf,YAAY,CAAE,GAAG,CAKrB,6NAAG,CACC,gBAAgB,CC3FhB,OAAO,CDgGX,+GAAO,CACH,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,aAAa,CAC1B,QAAQ,CAAE,QAAQ,CAClB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,GAAG,CAAE,GAAG,CAKZ,0GAAG,CACC,gBAAgB,CC5GhB,OAAO,CDkHP,mHAAO,CACH,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,aAAa,CAC1B,QAAQ,CAAE,QAAQ,CAClB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,GAAG,CAAE,GAAG,CD5FpC,eAAe,CAAC,YAA0B,CAC1C,kBAAkB,CAAC,YAA0B,CAC7C,UAAU,CAAC,YAA0B,CCgGT,gIAAO,CACH,SAAS,CAAE,aAAa,CAKxC,+HAAwC,CACpC,OAAO,CAAE,IAAI,CACb,gBAAgB,CAAC,OAAO,CACxB,OAAO,CAAE,gBAAgB,CACzB,gJAA4B,CACxB,OAAO,CAAE,KAAK,CACd,kJAAC,CACG,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,eAAe,CACxB,KAAK,CAAC,IAAI,CACV,KAAK,CAAE,IAAI,CACX,WAAW,CAAC,iBAAiB,CAC7B,SAAS,CAAC,IAAI,CACd,yJAAQ,CACJ,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,YAAY,CACrB,WAAW,CAAE,aAAa,CAC1B,KAAK,CAAC,GAAG,CACT,MAAM,CAAE,GAAG,CACX,WAAW,CAAC,IAAI,CAChB,UAAU,CAAE,IAAI,CAChB,YAAY,CAAE,GAAG,CDxIjD,kBAAkB,CCyIqC,GAAG,CDxI1D,qBAAqB,CCwIkC,GAAG,CDvI1D,aAAa,CCuI0C,GAAG,CAC1B,gBAAgB,CAAE,OAAO,CAI7B,yJAAC,CACG,iBAAiB,CAAC,OAAO,CACzB,gBAAgB,CAAE,OAAO,CACzB,KAAK,CClKb,OAAO,CDmKC,gKAAQ,CACJ,gBAAgB,CAAE,OAAO,CAGjC,6JAAO,CACH,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,aAAa,CAC1B,QAAQ,CAAE,QAAQ,CAClB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,GAAG,CAAE,GAAG,CAIZ,qKAAC,CACG,KAAK,CClLb,OAAO,CDmLC,gBAAgB,CAAE,OAAO,CASzD,oCAAgC,CAC5B,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,KAAK,CACZ,WAAW,CAAE,KAAK,CAElB,yDAAgC,CAC5B,OAAO,CAAE,KAAK,CACd,MAAM,CAAC,IAAI,CACX,KAAK,CAAE,IAAI,CACX,aAAa,CAAC,iBAAiB,CAC/B,uFAAyC,CACrC,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,mBAAmB,CAC5B,YAAY,CAAE,iBAAiB,CAC/B,aAAa,CAAE,GAAG,CAEtB,+EAAiC,CAC7B,KAAK,CAAE,IAAI,CACX,OAAO,CAAC,aAAa,CACrB,kFAAE,CACE,OAAO,CAAE,MAAM,CACf,oFAAC,CACG,OAAO,CAAE,YAAY,CACrB,aAAa,CAAE,IAAI,CACnB,SAAS,CAAE,IAAI,CACf,KAAK,CAAC,OAAO,CACb,KAAK,CAAE,IAAI,CACX,sFAAC,CAAC,YAAY,CAAE,GAAG,CAAE,WAAW,CAAC,MAAM,CACvC,0FAAO,CACH,KAAK,CC1NL,OAAO,CD+Nf,iGAAC,CACG,aAAa,CAAE,GAAG,CAClB,SAAS,CAAE,IAAI,CACf,KAAK,CAAC,OAAO,CACb,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAC,SAAS,CAChB,UAAU,CAAC,MAAM,CACjB,YAAY,CAAE,GAAG,CDtNrC,kBAAkB,CCuNyB,GAAG,CDtN9C,qBAAqB,CCsNsB,GAAG,CDrN9C,aAAa,CCqN8B,GAAG,CAC1B,mGAAC,CACG,cAAc,CAAE,GAAG,CACnB,YAAY,CAAE,GAAG,CAMjC,iFAAmC,CAC/B,KAAK,CAAE,KAAK,CACZ,OAAO,CAAE,iBAAiB,CAC1B,+FAAyB,CACrB,OAAO,CAAE,YAAY,CACrB,OAAO,CAAE,QAAQ,CACjB,KAAK,CAAE,OAAO,CACd,gBAAgB,CAAE,OAAO,CACzB,KAAK,CAAE,IAAI,CACX,YAAY,CAAC,GAAG,CAChB,qGAAO,CACH,gBAAgB,CAAE,OAAO,CAE7B,sGAAQ,CDzPxB,eAAe,CAAE,iCAA6B,CAC9C,kBAAkB,CAAE,iCAA6B,CACjD,UAAU,CAAE,iCAA6B,CC2P7B,8FAAwB,CACpB,OAAO,CAAE,YAAY,CACrB,OAAO,CAAE,QAAQ,CACjB,KAAK,CAAE,IAAI,CACX,gBAAgB,CAAE,OAAO,CACzB,KAAK,CAAE,IAAI,CACX,YAAY,CAAC,GAAG,CAChB,oGAAO,CACH,gBAAgB,CAAE,OAAO,CAE7B,qGAAQ,CDvQxB,eAAe,CAAE,iCAA6B,CAC9C,kBAAkB,CAAE,iCAA6B,CACjD,UAAU,CAAE,iCAA6B,CCyQ7B,6FAAuB,CACnB,YAAY,CAAC,GAAG,CAGpB,+FAAyB,CACrB,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,gBAAgB,CAAE,uBAAuB,CACzC,iBAAiB,CAAE,SAAS,CAC5B,KAAK,CAAE,IAAI,CDzP3B,OAAO,CC0P0B,EAAG,CACpB,MAAM,CAAE,YAAY,CAI5B,+EAAmC,CAC/B,UAAU,CAAC,iBAAiB,CAC5B,aAAa,CAAC,CAAC,CAIvB,2DAAkC,CAC9B,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,iFAAiC,CAC7B,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,IAAI,CACX,OAAO,CAAC,gBAAgB,CACxB,8FAAc,CACV,OAAO,CAAE,KAAK,CAGlB,6GAAuC,CACnC,OAAO,CAAE,KAAK,CAI1B,gDAAyB,CACrB,WAAW,CAAE,GAAG,CAEZ,6FAAiC,CAC7B,OAAO,CAAE,KAAK,CAI1B,qDAA4B,CACxB,OAAO,CAAE,IAAI,CACb,gBAAgB,CAAE,eAAe,CACjC,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,IAAI,CACV,OAAO,CAAE,QAAQ,CAErB,8DAAqC,CACjC,aAAa,CAAE,IAAI,CAEvB,2DAAkC,CAC9B,UAAU,CAAE,GAAG,CACf,WAAW,CAAE,GAAG,CAChB,KAAK,CAAE,OAAO,CACd,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,YAAY,CAO7B,4BAA2B,CACvB,UAAU,CAAE,IAAI,CAChB,YAAY,CAAE,CAAC,CE3VvB,WAAuB,CACnB,OAAO,CAAE,gBAAgB,CACzB,OAAO,CAAC,KAAK,CACb,6BAA6B,CACzB,OAAO,CAAC,KAAK,CCJrB,cAA0B,CACtB,OAAO,CAAE,gBAAgB,CACzB,OAAO,CAAC,KAAK,CACb,mCAAgC,CAC5B,OAAO,CAAC,KAAK,CCHjB,mBAAK,CACD,KAAK,CAAE,IAAI,CACX,OAAO,CAAC,KAAK,CACb,yBAAK,CACD,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CAGnB,wBAAsB,CAClB,OAAO,CAAE,eAAc,CAE3B,oCAAkC,CAC9B,OAAO,CAAE,eAAc,CAE3B,4BAA0B,CACtB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CACX,aAAa,CAAC,iBAAiB,CAC/B,wCAAuB,CACnB,KAAK,CAAC,KAAK,CACX,OAAO,CAAE,aAAa,CACtB,cAAc,CAAE,MAAM,CACtB,0DAA6B,CACzB,WAAW,CAAE,IAAI,CACjB,aAAa,CAAE,CAAC,CAChB,SAAS,CAAE,IAAI,CAEnB,yDAA4B,CACxB,aAAa,CAAE,GAAG,CAClB,WAAW,CAAE,IAAI,CAIzB,yCAAwB,CACpB,OAAO,CAAC,gBAAgB,CACxB,cAAc,CAAE,MAAM,CAG1B,8EAAgD,CAC5C,aAAa,CAAC,CAAC,CACf,wGAA0B,CACtB,cAAc,CAAE,cAAa,CAIjC,uEAAmD,CAC/C,OAAO,CAAE,UAAU,CACnB,KAAK,CAAE,IAAI,CACX,iFAAuB,CACnB,UAAU,CAAE,MAAM,CAG1B,2DAA0B,CACtB,OAAO,CAAC,eAAe,CACvB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAC,IAAI,CAKtB,oCAAkC,CAC9B,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,uCAAE,CACE,KAAK,CAAC,IAAI,CACV,OAAO,CAAE,KAAK,CACd,gBAAgB,CAAE,OAAO,CACzB,OAAO,CAAE,QAAQ,CACjB,0CAAE,CACE,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,GAAG,CAK1B,+CAAwB,CACpB,cAAc,CAAE,cAAa,CASzB,qEAAuB,CACnB,OAAO,CAAE,aAAa,CAG1B,sEAAwB,CACpB,OAAO,CAAC,gBAAgB,CAG5B,wIAAgD,CAC5C,aAAa,CAAC,CAAC,CAGf,wFAA0B,CAItB,OAAO,CAAC,eAAe,CAHvB,oGAAyB,CACrB,OAAO,CAAE,YAAY,CAUzC,gDAAgC,CAC5B,OAAO,CAAC,KAAK,CACb,sDAAK,CACD,KAAK,CAAE,IAAI,CACX,WAAW,CAAC,CAAC,CAIb,2EAAuB,CACnB,OAAO,CAAE,aAAa,CACtB,6EAAC,CACG,OAAO,CAAE,GAAG,CACZ,MAAM,CAAE,GAAG,CAInB,4EAAwB,CACpB,OAAO,CAAC,gBAAgB,CAG5B,oJAAgD,CAC5C,aAAa,CAAC,CAAC,CAIf,8FAA0B,CAItB,OAAO,CAAC,eAAe,CAHvB,0GAAyB,CACrB,OAAO,CAAE,YAAY,CAQjC,sEAAqB,CACjB,KAAK,CAAE,IAAI,CC3I3B,odAcQ,CNXR,eAAe,CAAE,IAAI,CACrB,kBAAkB,CAAE,IAAI,CACxB,UAAU,CAAE,IAAI,CMWZ,gBAAgB,CAAE,OAAO,CACzB,KAAK,CAAE,OAAO,CACd,OAAO,CAAE,OAAO,CAChB,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,QAAQ,CACxB,WAAW,CAAE,IAAI,CACjB,SAAS,CAAE,IAAI,CACf,aAAa,CAAE,GAAG,CAEtB,oBAAM,CACF,OAAO,CAAE,QAAQ,CAIrB,sBAAQ,CACJ,SAAS,CAAE,IAAI,CACf,UAAU,CAAC,IAAI,CACf,KAAK,CAAC,IAAI,CACV,MAAM,CAAE,iBAAiB,CACzB,MAAM,CAAE,QAAQ,CAIpB,4BAA0B,CACtB,KAAK,CAAE,IAAI,CAGf,uBAAqB,CACjB,MAAM,CAAE,iBAAiB,CACzB,OAAO,CAAE,YAAY,CACrB,OAAO,CAAE,CAAC,CACV,gBAAgB,CAAE,IAAI,CACtB,0mBAcQ,CACJ,MAAM,CAAE,IAAI,CACZ,KAAK,CAAC,OAAO,CACb,KAAK,CAAE,IAAI,CAIf,iCAAqB,CACjB,YAAY,CAAE,iBAAiB,CAC/B,OAAO,CAAE,QAAQ,CACjB,OAAO,CAAE,YAAY,CACrB,gBAAgB,CAAE,OAAO,CACzB,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,GAAG,CAChB,WAAW,CAAE,IAAI,CACjB,KAAK,CAAC,IAAI,CACV,UAAU,CAAE,IAAI,CAChB,kFAAe,CACX,YAAY,CAAE,GAAG,CACjB,cAAc,CAAE,GAAG,CACnB,SAAS,CAAE,IAAI,CAEnB,4CAAU,CACN,cAAc,CAAE,IAAI,CAGpB,8GAAe,CACX,YAAY,CAAE,GAAG,CAWjC,+BAA6B,CACzB,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,GAAG,CAChB,OAAO,CAAC,YAAY,CACpB,yCAAuB,CACnB,UAAU,CAAE,MAAM,CAClB,KAAK,CAAC,IAAI,CACV,oNAGqB,CACjB,UAAU,CAAE,IAAI,CAEpB,mDAAqB,CACjB,KAAK,CAAE,IAAI,CAGnB,8CAA0B,CACtB,OAAO,CAAE,KAAK,CACd,aAAa,CAAC,GAAG,CAIzB,kIAKA,CAAK,aAAa,CAAC,GAAG,CACjB,YAAY,CAAE,GAAG,CACjB,2JAAM,CAAC,YAAY,CAAE,GAAG,CACxB,8LAAyB,CACrB,YAAY,CAAE,IAAI,CAClB,OAAO,CAAE,CAAC,CAQf,oJAAqB,CACjB,KAAK,CAAE,IAAI,CAKf,sLAIqB,CACjB,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,GAAG,CAG1B,uBAAqB,CACjB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,IAAI,CACnB,gCAAqB,CACjB,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,GAAG,CACT,YAAY,CAAE,IAAI,CAEtB,iCAAqB,CACjB,YAAY,CAAE,GAAG,CAKzB,yBAAuB,CACnB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,YAAY,CAAC,KAAK,CAClB,+BAAK,CACD,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,qCAAK,CACD,OAAO,CAAE,KAAK,CAEV,2CAAE,CACE,aAAa,CAAE,IAAI,CAMnC,2CAA6B,CACzB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CAGf,mCAAqB,CACjB,YAAY,CAAE,GAAG,CACjB,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,KAAK,CAGlB,2CAA6B,CACzB,SAAS,CAAE,IAAI,CACf,aAAa,CAAE,GAAG,CAClB,oDAAoB,CAChB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,IAAI,CAEd,gEAAgC,CAC5B,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,IAAI,CAIpB,8CAAgC,CAC5B,MAAM,CAAE,KAAK,CACb,KAAK,CAAC,IAAI,CACV,2DAAwB,CACpB,OAAO,CAAE,CAAC,CAMlB,yCAA6B,CACzB,YAAY,CAAC,GAAG,CAChB,MAAM,CAAC,iBAAiB,CACxB,gBAAgB,CAAE,OAAO,CACzB,OAAO,CAAC,mBAAmB,CAKf,2DAAE,CACE,aAAa,CAAE,CAAC,CAChB,OAAO,CAAE,OAAO,CAKhC,+DAAiC,CAC7B,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,IAAI,CAIpB,+CAAmC,CAC/B,OAAO,CAAC,mBAAmB,CAC3B,qEAAiC,CAC7B,MAAM,CAAE,IAAI,CAGpB,iDAAqC,CACjC,OAAO,CAAC,gBAAgB,CACxB,uEAAiC,CAC7B,MAAM,CAAE,GAAG,CAGnB,+CAAmC,CAC/B,gBAAgB,CAAE,IAAI,CAG1B,yCAA2B,CACvB,YAAY,CAAE,GAAG,CACjB,sDAAY,CACR,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,KAAK,CAChB,kEAAW,CACP,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CAEf,6DAAM,CACF,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,KAAK,CACjB,YAAY,CAAE,iBAAiB,CAC/B,gBAAgB,CAAE,OAAO,CASzC,6BAA2B,CACvB,KAAK,CAAE,IAAI,CACX,YAAY,CAAC,CAAC,CAMV,mDAAqB,CACjB,KAAK,CAAE,IAAI,CACX,YAAY,CAAC,YAAW,CACxB,4DAAQ,CACJ,KAAK,CAAE,eAAc,CAK7B,qDAAW,CACP,YAAY,CAAC,YAAW,CAGhC,yCAAuB,CACnB,YAAY,CAAC,YAAW,CACxB,+CAAK,CACD,KAAK,CAAE,eAAc,CACrB,SAAS,CAAE,eAAc,CAGjC,2CAAyB,CACrB,YAAY,CAAC,YAAW,CAG5B,6CAA2B,CACvB,YAAY,CAAE,GAAG,CACjB,0DAAY,CACR,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,KAAK,CAChB,sEAAW,CACP,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CAEf,iEAAM,CACF,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,KAAK,CACjB,YAAY,CAAE,iBAAiB,CAC/B,gBAAgB,CAAE,OAAO,CAYzC,iCAA2C,CACvC,YAAY,CAAE,GAAG,CACjB,6CAAyB,CACrB,YAAY,CAAE,IAAI,CAClB,OAAO,CAAE,CAAC,CAEd,2CAAqB,CACjB,YAAY,CAAE,CAAC,CAIvB,oCAA8C,CAC1C,MAAM,CAAE,CAAC,CAGb,qBAAmB,CACf,OAAO,CAAE,YAAY,CACrB,OAAO,CAAE,QAAQ,CACjB,KAAK,CAAE,OAAO,CACd,gBAAgB,CAAE,OAAO,CACzB,KAAK,CAAE,IAAI,CACX,YAAY,CAAC,GAAG,CAChB,MAAM,CAAC,OAAO,CACd,iCAAyB,CACrB,YAAY,CAAE,IAAI,CAEtB,0DAAe,CACX,YAAY,CAAE,GAAG,CACjB,cAAc,CAAE,IAAI,CACpB,SAAS,CAAE,IAAI,CAEnB,gCAAU,CACN,cAAc,CAAE,IAAI,CAExB,2BAAO,CACH,gBAAgB,CAAE,OAAO,CAE7B,4BAAQ,CN7XZ,eAAe,CAAE,iCAA6B,CAC9C,kBAAkB,CAAE,iCAA6B,CACjD,UAAU,CAAE,iCAA6B,CM8XrC,oCAA4B,CACxB,KAAK,CAAE,IAAI,CACX,gBAAgB,CAAE,OAAO,CACzB,0CAAO,CACH,gBAAgB,CAAE,OAAO,CAE7B,2CAAQ,CNtYhB,eAAe,CAAE,iCAA6B,CAC9C,kBAAkB,CAAE,iCAA6B,CACjD,UAAU,CAAE,iCAA6B,CM0YzC,2BAAyB,CACrB,OAAO,CAAE,YAAY,CACrB,OAAO,CAAE,QAAQ,CACjB,YAAY,CAAE,OAAO,CAOzB,2BAAyB,CACrB,OAAO,CAAE,eAAc,CACvB,UAAU,CAAE,iBAAgB,CAK5B,y6BAgB+G,CAC3G,gBAAgB,CAAE,IAAI,CAE1B,iDAAmB,CACf,gBAAgB,CAAE,IAAI,CAG1B,mGAAqE,CACjE,gBAAgB,CAAE,IAAI,CC3blC,0BAAwB,CACpB,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,IAAI,CAChB,4CAA6B,CACzB,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,IAAI,CAChB,gBAAgB,CAAE,OAAO,CACzB,aAAa,CAAE,GAAG,CAClB,MAAM,CAAC,iBAAiB,CACxB,aAAa,CAAC,IAAI,CAClB,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CACX,+MAEmC,CAC/B,OAAO,CAAC,UAAU,CAClB,cAAc,CAAC,GAAG,CAEtB,oEAAmC,CAC/B,KAAK,CAAC,IAAI,CAEd,6QAGkC,CAC9B,OAAO,CAAE,UAAU,CACnB,KAAK,CAAE,IAAI,CAGf,mEAAkC,CAC9B,KAAK,CAAE,KAAK,CACZ,0FACA,CACI,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,KAAK,CAGzB,kEAAiC,CAC7B,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,aAAa,CACtB,KAAK,CAAC,OAAO,CAEjB,mEAAkC,CAC9B,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,OAAO,CACd,OAAO,CAAE,gBAAgB,CACzB,UAAU,CAAE,IAAI,CAChB,QAAQ,CAAC,MAAM,CACf,WAAW,CAAE,GAAG,CAChB,4EAAoB,CAChB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CAGjB,mEAAkC,CAC9B,MAAM,CAAE,GAAG,CAGnB,gDAAiC,CAC7B,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CACX,qEAAgC,CAC5B,OAAO,CAAE,KAAK,CACd,gBAAgB,CAAE,OAAO,CACzB,MAAM,CAAC,iBAAiB,CACxB,aAAa,CAAC,IAAI,CAClB,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CACX,8EAAsB,CAClB,UAAU,CAAE,eAAc,CAC1B,QAAQ,CAAE,iBAAgB,CAE9B,+FAAqC,CACjC,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,IAAI,CAChB,gBAAgB,CAAE,OAAO,CACzB,aAAa,CAAE,GAAG,CAClB,8HAA0C,CACtC,OAAO,CAAE,UAAU,CACnB,cAAc,CAAE,GAAG,CAEvB,+HAA2C,CACvC,OAAO,CAAE,UAAU,CACnB,cAAc,CAAE,GAAG,CAGvB,kIAA8C,CAC1C,OAAO,CAAE,UAAU,CACnB,cAAc,CAAE,GAAG,CACnB,KAAK,CAAE,IAAI,CACX,0JAAqC,CACjC,OAAO,CAAE,KAAK,CAGtB,6GAA2B,CACvB,UAAU,CAAE,eAAc,CAC1B,QAAQ,CAAE,iBAAgB,CAE9B,qrCASmC,CAC/B,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CAGX,mHAAqB,CACjB,YAAY,CAAE,GAAG,CAKjB,4IAAuB,CACnB,aAAa,CAAE,GAAG,CAI9B,uHAAmC,CAC/B,KAAK,CAAE,KAAK,CAGJ,6KAAoB,CAChB,YAAY,CAAE,GAAG,CAErB,sLAAyC,CACrC,YAAY,CAAE,GAAG,CAGjB,wLAAqB,CACjB,aAAa,CAAE,GAAG,CAQtC,sHAAkC,CAC9B,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,aAAa,CACtB,MAAM,CAAC,IAAI,CACX,KAAK,CAAC,OAAO,CAGjB,uHAAmC,CAC/B,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,OAAO,CACd,OAAO,CAAE,iBAAiB,CAC1B,UAAU,CAAE,IAAI,CAChB,QAAQ,CAAC,MAAM,CACf,WAAW,CAAE,GAAG,CAChB,4HAAI,CACA,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAChB,WAAW,CAAE,GAAG,CAChB,KAAK,CAAE,OAAO,CACd,oIAAqB,CACjB,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,MAAM,CACtB,OAAO,CAAE,YAAY,CACrB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,GAAG,CACT,WAAW,CAAE,YAAW,CAMpC,0HAAsC,CAClC,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,eAAe,CAG5B,yHAAqC,CACjC,MAAM,CAAE,OAAO,CACf,+IAAiC,CAC7B,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,GAAG,CACV,gBAAgB,CAAE,OAAO,CACzB,MAAM,CAAE,kBAAkB,CAE9B,qJAAuC,CACnC,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,kBAAkB,CAC3B,MAAM,CAAE,OAAO,CAEnB,kJAAoC,CAChC,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,kBAAkB,CAC3B,MAAM,CAAE,OAAO,CAEnB,ybAEkC,CAC9B,KAAK,CAAC,OAAO,CPlLjC,eAAe,CAAC,YAA0B,CAC1C,kBAAkB,CAAC,YAA0B,CAC7C,UAAU,CAAC,YAA0B,COkLjB,2cAAO,CACH,KAAK,CLhNN,OAAO,CKsNtB,+FAAqC,CACjC,OAAO,CAAE,IAAI,CACb,UAAU,CAAC,iBAAiB,CAC5B,OAAO,CAAE,kBAAkB,CAC3B,sHAAoC,CAChC,UAAU,CAAC,CAAC,CAEhB,0HAAsC,CAClC,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CAMf,iHAAuC,CACnC,OAAO,CAAE,KAAK,CAK1B,4EACA,CACI,OAAO,CAAE,KAAK,CACd,MAAM,CAAC,kBAAkB,CACzB,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,IAAI,CAIf,8GAAuC,CACnC,YAAY,CAAC,IAAI,CAEb,6JAAqC,CACjC,YAAY,CAAC,IAAI,CAazC,sDAAuC,CACnC,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,IAAI,CACjB,+EAAoC,CAChC,KAAK,CAAE,KAAK,CACZ,uFAAmB,CACf,YAAY,CAAE,CAAC,CAIvB,iIAA2C,CACvC,KAAK,CAAE,IAAI,CAEf,gEAAqB,CACjB,YAAY,CAAE,GAAG,CAErB,mEAAwB,CACpB,YAAY,CAAE,IAAI,CAEtB,gFAAqC,CACjC,UAAU,CAAE,MAAM,CAClB,kGAA6B,CACzB,KAAK,CAAE,IAAI,CAKvB,iDAAkC,CAC9B,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,MAAM,CAQV,uHAAwC,CACpC,MAAM,CAAE,OAAO,CAQ3B,8DAA6B,CACzB,aAAa,CAAC,GAAG,CACjB,UAAU,CAAE,IAAI,CAChB,oFAAiC,CAC7B,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,eAAe,CAE5B,qFAAkC,CAC9B,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,eAAe,CAGhC,kEAAiC,CAC7B,UAAU,CAAE,IAAI,CAChB,uFAAgC,CAC5B,aAAa,CAAC,GAAG,CACjB,gGAAsB,CAClB,UAAU,CAAE,eAAc,CAC1B,QAAQ,CAAE,iBAAgB,CAE9B,iHAAqC,CACjC,UAAU,CAAE,IAAI,CAChB,+HAA2B,CACvB,UAAU,CAAE,eAAc,CAC1B,QAAQ,CAAE,iBAAgB,CAE9B,wIAAkC,CAC9B,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,eAAe,CAE5B,yIAAmC,CAC/B,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,gBAAgB,CACzB,8IAAI,CACA,WAAW,CAAE,GAAG,CAMxB,4IAAsC,CAClC,OAAO,CAAE,eAAe,CAG5B,uIAAiC,CAC7B,MAAM,CAAE,kBAAkB,CAE9B,6IAAuC,CACnC,OAAO,CAAE,gBAAgB,CAE7B,0IAAoC,CAChC,OAAO,CAAE,gBAAgB,CAIjC,iHAAqC,CACjC,OAAO,CAAE,kBAAkB,CAEvB,4IAAuB,CACnB,OAAO,CAAE,aAAa,CAG1B,6IAAwB,CACpB,OAAO,CAAC,gBAAgB,CAG5B,wIAAqB,CACjB,aAAa,CAAC,CAAC,CAGf,+JAA0B,CAItB,OAAO,CAAC,eAAe,CAHvB,2KAAyB,CACrB,OAAO,CAAE,YAAY,CAQjC,2IAAE,CACE,OAAO,CAAE,QAAQ,CACjB,8IAAE,CACE,aAAa,CAAE,GAAG,CAQtC,8FACA,CACI,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,GAAG,CAKd,gIAAuC,CACnC,YAAY,CAAC,GAAG,CAChB,aAAa,CAAE,GAAG,CAEd,+KAAqC,CACjC,YAAY,CAAE,IAAI,CAS1C,wEAAuC,CACnC,WAAW,CAAE,IAAI,CAKrB,gEAA6B,CACzB,aAAa,CAAC,GAAG,CACjB,UAAU,CAAE,IAAI,CAChB,sFAAiC,CAC7B,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,eAAe,CACxB,SAAS,CAAE,IAAI,CAEnB,uFAAkC,CAC9B,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,eAAe,CACxB,UAAU,CAAE,IAAI,CAGxB,oEAAiC,CAC7B,UAAU,CAAE,IAAI,CAChB,yFAAgC,CAC5B,aAAa,CAAC,GAAG,CACjB,kGAAsB,CAClB,UAAU,CAAE,eAAc,CAC1B,QAAQ,CAAE,iBAAgB,CAE9B,mHAAqC,CACjC,UAAU,CAAE,IAAI,CAChB,iIAA2B,CACvB,UAAU,CAAE,eAAc,CAC1B,QAAQ,CAAE,iBAAgB,CAE9B,0IAAkC,CAC9B,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,eAAe,CACxB,SAAS,CAAE,IAAI,CAEnB,2IAAmC,CAC/B,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,gBAAgB,CACzB,UAAU,CAAE,IAAI,CAChB,gJAAI,CACA,WAAW,CAAE,GAAG,CAIxB,8IAAsC,CAClC,OAAO,CAAE,eAAe,CAMhB,iMAAoB,CAChB,YAAY,CAAE,GAAG,CASjC,yIAAiC,CAC7B,MAAM,CAAE,iBAAiB,CAE7B,+IAAuC,CACnC,OAAO,CAAE,gBAAgB,CAE7B,4IAAoC,CAChC,OAAO,CAAE,eAAe,CAIhC,mHAAqC,CACjC,OAAO,CAAE,kBAAkB,CAEvB,8IAAuB,CACnB,OAAO,CAAE,aAAa,CAG1B,+IAAwB,CACpB,OAAO,CAAC,gBAAgB,CAG5B,0IAAqB,CACjB,aAAa,CAAC,CAAC,CAGf,iKAA0B,CAItB,OAAO,CAAC,eAAe,CAHvB,6KAAyB,CACrB,OAAO,CAAE,YAAY,CAQjC,6IAAE,CACE,OAAO,CAAE,QAAQ,CACjB,gJAAE,CACE,aAAa,CAAE,GAAG,CAQtC,gGACA,CACI,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,GAAG,CAKd,kIAAuC,CACnC,YAAY,CAAE,GAAG,CACjB,aAAa,CAAE,GAAG,CAGd,iLAAqC,CACjC,YAAY,CAAE,IAAI,CAS1C,0EAAuC,CACnC,WAAW,CAAC,IAAI,CAMpB,6DAA+B,CAC3B,gBAAgB,CAAE,OAAO,CAGzB,sFAAmC,CAC/B,gBAAgB,CAAE,OAAO,CACzB,gHAAuC,CACnC,gBAAgB,CAAE,OAAO,CAUrC,8DAA+B,CAC3B,gBAAgB,CAAE,IAAI,CAGtB,uFAAkC,CAC9B,gBAAgB,CAAE,IAAI,CACtB,iHAAuC,CACnC,gBAAgB,CAAE,IAAI,CCllB1C,wCAA0B,CACtB,OAAO,CAAC,IAAI,CACZ,UAAU,CAAE,MAAM,CAEtB,yBAAwB,CACpB,OAAO,CAAE,YAAY,CACrB,qDAA4B,CAAG,OAAO,CAAE,IAAI,CAAE,KAAK,CAAG,CAAC,CAAE,MAAM,CAAE,CAAC,CAClE,sDAA6B,CAAG,OAAO,CAAE,IAAI,CAAE,KAAK,CAAG,CAAC,CAAE,MAAM,CAAE,CAAC,CACnE,sTAGwD,CAAE,OAAO,CAAE,IAAI,CAG3E,gCAAkB,CACd,OAAO,CAAE,YAAY,CACrB,MAAM,CAAC,aAAa,CACpB,WAAW,CAAE,iBAAiB,CAC9B,YAAY,CAAE,iBAAiB,CAC/B,UAAU,CAAE,WAAW,CACvB,cAAc,CAAE,MAAM,CACtB,UAAU,CAAE,IAAI,CAChB,2CAAU,CACN,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,IAAI,CAChB,8DAAkB,CACd,OAAO,CAAE,KAAK,CACd,2FAA4B,CACxB,OAAO,CAAE,KAAK,CACd,2HAA+B,CAC3B,KAAK,CAAC,IAAI,CAGlB,wFAAyB,CACrB,OAAO,CAAE,YAAY,CAG7B,sEAA0B,CACtB,gBAAgB,CAAE,OAAO,CACzB,OAAO,CAAE,IAAI,CACb,MAAM,CAAC,CAAC,CACR,UAAU,CAAE,IAAI,CRvBxB,kBAAkB,CQwBa,CAAC,CRvBhC,qBAAqB,CQuBU,CAAC,CRtBhC,aAAa,CQsBkB,CAAC,CAExB,mGAA4B,CACxB,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,KAAK,CACd,YAAY,CAAE,IAAI,CAClB,OAAO,CAAE,WAAW,CACpB,KAAK,CAAE,OAAO,CACd,aAAa,CAAE,KAAK,CACpB,SAAS,CAAC,IAAI,CACd,6HAAyB,CACrB,OAAO,CAAC,YAAY,CACpB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAC,IAAI,CACV,KAAK,CAAE,OAAO,CACd,gBAAgB,CAAE,OAAO,CACzB,KAAK,CAAC,KAAK,CACX,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,MAAM,CAEtB,yGAAO,CACH,OAAO,CAAC,EAAE,CACV,OAAO,CAAE,KAAK,CACd,KAAK,CAAC,IAAI,CAGlB,gGAAyB,CACrB,KAAK,CAAE,KAAK,CACZ,OAAO,CAAE,YAAY,CACrB,gBAAgB,CAAE,IAAI,CACtB,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,iBAAiB,CAC9B,MAAM,CAAE,IAAI,CACZ,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,CAAC,CACR,kGAAC,CACG,UAAU,CAAC,WAAW,CACtB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CACT,yGAAQ,CACJ,OAAO,CAAC,OAAO,CACf,WAAW,CAAE,aAAa,CAC1B,SAAS,CAAE,IAAI,CACf,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,IAAI,CACV,GAAG,CAAE,KAAK,CAEd,wGAAO,CACH,KAAK,CAAE,IAAI,CAIvB,4EAAO,CACH,OAAO,CAAC,EAAE,CACV,OAAO,CAAE,KAAK,CACd,KAAK,CAAC,IAAI,CAIlB,wEAA4B,CACxB,OAAO,CAAC,GAAG,CACX,WAAW,CAAE,GAAG,CAChB,MAAM,CAAE,CAAC,CACT,UAAU,CAAE,IAAI,CAChB,qGAA4B,CACxB,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,aAAa,CACtB,qIAA+B,CAC3B,YAAY,CAAE,GAAG,CAErB,+HAAyB,CACrB,OAAO,CAAC,IAAI,CAGhB,2GAAK,CACD,OAAO,CAAE,OAAO,CAChB,UAAU,CAAE,cAAc,CAC1B,OAAO,CAAC,YAAY,CACpB,gBAAgB,CAAE,WAAW,CAC7B,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,cAAa,CAE9B,wGAAE,CACE,MAAM,CAAC,CAAC,CACR,OAAO,CAAE,IAAI,CAEb,kIAA2B,CACvB,WAAW,CAAE,GAAG,CAChB,OAAO,CAAC,YAAY,CACpB,gBAAgB,CNtIb,OAAO,CMuIV,KAAK,CAAC,IAAI,CACV,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,OAAO,CAChB,YAAY,CAAE,GAAG,CACjB,UAAU,CAAE,GAAG,CACf,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,CAAC,CR7H7B,kBAAkB,CQ8HyB,CAAC,CR7H5C,qBAAqB,CQ6HsB,CAAC,CR5H5C,aAAa,CQ4H8B,CAAC,CACxB,qKAAkC,CAC9B,OAAO,CAAC,YAAY,CACpB,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,OAAO,CACf,KAAK,CAAC,IAAI,CACV,cAAc,CAAE,GAAG,CACnB,2KAAO,CRrH/B,OAAO,CQsHsC,EAAG,CAW5C,mFAA0B,CACtB,gBAAgB,CAAE,IAAI,CAGlB,0IAAyB,CACrB,gBAAgB,CAAE,IAAI,CAKtB,sHAAQ,CACJ,OAAO,CAAC,OAAO,CAcnC,4CAAoB,CAChB,MAAM,CAAC,CAAC,CAKhB,8BAAkB,CACd,OAAO,CAAC,KAAK,CACb,OAAO,CAAE,iBAAgB,CACzB,IAAI,CAAC,GAAG,CRnLR,kBAAkB,CQoLK,CAAC,CRnLxB,qBAAqB,CQmLE,CAAC,CRlLxB,aAAa,CQkLU,CAAC,CRrMxB,eAAe,CAAE,4BAAuB,CACxC,kBAAkB,CAAE,4BAAuB,CAC3C,UAAU,CAAE,4BAAuB,CQqMnC,gBAAgB,CAAE,IAAI,CACtB,MAAM,CAAE,iBAAiB,CACzB,8CAAe,CACX,OAAO,CAAC,KAAK,CACb,aAAa,CAAE,iBAAiB,CAChC,MAAM,CAAE,IAAI,CACZ,oDAAK,CACD,OAAO,CAAC,KAAK,CACb,gBAAgB,CAAE,IAAI,CACtB,YAAY,CAAC,CAAC,CACd,KAAK,CAAC,IAAI,CACV,SAAS,CAAE,IAAI,CAEnB,oDAAO,CACH,OAAO,CAAC,OAAO,CACf,WAAW,CAAE,aAAa,CAC1B,SAAS,CAAE,IAAI,CACf,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,KAAK,CAAE,GAAG,CACV,QAAQ,CAAE,QAAQ,CAClB,gBAAgB,CAAE,IAAI,CAG1B,mEAAsB,CAClB,OAAO,CAAE,IAAI,CAGrB,+CAAgB,CACZ,OAAO,CAAC,KAAK,CACb,2EAA2B,CACvB,OAAO,CAAC,KAAK,CACb,OAAO,CAAC,KAAK,CACb,8EAAE,CACE,OAAO,CAAE,eAAc,CACvB,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,QAAQ,CACjB,MAAM,CAAC,OAAO,CACd,oGAAuB,CACnB,gBAAgB,CAAE,OAAO,CAI7B,mHAAsC,CAClC,KAAK,CAAC,IAAI,CACV,gBAAgB,CAAE,OAAO,CAG7B,uGAA0B,CACtB,OAAO,CAAC,KAAK,CACb,KAAK,CAAC,IAAI,CACV,MAAM,CAAC,OAAO,CAO1B,2EAA6B,CACzB,UAAU,CAAC,KAAK,CAEpB,wKAAwE,CACpE,OAAO,CAAC,CAAC,CACT,wNAAuB,CACnB,WAAW,CAAE,GAAG,CAChB,OAAO,CAAE,QAAQ,CACjB,KAAK,CAAE,OAAO,CAElB,4OAAiC,CAC7B,OAAO,CAAC,CAAC,CACT,8RAAwB,CACpB,OAAO,CAAE,QAAQ,CAQjC,2EAA4C,CACxC,gBAAgB,CAAE,OAAO,CACzB,OAAO,CAAE,IAAI,CAEjB,qCAAQ,CACJ,UAAU,CAAE,sBAAqB,CAKrC,qCAAwB,CACpB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,KAAK,CCnStB,4BAA0B,CACtB,OAAO,CAAC,YAAY,CACpB,UAAU,CAAC,IAAI,CACf,MAAM,CAAE,CAAC,CTeT,kBAAkB,CSdK,GAAG,CTe1B,qBAAqB,CSfE,GAAG,CTgB1B,aAAa,CShBU,GAAG,CAC1B,QAAQ,CAAC,MAAM,CACf,wCAAuB,CACnB,OAAO,CAAC,YAAY,CACpB,OAAO,CAAE,eAAe,CACxB,MAAM,CAAE,CAAC,CACT,gBAAgB,CAAE,OAAO,CACzB,UAAU,CAAC,IAAI,CACf,KAAK,CAAC,IAAI,CACV,MAAM,CAAC,GAAG,CACV,KAAK,CAAE,IAAI,CTef,eAAe,CAAC,YAA0B,CAC1C,kBAAkB,CAAC,YAA0B,CAC7C,UAAU,CAAC,YAA0B,CSfjC,8CAAO,CACH,gBAAgB,CAAE,OAAO,CAE7B,+CAAQ,CTbZ,eAAe,CAAE,iCAA6B,CAC9C,kBAAkB,CAAE,iCAA6B,CACjD,UAAU,CAAE,iCAA6B,CScrC,sDAAe,CACX,gBAAgB,CPrBD,OAAO,COsBtB,OAAO,CAAE,EAAE,CACX,KAAK,CAAC,IAAI,CACV,4DAAO,CACH,gBAAgB,CAAE,OAAO,CAGjC,uDAAgB,CACZ,gBAAgB,CAAE,IAAI,CACtB,OAAO,CAAE,EAAE,CACX,KAAK,CAAC,IAAI,CAGlB,kCAAK,CACD,OAAO,CAAE,IAAI,CCrCrB,yBAAuB,CACnB,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,IAAI,CACX,OAAO,CAAC,YAAY,CACpB,qCAAW,CVcX,kBAAkB,CUbS,CAAC,CVc5B,qBAAqB,CUdM,CAAC,CVe5B,aAAa,CUfc,CAAC,CACxB,MAAM,CAAE,iBAAiB,CAEzB,sDAAgB,CACZ,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,KAAK,CAChB,YAAY,CAAE,IAAI,CAClB,aAAa,CAAE,IAAI,CACnB,OAAO,CAAE,EAAE,CACX,MAAM,CAAE,CAAC,CAGb,wDAAkB,CACd,QAAQ,CAAE,QAAQ,CAClB,gBAAgB,CAAE,IAAI,CACtB,UAAU,CAAE,IAAI,CAChB,GAAG,CAAC,GAAG,CACP,OAAO,CAAC,YAAY,CACpB,KAAK,CAAC,IAAI,CACV,UAAU,CAAC,IAAI,CACf,UAAU,CAAC,GAAG,CACd,WAAW,CAAC,aAAa,CACzB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,EAAE,CVVnB,kBAAkB,CUWa,CAAC,CVVhC,qBAAqB,CUUU,CAAC,CVThC,aAAa,CUSkB,CAAC,CVAhC,eAAe,CAAC,YAA0B,CAC1C,kBAAkB,CAAC,YAA0B,CAC7C,UAAU,CAAC,YAA0B,CUA7B,MAAM,CAAC,CAAC,CACR,+DAAQ,CACJ,MAAM,CAAC,CAAC,CAEZ,8DAAO,CACH,gBAAgB,CAAE,OAAO,CACzB,UAAU,CAAE,OAAO,CAEvB,+DAAQ,CACJ,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,WAAW,CACnB,OAAO,CAAE,YAAY,CACrB,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,IAAI,CACV,GAAG,CAAE,GAAG,CAGZ,wEAAiB,CACb,IAAI,CAAC,GAAG,CACR,YAAY,CAAE,iBAAiB,CAC/B,+EAAQ,CACJ,YAAY,CAAE,iBAAiB,CAEnC,+EAAQ,CACJ,OAAO,CAAC,OAAO,CAGvB,sEAAe,CACX,KAAK,CAAC,GAAG,CACT,WAAW,CAAE,iBAAiB,CAC9B,6EAAQ,CACJ,WAAW,CAAE,iBAAiB,CAElC,6EAAQ,CACJ,OAAO,CAAC,OAAO,CAIvB,6DAAI,CACA,OAAO,CAAE,IAAI,CCvE7B,wBAAsB,CAClB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,8BAAK,CACD,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,IAAI,CAGf,yCAA4B,CACxB,YAAY,CAAE,GAAG,CAErB,yCAA4B,CACxB,MAAM,CAAC,CAAC,CACR,UAAU,CAAE,WAAW,CAG3B,iCAAoB,CAChB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,YAAY,CACrB,aAAa,CAAE,CAAC,CAChB,MAAM,CAAC,CAAC,CACR,cAAc,CAAE,GAAG,CACnB,UAAU,CAAC,IAAI,CACf,UAAU,CAAE,IAAI,CAChB,gBAAgB,CAAE,WAAW,CAC7B,MAAM,CAAE,IAAI,CACZ,mCAAC,CACG,OAAO,CAAE,YAAY,CAEzB,4CAAW,CXLf,eAAe,CWMa,UAAU,CXLtC,kBAAkB,CWKU,UAAU,CXJtC,UAAU,CWIkB,UAAU,CAC9B,OAAO,CAAC,KAAK,CACb,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,MAAM,CAAC,kBAAkB,CXhBjC,kBAAkB,CWiBa,GAAG,CXhBlC,qBAAqB,CWgBU,GAAG,CXflC,aAAa,CWekB,GAAG,CAC1B,UAAU,CAAE,OAAO,CACnB,6DAAgB,CACZ,UAAU,CAAE,OAAO,CACnB,QAAQ,CAAE,QAAQ,CXrB9B,kBAAkB,CWsBiB,GAAG,CXrBtC,qBAAqB,CWqBc,GAAG,CXpBtC,aAAa,CWoBsB,GAAG,CAC1B,UAAU,CAAE,IAAI,CAChB,YAAY,CAAE,IAAI,CAEtB,oHAA4B,CACxB,UAAU,CAAE,OAAO,CACnB,UAAU,CAAE,IAAI,CX5B5B,kBAAkB,CW8BiB,GAAG,CX7BtC,qBAAqB,CW6Bc,GAAG,CX5BtC,aAAa,CW4BsB,GAAG,CAE9B,0DAAa,CACT,QAAQ,CAAE,QAAQ,CAGtB,oIAA4C,CACxC,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,IAAI,CACV,GAAG,CAAE,KAAK,CACV,MAAM,CAAE,CAAC,CACT,MAAM,CAAE,OAAO,CACf,aAAa,CAAE,GAAG,CAClB,UAAU,CAAE,OAAO,CXjC/B,eAAe,CAAC,YAA0B,CAC1C,kBAAkB,CAAC,YAA0B,CAC7C,UAAU,CAAC,YAA0B,CWiCzB,UAAU,CAAE,IAAI,CAChB,mSAAiB,CACb,OAAO,CAAE,IAAI,CAEjB,6SAAqB,CACjB,UAAU,CAAE,OAAO,CAU3B,+DAAa,CACT,QAAQ,CAAE,QAAQ,CAItB,sEAAgB,CACZ,WAAW,CAAE,iBAAiB,CAK1C,iCAAoB,CAChB,IAAI,CAAE,GAAG,CACT,YAAY,CAAE,GAAG,CCzFrB,0BAAwB,CACpB,OAAO,CAAC,YAAY,CACpB,uCAAY,CACR,OAAO,CAAC,GAAG,CACX,gBAAgB,CAAE,OAAO,CACzB,MAAM,CAAC,CAAC,CACR,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CZCpB,eAAe,CAAE,IAAI,CACrB,kBAAkB,CAAE,IAAI,CACxB,UAAU,CAAE,IAAI,CYCJ,oHAAkB,CACd,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,YAAY,CACrB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,sBAAsB,CACnC,WAAW,CAAE,GAAG,CAEpB,4DAAW,CACP,MAAM,CAAE,iBAAiB,CACzB,KAAK,CAAE,KAAK,CACZ,YAAY,CAAE,GAAG,CACjB,MAAM,CAAE,IAAI,CACZ,8EAAiB,CACb,MAAM,CAAE,IAAI,CACZ,+FAAkB,CACd,mBAAmB,CAAE,OAAO,CAIxC,uDAAM,CACF,MAAM,CAAC,iBAAiB,CACxB,KAAK,CAAC,IAAI,CACV,OAAO,CAAE,QAAQ,CAM7B,sCAAoB,CAChB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,IAAI,CAMlB,6BAAc,CACV,OAAO,CAAE,YAAY,CACrB,gBAAgB,CAAE,IAAI,CACtB,MAAM,CAAE,iBAAiB,CZrD7B,eAAe,CAAE,6BAAuB,CACxC,kBAAkB,CAAE,6BAAuB,CAC3C,UAAU,CAAE,6BAAuB,CYqD/B,+BAAC,CACG,OAAO,CAAE,YAAY,CAEzB,kDAAoB,CAChB,KAAK,CAAC,KAAK,CACX,WAAW,CAAC,CAAC,CAET,oEAAS,CACL,KAAK,CAAE,IAAI,CACX,gFAAW,CACP,UAAU,CAAE,WAAW,CACvB,MAAM,CAAE,cAAc,CACtB,aAAa,CAAE,GAAG,CAClB,YAAY,CAAE,qBAAoB,CAClC,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,KAAK,CACX,GAAG,CAAE,KAAK,CACV,sFAAO,CACH,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,IAAI,CAAE,IAAI,CACV,GAAG,CAAE,IAAI,CACT,MAAM,CAAE,iBAAiB,CACzB,YAAY,CAAE,qBAAoB,CZjE1D,kBAAkB,CYkE6B,GAAG,CZjElD,qBAAqB,CYiE0B,GAAG,CZhElD,aAAa,CYgEkC,GAAG,CAC1B,OAAO,CAAE,GAAG,CAIxB,kEAAO,CACH,IAAI,CAAE,GAAG,CAET,6EAAU,CACN,UAAU,CAAE,CAAC,CACb,KAAK,CAAE,IAAI,CACX,IAAI,CAAE,IAAI,CACV,MAAM,CAAE,cAAc,CACtB,YAAY,CAAE,OAAO,CACrB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CZjF/B,kBAAkB,CYkFyB,GAAG,CZjF9C,qBAAqB,CYiFsB,GAAG,CZhF9C,aAAa,CYgF8B,GAAG,CAC1B,UAAU,CAAE,yBAAwB,CACpC,OAAO,CAAE,EAAE,CACX,oFAAQ,CACJ,OAAO,CAAE,GAAG,CACZ,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,IAAI,CACV,KAAK,CAAE,IAAI,CACX,GAAG,CAAE,IAAI,CACT,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,cAAc,CZ5F9C,kBAAkB,CY6F6B,GAAG,CZ5FlD,qBAAqB,CY4F0B,GAAG,CZ3FlD,aAAa,CY2FkC,GAAG,CAItC,oEAAS,CACL,MAAM,CAAE,KAAK,CACb,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,CAAC,CACT,OAAO,CAAC,KAAK,CZjH7B,eAAe,CAAE,6BAA6B,CAC9C,kBAAkB,CAAE,6BAA6B,CACjD,UAAU,CAAE,6BAA6B,CYiHzB,oFAAe,CACX,MAAM,CAAE,CAAC,CZpH7B,eAAe,CAAE,6BAA6B,CAC9C,kBAAkB,CAAE,6BAA6B,CACjD,UAAU,CAAE,6BAA6B,CYqHzB,qFAAgB,CACZ,UAAU,CAAE,WAAW,CACvB,MAAM,CAAE,cAAc,CACtB,aAAa,CAAE,GAAG,CAClB,YAAY,CAAE,qBAAoB,CAClC,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,WAAW,CAAE,IAAI,CACjB,GAAG,CAAE,IAAI,CACT,2FAAO,CACH,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,IAAI,CAAE,IAAI,CACV,GAAG,CAAE,IAAI,CACT,MAAM,CAAE,iBAAiB,CACzB,YAAY,CAAE,qBAAoB,CZ7H1D,kBAAkB,CY8H6B,GAAG,CZ7HlD,qBAAqB,CY6H0B,GAAG,CZ5HlD,aAAa,CY4HkC,GAAG,CAC1B,OAAO,CAAE,GAAG,CAIxB,4MAA6B,CACzB,MAAM,CAAE,CAAC,CAEb,uIAAkB,CZlJ9B,eAAe,CAAE,6BAA6B,CAC9C,kBAAkB,CAAE,6BAA6B,CACjD,UAAU,CAAE,6BAA6B,CYuJrC,yCAAW,CACP,MAAM,CAAE,IAAI,CACZ,MAAM,CAAC,CAAC,CACR,aAAa,CAAE,IAAI,CZ5J3B,eAAe,CAAE,6BAA6B,CAC9C,kBAAkB,CAAE,6BAA6B,CACjD,UAAU,CAAE,6BAA6B,CY4JjC,8CAAI,CACA,MAAM,CAAE,IAAI,CAGpB,iDAAmB,CACf,KAAK,CAAC,KAAK,CACX,aAAa,CAAE,IAAI,CACnB,2DAAS,CACL,OAAO,CAAE,QAAQ,CACjB,gBAAgB,CAAE,OAAO,CZlKrC,eAAe,CAAE,IAAI,CACrB,kBAAkB,CAAE,IAAI,CACxB,UAAU,CAAE,IAAI,CAKhB,kBAAkB,CY6JiB,CAAC,CZ5JpC,qBAAqB,CY4Jc,CAAC,CZ3JpC,aAAa,CY2JsB,CAAC,CAK5B,iIAA2B,CACvB,cAAc,CAAE,MAAM,CACtB,MAAM,CAAC,GAAG,CACV,MAAM,CAAC,cAAc,CACrB,gBAAgB,CAAC,OAAO,CACxB,gBAAgB,CAAE,OAAO,CACzB,gBAAgB,CAAE,OAAO,CACzB,WAAW,CAAC,IAAI,CAChB,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,QAAQ,CACjB,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,sBAAsB,CACnC,WAAW,CAAE,GAAG,CZ/K5B,kBAAkB,CYiLiB,CAAC,CZhLpC,qBAAqB,CYgLc,CAAC,CZ/KpC,aAAa,CY+KsB,CAAC,CZ3KpC,eAAe,CY4KiB,UAAU,CZ3K1C,kBAAkB,CY2Kc,UAAU,CZ1K1C,UAAU,CY0KsB,UAAU,CAE9B,6IAAO,CACH,UAAU,CAAE,OAAO,CACnB,YAAY,CAAE,IAAI,CAEtB,+IAAQ,CACJ,UAAU,CAAE,IAAI,CAChB,YAAY,CAAE,IAAI,CAClB,UAAU,CAAE,oCAAmC,CAGvD,6DAAU,CACN,WAAW,CAAE,GAAG,CAChB,cAAc,CAAE,GAAG,CACnB,YAAY,CAAE,GAAG,CACjB,mEAAO,CACH,eAAe,CAAE,IAAI,CAG7B,mEAAgB,CACZ,KAAK,CAAC,IAAI,CACV,yEAAO,CACH,KAAK,CAAE,OAAO,CAM9B,yCAA0B,CACtB,aAAa,CAAE,IAAI,CAGvB,2CAA4B,CACxB,IAAI,CAAE,GAAG,CAGb,yCAA0B,CACtB,MAAM,CAAE,KAAK,CAIb,0DAAqB,CACjB,OAAO,CAAE,IAAI,CC/OzB,kBAA8B,CAC1B,MAAM,CAAE,iBAAiB,CACzB,OAAO,CAAC,cAAa,CbgBrB,kBAAkB,CafK,CAAC,CbgBxB,qBAAqB,CahBE,CAAC,CbiBxB,aAAa,CajBU,CAAC,CbFxB,eAAe,CAAE,6BAAuB,CACxC,kBAAkB,CAAE,6BAAuB,CAC3C,UAAU,CAAE,6BAAuB,CaEnC,OAAO,CAAC,iBAAiB,CACzB,SAAS,CAAE,KAAK,CAChB,8BAAyB,CACrB,cAAc,CAAE,IAAI,CAExB,wCAAqB,CACjB,MAAM,CAAC,SAAS,CAChB,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,CAAC,CACT,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,iBAAiB,CAChC,OAAO,CAAE,OAAO,CbEpB,kBAAkB,CaDS,CAAC,CbE5B,qBAAqB,CaFM,CAAC,CbG5B,aAAa,CaHc,CAAC,CACxB,yHAAwC,CACpC,GAAG,CAAC,GAAG,CAEX,4DAAmB,CACf,IAAI,CAAC,GAAG,CAEZ,4DAAmB,CACf,KAAK,CAAC,GAAG,CAMb,uDAAqB,CACjB,UAAU,CAAE,IAAI,CAEZ,oKAA0C,CACtC,OAAO,CAAE,OAAO,CAChB,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,OAAO,CACnB,MAAM,CAAE,iBAAiB,CbpBzC,kBAAkB,CaqBqB,CAAC,CbpBxC,qBAAqB,CaoBkB,CAAC,CbnBxC,aAAa,CamB0B,CAAC,Cb5BxC,eAAe,CAAE,IAAI,CACrB,kBAAkB,CAAE,IAAI,CACxB,UAAU,CAAE,IAAI,CagCR,gKAAgD,CAC5C,OAAO,CAAE,YAAY,CACrB,WAAW,CAAE,GAAG,CAEpB,uJAAwC,CACpC,GAAG,CAAC,IAAI,CAMpB,wBAAK,CACD,MAAM,CAAE,UAAU,CAEtB,qCAAkB,CACd,OAAO,CAAC,KAAK,CAEb,qKAAmD,CAC/C,OAAO,CAAE,OAAO,CAChB,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,OAAO,CACnB,MAAM,CAAE,iBAAiB,CbhDjC,kBAAkB,CaiDa,CAAC,CbhDhC,qBAAqB,CagDU,CAAC,Cb/ChC,aAAa,Ca+CkB,CAAC,CbxDhC,eAAe,CAAE,IAAI,CACrB,kBAAkB,CAAE,IAAI,CACxB,UAAU,CAAE,IAAI,Ca2DR,yPAAmD,CAC/C,KAAK,CAAC,KAAK,CAGnB,4DAAsB,CAClB,UAAU,CAAE,IAAI,CAEpB,uDAAiB,CACb,UAAU,CAAE,IAAI,CAChB,MAAM,CAAC,CAAC,CACR,aAAa,CAAE,iBAAiB,CAChC,OAAO,CAAE,GAAG,CACZ,MAAM,CAAE,SAAS,CblEzB,kBAAkB,CamEa,CAAC,CblEhC,qBAAqB,CakEU,CAAC,CbjEhC,aAAa,CaiEkB,CAAC,CAIxB,6EAAiB,CACb,MAAM,CAAE,mBAAmB,CAE/B,kFAAuB,CACnB,UAAU,CAAE,GAAG,CACf,WAAW,CAAE,GAAG,CAM5B,4CAAyB,CACrB,MAAM,CAAC,CAAC,CACR,UAAU,CAAE,iBAAiB,CAC7B,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,OAAO,CACf,mDAAO,CACH,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,QAAQ,CbzFzB,kBAAkB,Ca0Fa,CAAC,CbzFhC,qBAAqB,CayFU,CAAC,CbxFhC,aAAa,CawFkB,CAAC,CAK5B,4CAAK,CACD,MAAM,CAAE,gBAAgB,CAIpB,qTAAmD,CAC/C,KAAK,CAAC,KAAK,CAQf,2TAAmD,CAC/C,KAAK,CAAC,KAAK,CC9H3B,sBAAqB,CACjB,OAAO,CAAE,YAAY,CACrB,GAAG,CAAE,KAAK,CACV,IAAI,CAAE,IAAI,CACV,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,KAAK,CACpB,YAAY,CAAE,GAAG,CACjB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,MAAM,CACnB,YAAY,CAAE,MAAM,CACpB,cAAc,CAAE,IAAI,CACpB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,GAAG,CAChB,cAAc,CAAE,MAAM,CACtB,MAAM,CAAE,IAAI,CACZ,6BAAS,CACL,WAAW,CAAE,WAAW,CACxB,WAAW,CAAE,CAAC,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,OAAO,CAIxB,6BAA2B,CACvB,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,KAAK,CACb,IAAI,CAAE,GAAG,CACT,SAAS,CAAE,GAAG,CACd,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,GAAG,CAI3B,qCAAqC,CACjC,OAAO,CAAE,IAAI,CACb,OAAO,CAAE,OAAO,CAChB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CAEN,IAAI,CAAE,CAAC,CAEP,6GACoB,CAChB,QAAQ,CAAE,QAAQ,CAClB,YAAY,CAAE,WAAW,CACzB,YAAY,CAAE,KAAK,CACnB,YAAY,CAAE,GAAG,CACjB,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CAGZ,6CAAU,CACN,cAAc,CAAE,GAAG,CAEnB,iEAAoB,CAChB,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,IAAI,CACjB,gBAAgB,CAAE,IAAI,CAI9B,gDAAa,CACT,WAAW,CAAE,GAAG,CAEhB,oEAAoB,CAChB,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,IAAI,CACjB,mBAAmB,CAAE,IAAI,CAIjC,+CAAY,CACR,YAAY,CAAE,GAAG,CAEjB,mEAAoB,CAChB,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,IAAI,CACjB,kBAAkB,CAAE,IAAI,CAIhC,8CAAW,CACP,aAAa,CAAE,GAAG,CAElB,kEAAoB,CAChB,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,IAAI,CACjB,iBAAiB,CAAE,IAAI,CAI/B,qDACA,CACI,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,KAAK,CAChB,SAAS,CAAE,KAAK,CAChB,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,MAAM,CAClB,aAAa,CAAE,GAAG,CAClB,OAAO,CAAE,WAAW,CACpB,UAAU,CAAE,yBAA4B,CRiZxC,8DAAkB,CACd,SAAS,CAAC,cAAa,CACvB,aAAa,CAAE,GAAG,CAEtB,s5BAcQ,CACJ,OAAO,CAAE,QAAQ,CAIzB,0CAAY,CACR,WAAW,CAAE,GAAG,CAMpB,uBAAQ,CACJ,OAAO,CAAE,eAAc,CACvB,UAAU,CAAE,iBAAgB,CAIpC,cAA0B,CACtB,KAAK,CAAE,IAAI,CAIf,2GAAuH,CACnH,UAAU,CAAE,IAAI,CAChB,eAAe,CAAE,OAAO,CAG5B,6GAAyH,CACrH,OAAO,CAAE,MAAM", +"sources": ["../scss/_base.scss","../scss/_mixin.scss","../scss/_optionpage.scss","../scss/_variables.scss","../scss/_metabox.scss","../scss/_metabox-wc.scss","../scss/_container.scss","../scss/_ui.scss","../scss/_ui-repeater.scss","../scss/_ui-select2.scss","../scss/_ui-buttonset.scss","../scss/_ui-spinner.scss","../scss/_ui-nouislider.scss","../scss/_ui-spectrum.scss","../scss/_ui-datetime.scss","../scss/_ui-tiptip.scss"], +"names": [], +"file": "admin.css" +} diff --git a/framework/reon/assets/css/fontawesome/LICENSE.txt b/framework/reon/assets/css/fontawesome/LICENSE.txt new file mode 100644 index 0000000..cc557ec --- /dev/null +++ b/framework/reon/assets/css/fontawesome/LICENSE.txt @@ -0,0 +1,165 @@ +Fonticons, Inc. (https://fontawesome.com) + +-------------------------------------------------------------------------------- + +Font Awesome Free License + +Font Awesome Free is free, open source, and GPL friendly. You can use it for +commercial projects, open source projects, or really almost whatever you want. +Full Font Awesome Free license: https://fontawesome.com/license/free. + +-------------------------------------------------------------------------------- + +# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) + +The Font Awesome Free download is licensed under a Creative Commons +Attribution 4.0 International License and applies to all icons packaged +as SVG and JS file types. + +-------------------------------------------------------------------------------- + +# Fonts: SIL OFL 1.1 License + +In the Font Awesome Free download, the SIL OFL license applies to all icons +packaged as web and desktop font files. + +Copyright (c) 2022 Fonticons, Inc. (https://fontawesome.com) +with Reserved Font Name: "Font Awesome". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +SIL OPEN FONT LICENSE +Version 1.1 - 26 February 2007 + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting — in part or in whole — any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +-------------------------------------------------------------------------------- + +# Code: MIT License (https://opensource.org/licenses/MIT) + +In the Font Awesome Free download, the MIT license applies to all non-font and +non-icon files. + +Copyright 2022 Fonticons, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in the +Software without restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +# Attribution + +Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font +Awesome Free files already contain embedded comments with sufficient +attribution, so you shouldn't need to do anything additional when using these +files normally. + +We've kept attribution comments terse, so we ask that you do not actively work +to remove them from files, especially code. They're a great way for folks to +learn about Font Awesome. + +-------------------------------------------------------------------------------- + +# Brand Icons + +All brand icons are trademarks of their respective owners. The use of these +trademarks does not indicate endorsement of the trademark holder by Font +Awesome, nor vice versa. **Please do not use brand logos for any purpose except +to represent the company, product, or service to which they refer.** diff --git a/framework/reon/assets/css/fontawesome/css/all.css b/framework/reon/assets/css/fontawesome/css/all.css new file mode 100644 index 0000000..15602db --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/all.css @@ -0,0 +1,7933 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +.fa { + font-family: var(--fa-style-family, "Font Awesome 6 Free"); + font-weight: var(--fa-style, 900); } + +.fa, +.fas, +.fa-solid, +.far, +.fa-regular, +.fal, +.fa-light, +.fat, +.fa-thin, +.fad, +.fa-duotone, +.fab, +.fa-brands { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: var(--fa-display, inline-block); + font-style: normal; + font-variant: normal; + line-height: 1; + text-rendering: auto; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; } + +.fa-xs { + font-size: 0.75em; + line-height: 0.08333em; + vertical-align: 0.125em; } + +.fa-sm { + font-size: 0.875em; + line-height: 0.07143em; + vertical-align: 0.05357em; } + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; } + +.fa-xl { + font-size: 1.5em; + line-height: 0.04167em; + vertical-align: -0.125em; } + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: calc(var(--fa-li-width, 2em) * -1); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; } + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); } + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); } + +.fa-beat { + -webkit-animation-name: fa-beat; + animation-name: fa-beat; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-bounce { + -webkit-animation-name: fa-bounce; + animation-name: fa-bounce; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } + +.fa-fade { + -webkit-animation-name: fa-fade; + animation-name: fa-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-beat-fade { + -webkit-animation-name: fa-beat-fade; + animation-name: fa-beat-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-flip { + -webkit-animation-name: fa-flip; + animation-name: fa-flip; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-shake { + -webkit-animation-name: fa-shake; + animation-name: fa-shake; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 2s); + animation-duration: var(--fa-animation-duration, 2s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin-reverse { + --fa-animation-direction: reverse; } + +.fa-pulse, +.fa-spin-pulse { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); + animation-timing-function: var(--fa-animation-timing, steps(8)); } + +@media (prefers-reduced-motion: reduce) { + .fa-beat, + .fa-bounce, + .fa-fade, + .fa-beat-fade, + .fa-flip, + .fa-pulse, + .fa-shake, + .fa-spin, + .fa-spin-pulse { + -webkit-animation-delay: -1ms; + animation-delay: -1ms; + -webkit-animation-duration: 1ms; + animation-duration: 1ms; + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; + transition-delay: 0s; + transition-duration: 0s; } } + +@-webkit-keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@-webkit-keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@-webkit-keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@-webkit-keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@-webkit-keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@-webkit-keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +.fa-rotate-by { + -webkit-transform: rotate(var(--fa-rotate-angle, none)); + transform: rotate(var(--fa-rotate-angle, none)); } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; + z-index: var(--fa-stack-z-index, auto); } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: var(--fa-inverse, #fff); } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-0::before { + content: "\30"; } + +.fa-1::before { + content: "\31"; } + +.fa-2::before { + content: "\32"; } + +.fa-3::before { + content: "\33"; } + +.fa-4::before { + content: "\34"; } + +.fa-5::before { + content: "\35"; } + +.fa-6::before { + content: "\36"; } + +.fa-7::before { + content: "\37"; } + +.fa-8::before { + content: "\38"; } + +.fa-9::before { + content: "\39"; } + +.fa-a::before { + content: "\41"; } + +.fa-address-book::before { + content: "\f2b9"; } + +.fa-contact-book::before { + content: "\f2b9"; } + +.fa-address-card::before { + content: "\f2bb"; } + +.fa-contact-card::before { + content: "\f2bb"; } + +.fa-vcard::before { + content: "\f2bb"; } + +.fa-align-center::before { + content: "\f037"; } + +.fa-align-justify::before { + content: "\f039"; } + +.fa-align-left::before { + content: "\f036"; } + +.fa-align-right::before { + content: "\f038"; } + +.fa-anchor::before { + content: "\f13d"; } + +.fa-anchor-circle-check::before { + content: "\e4aa"; } + +.fa-anchor-circle-exclamation::before { + content: "\e4ab"; } + +.fa-anchor-circle-xmark::before { + content: "\e4ac"; } + +.fa-anchor-lock::before { + content: "\e4ad"; } + +.fa-angle-down::before { + content: "\f107"; } + +.fa-angle-left::before { + content: "\f104"; } + +.fa-angle-right::before { + content: "\f105"; } + +.fa-angle-up::before { + content: "\f106"; } + +.fa-angles-down::before { + content: "\f103"; } + +.fa-angle-double-down::before { + content: "\f103"; } + +.fa-angles-left::before { + content: "\f100"; } + +.fa-angle-double-left::before { + content: "\f100"; } + +.fa-angles-right::before { + content: "\f101"; } + +.fa-angle-double-right::before { + content: "\f101"; } + +.fa-angles-up::before { + content: "\f102"; } + +.fa-angle-double-up::before { + content: "\f102"; } + +.fa-ankh::before { + content: "\f644"; } + +.fa-apple-whole::before { + content: "\f5d1"; } + +.fa-apple-alt::before { + content: "\f5d1"; } + +.fa-archway::before { + content: "\f557"; } + +.fa-arrow-down::before { + content: "\f063"; } + +.fa-arrow-down-1-9::before { + content: "\f162"; } + +.fa-sort-numeric-asc::before { + content: "\f162"; } + +.fa-sort-numeric-down::before { + content: "\f162"; } + +.fa-arrow-down-9-1::before { + content: "\f886"; } + +.fa-sort-numeric-desc::before { + content: "\f886"; } + +.fa-sort-numeric-down-alt::before { + content: "\f886"; } + +.fa-arrow-down-a-z::before { + content: "\f15d"; } + +.fa-sort-alpha-asc::before { + content: "\f15d"; } + +.fa-sort-alpha-down::before { + content: "\f15d"; } + +.fa-arrow-down-long::before { + content: "\f175"; } + +.fa-long-arrow-down::before { + content: "\f175"; } + +.fa-arrow-down-short-wide::before { + content: "\f884"; } + +.fa-sort-amount-desc::before { + content: "\f884"; } + +.fa-sort-amount-down-alt::before { + content: "\f884"; } + +.fa-arrow-down-up-across-line::before { + content: "\e4af"; } + +.fa-arrow-down-up-lock::before { + content: "\e4b0"; } + +.fa-arrow-down-wide-short::before { + content: "\f160"; } + +.fa-sort-amount-asc::before { + content: "\f160"; } + +.fa-sort-amount-down::before { + content: "\f160"; } + +.fa-arrow-down-z-a::before { + content: "\f881"; } + +.fa-sort-alpha-desc::before { + content: "\f881"; } + +.fa-sort-alpha-down-alt::before { + content: "\f881"; } + +.fa-arrow-left::before { + content: "\f060"; } + +.fa-arrow-left-long::before { + content: "\f177"; } + +.fa-long-arrow-left::before { + content: "\f177"; } + +.fa-arrow-pointer::before { + content: "\f245"; } + +.fa-mouse-pointer::before { + content: "\f245"; } + +.fa-arrow-right::before { + content: "\f061"; } + +.fa-arrow-right-arrow-left::before { + content: "\f0ec"; } + +.fa-exchange::before { + content: "\f0ec"; } + +.fa-arrow-right-from-bracket::before { + content: "\f08b"; } + +.fa-sign-out::before { + content: "\f08b"; } + +.fa-arrow-right-long::before { + content: "\f178"; } + +.fa-long-arrow-right::before { + content: "\f178"; } + +.fa-arrow-right-to-bracket::before { + content: "\f090"; } + +.fa-sign-in::before { + content: "\f090"; } + +.fa-arrow-right-to-city::before { + content: "\e4b3"; } + +.fa-arrow-rotate-left::before { + content: "\f0e2"; } + +.fa-arrow-left-rotate::before { + content: "\f0e2"; } + +.fa-arrow-rotate-back::before { + content: "\f0e2"; } + +.fa-arrow-rotate-backward::before { + content: "\f0e2"; } + +.fa-undo::before { + content: "\f0e2"; } + +.fa-arrow-rotate-right::before { + content: "\f01e"; } + +.fa-arrow-right-rotate::before { + content: "\f01e"; } + +.fa-arrow-rotate-forward::before { + content: "\f01e"; } + +.fa-redo::before { + content: "\f01e"; } + +.fa-arrow-trend-down::before { + content: "\e097"; } + +.fa-arrow-trend-up::before { + content: "\e098"; } + +.fa-arrow-turn-down::before { + content: "\f149"; } + +.fa-level-down::before { + content: "\f149"; } + +.fa-arrow-turn-up::before { + content: "\f148"; } + +.fa-level-up::before { + content: "\f148"; } + +.fa-arrow-up::before { + content: "\f062"; } + +.fa-arrow-up-1-9::before { + content: "\f163"; } + +.fa-sort-numeric-up::before { + content: "\f163"; } + +.fa-arrow-up-9-1::before { + content: "\f887"; } + +.fa-sort-numeric-up-alt::before { + content: "\f887"; } + +.fa-arrow-up-a-z::before { + content: "\f15e"; } + +.fa-sort-alpha-up::before { + content: "\f15e"; } + +.fa-arrow-up-from-bracket::before { + content: "\e09a"; } + +.fa-arrow-up-from-ground-water::before { + content: "\e4b5"; } + +.fa-arrow-up-from-water-pump::before { + content: "\e4b6"; } + +.fa-arrow-up-long::before { + content: "\f176"; } + +.fa-long-arrow-up::before { + content: "\f176"; } + +.fa-arrow-up-right-dots::before { + content: "\e4b7"; } + +.fa-arrow-up-right-from-square::before { + content: "\f08e"; } + +.fa-external-link::before { + content: "\f08e"; } + +.fa-arrow-up-short-wide::before { + content: "\f885"; } + +.fa-sort-amount-up-alt::before { + content: "\f885"; } + +.fa-arrow-up-wide-short::before { + content: "\f161"; } + +.fa-sort-amount-up::before { + content: "\f161"; } + +.fa-arrow-up-z-a::before { + content: "\f882"; } + +.fa-sort-alpha-up-alt::before { + content: "\f882"; } + +.fa-arrows-down-to-line::before { + content: "\e4b8"; } + +.fa-arrows-down-to-people::before { + content: "\e4b9"; } + +.fa-arrows-left-right::before { + content: "\f07e"; } + +.fa-arrows-h::before { + content: "\f07e"; } + +.fa-arrows-left-right-to-line::before { + content: "\e4ba"; } + +.fa-arrows-rotate::before { + content: "\f021"; } + +.fa-refresh::before { + content: "\f021"; } + +.fa-sync::before { + content: "\f021"; } + +.fa-arrows-spin::before { + content: "\e4bb"; } + +.fa-arrows-split-up-and-left::before { + content: "\e4bc"; } + +.fa-arrows-to-circle::before { + content: "\e4bd"; } + +.fa-arrows-to-dot::before { + content: "\e4be"; } + +.fa-arrows-to-eye::before { + content: "\e4bf"; } + +.fa-arrows-turn-right::before { + content: "\e4c0"; } + +.fa-arrows-turn-to-dots::before { + content: "\e4c1"; } + +.fa-arrows-up-down::before { + content: "\f07d"; } + +.fa-arrows-v::before { + content: "\f07d"; } + +.fa-arrows-up-down-left-right::before { + content: "\f047"; } + +.fa-arrows::before { + content: "\f047"; } + +.fa-arrows-up-to-line::before { + content: "\e4c2"; } + +.fa-asterisk::before { + content: "\2a"; } + +.fa-at::before { + content: "\40"; } + +.fa-atom::before { + content: "\f5d2"; } + +.fa-audio-description::before { + content: "\f29e"; } + +.fa-austral-sign::before { + content: "\e0a9"; } + +.fa-award::before { + content: "\f559"; } + +.fa-b::before { + content: "\42"; } + +.fa-baby::before { + content: "\f77c"; } + +.fa-baby-carriage::before { + content: "\f77d"; } + +.fa-carriage-baby::before { + content: "\f77d"; } + +.fa-backward::before { + content: "\f04a"; } + +.fa-backward-fast::before { + content: "\f049"; } + +.fa-fast-backward::before { + content: "\f049"; } + +.fa-backward-step::before { + content: "\f048"; } + +.fa-step-backward::before { + content: "\f048"; } + +.fa-bacon::before { + content: "\f7e5"; } + +.fa-bacteria::before { + content: "\e059"; } + +.fa-bacterium::before { + content: "\e05a"; } + +.fa-bag-shopping::before { + content: "\f290"; } + +.fa-shopping-bag::before { + content: "\f290"; } + +.fa-bahai::before { + content: "\f666"; } + +.fa-haykal::before { + content: "\f666"; } + +.fa-baht-sign::before { + content: "\e0ac"; } + +.fa-ban::before { + content: "\f05e"; } + +.fa-cancel::before { + content: "\f05e"; } + +.fa-ban-smoking::before { + content: "\f54d"; } + +.fa-smoking-ban::before { + content: "\f54d"; } + +.fa-bandage::before { + content: "\f462"; } + +.fa-band-aid::before { + content: "\f462"; } + +.fa-barcode::before { + content: "\f02a"; } + +.fa-bars::before { + content: "\f0c9"; } + +.fa-navicon::before { + content: "\f0c9"; } + +.fa-bars-progress::before { + content: "\f828"; } + +.fa-tasks-alt::before { + content: "\f828"; } + +.fa-bars-staggered::before { + content: "\f550"; } + +.fa-reorder::before { + content: "\f550"; } + +.fa-stream::before { + content: "\f550"; } + +.fa-baseball::before { + content: "\f433"; } + +.fa-baseball-ball::before { + content: "\f433"; } + +.fa-baseball-bat-ball::before { + content: "\f432"; } + +.fa-basket-shopping::before { + content: "\f291"; } + +.fa-shopping-basket::before { + content: "\f291"; } + +.fa-basketball::before { + content: "\f434"; } + +.fa-basketball-ball::before { + content: "\f434"; } + +.fa-bath::before { + content: "\f2cd"; } + +.fa-bathtub::before { + content: "\f2cd"; } + +.fa-battery-empty::before { + content: "\f244"; } + +.fa-battery-0::before { + content: "\f244"; } + +.fa-battery-full::before { + content: "\f240"; } + +.fa-battery::before { + content: "\f240"; } + +.fa-battery-5::before { + content: "\f240"; } + +.fa-battery-half::before { + content: "\f242"; } + +.fa-battery-3::before { + content: "\f242"; } + +.fa-battery-quarter::before { + content: "\f243"; } + +.fa-battery-2::before { + content: "\f243"; } + +.fa-battery-three-quarters::before { + content: "\f241"; } + +.fa-battery-4::before { + content: "\f241"; } + +.fa-bed::before { + content: "\f236"; } + +.fa-bed-pulse::before { + content: "\f487"; } + +.fa-procedures::before { + content: "\f487"; } + +.fa-beer-mug-empty::before { + content: "\f0fc"; } + +.fa-beer::before { + content: "\f0fc"; } + +.fa-bell::before { + content: "\f0f3"; } + +.fa-bell-concierge::before { + content: "\f562"; } + +.fa-concierge-bell::before { + content: "\f562"; } + +.fa-bell-slash::before { + content: "\f1f6"; } + +.fa-bezier-curve::before { + content: "\f55b"; } + +.fa-bicycle::before { + content: "\f206"; } + +.fa-binoculars::before { + content: "\f1e5"; } + +.fa-biohazard::before { + content: "\f780"; } + +.fa-bitcoin-sign::before { + content: "\e0b4"; } + +.fa-blender::before { + content: "\f517"; } + +.fa-blender-phone::before { + content: "\f6b6"; } + +.fa-blog::before { + content: "\f781"; } + +.fa-bold::before { + content: "\f032"; } + +.fa-bolt::before { + content: "\f0e7"; } + +.fa-zap::before { + content: "\f0e7"; } + +.fa-bolt-lightning::before { + content: "\e0b7"; } + +.fa-bomb::before { + content: "\f1e2"; } + +.fa-bone::before { + content: "\f5d7"; } + +.fa-bong::before { + content: "\f55c"; } + +.fa-book::before { + content: "\f02d"; } + +.fa-book-atlas::before { + content: "\f558"; } + +.fa-atlas::before { + content: "\f558"; } + +.fa-book-bible::before { + content: "\f647"; } + +.fa-bible::before { + content: "\f647"; } + +.fa-book-bookmark::before { + content: "\e0bb"; } + +.fa-book-journal-whills::before { + content: "\f66a"; } + +.fa-journal-whills::before { + content: "\f66a"; } + +.fa-book-medical::before { + content: "\f7e6"; } + +.fa-book-open::before { + content: "\f518"; } + +.fa-book-open-reader::before { + content: "\f5da"; } + +.fa-book-reader::before { + content: "\f5da"; } + +.fa-book-quran::before { + content: "\f687"; } + +.fa-quran::before { + content: "\f687"; } + +.fa-book-skull::before { + content: "\f6b7"; } + +.fa-book-dead::before { + content: "\f6b7"; } + +.fa-book-tanakh::before { + content: "\f827"; } + +.fa-tanakh::before { + content: "\f827"; } + +.fa-bookmark::before { + content: "\f02e"; } + +.fa-border-all::before { + content: "\f84c"; } + +.fa-border-none::before { + content: "\f850"; } + +.fa-border-top-left::before { + content: "\f853"; } + +.fa-border-style::before { + content: "\f853"; } + +.fa-bore-hole::before { + content: "\e4c3"; } + +.fa-bottle-droplet::before { + content: "\e4c4"; } + +.fa-bottle-water::before { + content: "\e4c5"; } + +.fa-bowl-food::before { + content: "\e4c6"; } + +.fa-bowl-rice::before { + content: "\e2eb"; } + +.fa-bowling-ball::before { + content: "\f436"; } + +.fa-box::before { + content: "\f466"; } + +.fa-box-archive::before { + content: "\f187"; } + +.fa-archive::before { + content: "\f187"; } + +.fa-box-open::before { + content: "\f49e"; } + +.fa-box-tissue::before { + content: "\e05b"; } + +.fa-boxes-packing::before { + content: "\e4c7"; } + +.fa-boxes-stacked::before { + content: "\f468"; } + +.fa-boxes::before { + content: "\f468"; } + +.fa-boxes-alt::before { + content: "\f468"; } + +.fa-braille::before { + content: "\f2a1"; } + +.fa-brain::before { + content: "\f5dc"; } + +.fa-brazilian-real-sign::before { + content: "\e46c"; } + +.fa-bread-slice::before { + content: "\f7ec"; } + +.fa-bridge::before { + content: "\e4c8"; } + +.fa-bridge-circle-check::before { + content: "\e4c9"; } + +.fa-bridge-circle-exclamation::before { + content: "\e4ca"; } + +.fa-bridge-circle-xmark::before { + content: "\e4cb"; } + +.fa-bridge-lock::before { + content: "\e4cc"; } + +.fa-bridge-water::before { + content: "\e4ce"; } + +.fa-briefcase::before { + content: "\f0b1"; } + +.fa-briefcase-medical::before { + content: "\f469"; } + +.fa-broom::before { + content: "\f51a"; } + +.fa-broom-ball::before { + content: "\f458"; } + +.fa-quidditch::before { + content: "\f458"; } + +.fa-quidditch-broom-ball::before { + content: "\f458"; } + +.fa-brush::before { + content: "\f55d"; } + +.fa-bucket::before { + content: "\e4cf"; } + +.fa-bug::before { + content: "\f188"; } + +.fa-bug-slash::before { + content: "\e490"; } + +.fa-bugs::before { + content: "\e4d0"; } + +.fa-building::before { + content: "\f1ad"; } + +.fa-building-circle-arrow-right::before { + content: "\e4d1"; } + +.fa-building-circle-check::before { + content: "\e4d2"; } + +.fa-building-circle-exclamation::before { + content: "\e4d3"; } + +.fa-building-circle-xmark::before { + content: "\e4d4"; } + +.fa-building-columns::before { + content: "\f19c"; } + +.fa-bank::before { + content: "\f19c"; } + +.fa-institution::before { + content: "\f19c"; } + +.fa-museum::before { + content: "\f19c"; } + +.fa-university::before { + content: "\f19c"; } + +.fa-building-flag::before { + content: "\e4d5"; } + +.fa-building-lock::before { + content: "\e4d6"; } + +.fa-building-ngo::before { + content: "\e4d7"; } + +.fa-building-shield::before { + content: "\e4d8"; } + +.fa-building-un::before { + content: "\e4d9"; } + +.fa-building-user::before { + content: "\e4da"; } + +.fa-building-wheat::before { + content: "\e4db"; } + +.fa-bullhorn::before { + content: "\f0a1"; } + +.fa-bullseye::before { + content: "\f140"; } + +.fa-burger::before { + content: "\f805"; } + +.fa-hamburger::before { + content: "\f805"; } + +.fa-burst::before { + content: "\e4dc"; } + +.fa-bus::before { + content: "\f207"; } + +.fa-bus-simple::before { + content: "\f55e"; } + +.fa-bus-alt::before { + content: "\f55e"; } + +.fa-business-time::before { + content: "\f64a"; } + +.fa-briefcase-clock::before { + content: "\f64a"; } + +.fa-c::before { + content: "\43"; } + +.fa-cable-car::before { + content: "\f7da"; } + +.fa-tram::before { + content: "\f7da"; } + +.fa-cake-candles::before { + content: "\f1fd"; } + +.fa-birthday-cake::before { + content: "\f1fd"; } + +.fa-cake::before { + content: "\f1fd"; } + +.fa-calculator::before { + content: "\f1ec"; } + +.fa-calendar::before { + content: "\f133"; } + +.fa-calendar-check::before { + content: "\f274"; } + +.fa-calendar-day::before { + content: "\f783"; } + +.fa-calendar-days::before { + content: "\f073"; } + +.fa-calendar-alt::before { + content: "\f073"; } + +.fa-calendar-minus::before { + content: "\f272"; } + +.fa-calendar-plus::before { + content: "\f271"; } + +.fa-calendar-week::before { + content: "\f784"; } + +.fa-calendar-xmark::before { + content: "\f273"; } + +.fa-calendar-times::before { + content: "\f273"; } + +.fa-camera::before { + content: "\f030"; } + +.fa-camera-alt::before { + content: "\f030"; } + +.fa-camera-retro::before { + content: "\f083"; } + +.fa-camera-rotate::before { + content: "\e0d8"; } + +.fa-campground::before { + content: "\f6bb"; } + +.fa-candy-cane::before { + content: "\f786"; } + +.fa-cannabis::before { + content: "\f55f"; } + +.fa-capsules::before { + content: "\f46b"; } + +.fa-car::before { + content: "\f1b9"; } + +.fa-automobile::before { + content: "\f1b9"; } + +.fa-car-battery::before { + content: "\f5df"; } + +.fa-battery-car::before { + content: "\f5df"; } + +.fa-car-burst::before { + content: "\f5e1"; } + +.fa-car-crash::before { + content: "\f5e1"; } + +.fa-car-on::before { + content: "\e4dd"; } + +.fa-car-rear::before { + content: "\f5de"; } + +.fa-car-alt::before { + content: "\f5de"; } + +.fa-car-side::before { + content: "\f5e4"; } + +.fa-car-tunnel::before { + content: "\e4de"; } + +.fa-caravan::before { + content: "\f8ff"; } + +.fa-caret-down::before { + content: "\f0d7"; } + +.fa-caret-left::before { + content: "\f0d9"; } + +.fa-caret-right::before { + content: "\f0da"; } + +.fa-caret-up::before { + content: "\f0d8"; } + +.fa-carrot::before { + content: "\f787"; } + +.fa-cart-arrow-down::before { + content: "\f218"; } + +.fa-cart-flatbed::before { + content: "\f474"; } + +.fa-dolly-flatbed::before { + content: "\f474"; } + +.fa-cart-flatbed-suitcase::before { + content: "\f59d"; } + +.fa-luggage-cart::before { + content: "\f59d"; } + +.fa-cart-plus::before { + content: "\f217"; } + +.fa-cart-shopping::before { + content: "\f07a"; } + +.fa-shopping-cart::before { + content: "\f07a"; } + +.fa-cash-register::before { + content: "\f788"; } + +.fa-cat::before { + content: "\f6be"; } + +.fa-cedi-sign::before { + content: "\e0df"; } + +.fa-cent-sign::before { + content: "\e3f5"; } + +.fa-certificate::before { + content: "\f0a3"; } + +.fa-chair::before { + content: "\f6c0"; } + +.fa-chalkboard::before { + content: "\f51b"; } + +.fa-blackboard::before { + content: "\f51b"; } + +.fa-chalkboard-user::before { + content: "\f51c"; } + +.fa-chalkboard-teacher::before { + content: "\f51c"; } + +.fa-champagne-glasses::before { + content: "\f79f"; } + +.fa-glass-cheers::before { + content: "\f79f"; } + +.fa-charging-station::before { + content: "\f5e7"; } + +.fa-chart-area::before { + content: "\f1fe"; } + +.fa-area-chart::before { + content: "\f1fe"; } + +.fa-chart-bar::before { + content: "\f080"; } + +.fa-bar-chart::before { + content: "\f080"; } + +.fa-chart-column::before { + content: "\e0e3"; } + +.fa-chart-gantt::before { + content: "\e0e4"; } + +.fa-chart-line::before { + content: "\f201"; } + +.fa-line-chart::before { + content: "\f201"; } + +.fa-chart-pie::before { + content: "\f200"; } + +.fa-pie-chart::before { + content: "\f200"; } + +.fa-chart-simple::before { + content: "\e473"; } + +.fa-check::before { + content: "\f00c"; } + +.fa-check-double::before { + content: "\f560"; } + +.fa-check-to-slot::before { + content: "\f772"; } + +.fa-vote-yea::before { + content: "\f772"; } + +.fa-cheese::before { + content: "\f7ef"; } + +.fa-chess::before { + content: "\f439"; } + +.fa-chess-bishop::before { + content: "\f43a"; } + +.fa-chess-board::before { + content: "\f43c"; } + +.fa-chess-king::before { + content: "\f43f"; } + +.fa-chess-knight::before { + content: "\f441"; } + +.fa-chess-pawn::before { + content: "\f443"; } + +.fa-chess-queen::before { + content: "\f445"; } + +.fa-chess-rook::before { + content: "\f447"; } + +.fa-chevron-down::before { + content: "\f078"; } + +.fa-chevron-left::before { + content: "\f053"; } + +.fa-chevron-right::before { + content: "\f054"; } + +.fa-chevron-up::before { + content: "\f077"; } + +.fa-child::before { + content: "\f1ae"; } + +.fa-child-dress::before { + content: "\e59c"; } + +.fa-child-reaching::before { + content: "\e59d"; } + +.fa-child-rifle::before { + content: "\e4e0"; } + +.fa-children::before { + content: "\e4e1"; } + +.fa-church::before { + content: "\f51d"; } + +.fa-circle::before { + content: "\f111"; } + +.fa-circle-arrow-down::before { + content: "\f0ab"; } + +.fa-arrow-circle-down::before { + content: "\f0ab"; } + +.fa-circle-arrow-left::before { + content: "\f0a8"; } + +.fa-arrow-circle-left::before { + content: "\f0a8"; } + +.fa-circle-arrow-right::before { + content: "\f0a9"; } + +.fa-arrow-circle-right::before { + content: "\f0a9"; } + +.fa-circle-arrow-up::before { + content: "\f0aa"; } + +.fa-arrow-circle-up::before { + content: "\f0aa"; } + +.fa-circle-check::before { + content: "\f058"; } + +.fa-check-circle::before { + content: "\f058"; } + +.fa-circle-chevron-down::before { + content: "\f13a"; } + +.fa-chevron-circle-down::before { + content: "\f13a"; } + +.fa-circle-chevron-left::before { + content: "\f137"; } + +.fa-chevron-circle-left::before { + content: "\f137"; } + +.fa-circle-chevron-right::before { + content: "\f138"; } + +.fa-chevron-circle-right::before { + content: "\f138"; } + +.fa-circle-chevron-up::before { + content: "\f139"; } + +.fa-chevron-circle-up::before { + content: "\f139"; } + +.fa-circle-dollar-to-slot::before { + content: "\f4b9"; } + +.fa-donate::before { + content: "\f4b9"; } + +.fa-circle-dot::before { + content: "\f192"; } + +.fa-dot-circle::before { + content: "\f192"; } + +.fa-circle-down::before { + content: "\f358"; } + +.fa-arrow-alt-circle-down::before { + content: "\f358"; } + +.fa-circle-exclamation::before { + content: "\f06a"; } + +.fa-exclamation-circle::before { + content: "\f06a"; } + +.fa-circle-h::before { + content: "\f47e"; } + +.fa-hospital-symbol::before { + content: "\f47e"; } + +.fa-circle-half-stroke::before { + content: "\f042"; } + +.fa-adjust::before { + content: "\f042"; } + +.fa-circle-info::before { + content: "\f05a"; } + +.fa-info-circle::before { + content: "\f05a"; } + +.fa-circle-left::before { + content: "\f359"; } + +.fa-arrow-alt-circle-left::before { + content: "\f359"; } + +.fa-circle-minus::before { + content: "\f056"; } + +.fa-minus-circle::before { + content: "\f056"; } + +.fa-circle-nodes::before { + content: "\e4e2"; } + +.fa-circle-notch::before { + content: "\f1ce"; } + +.fa-circle-pause::before { + content: "\f28b"; } + +.fa-pause-circle::before { + content: "\f28b"; } + +.fa-circle-play::before { + content: "\f144"; } + +.fa-play-circle::before { + content: "\f144"; } + +.fa-circle-plus::before { + content: "\f055"; } + +.fa-plus-circle::before { + content: "\f055"; } + +.fa-circle-question::before { + content: "\f059"; } + +.fa-question-circle::before { + content: "\f059"; } + +.fa-circle-radiation::before { + content: "\f7ba"; } + +.fa-radiation-alt::before { + content: "\f7ba"; } + +.fa-circle-right::before { + content: "\f35a"; } + +.fa-arrow-alt-circle-right::before { + content: "\f35a"; } + +.fa-circle-stop::before { + content: "\f28d"; } + +.fa-stop-circle::before { + content: "\f28d"; } + +.fa-circle-up::before { + content: "\f35b"; } + +.fa-arrow-alt-circle-up::before { + content: "\f35b"; } + +.fa-circle-user::before { + content: "\f2bd"; } + +.fa-user-circle::before { + content: "\f2bd"; } + +.fa-circle-xmark::before { + content: "\f057"; } + +.fa-times-circle::before { + content: "\f057"; } + +.fa-xmark-circle::before { + content: "\f057"; } + +.fa-city::before { + content: "\f64f"; } + +.fa-clapperboard::before { + content: "\e131"; } + +.fa-clipboard::before { + content: "\f328"; } + +.fa-clipboard-check::before { + content: "\f46c"; } + +.fa-clipboard-list::before { + content: "\f46d"; } + +.fa-clipboard-question::before { + content: "\e4e3"; } + +.fa-clipboard-user::before { + content: "\f7f3"; } + +.fa-clock::before { + content: "\f017"; } + +.fa-clock-four::before { + content: "\f017"; } + +.fa-clock-rotate-left::before { + content: "\f1da"; } + +.fa-history::before { + content: "\f1da"; } + +.fa-clone::before { + content: "\f24d"; } + +.fa-closed-captioning::before { + content: "\f20a"; } + +.fa-cloud::before { + content: "\f0c2"; } + +.fa-cloud-arrow-down::before { + content: "\f0ed"; } + +.fa-cloud-download::before { + content: "\f0ed"; } + +.fa-cloud-download-alt::before { + content: "\f0ed"; } + +.fa-cloud-arrow-up::before { + content: "\f0ee"; } + +.fa-cloud-upload::before { + content: "\f0ee"; } + +.fa-cloud-upload-alt::before { + content: "\f0ee"; } + +.fa-cloud-bolt::before { + content: "\f76c"; } + +.fa-thunderstorm::before { + content: "\f76c"; } + +.fa-cloud-meatball::before { + content: "\f73b"; } + +.fa-cloud-moon::before { + content: "\f6c3"; } + +.fa-cloud-moon-rain::before { + content: "\f73c"; } + +.fa-cloud-rain::before { + content: "\f73d"; } + +.fa-cloud-showers-heavy::before { + content: "\f740"; } + +.fa-cloud-showers-water::before { + content: "\e4e4"; } + +.fa-cloud-sun::before { + content: "\f6c4"; } + +.fa-cloud-sun-rain::before { + content: "\f743"; } + +.fa-clover::before { + content: "\e139"; } + +.fa-code::before { + content: "\f121"; } + +.fa-code-branch::before { + content: "\f126"; } + +.fa-code-commit::before { + content: "\f386"; } + +.fa-code-compare::before { + content: "\e13a"; } + +.fa-code-fork::before { + content: "\e13b"; } + +.fa-code-merge::before { + content: "\f387"; } + +.fa-code-pull-request::before { + content: "\e13c"; } + +.fa-coins::before { + content: "\f51e"; } + +.fa-colon-sign::before { + content: "\e140"; } + +.fa-comment::before { + content: "\f075"; } + +.fa-comment-dollar::before { + content: "\f651"; } + +.fa-comment-dots::before { + content: "\f4ad"; } + +.fa-commenting::before { + content: "\f4ad"; } + +.fa-comment-medical::before { + content: "\f7f5"; } + +.fa-comment-slash::before { + content: "\f4b3"; } + +.fa-comment-sms::before { + content: "\f7cd"; } + +.fa-sms::before { + content: "\f7cd"; } + +.fa-comments::before { + content: "\f086"; } + +.fa-comments-dollar::before { + content: "\f653"; } + +.fa-compact-disc::before { + content: "\f51f"; } + +.fa-compass::before { + content: "\f14e"; } + +.fa-compass-drafting::before { + content: "\f568"; } + +.fa-drafting-compass::before { + content: "\f568"; } + +.fa-compress::before { + content: "\f066"; } + +.fa-computer::before { + content: "\e4e5"; } + +.fa-computer-mouse::before { + content: "\f8cc"; } + +.fa-mouse::before { + content: "\f8cc"; } + +.fa-cookie::before { + content: "\f563"; } + +.fa-cookie-bite::before { + content: "\f564"; } + +.fa-copy::before { + content: "\f0c5"; } + +.fa-copyright::before { + content: "\f1f9"; } + +.fa-couch::before { + content: "\f4b8"; } + +.fa-cow::before { + content: "\f6c8"; } + +.fa-credit-card::before { + content: "\f09d"; } + +.fa-credit-card-alt::before { + content: "\f09d"; } + +.fa-crop::before { + content: "\f125"; } + +.fa-crop-simple::before { + content: "\f565"; } + +.fa-crop-alt::before { + content: "\f565"; } + +.fa-cross::before { + content: "\f654"; } + +.fa-crosshairs::before { + content: "\f05b"; } + +.fa-crow::before { + content: "\f520"; } + +.fa-crown::before { + content: "\f521"; } + +.fa-crutch::before { + content: "\f7f7"; } + +.fa-cruzeiro-sign::before { + content: "\e152"; } + +.fa-cube::before { + content: "\f1b2"; } + +.fa-cubes::before { + content: "\f1b3"; } + +.fa-cubes-stacked::before { + content: "\e4e6"; } + +.fa-d::before { + content: "\44"; } + +.fa-database::before { + content: "\f1c0"; } + +.fa-delete-left::before { + content: "\f55a"; } + +.fa-backspace::before { + content: "\f55a"; } + +.fa-democrat::before { + content: "\f747"; } + +.fa-desktop::before { + content: "\f390"; } + +.fa-desktop-alt::before { + content: "\f390"; } + +.fa-dharmachakra::before { + content: "\f655"; } + +.fa-diagram-next::before { + content: "\e476"; } + +.fa-diagram-predecessor::before { + content: "\e477"; } + +.fa-diagram-project::before { + content: "\f542"; } + +.fa-project-diagram::before { + content: "\f542"; } + +.fa-diagram-successor::before { + content: "\e47a"; } + +.fa-diamond::before { + content: "\f219"; } + +.fa-diamond-turn-right::before { + content: "\f5eb"; } + +.fa-directions::before { + content: "\f5eb"; } + +.fa-dice::before { + content: "\f522"; } + +.fa-dice-d20::before { + content: "\f6cf"; } + +.fa-dice-d6::before { + content: "\f6d1"; } + +.fa-dice-five::before { + content: "\f523"; } + +.fa-dice-four::before { + content: "\f524"; } + +.fa-dice-one::before { + content: "\f525"; } + +.fa-dice-six::before { + content: "\f526"; } + +.fa-dice-three::before { + content: "\f527"; } + +.fa-dice-two::before { + content: "\f528"; } + +.fa-disease::before { + content: "\f7fa"; } + +.fa-display::before { + content: "\e163"; } + +.fa-divide::before { + content: "\f529"; } + +.fa-dna::before { + content: "\f471"; } + +.fa-dog::before { + content: "\f6d3"; } + +.fa-dollar-sign::before { + content: "\24"; } + +.fa-dollar::before { + content: "\24"; } + +.fa-usd::before { + content: "\24"; } + +.fa-dolly::before { + content: "\f472"; } + +.fa-dolly-box::before { + content: "\f472"; } + +.fa-dong-sign::before { + content: "\e169"; } + +.fa-door-closed::before { + content: "\f52a"; } + +.fa-door-open::before { + content: "\f52b"; } + +.fa-dove::before { + content: "\f4ba"; } + +.fa-down-left-and-up-right-to-center::before { + content: "\f422"; } + +.fa-compress-alt::before { + content: "\f422"; } + +.fa-down-long::before { + content: "\f309"; } + +.fa-long-arrow-alt-down::before { + content: "\f309"; } + +.fa-download::before { + content: "\f019"; } + +.fa-dragon::before { + content: "\f6d5"; } + +.fa-draw-polygon::before { + content: "\f5ee"; } + +.fa-droplet::before { + content: "\f043"; } + +.fa-tint::before { + content: "\f043"; } + +.fa-droplet-slash::before { + content: "\f5c7"; } + +.fa-tint-slash::before { + content: "\f5c7"; } + +.fa-drum::before { + content: "\f569"; } + +.fa-drum-steelpan::before { + content: "\f56a"; } + +.fa-drumstick-bite::before { + content: "\f6d7"; } + +.fa-dumbbell::before { + content: "\f44b"; } + +.fa-dumpster::before { + content: "\f793"; } + +.fa-dumpster-fire::before { + content: "\f794"; } + +.fa-dungeon::before { + content: "\f6d9"; } + +.fa-e::before { + content: "\45"; } + +.fa-ear-deaf::before { + content: "\f2a4"; } + +.fa-deaf::before { + content: "\f2a4"; } + +.fa-deafness::before { + content: "\f2a4"; } + +.fa-hard-of-hearing::before { + content: "\f2a4"; } + +.fa-ear-listen::before { + content: "\f2a2"; } + +.fa-assistive-listening-systems::before { + content: "\f2a2"; } + +.fa-earth-africa::before { + content: "\f57c"; } + +.fa-globe-africa::before { + content: "\f57c"; } + +.fa-earth-americas::before { + content: "\f57d"; } + +.fa-earth::before { + content: "\f57d"; } + +.fa-earth-america::before { + content: "\f57d"; } + +.fa-globe-americas::before { + content: "\f57d"; } + +.fa-earth-asia::before { + content: "\f57e"; } + +.fa-globe-asia::before { + content: "\f57e"; } + +.fa-earth-europe::before { + content: "\f7a2"; } + +.fa-globe-europe::before { + content: "\f7a2"; } + +.fa-earth-oceania::before { + content: "\e47b"; } + +.fa-globe-oceania::before { + content: "\e47b"; } + +.fa-egg::before { + content: "\f7fb"; } + +.fa-eject::before { + content: "\f052"; } + +.fa-elevator::before { + content: "\e16d"; } + +.fa-ellipsis::before { + content: "\f141"; } + +.fa-ellipsis-h::before { + content: "\f141"; } + +.fa-ellipsis-vertical::before { + content: "\f142"; } + +.fa-ellipsis-v::before { + content: "\f142"; } + +.fa-envelope::before { + content: "\f0e0"; } + +.fa-envelope-circle-check::before { + content: "\e4e8"; } + +.fa-envelope-open::before { + content: "\f2b6"; } + +.fa-envelope-open-text::before { + content: "\f658"; } + +.fa-envelopes-bulk::before { + content: "\f674"; } + +.fa-mail-bulk::before { + content: "\f674"; } + +.fa-equals::before { + content: "\3d"; } + +.fa-eraser::before { + content: "\f12d"; } + +.fa-ethernet::before { + content: "\f796"; } + +.fa-euro-sign::before { + content: "\f153"; } + +.fa-eur::before { + content: "\f153"; } + +.fa-euro::before { + content: "\f153"; } + +.fa-exclamation::before { + content: "\21"; } + +.fa-expand::before { + content: "\f065"; } + +.fa-explosion::before { + content: "\e4e9"; } + +.fa-eye::before { + content: "\f06e"; } + +.fa-eye-dropper::before { + content: "\f1fb"; } + +.fa-eye-dropper-empty::before { + content: "\f1fb"; } + +.fa-eyedropper::before { + content: "\f1fb"; } + +.fa-eye-low-vision::before { + content: "\f2a8"; } + +.fa-low-vision::before { + content: "\f2a8"; } + +.fa-eye-slash::before { + content: "\f070"; } + +.fa-f::before { + content: "\46"; } + +.fa-face-angry::before { + content: "\f556"; } + +.fa-angry::before { + content: "\f556"; } + +.fa-face-dizzy::before { + content: "\f567"; } + +.fa-dizzy::before { + content: "\f567"; } + +.fa-face-flushed::before { + content: "\f579"; } + +.fa-flushed::before { + content: "\f579"; } + +.fa-face-frown::before { + content: "\f119"; } + +.fa-frown::before { + content: "\f119"; } + +.fa-face-frown-open::before { + content: "\f57a"; } + +.fa-frown-open::before { + content: "\f57a"; } + +.fa-face-grimace::before { + content: "\f57f"; } + +.fa-grimace::before { + content: "\f57f"; } + +.fa-face-grin::before { + content: "\f580"; } + +.fa-grin::before { + content: "\f580"; } + +.fa-face-grin-beam::before { + content: "\f582"; } + +.fa-grin-beam::before { + content: "\f582"; } + +.fa-face-grin-beam-sweat::before { + content: "\f583"; } + +.fa-grin-beam-sweat::before { + content: "\f583"; } + +.fa-face-grin-hearts::before { + content: "\f584"; } + +.fa-grin-hearts::before { + content: "\f584"; } + +.fa-face-grin-squint::before { + content: "\f585"; } + +.fa-grin-squint::before { + content: "\f585"; } + +.fa-face-grin-squint-tears::before { + content: "\f586"; } + +.fa-grin-squint-tears::before { + content: "\f586"; } + +.fa-face-grin-stars::before { + content: "\f587"; } + +.fa-grin-stars::before { + content: "\f587"; } + +.fa-face-grin-tears::before { + content: "\f588"; } + +.fa-grin-tears::before { + content: "\f588"; } + +.fa-face-grin-tongue::before { + content: "\f589"; } + +.fa-grin-tongue::before { + content: "\f589"; } + +.fa-face-grin-tongue-squint::before { + content: "\f58a"; } + +.fa-grin-tongue-squint::before { + content: "\f58a"; } + +.fa-face-grin-tongue-wink::before { + content: "\f58b"; } + +.fa-grin-tongue-wink::before { + content: "\f58b"; } + +.fa-face-grin-wide::before { + content: "\f581"; } + +.fa-grin-alt::before { + content: "\f581"; } + +.fa-face-grin-wink::before { + content: "\f58c"; } + +.fa-grin-wink::before { + content: "\f58c"; } + +.fa-face-kiss::before { + content: "\f596"; } + +.fa-kiss::before { + content: "\f596"; } + +.fa-face-kiss-beam::before { + content: "\f597"; } + +.fa-kiss-beam::before { + content: "\f597"; } + +.fa-face-kiss-wink-heart::before { + content: "\f598"; } + +.fa-kiss-wink-heart::before { + content: "\f598"; } + +.fa-face-laugh::before { + content: "\f599"; } + +.fa-laugh::before { + content: "\f599"; } + +.fa-face-laugh-beam::before { + content: "\f59a"; } + +.fa-laugh-beam::before { + content: "\f59a"; } + +.fa-face-laugh-squint::before { + content: "\f59b"; } + +.fa-laugh-squint::before { + content: "\f59b"; } + +.fa-face-laugh-wink::before { + content: "\f59c"; } + +.fa-laugh-wink::before { + content: "\f59c"; } + +.fa-face-meh::before { + content: "\f11a"; } + +.fa-meh::before { + content: "\f11a"; } + +.fa-face-meh-blank::before { + content: "\f5a4"; } + +.fa-meh-blank::before { + content: "\f5a4"; } + +.fa-face-rolling-eyes::before { + content: "\f5a5"; } + +.fa-meh-rolling-eyes::before { + content: "\f5a5"; } + +.fa-face-sad-cry::before { + content: "\f5b3"; } + +.fa-sad-cry::before { + content: "\f5b3"; } + +.fa-face-sad-tear::before { + content: "\f5b4"; } + +.fa-sad-tear::before { + content: "\f5b4"; } + +.fa-face-smile::before { + content: "\f118"; } + +.fa-smile::before { + content: "\f118"; } + +.fa-face-smile-beam::before { + content: "\f5b8"; } + +.fa-smile-beam::before { + content: "\f5b8"; } + +.fa-face-smile-wink::before { + content: "\f4da"; } + +.fa-smile-wink::before { + content: "\f4da"; } + +.fa-face-surprise::before { + content: "\f5c2"; } + +.fa-surprise::before { + content: "\f5c2"; } + +.fa-face-tired::before { + content: "\f5c8"; } + +.fa-tired::before { + content: "\f5c8"; } + +.fa-fan::before { + content: "\f863"; } + +.fa-faucet::before { + content: "\e005"; } + +.fa-faucet-drip::before { + content: "\e006"; } + +.fa-fax::before { + content: "\f1ac"; } + +.fa-feather::before { + content: "\f52d"; } + +.fa-feather-pointed::before { + content: "\f56b"; } + +.fa-feather-alt::before { + content: "\f56b"; } + +.fa-ferry::before { + content: "\e4ea"; } + +.fa-file::before { + content: "\f15b"; } + +.fa-file-arrow-down::before { + content: "\f56d"; } + +.fa-file-download::before { + content: "\f56d"; } + +.fa-file-arrow-up::before { + content: "\f574"; } + +.fa-file-upload::before { + content: "\f574"; } + +.fa-file-audio::before { + content: "\f1c7"; } + +.fa-file-circle-check::before { + content: "\e5a0"; } + +.fa-file-circle-exclamation::before { + content: "\e4eb"; } + +.fa-file-circle-minus::before { + content: "\e4ed"; } + +.fa-file-circle-plus::before { + content: "\e494"; } + +.fa-file-circle-question::before { + content: "\e4ef"; } + +.fa-file-circle-xmark::before { + content: "\e5a1"; } + +.fa-file-code::before { + content: "\f1c9"; } + +.fa-file-contract::before { + content: "\f56c"; } + +.fa-file-csv::before { + content: "\f6dd"; } + +.fa-file-excel::before { + content: "\f1c3"; } + +.fa-file-export::before { + content: "\f56e"; } + +.fa-arrow-right-from-file::before { + content: "\f56e"; } + +.fa-file-image::before { + content: "\f1c5"; } + +.fa-file-import::before { + content: "\f56f"; } + +.fa-arrow-right-to-file::before { + content: "\f56f"; } + +.fa-file-invoice::before { + content: "\f570"; } + +.fa-file-invoice-dollar::before { + content: "\f571"; } + +.fa-file-lines::before { + content: "\f15c"; } + +.fa-file-alt::before { + content: "\f15c"; } + +.fa-file-text::before { + content: "\f15c"; } + +.fa-file-medical::before { + content: "\f477"; } + +.fa-file-pdf::before { + content: "\f1c1"; } + +.fa-file-pen::before { + content: "\f31c"; } + +.fa-file-edit::before { + content: "\f31c"; } + +.fa-file-powerpoint::before { + content: "\f1c4"; } + +.fa-file-prescription::before { + content: "\f572"; } + +.fa-file-shield::before { + content: "\e4f0"; } + +.fa-file-signature::before { + content: "\f573"; } + +.fa-file-video::before { + content: "\f1c8"; } + +.fa-file-waveform::before { + content: "\f478"; } + +.fa-file-medical-alt::before { + content: "\f478"; } + +.fa-file-word::before { + content: "\f1c2"; } + +.fa-file-zipper::before { + content: "\f1c6"; } + +.fa-file-archive::before { + content: "\f1c6"; } + +.fa-fill::before { + content: "\f575"; } + +.fa-fill-drip::before { + content: "\f576"; } + +.fa-film::before { + content: "\f008"; } + +.fa-filter::before { + content: "\f0b0"; } + +.fa-filter-circle-dollar::before { + content: "\f662"; } + +.fa-funnel-dollar::before { + content: "\f662"; } + +.fa-filter-circle-xmark::before { + content: "\e17b"; } + +.fa-fingerprint::before { + content: "\f577"; } + +.fa-fire::before { + content: "\f06d"; } + +.fa-fire-burner::before { + content: "\e4f1"; } + +.fa-fire-extinguisher::before { + content: "\f134"; } + +.fa-fire-flame-curved::before { + content: "\f7e4"; } + +.fa-fire-alt::before { + content: "\f7e4"; } + +.fa-fire-flame-simple::before { + content: "\f46a"; } + +.fa-burn::before { + content: "\f46a"; } + +.fa-fish::before { + content: "\f578"; } + +.fa-fish-fins::before { + content: "\e4f2"; } + +.fa-flag::before { + content: "\f024"; } + +.fa-flag-checkered::before { + content: "\f11e"; } + +.fa-flag-usa::before { + content: "\f74d"; } + +.fa-flask::before { + content: "\f0c3"; } + +.fa-flask-vial::before { + content: "\e4f3"; } + +.fa-floppy-disk::before { + content: "\f0c7"; } + +.fa-save::before { + content: "\f0c7"; } + +.fa-florin-sign::before { + content: "\e184"; } + +.fa-folder::before { + content: "\f07b"; } + +.fa-folder-blank::before { + content: "\f07b"; } + +.fa-folder-closed::before { + content: "\e185"; } + +.fa-folder-minus::before { + content: "\f65d"; } + +.fa-folder-open::before { + content: "\f07c"; } + +.fa-folder-plus::before { + content: "\f65e"; } + +.fa-folder-tree::before { + content: "\f802"; } + +.fa-font::before { + content: "\f031"; } + +.fa-football::before { + content: "\f44e"; } + +.fa-football-ball::before { + content: "\f44e"; } + +.fa-forward::before { + content: "\f04e"; } + +.fa-forward-fast::before { + content: "\f050"; } + +.fa-fast-forward::before { + content: "\f050"; } + +.fa-forward-step::before { + content: "\f051"; } + +.fa-step-forward::before { + content: "\f051"; } + +.fa-franc-sign::before { + content: "\e18f"; } + +.fa-frog::before { + content: "\f52e"; } + +.fa-futbol::before { + content: "\f1e3"; } + +.fa-futbol-ball::before { + content: "\f1e3"; } + +.fa-soccer-ball::before { + content: "\f1e3"; } + +.fa-g::before { + content: "\47"; } + +.fa-gamepad::before { + content: "\f11b"; } + +.fa-gas-pump::before { + content: "\f52f"; } + +.fa-gauge::before { + content: "\f624"; } + +.fa-dashboard::before { + content: "\f624"; } + +.fa-gauge-med::before { + content: "\f624"; } + +.fa-tachometer-alt-average::before { + content: "\f624"; } + +.fa-gauge-high::before { + content: "\f625"; } + +.fa-tachometer-alt::before { + content: "\f625"; } + +.fa-tachometer-alt-fast::before { + content: "\f625"; } + +.fa-gauge-simple::before { + content: "\f629"; } + +.fa-gauge-simple-med::before { + content: "\f629"; } + +.fa-tachometer-average::before { + content: "\f629"; } + +.fa-gauge-simple-high::before { + content: "\f62a"; } + +.fa-tachometer::before { + content: "\f62a"; } + +.fa-tachometer-fast::before { + content: "\f62a"; } + +.fa-gavel::before { + content: "\f0e3"; } + +.fa-legal::before { + content: "\f0e3"; } + +.fa-gear::before { + content: "\f013"; } + +.fa-cog::before { + content: "\f013"; } + +.fa-gears::before { + content: "\f085"; } + +.fa-cogs::before { + content: "\f085"; } + +.fa-gem::before { + content: "\f3a5"; } + +.fa-genderless::before { + content: "\f22d"; } + +.fa-ghost::before { + content: "\f6e2"; } + +.fa-gift::before { + content: "\f06b"; } + +.fa-gifts::before { + content: "\f79c"; } + +.fa-glass-water::before { + content: "\e4f4"; } + +.fa-glass-water-droplet::before { + content: "\e4f5"; } + +.fa-glasses::before { + content: "\f530"; } + +.fa-globe::before { + content: "\f0ac"; } + +.fa-golf-ball-tee::before { + content: "\f450"; } + +.fa-golf-ball::before { + content: "\f450"; } + +.fa-gopuram::before { + content: "\f664"; } + +.fa-graduation-cap::before { + content: "\f19d"; } + +.fa-mortar-board::before { + content: "\f19d"; } + +.fa-greater-than::before { + content: "\3e"; } + +.fa-greater-than-equal::before { + content: "\f532"; } + +.fa-grip::before { + content: "\f58d"; } + +.fa-grip-horizontal::before { + content: "\f58d"; } + +.fa-grip-lines::before { + content: "\f7a4"; } + +.fa-grip-lines-vertical::before { + content: "\f7a5"; } + +.fa-grip-vertical::before { + content: "\f58e"; } + +.fa-group-arrows-rotate::before { + content: "\e4f6"; } + +.fa-guarani-sign::before { + content: "\e19a"; } + +.fa-guitar::before { + content: "\f7a6"; } + +.fa-gun::before { + content: "\e19b"; } + +.fa-h::before { + content: "\48"; } + +.fa-hammer::before { + content: "\f6e3"; } + +.fa-hamsa::before { + content: "\f665"; } + +.fa-hand::before { + content: "\f256"; } + +.fa-hand-paper::before { + content: "\f256"; } + +.fa-hand-back-fist::before { + content: "\f255"; } + +.fa-hand-rock::before { + content: "\f255"; } + +.fa-hand-dots::before { + content: "\f461"; } + +.fa-allergies::before { + content: "\f461"; } + +.fa-hand-fist::before { + content: "\f6de"; } + +.fa-fist-raised::before { + content: "\f6de"; } + +.fa-hand-holding::before { + content: "\f4bd"; } + +.fa-hand-holding-dollar::before { + content: "\f4c0"; } + +.fa-hand-holding-usd::before { + content: "\f4c0"; } + +.fa-hand-holding-droplet::before { + content: "\f4c1"; } + +.fa-hand-holding-water::before { + content: "\f4c1"; } + +.fa-hand-holding-hand::before { + content: "\e4f7"; } + +.fa-hand-holding-heart::before { + content: "\f4be"; } + +.fa-hand-holding-medical::before { + content: "\e05c"; } + +.fa-hand-lizard::before { + content: "\f258"; } + +.fa-hand-middle-finger::before { + content: "\f806"; } + +.fa-hand-peace::before { + content: "\f25b"; } + +.fa-hand-point-down::before { + content: "\f0a7"; } + +.fa-hand-point-left::before { + content: "\f0a5"; } + +.fa-hand-point-right::before { + content: "\f0a4"; } + +.fa-hand-point-up::before { + content: "\f0a6"; } + +.fa-hand-pointer::before { + content: "\f25a"; } + +.fa-hand-scissors::before { + content: "\f257"; } + +.fa-hand-sparkles::before { + content: "\e05d"; } + +.fa-hand-spock::before { + content: "\f259"; } + +.fa-handcuffs::before { + content: "\e4f8"; } + +.fa-hands::before { + content: "\f2a7"; } + +.fa-sign-language::before { + content: "\f2a7"; } + +.fa-signing::before { + content: "\f2a7"; } + +.fa-hands-asl-interpreting::before { + content: "\f2a3"; } + +.fa-american-sign-language-interpreting::before { + content: "\f2a3"; } + +.fa-asl-interpreting::before { + content: "\f2a3"; } + +.fa-hands-american-sign-language-interpreting::before { + content: "\f2a3"; } + +.fa-hands-bound::before { + content: "\e4f9"; } + +.fa-hands-bubbles::before { + content: "\e05e"; } + +.fa-hands-wash::before { + content: "\e05e"; } + +.fa-hands-clapping::before { + content: "\e1a8"; } + +.fa-hands-holding::before { + content: "\f4c2"; } + +.fa-hands-holding-child::before { + content: "\e4fa"; } + +.fa-hands-holding-circle::before { + content: "\e4fb"; } + +.fa-hands-praying::before { + content: "\f684"; } + +.fa-praying-hands::before { + content: "\f684"; } + +.fa-handshake::before { + content: "\f2b5"; } + +.fa-handshake-angle::before { + content: "\f4c4"; } + +.fa-hands-helping::before { + content: "\f4c4"; } + +.fa-handshake-simple::before { + content: "\f4c6"; } + +.fa-handshake-alt::before { + content: "\f4c6"; } + +.fa-handshake-simple-slash::before { + content: "\e05f"; } + +.fa-handshake-alt-slash::before { + content: "\e05f"; } + +.fa-handshake-slash::before { + content: "\e060"; } + +.fa-hanukiah::before { + content: "\f6e6"; } + +.fa-hard-drive::before { + content: "\f0a0"; } + +.fa-hdd::before { + content: "\f0a0"; } + +.fa-hashtag::before { + content: "\23"; } + +.fa-hat-cowboy::before { + content: "\f8c0"; } + +.fa-hat-cowboy-side::before { + content: "\f8c1"; } + +.fa-hat-wizard::before { + content: "\f6e8"; } + +.fa-head-side-cough::before { + content: "\e061"; } + +.fa-head-side-cough-slash::before { + content: "\e062"; } + +.fa-head-side-mask::before { + content: "\e063"; } + +.fa-head-side-virus::before { + content: "\e064"; } + +.fa-heading::before { + content: "\f1dc"; } + +.fa-header::before { + content: "\f1dc"; } + +.fa-headphones::before { + content: "\f025"; } + +.fa-headphones-simple::before { + content: "\f58f"; } + +.fa-headphones-alt::before { + content: "\f58f"; } + +.fa-headset::before { + content: "\f590"; } + +.fa-heart::before { + content: "\f004"; } + +.fa-heart-circle-bolt::before { + content: "\e4fc"; } + +.fa-heart-circle-check::before { + content: "\e4fd"; } + +.fa-heart-circle-exclamation::before { + content: "\e4fe"; } + +.fa-heart-circle-minus::before { + content: "\e4ff"; } + +.fa-heart-circle-plus::before { + content: "\e500"; } + +.fa-heart-circle-xmark::before { + content: "\e501"; } + +.fa-heart-crack::before { + content: "\f7a9"; } + +.fa-heart-broken::before { + content: "\f7a9"; } + +.fa-heart-pulse::before { + content: "\f21e"; } + +.fa-heartbeat::before { + content: "\f21e"; } + +.fa-helicopter::before { + content: "\f533"; } + +.fa-helicopter-symbol::before { + content: "\e502"; } + +.fa-helmet-safety::before { + content: "\f807"; } + +.fa-hard-hat::before { + content: "\f807"; } + +.fa-hat-hard::before { + content: "\f807"; } + +.fa-helmet-un::before { + content: "\e503"; } + +.fa-highlighter::before { + content: "\f591"; } + +.fa-hill-avalanche::before { + content: "\e507"; } + +.fa-hill-rockslide::before { + content: "\e508"; } + +.fa-hippo::before { + content: "\f6ed"; } + +.fa-hockey-puck::before { + content: "\f453"; } + +.fa-holly-berry::before { + content: "\f7aa"; } + +.fa-horse::before { + content: "\f6f0"; } + +.fa-horse-head::before { + content: "\f7ab"; } + +.fa-hospital::before { + content: "\f0f8"; } + +.fa-hospital-alt::before { + content: "\f0f8"; } + +.fa-hospital-wide::before { + content: "\f0f8"; } + +.fa-hospital-user::before { + content: "\f80d"; } + +.fa-hot-tub-person::before { + content: "\f593"; } + +.fa-hot-tub::before { + content: "\f593"; } + +.fa-hotdog::before { + content: "\f80f"; } + +.fa-hotel::before { + content: "\f594"; } + +.fa-hourglass::before { + content: "\f254"; } + +.fa-hourglass-empty::before { + content: "\f254"; } + +.fa-hourglass-end::before { + content: "\f253"; } + +.fa-hourglass-3::before { + content: "\f253"; } + +.fa-hourglass-half::before { + content: "\f252"; } + +.fa-hourglass-2::before { + content: "\f252"; } + +.fa-hourglass-start::before { + content: "\f251"; } + +.fa-hourglass-1::before { + content: "\f251"; } + +.fa-house::before { + content: "\f015"; } + +.fa-home::before { + content: "\f015"; } + +.fa-home-alt::before { + content: "\f015"; } + +.fa-home-lg-alt::before { + content: "\f015"; } + +.fa-house-chimney::before { + content: "\e3af"; } + +.fa-home-lg::before { + content: "\e3af"; } + +.fa-house-chimney-crack::before { + content: "\f6f1"; } + +.fa-house-damage::before { + content: "\f6f1"; } + +.fa-house-chimney-medical::before { + content: "\f7f2"; } + +.fa-clinic-medical::before { + content: "\f7f2"; } + +.fa-house-chimney-user::before { + content: "\e065"; } + +.fa-house-chimney-window::before { + content: "\e00d"; } + +.fa-house-circle-check::before { + content: "\e509"; } + +.fa-house-circle-exclamation::before { + content: "\e50a"; } + +.fa-house-circle-xmark::before { + content: "\e50b"; } + +.fa-house-crack::before { + content: "\e3b1"; } + +.fa-house-fire::before { + content: "\e50c"; } + +.fa-house-flag::before { + content: "\e50d"; } + +.fa-house-flood-water::before { + content: "\e50e"; } + +.fa-house-flood-water-circle-arrow-right::before { + content: "\e50f"; } + +.fa-house-laptop::before { + content: "\e066"; } + +.fa-laptop-house::before { + content: "\e066"; } + +.fa-house-lock::before { + content: "\e510"; } + +.fa-house-medical::before { + content: "\e3b2"; } + +.fa-house-medical-circle-check::before { + content: "\e511"; } + +.fa-house-medical-circle-exclamation::before { + content: "\e512"; } + +.fa-house-medical-circle-xmark::before { + content: "\e513"; } + +.fa-house-medical-flag::before { + content: "\e514"; } + +.fa-house-signal::before { + content: "\e012"; } + +.fa-house-tsunami::before { + content: "\e515"; } + +.fa-house-user::before { + content: "\e1b0"; } + +.fa-home-user::before { + content: "\e1b0"; } + +.fa-hryvnia-sign::before { + content: "\f6f2"; } + +.fa-hryvnia::before { + content: "\f6f2"; } + +.fa-hurricane::before { + content: "\f751"; } + +.fa-i::before { + content: "\49"; } + +.fa-i-cursor::before { + content: "\f246"; } + +.fa-ice-cream::before { + content: "\f810"; } + +.fa-icicles::before { + content: "\f7ad"; } + +.fa-icons::before { + content: "\f86d"; } + +.fa-heart-music-camera-bolt::before { + content: "\f86d"; } + +.fa-id-badge::before { + content: "\f2c1"; } + +.fa-id-card::before { + content: "\f2c2"; } + +.fa-drivers-license::before { + content: "\f2c2"; } + +.fa-id-card-clip::before { + content: "\f47f"; } + +.fa-id-card-alt::before { + content: "\f47f"; } + +.fa-igloo::before { + content: "\f7ae"; } + +.fa-image::before { + content: "\f03e"; } + +.fa-image-portrait::before { + content: "\f3e0"; } + +.fa-portrait::before { + content: "\f3e0"; } + +.fa-images::before { + content: "\f302"; } + +.fa-inbox::before { + content: "\f01c"; } + +.fa-indent::before { + content: "\f03c"; } + +.fa-indian-rupee-sign::before { + content: "\e1bc"; } + +.fa-indian-rupee::before { + content: "\e1bc"; } + +.fa-inr::before { + content: "\e1bc"; } + +.fa-industry::before { + content: "\f275"; } + +.fa-infinity::before { + content: "\f534"; } + +.fa-info::before { + content: "\f129"; } + +.fa-italic::before { + content: "\f033"; } + +.fa-j::before { + content: "\4a"; } + +.fa-jar::before { + content: "\e516"; } + +.fa-jar-wheat::before { + content: "\e517"; } + +.fa-jedi::before { + content: "\f669"; } + +.fa-jet-fighter::before { + content: "\f0fb"; } + +.fa-fighter-jet::before { + content: "\f0fb"; } + +.fa-jet-fighter-up::before { + content: "\e518"; } + +.fa-joint::before { + content: "\f595"; } + +.fa-jug-detergent::before { + content: "\e519"; } + +.fa-k::before { + content: "\4b"; } + +.fa-kaaba::before { + content: "\f66b"; } + +.fa-key::before { + content: "\f084"; } + +.fa-keyboard::before { + content: "\f11c"; } + +.fa-khanda::before { + content: "\f66d"; } + +.fa-kip-sign::before { + content: "\e1c4"; } + +.fa-kit-medical::before { + content: "\f479"; } + +.fa-first-aid::before { + content: "\f479"; } + +.fa-kitchen-set::before { + content: "\e51a"; } + +.fa-kiwi-bird::before { + content: "\f535"; } + +.fa-l::before { + content: "\4c"; } + +.fa-land-mine-on::before { + content: "\e51b"; } + +.fa-landmark::before { + content: "\f66f"; } + +.fa-landmark-dome::before { + content: "\f752"; } + +.fa-landmark-alt::before { + content: "\f752"; } + +.fa-landmark-flag::before { + content: "\e51c"; } + +.fa-language::before { + content: "\f1ab"; } + +.fa-laptop::before { + content: "\f109"; } + +.fa-laptop-code::before { + content: "\f5fc"; } + +.fa-laptop-file::before { + content: "\e51d"; } + +.fa-laptop-medical::before { + content: "\f812"; } + +.fa-lari-sign::before { + content: "\e1c8"; } + +.fa-layer-group::before { + content: "\f5fd"; } + +.fa-leaf::before { + content: "\f06c"; } + +.fa-left-long::before { + content: "\f30a"; } + +.fa-long-arrow-alt-left::before { + content: "\f30a"; } + +.fa-left-right::before { + content: "\f337"; } + +.fa-arrows-alt-h::before { + content: "\f337"; } + +.fa-lemon::before { + content: "\f094"; } + +.fa-less-than::before { + content: "\3c"; } + +.fa-less-than-equal::before { + content: "\f537"; } + +.fa-life-ring::before { + content: "\f1cd"; } + +.fa-lightbulb::before { + content: "\f0eb"; } + +.fa-lines-leaning::before { + content: "\e51e"; } + +.fa-link::before { + content: "\f0c1"; } + +.fa-chain::before { + content: "\f0c1"; } + +.fa-link-slash::before { + content: "\f127"; } + +.fa-chain-broken::before { + content: "\f127"; } + +.fa-chain-slash::before { + content: "\f127"; } + +.fa-unlink::before { + content: "\f127"; } + +.fa-lira-sign::before { + content: "\f195"; } + +.fa-list::before { + content: "\f03a"; } + +.fa-list-squares::before { + content: "\f03a"; } + +.fa-list-check::before { + content: "\f0ae"; } + +.fa-tasks::before { + content: "\f0ae"; } + +.fa-list-ol::before { + content: "\f0cb"; } + +.fa-list-1-2::before { + content: "\f0cb"; } + +.fa-list-numeric::before { + content: "\f0cb"; } + +.fa-list-ul::before { + content: "\f0ca"; } + +.fa-list-dots::before { + content: "\f0ca"; } + +.fa-litecoin-sign::before { + content: "\e1d3"; } + +.fa-location-arrow::before { + content: "\f124"; } + +.fa-location-crosshairs::before { + content: "\f601"; } + +.fa-location::before { + content: "\f601"; } + +.fa-location-dot::before { + content: "\f3c5"; } + +.fa-map-marker-alt::before { + content: "\f3c5"; } + +.fa-location-pin::before { + content: "\f041"; } + +.fa-map-marker::before { + content: "\f041"; } + +.fa-location-pin-lock::before { + content: "\e51f"; } + +.fa-lock::before { + content: "\f023"; } + +.fa-lock-open::before { + content: "\f3c1"; } + +.fa-locust::before { + content: "\e520"; } + +.fa-lungs::before { + content: "\f604"; } + +.fa-lungs-virus::before { + content: "\e067"; } + +.fa-m::before { + content: "\4d"; } + +.fa-magnet::before { + content: "\f076"; } + +.fa-magnifying-glass::before { + content: "\f002"; } + +.fa-search::before { + content: "\f002"; } + +.fa-magnifying-glass-arrow-right::before { + content: "\e521"; } + +.fa-magnifying-glass-chart::before { + content: "\e522"; } + +.fa-magnifying-glass-dollar::before { + content: "\f688"; } + +.fa-search-dollar::before { + content: "\f688"; } + +.fa-magnifying-glass-location::before { + content: "\f689"; } + +.fa-search-location::before { + content: "\f689"; } + +.fa-magnifying-glass-minus::before { + content: "\f010"; } + +.fa-search-minus::before { + content: "\f010"; } + +.fa-magnifying-glass-plus::before { + content: "\f00e"; } + +.fa-search-plus::before { + content: "\f00e"; } + +.fa-manat-sign::before { + content: "\e1d5"; } + +.fa-map::before { + content: "\f279"; } + +.fa-map-location::before { + content: "\f59f"; } + +.fa-map-marked::before { + content: "\f59f"; } + +.fa-map-location-dot::before { + content: "\f5a0"; } + +.fa-map-marked-alt::before { + content: "\f5a0"; } + +.fa-map-pin::before { + content: "\f276"; } + +.fa-marker::before { + content: "\f5a1"; } + +.fa-mars::before { + content: "\f222"; } + +.fa-mars-and-venus::before { + content: "\f224"; } + +.fa-mars-and-venus-burst::before { + content: "\e523"; } + +.fa-mars-double::before { + content: "\f227"; } + +.fa-mars-stroke::before { + content: "\f229"; } + +.fa-mars-stroke-right::before { + content: "\f22b"; } + +.fa-mars-stroke-h::before { + content: "\f22b"; } + +.fa-mars-stroke-up::before { + content: "\f22a"; } + +.fa-mars-stroke-v::before { + content: "\f22a"; } + +.fa-martini-glass::before { + content: "\f57b"; } + +.fa-glass-martini-alt::before { + content: "\f57b"; } + +.fa-martini-glass-citrus::before { + content: "\f561"; } + +.fa-cocktail::before { + content: "\f561"; } + +.fa-martini-glass-empty::before { + content: "\f000"; } + +.fa-glass-martini::before { + content: "\f000"; } + +.fa-mask::before { + content: "\f6fa"; } + +.fa-mask-face::before { + content: "\e1d7"; } + +.fa-mask-ventilator::before { + content: "\e524"; } + +.fa-masks-theater::before { + content: "\f630"; } + +.fa-theater-masks::before { + content: "\f630"; } + +.fa-mattress-pillow::before { + content: "\e525"; } + +.fa-maximize::before { + content: "\f31e"; } + +.fa-expand-arrows-alt::before { + content: "\f31e"; } + +.fa-medal::before { + content: "\f5a2"; } + +.fa-memory::before { + content: "\f538"; } + +.fa-menorah::before { + content: "\f676"; } + +.fa-mercury::before { + content: "\f223"; } + +.fa-message::before { + content: "\f27a"; } + +.fa-comment-alt::before { + content: "\f27a"; } + +.fa-meteor::before { + content: "\f753"; } + +.fa-microchip::before { + content: "\f2db"; } + +.fa-microphone::before { + content: "\f130"; } + +.fa-microphone-lines::before { + content: "\f3c9"; } + +.fa-microphone-alt::before { + content: "\f3c9"; } + +.fa-microphone-lines-slash::before { + content: "\f539"; } + +.fa-microphone-alt-slash::before { + content: "\f539"; } + +.fa-microphone-slash::before { + content: "\f131"; } + +.fa-microscope::before { + content: "\f610"; } + +.fa-mill-sign::before { + content: "\e1ed"; } + +.fa-minimize::before { + content: "\f78c"; } + +.fa-compress-arrows-alt::before { + content: "\f78c"; } + +.fa-minus::before { + content: "\f068"; } + +.fa-subtract::before { + content: "\f068"; } + +.fa-mitten::before { + content: "\f7b5"; } + +.fa-mobile::before { + content: "\f3ce"; } + +.fa-mobile-android::before { + content: "\f3ce"; } + +.fa-mobile-phone::before { + content: "\f3ce"; } + +.fa-mobile-button::before { + content: "\f10b"; } + +.fa-mobile-retro::before { + content: "\e527"; } + +.fa-mobile-screen::before { + content: "\f3cf"; } + +.fa-mobile-android-alt::before { + content: "\f3cf"; } + +.fa-mobile-screen-button::before { + content: "\f3cd"; } + +.fa-mobile-alt::before { + content: "\f3cd"; } + +.fa-money-bill::before { + content: "\f0d6"; } + +.fa-money-bill-1::before { + content: "\f3d1"; } + +.fa-money-bill-alt::before { + content: "\f3d1"; } + +.fa-money-bill-1-wave::before { + content: "\f53b"; } + +.fa-money-bill-wave-alt::before { + content: "\f53b"; } + +.fa-money-bill-transfer::before { + content: "\e528"; } + +.fa-money-bill-trend-up::before { + content: "\e529"; } + +.fa-money-bill-wave::before { + content: "\f53a"; } + +.fa-money-bill-wheat::before { + content: "\e52a"; } + +.fa-money-bills::before { + content: "\e1f3"; } + +.fa-money-check::before { + content: "\f53c"; } + +.fa-money-check-dollar::before { + content: "\f53d"; } + +.fa-money-check-alt::before { + content: "\f53d"; } + +.fa-monument::before { + content: "\f5a6"; } + +.fa-moon::before { + content: "\f186"; } + +.fa-mortar-pestle::before { + content: "\f5a7"; } + +.fa-mosque::before { + content: "\f678"; } + +.fa-mosquito::before { + content: "\e52b"; } + +.fa-mosquito-net::before { + content: "\e52c"; } + +.fa-motorcycle::before { + content: "\f21c"; } + +.fa-mound::before { + content: "\e52d"; } + +.fa-mountain::before { + content: "\f6fc"; } + +.fa-mountain-city::before { + content: "\e52e"; } + +.fa-mountain-sun::before { + content: "\e52f"; } + +.fa-mug-hot::before { + content: "\f7b6"; } + +.fa-mug-saucer::before { + content: "\f0f4"; } + +.fa-coffee::before { + content: "\f0f4"; } + +.fa-music::before { + content: "\f001"; } + +.fa-n::before { + content: "\4e"; } + +.fa-naira-sign::before { + content: "\e1f6"; } + +.fa-network-wired::before { + content: "\f6ff"; } + +.fa-neuter::before { + content: "\f22c"; } + +.fa-newspaper::before { + content: "\f1ea"; } + +.fa-not-equal::before { + content: "\f53e"; } + +.fa-notdef::before { + content: "\e1fe"; } + +.fa-note-sticky::before { + content: "\f249"; } + +.fa-sticky-note::before { + content: "\f249"; } + +.fa-notes-medical::before { + content: "\f481"; } + +.fa-o::before { + content: "\4f"; } + +.fa-object-group::before { + content: "\f247"; } + +.fa-object-ungroup::before { + content: "\f248"; } + +.fa-oil-can::before { + content: "\f613"; } + +.fa-oil-well::before { + content: "\e532"; } + +.fa-om::before { + content: "\f679"; } + +.fa-otter::before { + content: "\f700"; } + +.fa-outdent::before { + content: "\f03b"; } + +.fa-dedent::before { + content: "\f03b"; } + +.fa-p::before { + content: "\50"; } + +.fa-pager::before { + content: "\f815"; } + +.fa-paint-roller::before { + content: "\f5aa"; } + +.fa-paintbrush::before { + content: "\f1fc"; } + +.fa-paint-brush::before { + content: "\f1fc"; } + +.fa-palette::before { + content: "\f53f"; } + +.fa-pallet::before { + content: "\f482"; } + +.fa-panorama::before { + content: "\e209"; } + +.fa-paper-plane::before { + content: "\f1d8"; } + +.fa-paperclip::before { + content: "\f0c6"; } + +.fa-parachute-box::before { + content: "\f4cd"; } + +.fa-paragraph::before { + content: "\f1dd"; } + +.fa-passport::before { + content: "\f5ab"; } + +.fa-paste::before { + content: "\f0ea"; } + +.fa-file-clipboard::before { + content: "\f0ea"; } + +.fa-pause::before { + content: "\f04c"; } + +.fa-paw::before { + content: "\f1b0"; } + +.fa-peace::before { + content: "\f67c"; } + +.fa-pen::before { + content: "\f304"; } + +.fa-pen-clip::before { + content: "\f305"; } + +.fa-pen-alt::before { + content: "\f305"; } + +.fa-pen-fancy::before { + content: "\f5ac"; } + +.fa-pen-nib::before { + content: "\f5ad"; } + +.fa-pen-ruler::before { + content: "\f5ae"; } + +.fa-pencil-ruler::before { + content: "\f5ae"; } + +.fa-pen-to-square::before { + content: "\f044"; } + +.fa-edit::before { + content: "\f044"; } + +.fa-pencil::before { + content: "\f303"; } + +.fa-pencil-alt::before { + content: "\f303"; } + +.fa-people-arrows::before { + content: "\e068"; } + +.fa-people-arrows-left-right::before { + content: "\e068"; } + +.fa-people-carry-box::before { + content: "\f4ce"; } + +.fa-people-carry::before { + content: "\f4ce"; } + +.fa-people-group::before { + content: "\e533"; } + +.fa-people-line::before { + content: "\e534"; } + +.fa-people-pulling::before { + content: "\e535"; } + +.fa-people-robbery::before { + content: "\e536"; } + +.fa-people-roof::before { + content: "\e537"; } + +.fa-pepper-hot::before { + content: "\f816"; } + +.fa-percent::before { + content: "\25"; } + +.fa-percentage::before { + content: "\25"; } + +.fa-person::before { + content: "\f183"; } + +.fa-male::before { + content: "\f183"; } + +.fa-person-arrow-down-to-line::before { + content: "\e538"; } + +.fa-person-arrow-up-from-line::before { + content: "\e539"; } + +.fa-person-biking::before { + content: "\f84a"; } + +.fa-biking::before { + content: "\f84a"; } + +.fa-person-booth::before { + content: "\f756"; } + +.fa-person-breastfeeding::before { + content: "\e53a"; } + +.fa-person-burst::before { + content: "\e53b"; } + +.fa-person-cane::before { + content: "\e53c"; } + +.fa-person-chalkboard::before { + content: "\e53d"; } + +.fa-person-circle-check::before { + content: "\e53e"; } + +.fa-person-circle-exclamation::before { + content: "\e53f"; } + +.fa-person-circle-minus::before { + content: "\e540"; } + +.fa-person-circle-plus::before { + content: "\e541"; } + +.fa-person-circle-question::before { + content: "\e542"; } + +.fa-person-circle-xmark::before { + content: "\e543"; } + +.fa-person-digging::before { + content: "\f85e"; } + +.fa-digging::before { + content: "\f85e"; } + +.fa-person-dots-from-line::before { + content: "\f470"; } + +.fa-diagnoses::before { + content: "\f470"; } + +.fa-person-dress::before { + content: "\f182"; } + +.fa-female::before { + content: "\f182"; } + +.fa-person-dress-burst::before { + content: "\e544"; } + +.fa-person-drowning::before { + content: "\e545"; } + +.fa-person-falling::before { + content: "\e546"; } + +.fa-person-falling-burst::before { + content: "\e547"; } + +.fa-person-half-dress::before { + content: "\e548"; } + +.fa-person-harassing::before { + content: "\e549"; } + +.fa-person-hiking::before { + content: "\f6ec"; } + +.fa-hiking::before { + content: "\f6ec"; } + +.fa-person-military-pointing::before { + content: "\e54a"; } + +.fa-person-military-rifle::before { + content: "\e54b"; } + +.fa-person-military-to-person::before { + content: "\e54c"; } + +.fa-person-praying::before { + content: "\f683"; } + +.fa-pray::before { + content: "\f683"; } + +.fa-person-pregnant::before { + content: "\e31e"; } + +.fa-person-rays::before { + content: "\e54d"; } + +.fa-person-rifle::before { + content: "\e54e"; } + +.fa-person-running::before { + content: "\f70c"; } + +.fa-running::before { + content: "\f70c"; } + +.fa-person-shelter::before { + content: "\e54f"; } + +.fa-person-skating::before { + content: "\f7c5"; } + +.fa-skating::before { + content: "\f7c5"; } + +.fa-person-skiing::before { + content: "\f7c9"; } + +.fa-skiing::before { + content: "\f7c9"; } + +.fa-person-skiing-nordic::before { + content: "\f7ca"; } + +.fa-skiing-nordic::before { + content: "\f7ca"; } + +.fa-person-snowboarding::before { + content: "\f7ce"; } + +.fa-snowboarding::before { + content: "\f7ce"; } + +.fa-person-swimming::before { + content: "\f5c4"; } + +.fa-swimmer::before { + content: "\f5c4"; } + +.fa-person-through-window::before { + content: "\e5a9"; } + +.fa-person-walking::before { + content: "\f554"; } + +.fa-walking::before { + content: "\f554"; } + +.fa-person-walking-arrow-loop-left::before { + content: "\e551"; } + +.fa-person-walking-arrow-right::before { + content: "\e552"; } + +.fa-person-walking-dashed-line-arrow-right::before { + content: "\e553"; } + +.fa-person-walking-luggage::before { + content: "\e554"; } + +.fa-person-walking-with-cane::before { + content: "\f29d"; } + +.fa-blind::before { + content: "\f29d"; } + +.fa-peseta-sign::before { + content: "\e221"; } + +.fa-peso-sign::before { + content: "\e222"; } + +.fa-phone::before { + content: "\f095"; } + +.fa-phone-flip::before { + content: "\f879"; } + +.fa-phone-alt::before { + content: "\f879"; } + +.fa-phone-slash::before { + content: "\f3dd"; } + +.fa-phone-volume::before { + content: "\f2a0"; } + +.fa-volume-control-phone::before { + content: "\f2a0"; } + +.fa-photo-film::before { + content: "\f87c"; } + +.fa-photo-video::before { + content: "\f87c"; } + +.fa-piggy-bank::before { + content: "\f4d3"; } + +.fa-pills::before { + content: "\f484"; } + +.fa-pizza-slice::before { + content: "\f818"; } + +.fa-place-of-worship::before { + content: "\f67f"; } + +.fa-plane::before { + content: "\f072"; } + +.fa-plane-arrival::before { + content: "\f5af"; } + +.fa-plane-circle-check::before { + content: "\e555"; } + +.fa-plane-circle-exclamation::before { + content: "\e556"; } + +.fa-plane-circle-xmark::before { + content: "\e557"; } + +.fa-plane-departure::before { + content: "\f5b0"; } + +.fa-plane-lock::before { + content: "\e558"; } + +.fa-plane-slash::before { + content: "\e069"; } + +.fa-plane-up::before { + content: "\e22d"; } + +.fa-plant-wilt::before { + content: "\e5aa"; } + +.fa-plate-wheat::before { + content: "\e55a"; } + +.fa-play::before { + content: "\f04b"; } + +.fa-plug::before { + content: "\f1e6"; } + +.fa-plug-circle-bolt::before { + content: "\e55b"; } + +.fa-plug-circle-check::before { + content: "\e55c"; } + +.fa-plug-circle-exclamation::before { + content: "\e55d"; } + +.fa-plug-circle-minus::before { + content: "\e55e"; } + +.fa-plug-circle-plus::before { + content: "\e55f"; } + +.fa-plug-circle-xmark::before { + content: "\e560"; } + +.fa-plus::before { + content: "\2b"; } + +.fa-add::before { + content: "\2b"; } + +.fa-plus-minus::before { + content: "\e43c"; } + +.fa-podcast::before { + content: "\f2ce"; } + +.fa-poo::before { + content: "\f2fe"; } + +.fa-poo-storm::before { + content: "\f75a"; } + +.fa-poo-bolt::before { + content: "\f75a"; } + +.fa-poop::before { + content: "\f619"; } + +.fa-power-off::before { + content: "\f011"; } + +.fa-prescription::before { + content: "\f5b1"; } + +.fa-prescription-bottle::before { + content: "\f485"; } + +.fa-prescription-bottle-medical::before { + content: "\f486"; } + +.fa-prescription-bottle-alt::before { + content: "\f486"; } + +.fa-print::before { + content: "\f02f"; } + +.fa-pump-medical::before { + content: "\e06a"; } + +.fa-pump-soap::before { + content: "\e06b"; } + +.fa-puzzle-piece::before { + content: "\f12e"; } + +.fa-q::before { + content: "\51"; } + +.fa-qrcode::before { + content: "\f029"; } + +.fa-question::before { + content: "\3f"; } + +.fa-quote-left::before { + content: "\f10d"; } + +.fa-quote-left-alt::before { + content: "\f10d"; } + +.fa-quote-right::before { + content: "\f10e"; } + +.fa-quote-right-alt::before { + content: "\f10e"; } + +.fa-r::before { + content: "\52"; } + +.fa-radiation::before { + content: "\f7b9"; } + +.fa-radio::before { + content: "\f8d7"; } + +.fa-rainbow::before { + content: "\f75b"; } + +.fa-ranking-star::before { + content: "\e561"; } + +.fa-receipt::before { + content: "\f543"; } + +.fa-record-vinyl::before { + content: "\f8d9"; } + +.fa-rectangle-ad::before { + content: "\f641"; } + +.fa-ad::before { + content: "\f641"; } + +.fa-rectangle-list::before { + content: "\f022"; } + +.fa-list-alt::before { + content: "\f022"; } + +.fa-rectangle-xmark::before { + content: "\f410"; } + +.fa-rectangle-times::before { + content: "\f410"; } + +.fa-times-rectangle::before { + content: "\f410"; } + +.fa-window-close::before { + content: "\f410"; } + +.fa-recycle::before { + content: "\f1b8"; } + +.fa-registered::before { + content: "\f25d"; } + +.fa-repeat::before { + content: "\f363"; } + +.fa-reply::before { + content: "\f3e5"; } + +.fa-mail-reply::before { + content: "\f3e5"; } + +.fa-reply-all::before { + content: "\f122"; } + +.fa-mail-reply-all::before { + content: "\f122"; } + +.fa-republican::before { + content: "\f75e"; } + +.fa-restroom::before { + content: "\f7bd"; } + +.fa-retweet::before { + content: "\f079"; } + +.fa-ribbon::before { + content: "\f4d6"; } + +.fa-right-from-bracket::before { + content: "\f2f5"; } + +.fa-sign-out-alt::before { + content: "\f2f5"; } + +.fa-right-left::before { + content: "\f362"; } + +.fa-exchange-alt::before { + content: "\f362"; } + +.fa-right-long::before { + content: "\f30b"; } + +.fa-long-arrow-alt-right::before { + content: "\f30b"; } + +.fa-right-to-bracket::before { + content: "\f2f6"; } + +.fa-sign-in-alt::before { + content: "\f2f6"; } + +.fa-ring::before { + content: "\f70b"; } + +.fa-road::before { + content: "\f018"; } + +.fa-road-barrier::before { + content: "\e562"; } + +.fa-road-bridge::before { + content: "\e563"; } + +.fa-road-circle-check::before { + content: "\e564"; } + +.fa-road-circle-exclamation::before { + content: "\e565"; } + +.fa-road-circle-xmark::before { + content: "\e566"; } + +.fa-road-lock::before { + content: "\e567"; } + +.fa-road-spikes::before { + content: "\e568"; } + +.fa-robot::before { + content: "\f544"; } + +.fa-rocket::before { + content: "\f135"; } + +.fa-rotate::before { + content: "\f2f1"; } + +.fa-sync-alt::before { + content: "\f2f1"; } + +.fa-rotate-left::before { + content: "\f2ea"; } + +.fa-rotate-back::before { + content: "\f2ea"; } + +.fa-rotate-backward::before { + content: "\f2ea"; } + +.fa-undo-alt::before { + content: "\f2ea"; } + +.fa-rotate-right::before { + content: "\f2f9"; } + +.fa-redo-alt::before { + content: "\f2f9"; } + +.fa-rotate-forward::before { + content: "\f2f9"; } + +.fa-route::before { + content: "\f4d7"; } + +.fa-rss::before { + content: "\f09e"; } + +.fa-feed::before { + content: "\f09e"; } + +.fa-ruble-sign::before { + content: "\f158"; } + +.fa-rouble::before { + content: "\f158"; } + +.fa-rub::before { + content: "\f158"; } + +.fa-ruble::before { + content: "\f158"; } + +.fa-rug::before { + content: "\e569"; } + +.fa-ruler::before { + content: "\f545"; } + +.fa-ruler-combined::before { + content: "\f546"; } + +.fa-ruler-horizontal::before { + content: "\f547"; } + +.fa-ruler-vertical::before { + content: "\f548"; } + +.fa-rupee-sign::before { + content: "\f156"; } + +.fa-rupee::before { + content: "\f156"; } + +.fa-rupiah-sign::before { + content: "\e23d"; } + +.fa-s::before { + content: "\53"; } + +.fa-sack-dollar::before { + content: "\f81d"; } + +.fa-sack-xmark::before { + content: "\e56a"; } + +.fa-sailboat::before { + content: "\e445"; } + +.fa-satellite::before { + content: "\f7bf"; } + +.fa-satellite-dish::before { + content: "\f7c0"; } + +.fa-scale-balanced::before { + content: "\f24e"; } + +.fa-balance-scale::before { + content: "\f24e"; } + +.fa-scale-unbalanced::before { + content: "\f515"; } + +.fa-balance-scale-left::before { + content: "\f515"; } + +.fa-scale-unbalanced-flip::before { + content: "\f516"; } + +.fa-balance-scale-right::before { + content: "\f516"; } + +.fa-school::before { + content: "\f549"; } + +.fa-school-circle-check::before { + content: "\e56b"; } + +.fa-school-circle-exclamation::before { + content: "\e56c"; } + +.fa-school-circle-xmark::before { + content: "\e56d"; } + +.fa-school-flag::before { + content: "\e56e"; } + +.fa-school-lock::before { + content: "\e56f"; } + +.fa-scissors::before { + content: "\f0c4"; } + +.fa-cut::before { + content: "\f0c4"; } + +.fa-screwdriver::before { + content: "\f54a"; } + +.fa-screwdriver-wrench::before { + content: "\f7d9"; } + +.fa-tools::before { + content: "\f7d9"; } + +.fa-scroll::before { + content: "\f70e"; } + +.fa-scroll-torah::before { + content: "\f6a0"; } + +.fa-torah::before { + content: "\f6a0"; } + +.fa-sd-card::before { + content: "\f7c2"; } + +.fa-section::before { + content: "\e447"; } + +.fa-seedling::before { + content: "\f4d8"; } + +.fa-sprout::before { + content: "\f4d8"; } + +.fa-server::before { + content: "\f233"; } + +.fa-shapes::before { + content: "\f61f"; } + +.fa-triangle-circle-square::before { + content: "\f61f"; } + +.fa-share::before { + content: "\f064"; } + +.fa-arrow-turn-right::before { + content: "\f064"; } + +.fa-mail-forward::before { + content: "\f064"; } + +.fa-share-from-square::before { + content: "\f14d"; } + +.fa-share-square::before { + content: "\f14d"; } + +.fa-share-nodes::before { + content: "\f1e0"; } + +.fa-share-alt::before { + content: "\f1e0"; } + +.fa-sheet-plastic::before { + content: "\e571"; } + +.fa-shekel-sign::before { + content: "\f20b"; } + +.fa-ils::before { + content: "\f20b"; } + +.fa-shekel::before { + content: "\f20b"; } + +.fa-sheqel::before { + content: "\f20b"; } + +.fa-sheqel-sign::before { + content: "\f20b"; } + +.fa-shield::before { + content: "\f132"; } + +.fa-shield-blank::before { + content: "\f132"; } + +.fa-shield-cat::before { + content: "\e572"; } + +.fa-shield-dog::before { + content: "\e573"; } + +.fa-shield-halved::before { + content: "\f3ed"; } + +.fa-shield-alt::before { + content: "\f3ed"; } + +.fa-shield-heart::before { + content: "\e574"; } + +.fa-shield-virus::before { + content: "\e06c"; } + +.fa-ship::before { + content: "\f21a"; } + +.fa-shirt::before { + content: "\f553"; } + +.fa-t-shirt::before { + content: "\f553"; } + +.fa-tshirt::before { + content: "\f553"; } + +.fa-shoe-prints::before { + content: "\f54b"; } + +.fa-shop::before { + content: "\f54f"; } + +.fa-store-alt::before { + content: "\f54f"; } + +.fa-shop-lock::before { + content: "\e4a5"; } + +.fa-shop-slash::before { + content: "\e070"; } + +.fa-store-alt-slash::before { + content: "\e070"; } + +.fa-shower::before { + content: "\f2cc"; } + +.fa-shrimp::before { + content: "\e448"; } + +.fa-shuffle::before { + content: "\f074"; } + +.fa-random::before { + content: "\f074"; } + +.fa-shuttle-space::before { + content: "\f197"; } + +.fa-space-shuttle::before { + content: "\f197"; } + +.fa-sign-hanging::before { + content: "\f4d9"; } + +.fa-sign::before { + content: "\f4d9"; } + +.fa-signal::before { + content: "\f012"; } + +.fa-signal-5::before { + content: "\f012"; } + +.fa-signal-perfect::before { + content: "\f012"; } + +.fa-signature::before { + content: "\f5b7"; } + +.fa-signs-post::before { + content: "\f277"; } + +.fa-map-signs::before { + content: "\f277"; } + +.fa-sim-card::before { + content: "\f7c4"; } + +.fa-sink::before { + content: "\e06d"; } + +.fa-sitemap::before { + content: "\f0e8"; } + +.fa-skull::before { + content: "\f54c"; } + +.fa-skull-crossbones::before { + content: "\f714"; } + +.fa-slash::before { + content: "\f715"; } + +.fa-sleigh::before { + content: "\f7cc"; } + +.fa-sliders::before { + content: "\f1de"; } + +.fa-sliders-h::before { + content: "\f1de"; } + +.fa-smog::before { + content: "\f75f"; } + +.fa-smoking::before { + content: "\f48d"; } + +.fa-snowflake::before { + content: "\f2dc"; } + +.fa-snowman::before { + content: "\f7d0"; } + +.fa-snowplow::before { + content: "\f7d2"; } + +.fa-soap::before { + content: "\e06e"; } + +.fa-socks::before { + content: "\f696"; } + +.fa-solar-panel::before { + content: "\f5ba"; } + +.fa-sort::before { + content: "\f0dc"; } + +.fa-unsorted::before { + content: "\f0dc"; } + +.fa-sort-down::before { + content: "\f0dd"; } + +.fa-sort-desc::before { + content: "\f0dd"; } + +.fa-sort-up::before { + content: "\f0de"; } + +.fa-sort-asc::before { + content: "\f0de"; } + +.fa-spa::before { + content: "\f5bb"; } + +.fa-spaghetti-monster-flying::before { + content: "\f67b"; } + +.fa-pastafarianism::before { + content: "\f67b"; } + +.fa-spell-check::before { + content: "\f891"; } + +.fa-spider::before { + content: "\f717"; } + +.fa-spinner::before { + content: "\f110"; } + +.fa-splotch::before { + content: "\f5bc"; } + +.fa-spoon::before { + content: "\f2e5"; } + +.fa-utensil-spoon::before { + content: "\f2e5"; } + +.fa-spray-can::before { + content: "\f5bd"; } + +.fa-spray-can-sparkles::before { + content: "\f5d0"; } + +.fa-air-freshener::before { + content: "\f5d0"; } + +.fa-square::before { + content: "\f0c8"; } + +.fa-square-arrow-up-right::before { + content: "\f14c"; } + +.fa-external-link-square::before { + content: "\f14c"; } + +.fa-square-caret-down::before { + content: "\f150"; } + +.fa-caret-square-down::before { + content: "\f150"; } + +.fa-square-caret-left::before { + content: "\f191"; } + +.fa-caret-square-left::before { + content: "\f191"; } + +.fa-square-caret-right::before { + content: "\f152"; } + +.fa-caret-square-right::before { + content: "\f152"; } + +.fa-square-caret-up::before { + content: "\f151"; } + +.fa-caret-square-up::before { + content: "\f151"; } + +.fa-square-check::before { + content: "\f14a"; } + +.fa-check-square::before { + content: "\f14a"; } + +.fa-square-envelope::before { + content: "\f199"; } + +.fa-envelope-square::before { + content: "\f199"; } + +.fa-square-full::before { + content: "\f45c"; } + +.fa-square-h::before { + content: "\f0fd"; } + +.fa-h-square::before { + content: "\f0fd"; } + +.fa-square-minus::before { + content: "\f146"; } + +.fa-minus-square::before { + content: "\f146"; } + +.fa-square-nfi::before { + content: "\e576"; } + +.fa-square-parking::before { + content: "\f540"; } + +.fa-parking::before { + content: "\f540"; } + +.fa-square-pen::before { + content: "\f14b"; } + +.fa-pen-square::before { + content: "\f14b"; } + +.fa-pencil-square::before { + content: "\f14b"; } + +.fa-square-person-confined::before { + content: "\e577"; } + +.fa-square-phone::before { + content: "\f098"; } + +.fa-phone-square::before { + content: "\f098"; } + +.fa-square-phone-flip::before { + content: "\f87b"; } + +.fa-phone-square-alt::before { + content: "\f87b"; } + +.fa-square-plus::before { + content: "\f0fe"; } + +.fa-plus-square::before { + content: "\f0fe"; } + +.fa-square-poll-horizontal::before { + content: "\f682"; } + +.fa-poll-h::before { + content: "\f682"; } + +.fa-square-poll-vertical::before { + content: "\f681"; } + +.fa-poll::before { + content: "\f681"; } + +.fa-square-root-variable::before { + content: "\f698"; } + +.fa-square-root-alt::before { + content: "\f698"; } + +.fa-square-rss::before { + content: "\f143"; } + +.fa-rss-square::before { + content: "\f143"; } + +.fa-square-share-nodes::before { + content: "\f1e1"; } + +.fa-share-alt-square::before { + content: "\f1e1"; } + +.fa-square-up-right::before { + content: "\f360"; } + +.fa-external-link-square-alt::before { + content: "\f360"; } + +.fa-square-virus::before { + content: "\e578"; } + +.fa-square-xmark::before { + content: "\f2d3"; } + +.fa-times-square::before { + content: "\f2d3"; } + +.fa-xmark-square::before { + content: "\f2d3"; } + +.fa-staff-snake::before { + content: "\e579"; } + +.fa-rod-asclepius::before { + content: "\e579"; } + +.fa-rod-snake::before { + content: "\e579"; } + +.fa-staff-aesculapius::before { + content: "\e579"; } + +.fa-stairs::before { + content: "\e289"; } + +.fa-stamp::before { + content: "\f5bf"; } + +.fa-stapler::before { + content: "\e5af"; } + +.fa-star::before { + content: "\f005"; } + +.fa-star-and-crescent::before { + content: "\f699"; } + +.fa-star-half::before { + content: "\f089"; } + +.fa-star-half-stroke::before { + content: "\f5c0"; } + +.fa-star-half-alt::before { + content: "\f5c0"; } + +.fa-star-of-david::before { + content: "\f69a"; } + +.fa-star-of-life::before { + content: "\f621"; } + +.fa-sterling-sign::before { + content: "\f154"; } + +.fa-gbp::before { + content: "\f154"; } + +.fa-pound-sign::before { + content: "\f154"; } + +.fa-stethoscope::before { + content: "\f0f1"; } + +.fa-stop::before { + content: "\f04d"; } + +.fa-stopwatch::before { + content: "\f2f2"; } + +.fa-stopwatch-20::before { + content: "\e06f"; } + +.fa-store::before { + content: "\f54e"; } + +.fa-store-slash::before { + content: "\e071"; } + +.fa-street-view::before { + content: "\f21d"; } + +.fa-strikethrough::before { + content: "\f0cc"; } + +.fa-stroopwafel::before { + content: "\f551"; } + +.fa-subscript::before { + content: "\f12c"; } + +.fa-suitcase::before { + content: "\f0f2"; } + +.fa-suitcase-medical::before { + content: "\f0fa"; } + +.fa-medkit::before { + content: "\f0fa"; } + +.fa-suitcase-rolling::before { + content: "\f5c1"; } + +.fa-sun::before { + content: "\f185"; } + +.fa-sun-plant-wilt::before { + content: "\e57a"; } + +.fa-superscript::before { + content: "\f12b"; } + +.fa-swatchbook::before { + content: "\f5c3"; } + +.fa-synagogue::before { + content: "\f69b"; } + +.fa-syringe::before { + content: "\f48e"; } + +.fa-t::before { + content: "\54"; } + +.fa-table::before { + content: "\f0ce"; } + +.fa-table-cells::before { + content: "\f00a"; } + +.fa-th::before { + content: "\f00a"; } + +.fa-table-cells-large::before { + content: "\f009"; } + +.fa-th-large::before { + content: "\f009"; } + +.fa-table-columns::before { + content: "\f0db"; } + +.fa-columns::before { + content: "\f0db"; } + +.fa-table-list::before { + content: "\f00b"; } + +.fa-th-list::before { + content: "\f00b"; } + +.fa-table-tennis-paddle-ball::before { + content: "\f45d"; } + +.fa-ping-pong-paddle-ball::before { + content: "\f45d"; } + +.fa-table-tennis::before { + content: "\f45d"; } + +.fa-tablet::before { + content: "\f3fb"; } + +.fa-tablet-android::before { + content: "\f3fb"; } + +.fa-tablet-button::before { + content: "\f10a"; } + +.fa-tablet-screen-button::before { + content: "\f3fa"; } + +.fa-tablet-alt::before { + content: "\f3fa"; } + +.fa-tablets::before { + content: "\f490"; } + +.fa-tachograph-digital::before { + content: "\f566"; } + +.fa-digital-tachograph::before { + content: "\f566"; } + +.fa-tag::before { + content: "\f02b"; } + +.fa-tags::before { + content: "\f02c"; } + +.fa-tape::before { + content: "\f4db"; } + +.fa-tarp::before { + content: "\e57b"; } + +.fa-tarp-droplet::before { + content: "\e57c"; } + +.fa-taxi::before { + content: "\f1ba"; } + +.fa-cab::before { + content: "\f1ba"; } + +.fa-teeth::before { + content: "\f62e"; } + +.fa-teeth-open::before { + content: "\f62f"; } + +.fa-temperature-arrow-down::before { + content: "\e03f"; } + +.fa-temperature-down::before { + content: "\e03f"; } + +.fa-temperature-arrow-up::before { + content: "\e040"; } + +.fa-temperature-up::before { + content: "\e040"; } + +.fa-temperature-empty::before { + content: "\f2cb"; } + +.fa-temperature-0::before { + content: "\f2cb"; } + +.fa-thermometer-0::before { + content: "\f2cb"; } + +.fa-thermometer-empty::before { + content: "\f2cb"; } + +.fa-temperature-full::before { + content: "\f2c7"; } + +.fa-temperature-4::before { + content: "\f2c7"; } + +.fa-thermometer-4::before { + content: "\f2c7"; } + +.fa-thermometer-full::before { + content: "\f2c7"; } + +.fa-temperature-half::before { + content: "\f2c9"; } + +.fa-temperature-2::before { + content: "\f2c9"; } + +.fa-thermometer-2::before { + content: "\f2c9"; } + +.fa-thermometer-half::before { + content: "\f2c9"; } + +.fa-temperature-high::before { + content: "\f769"; } + +.fa-temperature-low::before { + content: "\f76b"; } + +.fa-temperature-quarter::before { + content: "\f2ca"; } + +.fa-temperature-1::before { + content: "\f2ca"; } + +.fa-thermometer-1::before { + content: "\f2ca"; } + +.fa-thermometer-quarter::before { + content: "\f2ca"; } + +.fa-temperature-three-quarters::before { + content: "\f2c8"; } + +.fa-temperature-3::before { + content: "\f2c8"; } + +.fa-thermometer-3::before { + content: "\f2c8"; } + +.fa-thermometer-three-quarters::before { + content: "\f2c8"; } + +.fa-tenge-sign::before { + content: "\f7d7"; } + +.fa-tenge::before { + content: "\f7d7"; } + +.fa-tent::before { + content: "\e57d"; } + +.fa-tent-arrow-down-to-line::before { + content: "\e57e"; } + +.fa-tent-arrow-left-right::before { + content: "\e57f"; } + +.fa-tent-arrow-turn-left::before { + content: "\e580"; } + +.fa-tent-arrows-down::before { + content: "\e581"; } + +.fa-tents::before { + content: "\e582"; } + +.fa-terminal::before { + content: "\f120"; } + +.fa-text-height::before { + content: "\f034"; } + +.fa-text-slash::before { + content: "\f87d"; } + +.fa-remove-format::before { + content: "\f87d"; } + +.fa-text-width::before { + content: "\f035"; } + +.fa-thermometer::before { + content: "\f491"; } + +.fa-thumbs-down::before { + content: "\f165"; } + +.fa-thumbs-up::before { + content: "\f164"; } + +.fa-thumbtack::before { + content: "\f08d"; } + +.fa-thumb-tack::before { + content: "\f08d"; } + +.fa-ticket::before { + content: "\f145"; } + +.fa-ticket-simple::before { + content: "\f3ff"; } + +.fa-ticket-alt::before { + content: "\f3ff"; } + +.fa-timeline::before { + content: "\e29c"; } + +.fa-toggle-off::before { + content: "\f204"; } + +.fa-toggle-on::before { + content: "\f205"; } + +.fa-toilet::before { + content: "\f7d8"; } + +.fa-toilet-paper::before { + content: "\f71e"; } + +.fa-toilet-paper-slash::before { + content: "\e072"; } + +.fa-toilet-portable::before { + content: "\e583"; } + +.fa-toilets-portable::before { + content: "\e584"; } + +.fa-toolbox::before { + content: "\f552"; } + +.fa-tooth::before { + content: "\f5c9"; } + +.fa-torii-gate::before { + content: "\f6a1"; } + +.fa-tornado::before { + content: "\f76f"; } + +.fa-tower-broadcast::before { + content: "\f519"; } + +.fa-broadcast-tower::before { + content: "\f519"; } + +.fa-tower-cell::before { + content: "\e585"; } + +.fa-tower-observation::before { + content: "\e586"; } + +.fa-tractor::before { + content: "\f722"; } + +.fa-trademark::before { + content: "\f25c"; } + +.fa-traffic-light::before { + content: "\f637"; } + +.fa-trailer::before { + content: "\e041"; } + +.fa-train::before { + content: "\f238"; } + +.fa-train-subway::before { + content: "\f239"; } + +.fa-subway::before { + content: "\f239"; } + +.fa-train-tram::before { + content: "\e5b4"; } + +.fa-transgender::before { + content: "\f225"; } + +.fa-transgender-alt::before { + content: "\f225"; } + +.fa-trash::before { + content: "\f1f8"; } + +.fa-trash-arrow-up::before { + content: "\f829"; } + +.fa-trash-restore::before { + content: "\f829"; } + +.fa-trash-can::before { + content: "\f2ed"; } + +.fa-trash-alt::before { + content: "\f2ed"; } + +.fa-trash-can-arrow-up::before { + content: "\f82a"; } + +.fa-trash-restore-alt::before { + content: "\f82a"; } + +.fa-tree::before { + content: "\f1bb"; } + +.fa-tree-city::before { + content: "\e587"; } + +.fa-triangle-exclamation::before { + content: "\f071"; } + +.fa-exclamation-triangle::before { + content: "\f071"; } + +.fa-warning::before { + content: "\f071"; } + +.fa-trophy::before { + content: "\f091"; } + +.fa-trowel::before { + content: "\e589"; } + +.fa-trowel-bricks::before { + content: "\e58a"; } + +.fa-truck::before { + content: "\f0d1"; } + +.fa-truck-arrow-right::before { + content: "\e58b"; } + +.fa-truck-droplet::before { + content: "\e58c"; } + +.fa-truck-fast::before { + content: "\f48b"; } + +.fa-shipping-fast::before { + content: "\f48b"; } + +.fa-truck-field::before { + content: "\e58d"; } + +.fa-truck-field-un::before { + content: "\e58e"; } + +.fa-truck-front::before { + content: "\e2b7"; } + +.fa-truck-medical::before { + content: "\f0f9"; } + +.fa-ambulance::before { + content: "\f0f9"; } + +.fa-truck-monster::before { + content: "\f63b"; } + +.fa-truck-moving::before { + content: "\f4df"; } + +.fa-truck-pickup::before { + content: "\f63c"; } + +.fa-truck-plane::before { + content: "\e58f"; } + +.fa-truck-ramp-box::before { + content: "\f4de"; } + +.fa-truck-loading::before { + content: "\f4de"; } + +.fa-tty::before { + content: "\f1e4"; } + +.fa-teletype::before { + content: "\f1e4"; } + +.fa-turkish-lira-sign::before { + content: "\e2bb"; } + +.fa-try::before { + content: "\e2bb"; } + +.fa-turkish-lira::before { + content: "\e2bb"; } + +.fa-turn-down::before { + content: "\f3be"; } + +.fa-level-down-alt::before { + content: "\f3be"; } + +.fa-turn-up::before { + content: "\f3bf"; } + +.fa-level-up-alt::before { + content: "\f3bf"; } + +.fa-tv::before { + content: "\f26c"; } + +.fa-television::before { + content: "\f26c"; } + +.fa-tv-alt::before { + content: "\f26c"; } + +.fa-u::before { + content: "\55"; } + +.fa-umbrella::before { + content: "\f0e9"; } + +.fa-umbrella-beach::before { + content: "\f5ca"; } + +.fa-underline::before { + content: "\f0cd"; } + +.fa-universal-access::before { + content: "\f29a"; } + +.fa-unlock::before { + content: "\f09c"; } + +.fa-unlock-keyhole::before { + content: "\f13e"; } + +.fa-unlock-alt::before { + content: "\f13e"; } + +.fa-up-down::before { + content: "\f338"; } + +.fa-arrows-alt-v::before { + content: "\f338"; } + +.fa-up-down-left-right::before { + content: "\f0b2"; } + +.fa-arrows-alt::before { + content: "\f0b2"; } + +.fa-up-long::before { + content: "\f30c"; } + +.fa-long-arrow-alt-up::before { + content: "\f30c"; } + +.fa-up-right-and-down-left-from-center::before { + content: "\f424"; } + +.fa-expand-alt::before { + content: "\f424"; } + +.fa-up-right-from-square::before { + content: "\f35d"; } + +.fa-external-link-alt::before { + content: "\f35d"; } + +.fa-upload::before { + content: "\f093"; } + +.fa-user::before { + content: "\f007"; } + +.fa-user-astronaut::before { + content: "\f4fb"; } + +.fa-user-check::before { + content: "\f4fc"; } + +.fa-user-clock::before { + content: "\f4fd"; } + +.fa-user-doctor::before { + content: "\f0f0"; } + +.fa-user-md::before { + content: "\f0f0"; } + +.fa-user-gear::before { + content: "\f4fe"; } + +.fa-user-cog::before { + content: "\f4fe"; } + +.fa-user-graduate::before { + content: "\f501"; } + +.fa-user-group::before { + content: "\f500"; } + +.fa-user-friends::before { + content: "\f500"; } + +.fa-user-injured::before { + content: "\f728"; } + +.fa-user-large::before { + content: "\f406"; } + +.fa-user-alt::before { + content: "\f406"; } + +.fa-user-large-slash::before { + content: "\f4fa"; } + +.fa-user-alt-slash::before { + content: "\f4fa"; } + +.fa-user-lock::before { + content: "\f502"; } + +.fa-user-minus::before { + content: "\f503"; } + +.fa-user-ninja::before { + content: "\f504"; } + +.fa-user-nurse::before { + content: "\f82f"; } + +.fa-user-pen::before { + content: "\f4ff"; } + +.fa-user-edit::before { + content: "\f4ff"; } + +.fa-user-plus::before { + content: "\f234"; } + +.fa-user-secret::before { + content: "\f21b"; } + +.fa-user-shield::before { + content: "\f505"; } + +.fa-user-slash::before { + content: "\f506"; } + +.fa-user-tag::before { + content: "\f507"; } + +.fa-user-tie::before { + content: "\f508"; } + +.fa-user-xmark::before { + content: "\f235"; } + +.fa-user-times::before { + content: "\f235"; } + +.fa-users::before { + content: "\f0c0"; } + +.fa-users-between-lines::before { + content: "\e591"; } + +.fa-users-gear::before { + content: "\f509"; } + +.fa-users-cog::before { + content: "\f509"; } + +.fa-users-line::before { + content: "\e592"; } + +.fa-users-rays::before { + content: "\e593"; } + +.fa-users-rectangle::before { + content: "\e594"; } + +.fa-users-slash::before { + content: "\e073"; } + +.fa-users-viewfinder::before { + content: "\e595"; } + +.fa-utensils::before { + content: "\f2e7"; } + +.fa-cutlery::before { + content: "\f2e7"; } + +.fa-v::before { + content: "\56"; } + +.fa-van-shuttle::before { + content: "\f5b6"; } + +.fa-shuttle-van::before { + content: "\f5b6"; } + +.fa-vault::before { + content: "\e2c5"; } + +.fa-vector-square::before { + content: "\f5cb"; } + +.fa-venus::before { + content: "\f221"; } + +.fa-venus-double::before { + content: "\f226"; } + +.fa-venus-mars::before { + content: "\f228"; } + +.fa-vest::before { + content: "\e085"; } + +.fa-vest-patches::before { + content: "\e086"; } + +.fa-vial::before { + content: "\f492"; } + +.fa-vial-circle-check::before { + content: "\e596"; } + +.fa-vial-virus::before { + content: "\e597"; } + +.fa-vials::before { + content: "\f493"; } + +.fa-video::before { + content: "\f03d"; } + +.fa-video-camera::before { + content: "\f03d"; } + +.fa-video-slash::before { + content: "\f4e2"; } + +.fa-vihara::before { + content: "\f6a7"; } + +.fa-virus::before { + content: "\e074"; } + +.fa-virus-covid::before { + content: "\e4a8"; } + +.fa-virus-covid-slash::before { + content: "\e4a9"; } + +.fa-virus-slash::before { + content: "\e075"; } + +.fa-viruses::before { + content: "\e076"; } + +.fa-voicemail::before { + content: "\f897"; } + +.fa-volcano::before { + content: "\f770"; } + +.fa-volleyball::before { + content: "\f45f"; } + +.fa-volleyball-ball::before { + content: "\f45f"; } + +.fa-volume-high::before { + content: "\f028"; } + +.fa-volume-up::before { + content: "\f028"; } + +.fa-volume-low::before { + content: "\f027"; } + +.fa-volume-down::before { + content: "\f027"; } + +.fa-volume-off::before { + content: "\f026"; } + +.fa-volume-xmark::before { + content: "\f6a9"; } + +.fa-volume-mute::before { + content: "\f6a9"; } + +.fa-volume-times::before { + content: "\f6a9"; } + +.fa-vr-cardboard::before { + content: "\f729"; } + +.fa-w::before { + content: "\57"; } + +.fa-walkie-talkie::before { + content: "\f8ef"; } + +.fa-wallet::before { + content: "\f555"; } + +.fa-wand-magic::before { + content: "\f0d0"; } + +.fa-magic::before { + content: "\f0d0"; } + +.fa-wand-magic-sparkles::before { + content: "\e2ca"; } + +.fa-magic-wand-sparkles::before { + content: "\e2ca"; } + +.fa-wand-sparkles::before { + content: "\f72b"; } + +.fa-warehouse::before { + content: "\f494"; } + +.fa-water::before { + content: "\f773"; } + +.fa-water-ladder::before { + content: "\f5c5"; } + +.fa-ladder-water::before { + content: "\f5c5"; } + +.fa-swimming-pool::before { + content: "\f5c5"; } + +.fa-wave-square::before { + content: "\f83e"; } + +.fa-weight-hanging::before { + content: "\f5cd"; } + +.fa-weight-scale::before { + content: "\f496"; } + +.fa-weight::before { + content: "\f496"; } + +.fa-wheat-awn::before { + content: "\e2cd"; } + +.fa-wheat-alt::before { + content: "\e2cd"; } + +.fa-wheat-awn-circle-exclamation::before { + content: "\e598"; } + +.fa-wheelchair::before { + content: "\f193"; } + +.fa-wheelchair-move::before { + content: "\e2ce"; } + +.fa-wheelchair-alt::before { + content: "\e2ce"; } + +.fa-whiskey-glass::before { + content: "\f7a0"; } + +.fa-glass-whiskey::before { + content: "\f7a0"; } + +.fa-wifi::before { + content: "\f1eb"; } + +.fa-wifi-3::before { + content: "\f1eb"; } + +.fa-wifi-strong::before { + content: "\f1eb"; } + +.fa-wind::before { + content: "\f72e"; } + +.fa-window-maximize::before { + content: "\f2d0"; } + +.fa-window-minimize::before { + content: "\f2d1"; } + +.fa-window-restore::before { + content: "\f2d2"; } + +.fa-wine-bottle::before { + content: "\f72f"; } + +.fa-wine-glass::before { + content: "\f4e3"; } + +.fa-wine-glass-empty::before { + content: "\f5ce"; } + +.fa-wine-glass-alt::before { + content: "\f5ce"; } + +.fa-won-sign::before { + content: "\f159"; } + +.fa-krw::before { + content: "\f159"; } + +.fa-won::before { + content: "\f159"; } + +.fa-worm::before { + content: "\e599"; } + +.fa-wrench::before { + content: "\f0ad"; } + +.fa-x::before { + content: "\58"; } + +.fa-x-ray::before { + content: "\f497"; } + +.fa-xmark::before { + content: "\f00d"; } + +.fa-close::before { + content: "\f00d"; } + +.fa-multiply::before { + content: "\f00d"; } + +.fa-remove::before { + content: "\f00d"; } + +.fa-times::before { + content: "\f00d"; } + +.fa-xmarks-lines::before { + content: "\e59a"; } + +.fa-y::before { + content: "\59"; } + +.fa-yen-sign::before { + content: "\f157"; } + +.fa-cny::before { + content: "\f157"; } + +.fa-jpy::before { + content: "\f157"; } + +.fa-rmb::before { + content: "\f157"; } + +.fa-yen::before { + content: "\f157"; } + +.fa-yin-yang::before { + content: "\f6ad"; } + +.fa-z::before { + content: "\5a"; } + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } +:root, :host { + --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; } + +@font-face { + font-family: 'Font Awesome 6 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +.fab, +.fa-brands { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa-42-group:before { + content: "\e080"; } + +.fa-innosoft:before { + content: "\e080"; } + +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-bilibili:before { + content: "\e3d9"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-bots:before { + content: "\e340"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-cloudflare:before { + content: "\e07d"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-cmplid:before { + content: "\e360"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-dailymotion:before { + content: "\e052"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-deezer:before { + content: "\e077"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edge-legacy:before { + content: "\e078"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-firefox-browser:before { + content: "\e007"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-flag:before { + content: "\f2b4"; } + +.fa-font-awesome-logo-full:before { + content: "\f2b4"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golang:before { + content: "\e40f"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-pay:before { + content: "\e079"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-guilded:before { + content: "\e07e"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-hashnode:before { + content: "\e499"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-hive:before { + content: "\e07f"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-ideal:before { + content: "\e013"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-instalod:before { + content: "\e081"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f23a"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-meta:before { + content: "\e49b"; } + +.fa-microblog:before { + content: "\e01a"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mixer:before { + content: "\e056"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-nfc-directional:before { + content: "\e530"; } + +.fa-nfc-symbol:before { + content: "\e531"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-octopus-deploy:before { + content: "\e082"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-padlet:before { + content: "\e4a0"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-perbyte:before { + content: "\e083"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pix:before { + content: "\e43a"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-rust:before { + content: "\e07a"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-screenpal:before { + content: "\e570"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shopify:before { + content: "\e057"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-sitrox:before { + content: "\e44a"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f198"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ab"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-space-awesome:before { + content: "\e5ac"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-square-behance:before { + content: "\f1b5"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-square-dribbble:before { + content: "\f397"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-square-facebook:before { + content: "\f082"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-square-font-awesome:before { + content: "\e5ad"; } + +.fa-square-font-awesome-stroke:before { + content: "\f35c"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-square-git:before { + content: "\f1d2"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-square-github:before { + content: "\f092"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-square-gitlab:before { + content: "\e5ae"; } + +.fa-gitlab-square:before { + content: "\e5ae"; } + +.fa-square-google-plus:before { + content: "\f0d4"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-square-hacker-news:before { + content: "\f3af"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-square-instagram:before { + content: "\e055"; } + +.fa-instagram-square:before { + content: "\e055"; } + +.fa-square-js:before { + content: "\f3b9"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-square-lastfm:before { + content: "\f203"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-square-odnoklassniki:before { + content: "\f264"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-square-pied-piper:before { + content: "\e01e"; } + +.fa-pied-piper-square:before { + content: "\e01e"; } + +.fa-square-pinterest:before { + content: "\f0d3"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-square-reddit:before { + content: "\f1a2"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-square-snapchat:before { + content: "\f2ad"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-square-steam:before { + content: "\f1b7"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-square-tumblr:before { + content: "\f174"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-square-twitter:before { + content: "\f081"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-square-viadeo:before { + content: "\f2aa"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-square-vimeo:before { + content: "\f194"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-square-whatsapp:before { + content: "\f40c"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-square-xing:before { + content: "\f169"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-square-youtube:before { + content: "\f431"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f2c6"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-tiktok:before { + content: "\e07b"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-uncharted:before { + content: "\e084"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-unity:before { + content: "\e049"; } + +.fa-unsplash:before { + content: "\e07c"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-watchman-monitoring:before { + content: "\e087"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wirsindhandwerk:before { + content: "\e2d0"; } + +.fa-wsh:before { + content: "\e2d0"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-wodu:before { + content: "\e088"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-rendact:before { + content: "\f3e4"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-zhihu:before { + content: "\f63f"; } +:root, :host { + --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; } + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } + +.far, +.fa-regular { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } +:root, :host { + --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; } + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +.fas, +.fa-solid { + font-family: 'Font Awesome 6 Free'; + font-weight: 900; } +@font-face { + font-family: "Font Awesome 5 Brands"; + font-display: block; + font-weight: 400; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +@font-face { + font-family: "Font Awesome 5 Free"; + font-display: block; + font-weight: 900; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +@font-face { + font-family: "Font Awesome 5 Free"; + font-display: block; + font-weight: 400; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } +@font-face { + font-family: "FontAwesome"; + font-display: block; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +@font-face { + font-family: "FontAwesome"; + font-display: block; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +@font-face { + font-family: "FontAwesome"; + font-display: block; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); + unicode-range: U+F003,U+F006,U+F014,U+F016-F017,U+F01A-F01B,U+F01D,U+F022,U+F03E,U+F044,U+F046,U+F05C-F05D,U+F06E,U+F070,U+F087-F088,U+F08A,U+F094,U+F096-F097,U+F09D,U+F0A0,U+F0A2,U+F0A4-F0A7,U+F0C5,U+F0C7,U+F0E5-F0E6,U+F0EB,U+F0F6-F0F8,U+F10C,U+F114-F115,U+F118-F11A,U+F11C-F11D,U+F133,U+F147,U+F14E,U+F150-F152,U+F185-F186,U+F18E,U+F190-F192,U+F196,U+F1C1-F1C9,U+F1D9,U+F1DB,U+F1E3,U+F1EA,U+F1F7,U+F1F9,U+F20A,U+F247-F248,U+F24A,U+F24D,U+F255-F25B,U+F25D,U+F271-F274,U+F278,U+F27B,U+F28C,U+F28E,U+F29C,U+F2B5,U+F2B7,U+F2BA,U+F2BC,U+F2BE,U+F2C0-F2C1,U+F2C3,U+F2D0,U+F2D2,U+F2D4,U+F2DC; } + +@font-face { + font-family: "FontAwesome"; + font-display: block; + src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype"); + unicode-range: U+F041,U+F047,U+F065-F066,U+F07D-F07E,U+F080,U+F08B,U+F08E,U+F090,U+F09A,U+F0AC,U+F0AE,U+F0B2,U+F0D0,U+F0D6,U+F0E4,U+F0EC,U+F10A-F10B,U+F123,U+F13E,U+F148-F149,U+F14C,U+F156,U+F15E,U+F160-F161,U+F163,U+F175-F178,U+F195,U+F1F8,U+F219,U+F27A; } diff --git a/framework/reon/assets/css/fontawesome/css/all.min.css b/framework/reon/assets/css/fontawesome/css/all.min.css new file mode 100644 index 0000000..b9a01fb --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/all.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-a:before{content:"\41"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-anchor:before{content:"\f13d"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-anchor-lock:before{content:"\e4ad"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-ankh:before{content:"\f644"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-archway:before{content:"\f557"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-arrow-trend-down:before{content:"\e097"}.fa-arrow-trend-up:before{content:"\e098"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-arrows-spin:before{content:"\e4bb"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-asterisk:before{content:"\2a"}.fa-at:before{content:"\40"}.fa-atom:before{content:"\f5d2"}.fa-audio-description:before{content:"\f29e"}.fa-austral-sign:before{content:"\e0a9"}.fa-award:before{content:"\f559"}.fa-b:before{content:"\42"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-backward:before{content:"\f04a"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-baht-sign:before{content:"\e0ac"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-barcode:before{content:"\f02a"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-bell:before{content:"\f0f3"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blog:before{content:"\f781"}.fa-bold:before{content:"\f032"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-book-bookmark:before{content:"\e0bb"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-bookmark:before{content:"\f02e"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-bore-hole:before{content:"\e4c3"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-bottle-water:before{content:"\e4c5"}.fa-bowl-food:before{content:"\e4c6"}.fa-bowl-rice:before{content:"\e2eb"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes-packing:before{content:"\e4c7"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-bread-slice:before{content:"\f7ec"}.fa-bridge:before{content:"\e4c8"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-bridge-water:before{content:"\e4ce"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broom:before{content:"\f51a"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-brush:before{content:"\f55d"}.fa-bucket:before{content:"\e4cf"}.fa-bug:before{content:"\f188"}.fa-bug-slash:before{content:"\e490"}.fa-bugs:before{content:"\e4d0"}.fa-building:before{content:"\f1ad"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-building-circle-check:before{content:"\e4d2"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-building-flag:before{content:"\e4d5"}.fa-building-lock:before{content:"\e4d6"}.fa-building-ngo:before{content:"\e4d7"}.fa-building-shield:before{content:"\e4d8"}.fa-building-un:before{content:"\e4d9"}.fa-building-user:before{content:"\e4da"}.fa-building-wheat:before{content:"\e4db"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-burst:before{content:"\e4dc"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-c:before{content:"\43"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-week:before{content:"\f784"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-camera-rotate:before{content:"\e0d8"}.fa-campground:before{content:"\f6bb"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-car-on:before{content:"\e4dd"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-car-side:before{content:"\f5e4"}.fa-car-tunnel:before{content:"\e4de"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-cart-plus:before{content:"\f217"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cedi-sign:before{content:"\e0df"}.fa-cent-sign:before{content:"\e3f5"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-charging-station:before{content:"\f5e7"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-chart-column:before{content:"\e0e3"}.fa-chart-gantt:before{content:"\e0e4"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-chart-simple:before{content:"\e473"}.fa-check:before{content:"\f00c"}.fa-check-double:before{content:"\f560"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-child-dress:before{content:"\e59c"}.fa-child-reaching:before{content:"\e59d"}.fa-child-rifle:before{content:"\e4e0"}.fa-children:before{content:"\e4e1"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-circle-nodes:before{content:"\e4e2"}.fa-circle-notch:before{content:"\f1ce"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-city:before{content:"\f64f"}.fa-clapperboard:before{content:"\e131"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clipboard-question:before{content:"\e4e3"}.fa-clipboard-user:before{content:"\f7f3"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-clover:before{content:"\e139"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-compare:before{content:"\e13a"}.fa-code-fork:before{content:"\e13b"}.fa-code-merge:before{content:"\f387"}.fa-code-pull-request:before{content:"\e13c"}.fa-coins:before{content:"\f51e"}.fa-colon-sign:before{content:"\e140"}.fa-comment:before{content:"\f075"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-compress:before{content:"\f066"}.fa-computer:before{content:"\e4e5"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cow:before{content:"\f6c8"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-d:before{content:"\44"}.fa-database:before{content:"\f1c0"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-democrat:before{content:"\f747"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-dharmachakra:before{content:"\f655"}.fa-diagram-next:before{content:"\e476"}.fa-diagram-predecessor:before{content:"\e477"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-diagram-successor:before{content:"\e47a"}.fa-diamond:before{content:"\f219"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-disease:before{content:"\f7fa"}.fa-display:before{content:"\e163"}.fa-divide:before{content:"\f529"}.fa-dna:before{content:"\f471"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-dong-sign:before{content:"\e169"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dove:before{content:"\f4ba"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-download:before{content:"\f019"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-e:before{content:"\45"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elevator:before{content:"\e16d"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-equals:before{content:"\3d"}.fa-eraser:before{content:"\f12d"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-exclamation:before{content:"\21"}.fa-expand:before{content:"\f065"}.fa-explosion:before{content:"\e4e9"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-eye-slash:before{content:"\f070"}.fa-f:before{content:"\46"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-fan:before{content:"\f863"}.fa-faucet:before{content:"\e005"}.fa-faucet-drip:before{content:"\e006"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-ferry:before{content:"\e4ea"}.fa-file:before{content:"\f15b"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-file-audio:before{content:"\f1c7"}.fa-file-circle-check:before{content:"\e5a0"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-file-circle-plus:before{content:"\e494"}.fa-file-circle-question:before{content:"\e4ef"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-excel:before{content:"\f1c3"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-file-medical:before{content:"\f477"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-shield:before{content:"\e4f0"}.fa-file-signature:before{content:"\f573"}.fa-file-video:before{content:"\f1c8"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-file-word:before{content:"\f1c2"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-burner:before{content:"\e4f1"}.fa-fire-extinguisher:before{content:"\f134"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-fish:before{content:"\f578"}.fa-fish-fins:before{content:"\e4f2"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flask-vial:before{content:"\e4f3"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-florin-sign:before{content:"\e184"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-folder-closed:before{content:"\e185"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-folder-tree:before{content:"\f802"}.fa-font:before{content:"\f031"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-franc-sign:before{content:"\e18f"}.fa-frog:before{content:"\f52e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-g:before{content:"\47"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-glass-water:before{content:"\e4f4"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-glasses:before{content:"\f530"}.fa-globe:before{content:"\f0ac"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-greater-than:before{content:"\3e"}.fa-greater-than-equal:before{content:"\f532"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-guarani-sign:before{content:"\e19a"}.fa-guitar:before{content:"\f7a6"}.fa-gun:before{content:"\e19b"}.fa-h:before{content:"\48"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-handcuffs:before{content:"\e4f8"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-hands-bound:before{content:"\e4f9"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-hands-clapping:before{content:"\e1a8"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-handshake:before{content:"\f2b5"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-hashtag:before{content:"\23"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-heart-circle-plus:before{content:"\e500"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-helicopter-symbol:before{content:"\e502"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-helmet-un:before{content:"\e503"}.fa-highlighter:before{content:"\f591"}.fa-hill-avalanche:before{content:"\e507"}.fa-hill-rockslide:before{content:"\e508"}.fa-hippo:before{content:"\f6ed"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-house-chimney-user:before{content:"\e065"}.fa-house-chimney-window:before{content:"\e00d"}.fa-house-circle-check:before{content:"\e509"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-house-crack:before{content:"\e3b1"}.fa-house-fire:before{content:"\e50c"}.fa-house-flag:before{content:"\e50d"}.fa-house-flood-water:before{content:"\e50e"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-house-lock:before{content:"\e510"}.fa-house-medical:before{content:"\e3b2"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-house-medical-flag:before{content:"\e514"}.fa-house-signal:before{content:"\e012"}.fa-house-tsunami:before{content:"\e515"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-hurricane:before{content:"\f751"}.fa-i:before{content:"\49"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-images:before{content:"\f302"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-italic:before{content:"\f033"}.fa-j:before{content:"\4a"}.fa-jar:before{content:"\e516"}.fa-jar-wheat:before{content:"\e517"}.fa-jedi:before{content:"\f669"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-jet-fighter-up:before{content:"\e518"}.fa-joint:before{content:"\f595"}.fa-jug-detergent:before{content:"\e519"}.fa-k:before{content:"\4b"}.fa-kaaba:before{content:"\f66b"}.fa-key:before{content:"\f084"}.fa-keyboard:before{content:"\f11c"}.fa-khanda:before{content:"\f66d"}.fa-kip-sign:before{content:"\e1c4"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-kitchen-set:before{content:"\e51a"}.fa-kiwi-bird:before{content:"\f535"}.fa-l:before{content:"\4c"}.fa-land-mine-on:before{content:"\e51b"}.fa-landmark:before{content:"\f66f"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-landmark-flag:before{content:"\e51c"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-file:before{content:"\e51d"}.fa-laptop-medical:before{content:"\f812"}.fa-lari-sign:before{content:"\e1c8"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-lemon:before{content:"\f094"}.fa-less-than:before{content:"\3c"}.fa-less-than-equal:before{content:"\f537"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-lines-leaning:before{content:"\e51e"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-lira-sign:before{content:"\f195"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-location-arrow:before{content:"\f124"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-location-pin-lock:before{content:"\e51f"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-locust:before{content:"\e520"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-m:before{content:"\4d"}.fa-magnet:before{content:"\f076"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-manat-sign:before{content:"\e1d5"}.fa-map:before{content:"\f279"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-pin:before{content:"\f276"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-and-venus:before{content:"\f224"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-mask:before{content:"\f6fa"}.fa-mask-face:before{content:"\e1d7"}.fa-mask-ventilator:before{content:"\e524"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-mattress-pillow:before{content:"\e525"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-medal:before{content:"\f5a2"}.fa-memory:before{content:"\f538"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-mill-sign:before{content:"\e1ed"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-mitten:before{content:"\f7b5"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-mobile-button:before{content:"\f10b"}.fa-mobile-retro:before{content:"\e527"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-money-bills:before{content:"\e1f3"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-mosquito-net:before{content:"\e52c"}.fa-motorcycle:before{content:"\f21c"}.fa-mound:before{content:"\e52d"}.fa-mountain:before{content:"\f6fc"}.fa-mountain-city:before{content:"\e52e"}.fa-mountain-sun:before{content:"\e52f"}.fa-mug-hot:before{content:"\f7b6"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-music:before{content:"\f001"}.fa-n:before{content:"\4e"}.fa-naira-sign:before{content:"\e1f6"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-not-equal:before{content:"\f53e"}.fa-notdef:before{content:"\e1fe"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-notes-medical:before{content:"\f481"}.fa-o:before{content:"\4f"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-oil-can:before{content:"\f613"}.fa-oil-well:before{content:"\e532"}.fa-om:before{content:"\f679"}.fa-otter:before{content:"\f700"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-p:before{content:"\50"}.fa-pager:before{content:"\f815"}.fa-paint-roller:before{content:"\f5aa"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-palette:before{content:"\f53f"}.fa-pallet:before{content:"\f482"}.fa-panorama:before{content:"\e209"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-passport:before{content:"\f5ab"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-pause:before{content:"\f04c"}.fa-paw:before{content:"\f1b0"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-people-group:before{content:"\e533"}.fa-people-line:before{content:"\e534"}.fa-people-pulling:before{content:"\e535"}.fa-people-robbery:before{content:"\e536"}.fa-people-roof:before{content:"\e537"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-person-booth:before{content:"\f756"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-person-burst:before{content:"\e53b"}.fa-person-cane:before{content:"\e53c"}.fa-person-chalkboard:before{content:"\e53d"}.fa-person-circle-check:before{content:"\e53e"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-person-circle-minus:before{content:"\e540"}.fa-person-circle-plus:before{content:"\e541"}.fa-person-circle-question:before{content:"\e542"}.fa-person-circle-xmark:before{content:"\e543"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-person-dress-burst:before{content:"\e544"}.fa-person-drowning:before{content:"\e545"}.fa-person-falling:before{content:"\e546"}.fa-person-falling-burst:before{content:"\e547"}.fa-person-half-dress:before{content:"\e548"}.fa-person-harassing:before{content:"\e549"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-person-military-pointing:before{content:"\e54a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-person-military-to-person:before{content:"\e54c"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-person-pregnant:before{content:"\e31e"}.fa-person-rays:before{content:"\e54d"}.fa-person-rifle:before{content:"\e54e"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-person-shelter:before{content:"\e54f"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-person-through-window:before{content:"\e5a9"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-person-walking-luggage:before{content:"\e554"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-peseta-sign:before{content:"\e221"}.fa-peso-sign:before{content:"\e222"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-circle-check:before{content:"\e555"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-lock:before{content:"\e558"}.fa-plane-slash:before{content:"\e069"}.fa-plane-up:before{content:"\e22d"}.fa-plant-wilt:before{content:"\e5aa"}.fa-plate-wheat:before{content:"\e55a"}.fa-play:before{content:"\f04b"}.fa-plug:before{content:"\f1e6"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-plug-circle-check:before{content:"\e55c"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-plus-minus:before{content:"\e43c"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-puzzle-piece:before{content:"\f12e"}.fa-q:before{content:"\51"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\3f"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-r:before{content:"\52"}.fa-radiation:before{content:"\f7b9"}.fa-radio:before{content:"\f8d7"}.fa-rainbow:before{content:"\f75b"}.fa-ranking-star:before{content:"\e561"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-recycle:before{content:"\f1b8"}.fa-registered:before{content:"\f25d"}.fa-repeat:before{content:"\f363"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-republican:before{content:"\f75e"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-ribbon:before{content:"\f4d6"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-road-barrier:before{content:"\e562"}.fa-road-bridge:before{content:"\e563"}.fa-road-circle-check:before{content:"\e564"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-road-circle-xmark:before{content:"\e566"}.fa-road-lock:before{content:"\e567"}.fa-road-spikes:before{content:"\e568"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-route:before{content:"\f4d7"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-rug:before{content:"\e569"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-rupiah-sign:before{content:"\e23d"}.fa-s:before{content:"\53"}.fa-sack-dollar:before{content:"\f81d"}.fa-sack-xmark:before{content:"\e56a"}.fa-sailboat:before{content:"\e445"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-school:before{content:"\f549"}.fa-school-circle-check:before{content:"\e56b"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-school-flag:before{content:"\e56e"}.fa-school-lock:before{content:"\e56f"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-screwdriver:before{content:"\f54a"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-scroll:before{content:"\f70e"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-sd-card:before{content:"\f7c2"}.fa-section:before{content:"\e447"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-server:before{content:"\f233"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-sheet-plastic:before{content:"\e571"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-shield-cat:before{content:"\e572"}.fa-shield-dog:before{content:"\e573"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-shield-heart:before{content:"\e574"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-shoe-prints:before{content:"\f54b"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-shop-lock:before{content:"\e4a5"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-shower:before{content:"\f2cc"}.fa-shrimp:before{content:"\e448"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-sim-card:before{content:"\f7c4"}.fa-sink:before{content:"\e06d"}.fa-sitemap:before{content:"\f0e8"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-spa:before{content:"\f5bb"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-spray-can:before{content:"\f5bd"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-square:before{content:"\f0c8"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-square-full:before{content:"\f45c"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-square-nfi:before{content:"\e576"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-square-person-confined:before{content:"\e577"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-square-virus:before{content:"\e578"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-stairs:before{content:"\e289"}.fa-stamp:before{content:"\f5bf"}.fa-stapler:before{content:"\e5af"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-stethoscope:before{content:"\f0f1"}.fa-stop:before{content:"\f04d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-slash:before{content:"\e071"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stroopwafel:before{content:"\f551"}.fa-subscript:before{content:"\f12c"}.fa-suitcase:before{content:"\f0f2"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-superscript:before{content:"\f12b"}.fa-swatchbook:before{content:"\f5c3"}.fa-synagogue:before{content:"\f69b"}.fa-syringe:before{content:"\f48e"}.fa-t:before{content:"\54"}.fa-table:before{content:"\f0ce"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-tablet-button:before{content:"\f10a"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tarp:before{content:"\e57b"}.fa-tarp-droplet:before{content:"\e57c"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-tent:before{content:"\e57d"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tent-arrows-down:before{content:"\e581"}.fa-tents:before{content:"\e582"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-text-width:before{content:"\f035"}.fa-thermometer:before{content:"\f491"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-timeline:before{content:"\e29c"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toilet-portable:before{content:"\e583"}.fa-toilets-portable:before{content:"\e584"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-torii-gate:before{content:"\f6a1"}.fa-tornado:before{content:"\f76f"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-tower-cell:before{content:"\e585"}.fa-tower-observation:before{content:"\e586"}.fa-tractor:before{content:"\f722"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-train-tram:before{content:"\e5b4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-tree-city:before{content:"\e587"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-trophy:before{content:"\f091"}.fa-trowel:before{content:"\e589"}.fa-trowel-bricks:before{content:"\e58a"}.fa-truck:before{content:"\f0d1"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-truck-droplet:before{content:"\e58c"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-truck-field:before{content:"\e58d"}.fa-truck-field-un:before{content:"\e58e"}.fa-truck-front:before{content:"\e2b7"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-truck-plane:before{content:"\e58f"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-u:before{content:"\55"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-universal-access:before{content:"\f29a"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-upload:before{content:"\f093"}.fa-user:before{content:"\f007"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-clock:before{content:"\f4fd"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-user-graduate:before{content:"\f501"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-user-injured:before{content:"\f728"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-user-lock:before{content:"\f502"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-between-lines:before{content:"\e591"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-users-line:before{content:"\e592"}.fa-users-rays:before{content:"\e593"}.fa-users-rectangle:before{content:"\e594"}.fa-users-slash:before{content:"\e073"}.fa-users-viewfinder:before{content:"\e595"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-v:before{content:"\56"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-vault:before{content:"\e2c5"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-vial:before{content:"\f492"}.fa-vial-circle-check:before{content:"\e596"}.fa-vial-virus:before{content:"\e597"}.fa-vials:before{content:"\f493"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-virus:before{content:"\e074"}.fa-virus-covid:before{content:"\e4a8"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-voicemail:before{content:"\f897"}.fa-volcano:before{content:"\f770"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-vr-cardboard:before{content:"\f729"}.fa-w:before{content:"\57"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-wallet:before{content:"\f555"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-wand-sparkles:before{content:"\f72b"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-wave-square:before{content:"\f83e"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-wheelchair:before{content:"\f193"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-wind:before{content:"\f72e"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-worm:before{content:"\e599"}.fa-wrench:before{content:"\f0ad"}.fa-x:before{content:"\58"}.fa-x-ray:before{content:"\f497"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-xmarks-lines:before{content:"\e59a"}.fa-y:before{content:"\59"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-z:before{content:"\5a"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-family:"Font Awesome 6 Brands";font-weight:400}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-alipay:before{content:"\f642"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-amilia:before{content:"\f36d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-artstation:before{content:"\f77a"}.fa-asymmetrik:before{content:"\f372"}.fa-atlassian:before{content:"\f77b"}.fa-audible:before{content:"\f373"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-aws:before{content:"\f375"}.fa-bandcamp:before{content:"\f2d5"}.fa-battle-net:before{content:"\f835"}.fa-behance:before{content:"\f1b4"}.fa-bilibili:before{content:"\e3d9"}.fa-bimobject:before{content:"\f378"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bootstrap:before{content:"\f836"}.fa-bots:before{content:"\e340"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-buromobelexperte:before{content:"\f37f"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cmplid:before{content:"\e360"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-critical-role:before{content:"\f6c9"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dhl:before{content:"\f790"}.fa-diaspora:before{content:"\f791"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-draft2digital:before{content:"\f396"}.fa-dribbble:before{content:"\f17d"}.fa-dropbox:before{content:"\f16b"}.fa-drupal:before{content:"\f1a9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-elementor:before{content:"\f430"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-evernote:before{content:"\f839"}.fa-expeditedssl:before{content:"\f23e"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-figma:before{content:"\f799"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-fly:before{content:"\f417"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-fulcrum:before{content:"\f50b"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-gofore:before{content:"\f3a7"}.fa-golang:before{content:"\e40f"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-wallet:before{content:"\f1ee"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-gulp:before{content:"\f3ae"}.fa-hacker-news:before{content:"\f1d4"}.fa-hackerrank:before{content:"\f5f7"}.fa-hashnode:before{content:"\e499"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-hive:before{content:"\e07f"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hotjar:before{content:"\f3b1"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-ideal:before{content:"\e013"}.fa-imdb:before{content:"\f2d8"}.fa-instagram:before{content:"\f16d"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaggle:before{content:"\f5fa"}.fa-keybase:before{content:"\f4f5"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-korvue:before{content:"\f42f"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-leanpub:before{content:"\f212"}.fa-less:before{content:"\f41d"}.fa-line:before{content:"\f3c0"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-mailchimp:before{content:"\f59e"}.fa-mandalorian:before{content:"\f50f"}.fa-markdown:before{content:"\f60f"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medapps:before{content:"\f3c6"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-mendeley:before{content:"\f7b3"}.fa-meta:before{content:"\e49b"}.fa-microblog:before{content:"\e01a"}.fa-microsoft:before{content:"\f3ca"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-nfc-directional:before{content:"\e530"}.fa-nfc-symbol:before{content:"\e531"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-padlet:before{content:"\e4a0"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-palfed:before{content:"\f3d8"}.fa-patreon:before{content:"\f3d9"}.fa-paypal:before{content:"\f1ed"}.fa-perbyte:before{content:"\e083"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pix:before{content:"\e43a"}.fa-playstation:before{content:"\f3df"}.fa-product-hunt:before{content:"\f288"}.fa-pushed:before{content:"\f3e1"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-r-project:before{content:"\f4f7"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-redhat:before{content:"\f7bc"}.fa-renren:before{content:"\f18b"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-rev:before{content:"\f5b2"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-rust:before{content:"\e07a"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-schlix:before{content:"\f3ea"}.fa-screenpal:before{content:"\e570"}.fa-scribd:before{content:"\f28a"}.fa-searchengin:before{content:"\f3eb"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-servicestack:before{content:"\f3ec"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shopify:before{content:"\e057"}.fa-shopware:before{content:"\f5b5"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sith:before{content:"\f512"}.fa-sitrox:before{content:"\e44a"}.fa-sketch:before{content:"\f7c6"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-slideshare:before{content:"\f1e7"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-space-awesome:before{content:"\e5ac"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spotify:before{content:"\f1bc"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-symbol:before{content:"\f3f6"}.fa-sticker-mule:before{content:"\f3f7"}.fa-strava:before{content:"\f428"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-superpowers:before{content:"\f2dd"}.fa-supple:before{content:"\f3f9"}.fa-suse:before{content:"\f7d6"}.fa-swift:before{content:"\f8e1"}.fa-symfony:before{content:"\f83d"}.fa-teamspeak:before{content:"\f4f9"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-the-red-yeti:before{content:"\f69d"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-think-peaks:before{content:"\f731"}.fa-tiktok:before{content:"\e07b"}.fa-trade-federation:before{content:"\f513"}.fa-trello:before{content:"\f181"}.fa-tumblr:before{content:"\f173"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-uncharted:before{content:"\e084"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-vaadin:before{content:"\f408"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viber:before{content:"\f409"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-vuejs:before{content:"\f41f"}.fa-watchman-monitoring:before{content:"\e087"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whmcs:before{content:"\f40d"}.fa-wikipedia-w:before{content:"\f266"}.fa-windows:before{content:"\f17a"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-zhihu:before{content:"\f63f"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-family:"Font Awesome 6 Free";font-weight:400}:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a} \ No newline at end of file diff --git a/framework/reon/assets/css/fontawesome/css/brands.css b/framework/reon/assets/css/fontawesome/css/brands.css new file mode 100644 index 0000000..c7c1386 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/brands.css @@ -0,0 +1,1516 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +:root, :host { + --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; } + +@font-face { + font-family: 'Font Awesome 6 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +.fab, +.fa-brands { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa-42-group:before { + content: "\e080"; } + +.fa-innosoft:before { + content: "\e080"; } + +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-bilibili:before { + content: "\e3d9"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-bots:before { + content: "\e340"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-cloudflare:before { + content: "\e07d"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-cmplid:before { + content: "\e360"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-dailymotion:before { + content: "\e052"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-deezer:before { + content: "\e077"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edge-legacy:before { + content: "\e078"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-firefox-browser:before { + content: "\e007"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-flag:before { + content: "\f2b4"; } + +.fa-font-awesome-logo-full:before { + content: "\f2b4"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golang:before { + content: "\e40f"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-pay:before { + content: "\e079"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-guilded:before { + content: "\e07e"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-hashnode:before { + content: "\e499"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-hive:before { + content: "\e07f"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-ideal:before { + content: "\e013"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-instalod:before { + content: "\e081"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f23a"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-meta:before { + content: "\e49b"; } + +.fa-microblog:before { + content: "\e01a"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mixer:before { + content: "\e056"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-nfc-directional:before { + content: "\e530"; } + +.fa-nfc-symbol:before { + content: "\e531"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-octopus-deploy:before { + content: "\e082"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-padlet:before { + content: "\e4a0"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-perbyte:before { + content: "\e083"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pix:before { + content: "\e43a"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-rust:before { + content: "\e07a"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-screenpal:before { + content: "\e570"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shopify:before { + content: "\e057"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-sitrox:before { + content: "\e44a"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f198"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ab"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-space-awesome:before { + content: "\e5ac"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-square-behance:before { + content: "\f1b5"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-square-dribbble:before { + content: "\f397"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-square-facebook:before { + content: "\f082"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-square-font-awesome:before { + content: "\e5ad"; } + +.fa-square-font-awesome-stroke:before { + content: "\f35c"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-square-git:before { + content: "\f1d2"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-square-github:before { + content: "\f092"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-square-gitlab:before { + content: "\e5ae"; } + +.fa-gitlab-square:before { + content: "\e5ae"; } + +.fa-square-google-plus:before { + content: "\f0d4"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-square-hacker-news:before { + content: "\f3af"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-square-instagram:before { + content: "\e055"; } + +.fa-instagram-square:before { + content: "\e055"; } + +.fa-square-js:before { + content: "\f3b9"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-square-lastfm:before { + content: "\f203"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-square-odnoklassniki:before { + content: "\f264"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-square-pied-piper:before { + content: "\e01e"; } + +.fa-pied-piper-square:before { + content: "\e01e"; } + +.fa-square-pinterest:before { + content: "\f0d3"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-square-reddit:before { + content: "\f1a2"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-square-snapchat:before { + content: "\f2ad"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-square-steam:before { + content: "\f1b7"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-square-tumblr:before { + content: "\f174"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-square-twitter:before { + content: "\f081"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-square-viadeo:before { + content: "\f2aa"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-square-vimeo:before { + content: "\f194"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-square-whatsapp:before { + content: "\f40c"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-square-xing:before { + content: "\f169"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-square-youtube:before { + content: "\f431"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f2c6"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-tiktok:before { + content: "\e07b"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-uncharted:before { + content: "\e084"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-unity:before { + content: "\e049"; } + +.fa-unsplash:before { + content: "\e07c"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-watchman-monitoring:before { + content: "\e087"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wirsindhandwerk:before { + content: "\e2d0"; } + +.fa-wsh:before { + content: "\e2d0"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-wodu:before { + content: "\e088"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-rendact:before { + content: "\f3e4"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-zhihu:before { + content: "\f63f"; } diff --git a/framework/reon/assets/css/fontawesome/css/brands.min.css b/framework/reon/assets/css/fontawesome/css/brands.min.css new file mode 100644 index 0000000..abbf40a --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/brands.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +:host,:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-family:"Font Awesome 6 Brands";font-weight:400}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-alipay:before{content:"\f642"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-amilia:before{content:"\f36d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-artstation:before{content:"\f77a"}.fa-asymmetrik:before{content:"\f372"}.fa-atlassian:before{content:"\f77b"}.fa-audible:before{content:"\f373"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-aws:before{content:"\f375"}.fa-bandcamp:before{content:"\f2d5"}.fa-battle-net:before{content:"\f835"}.fa-behance:before{content:"\f1b4"}.fa-bilibili:before{content:"\e3d9"}.fa-bimobject:before{content:"\f378"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bootstrap:before{content:"\f836"}.fa-bots:before{content:"\e340"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-buromobelexperte:before{content:"\f37f"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cmplid:before{content:"\e360"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-critical-role:before{content:"\f6c9"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dhl:before{content:"\f790"}.fa-diaspora:before{content:"\f791"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-draft2digital:before{content:"\f396"}.fa-dribbble:before{content:"\f17d"}.fa-dropbox:before{content:"\f16b"}.fa-drupal:before{content:"\f1a9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-elementor:before{content:"\f430"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-evernote:before{content:"\f839"}.fa-expeditedssl:before{content:"\f23e"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-figma:before{content:"\f799"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-fly:before{content:"\f417"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-fulcrum:before{content:"\f50b"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-gofore:before{content:"\f3a7"}.fa-golang:before{content:"\e40f"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-wallet:before{content:"\f1ee"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-gulp:before{content:"\f3ae"}.fa-hacker-news:before{content:"\f1d4"}.fa-hackerrank:before{content:"\f5f7"}.fa-hashnode:before{content:"\e499"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-hive:before{content:"\e07f"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hotjar:before{content:"\f3b1"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-ideal:before{content:"\e013"}.fa-imdb:before{content:"\f2d8"}.fa-instagram:before{content:"\f16d"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaggle:before{content:"\f5fa"}.fa-keybase:before{content:"\f4f5"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-korvue:before{content:"\f42f"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-leanpub:before{content:"\f212"}.fa-less:before{content:"\f41d"}.fa-line:before{content:"\f3c0"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-mailchimp:before{content:"\f59e"}.fa-mandalorian:before{content:"\f50f"}.fa-markdown:before{content:"\f60f"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medapps:before{content:"\f3c6"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-mendeley:before{content:"\f7b3"}.fa-meta:before{content:"\e49b"}.fa-microblog:before{content:"\e01a"}.fa-microsoft:before{content:"\f3ca"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-nfc-directional:before{content:"\e530"}.fa-nfc-symbol:before{content:"\e531"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-padlet:before{content:"\e4a0"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-palfed:before{content:"\f3d8"}.fa-patreon:before{content:"\f3d9"}.fa-paypal:before{content:"\f1ed"}.fa-perbyte:before{content:"\e083"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pix:before{content:"\e43a"}.fa-playstation:before{content:"\f3df"}.fa-product-hunt:before{content:"\f288"}.fa-pushed:before{content:"\f3e1"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-r-project:before{content:"\f4f7"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-redhat:before{content:"\f7bc"}.fa-renren:before{content:"\f18b"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-rev:before{content:"\f5b2"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-rust:before{content:"\e07a"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-schlix:before{content:"\f3ea"}.fa-screenpal:before{content:"\e570"}.fa-scribd:before{content:"\f28a"}.fa-searchengin:before{content:"\f3eb"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-servicestack:before{content:"\f3ec"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shopify:before{content:"\e057"}.fa-shopware:before{content:"\f5b5"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sith:before{content:"\f512"}.fa-sitrox:before{content:"\e44a"}.fa-sketch:before{content:"\f7c6"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-slideshare:before{content:"\f1e7"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-space-awesome:before{content:"\e5ac"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spotify:before{content:"\f1bc"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-symbol:before{content:"\f3f6"}.fa-sticker-mule:before{content:"\f3f7"}.fa-strava:before{content:"\f428"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-superpowers:before{content:"\f2dd"}.fa-supple:before{content:"\f3f9"}.fa-suse:before{content:"\f7d6"}.fa-swift:before{content:"\f8e1"}.fa-symfony:before{content:"\f83d"}.fa-teamspeak:before{content:"\f4f9"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-the-red-yeti:before{content:"\f69d"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-think-peaks:before{content:"\f731"}.fa-tiktok:before{content:"\e07b"}.fa-trade-federation:before{content:"\f513"}.fa-trello:before{content:"\f181"}.fa-tumblr:before{content:"\f173"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-uncharted:before{content:"\e084"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-vaadin:before{content:"\f408"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viber:before{content:"\f409"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-vuejs:before{content:"\f41f"}.fa-watchman-monitoring:before{content:"\e087"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whmcs:before{content:"\f40d"}.fa-wikipedia-w:before{content:"\f266"}.fa-windows:before{content:"\f17a"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-zhihu:before{content:"\f63f"} \ No newline at end of file diff --git a/framework/reon/assets/css/fontawesome/css/fontawesome.css b/framework/reon/assets/css/fontawesome/css/fontawesome.css new file mode 100644 index 0000000..88b174f --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/fontawesome.css @@ -0,0 +1,6356 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +.fa { + font-family: var(--fa-style-family, "Font Awesome 6 Free"); + font-weight: var(--fa-style, 900); } + +.fa, +.fas, +.fa-solid, +.far, +.fa-regular, +.fal, +.fa-light, +.fat, +.fa-thin, +.fad, +.fa-duotone, +.fab, +.fa-brands { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: var(--fa-display, inline-block); + font-style: normal; + font-variant: normal; + line-height: 1; + text-rendering: auto; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; } + +.fa-xs { + font-size: 0.75em; + line-height: 0.08333em; + vertical-align: 0.125em; } + +.fa-sm { + font-size: 0.875em; + line-height: 0.07143em; + vertical-align: 0.05357em; } + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; } + +.fa-xl { + font-size: 1.5em; + line-height: 0.04167em; + vertical-align: -0.125em; } + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: calc(var(--fa-li-width, 2em) * -1); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; } + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); } + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); } + +.fa-beat { + -webkit-animation-name: fa-beat; + animation-name: fa-beat; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-bounce { + -webkit-animation-name: fa-bounce; + animation-name: fa-bounce; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } + +.fa-fade { + -webkit-animation-name: fa-fade; + animation-name: fa-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-beat-fade { + -webkit-animation-name: fa-beat-fade; + animation-name: fa-beat-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-flip { + -webkit-animation-name: fa-flip; + animation-name: fa-flip; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-shake { + -webkit-animation-name: fa-shake; + animation-name: fa-shake; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 2s); + animation-duration: var(--fa-animation-duration, 2s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin-reverse { + --fa-animation-direction: reverse; } + +.fa-pulse, +.fa-spin-pulse { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); + animation-timing-function: var(--fa-animation-timing, steps(8)); } + +@media (prefers-reduced-motion: reduce) { + .fa-beat, + .fa-bounce, + .fa-fade, + .fa-beat-fade, + .fa-flip, + .fa-pulse, + .fa-shake, + .fa-spin, + .fa-spin-pulse { + -webkit-animation-delay: -1ms; + animation-delay: -1ms; + -webkit-animation-duration: 1ms; + animation-duration: 1ms; + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; + transition-delay: 0s; + transition-duration: 0s; } } + +@-webkit-keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@-webkit-keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@-webkit-keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@-webkit-keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@-webkit-keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@-webkit-keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +.fa-rotate-by { + -webkit-transform: rotate(var(--fa-rotate-angle, none)); + transform: rotate(var(--fa-rotate-angle, none)); } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; + z-index: var(--fa-stack-z-index, auto); } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: var(--fa-inverse, #fff); } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-0::before { + content: "\30"; } + +.fa-1::before { + content: "\31"; } + +.fa-2::before { + content: "\32"; } + +.fa-3::before { + content: "\33"; } + +.fa-4::before { + content: "\34"; } + +.fa-5::before { + content: "\35"; } + +.fa-6::before { + content: "\36"; } + +.fa-7::before { + content: "\37"; } + +.fa-8::before { + content: "\38"; } + +.fa-9::before { + content: "\39"; } + +.fa-a::before { + content: "\41"; } + +.fa-address-book::before { + content: "\f2b9"; } + +.fa-contact-book::before { + content: "\f2b9"; } + +.fa-address-card::before { + content: "\f2bb"; } + +.fa-contact-card::before { + content: "\f2bb"; } + +.fa-vcard::before { + content: "\f2bb"; } + +.fa-align-center::before { + content: "\f037"; } + +.fa-align-justify::before { + content: "\f039"; } + +.fa-align-left::before { + content: "\f036"; } + +.fa-align-right::before { + content: "\f038"; } + +.fa-anchor::before { + content: "\f13d"; } + +.fa-anchor-circle-check::before { + content: "\e4aa"; } + +.fa-anchor-circle-exclamation::before { + content: "\e4ab"; } + +.fa-anchor-circle-xmark::before { + content: "\e4ac"; } + +.fa-anchor-lock::before { + content: "\e4ad"; } + +.fa-angle-down::before { + content: "\f107"; } + +.fa-angle-left::before { + content: "\f104"; } + +.fa-angle-right::before { + content: "\f105"; } + +.fa-angle-up::before { + content: "\f106"; } + +.fa-angles-down::before { + content: "\f103"; } + +.fa-angle-double-down::before { + content: "\f103"; } + +.fa-angles-left::before { + content: "\f100"; } + +.fa-angle-double-left::before { + content: "\f100"; } + +.fa-angles-right::before { + content: "\f101"; } + +.fa-angle-double-right::before { + content: "\f101"; } + +.fa-angles-up::before { + content: "\f102"; } + +.fa-angle-double-up::before { + content: "\f102"; } + +.fa-ankh::before { + content: "\f644"; } + +.fa-apple-whole::before { + content: "\f5d1"; } + +.fa-apple-alt::before { + content: "\f5d1"; } + +.fa-archway::before { + content: "\f557"; } + +.fa-arrow-down::before { + content: "\f063"; } + +.fa-arrow-down-1-9::before { + content: "\f162"; } + +.fa-sort-numeric-asc::before { + content: "\f162"; } + +.fa-sort-numeric-down::before { + content: "\f162"; } + +.fa-arrow-down-9-1::before { + content: "\f886"; } + +.fa-sort-numeric-desc::before { + content: "\f886"; } + +.fa-sort-numeric-down-alt::before { + content: "\f886"; } + +.fa-arrow-down-a-z::before { + content: "\f15d"; } + +.fa-sort-alpha-asc::before { + content: "\f15d"; } + +.fa-sort-alpha-down::before { + content: "\f15d"; } + +.fa-arrow-down-long::before { + content: "\f175"; } + +.fa-long-arrow-down::before { + content: "\f175"; } + +.fa-arrow-down-short-wide::before { + content: "\f884"; } + +.fa-sort-amount-desc::before { + content: "\f884"; } + +.fa-sort-amount-down-alt::before { + content: "\f884"; } + +.fa-arrow-down-up-across-line::before { + content: "\e4af"; } + +.fa-arrow-down-up-lock::before { + content: "\e4b0"; } + +.fa-arrow-down-wide-short::before { + content: "\f160"; } + +.fa-sort-amount-asc::before { + content: "\f160"; } + +.fa-sort-amount-down::before { + content: "\f160"; } + +.fa-arrow-down-z-a::before { + content: "\f881"; } + +.fa-sort-alpha-desc::before { + content: "\f881"; } + +.fa-sort-alpha-down-alt::before { + content: "\f881"; } + +.fa-arrow-left::before { + content: "\f060"; } + +.fa-arrow-left-long::before { + content: "\f177"; } + +.fa-long-arrow-left::before { + content: "\f177"; } + +.fa-arrow-pointer::before { + content: "\f245"; } + +.fa-mouse-pointer::before { + content: "\f245"; } + +.fa-arrow-right::before { + content: "\f061"; } + +.fa-arrow-right-arrow-left::before { + content: "\f0ec"; } + +.fa-exchange::before { + content: "\f0ec"; } + +.fa-arrow-right-from-bracket::before { + content: "\f08b"; } + +.fa-sign-out::before { + content: "\f08b"; } + +.fa-arrow-right-long::before { + content: "\f178"; } + +.fa-long-arrow-right::before { + content: "\f178"; } + +.fa-arrow-right-to-bracket::before { + content: "\f090"; } + +.fa-sign-in::before { + content: "\f090"; } + +.fa-arrow-right-to-city::before { + content: "\e4b3"; } + +.fa-arrow-rotate-left::before { + content: "\f0e2"; } + +.fa-arrow-left-rotate::before { + content: "\f0e2"; } + +.fa-arrow-rotate-back::before { + content: "\f0e2"; } + +.fa-arrow-rotate-backward::before { + content: "\f0e2"; } + +.fa-undo::before { + content: "\f0e2"; } + +.fa-arrow-rotate-right::before { + content: "\f01e"; } + +.fa-arrow-right-rotate::before { + content: "\f01e"; } + +.fa-arrow-rotate-forward::before { + content: "\f01e"; } + +.fa-redo::before { + content: "\f01e"; } + +.fa-arrow-trend-down::before { + content: "\e097"; } + +.fa-arrow-trend-up::before { + content: "\e098"; } + +.fa-arrow-turn-down::before { + content: "\f149"; } + +.fa-level-down::before { + content: "\f149"; } + +.fa-arrow-turn-up::before { + content: "\f148"; } + +.fa-level-up::before { + content: "\f148"; } + +.fa-arrow-up::before { + content: "\f062"; } + +.fa-arrow-up-1-9::before { + content: "\f163"; } + +.fa-sort-numeric-up::before { + content: "\f163"; } + +.fa-arrow-up-9-1::before { + content: "\f887"; } + +.fa-sort-numeric-up-alt::before { + content: "\f887"; } + +.fa-arrow-up-a-z::before { + content: "\f15e"; } + +.fa-sort-alpha-up::before { + content: "\f15e"; } + +.fa-arrow-up-from-bracket::before { + content: "\e09a"; } + +.fa-arrow-up-from-ground-water::before { + content: "\e4b5"; } + +.fa-arrow-up-from-water-pump::before { + content: "\e4b6"; } + +.fa-arrow-up-long::before { + content: "\f176"; } + +.fa-long-arrow-up::before { + content: "\f176"; } + +.fa-arrow-up-right-dots::before { + content: "\e4b7"; } + +.fa-arrow-up-right-from-square::before { + content: "\f08e"; } + +.fa-external-link::before { + content: "\f08e"; } + +.fa-arrow-up-short-wide::before { + content: "\f885"; } + +.fa-sort-amount-up-alt::before { + content: "\f885"; } + +.fa-arrow-up-wide-short::before { + content: "\f161"; } + +.fa-sort-amount-up::before { + content: "\f161"; } + +.fa-arrow-up-z-a::before { + content: "\f882"; } + +.fa-sort-alpha-up-alt::before { + content: "\f882"; } + +.fa-arrows-down-to-line::before { + content: "\e4b8"; } + +.fa-arrows-down-to-people::before { + content: "\e4b9"; } + +.fa-arrows-left-right::before { + content: "\f07e"; } + +.fa-arrows-h::before { + content: "\f07e"; } + +.fa-arrows-left-right-to-line::before { + content: "\e4ba"; } + +.fa-arrows-rotate::before { + content: "\f021"; } + +.fa-refresh::before { + content: "\f021"; } + +.fa-sync::before { + content: "\f021"; } + +.fa-arrows-spin::before { + content: "\e4bb"; } + +.fa-arrows-split-up-and-left::before { + content: "\e4bc"; } + +.fa-arrows-to-circle::before { + content: "\e4bd"; } + +.fa-arrows-to-dot::before { + content: "\e4be"; } + +.fa-arrows-to-eye::before { + content: "\e4bf"; } + +.fa-arrows-turn-right::before { + content: "\e4c0"; } + +.fa-arrows-turn-to-dots::before { + content: "\e4c1"; } + +.fa-arrows-up-down::before { + content: "\f07d"; } + +.fa-arrows-v::before { + content: "\f07d"; } + +.fa-arrows-up-down-left-right::before { + content: "\f047"; } + +.fa-arrows::before { + content: "\f047"; } + +.fa-arrows-up-to-line::before { + content: "\e4c2"; } + +.fa-asterisk::before { + content: "\2a"; } + +.fa-at::before { + content: "\40"; } + +.fa-atom::before { + content: "\f5d2"; } + +.fa-audio-description::before { + content: "\f29e"; } + +.fa-austral-sign::before { + content: "\e0a9"; } + +.fa-award::before { + content: "\f559"; } + +.fa-b::before { + content: "\42"; } + +.fa-baby::before { + content: "\f77c"; } + +.fa-baby-carriage::before { + content: "\f77d"; } + +.fa-carriage-baby::before { + content: "\f77d"; } + +.fa-backward::before { + content: "\f04a"; } + +.fa-backward-fast::before { + content: "\f049"; } + +.fa-fast-backward::before { + content: "\f049"; } + +.fa-backward-step::before { + content: "\f048"; } + +.fa-step-backward::before { + content: "\f048"; } + +.fa-bacon::before { + content: "\f7e5"; } + +.fa-bacteria::before { + content: "\e059"; } + +.fa-bacterium::before { + content: "\e05a"; } + +.fa-bag-shopping::before { + content: "\f290"; } + +.fa-shopping-bag::before { + content: "\f290"; } + +.fa-bahai::before { + content: "\f666"; } + +.fa-haykal::before { + content: "\f666"; } + +.fa-baht-sign::before { + content: "\e0ac"; } + +.fa-ban::before { + content: "\f05e"; } + +.fa-cancel::before { + content: "\f05e"; } + +.fa-ban-smoking::before { + content: "\f54d"; } + +.fa-smoking-ban::before { + content: "\f54d"; } + +.fa-bandage::before { + content: "\f462"; } + +.fa-band-aid::before { + content: "\f462"; } + +.fa-barcode::before { + content: "\f02a"; } + +.fa-bars::before { + content: "\f0c9"; } + +.fa-navicon::before { + content: "\f0c9"; } + +.fa-bars-progress::before { + content: "\f828"; } + +.fa-tasks-alt::before { + content: "\f828"; } + +.fa-bars-staggered::before { + content: "\f550"; } + +.fa-reorder::before { + content: "\f550"; } + +.fa-stream::before { + content: "\f550"; } + +.fa-baseball::before { + content: "\f433"; } + +.fa-baseball-ball::before { + content: "\f433"; } + +.fa-baseball-bat-ball::before { + content: "\f432"; } + +.fa-basket-shopping::before { + content: "\f291"; } + +.fa-shopping-basket::before { + content: "\f291"; } + +.fa-basketball::before { + content: "\f434"; } + +.fa-basketball-ball::before { + content: "\f434"; } + +.fa-bath::before { + content: "\f2cd"; } + +.fa-bathtub::before { + content: "\f2cd"; } + +.fa-battery-empty::before { + content: "\f244"; } + +.fa-battery-0::before { + content: "\f244"; } + +.fa-battery-full::before { + content: "\f240"; } + +.fa-battery::before { + content: "\f240"; } + +.fa-battery-5::before { + content: "\f240"; } + +.fa-battery-half::before { + content: "\f242"; } + +.fa-battery-3::before { + content: "\f242"; } + +.fa-battery-quarter::before { + content: "\f243"; } + +.fa-battery-2::before { + content: "\f243"; } + +.fa-battery-three-quarters::before { + content: "\f241"; } + +.fa-battery-4::before { + content: "\f241"; } + +.fa-bed::before { + content: "\f236"; } + +.fa-bed-pulse::before { + content: "\f487"; } + +.fa-procedures::before { + content: "\f487"; } + +.fa-beer-mug-empty::before { + content: "\f0fc"; } + +.fa-beer::before { + content: "\f0fc"; } + +.fa-bell::before { + content: "\f0f3"; } + +.fa-bell-concierge::before { + content: "\f562"; } + +.fa-concierge-bell::before { + content: "\f562"; } + +.fa-bell-slash::before { + content: "\f1f6"; } + +.fa-bezier-curve::before { + content: "\f55b"; } + +.fa-bicycle::before { + content: "\f206"; } + +.fa-binoculars::before { + content: "\f1e5"; } + +.fa-biohazard::before { + content: "\f780"; } + +.fa-bitcoin-sign::before { + content: "\e0b4"; } + +.fa-blender::before { + content: "\f517"; } + +.fa-blender-phone::before { + content: "\f6b6"; } + +.fa-blog::before { + content: "\f781"; } + +.fa-bold::before { + content: "\f032"; } + +.fa-bolt::before { + content: "\f0e7"; } + +.fa-zap::before { + content: "\f0e7"; } + +.fa-bolt-lightning::before { + content: "\e0b7"; } + +.fa-bomb::before { + content: "\f1e2"; } + +.fa-bone::before { + content: "\f5d7"; } + +.fa-bong::before { + content: "\f55c"; } + +.fa-book::before { + content: "\f02d"; } + +.fa-book-atlas::before { + content: "\f558"; } + +.fa-atlas::before { + content: "\f558"; } + +.fa-book-bible::before { + content: "\f647"; } + +.fa-bible::before { + content: "\f647"; } + +.fa-book-bookmark::before { + content: "\e0bb"; } + +.fa-book-journal-whills::before { + content: "\f66a"; } + +.fa-journal-whills::before { + content: "\f66a"; } + +.fa-book-medical::before { + content: "\f7e6"; } + +.fa-book-open::before { + content: "\f518"; } + +.fa-book-open-reader::before { + content: "\f5da"; } + +.fa-book-reader::before { + content: "\f5da"; } + +.fa-book-quran::before { + content: "\f687"; } + +.fa-quran::before { + content: "\f687"; } + +.fa-book-skull::before { + content: "\f6b7"; } + +.fa-book-dead::before { + content: "\f6b7"; } + +.fa-book-tanakh::before { + content: "\f827"; } + +.fa-tanakh::before { + content: "\f827"; } + +.fa-bookmark::before { + content: "\f02e"; } + +.fa-border-all::before { + content: "\f84c"; } + +.fa-border-none::before { + content: "\f850"; } + +.fa-border-top-left::before { + content: "\f853"; } + +.fa-border-style::before { + content: "\f853"; } + +.fa-bore-hole::before { + content: "\e4c3"; } + +.fa-bottle-droplet::before { + content: "\e4c4"; } + +.fa-bottle-water::before { + content: "\e4c5"; } + +.fa-bowl-food::before { + content: "\e4c6"; } + +.fa-bowl-rice::before { + content: "\e2eb"; } + +.fa-bowling-ball::before { + content: "\f436"; } + +.fa-box::before { + content: "\f466"; } + +.fa-box-archive::before { + content: "\f187"; } + +.fa-archive::before { + content: "\f187"; } + +.fa-box-open::before { + content: "\f49e"; } + +.fa-box-tissue::before { + content: "\e05b"; } + +.fa-boxes-packing::before { + content: "\e4c7"; } + +.fa-boxes-stacked::before { + content: "\f468"; } + +.fa-boxes::before { + content: "\f468"; } + +.fa-boxes-alt::before { + content: "\f468"; } + +.fa-braille::before { + content: "\f2a1"; } + +.fa-brain::before { + content: "\f5dc"; } + +.fa-brazilian-real-sign::before { + content: "\e46c"; } + +.fa-bread-slice::before { + content: "\f7ec"; } + +.fa-bridge::before { + content: "\e4c8"; } + +.fa-bridge-circle-check::before { + content: "\e4c9"; } + +.fa-bridge-circle-exclamation::before { + content: "\e4ca"; } + +.fa-bridge-circle-xmark::before { + content: "\e4cb"; } + +.fa-bridge-lock::before { + content: "\e4cc"; } + +.fa-bridge-water::before { + content: "\e4ce"; } + +.fa-briefcase::before { + content: "\f0b1"; } + +.fa-briefcase-medical::before { + content: "\f469"; } + +.fa-broom::before { + content: "\f51a"; } + +.fa-broom-ball::before { + content: "\f458"; } + +.fa-quidditch::before { + content: "\f458"; } + +.fa-quidditch-broom-ball::before { + content: "\f458"; } + +.fa-brush::before { + content: "\f55d"; } + +.fa-bucket::before { + content: "\e4cf"; } + +.fa-bug::before { + content: "\f188"; } + +.fa-bug-slash::before { + content: "\e490"; } + +.fa-bugs::before { + content: "\e4d0"; } + +.fa-building::before { + content: "\f1ad"; } + +.fa-building-circle-arrow-right::before { + content: "\e4d1"; } + +.fa-building-circle-check::before { + content: "\e4d2"; } + +.fa-building-circle-exclamation::before { + content: "\e4d3"; } + +.fa-building-circle-xmark::before { + content: "\e4d4"; } + +.fa-building-columns::before { + content: "\f19c"; } + +.fa-bank::before { + content: "\f19c"; } + +.fa-institution::before { + content: "\f19c"; } + +.fa-museum::before { + content: "\f19c"; } + +.fa-university::before { + content: "\f19c"; } + +.fa-building-flag::before { + content: "\e4d5"; } + +.fa-building-lock::before { + content: "\e4d6"; } + +.fa-building-ngo::before { + content: "\e4d7"; } + +.fa-building-shield::before { + content: "\e4d8"; } + +.fa-building-un::before { + content: "\e4d9"; } + +.fa-building-user::before { + content: "\e4da"; } + +.fa-building-wheat::before { + content: "\e4db"; } + +.fa-bullhorn::before { + content: "\f0a1"; } + +.fa-bullseye::before { + content: "\f140"; } + +.fa-burger::before { + content: "\f805"; } + +.fa-hamburger::before { + content: "\f805"; } + +.fa-burst::before { + content: "\e4dc"; } + +.fa-bus::before { + content: "\f207"; } + +.fa-bus-simple::before { + content: "\f55e"; } + +.fa-bus-alt::before { + content: "\f55e"; } + +.fa-business-time::before { + content: "\f64a"; } + +.fa-briefcase-clock::before { + content: "\f64a"; } + +.fa-c::before { + content: "\43"; } + +.fa-cable-car::before { + content: "\f7da"; } + +.fa-tram::before { + content: "\f7da"; } + +.fa-cake-candles::before { + content: "\f1fd"; } + +.fa-birthday-cake::before { + content: "\f1fd"; } + +.fa-cake::before { + content: "\f1fd"; } + +.fa-calculator::before { + content: "\f1ec"; } + +.fa-calendar::before { + content: "\f133"; } + +.fa-calendar-check::before { + content: "\f274"; } + +.fa-calendar-day::before { + content: "\f783"; } + +.fa-calendar-days::before { + content: "\f073"; } + +.fa-calendar-alt::before { + content: "\f073"; } + +.fa-calendar-minus::before { + content: "\f272"; } + +.fa-calendar-plus::before { + content: "\f271"; } + +.fa-calendar-week::before { + content: "\f784"; } + +.fa-calendar-xmark::before { + content: "\f273"; } + +.fa-calendar-times::before { + content: "\f273"; } + +.fa-camera::before { + content: "\f030"; } + +.fa-camera-alt::before { + content: "\f030"; } + +.fa-camera-retro::before { + content: "\f083"; } + +.fa-camera-rotate::before { + content: "\e0d8"; } + +.fa-campground::before { + content: "\f6bb"; } + +.fa-candy-cane::before { + content: "\f786"; } + +.fa-cannabis::before { + content: "\f55f"; } + +.fa-capsules::before { + content: "\f46b"; } + +.fa-car::before { + content: "\f1b9"; } + +.fa-automobile::before { + content: "\f1b9"; } + +.fa-car-battery::before { + content: "\f5df"; } + +.fa-battery-car::before { + content: "\f5df"; } + +.fa-car-burst::before { + content: "\f5e1"; } + +.fa-car-crash::before { + content: "\f5e1"; } + +.fa-car-on::before { + content: "\e4dd"; } + +.fa-car-rear::before { + content: "\f5de"; } + +.fa-car-alt::before { + content: "\f5de"; } + +.fa-car-side::before { + content: "\f5e4"; } + +.fa-car-tunnel::before { + content: "\e4de"; } + +.fa-caravan::before { + content: "\f8ff"; } + +.fa-caret-down::before { + content: "\f0d7"; } + +.fa-caret-left::before { + content: "\f0d9"; } + +.fa-caret-right::before { + content: "\f0da"; } + +.fa-caret-up::before { + content: "\f0d8"; } + +.fa-carrot::before { + content: "\f787"; } + +.fa-cart-arrow-down::before { + content: "\f218"; } + +.fa-cart-flatbed::before { + content: "\f474"; } + +.fa-dolly-flatbed::before { + content: "\f474"; } + +.fa-cart-flatbed-suitcase::before { + content: "\f59d"; } + +.fa-luggage-cart::before { + content: "\f59d"; } + +.fa-cart-plus::before { + content: "\f217"; } + +.fa-cart-shopping::before { + content: "\f07a"; } + +.fa-shopping-cart::before { + content: "\f07a"; } + +.fa-cash-register::before { + content: "\f788"; } + +.fa-cat::before { + content: "\f6be"; } + +.fa-cedi-sign::before { + content: "\e0df"; } + +.fa-cent-sign::before { + content: "\e3f5"; } + +.fa-certificate::before { + content: "\f0a3"; } + +.fa-chair::before { + content: "\f6c0"; } + +.fa-chalkboard::before { + content: "\f51b"; } + +.fa-blackboard::before { + content: "\f51b"; } + +.fa-chalkboard-user::before { + content: "\f51c"; } + +.fa-chalkboard-teacher::before { + content: "\f51c"; } + +.fa-champagne-glasses::before { + content: "\f79f"; } + +.fa-glass-cheers::before { + content: "\f79f"; } + +.fa-charging-station::before { + content: "\f5e7"; } + +.fa-chart-area::before { + content: "\f1fe"; } + +.fa-area-chart::before { + content: "\f1fe"; } + +.fa-chart-bar::before { + content: "\f080"; } + +.fa-bar-chart::before { + content: "\f080"; } + +.fa-chart-column::before { + content: "\e0e3"; } + +.fa-chart-gantt::before { + content: "\e0e4"; } + +.fa-chart-line::before { + content: "\f201"; } + +.fa-line-chart::before { + content: "\f201"; } + +.fa-chart-pie::before { + content: "\f200"; } + +.fa-pie-chart::before { + content: "\f200"; } + +.fa-chart-simple::before { + content: "\e473"; } + +.fa-check::before { + content: "\f00c"; } + +.fa-check-double::before { + content: "\f560"; } + +.fa-check-to-slot::before { + content: "\f772"; } + +.fa-vote-yea::before { + content: "\f772"; } + +.fa-cheese::before { + content: "\f7ef"; } + +.fa-chess::before { + content: "\f439"; } + +.fa-chess-bishop::before { + content: "\f43a"; } + +.fa-chess-board::before { + content: "\f43c"; } + +.fa-chess-king::before { + content: "\f43f"; } + +.fa-chess-knight::before { + content: "\f441"; } + +.fa-chess-pawn::before { + content: "\f443"; } + +.fa-chess-queen::before { + content: "\f445"; } + +.fa-chess-rook::before { + content: "\f447"; } + +.fa-chevron-down::before { + content: "\f078"; } + +.fa-chevron-left::before { + content: "\f053"; } + +.fa-chevron-right::before { + content: "\f054"; } + +.fa-chevron-up::before { + content: "\f077"; } + +.fa-child::before { + content: "\f1ae"; } + +.fa-child-dress::before { + content: "\e59c"; } + +.fa-child-reaching::before { + content: "\e59d"; } + +.fa-child-rifle::before { + content: "\e4e0"; } + +.fa-children::before { + content: "\e4e1"; } + +.fa-church::before { + content: "\f51d"; } + +.fa-circle::before { + content: "\f111"; } + +.fa-circle-arrow-down::before { + content: "\f0ab"; } + +.fa-arrow-circle-down::before { + content: "\f0ab"; } + +.fa-circle-arrow-left::before { + content: "\f0a8"; } + +.fa-arrow-circle-left::before { + content: "\f0a8"; } + +.fa-circle-arrow-right::before { + content: "\f0a9"; } + +.fa-arrow-circle-right::before { + content: "\f0a9"; } + +.fa-circle-arrow-up::before { + content: "\f0aa"; } + +.fa-arrow-circle-up::before { + content: "\f0aa"; } + +.fa-circle-check::before { + content: "\f058"; } + +.fa-check-circle::before { + content: "\f058"; } + +.fa-circle-chevron-down::before { + content: "\f13a"; } + +.fa-chevron-circle-down::before { + content: "\f13a"; } + +.fa-circle-chevron-left::before { + content: "\f137"; } + +.fa-chevron-circle-left::before { + content: "\f137"; } + +.fa-circle-chevron-right::before { + content: "\f138"; } + +.fa-chevron-circle-right::before { + content: "\f138"; } + +.fa-circle-chevron-up::before { + content: "\f139"; } + +.fa-chevron-circle-up::before { + content: "\f139"; } + +.fa-circle-dollar-to-slot::before { + content: "\f4b9"; } + +.fa-donate::before { + content: "\f4b9"; } + +.fa-circle-dot::before { + content: "\f192"; } + +.fa-dot-circle::before { + content: "\f192"; } + +.fa-circle-down::before { + content: "\f358"; } + +.fa-arrow-alt-circle-down::before { + content: "\f358"; } + +.fa-circle-exclamation::before { + content: "\f06a"; } + +.fa-exclamation-circle::before { + content: "\f06a"; } + +.fa-circle-h::before { + content: "\f47e"; } + +.fa-hospital-symbol::before { + content: "\f47e"; } + +.fa-circle-half-stroke::before { + content: "\f042"; } + +.fa-adjust::before { + content: "\f042"; } + +.fa-circle-info::before { + content: "\f05a"; } + +.fa-info-circle::before { + content: "\f05a"; } + +.fa-circle-left::before { + content: "\f359"; } + +.fa-arrow-alt-circle-left::before { + content: "\f359"; } + +.fa-circle-minus::before { + content: "\f056"; } + +.fa-minus-circle::before { + content: "\f056"; } + +.fa-circle-nodes::before { + content: "\e4e2"; } + +.fa-circle-notch::before { + content: "\f1ce"; } + +.fa-circle-pause::before { + content: "\f28b"; } + +.fa-pause-circle::before { + content: "\f28b"; } + +.fa-circle-play::before { + content: "\f144"; } + +.fa-play-circle::before { + content: "\f144"; } + +.fa-circle-plus::before { + content: "\f055"; } + +.fa-plus-circle::before { + content: "\f055"; } + +.fa-circle-question::before { + content: "\f059"; } + +.fa-question-circle::before { + content: "\f059"; } + +.fa-circle-radiation::before { + content: "\f7ba"; } + +.fa-radiation-alt::before { + content: "\f7ba"; } + +.fa-circle-right::before { + content: "\f35a"; } + +.fa-arrow-alt-circle-right::before { + content: "\f35a"; } + +.fa-circle-stop::before { + content: "\f28d"; } + +.fa-stop-circle::before { + content: "\f28d"; } + +.fa-circle-up::before { + content: "\f35b"; } + +.fa-arrow-alt-circle-up::before { + content: "\f35b"; } + +.fa-circle-user::before { + content: "\f2bd"; } + +.fa-user-circle::before { + content: "\f2bd"; } + +.fa-circle-xmark::before { + content: "\f057"; } + +.fa-times-circle::before { + content: "\f057"; } + +.fa-xmark-circle::before { + content: "\f057"; } + +.fa-city::before { + content: "\f64f"; } + +.fa-clapperboard::before { + content: "\e131"; } + +.fa-clipboard::before { + content: "\f328"; } + +.fa-clipboard-check::before { + content: "\f46c"; } + +.fa-clipboard-list::before { + content: "\f46d"; } + +.fa-clipboard-question::before { + content: "\e4e3"; } + +.fa-clipboard-user::before { + content: "\f7f3"; } + +.fa-clock::before { + content: "\f017"; } + +.fa-clock-four::before { + content: "\f017"; } + +.fa-clock-rotate-left::before { + content: "\f1da"; } + +.fa-history::before { + content: "\f1da"; } + +.fa-clone::before { + content: "\f24d"; } + +.fa-closed-captioning::before { + content: "\f20a"; } + +.fa-cloud::before { + content: "\f0c2"; } + +.fa-cloud-arrow-down::before { + content: "\f0ed"; } + +.fa-cloud-download::before { + content: "\f0ed"; } + +.fa-cloud-download-alt::before { + content: "\f0ed"; } + +.fa-cloud-arrow-up::before { + content: "\f0ee"; } + +.fa-cloud-upload::before { + content: "\f0ee"; } + +.fa-cloud-upload-alt::before { + content: "\f0ee"; } + +.fa-cloud-bolt::before { + content: "\f76c"; } + +.fa-thunderstorm::before { + content: "\f76c"; } + +.fa-cloud-meatball::before { + content: "\f73b"; } + +.fa-cloud-moon::before { + content: "\f6c3"; } + +.fa-cloud-moon-rain::before { + content: "\f73c"; } + +.fa-cloud-rain::before { + content: "\f73d"; } + +.fa-cloud-showers-heavy::before { + content: "\f740"; } + +.fa-cloud-showers-water::before { + content: "\e4e4"; } + +.fa-cloud-sun::before { + content: "\f6c4"; } + +.fa-cloud-sun-rain::before { + content: "\f743"; } + +.fa-clover::before { + content: "\e139"; } + +.fa-code::before { + content: "\f121"; } + +.fa-code-branch::before { + content: "\f126"; } + +.fa-code-commit::before { + content: "\f386"; } + +.fa-code-compare::before { + content: "\e13a"; } + +.fa-code-fork::before { + content: "\e13b"; } + +.fa-code-merge::before { + content: "\f387"; } + +.fa-code-pull-request::before { + content: "\e13c"; } + +.fa-coins::before { + content: "\f51e"; } + +.fa-colon-sign::before { + content: "\e140"; } + +.fa-comment::before { + content: "\f075"; } + +.fa-comment-dollar::before { + content: "\f651"; } + +.fa-comment-dots::before { + content: "\f4ad"; } + +.fa-commenting::before { + content: "\f4ad"; } + +.fa-comment-medical::before { + content: "\f7f5"; } + +.fa-comment-slash::before { + content: "\f4b3"; } + +.fa-comment-sms::before { + content: "\f7cd"; } + +.fa-sms::before { + content: "\f7cd"; } + +.fa-comments::before { + content: "\f086"; } + +.fa-comments-dollar::before { + content: "\f653"; } + +.fa-compact-disc::before { + content: "\f51f"; } + +.fa-compass::before { + content: "\f14e"; } + +.fa-compass-drafting::before { + content: "\f568"; } + +.fa-drafting-compass::before { + content: "\f568"; } + +.fa-compress::before { + content: "\f066"; } + +.fa-computer::before { + content: "\e4e5"; } + +.fa-computer-mouse::before { + content: "\f8cc"; } + +.fa-mouse::before { + content: "\f8cc"; } + +.fa-cookie::before { + content: "\f563"; } + +.fa-cookie-bite::before { + content: "\f564"; } + +.fa-copy::before { + content: "\f0c5"; } + +.fa-copyright::before { + content: "\f1f9"; } + +.fa-couch::before { + content: "\f4b8"; } + +.fa-cow::before { + content: "\f6c8"; } + +.fa-credit-card::before { + content: "\f09d"; } + +.fa-credit-card-alt::before { + content: "\f09d"; } + +.fa-crop::before { + content: "\f125"; } + +.fa-crop-simple::before { + content: "\f565"; } + +.fa-crop-alt::before { + content: "\f565"; } + +.fa-cross::before { + content: "\f654"; } + +.fa-crosshairs::before { + content: "\f05b"; } + +.fa-crow::before { + content: "\f520"; } + +.fa-crown::before { + content: "\f521"; } + +.fa-crutch::before { + content: "\f7f7"; } + +.fa-cruzeiro-sign::before { + content: "\e152"; } + +.fa-cube::before { + content: "\f1b2"; } + +.fa-cubes::before { + content: "\f1b3"; } + +.fa-cubes-stacked::before { + content: "\e4e6"; } + +.fa-d::before { + content: "\44"; } + +.fa-database::before { + content: "\f1c0"; } + +.fa-delete-left::before { + content: "\f55a"; } + +.fa-backspace::before { + content: "\f55a"; } + +.fa-democrat::before { + content: "\f747"; } + +.fa-desktop::before { + content: "\f390"; } + +.fa-desktop-alt::before { + content: "\f390"; } + +.fa-dharmachakra::before { + content: "\f655"; } + +.fa-diagram-next::before { + content: "\e476"; } + +.fa-diagram-predecessor::before { + content: "\e477"; } + +.fa-diagram-project::before { + content: "\f542"; } + +.fa-project-diagram::before { + content: "\f542"; } + +.fa-diagram-successor::before { + content: "\e47a"; } + +.fa-diamond::before { + content: "\f219"; } + +.fa-diamond-turn-right::before { + content: "\f5eb"; } + +.fa-directions::before { + content: "\f5eb"; } + +.fa-dice::before { + content: "\f522"; } + +.fa-dice-d20::before { + content: "\f6cf"; } + +.fa-dice-d6::before { + content: "\f6d1"; } + +.fa-dice-five::before { + content: "\f523"; } + +.fa-dice-four::before { + content: "\f524"; } + +.fa-dice-one::before { + content: "\f525"; } + +.fa-dice-six::before { + content: "\f526"; } + +.fa-dice-three::before { + content: "\f527"; } + +.fa-dice-two::before { + content: "\f528"; } + +.fa-disease::before { + content: "\f7fa"; } + +.fa-display::before { + content: "\e163"; } + +.fa-divide::before { + content: "\f529"; } + +.fa-dna::before { + content: "\f471"; } + +.fa-dog::before { + content: "\f6d3"; } + +.fa-dollar-sign::before { + content: "\24"; } + +.fa-dollar::before { + content: "\24"; } + +.fa-usd::before { + content: "\24"; } + +.fa-dolly::before { + content: "\f472"; } + +.fa-dolly-box::before { + content: "\f472"; } + +.fa-dong-sign::before { + content: "\e169"; } + +.fa-door-closed::before { + content: "\f52a"; } + +.fa-door-open::before { + content: "\f52b"; } + +.fa-dove::before { + content: "\f4ba"; } + +.fa-down-left-and-up-right-to-center::before { + content: "\f422"; } + +.fa-compress-alt::before { + content: "\f422"; } + +.fa-down-long::before { + content: "\f309"; } + +.fa-long-arrow-alt-down::before { + content: "\f309"; } + +.fa-download::before { + content: "\f019"; } + +.fa-dragon::before { + content: "\f6d5"; } + +.fa-draw-polygon::before { + content: "\f5ee"; } + +.fa-droplet::before { + content: "\f043"; } + +.fa-tint::before { + content: "\f043"; } + +.fa-droplet-slash::before { + content: "\f5c7"; } + +.fa-tint-slash::before { + content: "\f5c7"; } + +.fa-drum::before { + content: "\f569"; } + +.fa-drum-steelpan::before { + content: "\f56a"; } + +.fa-drumstick-bite::before { + content: "\f6d7"; } + +.fa-dumbbell::before { + content: "\f44b"; } + +.fa-dumpster::before { + content: "\f793"; } + +.fa-dumpster-fire::before { + content: "\f794"; } + +.fa-dungeon::before { + content: "\f6d9"; } + +.fa-e::before { + content: "\45"; } + +.fa-ear-deaf::before { + content: "\f2a4"; } + +.fa-deaf::before { + content: "\f2a4"; } + +.fa-deafness::before { + content: "\f2a4"; } + +.fa-hard-of-hearing::before { + content: "\f2a4"; } + +.fa-ear-listen::before { + content: "\f2a2"; } + +.fa-assistive-listening-systems::before { + content: "\f2a2"; } + +.fa-earth-africa::before { + content: "\f57c"; } + +.fa-globe-africa::before { + content: "\f57c"; } + +.fa-earth-americas::before { + content: "\f57d"; } + +.fa-earth::before { + content: "\f57d"; } + +.fa-earth-america::before { + content: "\f57d"; } + +.fa-globe-americas::before { + content: "\f57d"; } + +.fa-earth-asia::before { + content: "\f57e"; } + +.fa-globe-asia::before { + content: "\f57e"; } + +.fa-earth-europe::before { + content: "\f7a2"; } + +.fa-globe-europe::before { + content: "\f7a2"; } + +.fa-earth-oceania::before { + content: "\e47b"; } + +.fa-globe-oceania::before { + content: "\e47b"; } + +.fa-egg::before { + content: "\f7fb"; } + +.fa-eject::before { + content: "\f052"; } + +.fa-elevator::before { + content: "\e16d"; } + +.fa-ellipsis::before { + content: "\f141"; } + +.fa-ellipsis-h::before { + content: "\f141"; } + +.fa-ellipsis-vertical::before { + content: "\f142"; } + +.fa-ellipsis-v::before { + content: "\f142"; } + +.fa-envelope::before { + content: "\f0e0"; } + +.fa-envelope-circle-check::before { + content: "\e4e8"; } + +.fa-envelope-open::before { + content: "\f2b6"; } + +.fa-envelope-open-text::before { + content: "\f658"; } + +.fa-envelopes-bulk::before { + content: "\f674"; } + +.fa-mail-bulk::before { + content: "\f674"; } + +.fa-equals::before { + content: "\3d"; } + +.fa-eraser::before { + content: "\f12d"; } + +.fa-ethernet::before { + content: "\f796"; } + +.fa-euro-sign::before { + content: "\f153"; } + +.fa-eur::before { + content: "\f153"; } + +.fa-euro::before { + content: "\f153"; } + +.fa-exclamation::before { + content: "\21"; } + +.fa-expand::before { + content: "\f065"; } + +.fa-explosion::before { + content: "\e4e9"; } + +.fa-eye::before { + content: "\f06e"; } + +.fa-eye-dropper::before { + content: "\f1fb"; } + +.fa-eye-dropper-empty::before { + content: "\f1fb"; } + +.fa-eyedropper::before { + content: "\f1fb"; } + +.fa-eye-low-vision::before { + content: "\f2a8"; } + +.fa-low-vision::before { + content: "\f2a8"; } + +.fa-eye-slash::before { + content: "\f070"; } + +.fa-f::before { + content: "\46"; } + +.fa-face-angry::before { + content: "\f556"; } + +.fa-angry::before { + content: "\f556"; } + +.fa-face-dizzy::before { + content: "\f567"; } + +.fa-dizzy::before { + content: "\f567"; } + +.fa-face-flushed::before { + content: "\f579"; } + +.fa-flushed::before { + content: "\f579"; } + +.fa-face-frown::before { + content: "\f119"; } + +.fa-frown::before { + content: "\f119"; } + +.fa-face-frown-open::before { + content: "\f57a"; } + +.fa-frown-open::before { + content: "\f57a"; } + +.fa-face-grimace::before { + content: "\f57f"; } + +.fa-grimace::before { + content: "\f57f"; } + +.fa-face-grin::before { + content: "\f580"; } + +.fa-grin::before { + content: "\f580"; } + +.fa-face-grin-beam::before { + content: "\f582"; } + +.fa-grin-beam::before { + content: "\f582"; } + +.fa-face-grin-beam-sweat::before { + content: "\f583"; } + +.fa-grin-beam-sweat::before { + content: "\f583"; } + +.fa-face-grin-hearts::before { + content: "\f584"; } + +.fa-grin-hearts::before { + content: "\f584"; } + +.fa-face-grin-squint::before { + content: "\f585"; } + +.fa-grin-squint::before { + content: "\f585"; } + +.fa-face-grin-squint-tears::before { + content: "\f586"; } + +.fa-grin-squint-tears::before { + content: "\f586"; } + +.fa-face-grin-stars::before { + content: "\f587"; } + +.fa-grin-stars::before { + content: "\f587"; } + +.fa-face-grin-tears::before { + content: "\f588"; } + +.fa-grin-tears::before { + content: "\f588"; } + +.fa-face-grin-tongue::before { + content: "\f589"; } + +.fa-grin-tongue::before { + content: "\f589"; } + +.fa-face-grin-tongue-squint::before { + content: "\f58a"; } + +.fa-grin-tongue-squint::before { + content: "\f58a"; } + +.fa-face-grin-tongue-wink::before { + content: "\f58b"; } + +.fa-grin-tongue-wink::before { + content: "\f58b"; } + +.fa-face-grin-wide::before { + content: "\f581"; } + +.fa-grin-alt::before { + content: "\f581"; } + +.fa-face-grin-wink::before { + content: "\f58c"; } + +.fa-grin-wink::before { + content: "\f58c"; } + +.fa-face-kiss::before { + content: "\f596"; } + +.fa-kiss::before { + content: "\f596"; } + +.fa-face-kiss-beam::before { + content: "\f597"; } + +.fa-kiss-beam::before { + content: "\f597"; } + +.fa-face-kiss-wink-heart::before { + content: "\f598"; } + +.fa-kiss-wink-heart::before { + content: "\f598"; } + +.fa-face-laugh::before { + content: "\f599"; } + +.fa-laugh::before { + content: "\f599"; } + +.fa-face-laugh-beam::before { + content: "\f59a"; } + +.fa-laugh-beam::before { + content: "\f59a"; } + +.fa-face-laugh-squint::before { + content: "\f59b"; } + +.fa-laugh-squint::before { + content: "\f59b"; } + +.fa-face-laugh-wink::before { + content: "\f59c"; } + +.fa-laugh-wink::before { + content: "\f59c"; } + +.fa-face-meh::before { + content: "\f11a"; } + +.fa-meh::before { + content: "\f11a"; } + +.fa-face-meh-blank::before { + content: "\f5a4"; } + +.fa-meh-blank::before { + content: "\f5a4"; } + +.fa-face-rolling-eyes::before { + content: "\f5a5"; } + +.fa-meh-rolling-eyes::before { + content: "\f5a5"; } + +.fa-face-sad-cry::before { + content: "\f5b3"; } + +.fa-sad-cry::before { + content: "\f5b3"; } + +.fa-face-sad-tear::before { + content: "\f5b4"; } + +.fa-sad-tear::before { + content: "\f5b4"; } + +.fa-face-smile::before { + content: "\f118"; } + +.fa-smile::before { + content: "\f118"; } + +.fa-face-smile-beam::before { + content: "\f5b8"; } + +.fa-smile-beam::before { + content: "\f5b8"; } + +.fa-face-smile-wink::before { + content: "\f4da"; } + +.fa-smile-wink::before { + content: "\f4da"; } + +.fa-face-surprise::before { + content: "\f5c2"; } + +.fa-surprise::before { + content: "\f5c2"; } + +.fa-face-tired::before { + content: "\f5c8"; } + +.fa-tired::before { + content: "\f5c8"; } + +.fa-fan::before { + content: "\f863"; } + +.fa-faucet::before { + content: "\e005"; } + +.fa-faucet-drip::before { + content: "\e006"; } + +.fa-fax::before { + content: "\f1ac"; } + +.fa-feather::before { + content: "\f52d"; } + +.fa-feather-pointed::before { + content: "\f56b"; } + +.fa-feather-alt::before { + content: "\f56b"; } + +.fa-ferry::before { + content: "\e4ea"; } + +.fa-file::before { + content: "\f15b"; } + +.fa-file-arrow-down::before { + content: "\f56d"; } + +.fa-file-download::before { + content: "\f56d"; } + +.fa-file-arrow-up::before { + content: "\f574"; } + +.fa-file-upload::before { + content: "\f574"; } + +.fa-file-audio::before { + content: "\f1c7"; } + +.fa-file-circle-check::before { + content: "\e5a0"; } + +.fa-file-circle-exclamation::before { + content: "\e4eb"; } + +.fa-file-circle-minus::before { + content: "\e4ed"; } + +.fa-file-circle-plus::before { + content: "\e494"; } + +.fa-file-circle-question::before { + content: "\e4ef"; } + +.fa-file-circle-xmark::before { + content: "\e5a1"; } + +.fa-file-code::before { + content: "\f1c9"; } + +.fa-file-contract::before { + content: "\f56c"; } + +.fa-file-csv::before { + content: "\f6dd"; } + +.fa-file-excel::before { + content: "\f1c3"; } + +.fa-file-export::before { + content: "\f56e"; } + +.fa-arrow-right-from-file::before { + content: "\f56e"; } + +.fa-file-image::before { + content: "\f1c5"; } + +.fa-file-import::before { + content: "\f56f"; } + +.fa-arrow-right-to-file::before { + content: "\f56f"; } + +.fa-file-invoice::before { + content: "\f570"; } + +.fa-file-invoice-dollar::before { + content: "\f571"; } + +.fa-file-lines::before { + content: "\f15c"; } + +.fa-file-alt::before { + content: "\f15c"; } + +.fa-file-text::before { + content: "\f15c"; } + +.fa-file-medical::before { + content: "\f477"; } + +.fa-file-pdf::before { + content: "\f1c1"; } + +.fa-file-pen::before { + content: "\f31c"; } + +.fa-file-edit::before { + content: "\f31c"; } + +.fa-file-powerpoint::before { + content: "\f1c4"; } + +.fa-file-prescription::before { + content: "\f572"; } + +.fa-file-shield::before { + content: "\e4f0"; } + +.fa-file-signature::before { + content: "\f573"; } + +.fa-file-video::before { + content: "\f1c8"; } + +.fa-file-waveform::before { + content: "\f478"; } + +.fa-file-medical-alt::before { + content: "\f478"; } + +.fa-file-word::before { + content: "\f1c2"; } + +.fa-file-zipper::before { + content: "\f1c6"; } + +.fa-file-archive::before { + content: "\f1c6"; } + +.fa-fill::before { + content: "\f575"; } + +.fa-fill-drip::before { + content: "\f576"; } + +.fa-film::before { + content: "\f008"; } + +.fa-filter::before { + content: "\f0b0"; } + +.fa-filter-circle-dollar::before { + content: "\f662"; } + +.fa-funnel-dollar::before { + content: "\f662"; } + +.fa-filter-circle-xmark::before { + content: "\e17b"; } + +.fa-fingerprint::before { + content: "\f577"; } + +.fa-fire::before { + content: "\f06d"; } + +.fa-fire-burner::before { + content: "\e4f1"; } + +.fa-fire-extinguisher::before { + content: "\f134"; } + +.fa-fire-flame-curved::before { + content: "\f7e4"; } + +.fa-fire-alt::before { + content: "\f7e4"; } + +.fa-fire-flame-simple::before { + content: "\f46a"; } + +.fa-burn::before { + content: "\f46a"; } + +.fa-fish::before { + content: "\f578"; } + +.fa-fish-fins::before { + content: "\e4f2"; } + +.fa-flag::before { + content: "\f024"; } + +.fa-flag-checkered::before { + content: "\f11e"; } + +.fa-flag-usa::before { + content: "\f74d"; } + +.fa-flask::before { + content: "\f0c3"; } + +.fa-flask-vial::before { + content: "\e4f3"; } + +.fa-floppy-disk::before { + content: "\f0c7"; } + +.fa-save::before { + content: "\f0c7"; } + +.fa-florin-sign::before { + content: "\e184"; } + +.fa-folder::before { + content: "\f07b"; } + +.fa-folder-blank::before { + content: "\f07b"; } + +.fa-folder-closed::before { + content: "\e185"; } + +.fa-folder-minus::before { + content: "\f65d"; } + +.fa-folder-open::before { + content: "\f07c"; } + +.fa-folder-plus::before { + content: "\f65e"; } + +.fa-folder-tree::before { + content: "\f802"; } + +.fa-font::before { + content: "\f031"; } + +.fa-football::before { + content: "\f44e"; } + +.fa-football-ball::before { + content: "\f44e"; } + +.fa-forward::before { + content: "\f04e"; } + +.fa-forward-fast::before { + content: "\f050"; } + +.fa-fast-forward::before { + content: "\f050"; } + +.fa-forward-step::before { + content: "\f051"; } + +.fa-step-forward::before { + content: "\f051"; } + +.fa-franc-sign::before { + content: "\e18f"; } + +.fa-frog::before { + content: "\f52e"; } + +.fa-futbol::before { + content: "\f1e3"; } + +.fa-futbol-ball::before { + content: "\f1e3"; } + +.fa-soccer-ball::before { + content: "\f1e3"; } + +.fa-g::before { + content: "\47"; } + +.fa-gamepad::before { + content: "\f11b"; } + +.fa-gas-pump::before { + content: "\f52f"; } + +.fa-gauge::before { + content: "\f624"; } + +.fa-dashboard::before { + content: "\f624"; } + +.fa-gauge-med::before { + content: "\f624"; } + +.fa-tachometer-alt-average::before { + content: "\f624"; } + +.fa-gauge-high::before { + content: "\f625"; } + +.fa-tachometer-alt::before { + content: "\f625"; } + +.fa-tachometer-alt-fast::before { + content: "\f625"; } + +.fa-gauge-simple::before { + content: "\f629"; } + +.fa-gauge-simple-med::before { + content: "\f629"; } + +.fa-tachometer-average::before { + content: "\f629"; } + +.fa-gauge-simple-high::before { + content: "\f62a"; } + +.fa-tachometer::before { + content: "\f62a"; } + +.fa-tachometer-fast::before { + content: "\f62a"; } + +.fa-gavel::before { + content: "\f0e3"; } + +.fa-legal::before { + content: "\f0e3"; } + +.fa-gear::before { + content: "\f013"; } + +.fa-cog::before { + content: "\f013"; } + +.fa-gears::before { + content: "\f085"; } + +.fa-cogs::before { + content: "\f085"; } + +.fa-gem::before { + content: "\f3a5"; } + +.fa-genderless::before { + content: "\f22d"; } + +.fa-ghost::before { + content: "\f6e2"; } + +.fa-gift::before { + content: "\f06b"; } + +.fa-gifts::before { + content: "\f79c"; } + +.fa-glass-water::before { + content: "\e4f4"; } + +.fa-glass-water-droplet::before { + content: "\e4f5"; } + +.fa-glasses::before { + content: "\f530"; } + +.fa-globe::before { + content: "\f0ac"; } + +.fa-golf-ball-tee::before { + content: "\f450"; } + +.fa-golf-ball::before { + content: "\f450"; } + +.fa-gopuram::before { + content: "\f664"; } + +.fa-graduation-cap::before { + content: "\f19d"; } + +.fa-mortar-board::before { + content: "\f19d"; } + +.fa-greater-than::before { + content: "\3e"; } + +.fa-greater-than-equal::before { + content: "\f532"; } + +.fa-grip::before { + content: "\f58d"; } + +.fa-grip-horizontal::before { + content: "\f58d"; } + +.fa-grip-lines::before { + content: "\f7a4"; } + +.fa-grip-lines-vertical::before { + content: "\f7a5"; } + +.fa-grip-vertical::before { + content: "\f58e"; } + +.fa-group-arrows-rotate::before { + content: "\e4f6"; } + +.fa-guarani-sign::before { + content: "\e19a"; } + +.fa-guitar::before { + content: "\f7a6"; } + +.fa-gun::before { + content: "\e19b"; } + +.fa-h::before { + content: "\48"; } + +.fa-hammer::before { + content: "\f6e3"; } + +.fa-hamsa::before { + content: "\f665"; } + +.fa-hand::before { + content: "\f256"; } + +.fa-hand-paper::before { + content: "\f256"; } + +.fa-hand-back-fist::before { + content: "\f255"; } + +.fa-hand-rock::before { + content: "\f255"; } + +.fa-hand-dots::before { + content: "\f461"; } + +.fa-allergies::before { + content: "\f461"; } + +.fa-hand-fist::before { + content: "\f6de"; } + +.fa-fist-raised::before { + content: "\f6de"; } + +.fa-hand-holding::before { + content: "\f4bd"; } + +.fa-hand-holding-dollar::before { + content: "\f4c0"; } + +.fa-hand-holding-usd::before { + content: "\f4c0"; } + +.fa-hand-holding-droplet::before { + content: "\f4c1"; } + +.fa-hand-holding-water::before { + content: "\f4c1"; } + +.fa-hand-holding-hand::before { + content: "\e4f7"; } + +.fa-hand-holding-heart::before { + content: "\f4be"; } + +.fa-hand-holding-medical::before { + content: "\e05c"; } + +.fa-hand-lizard::before { + content: "\f258"; } + +.fa-hand-middle-finger::before { + content: "\f806"; } + +.fa-hand-peace::before { + content: "\f25b"; } + +.fa-hand-point-down::before { + content: "\f0a7"; } + +.fa-hand-point-left::before { + content: "\f0a5"; } + +.fa-hand-point-right::before { + content: "\f0a4"; } + +.fa-hand-point-up::before { + content: "\f0a6"; } + +.fa-hand-pointer::before { + content: "\f25a"; } + +.fa-hand-scissors::before { + content: "\f257"; } + +.fa-hand-sparkles::before { + content: "\e05d"; } + +.fa-hand-spock::before { + content: "\f259"; } + +.fa-handcuffs::before { + content: "\e4f8"; } + +.fa-hands::before { + content: "\f2a7"; } + +.fa-sign-language::before { + content: "\f2a7"; } + +.fa-signing::before { + content: "\f2a7"; } + +.fa-hands-asl-interpreting::before { + content: "\f2a3"; } + +.fa-american-sign-language-interpreting::before { + content: "\f2a3"; } + +.fa-asl-interpreting::before { + content: "\f2a3"; } + +.fa-hands-american-sign-language-interpreting::before { + content: "\f2a3"; } + +.fa-hands-bound::before { + content: "\e4f9"; } + +.fa-hands-bubbles::before { + content: "\e05e"; } + +.fa-hands-wash::before { + content: "\e05e"; } + +.fa-hands-clapping::before { + content: "\e1a8"; } + +.fa-hands-holding::before { + content: "\f4c2"; } + +.fa-hands-holding-child::before { + content: "\e4fa"; } + +.fa-hands-holding-circle::before { + content: "\e4fb"; } + +.fa-hands-praying::before { + content: "\f684"; } + +.fa-praying-hands::before { + content: "\f684"; } + +.fa-handshake::before { + content: "\f2b5"; } + +.fa-handshake-angle::before { + content: "\f4c4"; } + +.fa-hands-helping::before { + content: "\f4c4"; } + +.fa-handshake-simple::before { + content: "\f4c6"; } + +.fa-handshake-alt::before { + content: "\f4c6"; } + +.fa-handshake-simple-slash::before { + content: "\e05f"; } + +.fa-handshake-alt-slash::before { + content: "\e05f"; } + +.fa-handshake-slash::before { + content: "\e060"; } + +.fa-hanukiah::before { + content: "\f6e6"; } + +.fa-hard-drive::before { + content: "\f0a0"; } + +.fa-hdd::before { + content: "\f0a0"; } + +.fa-hashtag::before { + content: "\23"; } + +.fa-hat-cowboy::before { + content: "\f8c0"; } + +.fa-hat-cowboy-side::before { + content: "\f8c1"; } + +.fa-hat-wizard::before { + content: "\f6e8"; } + +.fa-head-side-cough::before { + content: "\e061"; } + +.fa-head-side-cough-slash::before { + content: "\e062"; } + +.fa-head-side-mask::before { + content: "\e063"; } + +.fa-head-side-virus::before { + content: "\e064"; } + +.fa-heading::before { + content: "\f1dc"; } + +.fa-header::before { + content: "\f1dc"; } + +.fa-headphones::before { + content: "\f025"; } + +.fa-headphones-simple::before { + content: "\f58f"; } + +.fa-headphones-alt::before { + content: "\f58f"; } + +.fa-headset::before { + content: "\f590"; } + +.fa-heart::before { + content: "\f004"; } + +.fa-heart-circle-bolt::before { + content: "\e4fc"; } + +.fa-heart-circle-check::before { + content: "\e4fd"; } + +.fa-heart-circle-exclamation::before { + content: "\e4fe"; } + +.fa-heart-circle-minus::before { + content: "\e4ff"; } + +.fa-heart-circle-plus::before { + content: "\e500"; } + +.fa-heart-circle-xmark::before { + content: "\e501"; } + +.fa-heart-crack::before { + content: "\f7a9"; } + +.fa-heart-broken::before { + content: "\f7a9"; } + +.fa-heart-pulse::before { + content: "\f21e"; } + +.fa-heartbeat::before { + content: "\f21e"; } + +.fa-helicopter::before { + content: "\f533"; } + +.fa-helicopter-symbol::before { + content: "\e502"; } + +.fa-helmet-safety::before { + content: "\f807"; } + +.fa-hard-hat::before { + content: "\f807"; } + +.fa-hat-hard::before { + content: "\f807"; } + +.fa-helmet-un::before { + content: "\e503"; } + +.fa-highlighter::before { + content: "\f591"; } + +.fa-hill-avalanche::before { + content: "\e507"; } + +.fa-hill-rockslide::before { + content: "\e508"; } + +.fa-hippo::before { + content: "\f6ed"; } + +.fa-hockey-puck::before { + content: "\f453"; } + +.fa-holly-berry::before { + content: "\f7aa"; } + +.fa-horse::before { + content: "\f6f0"; } + +.fa-horse-head::before { + content: "\f7ab"; } + +.fa-hospital::before { + content: "\f0f8"; } + +.fa-hospital-alt::before { + content: "\f0f8"; } + +.fa-hospital-wide::before { + content: "\f0f8"; } + +.fa-hospital-user::before { + content: "\f80d"; } + +.fa-hot-tub-person::before { + content: "\f593"; } + +.fa-hot-tub::before { + content: "\f593"; } + +.fa-hotdog::before { + content: "\f80f"; } + +.fa-hotel::before { + content: "\f594"; } + +.fa-hourglass::before { + content: "\f254"; } + +.fa-hourglass-empty::before { + content: "\f254"; } + +.fa-hourglass-end::before { + content: "\f253"; } + +.fa-hourglass-3::before { + content: "\f253"; } + +.fa-hourglass-half::before { + content: "\f252"; } + +.fa-hourglass-2::before { + content: "\f252"; } + +.fa-hourglass-start::before { + content: "\f251"; } + +.fa-hourglass-1::before { + content: "\f251"; } + +.fa-house::before { + content: "\f015"; } + +.fa-home::before { + content: "\f015"; } + +.fa-home-alt::before { + content: "\f015"; } + +.fa-home-lg-alt::before { + content: "\f015"; } + +.fa-house-chimney::before { + content: "\e3af"; } + +.fa-home-lg::before { + content: "\e3af"; } + +.fa-house-chimney-crack::before { + content: "\f6f1"; } + +.fa-house-damage::before { + content: "\f6f1"; } + +.fa-house-chimney-medical::before { + content: "\f7f2"; } + +.fa-clinic-medical::before { + content: "\f7f2"; } + +.fa-house-chimney-user::before { + content: "\e065"; } + +.fa-house-chimney-window::before { + content: "\e00d"; } + +.fa-house-circle-check::before { + content: "\e509"; } + +.fa-house-circle-exclamation::before { + content: "\e50a"; } + +.fa-house-circle-xmark::before { + content: "\e50b"; } + +.fa-house-crack::before { + content: "\e3b1"; } + +.fa-house-fire::before { + content: "\e50c"; } + +.fa-house-flag::before { + content: "\e50d"; } + +.fa-house-flood-water::before { + content: "\e50e"; } + +.fa-house-flood-water-circle-arrow-right::before { + content: "\e50f"; } + +.fa-house-laptop::before { + content: "\e066"; } + +.fa-laptop-house::before { + content: "\e066"; } + +.fa-house-lock::before { + content: "\e510"; } + +.fa-house-medical::before { + content: "\e3b2"; } + +.fa-house-medical-circle-check::before { + content: "\e511"; } + +.fa-house-medical-circle-exclamation::before { + content: "\e512"; } + +.fa-house-medical-circle-xmark::before { + content: "\e513"; } + +.fa-house-medical-flag::before { + content: "\e514"; } + +.fa-house-signal::before { + content: "\e012"; } + +.fa-house-tsunami::before { + content: "\e515"; } + +.fa-house-user::before { + content: "\e1b0"; } + +.fa-home-user::before { + content: "\e1b0"; } + +.fa-hryvnia-sign::before { + content: "\f6f2"; } + +.fa-hryvnia::before { + content: "\f6f2"; } + +.fa-hurricane::before { + content: "\f751"; } + +.fa-i::before { + content: "\49"; } + +.fa-i-cursor::before { + content: "\f246"; } + +.fa-ice-cream::before { + content: "\f810"; } + +.fa-icicles::before { + content: "\f7ad"; } + +.fa-icons::before { + content: "\f86d"; } + +.fa-heart-music-camera-bolt::before { + content: "\f86d"; } + +.fa-id-badge::before { + content: "\f2c1"; } + +.fa-id-card::before { + content: "\f2c2"; } + +.fa-drivers-license::before { + content: "\f2c2"; } + +.fa-id-card-clip::before { + content: "\f47f"; } + +.fa-id-card-alt::before { + content: "\f47f"; } + +.fa-igloo::before { + content: "\f7ae"; } + +.fa-image::before { + content: "\f03e"; } + +.fa-image-portrait::before { + content: "\f3e0"; } + +.fa-portrait::before { + content: "\f3e0"; } + +.fa-images::before { + content: "\f302"; } + +.fa-inbox::before { + content: "\f01c"; } + +.fa-indent::before { + content: "\f03c"; } + +.fa-indian-rupee-sign::before { + content: "\e1bc"; } + +.fa-indian-rupee::before { + content: "\e1bc"; } + +.fa-inr::before { + content: "\e1bc"; } + +.fa-industry::before { + content: "\f275"; } + +.fa-infinity::before { + content: "\f534"; } + +.fa-info::before { + content: "\f129"; } + +.fa-italic::before { + content: "\f033"; } + +.fa-j::before { + content: "\4a"; } + +.fa-jar::before { + content: "\e516"; } + +.fa-jar-wheat::before { + content: "\e517"; } + +.fa-jedi::before { + content: "\f669"; } + +.fa-jet-fighter::before { + content: "\f0fb"; } + +.fa-fighter-jet::before { + content: "\f0fb"; } + +.fa-jet-fighter-up::before { + content: "\e518"; } + +.fa-joint::before { + content: "\f595"; } + +.fa-jug-detergent::before { + content: "\e519"; } + +.fa-k::before { + content: "\4b"; } + +.fa-kaaba::before { + content: "\f66b"; } + +.fa-key::before { + content: "\f084"; } + +.fa-keyboard::before { + content: "\f11c"; } + +.fa-khanda::before { + content: "\f66d"; } + +.fa-kip-sign::before { + content: "\e1c4"; } + +.fa-kit-medical::before { + content: "\f479"; } + +.fa-first-aid::before { + content: "\f479"; } + +.fa-kitchen-set::before { + content: "\e51a"; } + +.fa-kiwi-bird::before { + content: "\f535"; } + +.fa-l::before { + content: "\4c"; } + +.fa-land-mine-on::before { + content: "\e51b"; } + +.fa-landmark::before { + content: "\f66f"; } + +.fa-landmark-dome::before { + content: "\f752"; } + +.fa-landmark-alt::before { + content: "\f752"; } + +.fa-landmark-flag::before { + content: "\e51c"; } + +.fa-language::before { + content: "\f1ab"; } + +.fa-laptop::before { + content: "\f109"; } + +.fa-laptop-code::before { + content: "\f5fc"; } + +.fa-laptop-file::before { + content: "\e51d"; } + +.fa-laptop-medical::before { + content: "\f812"; } + +.fa-lari-sign::before { + content: "\e1c8"; } + +.fa-layer-group::before { + content: "\f5fd"; } + +.fa-leaf::before { + content: "\f06c"; } + +.fa-left-long::before { + content: "\f30a"; } + +.fa-long-arrow-alt-left::before { + content: "\f30a"; } + +.fa-left-right::before { + content: "\f337"; } + +.fa-arrows-alt-h::before { + content: "\f337"; } + +.fa-lemon::before { + content: "\f094"; } + +.fa-less-than::before { + content: "\3c"; } + +.fa-less-than-equal::before { + content: "\f537"; } + +.fa-life-ring::before { + content: "\f1cd"; } + +.fa-lightbulb::before { + content: "\f0eb"; } + +.fa-lines-leaning::before { + content: "\e51e"; } + +.fa-link::before { + content: "\f0c1"; } + +.fa-chain::before { + content: "\f0c1"; } + +.fa-link-slash::before { + content: "\f127"; } + +.fa-chain-broken::before { + content: "\f127"; } + +.fa-chain-slash::before { + content: "\f127"; } + +.fa-unlink::before { + content: "\f127"; } + +.fa-lira-sign::before { + content: "\f195"; } + +.fa-list::before { + content: "\f03a"; } + +.fa-list-squares::before { + content: "\f03a"; } + +.fa-list-check::before { + content: "\f0ae"; } + +.fa-tasks::before { + content: "\f0ae"; } + +.fa-list-ol::before { + content: "\f0cb"; } + +.fa-list-1-2::before { + content: "\f0cb"; } + +.fa-list-numeric::before { + content: "\f0cb"; } + +.fa-list-ul::before { + content: "\f0ca"; } + +.fa-list-dots::before { + content: "\f0ca"; } + +.fa-litecoin-sign::before { + content: "\e1d3"; } + +.fa-location-arrow::before { + content: "\f124"; } + +.fa-location-crosshairs::before { + content: "\f601"; } + +.fa-location::before { + content: "\f601"; } + +.fa-location-dot::before { + content: "\f3c5"; } + +.fa-map-marker-alt::before { + content: "\f3c5"; } + +.fa-location-pin::before { + content: "\f041"; } + +.fa-map-marker::before { + content: "\f041"; } + +.fa-location-pin-lock::before { + content: "\e51f"; } + +.fa-lock::before { + content: "\f023"; } + +.fa-lock-open::before { + content: "\f3c1"; } + +.fa-locust::before { + content: "\e520"; } + +.fa-lungs::before { + content: "\f604"; } + +.fa-lungs-virus::before { + content: "\e067"; } + +.fa-m::before { + content: "\4d"; } + +.fa-magnet::before { + content: "\f076"; } + +.fa-magnifying-glass::before { + content: "\f002"; } + +.fa-search::before { + content: "\f002"; } + +.fa-magnifying-glass-arrow-right::before { + content: "\e521"; } + +.fa-magnifying-glass-chart::before { + content: "\e522"; } + +.fa-magnifying-glass-dollar::before { + content: "\f688"; } + +.fa-search-dollar::before { + content: "\f688"; } + +.fa-magnifying-glass-location::before { + content: "\f689"; } + +.fa-search-location::before { + content: "\f689"; } + +.fa-magnifying-glass-minus::before { + content: "\f010"; } + +.fa-search-minus::before { + content: "\f010"; } + +.fa-magnifying-glass-plus::before { + content: "\f00e"; } + +.fa-search-plus::before { + content: "\f00e"; } + +.fa-manat-sign::before { + content: "\e1d5"; } + +.fa-map::before { + content: "\f279"; } + +.fa-map-location::before { + content: "\f59f"; } + +.fa-map-marked::before { + content: "\f59f"; } + +.fa-map-location-dot::before { + content: "\f5a0"; } + +.fa-map-marked-alt::before { + content: "\f5a0"; } + +.fa-map-pin::before { + content: "\f276"; } + +.fa-marker::before { + content: "\f5a1"; } + +.fa-mars::before { + content: "\f222"; } + +.fa-mars-and-venus::before { + content: "\f224"; } + +.fa-mars-and-venus-burst::before { + content: "\e523"; } + +.fa-mars-double::before { + content: "\f227"; } + +.fa-mars-stroke::before { + content: "\f229"; } + +.fa-mars-stroke-right::before { + content: "\f22b"; } + +.fa-mars-stroke-h::before { + content: "\f22b"; } + +.fa-mars-stroke-up::before { + content: "\f22a"; } + +.fa-mars-stroke-v::before { + content: "\f22a"; } + +.fa-martini-glass::before { + content: "\f57b"; } + +.fa-glass-martini-alt::before { + content: "\f57b"; } + +.fa-martini-glass-citrus::before { + content: "\f561"; } + +.fa-cocktail::before { + content: "\f561"; } + +.fa-martini-glass-empty::before { + content: "\f000"; } + +.fa-glass-martini::before { + content: "\f000"; } + +.fa-mask::before { + content: "\f6fa"; } + +.fa-mask-face::before { + content: "\e1d7"; } + +.fa-mask-ventilator::before { + content: "\e524"; } + +.fa-masks-theater::before { + content: "\f630"; } + +.fa-theater-masks::before { + content: "\f630"; } + +.fa-mattress-pillow::before { + content: "\e525"; } + +.fa-maximize::before { + content: "\f31e"; } + +.fa-expand-arrows-alt::before { + content: "\f31e"; } + +.fa-medal::before { + content: "\f5a2"; } + +.fa-memory::before { + content: "\f538"; } + +.fa-menorah::before { + content: "\f676"; } + +.fa-mercury::before { + content: "\f223"; } + +.fa-message::before { + content: "\f27a"; } + +.fa-comment-alt::before { + content: "\f27a"; } + +.fa-meteor::before { + content: "\f753"; } + +.fa-microchip::before { + content: "\f2db"; } + +.fa-microphone::before { + content: "\f130"; } + +.fa-microphone-lines::before { + content: "\f3c9"; } + +.fa-microphone-alt::before { + content: "\f3c9"; } + +.fa-microphone-lines-slash::before { + content: "\f539"; } + +.fa-microphone-alt-slash::before { + content: "\f539"; } + +.fa-microphone-slash::before { + content: "\f131"; } + +.fa-microscope::before { + content: "\f610"; } + +.fa-mill-sign::before { + content: "\e1ed"; } + +.fa-minimize::before { + content: "\f78c"; } + +.fa-compress-arrows-alt::before { + content: "\f78c"; } + +.fa-minus::before { + content: "\f068"; } + +.fa-subtract::before { + content: "\f068"; } + +.fa-mitten::before { + content: "\f7b5"; } + +.fa-mobile::before { + content: "\f3ce"; } + +.fa-mobile-android::before { + content: "\f3ce"; } + +.fa-mobile-phone::before { + content: "\f3ce"; } + +.fa-mobile-button::before { + content: "\f10b"; } + +.fa-mobile-retro::before { + content: "\e527"; } + +.fa-mobile-screen::before { + content: "\f3cf"; } + +.fa-mobile-android-alt::before { + content: "\f3cf"; } + +.fa-mobile-screen-button::before { + content: "\f3cd"; } + +.fa-mobile-alt::before { + content: "\f3cd"; } + +.fa-money-bill::before { + content: "\f0d6"; } + +.fa-money-bill-1::before { + content: "\f3d1"; } + +.fa-money-bill-alt::before { + content: "\f3d1"; } + +.fa-money-bill-1-wave::before { + content: "\f53b"; } + +.fa-money-bill-wave-alt::before { + content: "\f53b"; } + +.fa-money-bill-transfer::before { + content: "\e528"; } + +.fa-money-bill-trend-up::before { + content: "\e529"; } + +.fa-money-bill-wave::before { + content: "\f53a"; } + +.fa-money-bill-wheat::before { + content: "\e52a"; } + +.fa-money-bills::before { + content: "\e1f3"; } + +.fa-money-check::before { + content: "\f53c"; } + +.fa-money-check-dollar::before { + content: "\f53d"; } + +.fa-money-check-alt::before { + content: "\f53d"; } + +.fa-monument::before { + content: "\f5a6"; } + +.fa-moon::before { + content: "\f186"; } + +.fa-mortar-pestle::before { + content: "\f5a7"; } + +.fa-mosque::before { + content: "\f678"; } + +.fa-mosquito::before { + content: "\e52b"; } + +.fa-mosquito-net::before { + content: "\e52c"; } + +.fa-motorcycle::before { + content: "\f21c"; } + +.fa-mound::before { + content: "\e52d"; } + +.fa-mountain::before { + content: "\f6fc"; } + +.fa-mountain-city::before { + content: "\e52e"; } + +.fa-mountain-sun::before { + content: "\e52f"; } + +.fa-mug-hot::before { + content: "\f7b6"; } + +.fa-mug-saucer::before { + content: "\f0f4"; } + +.fa-coffee::before { + content: "\f0f4"; } + +.fa-music::before { + content: "\f001"; } + +.fa-n::before { + content: "\4e"; } + +.fa-naira-sign::before { + content: "\e1f6"; } + +.fa-network-wired::before { + content: "\f6ff"; } + +.fa-neuter::before { + content: "\f22c"; } + +.fa-newspaper::before { + content: "\f1ea"; } + +.fa-not-equal::before { + content: "\f53e"; } + +.fa-notdef::before { + content: "\e1fe"; } + +.fa-note-sticky::before { + content: "\f249"; } + +.fa-sticky-note::before { + content: "\f249"; } + +.fa-notes-medical::before { + content: "\f481"; } + +.fa-o::before { + content: "\4f"; } + +.fa-object-group::before { + content: "\f247"; } + +.fa-object-ungroup::before { + content: "\f248"; } + +.fa-oil-can::before { + content: "\f613"; } + +.fa-oil-well::before { + content: "\e532"; } + +.fa-om::before { + content: "\f679"; } + +.fa-otter::before { + content: "\f700"; } + +.fa-outdent::before { + content: "\f03b"; } + +.fa-dedent::before { + content: "\f03b"; } + +.fa-p::before { + content: "\50"; } + +.fa-pager::before { + content: "\f815"; } + +.fa-paint-roller::before { + content: "\f5aa"; } + +.fa-paintbrush::before { + content: "\f1fc"; } + +.fa-paint-brush::before { + content: "\f1fc"; } + +.fa-palette::before { + content: "\f53f"; } + +.fa-pallet::before { + content: "\f482"; } + +.fa-panorama::before { + content: "\e209"; } + +.fa-paper-plane::before { + content: "\f1d8"; } + +.fa-paperclip::before { + content: "\f0c6"; } + +.fa-parachute-box::before { + content: "\f4cd"; } + +.fa-paragraph::before { + content: "\f1dd"; } + +.fa-passport::before { + content: "\f5ab"; } + +.fa-paste::before { + content: "\f0ea"; } + +.fa-file-clipboard::before { + content: "\f0ea"; } + +.fa-pause::before { + content: "\f04c"; } + +.fa-paw::before { + content: "\f1b0"; } + +.fa-peace::before { + content: "\f67c"; } + +.fa-pen::before { + content: "\f304"; } + +.fa-pen-clip::before { + content: "\f305"; } + +.fa-pen-alt::before { + content: "\f305"; } + +.fa-pen-fancy::before { + content: "\f5ac"; } + +.fa-pen-nib::before { + content: "\f5ad"; } + +.fa-pen-ruler::before { + content: "\f5ae"; } + +.fa-pencil-ruler::before { + content: "\f5ae"; } + +.fa-pen-to-square::before { + content: "\f044"; } + +.fa-edit::before { + content: "\f044"; } + +.fa-pencil::before { + content: "\f303"; } + +.fa-pencil-alt::before { + content: "\f303"; } + +.fa-people-arrows::before { + content: "\e068"; } + +.fa-people-arrows-left-right::before { + content: "\e068"; } + +.fa-people-carry-box::before { + content: "\f4ce"; } + +.fa-people-carry::before { + content: "\f4ce"; } + +.fa-people-group::before { + content: "\e533"; } + +.fa-people-line::before { + content: "\e534"; } + +.fa-people-pulling::before { + content: "\e535"; } + +.fa-people-robbery::before { + content: "\e536"; } + +.fa-people-roof::before { + content: "\e537"; } + +.fa-pepper-hot::before { + content: "\f816"; } + +.fa-percent::before { + content: "\25"; } + +.fa-percentage::before { + content: "\25"; } + +.fa-person::before { + content: "\f183"; } + +.fa-male::before { + content: "\f183"; } + +.fa-person-arrow-down-to-line::before { + content: "\e538"; } + +.fa-person-arrow-up-from-line::before { + content: "\e539"; } + +.fa-person-biking::before { + content: "\f84a"; } + +.fa-biking::before { + content: "\f84a"; } + +.fa-person-booth::before { + content: "\f756"; } + +.fa-person-breastfeeding::before { + content: "\e53a"; } + +.fa-person-burst::before { + content: "\e53b"; } + +.fa-person-cane::before { + content: "\e53c"; } + +.fa-person-chalkboard::before { + content: "\e53d"; } + +.fa-person-circle-check::before { + content: "\e53e"; } + +.fa-person-circle-exclamation::before { + content: "\e53f"; } + +.fa-person-circle-minus::before { + content: "\e540"; } + +.fa-person-circle-plus::before { + content: "\e541"; } + +.fa-person-circle-question::before { + content: "\e542"; } + +.fa-person-circle-xmark::before { + content: "\e543"; } + +.fa-person-digging::before { + content: "\f85e"; } + +.fa-digging::before { + content: "\f85e"; } + +.fa-person-dots-from-line::before { + content: "\f470"; } + +.fa-diagnoses::before { + content: "\f470"; } + +.fa-person-dress::before { + content: "\f182"; } + +.fa-female::before { + content: "\f182"; } + +.fa-person-dress-burst::before { + content: "\e544"; } + +.fa-person-drowning::before { + content: "\e545"; } + +.fa-person-falling::before { + content: "\e546"; } + +.fa-person-falling-burst::before { + content: "\e547"; } + +.fa-person-half-dress::before { + content: "\e548"; } + +.fa-person-harassing::before { + content: "\e549"; } + +.fa-person-hiking::before { + content: "\f6ec"; } + +.fa-hiking::before { + content: "\f6ec"; } + +.fa-person-military-pointing::before { + content: "\e54a"; } + +.fa-person-military-rifle::before { + content: "\e54b"; } + +.fa-person-military-to-person::before { + content: "\e54c"; } + +.fa-person-praying::before { + content: "\f683"; } + +.fa-pray::before { + content: "\f683"; } + +.fa-person-pregnant::before { + content: "\e31e"; } + +.fa-person-rays::before { + content: "\e54d"; } + +.fa-person-rifle::before { + content: "\e54e"; } + +.fa-person-running::before { + content: "\f70c"; } + +.fa-running::before { + content: "\f70c"; } + +.fa-person-shelter::before { + content: "\e54f"; } + +.fa-person-skating::before { + content: "\f7c5"; } + +.fa-skating::before { + content: "\f7c5"; } + +.fa-person-skiing::before { + content: "\f7c9"; } + +.fa-skiing::before { + content: "\f7c9"; } + +.fa-person-skiing-nordic::before { + content: "\f7ca"; } + +.fa-skiing-nordic::before { + content: "\f7ca"; } + +.fa-person-snowboarding::before { + content: "\f7ce"; } + +.fa-snowboarding::before { + content: "\f7ce"; } + +.fa-person-swimming::before { + content: "\f5c4"; } + +.fa-swimmer::before { + content: "\f5c4"; } + +.fa-person-through-window::before { + content: "\e5a9"; } + +.fa-person-walking::before { + content: "\f554"; } + +.fa-walking::before { + content: "\f554"; } + +.fa-person-walking-arrow-loop-left::before { + content: "\e551"; } + +.fa-person-walking-arrow-right::before { + content: "\e552"; } + +.fa-person-walking-dashed-line-arrow-right::before { + content: "\e553"; } + +.fa-person-walking-luggage::before { + content: "\e554"; } + +.fa-person-walking-with-cane::before { + content: "\f29d"; } + +.fa-blind::before { + content: "\f29d"; } + +.fa-peseta-sign::before { + content: "\e221"; } + +.fa-peso-sign::before { + content: "\e222"; } + +.fa-phone::before { + content: "\f095"; } + +.fa-phone-flip::before { + content: "\f879"; } + +.fa-phone-alt::before { + content: "\f879"; } + +.fa-phone-slash::before { + content: "\f3dd"; } + +.fa-phone-volume::before { + content: "\f2a0"; } + +.fa-volume-control-phone::before { + content: "\f2a0"; } + +.fa-photo-film::before { + content: "\f87c"; } + +.fa-photo-video::before { + content: "\f87c"; } + +.fa-piggy-bank::before { + content: "\f4d3"; } + +.fa-pills::before { + content: "\f484"; } + +.fa-pizza-slice::before { + content: "\f818"; } + +.fa-place-of-worship::before { + content: "\f67f"; } + +.fa-plane::before { + content: "\f072"; } + +.fa-plane-arrival::before { + content: "\f5af"; } + +.fa-plane-circle-check::before { + content: "\e555"; } + +.fa-plane-circle-exclamation::before { + content: "\e556"; } + +.fa-plane-circle-xmark::before { + content: "\e557"; } + +.fa-plane-departure::before { + content: "\f5b0"; } + +.fa-plane-lock::before { + content: "\e558"; } + +.fa-plane-slash::before { + content: "\e069"; } + +.fa-plane-up::before { + content: "\e22d"; } + +.fa-plant-wilt::before { + content: "\e5aa"; } + +.fa-plate-wheat::before { + content: "\e55a"; } + +.fa-play::before { + content: "\f04b"; } + +.fa-plug::before { + content: "\f1e6"; } + +.fa-plug-circle-bolt::before { + content: "\e55b"; } + +.fa-plug-circle-check::before { + content: "\e55c"; } + +.fa-plug-circle-exclamation::before { + content: "\e55d"; } + +.fa-plug-circle-minus::before { + content: "\e55e"; } + +.fa-plug-circle-plus::before { + content: "\e55f"; } + +.fa-plug-circle-xmark::before { + content: "\e560"; } + +.fa-plus::before { + content: "\2b"; } + +.fa-add::before { + content: "\2b"; } + +.fa-plus-minus::before { + content: "\e43c"; } + +.fa-podcast::before { + content: "\f2ce"; } + +.fa-poo::before { + content: "\f2fe"; } + +.fa-poo-storm::before { + content: "\f75a"; } + +.fa-poo-bolt::before { + content: "\f75a"; } + +.fa-poop::before { + content: "\f619"; } + +.fa-power-off::before { + content: "\f011"; } + +.fa-prescription::before { + content: "\f5b1"; } + +.fa-prescription-bottle::before { + content: "\f485"; } + +.fa-prescription-bottle-medical::before { + content: "\f486"; } + +.fa-prescription-bottle-alt::before { + content: "\f486"; } + +.fa-print::before { + content: "\f02f"; } + +.fa-pump-medical::before { + content: "\e06a"; } + +.fa-pump-soap::before { + content: "\e06b"; } + +.fa-puzzle-piece::before { + content: "\f12e"; } + +.fa-q::before { + content: "\51"; } + +.fa-qrcode::before { + content: "\f029"; } + +.fa-question::before { + content: "\3f"; } + +.fa-quote-left::before { + content: "\f10d"; } + +.fa-quote-left-alt::before { + content: "\f10d"; } + +.fa-quote-right::before { + content: "\f10e"; } + +.fa-quote-right-alt::before { + content: "\f10e"; } + +.fa-r::before { + content: "\52"; } + +.fa-radiation::before { + content: "\f7b9"; } + +.fa-radio::before { + content: "\f8d7"; } + +.fa-rainbow::before { + content: "\f75b"; } + +.fa-ranking-star::before { + content: "\e561"; } + +.fa-receipt::before { + content: "\f543"; } + +.fa-record-vinyl::before { + content: "\f8d9"; } + +.fa-rectangle-ad::before { + content: "\f641"; } + +.fa-ad::before { + content: "\f641"; } + +.fa-rectangle-list::before { + content: "\f022"; } + +.fa-list-alt::before { + content: "\f022"; } + +.fa-rectangle-xmark::before { + content: "\f410"; } + +.fa-rectangle-times::before { + content: "\f410"; } + +.fa-times-rectangle::before { + content: "\f410"; } + +.fa-window-close::before { + content: "\f410"; } + +.fa-recycle::before { + content: "\f1b8"; } + +.fa-registered::before { + content: "\f25d"; } + +.fa-repeat::before { + content: "\f363"; } + +.fa-reply::before { + content: "\f3e5"; } + +.fa-mail-reply::before { + content: "\f3e5"; } + +.fa-reply-all::before { + content: "\f122"; } + +.fa-mail-reply-all::before { + content: "\f122"; } + +.fa-republican::before { + content: "\f75e"; } + +.fa-restroom::before { + content: "\f7bd"; } + +.fa-retweet::before { + content: "\f079"; } + +.fa-ribbon::before { + content: "\f4d6"; } + +.fa-right-from-bracket::before { + content: "\f2f5"; } + +.fa-sign-out-alt::before { + content: "\f2f5"; } + +.fa-right-left::before { + content: "\f362"; } + +.fa-exchange-alt::before { + content: "\f362"; } + +.fa-right-long::before { + content: "\f30b"; } + +.fa-long-arrow-alt-right::before { + content: "\f30b"; } + +.fa-right-to-bracket::before { + content: "\f2f6"; } + +.fa-sign-in-alt::before { + content: "\f2f6"; } + +.fa-ring::before { + content: "\f70b"; } + +.fa-road::before { + content: "\f018"; } + +.fa-road-barrier::before { + content: "\e562"; } + +.fa-road-bridge::before { + content: "\e563"; } + +.fa-road-circle-check::before { + content: "\e564"; } + +.fa-road-circle-exclamation::before { + content: "\e565"; } + +.fa-road-circle-xmark::before { + content: "\e566"; } + +.fa-road-lock::before { + content: "\e567"; } + +.fa-road-spikes::before { + content: "\e568"; } + +.fa-robot::before { + content: "\f544"; } + +.fa-rocket::before { + content: "\f135"; } + +.fa-rotate::before { + content: "\f2f1"; } + +.fa-sync-alt::before { + content: "\f2f1"; } + +.fa-rotate-left::before { + content: "\f2ea"; } + +.fa-rotate-back::before { + content: "\f2ea"; } + +.fa-rotate-backward::before { + content: "\f2ea"; } + +.fa-undo-alt::before { + content: "\f2ea"; } + +.fa-rotate-right::before { + content: "\f2f9"; } + +.fa-redo-alt::before { + content: "\f2f9"; } + +.fa-rotate-forward::before { + content: "\f2f9"; } + +.fa-route::before { + content: "\f4d7"; } + +.fa-rss::before { + content: "\f09e"; } + +.fa-feed::before { + content: "\f09e"; } + +.fa-ruble-sign::before { + content: "\f158"; } + +.fa-rouble::before { + content: "\f158"; } + +.fa-rub::before { + content: "\f158"; } + +.fa-ruble::before { + content: "\f158"; } + +.fa-rug::before { + content: "\e569"; } + +.fa-ruler::before { + content: "\f545"; } + +.fa-ruler-combined::before { + content: "\f546"; } + +.fa-ruler-horizontal::before { + content: "\f547"; } + +.fa-ruler-vertical::before { + content: "\f548"; } + +.fa-rupee-sign::before { + content: "\f156"; } + +.fa-rupee::before { + content: "\f156"; } + +.fa-rupiah-sign::before { + content: "\e23d"; } + +.fa-s::before { + content: "\53"; } + +.fa-sack-dollar::before { + content: "\f81d"; } + +.fa-sack-xmark::before { + content: "\e56a"; } + +.fa-sailboat::before { + content: "\e445"; } + +.fa-satellite::before { + content: "\f7bf"; } + +.fa-satellite-dish::before { + content: "\f7c0"; } + +.fa-scale-balanced::before { + content: "\f24e"; } + +.fa-balance-scale::before { + content: "\f24e"; } + +.fa-scale-unbalanced::before { + content: "\f515"; } + +.fa-balance-scale-left::before { + content: "\f515"; } + +.fa-scale-unbalanced-flip::before { + content: "\f516"; } + +.fa-balance-scale-right::before { + content: "\f516"; } + +.fa-school::before { + content: "\f549"; } + +.fa-school-circle-check::before { + content: "\e56b"; } + +.fa-school-circle-exclamation::before { + content: "\e56c"; } + +.fa-school-circle-xmark::before { + content: "\e56d"; } + +.fa-school-flag::before { + content: "\e56e"; } + +.fa-school-lock::before { + content: "\e56f"; } + +.fa-scissors::before { + content: "\f0c4"; } + +.fa-cut::before { + content: "\f0c4"; } + +.fa-screwdriver::before { + content: "\f54a"; } + +.fa-screwdriver-wrench::before { + content: "\f7d9"; } + +.fa-tools::before { + content: "\f7d9"; } + +.fa-scroll::before { + content: "\f70e"; } + +.fa-scroll-torah::before { + content: "\f6a0"; } + +.fa-torah::before { + content: "\f6a0"; } + +.fa-sd-card::before { + content: "\f7c2"; } + +.fa-section::before { + content: "\e447"; } + +.fa-seedling::before { + content: "\f4d8"; } + +.fa-sprout::before { + content: "\f4d8"; } + +.fa-server::before { + content: "\f233"; } + +.fa-shapes::before { + content: "\f61f"; } + +.fa-triangle-circle-square::before { + content: "\f61f"; } + +.fa-share::before { + content: "\f064"; } + +.fa-arrow-turn-right::before { + content: "\f064"; } + +.fa-mail-forward::before { + content: "\f064"; } + +.fa-share-from-square::before { + content: "\f14d"; } + +.fa-share-square::before { + content: "\f14d"; } + +.fa-share-nodes::before { + content: "\f1e0"; } + +.fa-share-alt::before { + content: "\f1e0"; } + +.fa-sheet-plastic::before { + content: "\e571"; } + +.fa-shekel-sign::before { + content: "\f20b"; } + +.fa-ils::before { + content: "\f20b"; } + +.fa-shekel::before { + content: "\f20b"; } + +.fa-sheqel::before { + content: "\f20b"; } + +.fa-sheqel-sign::before { + content: "\f20b"; } + +.fa-shield::before { + content: "\f132"; } + +.fa-shield-blank::before { + content: "\f132"; } + +.fa-shield-cat::before { + content: "\e572"; } + +.fa-shield-dog::before { + content: "\e573"; } + +.fa-shield-halved::before { + content: "\f3ed"; } + +.fa-shield-alt::before { + content: "\f3ed"; } + +.fa-shield-heart::before { + content: "\e574"; } + +.fa-shield-virus::before { + content: "\e06c"; } + +.fa-ship::before { + content: "\f21a"; } + +.fa-shirt::before { + content: "\f553"; } + +.fa-t-shirt::before { + content: "\f553"; } + +.fa-tshirt::before { + content: "\f553"; } + +.fa-shoe-prints::before { + content: "\f54b"; } + +.fa-shop::before { + content: "\f54f"; } + +.fa-store-alt::before { + content: "\f54f"; } + +.fa-shop-lock::before { + content: "\e4a5"; } + +.fa-shop-slash::before { + content: "\e070"; } + +.fa-store-alt-slash::before { + content: "\e070"; } + +.fa-shower::before { + content: "\f2cc"; } + +.fa-shrimp::before { + content: "\e448"; } + +.fa-shuffle::before { + content: "\f074"; } + +.fa-random::before { + content: "\f074"; } + +.fa-shuttle-space::before { + content: "\f197"; } + +.fa-space-shuttle::before { + content: "\f197"; } + +.fa-sign-hanging::before { + content: "\f4d9"; } + +.fa-sign::before { + content: "\f4d9"; } + +.fa-signal::before { + content: "\f012"; } + +.fa-signal-5::before { + content: "\f012"; } + +.fa-signal-perfect::before { + content: "\f012"; } + +.fa-signature::before { + content: "\f5b7"; } + +.fa-signs-post::before { + content: "\f277"; } + +.fa-map-signs::before { + content: "\f277"; } + +.fa-sim-card::before { + content: "\f7c4"; } + +.fa-sink::before { + content: "\e06d"; } + +.fa-sitemap::before { + content: "\f0e8"; } + +.fa-skull::before { + content: "\f54c"; } + +.fa-skull-crossbones::before { + content: "\f714"; } + +.fa-slash::before { + content: "\f715"; } + +.fa-sleigh::before { + content: "\f7cc"; } + +.fa-sliders::before { + content: "\f1de"; } + +.fa-sliders-h::before { + content: "\f1de"; } + +.fa-smog::before { + content: "\f75f"; } + +.fa-smoking::before { + content: "\f48d"; } + +.fa-snowflake::before { + content: "\f2dc"; } + +.fa-snowman::before { + content: "\f7d0"; } + +.fa-snowplow::before { + content: "\f7d2"; } + +.fa-soap::before { + content: "\e06e"; } + +.fa-socks::before { + content: "\f696"; } + +.fa-solar-panel::before { + content: "\f5ba"; } + +.fa-sort::before { + content: "\f0dc"; } + +.fa-unsorted::before { + content: "\f0dc"; } + +.fa-sort-down::before { + content: "\f0dd"; } + +.fa-sort-desc::before { + content: "\f0dd"; } + +.fa-sort-up::before { + content: "\f0de"; } + +.fa-sort-asc::before { + content: "\f0de"; } + +.fa-spa::before { + content: "\f5bb"; } + +.fa-spaghetti-monster-flying::before { + content: "\f67b"; } + +.fa-pastafarianism::before { + content: "\f67b"; } + +.fa-spell-check::before { + content: "\f891"; } + +.fa-spider::before { + content: "\f717"; } + +.fa-spinner::before { + content: "\f110"; } + +.fa-splotch::before { + content: "\f5bc"; } + +.fa-spoon::before { + content: "\f2e5"; } + +.fa-utensil-spoon::before { + content: "\f2e5"; } + +.fa-spray-can::before { + content: "\f5bd"; } + +.fa-spray-can-sparkles::before { + content: "\f5d0"; } + +.fa-air-freshener::before { + content: "\f5d0"; } + +.fa-square::before { + content: "\f0c8"; } + +.fa-square-arrow-up-right::before { + content: "\f14c"; } + +.fa-external-link-square::before { + content: "\f14c"; } + +.fa-square-caret-down::before { + content: "\f150"; } + +.fa-caret-square-down::before { + content: "\f150"; } + +.fa-square-caret-left::before { + content: "\f191"; } + +.fa-caret-square-left::before { + content: "\f191"; } + +.fa-square-caret-right::before { + content: "\f152"; } + +.fa-caret-square-right::before { + content: "\f152"; } + +.fa-square-caret-up::before { + content: "\f151"; } + +.fa-caret-square-up::before { + content: "\f151"; } + +.fa-square-check::before { + content: "\f14a"; } + +.fa-check-square::before { + content: "\f14a"; } + +.fa-square-envelope::before { + content: "\f199"; } + +.fa-envelope-square::before { + content: "\f199"; } + +.fa-square-full::before { + content: "\f45c"; } + +.fa-square-h::before { + content: "\f0fd"; } + +.fa-h-square::before { + content: "\f0fd"; } + +.fa-square-minus::before { + content: "\f146"; } + +.fa-minus-square::before { + content: "\f146"; } + +.fa-square-nfi::before { + content: "\e576"; } + +.fa-square-parking::before { + content: "\f540"; } + +.fa-parking::before { + content: "\f540"; } + +.fa-square-pen::before { + content: "\f14b"; } + +.fa-pen-square::before { + content: "\f14b"; } + +.fa-pencil-square::before { + content: "\f14b"; } + +.fa-square-person-confined::before { + content: "\e577"; } + +.fa-square-phone::before { + content: "\f098"; } + +.fa-phone-square::before { + content: "\f098"; } + +.fa-square-phone-flip::before { + content: "\f87b"; } + +.fa-phone-square-alt::before { + content: "\f87b"; } + +.fa-square-plus::before { + content: "\f0fe"; } + +.fa-plus-square::before { + content: "\f0fe"; } + +.fa-square-poll-horizontal::before { + content: "\f682"; } + +.fa-poll-h::before { + content: "\f682"; } + +.fa-square-poll-vertical::before { + content: "\f681"; } + +.fa-poll::before { + content: "\f681"; } + +.fa-square-root-variable::before { + content: "\f698"; } + +.fa-square-root-alt::before { + content: "\f698"; } + +.fa-square-rss::before { + content: "\f143"; } + +.fa-rss-square::before { + content: "\f143"; } + +.fa-square-share-nodes::before { + content: "\f1e1"; } + +.fa-share-alt-square::before { + content: "\f1e1"; } + +.fa-square-up-right::before { + content: "\f360"; } + +.fa-external-link-square-alt::before { + content: "\f360"; } + +.fa-square-virus::before { + content: "\e578"; } + +.fa-square-xmark::before { + content: "\f2d3"; } + +.fa-times-square::before { + content: "\f2d3"; } + +.fa-xmark-square::before { + content: "\f2d3"; } + +.fa-staff-snake::before { + content: "\e579"; } + +.fa-rod-asclepius::before { + content: "\e579"; } + +.fa-rod-snake::before { + content: "\e579"; } + +.fa-staff-aesculapius::before { + content: "\e579"; } + +.fa-stairs::before { + content: "\e289"; } + +.fa-stamp::before { + content: "\f5bf"; } + +.fa-stapler::before { + content: "\e5af"; } + +.fa-star::before { + content: "\f005"; } + +.fa-star-and-crescent::before { + content: "\f699"; } + +.fa-star-half::before { + content: "\f089"; } + +.fa-star-half-stroke::before { + content: "\f5c0"; } + +.fa-star-half-alt::before { + content: "\f5c0"; } + +.fa-star-of-david::before { + content: "\f69a"; } + +.fa-star-of-life::before { + content: "\f621"; } + +.fa-sterling-sign::before { + content: "\f154"; } + +.fa-gbp::before { + content: "\f154"; } + +.fa-pound-sign::before { + content: "\f154"; } + +.fa-stethoscope::before { + content: "\f0f1"; } + +.fa-stop::before { + content: "\f04d"; } + +.fa-stopwatch::before { + content: "\f2f2"; } + +.fa-stopwatch-20::before { + content: "\e06f"; } + +.fa-store::before { + content: "\f54e"; } + +.fa-store-slash::before { + content: "\e071"; } + +.fa-street-view::before { + content: "\f21d"; } + +.fa-strikethrough::before { + content: "\f0cc"; } + +.fa-stroopwafel::before { + content: "\f551"; } + +.fa-subscript::before { + content: "\f12c"; } + +.fa-suitcase::before { + content: "\f0f2"; } + +.fa-suitcase-medical::before { + content: "\f0fa"; } + +.fa-medkit::before { + content: "\f0fa"; } + +.fa-suitcase-rolling::before { + content: "\f5c1"; } + +.fa-sun::before { + content: "\f185"; } + +.fa-sun-plant-wilt::before { + content: "\e57a"; } + +.fa-superscript::before { + content: "\f12b"; } + +.fa-swatchbook::before { + content: "\f5c3"; } + +.fa-synagogue::before { + content: "\f69b"; } + +.fa-syringe::before { + content: "\f48e"; } + +.fa-t::before { + content: "\54"; } + +.fa-table::before { + content: "\f0ce"; } + +.fa-table-cells::before { + content: "\f00a"; } + +.fa-th::before { + content: "\f00a"; } + +.fa-table-cells-large::before { + content: "\f009"; } + +.fa-th-large::before { + content: "\f009"; } + +.fa-table-columns::before { + content: "\f0db"; } + +.fa-columns::before { + content: "\f0db"; } + +.fa-table-list::before { + content: "\f00b"; } + +.fa-th-list::before { + content: "\f00b"; } + +.fa-table-tennis-paddle-ball::before { + content: "\f45d"; } + +.fa-ping-pong-paddle-ball::before { + content: "\f45d"; } + +.fa-table-tennis::before { + content: "\f45d"; } + +.fa-tablet::before { + content: "\f3fb"; } + +.fa-tablet-android::before { + content: "\f3fb"; } + +.fa-tablet-button::before { + content: "\f10a"; } + +.fa-tablet-screen-button::before { + content: "\f3fa"; } + +.fa-tablet-alt::before { + content: "\f3fa"; } + +.fa-tablets::before { + content: "\f490"; } + +.fa-tachograph-digital::before { + content: "\f566"; } + +.fa-digital-tachograph::before { + content: "\f566"; } + +.fa-tag::before { + content: "\f02b"; } + +.fa-tags::before { + content: "\f02c"; } + +.fa-tape::before { + content: "\f4db"; } + +.fa-tarp::before { + content: "\e57b"; } + +.fa-tarp-droplet::before { + content: "\e57c"; } + +.fa-taxi::before { + content: "\f1ba"; } + +.fa-cab::before { + content: "\f1ba"; } + +.fa-teeth::before { + content: "\f62e"; } + +.fa-teeth-open::before { + content: "\f62f"; } + +.fa-temperature-arrow-down::before { + content: "\e03f"; } + +.fa-temperature-down::before { + content: "\e03f"; } + +.fa-temperature-arrow-up::before { + content: "\e040"; } + +.fa-temperature-up::before { + content: "\e040"; } + +.fa-temperature-empty::before { + content: "\f2cb"; } + +.fa-temperature-0::before { + content: "\f2cb"; } + +.fa-thermometer-0::before { + content: "\f2cb"; } + +.fa-thermometer-empty::before { + content: "\f2cb"; } + +.fa-temperature-full::before { + content: "\f2c7"; } + +.fa-temperature-4::before { + content: "\f2c7"; } + +.fa-thermometer-4::before { + content: "\f2c7"; } + +.fa-thermometer-full::before { + content: "\f2c7"; } + +.fa-temperature-half::before { + content: "\f2c9"; } + +.fa-temperature-2::before { + content: "\f2c9"; } + +.fa-thermometer-2::before { + content: "\f2c9"; } + +.fa-thermometer-half::before { + content: "\f2c9"; } + +.fa-temperature-high::before { + content: "\f769"; } + +.fa-temperature-low::before { + content: "\f76b"; } + +.fa-temperature-quarter::before { + content: "\f2ca"; } + +.fa-temperature-1::before { + content: "\f2ca"; } + +.fa-thermometer-1::before { + content: "\f2ca"; } + +.fa-thermometer-quarter::before { + content: "\f2ca"; } + +.fa-temperature-three-quarters::before { + content: "\f2c8"; } + +.fa-temperature-3::before { + content: "\f2c8"; } + +.fa-thermometer-3::before { + content: "\f2c8"; } + +.fa-thermometer-three-quarters::before { + content: "\f2c8"; } + +.fa-tenge-sign::before { + content: "\f7d7"; } + +.fa-tenge::before { + content: "\f7d7"; } + +.fa-tent::before { + content: "\e57d"; } + +.fa-tent-arrow-down-to-line::before { + content: "\e57e"; } + +.fa-tent-arrow-left-right::before { + content: "\e57f"; } + +.fa-tent-arrow-turn-left::before { + content: "\e580"; } + +.fa-tent-arrows-down::before { + content: "\e581"; } + +.fa-tents::before { + content: "\e582"; } + +.fa-terminal::before { + content: "\f120"; } + +.fa-text-height::before { + content: "\f034"; } + +.fa-text-slash::before { + content: "\f87d"; } + +.fa-remove-format::before { + content: "\f87d"; } + +.fa-text-width::before { + content: "\f035"; } + +.fa-thermometer::before { + content: "\f491"; } + +.fa-thumbs-down::before { + content: "\f165"; } + +.fa-thumbs-up::before { + content: "\f164"; } + +.fa-thumbtack::before { + content: "\f08d"; } + +.fa-thumb-tack::before { + content: "\f08d"; } + +.fa-ticket::before { + content: "\f145"; } + +.fa-ticket-simple::before { + content: "\f3ff"; } + +.fa-ticket-alt::before { + content: "\f3ff"; } + +.fa-timeline::before { + content: "\e29c"; } + +.fa-toggle-off::before { + content: "\f204"; } + +.fa-toggle-on::before { + content: "\f205"; } + +.fa-toilet::before { + content: "\f7d8"; } + +.fa-toilet-paper::before { + content: "\f71e"; } + +.fa-toilet-paper-slash::before { + content: "\e072"; } + +.fa-toilet-portable::before { + content: "\e583"; } + +.fa-toilets-portable::before { + content: "\e584"; } + +.fa-toolbox::before { + content: "\f552"; } + +.fa-tooth::before { + content: "\f5c9"; } + +.fa-torii-gate::before { + content: "\f6a1"; } + +.fa-tornado::before { + content: "\f76f"; } + +.fa-tower-broadcast::before { + content: "\f519"; } + +.fa-broadcast-tower::before { + content: "\f519"; } + +.fa-tower-cell::before { + content: "\e585"; } + +.fa-tower-observation::before { + content: "\e586"; } + +.fa-tractor::before { + content: "\f722"; } + +.fa-trademark::before { + content: "\f25c"; } + +.fa-traffic-light::before { + content: "\f637"; } + +.fa-trailer::before { + content: "\e041"; } + +.fa-train::before { + content: "\f238"; } + +.fa-train-subway::before { + content: "\f239"; } + +.fa-subway::before { + content: "\f239"; } + +.fa-train-tram::before { + content: "\e5b4"; } + +.fa-transgender::before { + content: "\f225"; } + +.fa-transgender-alt::before { + content: "\f225"; } + +.fa-trash::before { + content: "\f1f8"; } + +.fa-trash-arrow-up::before { + content: "\f829"; } + +.fa-trash-restore::before { + content: "\f829"; } + +.fa-trash-can::before { + content: "\f2ed"; } + +.fa-trash-alt::before { + content: "\f2ed"; } + +.fa-trash-can-arrow-up::before { + content: "\f82a"; } + +.fa-trash-restore-alt::before { + content: "\f82a"; } + +.fa-tree::before { + content: "\f1bb"; } + +.fa-tree-city::before { + content: "\e587"; } + +.fa-triangle-exclamation::before { + content: "\f071"; } + +.fa-exclamation-triangle::before { + content: "\f071"; } + +.fa-warning::before { + content: "\f071"; } + +.fa-trophy::before { + content: "\f091"; } + +.fa-trowel::before { + content: "\e589"; } + +.fa-trowel-bricks::before { + content: "\e58a"; } + +.fa-truck::before { + content: "\f0d1"; } + +.fa-truck-arrow-right::before { + content: "\e58b"; } + +.fa-truck-droplet::before { + content: "\e58c"; } + +.fa-truck-fast::before { + content: "\f48b"; } + +.fa-shipping-fast::before { + content: "\f48b"; } + +.fa-truck-field::before { + content: "\e58d"; } + +.fa-truck-field-un::before { + content: "\e58e"; } + +.fa-truck-front::before { + content: "\e2b7"; } + +.fa-truck-medical::before { + content: "\f0f9"; } + +.fa-ambulance::before { + content: "\f0f9"; } + +.fa-truck-monster::before { + content: "\f63b"; } + +.fa-truck-moving::before { + content: "\f4df"; } + +.fa-truck-pickup::before { + content: "\f63c"; } + +.fa-truck-plane::before { + content: "\e58f"; } + +.fa-truck-ramp-box::before { + content: "\f4de"; } + +.fa-truck-loading::before { + content: "\f4de"; } + +.fa-tty::before { + content: "\f1e4"; } + +.fa-teletype::before { + content: "\f1e4"; } + +.fa-turkish-lira-sign::before { + content: "\e2bb"; } + +.fa-try::before { + content: "\e2bb"; } + +.fa-turkish-lira::before { + content: "\e2bb"; } + +.fa-turn-down::before { + content: "\f3be"; } + +.fa-level-down-alt::before { + content: "\f3be"; } + +.fa-turn-up::before { + content: "\f3bf"; } + +.fa-level-up-alt::before { + content: "\f3bf"; } + +.fa-tv::before { + content: "\f26c"; } + +.fa-television::before { + content: "\f26c"; } + +.fa-tv-alt::before { + content: "\f26c"; } + +.fa-u::before { + content: "\55"; } + +.fa-umbrella::before { + content: "\f0e9"; } + +.fa-umbrella-beach::before { + content: "\f5ca"; } + +.fa-underline::before { + content: "\f0cd"; } + +.fa-universal-access::before { + content: "\f29a"; } + +.fa-unlock::before { + content: "\f09c"; } + +.fa-unlock-keyhole::before { + content: "\f13e"; } + +.fa-unlock-alt::before { + content: "\f13e"; } + +.fa-up-down::before { + content: "\f338"; } + +.fa-arrows-alt-v::before { + content: "\f338"; } + +.fa-up-down-left-right::before { + content: "\f0b2"; } + +.fa-arrows-alt::before { + content: "\f0b2"; } + +.fa-up-long::before { + content: "\f30c"; } + +.fa-long-arrow-alt-up::before { + content: "\f30c"; } + +.fa-up-right-and-down-left-from-center::before { + content: "\f424"; } + +.fa-expand-alt::before { + content: "\f424"; } + +.fa-up-right-from-square::before { + content: "\f35d"; } + +.fa-external-link-alt::before { + content: "\f35d"; } + +.fa-upload::before { + content: "\f093"; } + +.fa-user::before { + content: "\f007"; } + +.fa-user-astronaut::before { + content: "\f4fb"; } + +.fa-user-check::before { + content: "\f4fc"; } + +.fa-user-clock::before { + content: "\f4fd"; } + +.fa-user-doctor::before { + content: "\f0f0"; } + +.fa-user-md::before { + content: "\f0f0"; } + +.fa-user-gear::before { + content: "\f4fe"; } + +.fa-user-cog::before { + content: "\f4fe"; } + +.fa-user-graduate::before { + content: "\f501"; } + +.fa-user-group::before { + content: "\f500"; } + +.fa-user-friends::before { + content: "\f500"; } + +.fa-user-injured::before { + content: "\f728"; } + +.fa-user-large::before { + content: "\f406"; } + +.fa-user-alt::before { + content: "\f406"; } + +.fa-user-large-slash::before { + content: "\f4fa"; } + +.fa-user-alt-slash::before { + content: "\f4fa"; } + +.fa-user-lock::before { + content: "\f502"; } + +.fa-user-minus::before { + content: "\f503"; } + +.fa-user-ninja::before { + content: "\f504"; } + +.fa-user-nurse::before { + content: "\f82f"; } + +.fa-user-pen::before { + content: "\f4ff"; } + +.fa-user-edit::before { + content: "\f4ff"; } + +.fa-user-plus::before { + content: "\f234"; } + +.fa-user-secret::before { + content: "\f21b"; } + +.fa-user-shield::before { + content: "\f505"; } + +.fa-user-slash::before { + content: "\f506"; } + +.fa-user-tag::before { + content: "\f507"; } + +.fa-user-tie::before { + content: "\f508"; } + +.fa-user-xmark::before { + content: "\f235"; } + +.fa-user-times::before { + content: "\f235"; } + +.fa-users::before { + content: "\f0c0"; } + +.fa-users-between-lines::before { + content: "\e591"; } + +.fa-users-gear::before { + content: "\f509"; } + +.fa-users-cog::before { + content: "\f509"; } + +.fa-users-line::before { + content: "\e592"; } + +.fa-users-rays::before { + content: "\e593"; } + +.fa-users-rectangle::before { + content: "\e594"; } + +.fa-users-slash::before { + content: "\e073"; } + +.fa-users-viewfinder::before { + content: "\e595"; } + +.fa-utensils::before { + content: "\f2e7"; } + +.fa-cutlery::before { + content: "\f2e7"; } + +.fa-v::before { + content: "\56"; } + +.fa-van-shuttle::before { + content: "\f5b6"; } + +.fa-shuttle-van::before { + content: "\f5b6"; } + +.fa-vault::before { + content: "\e2c5"; } + +.fa-vector-square::before { + content: "\f5cb"; } + +.fa-venus::before { + content: "\f221"; } + +.fa-venus-double::before { + content: "\f226"; } + +.fa-venus-mars::before { + content: "\f228"; } + +.fa-vest::before { + content: "\e085"; } + +.fa-vest-patches::before { + content: "\e086"; } + +.fa-vial::before { + content: "\f492"; } + +.fa-vial-circle-check::before { + content: "\e596"; } + +.fa-vial-virus::before { + content: "\e597"; } + +.fa-vials::before { + content: "\f493"; } + +.fa-video::before { + content: "\f03d"; } + +.fa-video-camera::before { + content: "\f03d"; } + +.fa-video-slash::before { + content: "\f4e2"; } + +.fa-vihara::before { + content: "\f6a7"; } + +.fa-virus::before { + content: "\e074"; } + +.fa-virus-covid::before { + content: "\e4a8"; } + +.fa-virus-covid-slash::before { + content: "\e4a9"; } + +.fa-virus-slash::before { + content: "\e075"; } + +.fa-viruses::before { + content: "\e076"; } + +.fa-voicemail::before { + content: "\f897"; } + +.fa-volcano::before { + content: "\f770"; } + +.fa-volleyball::before { + content: "\f45f"; } + +.fa-volleyball-ball::before { + content: "\f45f"; } + +.fa-volume-high::before { + content: "\f028"; } + +.fa-volume-up::before { + content: "\f028"; } + +.fa-volume-low::before { + content: "\f027"; } + +.fa-volume-down::before { + content: "\f027"; } + +.fa-volume-off::before { + content: "\f026"; } + +.fa-volume-xmark::before { + content: "\f6a9"; } + +.fa-volume-mute::before { + content: "\f6a9"; } + +.fa-volume-times::before { + content: "\f6a9"; } + +.fa-vr-cardboard::before { + content: "\f729"; } + +.fa-w::before { + content: "\57"; } + +.fa-walkie-talkie::before { + content: "\f8ef"; } + +.fa-wallet::before { + content: "\f555"; } + +.fa-wand-magic::before { + content: "\f0d0"; } + +.fa-magic::before { + content: "\f0d0"; } + +.fa-wand-magic-sparkles::before { + content: "\e2ca"; } + +.fa-magic-wand-sparkles::before { + content: "\e2ca"; } + +.fa-wand-sparkles::before { + content: "\f72b"; } + +.fa-warehouse::before { + content: "\f494"; } + +.fa-water::before { + content: "\f773"; } + +.fa-water-ladder::before { + content: "\f5c5"; } + +.fa-ladder-water::before { + content: "\f5c5"; } + +.fa-swimming-pool::before { + content: "\f5c5"; } + +.fa-wave-square::before { + content: "\f83e"; } + +.fa-weight-hanging::before { + content: "\f5cd"; } + +.fa-weight-scale::before { + content: "\f496"; } + +.fa-weight::before { + content: "\f496"; } + +.fa-wheat-awn::before { + content: "\e2cd"; } + +.fa-wheat-alt::before { + content: "\e2cd"; } + +.fa-wheat-awn-circle-exclamation::before { + content: "\e598"; } + +.fa-wheelchair::before { + content: "\f193"; } + +.fa-wheelchair-move::before { + content: "\e2ce"; } + +.fa-wheelchair-alt::before { + content: "\e2ce"; } + +.fa-whiskey-glass::before { + content: "\f7a0"; } + +.fa-glass-whiskey::before { + content: "\f7a0"; } + +.fa-wifi::before { + content: "\f1eb"; } + +.fa-wifi-3::before { + content: "\f1eb"; } + +.fa-wifi-strong::before { + content: "\f1eb"; } + +.fa-wind::before { + content: "\f72e"; } + +.fa-window-maximize::before { + content: "\f2d0"; } + +.fa-window-minimize::before { + content: "\f2d1"; } + +.fa-window-restore::before { + content: "\f2d2"; } + +.fa-wine-bottle::before { + content: "\f72f"; } + +.fa-wine-glass::before { + content: "\f4e3"; } + +.fa-wine-glass-empty::before { + content: "\f5ce"; } + +.fa-wine-glass-alt::before { + content: "\f5ce"; } + +.fa-won-sign::before { + content: "\f159"; } + +.fa-krw::before { + content: "\f159"; } + +.fa-won::before { + content: "\f159"; } + +.fa-worm::before { + content: "\e599"; } + +.fa-wrench::before { + content: "\f0ad"; } + +.fa-x::before { + content: "\58"; } + +.fa-x-ray::before { + content: "\f497"; } + +.fa-xmark::before { + content: "\f00d"; } + +.fa-close::before { + content: "\f00d"; } + +.fa-multiply::before { + content: "\f00d"; } + +.fa-remove::before { + content: "\f00d"; } + +.fa-times::before { + content: "\f00d"; } + +.fa-xmarks-lines::before { + content: "\e59a"; } + +.fa-y::before { + content: "\59"; } + +.fa-yen-sign::before { + content: "\f157"; } + +.fa-cny::before { + content: "\f157"; } + +.fa-jpy::before { + content: "\f157"; } + +.fa-rmb::before { + content: "\f157"; } + +.fa-yen::before { + content: "\f157"; } + +.fa-yin-yang::before { + content: "\f6ad"; } + +.fa-z::before { + content: "\5a"; } + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } diff --git a/framework/reon/assets/css/fontawesome/css/fontawesome.min.css b/framework/reon/assets/css/fontawesome/css/fontawesome.min.css new file mode 100644 index 0000000..635e2bc --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/fontawesome.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-a:before{content:"\41"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-anchor:before{content:"\f13d"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-anchor-lock:before{content:"\e4ad"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-ankh:before{content:"\f644"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-archway:before{content:"\f557"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-arrow-trend-down:before{content:"\e097"}.fa-arrow-trend-up:before{content:"\e098"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-arrows-spin:before{content:"\e4bb"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-asterisk:before{content:"\2a"}.fa-at:before{content:"\40"}.fa-atom:before{content:"\f5d2"}.fa-audio-description:before{content:"\f29e"}.fa-austral-sign:before{content:"\e0a9"}.fa-award:before{content:"\f559"}.fa-b:before{content:"\42"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-backward:before{content:"\f04a"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-baht-sign:before{content:"\e0ac"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-barcode:before{content:"\f02a"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-bell:before{content:"\f0f3"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blog:before{content:"\f781"}.fa-bold:before{content:"\f032"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-book-bookmark:before{content:"\e0bb"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-bookmark:before{content:"\f02e"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-bore-hole:before{content:"\e4c3"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-bottle-water:before{content:"\e4c5"}.fa-bowl-food:before{content:"\e4c6"}.fa-bowl-rice:before{content:"\e2eb"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes-packing:before{content:"\e4c7"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-bread-slice:before{content:"\f7ec"}.fa-bridge:before{content:"\e4c8"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-bridge-water:before{content:"\e4ce"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broom:before{content:"\f51a"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-brush:before{content:"\f55d"}.fa-bucket:before{content:"\e4cf"}.fa-bug:before{content:"\f188"}.fa-bug-slash:before{content:"\e490"}.fa-bugs:before{content:"\e4d0"}.fa-building:before{content:"\f1ad"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-building-circle-check:before{content:"\e4d2"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-building-flag:before{content:"\e4d5"}.fa-building-lock:before{content:"\e4d6"}.fa-building-ngo:before{content:"\e4d7"}.fa-building-shield:before{content:"\e4d8"}.fa-building-un:before{content:"\e4d9"}.fa-building-user:before{content:"\e4da"}.fa-building-wheat:before{content:"\e4db"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-burst:before{content:"\e4dc"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-c:before{content:"\43"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-week:before{content:"\f784"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-camera-rotate:before{content:"\e0d8"}.fa-campground:before{content:"\f6bb"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-car-on:before{content:"\e4dd"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-car-side:before{content:"\f5e4"}.fa-car-tunnel:before{content:"\e4de"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-cart-plus:before{content:"\f217"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cedi-sign:before{content:"\e0df"}.fa-cent-sign:before{content:"\e3f5"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-charging-station:before{content:"\f5e7"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-chart-column:before{content:"\e0e3"}.fa-chart-gantt:before{content:"\e0e4"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-chart-simple:before{content:"\e473"}.fa-check:before{content:"\f00c"}.fa-check-double:before{content:"\f560"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-child-dress:before{content:"\e59c"}.fa-child-reaching:before{content:"\e59d"}.fa-child-rifle:before{content:"\e4e0"}.fa-children:before{content:"\e4e1"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-circle-nodes:before{content:"\e4e2"}.fa-circle-notch:before{content:"\f1ce"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-city:before{content:"\f64f"}.fa-clapperboard:before{content:"\e131"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clipboard-question:before{content:"\e4e3"}.fa-clipboard-user:before{content:"\f7f3"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-clover:before{content:"\e139"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-compare:before{content:"\e13a"}.fa-code-fork:before{content:"\e13b"}.fa-code-merge:before{content:"\f387"}.fa-code-pull-request:before{content:"\e13c"}.fa-coins:before{content:"\f51e"}.fa-colon-sign:before{content:"\e140"}.fa-comment:before{content:"\f075"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-compress:before{content:"\f066"}.fa-computer:before{content:"\e4e5"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cow:before{content:"\f6c8"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-d:before{content:"\44"}.fa-database:before{content:"\f1c0"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-democrat:before{content:"\f747"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-dharmachakra:before{content:"\f655"}.fa-diagram-next:before{content:"\e476"}.fa-diagram-predecessor:before{content:"\e477"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-diagram-successor:before{content:"\e47a"}.fa-diamond:before{content:"\f219"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-disease:before{content:"\f7fa"}.fa-display:before{content:"\e163"}.fa-divide:before{content:"\f529"}.fa-dna:before{content:"\f471"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-dong-sign:before{content:"\e169"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dove:before{content:"\f4ba"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-download:before{content:"\f019"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-e:before{content:"\45"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elevator:before{content:"\e16d"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-equals:before{content:"\3d"}.fa-eraser:before{content:"\f12d"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-exclamation:before{content:"\21"}.fa-expand:before{content:"\f065"}.fa-explosion:before{content:"\e4e9"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-eye-slash:before{content:"\f070"}.fa-f:before{content:"\46"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-fan:before{content:"\f863"}.fa-faucet:before{content:"\e005"}.fa-faucet-drip:before{content:"\e006"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-ferry:before{content:"\e4ea"}.fa-file:before{content:"\f15b"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-file-audio:before{content:"\f1c7"}.fa-file-circle-check:before{content:"\e5a0"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-file-circle-plus:before{content:"\e494"}.fa-file-circle-question:before{content:"\e4ef"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-excel:before{content:"\f1c3"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-file-medical:before{content:"\f477"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-shield:before{content:"\e4f0"}.fa-file-signature:before{content:"\f573"}.fa-file-video:before{content:"\f1c8"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-file-word:before{content:"\f1c2"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-burner:before{content:"\e4f1"}.fa-fire-extinguisher:before{content:"\f134"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-fish:before{content:"\f578"}.fa-fish-fins:before{content:"\e4f2"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flask-vial:before{content:"\e4f3"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-florin-sign:before{content:"\e184"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-folder-closed:before{content:"\e185"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-folder-tree:before{content:"\f802"}.fa-font:before{content:"\f031"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-franc-sign:before{content:"\e18f"}.fa-frog:before{content:"\f52e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-g:before{content:"\47"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-glass-water:before{content:"\e4f4"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-glasses:before{content:"\f530"}.fa-globe:before{content:"\f0ac"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-greater-than:before{content:"\3e"}.fa-greater-than-equal:before{content:"\f532"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-guarani-sign:before{content:"\e19a"}.fa-guitar:before{content:"\f7a6"}.fa-gun:before{content:"\e19b"}.fa-h:before{content:"\48"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-handcuffs:before{content:"\e4f8"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-hands-bound:before{content:"\e4f9"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-hands-clapping:before{content:"\e1a8"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-handshake:before{content:"\f2b5"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-hashtag:before{content:"\23"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-heart-circle-plus:before{content:"\e500"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-helicopter-symbol:before{content:"\e502"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-helmet-un:before{content:"\e503"}.fa-highlighter:before{content:"\f591"}.fa-hill-avalanche:before{content:"\e507"}.fa-hill-rockslide:before{content:"\e508"}.fa-hippo:before{content:"\f6ed"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-house-chimney-user:before{content:"\e065"}.fa-house-chimney-window:before{content:"\e00d"}.fa-house-circle-check:before{content:"\e509"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-house-crack:before{content:"\e3b1"}.fa-house-fire:before{content:"\e50c"}.fa-house-flag:before{content:"\e50d"}.fa-house-flood-water:before{content:"\e50e"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-house-lock:before{content:"\e510"}.fa-house-medical:before{content:"\e3b2"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-house-medical-flag:before{content:"\e514"}.fa-house-signal:before{content:"\e012"}.fa-house-tsunami:before{content:"\e515"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-hurricane:before{content:"\f751"}.fa-i:before{content:"\49"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-images:before{content:"\f302"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-italic:before{content:"\f033"}.fa-j:before{content:"\4a"}.fa-jar:before{content:"\e516"}.fa-jar-wheat:before{content:"\e517"}.fa-jedi:before{content:"\f669"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-jet-fighter-up:before{content:"\e518"}.fa-joint:before{content:"\f595"}.fa-jug-detergent:before{content:"\e519"}.fa-k:before{content:"\4b"}.fa-kaaba:before{content:"\f66b"}.fa-key:before{content:"\f084"}.fa-keyboard:before{content:"\f11c"}.fa-khanda:before{content:"\f66d"}.fa-kip-sign:before{content:"\e1c4"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-kitchen-set:before{content:"\e51a"}.fa-kiwi-bird:before{content:"\f535"}.fa-l:before{content:"\4c"}.fa-land-mine-on:before{content:"\e51b"}.fa-landmark:before{content:"\f66f"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-landmark-flag:before{content:"\e51c"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-file:before{content:"\e51d"}.fa-laptop-medical:before{content:"\f812"}.fa-lari-sign:before{content:"\e1c8"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-lemon:before{content:"\f094"}.fa-less-than:before{content:"\3c"}.fa-less-than-equal:before{content:"\f537"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-lines-leaning:before{content:"\e51e"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-lira-sign:before{content:"\f195"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-location-arrow:before{content:"\f124"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-location-pin-lock:before{content:"\e51f"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-locust:before{content:"\e520"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-m:before{content:"\4d"}.fa-magnet:before{content:"\f076"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-manat-sign:before{content:"\e1d5"}.fa-map:before{content:"\f279"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-pin:before{content:"\f276"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-and-venus:before{content:"\f224"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-mask:before{content:"\f6fa"}.fa-mask-face:before{content:"\e1d7"}.fa-mask-ventilator:before{content:"\e524"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-mattress-pillow:before{content:"\e525"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-medal:before{content:"\f5a2"}.fa-memory:before{content:"\f538"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-mill-sign:before{content:"\e1ed"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-mitten:before{content:"\f7b5"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-mobile-button:before{content:"\f10b"}.fa-mobile-retro:before{content:"\e527"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-money-bills:before{content:"\e1f3"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-mosquito-net:before{content:"\e52c"}.fa-motorcycle:before{content:"\f21c"}.fa-mound:before{content:"\e52d"}.fa-mountain:before{content:"\f6fc"}.fa-mountain-city:before{content:"\e52e"}.fa-mountain-sun:before{content:"\e52f"}.fa-mug-hot:before{content:"\f7b6"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-music:before{content:"\f001"}.fa-n:before{content:"\4e"}.fa-naira-sign:before{content:"\e1f6"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-not-equal:before{content:"\f53e"}.fa-notdef:before{content:"\e1fe"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-notes-medical:before{content:"\f481"}.fa-o:before{content:"\4f"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-oil-can:before{content:"\f613"}.fa-oil-well:before{content:"\e532"}.fa-om:before{content:"\f679"}.fa-otter:before{content:"\f700"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-p:before{content:"\50"}.fa-pager:before{content:"\f815"}.fa-paint-roller:before{content:"\f5aa"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-palette:before{content:"\f53f"}.fa-pallet:before{content:"\f482"}.fa-panorama:before{content:"\e209"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-passport:before{content:"\f5ab"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-pause:before{content:"\f04c"}.fa-paw:before{content:"\f1b0"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-people-group:before{content:"\e533"}.fa-people-line:before{content:"\e534"}.fa-people-pulling:before{content:"\e535"}.fa-people-robbery:before{content:"\e536"}.fa-people-roof:before{content:"\e537"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-person-booth:before{content:"\f756"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-person-burst:before{content:"\e53b"}.fa-person-cane:before{content:"\e53c"}.fa-person-chalkboard:before{content:"\e53d"}.fa-person-circle-check:before{content:"\e53e"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-person-circle-minus:before{content:"\e540"}.fa-person-circle-plus:before{content:"\e541"}.fa-person-circle-question:before{content:"\e542"}.fa-person-circle-xmark:before{content:"\e543"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-person-dress-burst:before{content:"\e544"}.fa-person-drowning:before{content:"\e545"}.fa-person-falling:before{content:"\e546"}.fa-person-falling-burst:before{content:"\e547"}.fa-person-half-dress:before{content:"\e548"}.fa-person-harassing:before{content:"\e549"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-person-military-pointing:before{content:"\e54a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-person-military-to-person:before{content:"\e54c"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-person-pregnant:before{content:"\e31e"}.fa-person-rays:before{content:"\e54d"}.fa-person-rifle:before{content:"\e54e"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-person-shelter:before{content:"\e54f"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-person-through-window:before{content:"\e5a9"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-person-walking-luggage:before{content:"\e554"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-peseta-sign:before{content:"\e221"}.fa-peso-sign:before{content:"\e222"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-circle-check:before{content:"\e555"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-lock:before{content:"\e558"}.fa-plane-slash:before{content:"\e069"}.fa-plane-up:before{content:"\e22d"}.fa-plant-wilt:before{content:"\e5aa"}.fa-plate-wheat:before{content:"\e55a"}.fa-play:before{content:"\f04b"}.fa-plug:before{content:"\f1e6"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-plug-circle-check:before{content:"\e55c"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-plus-minus:before{content:"\e43c"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-puzzle-piece:before{content:"\f12e"}.fa-q:before{content:"\51"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\3f"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-r:before{content:"\52"}.fa-radiation:before{content:"\f7b9"}.fa-radio:before{content:"\f8d7"}.fa-rainbow:before{content:"\f75b"}.fa-ranking-star:before{content:"\e561"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-recycle:before{content:"\f1b8"}.fa-registered:before{content:"\f25d"}.fa-repeat:before{content:"\f363"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-republican:before{content:"\f75e"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-ribbon:before{content:"\f4d6"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-road-barrier:before{content:"\e562"}.fa-road-bridge:before{content:"\e563"}.fa-road-circle-check:before{content:"\e564"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-road-circle-xmark:before{content:"\e566"}.fa-road-lock:before{content:"\e567"}.fa-road-spikes:before{content:"\e568"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-route:before{content:"\f4d7"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-rug:before{content:"\e569"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-rupiah-sign:before{content:"\e23d"}.fa-s:before{content:"\53"}.fa-sack-dollar:before{content:"\f81d"}.fa-sack-xmark:before{content:"\e56a"}.fa-sailboat:before{content:"\e445"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-school:before{content:"\f549"}.fa-school-circle-check:before{content:"\e56b"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-school-flag:before{content:"\e56e"}.fa-school-lock:before{content:"\e56f"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-screwdriver:before{content:"\f54a"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-scroll:before{content:"\f70e"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-sd-card:before{content:"\f7c2"}.fa-section:before{content:"\e447"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-server:before{content:"\f233"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-sheet-plastic:before{content:"\e571"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-shield-cat:before{content:"\e572"}.fa-shield-dog:before{content:"\e573"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-shield-heart:before{content:"\e574"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-shoe-prints:before{content:"\f54b"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-shop-lock:before{content:"\e4a5"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-shower:before{content:"\f2cc"}.fa-shrimp:before{content:"\e448"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-sim-card:before{content:"\f7c4"}.fa-sink:before{content:"\e06d"}.fa-sitemap:before{content:"\f0e8"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-spa:before{content:"\f5bb"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-spray-can:before{content:"\f5bd"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-square:before{content:"\f0c8"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-square-full:before{content:"\f45c"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-square-nfi:before{content:"\e576"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-square-person-confined:before{content:"\e577"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-square-virus:before{content:"\e578"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-stairs:before{content:"\e289"}.fa-stamp:before{content:"\f5bf"}.fa-stapler:before{content:"\e5af"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-stethoscope:before{content:"\f0f1"}.fa-stop:before{content:"\f04d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-slash:before{content:"\e071"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stroopwafel:before{content:"\f551"}.fa-subscript:before{content:"\f12c"}.fa-suitcase:before{content:"\f0f2"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-superscript:before{content:"\f12b"}.fa-swatchbook:before{content:"\f5c3"}.fa-synagogue:before{content:"\f69b"}.fa-syringe:before{content:"\f48e"}.fa-t:before{content:"\54"}.fa-table:before{content:"\f0ce"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-tablet-button:before{content:"\f10a"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tarp:before{content:"\e57b"}.fa-tarp-droplet:before{content:"\e57c"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-tent:before{content:"\e57d"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tent-arrows-down:before{content:"\e581"}.fa-tents:before{content:"\e582"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-text-width:before{content:"\f035"}.fa-thermometer:before{content:"\f491"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-timeline:before{content:"\e29c"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toilet-portable:before{content:"\e583"}.fa-toilets-portable:before{content:"\e584"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-torii-gate:before{content:"\f6a1"}.fa-tornado:before{content:"\f76f"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-tower-cell:before{content:"\e585"}.fa-tower-observation:before{content:"\e586"}.fa-tractor:before{content:"\f722"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-train-tram:before{content:"\e5b4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-tree-city:before{content:"\e587"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-trophy:before{content:"\f091"}.fa-trowel:before{content:"\e589"}.fa-trowel-bricks:before{content:"\e58a"}.fa-truck:before{content:"\f0d1"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-truck-droplet:before{content:"\e58c"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-truck-field:before{content:"\e58d"}.fa-truck-field-un:before{content:"\e58e"}.fa-truck-front:before{content:"\e2b7"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-truck-plane:before{content:"\e58f"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-u:before{content:"\55"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-universal-access:before{content:"\f29a"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-upload:before{content:"\f093"}.fa-user:before{content:"\f007"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-clock:before{content:"\f4fd"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-user-graduate:before{content:"\f501"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-user-injured:before{content:"\f728"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-user-lock:before{content:"\f502"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-between-lines:before{content:"\e591"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-users-line:before{content:"\e592"}.fa-users-rays:before{content:"\e593"}.fa-users-rectangle:before{content:"\e594"}.fa-users-slash:before{content:"\e073"}.fa-users-viewfinder:before{content:"\e595"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-v:before{content:"\56"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-vault:before{content:"\e2c5"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-vial:before{content:"\f492"}.fa-vial-circle-check:before{content:"\e596"}.fa-vial-virus:before{content:"\e597"}.fa-vials:before{content:"\f493"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-virus:before{content:"\e074"}.fa-virus-covid:before{content:"\e4a8"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-voicemail:before{content:"\f897"}.fa-volcano:before{content:"\f770"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-vr-cardboard:before{content:"\f729"}.fa-w:before{content:"\57"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-wallet:before{content:"\f555"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-wand-sparkles:before{content:"\f72b"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-wave-square:before{content:"\f83e"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-wheelchair:before{content:"\f193"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-wind:before{content:"\f72e"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-worm:before{content:"\e599"}.fa-wrench:before{content:"\f0ad"}.fa-x:before{content:"\58"}.fa-x-ray:before{content:"\f497"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-xmarks-lines:before{content:"\e59a"}.fa-y:before{content:"\59"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-z:before{content:"\5a"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0} \ No newline at end of file diff --git a/framework/reon/assets/css/fontawesome/css/regular.css b/framework/reon/assets/css/fontawesome/css/regular.css new file mode 100644 index 0000000..27d41ee --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/regular.css @@ -0,0 +1,19 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +:root, :host { + --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; } + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } + +.far, +.fa-regular { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } diff --git a/framework/reon/assets/css/fontawesome/css/regular.min.css b/framework/reon/assets/css/fontawesome/css/regular.min.css new file mode 100644 index 0000000..8d6af64 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/regular.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-family:"Font Awesome 6 Free";font-weight:400} \ No newline at end of file diff --git a/framework/reon/assets/css/fontawesome/css/solid.css b/framework/reon/assets/css/fontawesome/css/solid.css new file mode 100644 index 0000000..0dcad95 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/solid.css @@ -0,0 +1,19 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +:root, :host { + --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; } + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +.fas, +.fa-solid { + font-family: 'Font Awesome 6 Free'; + font-weight: 900; } diff --git a/framework/reon/assets/css/fontawesome/css/solid.min.css b/framework/reon/assets/css/fontawesome/css/solid.min.css new file mode 100644 index 0000000..3767268 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/solid.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900} \ No newline at end of file diff --git a/framework/reon/assets/css/fontawesome/css/svg-with-js.css b/framework/reon/assets/css/fontawesome/css/svg-with-js.css new file mode 100644 index 0000000..05c3443 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/svg-with-js.css @@ -0,0 +1,634 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +:root, :host { + --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid"; + --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular"; + --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light"; + --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin"; + --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; + --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; } + +svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { + overflow: visible; + box-sizing: content-box; } + +.svg-inline--fa { + display: var(--fa-display, inline-block); + height: 1em; + overflow: visible; + vertical-align: -.125em; } + .svg-inline--fa.fa-2xs { + vertical-align: 0.1em; } + .svg-inline--fa.fa-xs { + vertical-align: 0em; } + .svg-inline--fa.fa-sm { + vertical-align: -0.07143em; } + .svg-inline--fa.fa-lg { + vertical-align: -0.2em; } + .svg-inline--fa.fa-xl { + vertical-align: -0.25em; } + .svg-inline--fa.fa-2xl { + vertical-align: -0.3125em; } + .svg-inline--fa.fa-pull-left { + margin-right: var(--fa-pull-margin, 0.3em); + width: auto; } + .svg-inline--fa.fa-pull-right { + margin-left: var(--fa-pull-margin, 0.3em); + width: auto; } + .svg-inline--fa.fa-li { + width: var(--fa-li-width, 2em); + top: 0.25em; } + .svg-inline--fa.fa-fw { + width: var(--fa-fw-width, 1.25em); } + +.fa-layers svg.svg-inline--fa { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; } + +.fa-layers-text, .fa-layers-counter { + display: inline-block; + position: absolute; + text-align: center; } + +.fa-layers { + display: inline-block; + height: 1em; + position: relative; + text-align: center; + vertical-align: -.125em; + width: 1em; } + .fa-layers svg.svg-inline--fa { + -webkit-transform-origin: center center; + transform-origin: center center; } + +.fa-layers-text { + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + -webkit-transform-origin: center center; + transform-origin: center center; } + +.fa-layers-counter { + background-color: var(--fa-counter-background-color, #ff253a); + border-radius: var(--fa-counter-border-radius, 1em); + box-sizing: border-box; + color: var(--fa-inverse, #fff); + line-height: var(--fa-counter-line-height, 1); + max-width: var(--fa-counter-max-width, 5em); + min-width: var(--fa-counter-min-width, 1.5em); + overflow: hidden; + padding: var(--fa-counter-padding, 0.25em 0.5em); + right: var(--fa-right, 0); + text-overflow: ellipsis; + top: var(--fa-top, 0); + -webkit-transform: scale(var(--fa-counter-scale, 0.25)); + transform: scale(var(--fa-counter-scale, 0.25)); + -webkit-transform-origin: top right; + transform-origin: top right; } + +.fa-layers-bottom-right { + bottom: var(--fa-bottom, 0); + right: var(--fa-right, 0); + top: auto; + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: bottom right; + transform-origin: bottom right; } + +.fa-layers-bottom-left { + bottom: var(--fa-bottom, 0); + left: var(--fa-left, 0); + right: auto; + top: auto; + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: bottom left; + transform-origin: bottom left; } + +.fa-layers-top-right { + top: var(--fa-top, 0); + right: var(--fa-right, 0); + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: top right; + transform-origin: top right; } + +.fa-layers-top-left { + left: var(--fa-left, 0); + right: auto; + top: var(--fa-top, 0); + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); + -webkit-transform-origin: top left; + transform-origin: top left; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; } + +.fa-xs { + font-size: 0.75em; + line-height: 0.08333em; + vertical-align: 0.125em; } + +.fa-sm { + font-size: 0.875em; + line-height: 0.07143em; + vertical-align: 0.05357em; } + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; } + +.fa-xl { + font-size: 1.5em; + line-height: 0.04167em; + vertical-align: -0.125em; } + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: calc(var(--fa-li-width, 2em) * -1); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; } + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); } + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); } + +.fa-beat { + -webkit-animation-name: fa-beat; + animation-name: fa-beat; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-bounce { + -webkit-animation-name: fa-bounce; + animation-name: fa-bounce; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } + +.fa-fade { + -webkit-animation-name: fa-fade; + animation-name: fa-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-beat-fade { + -webkit-animation-name: fa-beat-fade; + animation-name: fa-beat-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-flip { + -webkit-animation-name: fa-flip; + animation-name: fa-flip; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-shake { + -webkit-animation-name: fa-shake; + animation-name: fa-shake; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-delay: var(--fa-animation-delay, 0); + animation-delay: var(--fa-animation-delay, 0); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 2s); + animation-duration: var(--fa-animation-duration, 2s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin-reverse { + --fa-animation-direction: reverse; } + +.fa-pulse, +.fa-spin-pulse { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); + animation-timing-function: var(--fa-animation-timing, steps(8)); } + +@media (prefers-reduced-motion: reduce) { + .fa-beat, + .fa-bounce, + .fa-fade, + .fa-beat-fade, + .fa-flip, + .fa-pulse, + .fa-shake, + .fa-spin, + .fa-spin-pulse { + -webkit-animation-delay: -1ms; + animation-delay: -1ms; + -webkit-animation-duration: 1ms; + animation-duration: 1ms; + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; + transition-delay: 0s; + transition-duration: 0s; } } + +@-webkit-keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@-webkit-keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@-webkit-keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@-webkit-keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@-webkit-keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@-webkit-keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +.fa-rotate-by { + -webkit-transform: rotate(var(--fa-rotate-angle, none)); + transform: rotate(var(--fa-rotate-angle, none)); } + +.fa-stack { + display: inline-block; + vertical-align: middle; + height: 2em; + position: relative; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; + z-index: var(--fa-stack-z-index, auto); } + +.svg-inline--fa.fa-stack-1x { + height: 1em; + width: 1.25em; } + +.svg-inline--fa.fa-stack-2x { + height: 2em; + width: 2.5em; } + +.fa-inverse { + color: var(--fa-inverse, #fff); } + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } + +.svg-inline--fa .fa-primary { + fill: var(--fa-primary-color, currentColor); + opacity: var(--fa-primary-opacity, 1); } + +.svg-inline--fa .fa-secondary { + fill: var(--fa-secondary-color, currentColor); + opacity: var(--fa-secondary-opacity, 0.4); } + +.svg-inline--fa.fa-swap-opacity .fa-primary { + opacity: var(--fa-secondary-opacity, 0.4); } + +.svg-inline--fa.fa-swap-opacity .fa-secondary { + opacity: var(--fa-primary-opacity, 1); } + +.svg-inline--fa mask .fa-primary, +.svg-inline--fa mask .fa-secondary { + fill: black; } + +.fad.fa-inverse, +.fa-duotone.fa-inverse { + color: var(--fa-inverse, #fff); } diff --git a/framework/reon/assets/css/fontawesome/css/svg-with-js.min.css b/framework/reon/assets/css/fontawesome/css/svg-with-js.min.css new file mode 100644 index 0000000..bd603a8 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/svg-with-js.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Solid";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Regular";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Light";--fa-font-thin:normal 100 1em/1 "Font Awesome 6 Thin";--fa-font-duotone:normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}svg:not(:host).svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.07143em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-counter-scale,.25));transform:scale(var(--fa-counter-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top left;transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index,auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fa-duotone.fa-inverse,.fad.fa-inverse{color:var(--fa-inverse,#fff)} \ No newline at end of file diff --git a/framework/reon/assets/css/fontawesome/css/v4-font-face.css b/framework/reon/assets/css/fontawesome/css/v4-font-face.css new file mode 100644 index 0000000..d3aaa68 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/v4-font-face.css @@ -0,0 +1,26 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +@font-face { + font-family: "FontAwesome"; + font-display: block; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +@font-face { + font-family: "FontAwesome"; + font-display: block; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +@font-face { + font-family: "FontAwesome"; + font-display: block; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); + unicode-range: U+F003,U+F006,U+F014,U+F016-F017,U+F01A-F01B,U+F01D,U+F022,U+F03E,U+F044,U+F046,U+F05C-F05D,U+F06E,U+F070,U+F087-F088,U+F08A,U+F094,U+F096-F097,U+F09D,U+F0A0,U+F0A2,U+F0A4-F0A7,U+F0C5,U+F0C7,U+F0E5-F0E6,U+F0EB,U+F0F6-F0F8,U+F10C,U+F114-F115,U+F118-F11A,U+F11C-F11D,U+F133,U+F147,U+F14E,U+F150-F152,U+F185-F186,U+F18E,U+F190-F192,U+F196,U+F1C1-F1C9,U+F1D9,U+F1DB,U+F1E3,U+F1EA,U+F1F7,U+F1F9,U+F20A,U+F247-F248,U+F24A,U+F24D,U+F255-F25B,U+F25D,U+F271-F274,U+F278,U+F27B,U+F28C,U+F28E,U+F29C,U+F2B5,U+F2B7,U+F2BA,U+F2BC,U+F2BE,U+F2C0-F2C1,U+F2C3,U+F2D0,U+F2D2,U+F2D4,U+F2DC; } + +@font-face { + font-family: "FontAwesome"; + font-display: block; + src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype"); + unicode-range: U+F041,U+F047,U+F065-F066,U+F07D-F07E,U+F080,U+F08B,U+F08E,U+F090,U+F09A,U+F0AC,U+F0AE,U+F0B2,U+F0D0,U+F0D6,U+F0E4,U+F0EC,U+F10A-F10B,U+F123,U+F13E,U+F148-F149,U+F14C,U+F156,U+F15E,U+F160-F161,U+F163,U+F175-F178,U+F195,U+F1F8,U+F219,U+F27A; } diff --git a/framework/reon/assets/css/fontawesome/css/v4-font-face.min.css b/framework/reon/assets/css/fontawesome/css/v4-font-face.min.css new file mode 100644 index 0000000..675fe60 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/v4-font-face.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a} \ No newline at end of file diff --git a/framework/reon/assets/css/fontawesome/css/v4-shims.css b/framework/reon/assets/css/fontawesome/css/v4-shims.css new file mode 100644 index 0000000..1b53831 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/v4-shims.css @@ -0,0 +1,2194 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +.fa.fa-glass:before { + content: "\f000"; } + +.fa.fa-envelope-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-envelope-o:before { + content: "\f0e0"; } + +.fa.fa-star-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-o:before { + content: "\f005"; } + +.fa.fa-remove:before { + content: "\f00d"; } + +.fa.fa-close:before { + content: "\f00d"; } + +.fa.fa-gear:before { + content: "\f013"; } + +.fa.fa-trash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-trash-o:before { + content: "\f2ed"; } + +.fa.fa-home:before { + content: "\f015"; } + +.fa.fa-file-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-o:before { + content: "\f15b"; } + +.fa.fa-clock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-clock-o:before { + content: "\f017"; } + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-down:before { + content: "\f358"; } + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-up:before { + content: "\f35b"; } + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-play-circle-o:before { + content: "\f144"; } + +.fa.fa-repeat:before { + content: "\f01e"; } + +.fa.fa-rotate-right:before { + content: "\f01e"; } + +.fa.fa-refresh:before { + content: "\f021"; } + +.fa.fa-list-alt { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-list-alt:before { + content: "\f022"; } + +.fa.fa-dedent:before { + content: "\f03b"; } + +.fa.fa-video-camera:before { + content: "\f03d"; } + +.fa.fa-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-picture-o:before { + content: "\f03e"; } + +.fa.fa-photo { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-photo:before { + content: "\f03e"; } + +.fa.fa-image { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-image:before { + content: "\f03e"; } + +.fa.fa-map-marker:before { + content: "\f3c5"; } + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-pencil-square-o:before { + content: "\f044"; } + +.fa.fa-edit { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-edit:before { + content: "\f044"; } + +.fa.fa-share-square-o:before { + content: "\f14d"; } + +.fa.fa-check-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-check-square-o:before { + content: "\f14a"; } + +.fa.fa-arrows:before { + content: "\f0b2"; } + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-circle-o:before { + content: "\f057"; } + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-check-circle-o:before { + content: "\f058"; } + +.fa.fa-mail-forward:before { + content: "\f064"; } + +.fa.fa-expand:before { + content: "\f424"; } + +.fa.fa-compress:before { + content: "\f422"; } + +.fa.fa-eye { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-eye-slash { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-warning:before { + content: "\f071"; } + +.fa.fa-calendar:before { + content: "\f073"; } + +.fa.fa-arrows-v:before { + content: "\f338"; } + +.fa.fa-arrows-h:before { + content: "\f337"; } + +.fa.fa-bar-chart:before { + content: "\e0e3"; } + +.fa.fa-bar-chart-o:before { + content: "\e0e3"; } + +.fa.fa-twitter-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-twitter-square:before { + content: "\f081"; } + +.fa.fa-facebook-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-square:before { + content: "\f082"; } + +.fa.fa-gears:before { + content: "\f085"; } + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-up:before { + content: "\f164"; } + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-down:before { + content: "\f165"; } + +.fa.fa-heart-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-heart-o:before { + content: "\f004"; } + +.fa.fa-sign-out:before { + content: "\f2f5"; } + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linkedin-square:before { + content: "\f08c"; } + +.fa.fa-thumb-tack:before { + content: "\f08d"; } + +.fa.fa-external-link:before { + content: "\f35d"; } + +.fa.fa-sign-in:before { + content: "\f2f6"; } + +.fa.fa-github-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-github-square:before { + content: "\f092"; } + +.fa.fa-lemon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-lemon-o:before { + content: "\f094"; } + +.fa.fa-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-square-o:before { + content: "\f0c8"; } + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bookmark-o:before { + content: "\f02e"; } + +.fa.fa-twitter { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook:before { + content: "\f39e"; } + +.fa.fa-facebook-f { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-f:before { + content: "\f39e"; } + +.fa.fa-github { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-credit-card { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-feed:before { + content: "\f09e"; } + +.fa.fa-hdd-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hdd-o:before { + content: "\f0a0"; } + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-right:before { + content: "\f0a4"; } + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-left:before { + content: "\f0a5"; } + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-up:before { + content: "\f0a6"; } + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-down:before { + content: "\f0a7"; } + +.fa.fa-globe:before { + content: "\f57d"; } + +.fa.fa-tasks:before { + content: "\f828"; } + +.fa.fa-arrows-alt:before { + content: "\f31e"; } + +.fa.fa-group:before { + content: "\f0c0"; } + +.fa.fa-chain:before { + content: "\f0c1"; } + +.fa.fa-cut:before { + content: "\f0c4"; } + +.fa.fa-files-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-files-o:before { + content: "\f0c5"; } + +.fa.fa-floppy-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-floppy-o:before { + content: "\f0c7"; } + +.fa.fa-save { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-save:before { + content: "\f0c7"; } + +.fa.fa-navicon:before { + content: "\f0c9"; } + +.fa.fa-reorder:before { + content: "\f0c9"; } + +.fa.fa-magic:before { + content: "\e2ca"; } + +.fa.fa-pinterest { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa.fa-google-plus { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus:before { + content: "\f0d5"; } + +.fa.fa-money:before { + content: "\f3d1"; } + +.fa.fa-unsorted:before { + content: "\f0dc"; } + +.fa.fa-sort-desc:before { + content: "\f0dd"; } + +.fa.fa-sort-asc:before { + content: "\f0de"; } + +.fa.fa-linkedin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linkedin:before { + content: "\f0e1"; } + +.fa.fa-rotate-left:before { + content: "\f0e2"; } + +.fa.fa-legal:before { + content: "\f0e3"; } + +.fa.fa-tachometer:before { + content: "\f625"; } + +.fa.fa-dashboard:before { + content: "\f625"; } + +.fa.fa-comment-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-comment-o:before { + content: "\f075"; } + +.fa.fa-comments-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-comments-o:before { + content: "\f086"; } + +.fa.fa-flash:before { + content: "\f0e7"; } + +.fa.fa-clipboard:before { + content: "\f0ea"; } + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-lightbulb-o:before { + content: "\f0eb"; } + +.fa.fa-exchange:before { + content: "\f362"; } + +.fa.fa-cloud-download:before { + content: "\f0ed"; } + +.fa.fa-cloud-upload:before { + content: "\f0ee"; } + +.fa.fa-bell-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bell-o:before { + content: "\f0f3"; } + +.fa.fa-cutlery:before { + content: "\f2e7"; } + +.fa.fa-file-text-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-text-o:before { + content: "\f15c"; } + +.fa.fa-building-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-building-o:before { + content: "\f1ad"; } + +.fa.fa-hospital-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hospital-o:before { + content: "\f0f8"; } + +.fa.fa-tablet:before { + content: "\f3fa"; } + +.fa.fa-mobile:before { + content: "\f3cd"; } + +.fa.fa-mobile-phone:before { + content: "\f3cd"; } + +.fa.fa-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-circle-o:before { + content: "\f111"; } + +.fa.fa-mail-reply:before { + content: "\f3e5"; } + +.fa.fa-github-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-folder-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-folder-o:before { + content: "\f07b"; } + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-folder-open-o:before { + content: "\f07c"; } + +.fa.fa-smile-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-smile-o:before { + content: "\f118"; } + +.fa.fa-frown-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-frown-o:before { + content: "\f119"; } + +.fa.fa-meh-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-meh-o:before { + content: "\f11a"; } + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-keyboard-o:before { + content: "\f11c"; } + +.fa.fa-flag-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-flag-o:before { + content: "\f024"; } + +.fa.fa-mail-reply-all:before { + content: "\f122"; } + +.fa.fa-star-half-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-o:before { + content: "\f5c0"; } + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-empty:before { + content: "\f5c0"; } + +.fa.fa-star-half-full { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-full:before { + content: "\f5c0"; } + +.fa.fa-code-fork:before { + content: "\f126"; } + +.fa.fa-chain-broken:before { + content: "\f127"; } + +.fa.fa-unlink:before { + content: "\f127"; } + +.fa.fa-calendar-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-o:before { + content: "\f133"; } + +.fa.fa-maxcdn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-html5 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-css3 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-unlock-alt:before { + content: "\f09c"; } + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-minus-square-o:before { + content: "\f146"; } + +.fa.fa-level-up:before { + content: "\f3bf"; } + +.fa.fa-level-down:before { + content: "\f3be"; } + +.fa.fa-pencil-square:before { + content: "\f14b"; } + +.fa.fa-external-link-square:before { + content: "\f360"; } + +.fa.fa-compass { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down:before { + content: "\f150"; } + +.fa.fa-toggle-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-down:before { + content: "\f150"; } + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-up:before { + content: "\f151"; } + +.fa.fa-toggle-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-up:before { + content: "\f151"; } + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-right:before { + content: "\f152"; } + +.fa.fa-toggle-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-right:before { + content: "\f152"; } + +.fa.fa-eur:before { + content: "\f153"; } + +.fa.fa-euro:before { + content: "\f153"; } + +.fa.fa-gbp:before { + content: "\f154"; } + +.fa.fa-usd:before { + content: "\24"; } + +.fa.fa-dollar:before { + content: "\24"; } + +.fa.fa-inr:before { + content: "\e1bc"; } + +.fa.fa-rupee:before { + content: "\e1bc"; } + +.fa.fa-jpy:before { + content: "\f157"; } + +.fa.fa-cny:before { + content: "\f157"; } + +.fa.fa-rmb:before { + content: "\f157"; } + +.fa.fa-yen:before { + content: "\f157"; } + +.fa.fa-rub:before { + content: "\f158"; } + +.fa.fa-ruble:before { + content: "\f158"; } + +.fa.fa-rouble:before { + content: "\f158"; } + +.fa.fa-krw:before { + content: "\f159"; } + +.fa.fa-won:before { + content: "\f159"; } + +.fa.fa-btc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin:before { + content: "\f15a"; } + +.fa.fa-file-text:before { + content: "\f15c"; } + +.fa.fa-sort-alpha-asc:before { + content: "\f15d"; } + +.fa.fa-sort-alpha-desc:before { + content: "\f881"; } + +.fa.fa-sort-amount-asc:before { + content: "\f884"; } + +.fa.fa-sort-amount-desc:before { + content: "\f160"; } + +.fa.fa-sort-numeric-asc:before { + content: "\f162"; } + +.fa.fa-sort-numeric-desc:before { + content: "\f886"; } + +.fa.fa-youtube-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-youtube-square:before { + content: "\f431"; } + +.fa.fa-youtube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing-square:before { + content: "\f169"; } + +.fa.fa-youtube-play { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play:before { + content: "\f167"; } + +.fa.fa-dropbox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-instagram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-flickr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-adn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square:before { + content: "\f171"; } + +.fa.fa-tumblr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square:before { + content: "\f174"; } + +.fa.fa-long-arrow-down:before { + content: "\f309"; } + +.fa.fa-long-arrow-up:before { + content: "\f30c"; } + +.fa.fa-long-arrow-left:before { + content: "\f30a"; } + +.fa.fa-long-arrow-right:before { + content: "\f30b"; } + +.fa.fa-apple { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-windows { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-android { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linux { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-dribbble { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-skype { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-foursquare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-trello { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gratipay { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gittip { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gittip:before { + content: "\f184"; } + +.fa.fa-sun-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sun-o:before { + content: "\f185"; } + +.fa.fa-moon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-moon-o:before { + content: "\f186"; } + +.fa.fa-vk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-renren { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pagelines { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right:before { + content: "\f35a"; } + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-left:before { + content: "\f359"; } + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-left:before { + content: "\f191"; } + +.fa.fa-toggle-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-left:before { + content: "\f191"; } + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-dot-circle-o:before { + content: "\f192"; } + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo-square:before { + content: "\f194"; } + +.fa.fa-try:before { + content: "\e2bb"; } + +.fa.fa-turkish-lira:before { + content: "\e2bb"; } + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-plus-square-o:before { + content: "\f0fe"; } + +.fa.fa-slack { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wordpress { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-openid { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-institution:before { + content: "\f19c"; } + +.fa.fa-bank:before { + content: "\f19c"; } + +.fa.fa-mortar-board:before { + content: "\f19d"; } + +.fa.fa-yahoo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square:before { + content: "\f1a2"; } + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-delicious { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-digg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-drupal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-joomla { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance-square:before { + content: "\f1b5"; } + +.fa.fa-steam { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-steam-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-steam-square:before { + content: "\f1b7"; } + +.fa.fa-automobile:before { + content: "\f1b9"; } + +.fa.fa-cab:before { + content: "\f1ba"; } + +.fa.fa-spotify { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-deviantart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-soundcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-pdf-o:before { + content: "\f1c1"; } + +.fa.fa-file-word-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-word-o:before { + content: "\f1c2"; } + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-excel-o:before { + content: "\f1c3"; } + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-powerpoint-o:before { + content: "\f1c4"; } + +.fa.fa-file-image-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-image-o:before { + content: "\f1c5"; } + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-photo-o:before { + content: "\f1c5"; } + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-picture-o:before { + content: "\f1c5"; } + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-archive-o:before { + content: "\f1c6"; } + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-zip-o:before { + content: "\f1c6"; } + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-audio-o:before { + content: "\f1c7"; } + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-sound-o:before { + content: "\f1c7"; } + +.fa.fa-file-video-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-video-o:before { + content: "\f1c8"; } + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-movie-o:before { + content: "\f1c8"; } + +.fa.fa-file-code-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-code-o:before { + content: "\f1c9"; } + +.fa.fa-vine { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-codepen { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-life-bouy:before { + content: "\f1cd"; } + +.fa.fa-life-buoy:before { + content: "\f1cd"; } + +.fa.fa-life-saver:before { + content: "\f1cd"; } + +.fa.fa-support:before { + content: "\f1cd"; } + +.fa.fa-circle-o-notch:before { + content: "\f1ce"; } + +.fa.fa-rebel { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ra { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ra:before { + content: "\f1d0"; } + +.fa.fa-resistance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-resistance:before { + content: "\f1d0"; } + +.fa.fa-empire { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ge:before { + content: "\f1d1"; } + +.fa.fa-git-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-git-square:before { + content: "\f1d2"; } + +.fa.fa-git { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-hacker-news { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square:before { + content: "\f1d4"; } + +.fa.fa-yc-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc-square:before { + content: "\f1d4"; } + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-qq { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-weixin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wechat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wechat:before { + content: "\f1d7"; } + +.fa.fa-send:before { + content: "\f1d8"; } + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-paper-plane-o:before { + content: "\f1d8"; } + +.fa.fa-send-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-send-o:before { + content: "\f1d8"; } + +.fa.fa-circle-thin { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-circle-thin:before { + content: "\f111"; } + +.fa.fa-header:before { + content: "\f1dc"; } + +.fa.fa-futbol-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-futbol-o:before { + content: "\f1e3"; } + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-soccer-ball-o:before { + content: "\f1e3"; } + +.fa.fa-slideshare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-twitch { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yelp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-newspaper-o:before { + content: "\f1ea"; } + +.fa.fa-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-wallet { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-visa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-discover { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-amex { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bell-slash-o:before { + content: "\f1f6"; } + +.fa.fa-trash:before { + content: "\f2ed"; } + +.fa.fa-copyright { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-eyedropper:before { + content: "\f1fb"; } + +.fa.fa-area-chart:before { + content: "\f1fe"; } + +.fa.fa-pie-chart:before { + content: "\f200"; } + +.fa.fa-line-chart:before { + content: "\f201"; } + +.fa.fa-lastfm { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square:before { + content: "\f203"; } + +.fa.fa-ioxhost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-angellist { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-cc:before { + content: "\f20a"; } + +.fa.fa-ils:before { + content: "\f20b"; } + +.fa.fa-shekel:before { + content: "\f20b"; } + +.fa.fa-sheqel:before { + content: "\f20b"; } + +.fa.fa-buysellads { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-dashcube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-forumbee { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-leanpub { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-sellsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-skyatlas { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-diamond { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-diamond:before { + content: "\f3a5"; } + +.fa.fa-transgender:before { + content: "\f224"; } + +.fa.fa-intersex:before { + content: "\f224"; } + +.fa.fa-transgender-alt:before { + content: "\f225"; } + +.fa.fa-facebook-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-official:before { + content: "\f09a"; } + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-whatsapp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-hotel:before { + content: "\f236"; } + +.fa.fa-viacoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-medium { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc:before { + content: "\f23b"; } + +.fa.fa-optin-monster { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-opencart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-battery-4:before { + content: "\f240"; } + +.fa.fa-battery:before { + content: "\f240"; } + +.fa.fa-battery-3:before { + content: "\f241"; } + +.fa.fa-battery-2:before { + content: "\f242"; } + +.fa.fa-battery-1:before { + content: "\f243"; } + +.fa.fa-battery-0:before { + content: "\f244"; } + +.fa.fa-object-group { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o:before { + content: "\f249"; } + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-clone { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o:before { + content: "\f254"; } + +.fa.fa-hourglass-1:before { + content: "\f251"; } + +.fa.fa-hourglass-2:before { + content: "\f252"; } + +.fa.fa-hourglass-3:before { + content: "\f253"; } + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-rock-o:before { + content: "\f255"; } + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-grab-o:before { + content: "\f255"; } + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-paper-o:before { + content: "\f256"; } + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-stop-o:before { + content: "\f256"; } + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-scissors-o:before { + content: "\f257"; } + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-lizard-o:before { + content: "\f258"; } + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-spock-o:before { + content: "\f259"; } + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-pointer-o:before { + content: "\f25a"; } + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-peace-o:before { + content: "\f25b"; } + +.fa.fa-registered { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-creative-commons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gg-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa.fa-get-pocket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-safari { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-chrome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-firefox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-opera { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-television:before { + content: "\f26c"; } + +.fa.fa-contao { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-500px { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-amazon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-plus-o:before { + content: "\f271"; } + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-minus-o:before { + content: "\f272"; } + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-times-o:before { + content: "\f273"; } + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-check-o:before { + content: "\f274"; } + +.fa.fa-map-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-map-o:before { + content: "\f279"; } + +.fa.fa-commenting:before { + content: "\f4ad"; } + +.fa.fa-commenting-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-commenting-o:before { + content: "\f4ad"; } + +.fa.fa-houzz { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo:before { + content: "\f27d"; } + +.fa.fa-black-tie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fonticons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-edge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-credit-card-alt:before { + content: "\f09d"; } + +.fa.fa-codiepie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-modx { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-usb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-product-hunt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-mixcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-scribd { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-pause-circle-o:before { + content: "\f28b"; } + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-stop-circle-o:before { + content: "\f28d"; } + +.fa.fa-bluetooth { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gitlab { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpforms { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-envira { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt:before { + content: "\f368"; } + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-question-circle-o:before { + content: "\f059"; } + +.fa.fa-volume-control-phone:before { + content: "\f2a0"; } + +.fa.fa-asl-interpreting:before { + content: "\f2a3"; } + +.fa.fa-deafness:before { + content: "\f2a4"; } + +.fa.fa-hard-of-hearing:before { + content: "\f2a4"; } + +.fa.fa-glide { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-glide-g { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-signing:before { + content: "\f2a7"; } + +.fa.fa-viadeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa.fa-snapchat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost:before { + content: "\f2ab"; } + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa.fa-pied-piper { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-first-order { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yoast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-themeisle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official:before { + content: "\f2b3"; } + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-circle:before { + content: "\f2b3"; } + +.fa.fa-font-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fa:before { + content: "\f2b4"; } + +.fa.fa-handshake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-handshake-o:before { + content: "\f2b5"; } + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-envelope-open-o:before { + content: "\f2b6"; } + +.fa.fa-linode { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-address-book-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-address-book-o:before { + content: "\f2b9"; } + +.fa.fa-vcard:before { + content: "\f2bb"; } + +.fa.fa-address-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-address-card-o:before { + content: "\f2bb"; } + +.fa.fa-vcard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-vcard-o:before { + content: "\f2bb"; } + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-user-circle-o:before { + content: "\f2bd"; } + +.fa.fa-user-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-user-o:before { + content: "\f007"; } + +.fa.fa-id-badge { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-drivers-license:before { + content: "\f2c2"; } + +.fa.fa-id-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-id-card-o:before { + content: "\f2c2"; } + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-drivers-license-o:before { + content: "\f2c2"; } + +.fa.fa-quora { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-telegram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-thermometer-4:before { + content: "\f2c7"; } + +.fa.fa-thermometer:before { + content: "\f2c7"; } + +.fa.fa-thermometer-3:before { + content: "\f2c8"; } + +.fa.fa-thermometer-2:before { + content: "\f2c9"; } + +.fa.fa-thermometer-1:before { + content: "\f2ca"; } + +.fa.fa-thermometer-0:before { + content: "\f2cb"; } + +.fa.fa-bathtub:before { + content: "\f2cd"; } + +.fa.fa-s15:before { + content: "\f2cd"; } + +.fa.fa-window-maximize { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-window-restore { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle:before { + content: "\f410"; } + +.fa.fa-window-close-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-window-close-o:before { + content: "\f410"; } + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle-o:before { + content: "\f410"; } + +.fa.fa-bandcamp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-grav { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-etsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-imdb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ravelry { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-eercast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-eercast:before { + content: "\f2da"; } + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-snowflake-o:before { + content: "\f2dc"; } + +.fa.fa-superpowers { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-meetup { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } diff --git a/framework/reon/assets/css/fontawesome/css/v4-shims.min.css b/framework/reon/assets/css/fontawesome/css/v4-shims.min.css new file mode 100644 index 0000000..2f6252b --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/v4-shims.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +.fa.fa-glass:before{content:"\f000"}.fa.fa-envelope-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-star-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-home:before{content:"\f015"}.fa.fa-file-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-list-alt:before{content:"\f022"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-edit{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-edit:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart-o:before,.fa.fa-bar-chart:before{content:"\e0e3"}.fa.fa-twitter-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-twitter-square:before{content:"\f081"}.fa.fa-facebook-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-square:before{content:"\f082"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-github-square:before{content:"\f092"}.fa.fa-lemon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-globe:before{content:"\f57d"}.fa.fa-tasks:before{content:"\f828"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-cut:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-save{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-save:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-magic:before{content:"\e2ca"}.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pinterest-square:before{content:"\f0d3"}.fa.fa-google-plus-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-square:before{content:"\f0d4"}.fa.fa-google-plus{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f625"}.fa.fa-comment-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard:before{content:"\f0ea"}.fa.fa-lightbulb-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f0ed"}.fa.fa-cloud-upload:before{content:"\f0ee"}.fa.fa-bell-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f5c0"}.fa.fa-star-half-empty{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f5c0"}.fa.fa-star-half-full{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f5c0"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before,.fa.fa-unlink:before{content:"\f127"}.fa.fa-calendar-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-unlock-alt:before{content:"\f09c"}.fa.fa-minus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\24"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\e1bc"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f884"}.fa.fa-sort-amount-desc:before{content:"\f160"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-square:before{content:"\f431"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-xing-square:before{content:"\f169"}.fa.fa-youtube-play{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-tumblr-square:before{content:"\f174"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo-square:before{content:"\f194"}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\e2bb"}.fa.fa-plus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-google,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-yahoo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-reddit-square:before{content:"\f1a2"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-behance-square:before{content:"\f1b5"}.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-steam-square:before{content:"\f1b7"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-life-bouy:before,.fa.fa-life-buoy:before,.fa.fa-life-saver:before,.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-git-square:before{content:"\f1d2"}.fa.fa-git,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-futbol-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-lastfm-square:before{content:"\f203"}.fa.fa-angellist,.fa.fa-ioxhost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before,.fa.fa-transgender:before{content:"\f224"}.fa.fa-transgender-alt:before{content:"\f225"}.fa.fa-facebook-official{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-clone{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-creative-commons,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-odnoklassniki-square:before{content:"\f264"}.fa.fa-chrome,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-internet-explorer,.fa.fa-opera,.fa.fa-safari,.fa.fa-wikipedia-w{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-viadeo,.fa.fa-viadeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-viadeo-square:before{content:"\f2aa"}.fa.fa-snapchat,.fa.fa-snapchat-ghost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-ghost:before{content:"\f2ab"}.fa.fa-snapchat-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-square:before{content:"\f2ad"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-themeisle,.fa.fa-yoast{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-meetup,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 6 Brands";font-weight:400} \ No newline at end of file diff --git a/framework/reon/assets/css/fontawesome/css/v5-font-face.css b/framework/reon/assets/css/fontawesome/css/v5-font-face.css new file mode 100644 index 0000000..f91a894 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/v5-font-face.css @@ -0,0 +1,22 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +@font-face { + font-family: "Font Awesome 5 Brands"; + font-display: block; + font-weight: 400; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +@font-face { + font-family: "Font Awesome 5 Free"; + font-display: block; + font-weight: 900; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +@font-face { + font-family: "Font Awesome 5 Free"; + font-display: block; + font-weight: 400; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } diff --git a/framework/reon/assets/css/fontawesome/css/v5-font-face.min.css b/framework/reon/assets/css/fontawesome/css/v5-font-face.min.css new file mode 100644 index 0000000..4664d68 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/css/v5-font-face.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")} \ No newline at end of file diff --git a/framework/reon/assets/css/fontawesome/less/_animated.less b/framework/reon/assets/css/fontawesome/less/_animated.less new file mode 100644 index 0000000..ad476aa --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_animated.less @@ -0,0 +1,152 @@ +// animating icons +// -------------------------- + +.@{fa-css-prefix}-beat { + animation-name: ~'@{fa-css-prefix}-beat'; + animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0)'; + animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)'; + animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)'; + animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)'; + animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, ease-in-out)'; +} + +.@{fa-css-prefix}-bounce { + animation-name: ~'@{fa-css-prefix}-beat'; + animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0)'; + animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)'; + animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)'; + animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)'; + animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, cubic-bezier(0.280, 0.840, 0.420, 1))'; +} + +.@{fa-css-prefix}-fade { + animation-name: ~'@{fa-css-prefix}-fade'; + animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0)'; + animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)'; + animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)'; + animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)'; + animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1))'; +} + +.@{fa-css-prefix}-beat-fade { + animation-name: ~'@{fa-css-prefix}-beat-fade'; + animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0)'; + animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)'; + animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)'; + animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)'; + animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1))'; +} + +.@{fa-css-prefix}-flip { + animation-name: ~'@{fa-css-prefix}-flip'; + animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0)'; + animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)'; + animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)'; + animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)'; + animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, ease-in-out)'; +} + +.@{fa-css-prefix}-shake { + animation-name: ~'@{fa-css-prefix}-shake'; + animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0)'; + animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)'; + animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)'; + animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)'; + animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, ease-in-out)'; +} + +.@{fa-css-prefix}-spin { + animation-name: ~'@{fa-css-prefix}-spin'; + animation-delay: ~'var(--@{fa-css-prefix}-animation-delay, 0)'; + animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)'; + animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 2s)'; + animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)'; + animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, linear)'; +} + +.@{fa-css-prefix}-spin-reverse { + --@{fa-css-prefix}-animation-direction: reverse; +} + +.@{fa-css-prefix}-pulse, +.@{fa-css-prefix}-spin-pulse { + animation-name: ~'@{fa-css-prefix}-spin'; + animation-direction: ~'var(--@{fa-css-prefix}-animation-direction, normal)'; + animation-duration: ~'var(--@{fa-css-prefix}-animation-duration, 1s)'; + animation-iteration-count: ~'var(--@{fa-css-prefix}-animation-iteration-count, infinite)'; + animation-timing-function: ~'var(--@{fa-css-prefix}-animation-timing, steps(8));'; +} + +// if agent or operating system prefers reduced motion, disable animations +// see: https://www.smashingmagazine.com/2020/09/design-reduced-motion-sensitivities/ +// see: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion +@media (prefers-reduced-motion: reduce) { + .@{fa-css-prefix}-beat, + .@{fa-css-prefix}-bounce, + .@{fa-css-prefix}-fade, + .@{fa-css-prefix}-beat-fade, + .@{fa-css-prefix}-flip, + .@{fa-css-prefix}-pulse, + .@{fa-css-prefix}-shake, + .@{fa-css-prefix}-spin, + .@{fa-css-prefix}-spin-pulse { + animation-delay: -1ms; + animation-duration: 1ms; + animation-iteration-count: 1; + transition-delay: 0s; + transition-duration: 0s; + } +} + +@keyframes ~'@{fa-css-prefix}-beat' { + 0%, 90% { transform: scale(1); } + 45% { transform: ~'scale(var(--@{fa-css-prefix}-beat-scale, 1.25))'; } +} + +@keyframes ~'@{fa-css-prefix}-bounce' { + 0% { transform: scale(1,1) translateY(0); } + 10% { transform: ~'scale(var(--#{$fa-css-prefix}-bounce-start-scale-x, 1.1),var(--#{$fa-css-prefix}-bounce-start-scale-y, 0.9))' translateY(0); } + 30% { transform: ~'scale(var(--#{$fa-css-prefix}-bounce-jump-scale-x, 0.9),var(--#{$fa-css-prefix}-bounce-jump-scale-y, 1.1))' ~'translateY(var(--#{$fa-css-prefix}-bounce-height, -0.5em))'; } + 50% { transform: ~'scale(var(--#{$fa-css-prefix}-bounce-land-scale-x, 1.05),var(--#{$fa-css-prefix}-bounce-land-scale-y, 0.95))' translateY(0); } + 57% { transform: ~'scale(1,1) translateY(var(--#{$fa-css-prefix}-bounce-rebound, -0.125em))'; } + 64% { transform: scale(1,1) translateY(0); } + 100% { transform: scale(1,1) translateY(0); } +} + +@keyframes ~'@{fa-css-prefix}-fade' { + 50% { opacity: ~'var(--@{fa-css-prefix}-fade-opacity, 0.4)'; } +} + +@keyframes ~'@{fa-css-prefix}-beat-fade' { + 0%, 100% { + opacity: ~'var(--@{fa-css-prefix}-beat-fade-opacity, 0.4)'; + transform: scale(1); + } + 50% { + opacity: 1; + transform: ~'scale(var(--@{fa-css-prefix}-beat-fade-scale, 1.125))'; + } +} + +@keyframes ~'@{fa-css-prefix}-flip' { + 50% { + transform: ~'rotate3d(var(--@{fa-css-prefix}-flip-x, 0), var(--@{fa-css-prefix}-flip-y, 1), var(--@{fa-css-prefix}-flip-z, 0), var(--@{fa-css-prefix}-flip-angle, -180deg))'; + } +} + +@keyframes ~'@{fa-css-prefix}-shake' { + 0% { transform: rotate(-15deg); } + 4% { transform: rotate(15deg); } + 8%, 24% { transform: rotate(-18deg); } + 12%, 28% { transform: rotate(18deg); } + 16% { transform: rotate(-22deg); } + 20% { transform: rotate(22deg); } + 32% { transform: rotate(-12deg); } + 36% { transform: rotate(12deg); } + 40%, 100% { transform: rotate(0deg); } +} + +@keyframes ~'@{fa-css-prefix}-spin' { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} diff --git a/framework/reon/assets/css/fontawesome/less/_bordered-pulled.less b/framework/reon/assets/css/fontawesome/less/_bordered-pulled.less new file mode 100644 index 0000000..6cbe386 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_bordered-pulled.less @@ -0,0 +1,20 @@ +// bordered + pulled icons +// ------------------------- + +.@{fa-css-prefix}-border { + border-color: ~'var(--@{fa-css-prefix}-border-color, @{fa-border-color})'; + border-radius: ~'var(--@{fa-css-prefix}-border-radius, @{fa-border-radius})'; + border-style: ~'var(--@{fa-css-prefix}-border-style, @{fa-border-style})'; + border-width: ~'var(--@{fa-css-prefix}-border-width, @{fa-border-width})'; + padding: ~'var(--@{fa-css-prefix}-border-padding, @{fa-border-padding})'; +} + +.@{fa-css-prefix}-pull-left { + float: left; + margin-right: ~'var(--@{fa-css-prefix}-pull-margin, @{fa-pull-margin})'; +} + +.@{fa-css-prefix}-pull-right { + float: right; + margin-left: ~'var(--@{fa-css-prefix}-pull-margin, @{fa-pull-margin})'; +} diff --git a/framework/reon/assets/css/fontawesome/less/_core.less b/framework/reon/assets/css/fontawesome/less/_core.less new file mode 100644 index 0000000..cd7c760 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_core.less @@ -0,0 +1,28 @@ +// base icon class definition +// ------------------------- + +.@{fa-css-prefix} { + font-family: ~'var(--@{fa-css-prefix}-style-family, @{fa-style-family})'; + font-weight: ~'var(--@{fa-css-prefix}-style, @{fa-style})'; +} + +.@{fa-css-prefix}, +.fas, +.@{fa-css-prefix}-solid, +.far, +.@{fa-css-prefix}-regular, +.fal, +.@{fa-css-prefix}-light, +.fat, +.@{fa-css-prefix}-thin, +.fad, +.@{fa-css-prefix}-duotone, +.fab, +.@{fa-css-prefix}-brands { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: ~'var(--@{fa-css-prefix}-display, @{fa-display})'; + font-style: normal; + font-variant: normal; + text-rendering: auto; +} diff --git a/framework/reon/assets/css/fontawesome/less/_fixed-width.less b/framework/reon/assets/css/fontawesome/less/_fixed-width.less new file mode 100644 index 0000000..a6a89f7 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_fixed-width.less @@ -0,0 +1,7 @@ +// fixed-width icons +// ------------------------- + +.@{fa-css-prefix}-fw { + text-align: center; + width: @fa-fw-width; +} diff --git a/framework/reon/assets/css/fontawesome/less/_icons.less b/framework/reon/assets/css/fontawesome/less/_icons.less new file mode 100644 index 0000000..b715b40 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_icons.less @@ -0,0 +1,9 @@ +// specific icon class definition +// ------------------------- + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +each(.fa-icons(), { + .@{fa-css-prefix}-@{key}::before { content: @value; } +}); diff --git a/framework/reon/assets/css/fontawesome/less/_list.less b/framework/reon/assets/css/fontawesome/less/_list.less new file mode 100644 index 0000000..45d3828 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_list.less @@ -0,0 +1,18 @@ +// icons in a list +// ------------------------- + +.@{fa-css-prefix}-ul { + list-style-type: none; + margin-left: ~'var(--@{fa-css-prefix}-li-margin, @{fa-li-margin})'; + padding-left: 0; + + > li { position: relative; } +} + +.@{fa-css-prefix}-li { + left: calc(~'var(--@{fa-css-prefix}-li-width, @{fa-li-width})' * -1); + position: absolute; + text-align: center; + width: ~'var(--@{fa-css-prefix}-li-width, @{fa-li-width})'; + line-height: inherit; +} diff --git a/framework/reon/assets/css/fontawesome/less/_mixins.less b/framework/reon/assets/css/fontawesome/less/_mixins.less new file mode 100644 index 0000000..3da3667 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_mixins.less @@ -0,0 +1,73 @@ +// mixins +// -------------------------- + +// base rendering for an icon +.fa-icon() { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; +} + +// sets relative font-sizing and alignment (in _sizing) +.fa-size(@font-size) { + font-size: (@font-size / @fa-size-scale-base) * 1em; // converts step in sizing scale into an em-based value that's relative to the scale's base + line-height: (1 / @font-size) * 1em; // sets the line-height of the icon back to that of it's parent + vertical-align: ((6 / @font-size) - (3 / 8)) * 1em; // vertically centers the icon taking into account the surrounding text's descender +} + +// only display content to screen readers +// see: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/ +// see: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ +.fa-sr-only() { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +// use in conjunction with .sr-only to only display content when it's focused +.fa-sr-only-focusable() { + &:not(:focus) { + .fa-sr-only(); + } +} + +// convenience mixins for declaring pseudo-elements by CSS variable, +// including all style-specific font properties, and both the ::before +// and ::after elements in the duotone case. +.fa-icon-solid(@fa-var) { + .fa-icon; + .fa-solid; + + &::before { + content: @fa-var; + } +} + +.fa-icon-regular(@fa-var) { + .fa-icon; + .fa-regular; + + &::before { + content: @fa-var; + } +} + +.fa-icon-brands(@fa-var) { + .fa-icon; + .fa-brands; + + &::before { + content: @fa-var; + } +} + diff --git a/framework/reon/assets/css/fontawesome/less/_rotated-flipped.less b/framework/reon/assets/css/fontawesome/less/_rotated-flipped.less new file mode 100644 index 0000000..b09e8e1 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_rotated-flipped.less @@ -0,0 +1,31 @@ +// rotating + flipping icons +// ------------------------- + +.@{fa-css-prefix}-rotate-90 { + transform: rotate(90deg); +} + +.@{fa-css-prefix}-rotate-180 { + transform: rotate(180deg); +} + +.@{fa-css-prefix}-rotate-270 { + transform: rotate(270deg); +} + +.@{fa-css-prefix}-flip-horizontal { + transform: scale(-1, 1); +} + +.@{fa-css-prefix}-flip-vertical { + transform: scale(1, -1); +} + +.@{fa-css-prefix}-flip-both, +.@{fa-css-prefix}-flip-horizontal.@{fa-css-prefix}-flip-vertical { + transform: scale(-1, -1); +} + +.@{fa-css-prefix}-rotate-by { + transform: rotate(~'var(--@{fa-css-prefix}-rotate-angle, none)'); +} diff --git a/framework/reon/assets/css/fontawesome/less/_screen-reader.less b/framework/reon/assets/css/fontawesome/less/_screen-reader.less new file mode 100644 index 0000000..45758b8 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_screen-reader.less @@ -0,0 +1,14 @@ +// screen-reader utilities +// ------------------------- + +// only display content to screen readers +.sr-only, +.@{fa-css-prefix}-sr-only { + .fa-sr-only(); +} + +// use in conjunction with .sr-only to only display content when it's focused +.sr-only-focusable, +.@{fa-css-prefix}-sr-only-focusable { + .fa-sr-only-focusable(); +} diff --git a/framework/reon/assets/css/fontawesome/less/_shims.less b/framework/reon/assets/css/fontawesome/less/_shims.less new file mode 100644 index 0000000..8aed894 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_shims.less @@ -0,0 +1,2042 @@ +.@{fa-css-prefix}.@{fa-css-prefix}-glass:before { content: @fa-var-martini-glass-empty; } + +.@{fa-css-prefix}.@{fa-css-prefix}-envelope-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope; } + +.@{fa-css-prefix}.@{fa-css-prefix}-star-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-star-o:before { content: @fa-var-star; } + +.@{fa-css-prefix}.@{fa-css-prefix}-remove:before { content: @fa-var-xmark; } + +.@{fa-css-prefix}.@{fa-css-prefix}-close:before { content: @fa-var-xmark; } + +.@{fa-css-prefix}.@{fa-css-prefix}-gear:before { content: @fa-var-gear; } + +.@{fa-css-prefix}.@{fa-css-prefix}-trash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-can; } + +.@{fa-css-prefix}.@{fa-css-prefix}-home:before { content: @fa-var-house; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-o:before { content: @fa-var-file; } + +.@{fa-css-prefix}.@{fa-css-prefix}-clock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-clock-o:before { content: @fa-var-clock; } + +.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-circle-down; } + +.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-circle-up; } + +.@{fa-css-prefix}.@{fa-css-prefix}-play-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-play-circle-o:before { content: @fa-var-circle-play; } + +.@{fa-css-prefix}.@{fa-css-prefix}-repeat:before { content: @fa-var-arrow-rotate-right; } + +.@{fa-css-prefix}.@{fa-css-prefix}-rotate-right:before { content: @fa-var-arrow-rotate-right; } + +.@{fa-css-prefix}.@{fa-css-prefix}-refresh:before { content: @fa-var-arrows-rotate; } + +.@{fa-css-prefix}.@{fa-css-prefix}-list-alt { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-list-alt:before { content: @fa-var-rectangle-list; } + +.@{fa-css-prefix}.@{fa-css-prefix}-dedent:before { content: @fa-var-outdent; } + +.@{fa-css-prefix}.@{fa-css-prefix}-video-camera:before { content: @fa-var-video; } + +.@{fa-css-prefix}.@{fa-css-prefix}-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-picture-o:before { content: @fa-var-image; } + +.@{fa-css-prefix}.@{fa-css-prefix}-photo { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-photo:before { content: @fa-var-image; } + +.@{fa-css-prefix}.@{fa-css-prefix}-image { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-image:before { content: @fa-var-image; } + +.@{fa-css-prefix}.@{fa-css-prefix}-map-marker:before { content: @fa-var-location-dot; } + +.@{fa-css-prefix}.@{fa-css-prefix}-pencil-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pen-to-square; } + +.@{fa-css-prefix}.@{fa-css-prefix}-edit { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-edit:before { content: @fa-var-pen-to-square; } + +.@{fa-css-prefix}.@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-from-square; } + +.@{fa-css-prefix}.@{fa-css-prefix}-check-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-check-square-o:before { content: @fa-var-square-check; } + +.@{fa-css-prefix}.@{fa-css-prefix}-arrows:before { content: @fa-var-up-down-left-right; } + +.@{fa-css-prefix}.@{fa-css-prefix}-times-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-times-circle-o:before { content: @fa-var-circle-xmark; } + +.@{fa-css-prefix}.@{fa-css-prefix}-check-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-check-circle-o:before { content: @fa-var-circle-check; } + +.@{fa-css-prefix}.@{fa-css-prefix}-mail-forward:before { content: @fa-var-share; } + +.@{fa-css-prefix}.@{fa-css-prefix}-expand:before { content: @fa-var-up-right-and-down-left-from-center; } + +.@{fa-css-prefix}.@{fa-css-prefix}-compress:before { content: @fa-var-down-left-and-up-right-to-center; } + +.@{fa-css-prefix}.@{fa-css-prefix}-eye { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-eye-slash { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-warning:before { content: @fa-var-triangle-exclamation; } + +.@{fa-css-prefix}.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar-days; } + +.@{fa-css-prefix}.@{fa-css-prefix}-arrows-v:before { content: @fa-var-up-down; } + +.@{fa-css-prefix}.@{fa-css-prefix}-arrows-h:before { content: @fa-var-left-right; } + +.@{fa-css-prefix}.@{fa-css-prefix}-bar-chart:before { content: @fa-var-chart-column; } + +.@{fa-css-prefix}.@{fa-css-prefix}-bar-chart-o:before { content: @fa-var-chart-column; } + +.@{fa-css-prefix}.@{fa-css-prefix}-twitter-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-twitter-square:before { content: @fa-var-square-twitter; } + +.@{fa-css-prefix}.@{fa-css-prefix}-facebook-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-facebook-square:before { content: @fa-var-square-facebook; } + +.@{fa-css-prefix}.@{fa-css-prefix}-gears:before { content: @fa-var-gears; } + +.@{fa-css-prefix}.@{fa-css-prefix}-thumbs-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-up; } + +.@{fa-css-prefix}.@{fa-css-prefix}-thumbs-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-down; } + +.@{fa-css-prefix}.@{fa-css-prefix}-heart-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-heart-o:before { content: @fa-var-heart; } + +.@{fa-css-prefix}.@{fa-css-prefix}-sign-out:before { content: @fa-var-right-from-bracket; } + +.@{fa-css-prefix}.@{fa-css-prefix}-linkedin-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin; } + +.@{fa-css-prefix}.@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumbtack; } + +.@{fa-css-prefix}.@{fa-css-prefix}-external-link:before { content: @fa-var-up-right-from-square; } + +.@{fa-css-prefix}.@{fa-css-prefix}-sign-in:before { content: @fa-var-right-to-bracket; } + +.@{fa-css-prefix}.@{fa-css-prefix}-github-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-github-square:before { content: @fa-var-square-github; } + +.@{fa-css-prefix}.@{fa-css-prefix}-lemon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon; } + +.@{fa-css-prefix}.@{fa-css-prefix}-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-square-o:before { content: @fa-var-square; } + +.@{fa-css-prefix}.@{fa-css-prefix}-bookmark-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark; } + +.@{fa-css-prefix}.@{fa-css-prefix}-twitter { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-facebook { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook-f; } + +.@{fa-css-prefix}.@{fa-css-prefix}-facebook-f { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-facebook-f:before { content: @fa-var-facebook-f; } + +.@{fa-css-prefix}.@{fa-css-prefix}-github { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-credit-card { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-feed:before { content: @fa-var-rss; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hdd-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hdd-o:before { content: @fa-var-hard-drive; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-point-right; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-point-left; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-point-up; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-point-down; } + +.@{fa-css-prefix}.@{fa-css-prefix}-globe:before { content: @fa-var-earth-americas; } + +.@{fa-css-prefix}.@{fa-css-prefix}-tasks:before { content: @fa-var-bars-progress; } + +.@{fa-css-prefix}.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-maximize; } + +.@{fa-css-prefix}.@{fa-css-prefix}-group:before { content: @fa-var-users; } + +.@{fa-css-prefix}.@{fa-css-prefix}-chain:before { content: @fa-var-link; } + +.@{fa-css-prefix}.@{fa-css-prefix}-cut:before { content: @fa-var-scissors; } + +.@{fa-css-prefix}.@{fa-css-prefix}-files-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-files-o:before { content: @fa-var-copy; } + +.@{fa-css-prefix}.@{fa-css-prefix}-floppy-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-disk; } + +.@{fa-css-prefix}.@{fa-css-prefix}-save { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-save:before { content: @fa-var-floppy-disk; } + +.@{fa-css-prefix}.@{fa-css-prefix}-navicon:before { content: @fa-var-bars; } + +.@{fa-css-prefix}.@{fa-css-prefix}-reorder:before { content: @fa-var-bars; } + +.@{fa-css-prefix}.@{fa-css-prefix}-magic:before { content: @fa-var-wand-magic-sparkles; } + +.@{fa-css-prefix}.@{fa-css-prefix}-pinterest { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-pinterest-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-pinterest-square:before { content: @fa-var-square-pinterest; } + +.@{fa-css-prefix}.@{fa-css-prefix}-google-plus-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-google-plus-square:before { content: @fa-var-square-google-plus; } + +.@{fa-css-prefix}.@{fa-css-prefix}-google-plus { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus-g; } + +.@{fa-css-prefix}.@{fa-css-prefix}-money:before { content: @fa-var-money-bill-1; } + +.@{fa-css-prefix}.@{fa-css-prefix}-unsorted:before { content: @fa-var-sort; } + +.@{fa-css-prefix}.@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-down; } + +.@{fa-css-prefix}.@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-up; } + +.@{fa-css-prefix}.@{fa-css-prefix}-linkedin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin-in; } + +.@{fa-css-prefix}.@{fa-css-prefix}-rotate-left:before { content: @fa-var-arrow-rotate-left; } + +.@{fa-css-prefix}.@{fa-css-prefix}-legal:before { content: @fa-var-gavel; } + +.@{fa-css-prefix}.@{fa-css-prefix}-tachometer:before { content: @fa-var-gauge-high; } + +.@{fa-css-prefix}.@{fa-css-prefix}-dashboard:before { content: @fa-var-gauge-high; } + +.@{fa-css-prefix}.@{fa-css-prefix}-comment-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-comment-o:before { content: @fa-var-comment; } + +.@{fa-css-prefix}.@{fa-css-prefix}-comments-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-comments-o:before { content: @fa-var-comments; } + +.@{fa-css-prefix}.@{fa-css-prefix}-flash:before { content: @fa-var-bolt; } + +.@{fa-css-prefix}.@{fa-css-prefix}-clipboard:before { content: @fa-var-paste; } + +.@{fa-css-prefix}.@{fa-css-prefix}-lightbulb-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb; } + +.@{fa-css-prefix}.@{fa-css-prefix}-exchange:before { content: @fa-var-right-left; } + +.@{fa-css-prefix}.@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-arrow-down; } + +.@{fa-css-prefix}.@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-arrow-up; } + +.@{fa-css-prefix}.@{fa-css-prefix}-bell-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-bell-o:before { content: @fa-var-bell; } + +.@{fa-css-prefix}.@{fa-css-prefix}-cutlery:before { content: @fa-var-utensils; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-text-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-lines; } + +.@{fa-css-prefix}.@{fa-css-prefix}-building-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-building-o:before { content: @fa-var-building; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hospital-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital; } + +.@{fa-css-prefix}.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet-screen-button; } + +.@{fa-css-prefix}.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile-screen-button; } + +.@{fa-css-prefix}.@{fa-css-prefix}-mobile-phone:before { content: @fa-var-mobile-screen-button; } + +.@{fa-css-prefix}.@{fa-css-prefix}-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-circle-o:before { content: @fa-var-circle; } + +.@{fa-css-prefix}.@{fa-css-prefix}-mail-reply:before { content: @fa-var-reply; } + +.@{fa-css-prefix}.@{fa-css-prefix}-github-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-folder-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-folder-o:before { content: @fa-var-folder; } + +.@{fa-css-prefix}.@{fa-css-prefix}-folder-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open; } + +.@{fa-css-prefix}.@{fa-css-prefix}-smile-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-smile-o:before { content: @fa-var-face-smile; } + +.@{fa-css-prefix}.@{fa-css-prefix}-frown-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-frown-o:before { content: @fa-var-face-frown; } + +.@{fa-css-prefix}.@{fa-css-prefix}-meh-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-meh-o:before { content: @fa-var-face-meh; } + +.@{fa-css-prefix}.@{fa-css-prefix}-keyboard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard; } + +.@{fa-css-prefix}.@{fa-css-prefix}-flag-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-flag-o:before { content: @fa-var-flag; } + +.@{fa-css-prefix}.@{fa-css-prefix}-mail-reply-all:before { content: @fa-var-reply-all; } + +.@{fa-css-prefix}.@{fa-css-prefix}-star-half-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-stroke; } + +.@{fa-css-prefix}.@{fa-css-prefix}-star-half-empty { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-star-half-empty:before { content: @fa-var-star-half-stroke; } + +.@{fa-css-prefix}.@{fa-css-prefix}-star-half-full { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-star-half-full:before { content: @fa-var-star-half-stroke; } + +.@{fa-css-prefix}.@{fa-css-prefix}-code-fork:before { content: @fa-var-code-branch; } + +.@{fa-css-prefix}.@{fa-css-prefix}-chain-broken:before { content: @fa-var-link-slash; } + +.@{fa-css-prefix}.@{fa-css-prefix}-unlink:before { content: @fa-var-link-slash; } + +.@{fa-css-prefix}.@{fa-css-prefix}-calendar-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar; } + +.@{fa-css-prefix}.@{fa-css-prefix}-maxcdn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-html5 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-css3 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock; } + +.@{fa-css-prefix}.@{fa-css-prefix}-minus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-minus-square-o:before { content: @fa-var-square-minus; } + +.@{fa-css-prefix}.@{fa-css-prefix}-level-up:before { content: @fa-var-turn-up; } + +.@{fa-css-prefix}.@{fa-css-prefix}-level-down:before { content: @fa-var-turn-down; } + +.@{fa-css-prefix}.@{fa-css-prefix}-pencil-square:before { content: @fa-var-square-pen; } + +.@{fa-css-prefix}.@{fa-css-prefix}-external-link-square:before { content: @fa-var-square-up-right; } + +.@{fa-css-prefix}.@{fa-css-prefix}-compass { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-square-caret-down; } + +.@{fa-css-prefix}.@{fa-css-prefix}-toggle-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-toggle-down:before { content: @fa-var-square-caret-down; } + +.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-square-caret-up; } + +.@{fa-css-prefix}.@{fa-css-prefix}-toggle-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-toggle-up:before { content: @fa-var-square-caret-up; } + +.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-square-caret-right; } + +.@{fa-css-prefix}.@{fa-css-prefix}-toggle-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-toggle-right:before { content: @fa-var-square-caret-right; } + +.@{fa-css-prefix}.@{fa-css-prefix}-eur:before { content: @fa-var-euro-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-euro:before { content: @fa-var-euro-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-gbp:before { content: @fa-var-sterling-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-usd:before { content: @fa-var-dollar-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-dollar:before { content: @fa-var-dollar-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-inr:before { content: @fa-var-indian-rupee-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-rupee:before { content: @fa-var-indian-rupee-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-jpy:before { content: @fa-var-yen-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-cny:before { content: @fa-var-yen-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-rmb:before { content: @fa-var-yen-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-yen:before { content: @fa-var-yen-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-rub:before { content: @fa-var-ruble-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-ruble:before { content: @fa-var-ruble-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-rouble:before { content: @fa-var-ruble-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-krw:before { content: @fa-var-won-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-won:before { content: @fa-var-won-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-btc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-bitcoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-bitcoin:before { content: @fa-var-btc; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-text:before { content: @fa-var-file-lines; } + +.@{fa-css-prefix}.@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-arrow-down-a-z; } + +.@{fa-css-prefix}.@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-arrow-down-z-a; } + +.@{fa-css-prefix}.@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-arrow-down-short-wide; } + +.@{fa-css-prefix}.@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-arrow-down-wide-short; } + +.@{fa-css-prefix}.@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-arrow-down-1-9; } + +.@{fa-css-prefix}.@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-arrow-down-9-1; } + +.@{fa-css-prefix}.@{fa-css-prefix}-youtube-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-youtube-square:before { content: @fa-var-square-youtube; } + +.@{fa-css-prefix}.@{fa-css-prefix}-youtube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-xing { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-xing-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-xing-square:before { content: @fa-var-square-xing; } + +.@{fa-css-prefix}.@{fa-css-prefix}-youtube-play { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube; } + +.@{fa-css-prefix}.@{fa-css-prefix}-dropbox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-stack-overflow { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-instagram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-flickr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-adn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-bitbucket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-bitbucket-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket; } + +.@{fa-css-prefix}.@{fa-css-prefix}-tumblr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-tumblr-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-tumblr-square:before { content: @fa-var-square-tumblr; } + +.@{fa-css-prefix}.@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-down-long; } + +.@{fa-css-prefix}.@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-up-long; } + +.@{fa-css-prefix}.@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-left-long; } + +.@{fa-css-prefix}.@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-right-long; } + +.@{fa-css-prefix}.@{fa-css-prefix}-apple { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-windows { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-android { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-linux { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-dribbble { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-skype { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-foursquare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-trello { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-gratipay { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-gittip { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-gittip:before { content: @fa-var-gratipay; } + +.@{fa-css-prefix}.@{fa-css-prefix}-sun-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-sun-o:before { content: @fa-var-sun; } + +.@{fa-css-prefix}.@{fa-css-prefix}-moon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-moon-o:before { content: @fa-var-moon; } + +.@{fa-css-prefix}.@{fa-css-prefix}-vk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-renren { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-pagelines { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-stack-exchange { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-circle-right; } + +.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-circle-left; } + +.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-square-caret-left; } + +.@{fa-css-prefix}.@{fa-css-prefix}-toggle-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-toggle-left:before { content: @fa-var-square-caret-left; } + +.@{fa-css-prefix}.@{fa-css-prefix}-dot-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-circle-dot; } + +.@{fa-css-prefix}.@{fa-css-prefix}-vimeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-vimeo-square:before { content: @fa-var-square-vimeo; } + +.@{fa-css-prefix}.@{fa-css-prefix}-try:before { content: @fa-var-turkish-lira-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-turkish-lira:before { content: @fa-var-turkish-lira-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-plus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-plus-square-o:before { content: @fa-var-square-plus; } + +.@{fa-css-prefix}.@{fa-css-prefix}-slack { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-wordpress { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-openid { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-institution:before { content: @fa-var-building-columns; } + +.@{fa-css-prefix}.@{fa-css-prefix}-bank:before { content: @fa-var-building-columns; } + +.@{fa-css-prefix}.@{fa-css-prefix}-mortar-board:before { content: @fa-var-graduation-cap; } + +.@{fa-css-prefix}.@{fa-css-prefix}-yahoo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-google { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-reddit { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-reddit-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-reddit-square:before { content: @fa-var-square-reddit; } + +.@{fa-css-prefix}.@{fa-css-prefix}-stumbleupon-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-stumbleupon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-delicious { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-digg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-pied-piper-pp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-pied-piper-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-drupal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-joomla { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-behance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-behance-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-behance-square:before { content: @fa-var-square-behance; } + +.@{fa-css-prefix}.@{fa-css-prefix}-steam { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-steam-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-steam-square:before { content: @fa-var-square-steam; } + +.@{fa-css-prefix}.@{fa-css-prefix}-automobile:before { content: @fa-var-car; } + +.@{fa-css-prefix}.@{fa-css-prefix}-cab:before { content: @fa-var-taxi; } + +.@{fa-css-prefix}.@{fa-css-prefix}-spotify { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-deviantart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-soundcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-file-pdf-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-word-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-excel-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-powerpoint-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-image-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-photo-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-photo-o:before { content: @fa-var-file-image; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-picture-o:before { content: @fa-var-file-image; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-archive-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-zipper; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-zip-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-zip-o:before { content: @fa-var-file-zipper; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-audio-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-sound-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-sound-o:before { content: @fa-var-file-audio; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-video-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-movie-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-movie-o:before { content: @fa-var-file-video; } + +.@{fa-css-prefix}.@{fa-css-prefix}-file-code-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code; } + +.@{fa-css-prefix}.@{fa-css-prefix}-vine { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-codepen { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-jsfiddle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-life-bouy:before { content: @fa-var-life-ring; } + +.@{fa-css-prefix}.@{fa-css-prefix}-life-buoy:before { content: @fa-var-life-ring; } + +.@{fa-css-prefix}.@{fa-css-prefix}-life-saver:before { content: @fa-var-life-ring; } + +.@{fa-css-prefix}.@{fa-css-prefix}-support:before { content: @fa-var-life-ring; } + +.@{fa-css-prefix}.@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-notch; } + +.@{fa-css-prefix}.@{fa-css-prefix}-rebel { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-ra { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-ra:before { content: @fa-var-rebel; } + +.@{fa-css-prefix}.@{fa-css-prefix}-resistance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-resistance:before { content: @fa-var-rebel; } + +.@{fa-css-prefix}.@{fa-css-prefix}-empire { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-ge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-ge:before { content: @fa-var-empire; } + +.@{fa-css-prefix}.@{fa-css-prefix}-git-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-git-square:before { content: @fa-var-square-git; } + +.@{fa-css-prefix}.@{fa-css-prefix}-git { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-hacker-news { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-y-combinator-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-y-combinator-square:before { content: @fa-var-hacker-news; } + +.@{fa-css-prefix}.@{fa-css-prefix}-yc-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-yc-square:before { content: @fa-var-hacker-news; } + +.@{fa-css-prefix}.@{fa-css-prefix}-tencent-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-qq { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-weixin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-wechat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-wechat:before { content: @fa-var-weixin; } + +.@{fa-css-prefix}.@{fa-css-prefix}-send:before { content: @fa-var-paper-plane; } + +.@{fa-css-prefix}.@{fa-css-prefix}-paper-plane-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane; } + +.@{fa-css-prefix}.@{fa-css-prefix}-send-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-send-o:before { content: @fa-var-paper-plane; } + +.@{fa-css-prefix}.@{fa-css-prefix}-circle-thin { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle; } + +.@{fa-css-prefix}.@{fa-css-prefix}-header:before { content: @fa-var-heading; } + +.@{fa-css-prefix}.@{fa-css-prefix}-futbol-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-futbol-o:before { content: @fa-var-futbol; } + +.@{fa-css-prefix}.@{fa-css-prefix}-soccer-ball-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-soccer-ball-o:before { content: @fa-var-futbol; } + +.@{fa-css-prefix}.@{fa-css-prefix}-slideshare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-twitch { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-yelp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-newspaper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-newspaper-o:before { content: @fa-var-newspaper; } + +.@{fa-css-prefix}.@{fa-css-prefix}-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-google-wallet { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-cc-visa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-cc-mastercard { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-cc-discover { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-cc-amex { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-cc-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-cc-stripe { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-bell-slash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-bell-slash-o:before { content: @fa-var-bell-slash; } + +.@{fa-css-prefix}.@{fa-css-prefix}-trash:before { content: @fa-var-trash-can; } + +.@{fa-css-prefix}.@{fa-css-prefix}-copyright { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-eyedropper:before { content: @fa-var-eye-dropper; } + +.@{fa-css-prefix}.@{fa-css-prefix}-area-chart:before { content: @fa-var-chart-area; } + +.@{fa-css-prefix}.@{fa-css-prefix}-pie-chart:before { content: @fa-var-chart-pie; } + +.@{fa-css-prefix}.@{fa-css-prefix}-line-chart:before { content: @fa-var-chart-line; } + +.@{fa-css-prefix}.@{fa-css-prefix}-lastfm { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-lastfm-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-lastfm-square:before { content: @fa-var-square-lastfm; } + +.@{fa-css-prefix}.@{fa-css-prefix}-ioxhost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-angellist { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-cc { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-cc:before { content: @fa-var-closed-captioning; } + +.@{fa-css-prefix}.@{fa-css-prefix}-ils:before { content: @fa-var-shekel-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-shekel:before { content: @fa-var-shekel-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-sheqel:before { content: @fa-var-shekel-sign; } + +.@{fa-css-prefix}.@{fa-css-prefix}-buysellads { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-connectdevelop { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-dashcube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-forumbee { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-leanpub { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-sellsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-shirtsinbulk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-simplybuilt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-skyatlas { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-diamond { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-diamond:before { content: @fa-var-gem; } + +.@{fa-css-prefix}.@{fa-css-prefix}-transgender:before { content: @fa-var-mars-and-venus; } + +.@{fa-css-prefix}.@{fa-css-prefix}-intersex:before { content: @fa-var-mars-and-venus; } + +.@{fa-css-prefix}.@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender; } + +.@{fa-css-prefix}.@{fa-css-prefix}-facebook-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-facebook-official:before { content: @fa-var-facebook; } + +.@{fa-css-prefix}.@{fa-css-prefix}-pinterest-p { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-whatsapp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-hotel:before { content: @fa-var-bed; } + +.@{fa-css-prefix}.@{fa-css-prefix}-viacoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-medium { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-y-combinator { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-yc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-yc:before { content: @fa-var-y-combinator; } + +.@{fa-css-prefix}.@{fa-css-prefix}-optin-monster { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-opencart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-expeditedssl { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-battery-4:before { content: @fa-var-battery-full; } + +.@{fa-css-prefix}.@{fa-css-prefix}-battery:before { content: @fa-var-battery-full; } + +.@{fa-css-prefix}.@{fa-css-prefix}-battery-3:before { content: @fa-var-battery-three-quarters; } + +.@{fa-css-prefix}.@{fa-css-prefix}-battery-2:before { content: @fa-var-battery-half; } + +.@{fa-css-prefix}.@{fa-css-prefix}-battery-1:before { content: @fa-var-battery-quarter; } + +.@{fa-css-prefix}.@{fa-css-prefix}-battery-0:before { content: @fa-var-battery-empty; } + +.@{fa-css-prefix}.@{fa-css-prefix}-object-group { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-object-ungroup { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-sticky-note-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-sticky-note-o:before { content: @fa-var-note-sticky; } + +.@{fa-css-prefix}.@{fa-css-prefix}-cc-jcb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-cc-diners-club { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-clone { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-hourglass-o:before { content: @fa-var-hourglass; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hourglass-1:before { content: @fa-var-hourglass-start; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hourglass-2:before { content: @fa-var-hourglass-half; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hourglass-3:before { content: @fa-var-hourglass-end; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-rock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-rock-o:before { content: @fa-var-hand-back-fist; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-grab-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-grab-o:before { content: @fa-var-hand-back-fist; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-paper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-paper-o:before { content: @fa-var-hand; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-stop-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-stop-o:before { content: @fa-var-hand; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-scissors-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-scissors-o:before { content: @fa-var-hand-scissors; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-lizard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-lizard-o:before { content: @fa-var-hand-lizard; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-spock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-spock-o:before { content: @fa-var-hand-spock; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-pointer-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-pointer-o:before { content: @fa-var-hand-pointer; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hand-peace-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-hand-peace-o:before { content: @fa-var-hand-peace; } + +.@{fa-css-prefix}.@{fa-css-prefix}-registered { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-creative-commons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-gg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-gg-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-odnoklassniki { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-odnoklassniki-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-square-odnoklassniki; } + +.@{fa-css-prefix}.@{fa-css-prefix}-get-pocket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-wikipedia-w { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-safari { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-chrome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-firefox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-opera { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-internet-explorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-television:before { content: @fa-var-tv; } + +.@{fa-css-prefix}.@{fa-css-prefix}-contao { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-500px { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-amazon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-calendar-plus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-calendar-plus-o:before { content: @fa-var-calendar-plus; } + +.@{fa-css-prefix}.@{fa-css-prefix}-calendar-minus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-calendar-minus-o:before { content: @fa-var-calendar-minus; } + +.@{fa-css-prefix}.@{fa-css-prefix}-calendar-times-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-calendar-times-o:before { content: @fa-var-calendar-xmark; } + +.@{fa-css-prefix}.@{fa-css-prefix}-calendar-check-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-calendar-check-o:before { content: @fa-var-calendar-check; } + +.@{fa-css-prefix}.@{fa-css-prefix}-map-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-map-o:before { content: @fa-var-map; } + +.@{fa-css-prefix}.@{fa-css-prefix}-commenting:before { content: @fa-var-comment-dots; } + +.@{fa-css-prefix}.@{fa-css-prefix}-commenting-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-commenting-o:before { content: @fa-var-comment-dots; } + +.@{fa-css-prefix}.@{fa-css-prefix}-houzz { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-vimeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo-v; } + +.@{fa-css-prefix}.@{fa-css-prefix}-black-tie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-fonticons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-reddit-alien { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-edge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-credit-card-alt:before { content: @fa-var-credit-card; } + +.@{fa-css-prefix}.@{fa-css-prefix}-codiepie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-modx { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-fort-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-usb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-product-hunt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-mixcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-scribd { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-pause-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-pause-circle-o:before { content: @fa-var-circle-pause; } + +.@{fa-css-prefix}.@{fa-css-prefix}-stop-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-stop-circle-o:before { content: @fa-var-circle-stop; } + +.@{fa-css-prefix}.@{fa-css-prefix}-bluetooth { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-bluetooth-b { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-gitlab { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-wpbeginner { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-wpforms { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-envira { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-wheelchair-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-wheelchair-alt:before { content: @fa-var-accessible-icon; } + +.@{fa-css-prefix}.@{fa-css-prefix}-question-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-question-circle-o:before { content: @fa-var-circle-question; } + +.@{fa-css-prefix}.@{fa-css-prefix}-volume-control-phone:before { content: @fa-var-phone-volume; } + +.@{fa-css-prefix}.@{fa-css-prefix}-asl-interpreting:before { content: @fa-var-hands-asl-interpreting; } + +.@{fa-css-prefix}.@{fa-css-prefix}-deafness:before { content: @fa-var-ear-deaf; } + +.@{fa-css-prefix}.@{fa-css-prefix}-hard-of-hearing:before { content: @fa-var-ear-deaf; } + +.@{fa-css-prefix}.@{fa-css-prefix}-glide { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-glide-g { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-signing:before { content: @fa-var-hands; } + +.@{fa-css-prefix}.@{fa-css-prefix}-viadeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-viadeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-viadeo-square:before { content: @fa-var-square-viadeo; } + +.@{fa-css-prefix}.@{fa-css-prefix}-snapchat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-snapchat-ghost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat; } + +.@{fa-css-prefix}.@{fa-css-prefix}-snapchat-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-snapchat-square:before { content: @fa-var-square-snapchat; } + +.@{fa-css-prefix}.@{fa-css-prefix}-pied-piper { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-first-order { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-yoast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-themeisle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-google-plus-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-google-plus-official:before { content: @fa-var-google-plus; } + +.@{fa-css-prefix}.@{fa-css-prefix}-google-plus-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-google-plus-circle:before { content: @fa-var-google-plus; } + +.@{fa-css-prefix}.@{fa-css-prefix}-font-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-fa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-fa:before { content: @fa-var-font-awesome; } + +.@{fa-css-prefix}.@{fa-css-prefix}-handshake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-handshake-o:before { content: @fa-var-handshake; } + +.@{fa-css-prefix}.@{fa-css-prefix}-envelope-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-envelope-open-o:before { content: @fa-var-envelope-open; } + +.@{fa-css-prefix}.@{fa-css-prefix}-linode { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-address-book-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-address-book-o:before { content: @fa-var-address-book; } + +.@{fa-css-prefix}.@{fa-css-prefix}-vcard:before { content: @fa-var-address-card; } + +.@{fa-css-prefix}.@{fa-css-prefix}-address-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-address-card-o:before { content: @fa-var-address-card; } + +.@{fa-css-prefix}.@{fa-css-prefix}-vcard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-vcard-o:before { content: @fa-var-address-card; } + +.@{fa-css-prefix}.@{fa-css-prefix}-user-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-user-circle-o:before { content: @fa-var-circle-user; } + +.@{fa-css-prefix}.@{fa-css-prefix}-user-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-user-o:before { content: @fa-var-user; } + +.@{fa-css-prefix}.@{fa-css-prefix}-id-badge { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-drivers-license:before { content: @fa-var-id-card; } + +.@{fa-css-prefix}.@{fa-css-prefix}-id-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-id-card-o:before { content: @fa-var-id-card; } + +.@{fa-css-prefix}.@{fa-css-prefix}-drivers-license-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-drivers-license-o:before { content: @fa-var-id-card; } + +.@{fa-css-prefix}.@{fa-css-prefix}-quora { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-free-code-camp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-telegram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-thermometer-4:before { content: @fa-var-temperature-full; } + +.@{fa-css-prefix}.@{fa-css-prefix}-thermometer:before { content: @fa-var-temperature-full; } + +.@{fa-css-prefix}.@{fa-css-prefix}-thermometer-3:before { content: @fa-var-temperature-three-quarters; } + +.@{fa-css-prefix}.@{fa-css-prefix}-thermometer-2:before { content: @fa-var-temperature-half; } + +.@{fa-css-prefix}.@{fa-css-prefix}-thermometer-1:before { content: @fa-var-temperature-quarter; } + +.@{fa-css-prefix}.@{fa-css-prefix}-thermometer-0:before { content: @fa-var-temperature-empty; } + +.@{fa-css-prefix}.@{fa-css-prefix}-bathtub:before { content: @fa-var-bath; } + +.@{fa-css-prefix}.@{fa-css-prefix}-s15:before { content: @fa-var-bath; } + +.@{fa-css-prefix}.@{fa-css-prefix}-window-maximize { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-window-restore { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-times-rectangle:before { content: @fa-var-rectangle-xmark; } + +.@{fa-css-prefix}.@{fa-css-prefix}-window-close-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-window-close-o:before { content: @fa-var-rectangle-xmark; } + +.@{fa-css-prefix}.@{fa-css-prefix}-times-rectangle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-times-rectangle-o:before { content: @fa-var-rectangle-xmark; } + +.@{fa-css-prefix}.@{fa-css-prefix}-bandcamp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-grav { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-etsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-imdb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-ravelry { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-eercast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-eercast:before { content: @fa-var-sellcast; } + +.@{fa-css-prefix}.@{fa-css-prefix}-snowflake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.@{fa-css-prefix}.@{fa-css-prefix}-snowflake-o:before { content: @fa-var-snowflake; } + +.@{fa-css-prefix}.@{fa-css-prefix}-superpowers { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-wpexplorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.@{fa-css-prefix}.@{fa-css-prefix}-meetup { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + diff --git a/framework/reon/assets/css/fontawesome/less/_sizing.less b/framework/reon/assets/css/fontawesome/less/_sizing.less new file mode 100644 index 0000000..fe1d945 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_sizing.less @@ -0,0 +1,19 @@ +// sizing icons +// ------------------------- + +// literal magnification scale +.sizes-literal(@factor) when (@factor > 0) { + .sizes-literal((@factor - 1)); + + .@{fa-css-prefix}-@{factor}x { + font-size: (@factor * 1em); + } +} +.sizes-literal(10); + +// step-based scale (with alignment) +each(.fa-sizes(), { + .@{fa-css-prefix}-@{key} { + .fa-size(@value); + } +}); diff --git a/framework/reon/assets/css/fontawesome/less/_stacked.less b/framework/reon/assets/css/fontawesome/less/_stacked.less new file mode 100644 index 0000000..5955df6 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_stacked.less @@ -0,0 +1,31 @@ +// stacking icons +// ------------------------- + +.@{fa-css-prefix}-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: @fa-stack-vertical-align; + width: @fa-stack-width; +} + +.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; + z-index: ~'var(--@{fa-css-prefix}-stack-z-index, @{fa-stack-z-index})'; +} + +.@{fa-css-prefix}-stack-1x { + line-height: inherit; +} + +.@{fa-css-prefix}-stack-2x { + font-size: 2em; +} + +.@{fa-css-prefix}-inverse { + color: ~'var(--@{fa-css-prefix}-inverse, @{fa-inverse})'; +} diff --git a/framework/reon/assets/css/fontawesome/less/_variables.less b/framework/reon/assets/css/fontawesome/less/_variables.less new file mode 100644 index 0000000..2c372a1 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/_variables.less @@ -0,0 +1,4953 @@ +// variables +// -------------------------- + +@fa-css-prefix : fa; +@fa-style : 900; +@fa-style-family : "Font Awesome 6 Free"; + +@fa-display : inline-block; + +@fa-fw-width : (20em / 16); +@fa-inverse : #fff; + +@fa-border-color : #eee; +@fa-border-padding : .2em .25em .15em; +@fa-border-radius : .1em; +@fa-border-style : solid; +@fa-border-width : .08em; + +@fa-size-scale-2xs : 10; +@fa-size-scale-xs : 12; +@fa-size-scale-sm : 14; +@fa-size-scale-base : 16; +@fa-size-scale-lg : 20; +@fa-size-scale-xl : 24; +@fa-size-scale-2xl : 32; + +.fa-sizes() { + 2xs : @fa-size-scale-2xs; + xs : @fa-size-scale-xs; + sm : @fa-size-scale-sm; + lg : @fa-size-scale-lg; + xl : @fa-size-scale-xl; + 2xl : @fa-size-scale-2xl; +} + +@fa-li-width : 2em; +@fa-li-margin : (@fa-li-width * 5/4); + +@fa-pull-margin : .3em; + +@fa-primary-opacity : 1; +@fa-secondary-opacity : .4; + +@fa-stack-vertical-align: middle; +@fa-stack-width : (@fa-fw-width * 2); +@fa-stack-z-index : auto; + +@fa-font-display : block; +@fa-font-path : "../webfonts"; + +@fa-var-0: "\30"; +@fa-var-1: "\31"; +@fa-var-2: "\32"; +@fa-var-3: "\33"; +@fa-var-4: "\34"; +@fa-var-5: "\35"; +@fa-var-6: "\36"; +@fa-var-7: "\37"; +@fa-var-8: "\38"; +@fa-var-9: "\39"; +@fa-var-a: "\41"; +@fa-var-address-book: "\f2b9"; +@fa-var-contact-book: "\f2b9"; +@fa-var-address-card: "\f2bb"; +@fa-var-contact-card: "\f2bb"; +@fa-var-vcard: "\f2bb"; +@fa-var-align-center: "\f037"; +@fa-var-align-justify: "\f039"; +@fa-var-align-left: "\f036"; +@fa-var-align-right: "\f038"; +@fa-var-anchor: "\f13d"; +@fa-var-anchor-circle-check: "\e4aa"; +@fa-var-anchor-circle-exclamation: "\e4ab"; +@fa-var-anchor-circle-xmark: "\e4ac"; +@fa-var-anchor-lock: "\e4ad"; +@fa-var-angle-down: "\f107"; +@fa-var-angle-left: "\f104"; +@fa-var-angle-right: "\f105"; +@fa-var-angle-up: "\f106"; +@fa-var-angles-down: "\f103"; +@fa-var-angle-double-down: "\f103"; +@fa-var-angles-left: "\f100"; +@fa-var-angle-double-left: "\f100"; +@fa-var-angles-right: "\f101"; +@fa-var-angle-double-right: "\f101"; +@fa-var-angles-up: "\f102"; +@fa-var-angle-double-up: "\f102"; +@fa-var-ankh: "\f644"; +@fa-var-apple-whole: "\f5d1"; +@fa-var-apple-alt: "\f5d1"; +@fa-var-archway: "\f557"; +@fa-var-arrow-down: "\f063"; +@fa-var-arrow-down-1-9: "\f162"; +@fa-var-sort-numeric-asc: "\f162"; +@fa-var-sort-numeric-down: "\f162"; +@fa-var-arrow-down-9-1: "\f886"; +@fa-var-sort-numeric-desc: "\f886"; +@fa-var-sort-numeric-down-alt: "\f886"; +@fa-var-arrow-down-a-z: "\f15d"; +@fa-var-sort-alpha-asc: "\f15d"; +@fa-var-sort-alpha-down: "\f15d"; +@fa-var-arrow-down-long: "\f175"; +@fa-var-long-arrow-down: "\f175"; +@fa-var-arrow-down-short-wide: "\f884"; +@fa-var-sort-amount-desc: "\f884"; +@fa-var-sort-amount-down-alt: "\f884"; +@fa-var-arrow-down-up-across-line: "\e4af"; +@fa-var-arrow-down-up-lock: "\e4b0"; +@fa-var-arrow-down-wide-short: "\f160"; +@fa-var-sort-amount-asc: "\f160"; +@fa-var-sort-amount-down: "\f160"; +@fa-var-arrow-down-z-a: "\f881"; +@fa-var-sort-alpha-desc: "\f881"; +@fa-var-sort-alpha-down-alt: "\f881"; +@fa-var-arrow-left: "\f060"; +@fa-var-arrow-left-long: "\f177"; +@fa-var-long-arrow-left: "\f177"; +@fa-var-arrow-pointer: "\f245"; +@fa-var-mouse-pointer: "\f245"; +@fa-var-arrow-right: "\f061"; +@fa-var-arrow-right-arrow-left: "\f0ec"; +@fa-var-exchange: "\f0ec"; +@fa-var-arrow-right-from-bracket: "\f08b"; +@fa-var-sign-out: "\f08b"; +@fa-var-arrow-right-long: "\f178"; +@fa-var-long-arrow-right: "\f178"; +@fa-var-arrow-right-to-bracket: "\f090"; +@fa-var-sign-in: "\f090"; +@fa-var-arrow-right-to-city: "\e4b3"; +@fa-var-arrow-rotate-left: "\f0e2"; +@fa-var-arrow-left-rotate: "\f0e2"; +@fa-var-arrow-rotate-back: "\f0e2"; +@fa-var-arrow-rotate-backward: "\f0e2"; +@fa-var-undo: "\f0e2"; +@fa-var-arrow-rotate-right: "\f01e"; +@fa-var-arrow-right-rotate: "\f01e"; +@fa-var-arrow-rotate-forward: "\f01e"; +@fa-var-redo: "\f01e"; +@fa-var-arrow-trend-down: "\e097"; +@fa-var-arrow-trend-up: "\e098"; +@fa-var-arrow-turn-down: "\f149"; +@fa-var-level-down: "\f149"; +@fa-var-arrow-turn-up: "\f148"; +@fa-var-level-up: "\f148"; +@fa-var-arrow-up: "\f062"; +@fa-var-arrow-up-1-9: "\f163"; +@fa-var-sort-numeric-up: "\f163"; +@fa-var-arrow-up-9-1: "\f887"; +@fa-var-sort-numeric-up-alt: "\f887"; +@fa-var-arrow-up-a-z: "\f15e"; +@fa-var-sort-alpha-up: "\f15e"; +@fa-var-arrow-up-from-bracket: "\e09a"; +@fa-var-arrow-up-from-ground-water: "\e4b5"; +@fa-var-arrow-up-from-water-pump: "\e4b6"; +@fa-var-arrow-up-long: "\f176"; +@fa-var-long-arrow-up: "\f176"; +@fa-var-arrow-up-right-dots: "\e4b7"; +@fa-var-arrow-up-right-from-square: "\f08e"; +@fa-var-external-link: "\f08e"; +@fa-var-arrow-up-short-wide: "\f885"; +@fa-var-sort-amount-up-alt: "\f885"; +@fa-var-arrow-up-wide-short: "\f161"; +@fa-var-sort-amount-up: "\f161"; +@fa-var-arrow-up-z-a: "\f882"; +@fa-var-sort-alpha-up-alt: "\f882"; +@fa-var-arrows-down-to-line: "\e4b8"; +@fa-var-arrows-down-to-people: "\e4b9"; +@fa-var-arrows-left-right: "\f07e"; +@fa-var-arrows-h: "\f07e"; +@fa-var-arrows-left-right-to-line: "\e4ba"; +@fa-var-arrows-rotate: "\f021"; +@fa-var-refresh: "\f021"; +@fa-var-sync: "\f021"; +@fa-var-arrows-spin: "\e4bb"; +@fa-var-arrows-split-up-and-left: "\e4bc"; +@fa-var-arrows-to-circle: "\e4bd"; +@fa-var-arrows-to-dot: "\e4be"; +@fa-var-arrows-to-eye: "\e4bf"; +@fa-var-arrows-turn-right: "\e4c0"; +@fa-var-arrows-turn-to-dots: "\e4c1"; +@fa-var-arrows-up-down: "\f07d"; +@fa-var-arrows-v: "\f07d"; +@fa-var-arrows-up-down-left-right: "\f047"; +@fa-var-arrows: "\f047"; +@fa-var-arrows-up-to-line: "\e4c2"; +@fa-var-asterisk: "\2a"; +@fa-var-at: "\40"; +@fa-var-atom: "\f5d2"; +@fa-var-audio-description: "\f29e"; +@fa-var-austral-sign: "\e0a9"; +@fa-var-award: "\f559"; +@fa-var-b: "\42"; +@fa-var-baby: "\f77c"; +@fa-var-baby-carriage: "\f77d"; +@fa-var-carriage-baby: "\f77d"; +@fa-var-backward: "\f04a"; +@fa-var-backward-fast: "\f049"; +@fa-var-fast-backward: "\f049"; +@fa-var-backward-step: "\f048"; +@fa-var-step-backward: "\f048"; +@fa-var-bacon: "\f7e5"; +@fa-var-bacteria: "\e059"; +@fa-var-bacterium: "\e05a"; +@fa-var-bag-shopping: "\f290"; +@fa-var-shopping-bag: "\f290"; +@fa-var-bahai: "\f666"; +@fa-var-haykal: "\f666"; +@fa-var-baht-sign: "\e0ac"; +@fa-var-ban: "\f05e"; +@fa-var-cancel: "\f05e"; +@fa-var-ban-smoking: "\f54d"; +@fa-var-smoking-ban: "\f54d"; +@fa-var-bandage: "\f462"; +@fa-var-band-aid: "\f462"; +@fa-var-barcode: "\f02a"; +@fa-var-bars: "\f0c9"; +@fa-var-navicon: "\f0c9"; +@fa-var-bars-progress: "\f828"; +@fa-var-tasks-alt: "\f828"; +@fa-var-bars-staggered: "\f550"; +@fa-var-reorder: "\f550"; +@fa-var-stream: "\f550"; +@fa-var-baseball: "\f433"; +@fa-var-baseball-ball: "\f433"; +@fa-var-baseball-bat-ball: "\f432"; +@fa-var-basket-shopping: "\f291"; +@fa-var-shopping-basket: "\f291"; +@fa-var-basketball: "\f434"; +@fa-var-basketball-ball: "\f434"; +@fa-var-bath: "\f2cd"; +@fa-var-bathtub: "\f2cd"; +@fa-var-battery-empty: "\f244"; +@fa-var-battery-0: "\f244"; +@fa-var-battery-full: "\f240"; +@fa-var-battery: "\f240"; +@fa-var-battery-5: "\f240"; +@fa-var-battery-half: "\f242"; +@fa-var-battery-3: "\f242"; +@fa-var-battery-quarter: "\f243"; +@fa-var-battery-2: "\f243"; +@fa-var-battery-three-quarters: "\f241"; +@fa-var-battery-4: "\f241"; +@fa-var-bed: "\f236"; +@fa-var-bed-pulse: "\f487"; +@fa-var-procedures: "\f487"; +@fa-var-beer-mug-empty: "\f0fc"; +@fa-var-beer: "\f0fc"; +@fa-var-bell: "\f0f3"; +@fa-var-bell-concierge: "\f562"; +@fa-var-concierge-bell: "\f562"; +@fa-var-bell-slash: "\f1f6"; +@fa-var-bezier-curve: "\f55b"; +@fa-var-bicycle: "\f206"; +@fa-var-binoculars: "\f1e5"; +@fa-var-biohazard: "\f780"; +@fa-var-bitcoin-sign: "\e0b4"; +@fa-var-blender: "\f517"; +@fa-var-blender-phone: "\f6b6"; +@fa-var-blog: "\f781"; +@fa-var-bold: "\f032"; +@fa-var-bolt: "\f0e7"; +@fa-var-zap: "\f0e7"; +@fa-var-bolt-lightning: "\e0b7"; +@fa-var-bomb: "\f1e2"; +@fa-var-bone: "\f5d7"; +@fa-var-bong: "\f55c"; +@fa-var-book: "\f02d"; +@fa-var-book-atlas: "\f558"; +@fa-var-atlas: "\f558"; +@fa-var-book-bible: "\f647"; +@fa-var-bible: "\f647"; +@fa-var-book-bookmark: "\e0bb"; +@fa-var-book-journal-whills: "\f66a"; +@fa-var-journal-whills: "\f66a"; +@fa-var-book-medical: "\f7e6"; +@fa-var-book-open: "\f518"; +@fa-var-book-open-reader: "\f5da"; +@fa-var-book-reader: "\f5da"; +@fa-var-book-quran: "\f687"; +@fa-var-quran: "\f687"; +@fa-var-book-skull: "\f6b7"; +@fa-var-book-dead: "\f6b7"; +@fa-var-book-tanakh: "\f827"; +@fa-var-tanakh: "\f827"; +@fa-var-bookmark: "\f02e"; +@fa-var-border-all: "\f84c"; +@fa-var-border-none: "\f850"; +@fa-var-border-top-left: "\f853"; +@fa-var-border-style: "\f853"; +@fa-var-bore-hole: "\e4c3"; +@fa-var-bottle-droplet: "\e4c4"; +@fa-var-bottle-water: "\e4c5"; +@fa-var-bowl-food: "\e4c6"; +@fa-var-bowl-rice: "\e2eb"; +@fa-var-bowling-ball: "\f436"; +@fa-var-box: "\f466"; +@fa-var-box-archive: "\f187"; +@fa-var-archive: "\f187"; +@fa-var-box-open: "\f49e"; +@fa-var-box-tissue: "\e05b"; +@fa-var-boxes-packing: "\e4c7"; +@fa-var-boxes-stacked: "\f468"; +@fa-var-boxes: "\f468"; +@fa-var-boxes-alt: "\f468"; +@fa-var-braille: "\f2a1"; +@fa-var-brain: "\f5dc"; +@fa-var-brazilian-real-sign: "\e46c"; +@fa-var-bread-slice: "\f7ec"; +@fa-var-bridge: "\e4c8"; +@fa-var-bridge-circle-check: "\e4c9"; +@fa-var-bridge-circle-exclamation: "\e4ca"; +@fa-var-bridge-circle-xmark: "\e4cb"; +@fa-var-bridge-lock: "\e4cc"; +@fa-var-bridge-water: "\e4ce"; +@fa-var-briefcase: "\f0b1"; +@fa-var-briefcase-medical: "\f469"; +@fa-var-broom: "\f51a"; +@fa-var-broom-ball: "\f458"; +@fa-var-quidditch: "\f458"; +@fa-var-quidditch-broom-ball: "\f458"; +@fa-var-brush: "\f55d"; +@fa-var-bucket: "\e4cf"; +@fa-var-bug: "\f188"; +@fa-var-bug-slash: "\e490"; +@fa-var-bugs: "\e4d0"; +@fa-var-building: "\f1ad"; +@fa-var-building-circle-arrow-right: "\e4d1"; +@fa-var-building-circle-check: "\e4d2"; +@fa-var-building-circle-exclamation: "\e4d3"; +@fa-var-building-circle-xmark: "\e4d4"; +@fa-var-building-columns: "\f19c"; +@fa-var-bank: "\f19c"; +@fa-var-institution: "\f19c"; +@fa-var-museum: "\f19c"; +@fa-var-university: "\f19c"; +@fa-var-building-flag: "\e4d5"; +@fa-var-building-lock: "\e4d6"; +@fa-var-building-ngo: "\e4d7"; +@fa-var-building-shield: "\e4d8"; +@fa-var-building-un: "\e4d9"; +@fa-var-building-user: "\e4da"; +@fa-var-building-wheat: "\e4db"; +@fa-var-bullhorn: "\f0a1"; +@fa-var-bullseye: "\f140"; +@fa-var-burger: "\f805"; +@fa-var-hamburger: "\f805"; +@fa-var-burst: "\e4dc"; +@fa-var-bus: "\f207"; +@fa-var-bus-simple: "\f55e"; +@fa-var-bus-alt: "\f55e"; +@fa-var-business-time: "\f64a"; +@fa-var-briefcase-clock: "\f64a"; +@fa-var-c: "\43"; +@fa-var-cable-car: "\f7da"; +@fa-var-tram: "\f7da"; +@fa-var-cake-candles: "\f1fd"; +@fa-var-birthday-cake: "\f1fd"; +@fa-var-cake: "\f1fd"; +@fa-var-calculator: "\f1ec"; +@fa-var-calendar: "\f133"; +@fa-var-calendar-check: "\f274"; +@fa-var-calendar-day: "\f783"; +@fa-var-calendar-days: "\f073"; +@fa-var-calendar-alt: "\f073"; +@fa-var-calendar-minus: "\f272"; +@fa-var-calendar-plus: "\f271"; +@fa-var-calendar-week: "\f784"; +@fa-var-calendar-xmark: "\f273"; +@fa-var-calendar-times: "\f273"; +@fa-var-camera: "\f030"; +@fa-var-camera-alt: "\f030"; +@fa-var-camera-retro: "\f083"; +@fa-var-camera-rotate: "\e0d8"; +@fa-var-campground: "\f6bb"; +@fa-var-candy-cane: "\f786"; +@fa-var-cannabis: "\f55f"; +@fa-var-capsules: "\f46b"; +@fa-var-car: "\f1b9"; +@fa-var-automobile: "\f1b9"; +@fa-var-car-battery: "\f5df"; +@fa-var-battery-car: "\f5df"; +@fa-var-car-burst: "\f5e1"; +@fa-var-car-crash: "\f5e1"; +@fa-var-car-on: "\e4dd"; +@fa-var-car-rear: "\f5de"; +@fa-var-car-alt: "\f5de"; +@fa-var-car-side: "\f5e4"; +@fa-var-car-tunnel: "\e4de"; +@fa-var-caravan: "\f8ff"; +@fa-var-caret-down: "\f0d7"; +@fa-var-caret-left: "\f0d9"; +@fa-var-caret-right: "\f0da"; +@fa-var-caret-up: "\f0d8"; +@fa-var-carrot: "\f787"; +@fa-var-cart-arrow-down: "\f218"; +@fa-var-cart-flatbed: "\f474"; +@fa-var-dolly-flatbed: "\f474"; +@fa-var-cart-flatbed-suitcase: "\f59d"; +@fa-var-luggage-cart: "\f59d"; +@fa-var-cart-plus: "\f217"; +@fa-var-cart-shopping: "\f07a"; +@fa-var-shopping-cart: "\f07a"; +@fa-var-cash-register: "\f788"; +@fa-var-cat: "\f6be"; +@fa-var-cedi-sign: "\e0df"; +@fa-var-cent-sign: "\e3f5"; +@fa-var-certificate: "\f0a3"; +@fa-var-chair: "\f6c0"; +@fa-var-chalkboard: "\f51b"; +@fa-var-blackboard: "\f51b"; +@fa-var-chalkboard-user: "\f51c"; +@fa-var-chalkboard-teacher: "\f51c"; +@fa-var-champagne-glasses: "\f79f"; +@fa-var-glass-cheers: "\f79f"; +@fa-var-charging-station: "\f5e7"; +@fa-var-chart-area: "\f1fe"; +@fa-var-area-chart: "\f1fe"; +@fa-var-chart-bar: "\f080"; +@fa-var-bar-chart: "\f080"; +@fa-var-chart-column: "\e0e3"; +@fa-var-chart-gantt: "\e0e4"; +@fa-var-chart-line: "\f201"; +@fa-var-line-chart: "\f201"; +@fa-var-chart-pie: "\f200"; +@fa-var-pie-chart: "\f200"; +@fa-var-chart-simple: "\e473"; +@fa-var-check: "\f00c"; +@fa-var-check-double: "\f560"; +@fa-var-check-to-slot: "\f772"; +@fa-var-vote-yea: "\f772"; +@fa-var-cheese: "\f7ef"; +@fa-var-chess: "\f439"; +@fa-var-chess-bishop: "\f43a"; +@fa-var-chess-board: "\f43c"; +@fa-var-chess-king: "\f43f"; +@fa-var-chess-knight: "\f441"; +@fa-var-chess-pawn: "\f443"; +@fa-var-chess-queen: "\f445"; +@fa-var-chess-rook: "\f447"; +@fa-var-chevron-down: "\f078"; +@fa-var-chevron-left: "\f053"; +@fa-var-chevron-right: "\f054"; +@fa-var-chevron-up: "\f077"; +@fa-var-child: "\f1ae"; +@fa-var-child-dress: "\e59c"; +@fa-var-child-reaching: "\e59d"; +@fa-var-child-rifle: "\e4e0"; +@fa-var-children: "\e4e1"; +@fa-var-church: "\f51d"; +@fa-var-circle: "\f111"; +@fa-var-circle-arrow-down: "\f0ab"; +@fa-var-arrow-circle-down: "\f0ab"; +@fa-var-circle-arrow-left: "\f0a8"; +@fa-var-arrow-circle-left: "\f0a8"; +@fa-var-circle-arrow-right: "\f0a9"; +@fa-var-arrow-circle-right: "\f0a9"; +@fa-var-circle-arrow-up: "\f0aa"; +@fa-var-arrow-circle-up: "\f0aa"; +@fa-var-circle-check: "\f058"; +@fa-var-check-circle: "\f058"; +@fa-var-circle-chevron-down: "\f13a"; +@fa-var-chevron-circle-down: "\f13a"; +@fa-var-circle-chevron-left: "\f137"; +@fa-var-chevron-circle-left: "\f137"; +@fa-var-circle-chevron-right: "\f138"; +@fa-var-chevron-circle-right: "\f138"; +@fa-var-circle-chevron-up: "\f139"; +@fa-var-chevron-circle-up: "\f139"; +@fa-var-circle-dollar-to-slot: "\f4b9"; +@fa-var-donate: "\f4b9"; +@fa-var-circle-dot: "\f192"; +@fa-var-dot-circle: "\f192"; +@fa-var-circle-down: "\f358"; +@fa-var-arrow-alt-circle-down: "\f358"; +@fa-var-circle-exclamation: "\f06a"; +@fa-var-exclamation-circle: "\f06a"; +@fa-var-circle-h: "\f47e"; +@fa-var-hospital-symbol: "\f47e"; +@fa-var-circle-half-stroke: "\f042"; +@fa-var-adjust: "\f042"; +@fa-var-circle-info: "\f05a"; +@fa-var-info-circle: "\f05a"; +@fa-var-circle-left: "\f359"; +@fa-var-arrow-alt-circle-left: "\f359"; +@fa-var-circle-minus: "\f056"; +@fa-var-minus-circle: "\f056"; +@fa-var-circle-nodes: "\e4e2"; +@fa-var-circle-notch: "\f1ce"; +@fa-var-circle-pause: "\f28b"; +@fa-var-pause-circle: "\f28b"; +@fa-var-circle-play: "\f144"; +@fa-var-play-circle: "\f144"; +@fa-var-circle-plus: "\f055"; +@fa-var-plus-circle: "\f055"; +@fa-var-circle-question: "\f059"; +@fa-var-question-circle: "\f059"; +@fa-var-circle-radiation: "\f7ba"; +@fa-var-radiation-alt: "\f7ba"; +@fa-var-circle-right: "\f35a"; +@fa-var-arrow-alt-circle-right: "\f35a"; +@fa-var-circle-stop: "\f28d"; +@fa-var-stop-circle: "\f28d"; +@fa-var-circle-up: "\f35b"; +@fa-var-arrow-alt-circle-up: "\f35b"; +@fa-var-circle-user: "\f2bd"; +@fa-var-user-circle: "\f2bd"; +@fa-var-circle-xmark: "\f057"; +@fa-var-times-circle: "\f057"; +@fa-var-xmark-circle: "\f057"; +@fa-var-city: "\f64f"; +@fa-var-clapperboard: "\e131"; +@fa-var-clipboard: "\f328"; +@fa-var-clipboard-check: "\f46c"; +@fa-var-clipboard-list: "\f46d"; +@fa-var-clipboard-question: "\e4e3"; +@fa-var-clipboard-user: "\f7f3"; +@fa-var-clock: "\f017"; +@fa-var-clock-four: "\f017"; +@fa-var-clock-rotate-left: "\f1da"; +@fa-var-history: "\f1da"; +@fa-var-clone: "\f24d"; +@fa-var-closed-captioning: "\f20a"; +@fa-var-cloud: "\f0c2"; +@fa-var-cloud-arrow-down: "\f0ed"; +@fa-var-cloud-download: "\f0ed"; +@fa-var-cloud-download-alt: "\f0ed"; +@fa-var-cloud-arrow-up: "\f0ee"; +@fa-var-cloud-upload: "\f0ee"; +@fa-var-cloud-upload-alt: "\f0ee"; +@fa-var-cloud-bolt: "\f76c"; +@fa-var-thunderstorm: "\f76c"; +@fa-var-cloud-meatball: "\f73b"; +@fa-var-cloud-moon: "\f6c3"; +@fa-var-cloud-moon-rain: "\f73c"; +@fa-var-cloud-rain: "\f73d"; +@fa-var-cloud-showers-heavy: "\f740"; +@fa-var-cloud-showers-water: "\e4e4"; +@fa-var-cloud-sun: "\f6c4"; +@fa-var-cloud-sun-rain: "\f743"; +@fa-var-clover: "\e139"; +@fa-var-code: "\f121"; +@fa-var-code-branch: "\f126"; +@fa-var-code-commit: "\f386"; +@fa-var-code-compare: "\e13a"; +@fa-var-code-fork: "\e13b"; +@fa-var-code-merge: "\f387"; +@fa-var-code-pull-request: "\e13c"; +@fa-var-coins: "\f51e"; +@fa-var-colon-sign: "\e140"; +@fa-var-comment: "\f075"; +@fa-var-comment-dollar: "\f651"; +@fa-var-comment-dots: "\f4ad"; +@fa-var-commenting: "\f4ad"; +@fa-var-comment-medical: "\f7f5"; +@fa-var-comment-slash: "\f4b3"; +@fa-var-comment-sms: "\f7cd"; +@fa-var-sms: "\f7cd"; +@fa-var-comments: "\f086"; +@fa-var-comments-dollar: "\f653"; +@fa-var-compact-disc: "\f51f"; +@fa-var-compass: "\f14e"; +@fa-var-compass-drafting: "\f568"; +@fa-var-drafting-compass: "\f568"; +@fa-var-compress: "\f066"; +@fa-var-computer: "\e4e5"; +@fa-var-computer-mouse: "\f8cc"; +@fa-var-mouse: "\f8cc"; +@fa-var-cookie: "\f563"; +@fa-var-cookie-bite: "\f564"; +@fa-var-copy: "\f0c5"; +@fa-var-copyright: "\f1f9"; +@fa-var-couch: "\f4b8"; +@fa-var-cow: "\f6c8"; +@fa-var-credit-card: "\f09d"; +@fa-var-credit-card-alt: "\f09d"; +@fa-var-crop: "\f125"; +@fa-var-crop-simple: "\f565"; +@fa-var-crop-alt: "\f565"; +@fa-var-cross: "\f654"; +@fa-var-crosshairs: "\f05b"; +@fa-var-crow: "\f520"; +@fa-var-crown: "\f521"; +@fa-var-crutch: "\f7f7"; +@fa-var-cruzeiro-sign: "\e152"; +@fa-var-cube: "\f1b2"; +@fa-var-cubes: "\f1b3"; +@fa-var-cubes-stacked: "\e4e6"; +@fa-var-d: "\44"; +@fa-var-database: "\f1c0"; +@fa-var-delete-left: "\f55a"; +@fa-var-backspace: "\f55a"; +@fa-var-democrat: "\f747"; +@fa-var-desktop: "\f390"; +@fa-var-desktop-alt: "\f390"; +@fa-var-dharmachakra: "\f655"; +@fa-var-diagram-next: "\e476"; +@fa-var-diagram-predecessor: "\e477"; +@fa-var-diagram-project: "\f542"; +@fa-var-project-diagram: "\f542"; +@fa-var-diagram-successor: "\e47a"; +@fa-var-diamond: "\f219"; +@fa-var-diamond-turn-right: "\f5eb"; +@fa-var-directions: "\f5eb"; +@fa-var-dice: "\f522"; +@fa-var-dice-d20: "\f6cf"; +@fa-var-dice-d6: "\f6d1"; +@fa-var-dice-five: "\f523"; +@fa-var-dice-four: "\f524"; +@fa-var-dice-one: "\f525"; +@fa-var-dice-six: "\f526"; +@fa-var-dice-three: "\f527"; +@fa-var-dice-two: "\f528"; +@fa-var-disease: "\f7fa"; +@fa-var-display: "\e163"; +@fa-var-divide: "\f529"; +@fa-var-dna: "\f471"; +@fa-var-dog: "\f6d3"; +@fa-var-dollar-sign: "\24"; +@fa-var-dollar: "\24"; +@fa-var-usd: "\24"; +@fa-var-dolly: "\f472"; +@fa-var-dolly-box: "\f472"; +@fa-var-dong-sign: "\e169"; +@fa-var-door-closed: "\f52a"; +@fa-var-door-open: "\f52b"; +@fa-var-dove: "\f4ba"; +@fa-var-down-left-and-up-right-to-center: "\f422"; +@fa-var-compress-alt: "\f422"; +@fa-var-down-long: "\f309"; +@fa-var-long-arrow-alt-down: "\f309"; +@fa-var-download: "\f019"; +@fa-var-dragon: "\f6d5"; +@fa-var-draw-polygon: "\f5ee"; +@fa-var-droplet: "\f043"; +@fa-var-tint: "\f043"; +@fa-var-droplet-slash: "\f5c7"; +@fa-var-tint-slash: "\f5c7"; +@fa-var-drum: "\f569"; +@fa-var-drum-steelpan: "\f56a"; +@fa-var-drumstick-bite: "\f6d7"; +@fa-var-dumbbell: "\f44b"; +@fa-var-dumpster: "\f793"; +@fa-var-dumpster-fire: "\f794"; +@fa-var-dungeon: "\f6d9"; +@fa-var-e: "\45"; +@fa-var-ear-deaf: "\f2a4"; +@fa-var-deaf: "\f2a4"; +@fa-var-deafness: "\f2a4"; +@fa-var-hard-of-hearing: "\f2a4"; +@fa-var-ear-listen: "\f2a2"; +@fa-var-assistive-listening-systems: "\f2a2"; +@fa-var-earth-africa: "\f57c"; +@fa-var-globe-africa: "\f57c"; +@fa-var-earth-americas: "\f57d"; +@fa-var-earth: "\f57d"; +@fa-var-earth-america: "\f57d"; +@fa-var-globe-americas: "\f57d"; +@fa-var-earth-asia: "\f57e"; +@fa-var-globe-asia: "\f57e"; +@fa-var-earth-europe: "\f7a2"; +@fa-var-globe-europe: "\f7a2"; +@fa-var-earth-oceania: "\e47b"; +@fa-var-globe-oceania: "\e47b"; +@fa-var-egg: "\f7fb"; +@fa-var-eject: "\f052"; +@fa-var-elevator: "\e16d"; +@fa-var-ellipsis: "\f141"; +@fa-var-ellipsis-h: "\f141"; +@fa-var-ellipsis-vertical: "\f142"; +@fa-var-ellipsis-v: "\f142"; +@fa-var-envelope: "\f0e0"; +@fa-var-envelope-circle-check: "\e4e8"; +@fa-var-envelope-open: "\f2b6"; +@fa-var-envelope-open-text: "\f658"; +@fa-var-envelopes-bulk: "\f674"; +@fa-var-mail-bulk: "\f674"; +@fa-var-equals: "\3d"; +@fa-var-eraser: "\f12d"; +@fa-var-ethernet: "\f796"; +@fa-var-euro-sign: "\f153"; +@fa-var-eur: "\f153"; +@fa-var-euro: "\f153"; +@fa-var-exclamation: "\21"; +@fa-var-expand: "\f065"; +@fa-var-explosion: "\e4e9"; +@fa-var-eye: "\f06e"; +@fa-var-eye-dropper: "\f1fb"; +@fa-var-eye-dropper-empty: "\f1fb"; +@fa-var-eyedropper: "\f1fb"; +@fa-var-eye-low-vision: "\f2a8"; +@fa-var-low-vision: "\f2a8"; +@fa-var-eye-slash: "\f070"; +@fa-var-f: "\46"; +@fa-var-face-angry: "\f556"; +@fa-var-angry: "\f556"; +@fa-var-face-dizzy: "\f567"; +@fa-var-dizzy: "\f567"; +@fa-var-face-flushed: "\f579"; +@fa-var-flushed: "\f579"; +@fa-var-face-frown: "\f119"; +@fa-var-frown: "\f119"; +@fa-var-face-frown-open: "\f57a"; +@fa-var-frown-open: "\f57a"; +@fa-var-face-grimace: "\f57f"; +@fa-var-grimace: "\f57f"; +@fa-var-face-grin: "\f580"; +@fa-var-grin: "\f580"; +@fa-var-face-grin-beam: "\f582"; +@fa-var-grin-beam: "\f582"; +@fa-var-face-grin-beam-sweat: "\f583"; +@fa-var-grin-beam-sweat: "\f583"; +@fa-var-face-grin-hearts: "\f584"; +@fa-var-grin-hearts: "\f584"; +@fa-var-face-grin-squint: "\f585"; +@fa-var-grin-squint: "\f585"; +@fa-var-face-grin-squint-tears: "\f586"; +@fa-var-grin-squint-tears: "\f586"; +@fa-var-face-grin-stars: "\f587"; +@fa-var-grin-stars: "\f587"; +@fa-var-face-grin-tears: "\f588"; +@fa-var-grin-tears: "\f588"; +@fa-var-face-grin-tongue: "\f589"; +@fa-var-grin-tongue: "\f589"; +@fa-var-face-grin-tongue-squint: "\f58a"; +@fa-var-grin-tongue-squint: "\f58a"; +@fa-var-face-grin-tongue-wink: "\f58b"; +@fa-var-grin-tongue-wink: "\f58b"; +@fa-var-face-grin-wide: "\f581"; +@fa-var-grin-alt: "\f581"; +@fa-var-face-grin-wink: "\f58c"; +@fa-var-grin-wink: "\f58c"; +@fa-var-face-kiss: "\f596"; +@fa-var-kiss: "\f596"; +@fa-var-face-kiss-beam: "\f597"; +@fa-var-kiss-beam: "\f597"; +@fa-var-face-kiss-wink-heart: "\f598"; +@fa-var-kiss-wink-heart: "\f598"; +@fa-var-face-laugh: "\f599"; +@fa-var-laugh: "\f599"; +@fa-var-face-laugh-beam: "\f59a"; +@fa-var-laugh-beam: "\f59a"; +@fa-var-face-laugh-squint: "\f59b"; +@fa-var-laugh-squint: "\f59b"; +@fa-var-face-laugh-wink: "\f59c"; +@fa-var-laugh-wink: "\f59c"; +@fa-var-face-meh: "\f11a"; +@fa-var-meh: "\f11a"; +@fa-var-face-meh-blank: "\f5a4"; +@fa-var-meh-blank: "\f5a4"; +@fa-var-face-rolling-eyes: "\f5a5"; +@fa-var-meh-rolling-eyes: "\f5a5"; +@fa-var-face-sad-cry: "\f5b3"; +@fa-var-sad-cry: "\f5b3"; +@fa-var-face-sad-tear: "\f5b4"; +@fa-var-sad-tear: "\f5b4"; +@fa-var-face-smile: "\f118"; +@fa-var-smile: "\f118"; +@fa-var-face-smile-beam: "\f5b8"; +@fa-var-smile-beam: "\f5b8"; +@fa-var-face-smile-wink: "\f4da"; +@fa-var-smile-wink: "\f4da"; +@fa-var-face-surprise: "\f5c2"; +@fa-var-surprise: "\f5c2"; +@fa-var-face-tired: "\f5c8"; +@fa-var-tired: "\f5c8"; +@fa-var-fan: "\f863"; +@fa-var-faucet: "\e005"; +@fa-var-faucet-drip: "\e006"; +@fa-var-fax: "\f1ac"; +@fa-var-feather: "\f52d"; +@fa-var-feather-pointed: "\f56b"; +@fa-var-feather-alt: "\f56b"; +@fa-var-ferry: "\e4ea"; +@fa-var-file: "\f15b"; +@fa-var-file-arrow-down: "\f56d"; +@fa-var-file-download: "\f56d"; +@fa-var-file-arrow-up: "\f574"; +@fa-var-file-upload: "\f574"; +@fa-var-file-audio: "\f1c7"; +@fa-var-file-circle-check: "\e5a0"; +@fa-var-file-circle-exclamation: "\e4eb"; +@fa-var-file-circle-minus: "\e4ed"; +@fa-var-file-circle-plus: "\e494"; +@fa-var-file-circle-question: "\e4ef"; +@fa-var-file-circle-xmark: "\e5a1"; +@fa-var-file-code: "\f1c9"; +@fa-var-file-contract: "\f56c"; +@fa-var-file-csv: "\f6dd"; +@fa-var-file-excel: "\f1c3"; +@fa-var-file-export: "\f56e"; +@fa-var-arrow-right-from-file: "\f56e"; +@fa-var-file-image: "\f1c5"; +@fa-var-file-import: "\f56f"; +@fa-var-arrow-right-to-file: "\f56f"; +@fa-var-file-invoice: "\f570"; +@fa-var-file-invoice-dollar: "\f571"; +@fa-var-file-lines: "\f15c"; +@fa-var-file-alt: "\f15c"; +@fa-var-file-text: "\f15c"; +@fa-var-file-medical: "\f477"; +@fa-var-file-pdf: "\f1c1"; +@fa-var-file-pen: "\f31c"; +@fa-var-file-edit: "\f31c"; +@fa-var-file-powerpoint: "\f1c4"; +@fa-var-file-prescription: "\f572"; +@fa-var-file-shield: "\e4f0"; +@fa-var-file-signature: "\f573"; +@fa-var-file-video: "\f1c8"; +@fa-var-file-waveform: "\f478"; +@fa-var-file-medical-alt: "\f478"; +@fa-var-file-word: "\f1c2"; +@fa-var-file-zipper: "\f1c6"; +@fa-var-file-archive: "\f1c6"; +@fa-var-fill: "\f575"; +@fa-var-fill-drip: "\f576"; +@fa-var-film: "\f008"; +@fa-var-filter: "\f0b0"; +@fa-var-filter-circle-dollar: "\f662"; +@fa-var-funnel-dollar: "\f662"; +@fa-var-filter-circle-xmark: "\e17b"; +@fa-var-fingerprint: "\f577"; +@fa-var-fire: "\f06d"; +@fa-var-fire-burner: "\e4f1"; +@fa-var-fire-extinguisher: "\f134"; +@fa-var-fire-flame-curved: "\f7e4"; +@fa-var-fire-alt: "\f7e4"; +@fa-var-fire-flame-simple: "\f46a"; +@fa-var-burn: "\f46a"; +@fa-var-fish: "\f578"; +@fa-var-fish-fins: "\e4f2"; +@fa-var-flag: "\f024"; +@fa-var-flag-checkered: "\f11e"; +@fa-var-flag-usa: "\f74d"; +@fa-var-flask: "\f0c3"; +@fa-var-flask-vial: "\e4f3"; +@fa-var-floppy-disk: "\f0c7"; +@fa-var-save: "\f0c7"; +@fa-var-florin-sign: "\e184"; +@fa-var-folder: "\f07b"; +@fa-var-folder-blank: "\f07b"; +@fa-var-folder-closed: "\e185"; +@fa-var-folder-minus: "\f65d"; +@fa-var-folder-open: "\f07c"; +@fa-var-folder-plus: "\f65e"; +@fa-var-folder-tree: "\f802"; +@fa-var-font: "\f031"; +@fa-var-football: "\f44e"; +@fa-var-football-ball: "\f44e"; +@fa-var-forward: "\f04e"; +@fa-var-forward-fast: "\f050"; +@fa-var-fast-forward: "\f050"; +@fa-var-forward-step: "\f051"; +@fa-var-step-forward: "\f051"; +@fa-var-franc-sign: "\e18f"; +@fa-var-frog: "\f52e"; +@fa-var-futbol: "\f1e3"; +@fa-var-futbol-ball: "\f1e3"; +@fa-var-soccer-ball: "\f1e3"; +@fa-var-g: "\47"; +@fa-var-gamepad: "\f11b"; +@fa-var-gas-pump: "\f52f"; +@fa-var-gauge: "\f624"; +@fa-var-dashboard: "\f624"; +@fa-var-gauge-med: "\f624"; +@fa-var-tachometer-alt-average: "\f624"; +@fa-var-gauge-high: "\f625"; +@fa-var-tachometer-alt: "\f625"; +@fa-var-tachometer-alt-fast: "\f625"; +@fa-var-gauge-simple: "\f629"; +@fa-var-gauge-simple-med: "\f629"; +@fa-var-tachometer-average: "\f629"; +@fa-var-gauge-simple-high: "\f62a"; +@fa-var-tachometer: "\f62a"; +@fa-var-tachometer-fast: "\f62a"; +@fa-var-gavel: "\f0e3"; +@fa-var-legal: "\f0e3"; +@fa-var-gear: "\f013"; +@fa-var-cog: "\f013"; +@fa-var-gears: "\f085"; +@fa-var-cogs: "\f085"; +@fa-var-gem: "\f3a5"; +@fa-var-genderless: "\f22d"; +@fa-var-ghost: "\f6e2"; +@fa-var-gift: "\f06b"; +@fa-var-gifts: "\f79c"; +@fa-var-glass-water: "\e4f4"; +@fa-var-glass-water-droplet: "\e4f5"; +@fa-var-glasses: "\f530"; +@fa-var-globe: "\f0ac"; +@fa-var-golf-ball-tee: "\f450"; +@fa-var-golf-ball: "\f450"; +@fa-var-gopuram: "\f664"; +@fa-var-graduation-cap: "\f19d"; +@fa-var-mortar-board: "\f19d"; +@fa-var-greater-than: "\3e"; +@fa-var-greater-than-equal: "\f532"; +@fa-var-grip: "\f58d"; +@fa-var-grip-horizontal: "\f58d"; +@fa-var-grip-lines: "\f7a4"; +@fa-var-grip-lines-vertical: "\f7a5"; +@fa-var-grip-vertical: "\f58e"; +@fa-var-group-arrows-rotate: "\e4f6"; +@fa-var-guarani-sign: "\e19a"; +@fa-var-guitar: "\f7a6"; +@fa-var-gun: "\e19b"; +@fa-var-h: "\48"; +@fa-var-hammer: "\f6e3"; +@fa-var-hamsa: "\f665"; +@fa-var-hand: "\f256"; +@fa-var-hand-paper: "\f256"; +@fa-var-hand-back-fist: "\f255"; +@fa-var-hand-rock: "\f255"; +@fa-var-hand-dots: "\f461"; +@fa-var-allergies: "\f461"; +@fa-var-hand-fist: "\f6de"; +@fa-var-fist-raised: "\f6de"; +@fa-var-hand-holding: "\f4bd"; +@fa-var-hand-holding-dollar: "\f4c0"; +@fa-var-hand-holding-usd: "\f4c0"; +@fa-var-hand-holding-droplet: "\f4c1"; +@fa-var-hand-holding-water: "\f4c1"; +@fa-var-hand-holding-hand: "\e4f7"; +@fa-var-hand-holding-heart: "\f4be"; +@fa-var-hand-holding-medical: "\e05c"; +@fa-var-hand-lizard: "\f258"; +@fa-var-hand-middle-finger: "\f806"; +@fa-var-hand-peace: "\f25b"; +@fa-var-hand-point-down: "\f0a7"; +@fa-var-hand-point-left: "\f0a5"; +@fa-var-hand-point-right: "\f0a4"; +@fa-var-hand-point-up: "\f0a6"; +@fa-var-hand-pointer: "\f25a"; +@fa-var-hand-scissors: "\f257"; +@fa-var-hand-sparkles: "\e05d"; +@fa-var-hand-spock: "\f259"; +@fa-var-handcuffs: "\e4f8"; +@fa-var-hands: "\f2a7"; +@fa-var-sign-language: "\f2a7"; +@fa-var-signing: "\f2a7"; +@fa-var-hands-asl-interpreting: "\f2a3"; +@fa-var-american-sign-language-interpreting: "\f2a3"; +@fa-var-asl-interpreting: "\f2a3"; +@fa-var-hands-american-sign-language-interpreting: "\f2a3"; +@fa-var-hands-bound: "\e4f9"; +@fa-var-hands-bubbles: "\e05e"; +@fa-var-hands-wash: "\e05e"; +@fa-var-hands-clapping: "\e1a8"; +@fa-var-hands-holding: "\f4c2"; +@fa-var-hands-holding-child: "\e4fa"; +@fa-var-hands-holding-circle: "\e4fb"; +@fa-var-hands-praying: "\f684"; +@fa-var-praying-hands: "\f684"; +@fa-var-handshake: "\f2b5"; +@fa-var-handshake-angle: "\f4c4"; +@fa-var-hands-helping: "\f4c4"; +@fa-var-handshake-simple: "\f4c6"; +@fa-var-handshake-alt: "\f4c6"; +@fa-var-handshake-simple-slash: "\e05f"; +@fa-var-handshake-alt-slash: "\e05f"; +@fa-var-handshake-slash: "\e060"; +@fa-var-hanukiah: "\f6e6"; +@fa-var-hard-drive: "\f0a0"; +@fa-var-hdd: "\f0a0"; +@fa-var-hashtag: "\23"; +@fa-var-hat-cowboy: "\f8c0"; +@fa-var-hat-cowboy-side: "\f8c1"; +@fa-var-hat-wizard: "\f6e8"; +@fa-var-head-side-cough: "\e061"; +@fa-var-head-side-cough-slash: "\e062"; +@fa-var-head-side-mask: "\e063"; +@fa-var-head-side-virus: "\e064"; +@fa-var-heading: "\f1dc"; +@fa-var-header: "\f1dc"; +@fa-var-headphones: "\f025"; +@fa-var-headphones-simple: "\f58f"; +@fa-var-headphones-alt: "\f58f"; +@fa-var-headset: "\f590"; +@fa-var-heart: "\f004"; +@fa-var-heart-circle-bolt: "\e4fc"; +@fa-var-heart-circle-check: "\e4fd"; +@fa-var-heart-circle-exclamation: "\e4fe"; +@fa-var-heart-circle-minus: "\e4ff"; +@fa-var-heart-circle-plus: "\e500"; +@fa-var-heart-circle-xmark: "\e501"; +@fa-var-heart-crack: "\f7a9"; +@fa-var-heart-broken: "\f7a9"; +@fa-var-heart-pulse: "\f21e"; +@fa-var-heartbeat: "\f21e"; +@fa-var-helicopter: "\f533"; +@fa-var-helicopter-symbol: "\e502"; +@fa-var-helmet-safety: "\f807"; +@fa-var-hard-hat: "\f807"; +@fa-var-hat-hard: "\f807"; +@fa-var-helmet-un: "\e503"; +@fa-var-highlighter: "\f591"; +@fa-var-hill-avalanche: "\e507"; +@fa-var-hill-rockslide: "\e508"; +@fa-var-hippo: "\f6ed"; +@fa-var-hockey-puck: "\f453"; +@fa-var-holly-berry: "\f7aa"; +@fa-var-horse: "\f6f0"; +@fa-var-horse-head: "\f7ab"; +@fa-var-hospital: "\f0f8"; +@fa-var-hospital-alt: "\f0f8"; +@fa-var-hospital-wide: "\f0f8"; +@fa-var-hospital-user: "\f80d"; +@fa-var-hot-tub-person: "\f593"; +@fa-var-hot-tub: "\f593"; +@fa-var-hotdog: "\f80f"; +@fa-var-hotel: "\f594"; +@fa-var-hourglass: "\f254"; +@fa-var-hourglass-empty: "\f254"; +@fa-var-hourglass-end: "\f253"; +@fa-var-hourglass-3: "\f253"; +@fa-var-hourglass-half: "\f252"; +@fa-var-hourglass-2: "\f252"; +@fa-var-hourglass-start: "\f251"; +@fa-var-hourglass-1: "\f251"; +@fa-var-house: "\f015"; +@fa-var-home: "\f015"; +@fa-var-home-alt: "\f015"; +@fa-var-home-lg-alt: "\f015"; +@fa-var-house-chimney: "\e3af"; +@fa-var-home-lg: "\e3af"; +@fa-var-house-chimney-crack: "\f6f1"; +@fa-var-house-damage: "\f6f1"; +@fa-var-house-chimney-medical: "\f7f2"; +@fa-var-clinic-medical: "\f7f2"; +@fa-var-house-chimney-user: "\e065"; +@fa-var-house-chimney-window: "\e00d"; +@fa-var-house-circle-check: "\e509"; +@fa-var-house-circle-exclamation: "\e50a"; +@fa-var-house-circle-xmark: "\e50b"; +@fa-var-house-crack: "\e3b1"; +@fa-var-house-fire: "\e50c"; +@fa-var-house-flag: "\e50d"; +@fa-var-house-flood-water: "\e50e"; +@fa-var-house-flood-water-circle-arrow-right: "\e50f"; +@fa-var-house-laptop: "\e066"; +@fa-var-laptop-house: "\e066"; +@fa-var-house-lock: "\e510"; +@fa-var-house-medical: "\e3b2"; +@fa-var-house-medical-circle-check: "\e511"; +@fa-var-house-medical-circle-exclamation: "\e512"; +@fa-var-house-medical-circle-xmark: "\e513"; +@fa-var-house-medical-flag: "\e514"; +@fa-var-house-signal: "\e012"; +@fa-var-house-tsunami: "\e515"; +@fa-var-house-user: "\e1b0"; +@fa-var-home-user: "\e1b0"; +@fa-var-hryvnia-sign: "\f6f2"; +@fa-var-hryvnia: "\f6f2"; +@fa-var-hurricane: "\f751"; +@fa-var-i: "\49"; +@fa-var-i-cursor: "\f246"; +@fa-var-ice-cream: "\f810"; +@fa-var-icicles: "\f7ad"; +@fa-var-icons: "\f86d"; +@fa-var-heart-music-camera-bolt: "\f86d"; +@fa-var-id-badge: "\f2c1"; +@fa-var-id-card: "\f2c2"; +@fa-var-drivers-license: "\f2c2"; +@fa-var-id-card-clip: "\f47f"; +@fa-var-id-card-alt: "\f47f"; +@fa-var-igloo: "\f7ae"; +@fa-var-image: "\f03e"; +@fa-var-image-portrait: "\f3e0"; +@fa-var-portrait: "\f3e0"; +@fa-var-images: "\f302"; +@fa-var-inbox: "\f01c"; +@fa-var-indent: "\f03c"; +@fa-var-indian-rupee-sign: "\e1bc"; +@fa-var-indian-rupee: "\e1bc"; +@fa-var-inr: "\e1bc"; +@fa-var-industry: "\f275"; +@fa-var-infinity: "\f534"; +@fa-var-info: "\f129"; +@fa-var-italic: "\f033"; +@fa-var-j: "\4a"; +@fa-var-jar: "\e516"; +@fa-var-jar-wheat: "\e517"; +@fa-var-jedi: "\f669"; +@fa-var-jet-fighter: "\f0fb"; +@fa-var-fighter-jet: "\f0fb"; +@fa-var-jet-fighter-up: "\e518"; +@fa-var-joint: "\f595"; +@fa-var-jug-detergent: "\e519"; +@fa-var-k: "\4b"; +@fa-var-kaaba: "\f66b"; +@fa-var-key: "\f084"; +@fa-var-keyboard: "\f11c"; +@fa-var-khanda: "\f66d"; +@fa-var-kip-sign: "\e1c4"; +@fa-var-kit-medical: "\f479"; +@fa-var-first-aid: "\f479"; +@fa-var-kitchen-set: "\e51a"; +@fa-var-kiwi-bird: "\f535"; +@fa-var-l: "\4c"; +@fa-var-land-mine-on: "\e51b"; +@fa-var-landmark: "\f66f"; +@fa-var-landmark-dome: "\f752"; +@fa-var-landmark-alt: "\f752"; +@fa-var-landmark-flag: "\e51c"; +@fa-var-language: "\f1ab"; +@fa-var-laptop: "\f109"; +@fa-var-laptop-code: "\f5fc"; +@fa-var-laptop-file: "\e51d"; +@fa-var-laptop-medical: "\f812"; +@fa-var-lari-sign: "\e1c8"; +@fa-var-layer-group: "\f5fd"; +@fa-var-leaf: "\f06c"; +@fa-var-left-long: "\f30a"; +@fa-var-long-arrow-alt-left: "\f30a"; +@fa-var-left-right: "\f337"; +@fa-var-arrows-alt-h: "\f337"; +@fa-var-lemon: "\f094"; +@fa-var-less-than: "\3c"; +@fa-var-less-than-equal: "\f537"; +@fa-var-life-ring: "\f1cd"; +@fa-var-lightbulb: "\f0eb"; +@fa-var-lines-leaning: "\e51e"; +@fa-var-link: "\f0c1"; +@fa-var-chain: "\f0c1"; +@fa-var-link-slash: "\f127"; +@fa-var-chain-broken: "\f127"; +@fa-var-chain-slash: "\f127"; +@fa-var-unlink: "\f127"; +@fa-var-lira-sign: "\f195"; +@fa-var-list: "\f03a"; +@fa-var-list-squares: "\f03a"; +@fa-var-list-check: "\f0ae"; +@fa-var-tasks: "\f0ae"; +@fa-var-list-ol: "\f0cb"; +@fa-var-list-1-2: "\f0cb"; +@fa-var-list-numeric: "\f0cb"; +@fa-var-list-ul: "\f0ca"; +@fa-var-list-dots: "\f0ca"; +@fa-var-litecoin-sign: "\e1d3"; +@fa-var-location-arrow: "\f124"; +@fa-var-location-crosshairs: "\f601"; +@fa-var-location: "\f601"; +@fa-var-location-dot: "\f3c5"; +@fa-var-map-marker-alt: "\f3c5"; +@fa-var-location-pin: "\f041"; +@fa-var-map-marker: "\f041"; +@fa-var-location-pin-lock: "\e51f"; +@fa-var-lock: "\f023"; +@fa-var-lock-open: "\f3c1"; +@fa-var-locust: "\e520"; +@fa-var-lungs: "\f604"; +@fa-var-lungs-virus: "\e067"; +@fa-var-m: "\4d"; +@fa-var-magnet: "\f076"; +@fa-var-magnifying-glass: "\f002"; +@fa-var-search: "\f002"; +@fa-var-magnifying-glass-arrow-right: "\e521"; +@fa-var-magnifying-glass-chart: "\e522"; +@fa-var-magnifying-glass-dollar: "\f688"; +@fa-var-search-dollar: "\f688"; +@fa-var-magnifying-glass-location: "\f689"; +@fa-var-search-location: "\f689"; +@fa-var-magnifying-glass-minus: "\f010"; +@fa-var-search-minus: "\f010"; +@fa-var-magnifying-glass-plus: "\f00e"; +@fa-var-search-plus: "\f00e"; +@fa-var-manat-sign: "\e1d5"; +@fa-var-map: "\f279"; +@fa-var-map-location: "\f59f"; +@fa-var-map-marked: "\f59f"; +@fa-var-map-location-dot: "\f5a0"; +@fa-var-map-marked-alt: "\f5a0"; +@fa-var-map-pin: "\f276"; +@fa-var-marker: "\f5a1"; +@fa-var-mars: "\f222"; +@fa-var-mars-and-venus: "\f224"; +@fa-var-mars-and-venus-burst: "\e523"; +@fa-var-mars-double: "\f227"; +@fa-var-mars-stroke: "\f229"; +@fa-var-mars-stroke-right: "\f22b"; +@fa-var-mars-stroke-h: "\f22b"; +@fa-var-mars-stroke-up: "\f22a"; +@fa-var-mars-stroke-v: "\f22a"; +@fa-var-martini-glass: "\f57b"; +@fa-var-glass-martini-alt: "\f57b"; +@fa-var-martini-glass-citrus: "\f561"; +@fa-var-cocktail: "\f561"; +@fa-var-martini-glass-empty: "\f000"; +@fa-var-glass-martini: "\f000"; +@fa-var-mask: "\f6fa"; +@fa-var-mask-face: "\e1d7"; +@fa-var-mask-ventilator: "\e524"; +@fa-var-masks-theater: "\f630"; +@fa-var-theater-masks: "\f630"; +@fa-var-mattress-pillow: "\e525"; +@fa-var-maximize: "\f31e"; +@fa-var-expand-arrows-alt: "\f31e"; +@fa-var-medal: "\f5a2"; +@fa-var-memory: "\f538"; +@fa-var-menorah: "\f676"; +@fa-var-mercury: "\f223"; +@fa-var-message: "\f27a"; +@fa-var-comment-alt: "\f27a"; +@fa-var-meteor: "\f753"; +@fa-var-microchip: "\f2db"; +@fa-var-microphone: "\f130"; +@fa-var-microphone-lines: "\f3c9"; +@fa-var-microphone-alt: "\f3c9"; +@fa-var-microphone-lines-slash: "\f539"; +@fa-var-microphone-alt-slash: "\f539"; +@fa-var-microphone-slash: "\f131"; +@fa-var-microscope: "\f610"; +@fa-var-mill-sign: "\e1ed"; +@fa-var-minimize: "\f78c"; +@fa-var-compress-arrows-alt: "\f78c"; +@fa-var-minus: "\f068"; +@fa-var-subtract: "\f068"; +@fa-var-mitten: "\f7b5"; +@fa-var-mobile: "\f3ce"; +@fa-var-mobile-android: "\f3ce"; +@fa-var-mobile-phone: "\f3ce"; +@fa-var-mobile-button: "\f10b"; +@fa-var-mobile-retro: "\e527"; +@fa-var-mobile-screen: "\f3cf"; +@fa-var-mobile-android-alt: "\f3cf"; +@fa-var-mobile-screen-button: "\f3cd"; +@fa-var-mobile-alt: "\f3cd"; +@fa-var-money-bill: "\f0d6"; +@fa-var-money-bill-1: "\f3d1"; +@fa-var-money-bill-alt: "\f3d1"; +@fa-var-money-bill-1-wave: "\f53b"; +@fa-var-money-bill-wave-alt: "\f53b"; +@fa-var-money-bill-transfer: "\e528"; +@fa-var-money-bill-trend-up: "\e529"; +@fa-var-money-bill-wave: "\f53a"; +@fa-var-money-bill-wheat: "\e52a"; +@fa-var-money-bills: "\e1f3"; +@fa-var-money-check: "\f53c"; +@fa-var-money-check-dollar: "\f53d"; +@fa-var-money-check-alt: "\f53d"; +@fa-var-monument: "\f5a6"; +@fa-var-moon: "\f186"; +@fa-var-mortar-pestle: "\f5a7"; +@fa-var-mosque: "\f678"; +@fa-var-mosquito: "\e52b"; +@fa-var-mosquito-net: "\e52c"; +@fa-var-motorcycle: "\f21c"; +@fa-var-mound: "\e52d"; +@fa-var-mountain: "\f6fc"; +@fa-var-mountain-city: "\e52e"; +@fa-var-mountain-sun: "\e52f"; +@fa-var-mug-hot: "\f7b6"; +@fa-var-mug-saucer: "\f0f4"; +@fa-var-coffee: "\f0f4"; +@fa-var-music: "\f001"; +@fa-var-n: "\4e"; +@fa-var-naira-sign: "\e1f6"; +@fa-var-network-wired: "\f6ff"; +@fa-var-neuter: "\f22c"; +@fa-var-newspaper: "\f1ea"; +@fa-var-not-equal: "\f53e"; +@fa-var-notdef: "\e1fe"; +@fa-var-note-sticky: "\f249"; +@fa-var-sticky-note: "\f249"; +@fa-var-notes-medical: "\f481"; +@fa-var-o: "\4f"; +@fa-var-object-group: "\f247"; +@fa-var-object-ungroup: "\f248"; +@fa-var-oil-can: "\f613"; +@fa-var-oil-well: "\e532"; +@fa-var-om: "\f679"; +@fa-var-otter: "\f700"; +@fa-var-outdent: "\f03b"; +@fa-var-dedent: "\f03b"; +@fa-var-p: "\50"; +@fa-var-pager: "\f815"; +@fa-var-paint-roller: "\f5aa"; +@fa-var-paintbrush: "\f1fc"; +@fa-var-paint-brush: "\f1fc"; +@fa-var-palette: "\f53f"; +@fa-var-pallet: "\f482"; +@fa-var-panorama: "\e209"; +@fa-var-paper-plane: "\f1d8"; +@fa-var-paperclip: "\f0c6"; +@fa-var-parachute-box: "\f4cd"; +@fa-var-paragraph: "\f1dd"; +@fa-var-passport: "\f5ab"; +@fa-var-paste: "\f0ea"; +@fa-var-file-clipboard: "\f0ea"; +@fa-var-pause: "\f04c"; +@fa-var-paw: "\f1b0"; +@fa-var-peace: "\f67c"; +@fa-var-pen: "\f304"; +@fa-var-pen-clip: "\f305"; +@fa-var-pen-alt: "\f305"; +@fa-var-pen-fancy: "\f5ac"; +@fa-var-pen-nib: "\f5ad"; +@fa-var-pen-ruler: "\f5ae"; +@fa-var-pencil-ruler: "\f5ae"; +@fa-var-pen-to-square: "\f044"; +@fa-var-edit: "\f044"; +@fa-var-pencil: "\f303"; +@fa-var-pencil-alt: "\f303"; +@fa-var-people-arrows: "\e068"; +@fa-var-people-arrows-left-right: "\e068"; +@fa-var-people-carry-box: "\f4ce"; +@fa-var-people-carry: "\f4ce"; +@fa-var-people-group: "\e533"; +@fa-var-people-line: "\e534"; +@fa-var-people-pulling: "\e535"; +@fa-var-people-robbery: "\e536"; +@fa-var-people-roof: "\e537"; +@fa-var-pepper-hot: "\f816"; +@fa-var-percent: "\25"; +@fa-var-percentage: "\25"; +@fa-var-person: "\f183"; +@fa-var-male: "\f183"; +@fa-var-person-arrow-down-to-line: "\e538"; +@fa-var-person-arrow-up-from-line: "\e539"; +@fa-var-person-biking: "\f84a"; +@fa-var-biking: "\f84a"; +@fa-var-person-booth: "\f756"; +@fa-var-person-breastfeeding: "\e53a"; +@fa-var-person-burst: "\e53b"; +@fa-var-person-cane: "\e53c"; +@fa-var-person-chalkboard: "\e53d"; +@fa-var-person-circle-check: "\e53e"; +@fa-var-person-circle-exclamation: "\e53f"; +@fa-var-person-circle-minus: "\e540"; +@fa-var-person-circle-plus: "\e541"; +@fa-var-person-circle-question: "\e542"; +@fa-var-person-circle-xmark: "\e543"; +@fa-var-person-digging: "\f85e"; +@fa-var-digging: "\f85e"; +@fa-var-person-dots-from-line: "\f470"; +@fa-var-diagnoses: "\f470"; +@fa-var-person-dress: "\f182"; +@fa-var-female: "\f182"; +@fa-var-person-dress-burst: "\e544"; +@fa-var-person-drowning: "\e545"; +@fa-var-person-falling: "\e546"; +@fa-var-person-falling-burst: "\e547"; +@fa-var-person-half-dress: "\e548"; +@fa-var-person-harassing: "\e549"; +@fa-var-person-hiking: "\f6ec"; +@fa-var-hiking: "\f6ec"; +@fa-var-person-military-pointing: "\e54a"; +@fa-var-person-military-rifle: "\e54b"; +@fa-var-person-military-to-person: "\e54c"; +@fa-var-person-praying: "\f683"; +@fa-var-pray: "\f683"; +@fa-var-person-pregnant: "\e31e"; +@fa-var-person-rays: "\e54d"; +@fa-var-person-rifle: "\e54e"; +@fa-var-person-running: "\f70c"; +@fa-var-running: "\f70c"; +@fa-var-person-shelter: "\e54f"; +@fa-var-person-skating: "\f7c5"; +@fa-var-skating: "\f7c5"; +@fa-var-person-skiing: "\f7c9"; +@fa-var-skiing: "\f7c9"; +@fa-var-person-skiing-nordic: "\f7ca"; +@fa-var-skiing-nordic: "\f7ca"; +@fa-var-person-snowboarding: "\f7ce"; +@fa-var-snowboarding: "\f7ce"; +@fa-var-person-swimming: "\f5c4"; +@fa-var-swimmer: "\f5c4"; +@fa-var-person-through-window: "\e5a9"; +@fa-var-person-walking: "\f554"; +@fa-var-walking: "\f554"; +@fa-var-person-walking-arrow-loop-left: "\e551"; +@fa-var-person-walking-arrow-right: "\e552"; +@fa-var-person-walking-dashed-line-arrow-right: "\e553"; +@fa-var-person-walking-luggage: "\e554"; +@fa-var-person-walking-with-cane: "\f29d"; +@fa-var-blind: "\f29d"; +@fa-var-peseta-sign: "\e221"; +@fa-var-peso-sign: "\e222"; +@fa-var-phone: "\f095"; +@fa-var-phone-flip: "\f879"; +@fa-var-phone-alt: "\f879"; +@fa-var-phone-slash: "\f3dd"; +@fa-var-phone-volume: "\f2a0"; +@fa-var-volume-control-phone: "\f2a0"; +@fa-var-photo-film: "\f87c"; +@fa-var-photo-video: "\f87c"; +@fa-var-piggy-bank: "\f4d3"; +@fa-var-pills: "\f484"; +@fa-var-pizza-slice: "\f818"; +@fa-var-place-of-worship: "\f67f"; +@fa-var-plane: "\f072"; +@fa-var-plane-arrival: "\f5af"; +@fa-var-plane-circle-check: "\e555"; +@fa-var-plane-circle-exclamation: "\e556"; +@fa-var-plane-circle-xmark: "\e557"; +@fa-var-plane-departure: "\f5b0"; +@fa-var-plane-lock: "\e558"; +@fa-var-plane-slash: "\e069"; +@fa-var-plane-up: "\e22d"; +@fa-var-plant-wilt: "\e5aa"; +@fa-var-plate-wheat: "\e55a"; +@fa-var-play: "\f04b"; +@fa-var-plug: "\f1e6"; +@fa-var-plug-circle-bolt: "\e55b"; +@fa-var-plug-circle-check: "\e55c"; +@fa-var-plug-circle-exclamation: "\e55d"; +@fa-var-plug-circle-minus: "\e55e"; +@fa-var-plug-circle-plus: "\e55f"; +@fa-var-plug-circle-xmark: "\e560"; +@fa-var-plus: "\2b"; +@fa-var-add: "\2b"; +@fa-var-plus-minus: "\e43c"; +@fa-var-podcast: "\f2ce"; +@fa-var-poo: "\f2fe"; +@fa-var-poo-storm: "\f75a"; +@fa-var-poo-bolt: "\f75a"; +@fa-var-poop: "\f619"; +@fa-var-power-off: "\f011"; +@fa-var-prescription: "\f5b1"; +@fa-var-prescription-bottle: "\f485"; +@fa-var-prescription-bottle-medical: "\f486"; +@fa-var-prescription-bottle-alt: "\f486"; +@fa-var-print: "\f02f"; +@fa-var-pump-medical: "\e06a"; +@fa-var-pump-soap: "\e06b"; +@fa-var-puzzle-piece: "\f12e"; +@fa-var-q: "\51"; +@fa-var-qrcode: "\f029"; +@fa-var-question: "\3f"; +@fa-var-quote-left: "\f10d"; +@fa-var-quote-left-alt: "\f10d"; +@fa-var-quote-right: "\f10e"; +@fa-var-quote-right-alt: "\f10e"; +@fa-var-r: "\52"; +@fa-var-radiation: "\f7b9"; +@fa-var-radio: "\f8d7"; +@fa-var-rainbow: "\f75b"; +@fa-var-ranking-star: "\e561"; +@fa-var-receipt: "\f543"; +@fa-var-record-vinyl: "\f8d9"; +@fa-var-rectangle-ad: "\f641"; +@fa-var-ad: "\f641"; +@fa-var-rectangle-list: "\f022"; +@fa-var-list-alt: "\f022"; +@fa-var-rectangle-xmark: "\f410"; +@fa-var-rectangle-times: "\f410"; +@fa-var-times-rectangle: "\f410"; +@fa-var-window-close: "\f410"; +@fa-var-recycle: "\f1b8"; +@fa-var-registered: "\f25d"; +@fa-var-repeat: "\f363"; +@fa-var-reply: "\f3e5"; +@fa-var-mail-reply: "\f3e5"; +@fa-var-reply-all: "\f122"; +@fa-var-mail-reply-all: "\f122"; +@fa-var-republican: "\f75e"; +@fa-var-restroom: "\f7bd"; +@fa-var-retweet: "\f079"; +@fa-var-ribbon: "\f4d6"; +@fa-var-right-from-bracket: "\f2f5"; +@fa-var-sign-out-alt: "\f2f5"; +@fa-var-right-left: "\f362"; +@fa-var-exchange-alt: "\f362"; +@fa-var-right-long: "\f30b"; +@fa-var-long-arrow-alt-right: "\f30b"; +@fa-var-right-to-bracket: "\f2f6"; +@fa-var-sign-in-alt: "\f2f6"; +@fa-var-ring: "\f70b"; +@fa-var-road: "\f018"; +@fa-var-road-barrier: "\e562"; +@fa-var-road-bridge: "\e563"; +@fa-var-road-circle-check: "\e564"; +@fa-var-road-circle-exclamation: "\e565"; +@fa-var-road-circle-xmark: "\e566"; +@fa-var-road-lock: "\e567"; +@fa-var-road-spikes: "\e568"; +@fa-var-robot: "\f544"; +@fa-var-rocket: "\f135"; +@fa-var-rotate: "\f2f1"; +@fa-var-sync-alt: "\f2f1"; +@fa-var-rotate-left: "\f2ea"; +@fa-var-rotate-back: "\f2ea"; +@fa-var-rotate-backward: "\f2ea"; +@fa-var-undo-alt: "\f2ea"; +@fa-var-rotate-right: "\f2f9"; +@fa-var-redo-alt: "\f2f9"; +@fa-var-rotate-forward: "\f2f9"; +@fa-var-route: "\f4d7"; +@fa-var-rss: "\f09e"; +@fa-var-feed: "\f09e"; +@fa-var-ruble-sign: "\f158"; +@fa-var-rouble: "\f158"; +@fa-var-rub: "\f158"; +@fa-var-ruble: "\f158"; +@fa-var-rug: "\e569"; +@fa-var-ruler: "\f545"; +@fa-var-ruler-combined: "\f546"; +@fa-var-ruler-horizontal: "\f547"; +@fa-var-ruler-vertical: "\f548"; +@fa-var-rupee-sign: "\f156"; +@fa-var-rupee: "\f156"; +@fa-var-rupiah-sign: "\e23d"; +@fa-var-s: "\53"; +@fa-var-sack-dollar: "\f81d"; +@fa-var-sack-xmark: "\e56a"; +@fa-var-sailboat: "\e445"; +@fa-var-satellite: "\f7bf"; +@fa-var-satellite-dish: "\f7c0"; +@fa-var-scale-balanced: "\f24e"; +@fa-var-balance-scale: "\f24e"; +@fa-var-scale-unbalanced: "\f515"; +@fa-var-balance-scale-left: "\f515"; +@fa-var-scale-unbalanced-flip: "\f516"; +@fa-var-balance-scale-right: "\f516"; +@fa-var-school: "\f549"; +@fa-var-school-circle-check: "\e56b"; +@fa-var-school-circle-exclamation: "\e56c"; +@fa-var-school-circle-xmark: "\e56d"; +@fa-var-school-flag: "\e56e"; +@fa-var-school-lock: "\e56f"; +@fa-var-scissors: "\f0c4"; +@fa-var-cut: "\f0c4"; +@fa-var-screwdriver: "\f54a"; +@fa-var-screwdriver-wrench: "\f7d9"; +@fa-var-tools: "\f7d9"; +@fa-var-scroll: "\f70e"; +@fa-var-scroll-torah: "\f6a0"; +@fa-var-torah: "\f6a0"; +@fa-var-sd-card: "\f7c2"; +@fa-var-section: "\e447"; +@fa-var-seedling: "\f4d8"; +@fa-var-sprout: "\f4d8"; +@fa-var-server: "\f233"; +@fa-var-shapes: "\f61f"; +@fa-var-triangle-circle-square: "\f61f"; +@fa-var-share: "\f064"; +@fa-var-arrow-turn-right: "\f064"; +@fa-var-mail-forward: "\f064"; +@fa-var-share-from-square: "\f14d"; +@fa-var-share-square: "\f14d"; +@fa-var-share-nodes: "\f1e0"; +@fa-var-share-alt: "\f1e0"; +@fa-var-sheet-plastic: "\e571"; +@fa-var-shekel-sign: "\f20b"; +@fa-var-ils: "\f20b"; +@fa-var-shekel: "\f20b"; +@fa-var-sheqel: "\f20b"; +@fa-var-sheqel-sign: "\f20b"; +@fa-var-shield: "\f132"; +@fa-var-shield-blank: "\f132"; +@fa-var-shield-cat: "\e572"; +@fa-var-shield-dog: "\e573"; +@fa-var-shield-halved: "\f3ed"; +@fa-var-shield-alt: "\f3ed"; +@fa-var-shield-heart: "\e574"; +@fa-var-shield-virus: "\e06c"; +@fa-var-ship: "\f21a"; +@fa-var-shirt: "\f553"; +@fa-var-t-shirt: "\f553"; +@fa-var-tshirt: "\f553"; +@fa-var-shoe-prints: "\f54b"; +@fa-var-shop: "\f54f"; +@fa-var-store-alt: "\f54f"; +@fa-var-shop-lock: "\e4a5"; +@fa-var-shop-slash: "\e070"; +@fa-var-store-alt-slash: "\e070"; +@fa-var-shower: "\f2cc"; +@fa-var-shrimp: "\e448"; +@fa-var-shuffle: "\f074"; +@fa-var-random: "\f074"; +@fa-var-shuttle-space: "\f197"; +@fa-var-space-shuttle: "\f197"; +@fa-var-sign-hanging: "\f4d9"; +@fa-var-sign: "\f4d9"; +@fa-var-signal: "\f012"; +@fa-var-signal-5: "\f012"; +@fa-var-signal-perfect: "\f012"; +@fa-var-signature: "\f5b7"; +@fa-var-signs-post: "\f277"; +@fa-var-map-signs: "\f277"; +@fa-var-sim-card: "\f7c4"; +@fa-var-sink: "\e06d"; +@fa-var-sitemap: "\f0e8"; +@fa-var-skull: "\f54c"; +@fa-var-skull-crossbones: "\f714"; +@fa-var-slash: "\f715"; +@fa-var-sleigh: "\f7cc"; +@fa-var-sliders: "\f1de"; +@fa-var-sliders-h: "\f1de"; +@fa-var-smog: "\f75f"; +@fa-var-smoking: "\f48d"; +@fa-var-snowflake: "\f2dc"; +@fa-var-snowman: "\f7d0"; +@fa-var-snowplow: "\f7d2"; +@fa-var-soap: "\e06e"; +@fa-var-socks: "\f696"; +@fa-var-solar-panel: "\f5ba"; +@fa-var-sort: "\f0dc"; +@fa-var-unsorted: "\f0dc"; +@fa-var-sort-down: "\f0dd"; +@fa-var-sort-desc: "\f0dd"; +@fa-var-sort-up: "\f0de"; +@fa-var-sort-asc: "\f0de"; +@fa-var-spa: "\f5bb"; +@fa-var-spaghetti-monster-flying: "\f67b"; +@fa-var-pastafarianism: "\f67b"; +@fa-var-spell-check: "\f891"; +@fa-var-spider: "\f717"; +@fa-var-spinner: "\f110"; +@fa-var-splotch: "\f5bc"; +@fa-var-spoon: "\f2e5"; +@fa-var-utensil-spoon: "\f2e5"; +@fa-var-spray-can: "\f5bd"; +@fa-var-spray-can-sparkles: "\f5d0"; +@fa-var-air-freshener: "\f5d0"; +@fa-var-square: "\f0c8"; +@fa-var-square-arrow-up-right: "\f14c"; +@fa-var-external-link-square: "\f14c"; +@fa-var-square-caret-down: "\f150"; +@fa-var-caret-square-down: "\f150"; +@fa-var-square-caret-left: "\f191"; +@fa-var-caret-square-left: "\f191"; +@fa-var-square-caret-right: "\f152"; +@fa-var-caret-square-right: "\f152"; +@fa-var-square-caret-up: "\f151"; +@fa-var-caret-square-up: "\f151"; +@fa-var-square-check: "\f14a"; +@fa-var-check-square: "\f14a"; +@fa-var-square-envelope: "\f199"; +@fa-var-envelope-square: "\f199"; +@fa-var-square-full: "\f45c"; +@fa-var-square-h: "\f0fd"; +@fa-var-h-square: "\f0fd"; +@fa-var-square-minus: "\f146"; +@fa-var-minus-square: "\f146"; +@fa-var-square-nfi: "\e576"; +@fa-var-square-parking: "\f540"; +@fa-var-parking: "\f540"; +@fa-var-square-pen: "\f14b"; +@fa-var-pen-square: "\f14b"; +@fa-var-pencil-square: "\f14b"; +@fa-var-square-person-confined: "\e577"; +@fa-var-square-phone: "\f098"; +@fa-var-phone-square: "\f098"; +@fa-var-square-phone-flip: "\f87b"; +@fa-var-phone-square-alt: "\f87b"; +@fa-var-square-plus: "\f0fe"; +@fa-var-plus-square: "\f0fe"; +@fa-var-square-poll-horizontal: "\f682"; +@fa-var-poll-h: "\f682"; +@fa-var-square-poll-vertical: "\f681"; +@fa-var-poll: "\f681"; +@fa-var-square-root-variable: "\f698"; +@fa-var-square-root-alt: "\f698"; +@fa-var-square-rss: "\f143"; +@fa-var-rss-square: "\f143"; +@fa-var-square-share-nodes: "\f1e1"; +@fa-var-share-alt-square: "\f1e1"; +@fa-var-square-up-right: "\f360"; +@fa-var-external-link-square-alt: "\f360"; +@fa-var-square-virus: "\e578"; +@fa-var-square-xmark: "\f2d3"; +@fa-var-times-square: "\f2d3"; +@fa-var-xmark-square: "\f2d3"; +@fa-var-staff-snake: "\e579"; +@fa-var-rod-asclepius: "\e579"; +@fa-var-rod-snake: "\e579"; +@fa-var-staff-aesculapius: "\e579"; +@fa-var-stairs: "\e289"; +@fa-var-stamp: "\f5bf"; +@fa-var-stapler: "\e5af"; +@fa-var-star: "\f005"; +@fa-var-star-and-crescent: "\f699"; +@fa-var-star-half: "\f089"; +@fa-var-star-half-stroke: "\f5c0"; +@fa-var-star-half-alt: "\f5c0"; +@fa-var-star-of-david: "\f69a"; +@fa-var-star-of-life: "\f621"; +@fa-var-sterling-sign: "\f154"; +@fa-var-gbp: "\f154"; +@fa-var-pound-sign: "\f154"; +@fa-var-stethoscope: "\f0f1"; +@fa-var-stop: "\f04d"; +@fa-var-stopwatch: "\f2f2"; +@fa-var-stopwatch-20: "\e06f"; +@fa-var-store: "\f54e"; +@fa-var-store-slash: "\e071"; +@fa-var-street-view: "\f21d"; +@fa-var-strikethrough: "\f0cc"; +@fa-var-stroopwafel: "\f551"; +@fa-var-subscript: "\f12c"; +@fa-var-suitcase: "\f0f2"; +@fa-var-suitcase-medical: "\f0fa"; +@fa-var-medkit: "\f0fa"; +@fa-var-suitcase-rolling: "\f5c1"; +@fa-var-sun: "\f185"; +@fa-var-sun-plant-wilt: "\e57a"; +@fa-var-superscript: "\f12b"; +@fa-var-swatchbook: "\f5c3"; +@fa-var-synagogue: "\f69b"; +@fa-var-syringe: "\f48e"; +@fa-var-t: "\54"; +@fa-var-table: "\f0ce"; +@fa-var-table-cells: "\f00a"; +@fa-var-th: "\f00a"; +@fa-var-table-cells-large: "\f009"; +@fa-var-th-large: "\f009"; +@fa-var-table-columns: "\f0db"; +@fa-var-columns: "\f0db"; +@fa-var-table-list: "\f00b"; +@fa-var-th-list: "\f00b"; +@fa-var-table-tennis-paddle-ball: "\f45d"; +@fa-var-ping-pong-paddle-ball: "\f45d"; +@fa-var-table-tennis: "\f45d"; +@fa-var-tablet: "\f3fb"; +@fa-var-tablet-android: "\f3fb"; +@fa-var-tablet-button: "\f10a"; +@fa-var-tablet-screen-button: "\f3fa"; +@fa-var-tablet-alt: "\f3fa"; +@fa-var-tablets: "\f490"; +@fa-var-tachograph-digital: "\f566"; +@fa-var-digital-tachograph: "\f566"; +@fa-var-tag: "\f02b"; +@fa-var-tags: "\f02c"; +@fa-var-tape: "\f4db"; +@fa-var-tarp: "\e57b"; +@fa-var-tarp-droplet: "\e57c"; +@fa-var-taxi: "\f1ba"; +@fa-var-cab: "\f1ba"; +@fa-var-teeth: "\f62e"; +@fa-var-teeth-open: "\f62f"; +@fa-var-temperature-arrow-down: "\e03f"; +@fa-var-temperature-down: "\e03f"; +@fa-var-temperature-arrow-up: "\e040"; +@fa-var-temperature-up: "\e040"; +@fa-var-temperature-empty: "\f2cb"; +@fa-var-temperature-0: "\f2cb"; +@fa-var-thermometer-0: "\f2cb"; +@fa-var-thermometer-empty: "\f2cb"; +@fa-var-temperature-full: "\f2c7"; +@fa-var-temperature-4: "\f2c7"; +@fa-var-thermometer-4: "\f2c7"; +@fa-var-thermometer-full: "\f2c7"; +@fa-var-temperature-half: "\f2c9"; +@fa-var-temperature-2: "\f2c9"; +@fa-var-thermometer-2: "\f2c9"; +@fa-var-thermometer-half: "\f2c9"; +@fa-var-temperature-high: "\f769"; +@fa-var-temperature-low: "\f76b"; +@fa-var-temperature-quarter: "\f2ca"; +@fa-var-temperature-1: "\f2ca"; +@fa-var-thermometer-1: "\f2ca"; +@fa-var-thermometer-quarter: "\f2ca"; +@fa-var-temperature-three-quarters: "\f2c8"; +@fa-var-temperature-3: "\f2c8"; +@fa-var-thermometer-3: "\f2c8"; +@fa-var-thermometer-three-quarters: "\f2c8"; +@fa-var-tenge-sign: "\f7d7"; +@fa-var-tenge: "\f7d7"; +@fa-var-tent: "\e57d"; +@fa-var-tent-arrow-down-to-line: "\e57e"; +@fa-var-tent-arrow-left-right: "\e57f"; +@fa-var-tent-arrow-turn-left: "\e580"; +@fa-var-tent-arrows-down: "\e581"; +@fa-var-tents: "\e582"; +@fa-var-terminal: "\f120"; +@fa-var-text-height: "\f034"; +@fa-var-text-slash: "\f87d"; +@fa-var-remove-format: "\f87d"; +@fa-var-text-width: "\f035"; +@fa-var-thermometer: "\f491"; +@fa-var-thumbs-down: "\f165"; +@fa-var-thumbs-up: "\f164"; +@fa-var-thumbtack: "\f08d"; +@fa-var-thumb-tack: "\f08d"; +@fa-var-ticket: "\f145"; +@fa-var-ticket-simple: "\f3ff"; +@fa-var-ticket-alt: "\f3ff"; +@fa-var-timeline: "\e29c"; +@fa-var-toggle-off: "\f204"; +@fa-var-toggle-on: "\f205"; +@fa-var-toilet: "\f7d8"; +@fa-var-toilet-paper: "\f71e"; +@fa-var-toilet-paper-slash: "\e072"; +@fa-var-toilet-portable: "\e583"; +@fa-var-toilets-portable: "\e584"; +@fa-var-toolbox: "\f552"; +@fa-var-tooth: "\f5c9"; +@fa-var-torii-gate: "\f6a1"; +@fa-var-tornado: "\f76f"; +@fa-var-tower-broadcast: "\f519"; +@fa-var-broadcast-tower: "\f519"; +@fa-var-tower-cell: "\e585"; +@fa-var-tower-observation: "\e586"; +@fa-var-tractor: "\f722"; +@fa-var-trademark: "\f25c"; +@fa-var-traffic-light: "\f637"; +@fa-var-trailer: "\e041"; +@fa-var-train: "\f238"; +@fa-var-train-subway: "\f239"; +@fa-var-subway: "\f239"; +@fa-var-train-tram: "\e5b4"; +@fa-var-transgender: "\f225"; +@fa-var-transgender-alt: "\f225"; +@fa-var-trash: "\f1f8"; +@fa-var-trash-arrow-up: "\f829"; +@fa-var-trash-restore: "\f829"; +@fa-var-trash-can: "\f2ed"; +@fa-var-trash-alt: "\f2ed"; +@fa-var-trash-can-arrow-up: "\f82a"; +@fa-var-trash-restore-alt: "\f82a"; +@fa-var-tree: "\f1bb"; +@fa-var-tree-city: "\e587"; +@fa-var-triangle-exclamation: "\f071"; +@fa-var-exclamation-triangle: "\f071"; +@fa-var-warning: "\f071"; +@fa-var-trophy: "\f091"; +@fa-var-trowel: "\e589"; +@fa-var-trowel-bricks: "\e58a"; +@fa-var-truck: "\f0d1"; +@fa-var-truck-arrow-right: "\e58b"; +@fa-var-truck-droplet: "\e58c"; +@fa-var-truck-fast: "\f48b"; +@fa-var-shipping-fast: "\f48b"; +@fa-var-truck-field: "\e58d"; +@fa-var-truck-field-un: "\e58e"; +@fa-var-truck-front: "\e2b7"; +@fa-var-truck-medical: "\f0f9"; +@fa-var-ambulance: "\f0f9"; +@fa-var-truck-monster: "\f63b"; +@fa-var-truck-moving: "\f4df"; +@fa-var-truck-pickup: "\f63c"; +@fa-var-truck-plane: "\e58f"; +@fa-var-truck-ramp-box: "\f4de"; +@fa-var-truck-loading: "\f4de"; +@fa-var-tty: "\f1e4"; +@fa-var-teletype: "\f1e4"; +@fa-var-turkish-lira-sign: "\e2bb"; +@fa-var-try: "\e2bb"; +@fa-var-turkish-lira: "\e2bb"; +@fa-var-turn-down: "\f3be"; +@fa-var-level-down-alt: "\f3be"; +@fa-var-turn-up: "\f3bf"; +@fa-var-level-up-alt: "\f3bf"; +@fa-var-tv: "\f26c"; +@fa-var-television: "\f26c"; +@fa-var-tv-alt: "\f26c"; +@fa-var-u: "\55"; +@fa-var-umbrella: "\f0e9"; +@fa-var-umbrella-beach: "\f5ca"; +@fa-var-underline: "\f0cd"; +@fa-var-universal-access: "\f29a"; +@fa-var-unlock: "\f09c"; +@fa-var-unlock-keyhole: "\f13e"; +@fa-var-unlock-alt: "\f13e"; +@fa-var-up-down: "\f338"; +@fa-var-arrows-alt-v: "\f338"; +@fa-var-up-down-left-right: "\f0b2"; +@fa-var-arrows-alt: "\f0b2"; +@fa-var-up-long: "\f30c"; +@fa-var-long-arrow-alt-up: "\f30c"; +@fa-var-up-right-and-down-left-from-center: "\f424"; +@fa-var-expand-alt: "\f424"; +@fa-var-up-right-from-square: "\f35d"; +@fa-var-external-link-alt: "\f35d"; +@fa-var-upload: "\f093"; +@fa-var-user: "\f007"; +@fa-var-user-astronaut: "\f4fb"; +@fa-var-user-check: "\f4fc"; +@fa-var-user-clock: "\f4fd"; +@fa-var-user-doctor: "\f0f0"; +@fa-var-user-md: "\f0f0"; +@fa-var-user-gear: "\f4fe"; +@fa-var-user-cog: "\f4fe"; +@fa-var-user-graduate: "\f501"; +@fa-var-user-group: "\f500"; +@fa-var-user-friends: "\f500"; +@fa-var-user-injured: "\f728"; +@fa-var-user-large: "\f406"; +@fa-var-user-alt: "\f406"; +@fa-var-user-large-slash: "\f4fa"; +@fa-var-user-alt-slash: "\f4fa"; +@fa-var-user-lock: "\f502"; +@fa-var-user-minus: "\f503"; +@fa-var-user-ninja: "\f504"; +@fa-var-user-nurse: "\f82f"; +@fa-var-user-pen: "\f4ff"; +@fa-var-user-edit: "\f4ff"; +@fa-var-user-plus: "\f234"; +@fa-var-user-secret: "\f21b"; +@fa-var-user-shield: "\f505"; +@fa-var-user-slash: "\f506"; +@fa-var-user-tag: "\f507"; +@fa-var-user-tie: "\f508"; +@fa-var-user-xmark: "\f235"; +@fa-var-user-times: "\f235"; +@fa-var-users: "\f0c0"; +@fa-var-users-between-lines: "\e591"; +@fa-var-users-gear: "\f509"; +@fa-var-users-cog: "\f509"; +@fa-var-users-line: "\e592"; +@fa-var-users-rays: "\e593"; +@fa-var-users-rectangle: "\e594"; +@fa-var-users-slash: "\e073"; +@fa-var-users-viewfinder: "\e595"; +@fa-var-utensils: "\f2e7"; +@fa-var-cutlery: "\f2e7"; +@fa-var-v: "\56"; +@fa-var-van-shuttle: "\f5b6"; +@fa-var-shuttle-van: "\f5b6"; +@fa-var-vault: "\e2c5"; +@fa-var-vector-square: "\f5cb"; +@fa-var-venus: "\f221"; +@fa-var-venus-double: "\f226"; +@fa-var-venus-mars: "\f228"; +@fa-var-vest: "\e085"; +@fa-var-vest-patches: "\e086"; +@fa-var-vial: "\f492"; +@fa-var-vial-circle-check: "\e596"; +@fa-var-vial-virus: "\e597"; +@fa-var-vials: "\f493"; +@fa-var-video: "\f03d"; +@fa-var-video-camera: "\f03d"; +@fa-var-video-slash: "\f4e2"; +@fa-var-vihara: "\f6a7"; +@fa-var-virus: "\e074"; +@fa-var-virus-covid: "\e4a8"; +@fa-var-virus-covid-slash: "\e4a9"; +@fa-var-virus-slash: "\e075"; +@fa-var-viruses: "\e076"; +@fa-var-voicemail: "\f897"; +@fa-var-volcano: "\f770"; +@fa-var-volleyball: "\f45f"; +@fa-var-volleyball-ball: "\f45f"; +@fa-var-volume-high: "\f028"; +@fa-var-volume-up: "\f028"; +@fa-var-volume-low: "\f027"; +@fa-var-volume-down: "\f027"; +@fa-var-volume-off: "\f026"; +@fa-var-volume-xmark: "\f6a9"; +@fa-var-volume-mute: "\f6a9"; +@fa-var-volume-times: "\f6a9"; +@fa-var-vr-cardboard: "\f729"; +@fa-var-w: "\57"; +@fa-var-walkie-talkie: "\f8ef"; +@fa-var-wallet: "\f555"; +@fa-var-wand-magic: "\f0d0"; +@fa-var-magic: "\f0d0"; +@fa-var-wand-magic-sparkles: "\e2ca"; +@fa-var-magic-wand-sparkles: "\e2ca"; +@fa-var-wand-sparkles: "\f72b"; +@fa-var-warehouse: "\f494"; +@fa-var-water: "\f773"; +@fa-var-water-ladder: "\f5c5"; +@fa-var-ladder-water: "\f5c5"; +@fa-var-swimming-pool: "\f5c5"; +@fa-var-wave-square: "\f83e"; +@fa-var-weight-hanging: "\f5cd"; +@fa-var-weight-scale: "\f496"; +@fa-var-weight: "\f496"; +@fa-var-wheat-awn: "\e2cd"; +@fa-var-wheat-alt: "\e2cd"; +@fa-var-wheat-awn-circle-exclamation: "\e598"; +@fa-var-wheelchair: "\f193"; +@fa-var-wheelchair-move: "\e2ce"; +@fa-var-wheelchair-alt: "\e2ce"; +@fa-var-whiskey-glass: "\f7a0"; +@fa-var-glass-whiskey: "\f7a0"; +@fa-var-wifi: "\f1eb"; +@fa-var-wifi-3: "\f1eb"; +@fa-var-wifi-strong: "\f1eb"; +@fa-var-wind: "\f72e"; +@fa-var-window-maximize: "\f2d0"; +@fa-var-window-minimize: "\f2d1"; +@fa-var-window-restore: "\f2d2"; +@fa-var-wine-bottle: "\f72f"; +@fa-var-wine-glass: "\f4e3"; +@fa-var-wine-glass-empty: "\f5ce"; +@fa-var-wine-glass-alt: "\f5ce"; +@fa-var-won-sign: "\f159"; +@fa-var-krw: "\f159"; +@fa-var-won: "\f159"; +@fa-var-worm: "\e599"; +@fa-var-wrench: "\f0ad"; +@fa-var-x: "\58"; +@fa-var-x-ray: "\f497"; +@fa-var-xmark: "\f00d"; +@fa-var-close: "\f00d"; +@fa-var-multiply: "\f00d"; +@fa-var-remove: "\f00d"; +@fa-var-times: "\f00d"; +@fa-var-xmarks-lines: "\e59a"; +@fa-var-y: "\59"; +@fa-var-yen-sign: "\f157"; +@fa-var-cny: "\f157"; +@fa-var-jpy: "\f157"; +@fa-var-rmb: "\f157"; +@fa-var-yen: "\f157"; +@fa-var-yin-yang: "\f6ad"; +@fa-var-z: "\5a"; + +@fa-var-42-group: "\e080"; +@fa-var-innosoft: "\e080"; +@fa-var-500px: "\f26e"; +@fa-var-accessible-icon: "\f368"; +@fa-var-accusoft: "\f369"; +@fa-var-adn: "\f170"; +@fa-var-adversal: "\f36a"; +@fa-var-affiliatetheme: "\f36b"; +@fa-var-airbnb: "\f834"; +@fa-var-algolia: "\f36c"; +@fa-var-alipay: "\f642"; +@fa-var-amazon: "\f270"; +@fa-var-amazon-pay: "\f42c"; +@fa-var-amilia: "\f36d"; +@fa-var-android: "\f17b"; +@fa-var-angellist: "\f209"; +@fa-var-angrycreative: "\f36e"; +@fa-var-angular: "\f420"; +@fa-var-app-store: "\f36f"; +@fa-var-app-store-ios: "\f370"; +@fa-var-apper: "\f371"; +@fa-var-apple: "\f179"; +@fa-var-apple-pay: "\f415"; +@fa-var-artstation: "\f77a"; +@fa-var-asymmetrik: "\f372"; +@fa-var-atlassian: "\f77b"; +@fa-var-audible: "\f373"; +@fa-var-autoprefixer: "\f41c"; +@fa-var-avianex: "\f374"; +@fa-var-aviato: "\f421"; +@fa-var-aws: "\f375"; +@fa-var-bandcamp: "\f2d5"; +@fa-var-battle-net: "\f835"; +@fa-var-behance: "\f1b4"; +@fa-var-bilibili: "\e3d9"; +@fa-var-bimobject: "\f378"; +@fa-var-bitbucket: "\f171"; +@fa-var-bitcoin: "\f379"; +@fa-var-bity: "\f37a"; +@fa-var-black-tie: "\f27e"; +@fa-var-blackberry: "\f37b"; +@fa-var-blogger: "\f37c"; +@fa-var-blogger-b: "\f37d"; +@fa-var-bluetooth: "\f293"; +@fa-var-bluetooth-b: "\f294"; +@fa-var-bootstrap: "\f836"; +@fa-var-bots: "\e340"; +@fa-var-btc: "\f15a"; +@fa-var-buffer: "\f837"; +@fa-var-buromobelexperte: "\f37f"; +@fa-var-buy-n-large: "\f8a6"; +@fa-var-buysellads: "\f20d"; +@fa-var-canadian-maple-leaf: "\f785"; +@fa-var-cc-amazon-pay: "\f42d"; +@fa-var-cc-amex: "\f1f3"; +@fa-var-cc-apple-pay: "\f416"; +@fa-var-cc-diners-club: "\f24c"; +@fa-var-cc-discover: "\f1f2"; +@fa-var-cc-jcb: "\f24b"; +@fa-var-cc-mastercard: "\f1f1"; +@fa-var-cc-paypal: "\f1f4"; +@fa-var-cc-stripe: "\f1f5"; +@fa-var-cc-visa: "\f1f0"; +@fa-var-centercode: "\f380"; +@fa-var-centos: "\f789"; +@fa-var-chrome: "\f268"; +@fa-var-chromecast: "\f838"; +@fa-var-cloudflare: "\e07d"; +@fa-var-cloudscale: "\f383"; +@fa-var-cloudsmith: "\f384"; +@fa-var-cloudversify: "\f385"; +@fa-var-cmplid: "\e360"; +@fa-var-codepen: "\f1cb"; +@fa-var-codiepie: "\f284"; +@fa-var-confluence: "\f78d"; +@fa-var-connectdevelop: "\f20e"; +@fa-var-contao: "\f26d"; +@fa-var-cotton-bureau: "\f89e"; +@fa-var-cpanel: "\f388"; +@fa-var-creative-commons: "\f25e"; +@fa-var-creative-commons-by: "\f4e7"; +@fa-var-creative-commons-nc: "\f4e8"; +@fa-var-creative-commons-nc-eu: "\f4e9"; +@fa-var-creative-commons-nc-jp: "\f4ea"; +@fa-var-creative-commons-nd: "\f4eb"; +@fa-var-creative-commons-pd: "\f4ec"; +@fa-var-creative-commons-pd-alt: "\f4ed"; +@fa-var-creative-commons-remix: "\f4ee"; +@fa-var-creative-commons-sa: "\f4ef"; +@fa-var-creative-commons-sampling: "\f4f0"; +@fa-var-creative-commons-sampling-plus: "\f4f1"; +@fa-var-creative-commons-share: "\f4f2"; +@fa-var-creative-commons-zero: "\f4f3"; +@fa-var-critical-role: "\f6c9"; +@fa-var-css3: "\f13c"; +@fa-var-css3-alt: "\f38b"; +@fa-var-cuttlefish: "\f38c"; +@fa-var-d-and-d: "\f38d"; +@fa-var-d-and-d-beyond: "\f6ca"; +@fa-var-dailymotion: "\e052"; +@fa-var-dashcube: "\f210"; +@fa-var-deezer: "\e077"; +@fa-var-delicious: "\f1a5"; +@fa-var-deploydog: "\f38e"; +@fa-var-deskpro: "\f38f"; +@fa-var-dev: "\f6cc"; +@fa-var-deviantart: "\f1bd"; +@fa-var-dhl: "\f790"; +@fa-var-diaspora: "\f791"; +@fa-var-digg: "\f1a6"; +@fa-var-digital-ocean: "\f391"; +@fa-var-discord: "\f392"; +@fa-var-discourse: "\f393"; +@fa-var-dochub: "\f394"; +@fa-var-docker: "\f395"; +@fa-var-draft2digital: "\f396"; +@fa-var-dribbble: "\f17d"; +@fa-var-dropbox: "\f16b"; +@fa-var-drupal: "\f1a9"; +@fa-var-dyalog: "\f399"; +@fa-var-earlybirds: "\f39a"; +@fa-var-ebay: "\f4f4"; +@fa-var-edge: "\f282"; +@fa-var-edge-legacy: "\e078"; +@fa-var-elementor: "\f430"; +@fa-var-ello: "\f5f1"; +@fa-var-ember: "\f423"; +@fa-var-empire: "\f1d1"; +@fa-var-envira: "\f299"; +@fa-var-erlang: "\f39d"; +@fa-var-ethereum: "\f42e"; +@fa-var-etsy: "\f2d7"; +@fa-var-evernote: "\f839"; +@fa-var-expeditedssl: "\f23e"; +@fa-var-facebook: "\f09a"; +@fa-var-facebook-f: "\f39e"; +@fa-var-facebook-messenger: "\f39f"; +@fa-var-fantasy-flight-games: "\f6dc"; +@fa-var-fedex: "\f797"; +@fa-var-fedora: "\f798"; +@fa-var-figma: "\f799"; +@fa-var-firefox: "\f269"; +@fa-var-firefox-browser: "\e007"; +@fa-var-first-order: "\f2b0"; +@fa-var-first-order-alt: "\f50a"; +@fa-var-firstdraft: "\f3a1"; +@fa-var-flickr: "\f16e"; +@fa-var-flipboard: "\f44d"; +@fa-var-fly: "\f417"; +@fa-var-font-awesome: "\f2b4"; +@fa-var-font-awesome-flag: "\f2b4"; +@fa-var-font-awesome-logo-full: "\f2b4"; +@fa-var-fonticons: "\f280"; +@fa-var-fonticons-fi: "\f3a2"; +@fa-var-fort-awesome: "\f286"; +@fa-var-fort-awesome-alt: "\f3a3"; +@fa-var-forumbee: "\f211"; +@fa-var-foursquare: "\f180"; +@fa-var-free-code-camp: "\f2c5"; +@fa-var-freebsd: "\f3a4"; +@fa-var-fulcrum: "\f50b"; +@fa-var-galactic-republic: "\f50c"; +@fa-var-galactic-senate: "\f50d"; +@fa-var-get-pocket: "\f265"; +@fa-var-gg: "\f260"; +@fa-var-gg-circle: "\f261"; +@fa-var-git: "\f1d3"; +@fa-var-git-alt: "\f841"; +@fa-var-github: "\f09b"; +@fa-var-github-alt: "\f113"; +@fa-var-gitkraken: "\f3a6"; +@fa-var-gitlab: "\f296"; +@fa-var-gitter: "\f426"; +@fa-var-glide: "\f2a5"; +@fa-var-glide-g: "\f2a6"; +@fa-var-gofore: "\f3a7"; +@fa-var-golang: "\e40f"; +@fa-var-goodreads: "\f3a8"; +@fa-var-goodreads-g: "\f3a9"; +@fa-var-google: "\f1a0"; +@fa-var-google-drive: "\f3aa"; +@fa-var-google-pay: "\e079"; +@fa-var-google-play: "\f3ab"; +@fa-var-google-plus: "\f2b3"; +@fa-var-google-plus-g: "\f0d5"; +@fa-var-google-wallet: "\f1ee"; +@fa-var-gratipay: "\f184"; +@fa-var-grav: "\f2d6"; +@fa-var-gripfire: "\f3ac"; +@fa-var-grunt: "\f3ad"; +@fa-var-guilded: "\e07e"; +@fa-var-gulp: "\f3ae"; +@fa-var-hacker-news: "\f1d4"; +@fa-var-hackerrank: "\f5f7"; +@fa-var-hashnode: "\e499"; +@fa-var-hips: "\f452"; +@fa-var-hire-a-helper: "\f3b0"; +@fa-var-hive: "\e07f"; +@fa-var-hooli: "\f427"; +@fa-var-hornbill: "\f592"; +@fa-var-hotjar: "\f3b1"; +@fa-var-houzz: "\f27c"; +@fa-var-html5: "\f13b"; +@fa-var-hubspot: "\f3b2"; +@fa-var-ideal: "\e013"; +@fa-var-imdb: "\f2d8"; +@fa-var-instagram: "\f16d"; +@fa-var-instalod: "\e081"; +@fa-var-intercom: "\f7af"; +@fa-var-internet-explorer: "\f26b"; +@fa-var-invision: "\f7b0"; +@fa-var-ioxhost: "\f208"; +@fa-var-itch-io: "\f83a"; +@fa-var-itunes: "\f3b4"; +@fa-var-itunes-note: "\f3b5"; +@fa-var-java: "\f4e4"; +@fa-var-jedi-order: "\f50e"; +@fa-var-jenkins: "\f3b6"; +@fa-var-jira: "\f7b1"; +@fa-var-joget: "\f3b7"; +@fa-var-joomla: "\f1aa"; +@fa-var-js: "\f3b8"; +@fa-var-jsfiddle: "\f1cc"; +@fa-var-kaggle: "\f5fa"; +@fa-var-keybase: "\f4f5"; +@fa-var-keycdn: "\f3ba"; +@fa-var-kickstarter: "\f3bb"; +@fa-var-kickstarter-k: "\f3bc"; +@fa-var-korvue: "\f42f"; +@fa-var-laravel: "\f3bd"; +@fa-var-lastfm: "\f202"; +@fa-var-leanpub: "\f212"; +@fa-var-less: "\f41d"; +@fa-var-line: "\f3c0"; +@fa-var-linkedin: "\f08c"; +@fa-var-linkedin-in: "\f0e1"; +@fa-var-linode: "\f2b8"; +@fa-var-linux: "\f17c"; +@fa-var-lyft: "\f3c3"; +@fa-var-magento: "\f3c4"; +@fa-var-mailchimp: "\f59e"; +@fa-var-mandalorian: "\f50f"; +@fa-var-markdown: "\f60f"; +@fa-var-mastodon: "\f4f6"; +@fa-var-maxcdn: "\f136"; +@fa-var-mdb: "\f8ca"; +@fa-var-medapps: "\f3c6"; +@fa-var-medium: "\f23a"; +@fa-var-medium-m: "\f23a"; +@fa-var-medrt: "\f3c8"; +@fa-var-meetup: "\f2e0"; +@fa-var-megaport: "\f5a3"; +@fa-var-mendeley: "\f7b3"; +@fa-var-meta: "\e49b"; +@fa-var-microblog: "\e01a"; +@fa-var-microsoft: "\f3ca"; +@fa-var-mix: "\f3cb"; +@fa-var-mixcloud: "\f289"; +@fa-var-mixer: "\e056"; +@fa-var-mizuni: "\f3cc"; +@fa-var-modx: "\f285"; +@fa-var-monero: "\f3d0"; +@fa-var-napster: "\f3d2"; +@fa-var-neos: "\f612"; +@fa-var-nfc-directional: "\e530"; +@fa-var-nfc-symbol: "\e531"; +@fa-var-nimblr: "\f5a8"; +@fa-var-node: "\f419"; +@fa-var-node-js: "\f3d3"; +@fa-var-npm: "\f3d4"; +@fa-var-ns8: "\f3d5"; +@fa-var-nutritionix: "\f3d6"; +@fa-var-octopus-deploy: "\e082"; +@fa-var-odnoklassniki: "\f263"; +@fa-var-old-republic: "\f510"; +@fa-var-opencart: "\f23d"; +@fa-var-openid: "\f19b"; +@fa-var-opera: "\f26a"; +@fa-var-optin-monster: "\f23c"; +@fa-var-orcid: "\f8d2"; +@fa-var-osi: "\f41a"; +@fa-var-padlet: "\e4a0"; +@fa-var-page4: "\f3d7"; +@fa-var-pagelines: "\f18c"; +@fa-var-palfed: "\f3d8"; +@fa-var-patreon: "\f3d9"; +@fa-var-paypal: "\f1ed"; +@fa-var-perbyte: "\e083"; +@fa-var-periscope: "\f3da"; +@fa-var-phabricator: "\f3db"; +@fa-var-phoenix-framework: "\f3dc"; +@fa-var-phoenix-squadron: "\f511"; +@fa-var-php: "\f457"; +@fa-var-pied-piper: "\f2ae"; +@fa-var-pied-piper-alt: "\f1a8"; +@fa-var-pied-piper-hat: "\f4e5"; +@fa-var-pied-piper-pp: "\f1a7"; +@fa-var-pinterest: "\f0d2"; +@fa-var-pinterest-p: "\f231"; +@fa-var-pix: "\e43a"; +@fa-var-playstation: "\f3df"; +@fa-var-product-hunt: "\f288"; +@fa-var-pushed: "\f3e1"; +@fa-var-python: "\f3e2"; +@fa-var-qq: "\f1d6"; +@fa-var-quinscape: "\f459"; +@fa-var-quora: "\f2c4"; +@fa-var-r-project: "\f4f7"; +@fa-var-raspberry-pi: "\f7bb"; +@fa-var-ravelry: "\f2d9"; +@fa-var-react: "\f41b"; +@fa-var-reacteurope: "\f75d"; +@fa-var-readme: "\f4d5"; +@fa-var-rebel: "\f1d0"; +@fa-var-red-river: "\f3e3"; +@fa-var-reddit: "\f1a1"; +@fa-var-reddit-alien: "\f281"; +@fa-var-redhat: "\f7bc"; +@fa-var-renren: "\f18b"; +@fa-var-replyd: "\f3e6"; +@fa-var-researchgate: "\f4f8"; +@fa-var-resolving: "\f3e7"; +@fa-var-rev: "\f5b2"; +@fa-var-rocketchat: "\f3e8"; +@fa-var-rockrms: "\f3e9"; +@fa-var-rust: "\e07a"; +@fa-var-safari: "\f267"; +@fa-var-salesforce: "\f83b"; +@fa-var-sass: "\f41e"; +@fa-var-schlix: "\f3ea"; +@fa-var-screenpal: "\e570"; +@fa-var-scribd: "\f28a"; +@fa-var-searchengin: "\f3eb"; +@fa-var-sellcast: "\f2da"; +@fa-var-sellsy: "\f213"; +@fa-var-servicestack: "\f3ec"; +@fa-var-shirtsinbulk: "\f214"; +@fa-var-shopify: "\e057"; +@fa-var-shopware: "\f5b5"; +@fa-var-simplybuilt: "\f215"; +@fa-var-sistrix: "\f3ee"; +@fa-var-sith: "\f512"; +@fa-var-sitrox: "\e44a"; +@fa-var-sketch: "\f7c6"; +@fa-var-skyatlas: "\f216"; +@fa-var-skype: "\f17e"; +@fa-var-slack: "\f198"; +@fa-var-slack-hash: "\f198"; +@fa-var-slideshare: "\f1e7"; +@fa-var-snapchat: "\f2ab"; +@fa-var-snapchat-ghost: "\f2ab"; +@fa-var-soundcloud: "\f1be"; +@fa-var-sourcetree: "\f7d3"; +@fa-var-space-awesome: "\e5ac"; +@fa-var-speakap: "\f3f3"; +@fa-var-speaker-deck: "\f83c"; +@fa-var-spotify: "\f1bc"; +@fa-var-square-behance: "\f1b5"; +@fa-var-behance-square: "\f1b5"; +@fa-var-square-dribbble: "\f397"; +@fa-var-dribbble-square: "\f397"; +@fa-var-square-facebook: "\f082"; +@fa-var-facebook-square: "\f082"; +@fa-var-square-font-awesome: "\e5ad"; +@fa-var-square-font-awesome-stroke: "\f35c"; +@fa-var-font-awesome-alt: "\f35c"; +@fa-var-square-git: "\f1d2"; +@fa-var-git-square: "\f1d2"; +@fa-var-square-github: "\f092"; +@fa-var-github-square: "\f092"; +@fa-var-square-gitlab: "\e5ae"; +@fa-var-gitlab-square: "\e5ae"; +@fa-var-square-google-plus: "\f0d4"; +@fa-var-google-plus-square: "\f0d4"; +@fa-var-square-hacker-news: "\f3af"; +@fa-var-hacker-news-square: "\f3af"; +@fa-var-square-instagram: "\e055"; +@fa-var-instagram-square: "\e055"; +@fa-var-square-js: "\f3b9"; +@fa-var-js-square: "\f3b9"; +@fa-var-square-lastfm: "\f203"; +@fa-var-lastfm-square: "\f203"; +@fa-var-square-odnoklassniki: "\f264"; +@fa-var-odnoklassniki-square: "\f264"; +@fa-var-square-pied-piper: "\e01e"; +@fa-var-pied-piper-square: "\e01e"; +@fa-var-square-pinterest: "\f0d3"; +@fa-var-pinterest-square: "\f0d3"; +@fa-var-square-reddit: "\f1a2"; +@fa-var-reddit-square: "\f1a2"; +@fa-var-square-snapchat: "\f2ad"; +@fa-var-snapchat-square: "\f2ad"; +@fa-var-square-steam: "\f1b7"; +@fa-var-steam-square: "\f1b7"; +@fa-var-square-tumblr: "\f174"; +@fa-var-tumblr-square: "\f174"; +@fa-var-square-twitter: "\f081"; +@fa-var-twitter-square: "\f081"; +@fa-var-square-viadeo: "\f2aa"; +@fa-var-viadeo-square: "\f2aa"; +@fa-var-square-vimeo: "\f194"; +@fa-var-vimeo-square: "\f194"; +@fa-var-square-whatsapp: "\f40c"; +@fa-var-whatsapp-square: "\f40c"; +@fa-var-square-xing: "\f169"; +@fa-var-xing-square: "\f169"; +@fa-var-square-youtube: "\f431"; +@fa-var-youtube-square: "\f431"; +@fa-var-squarespace: "\f5be"; +@fa-var-stack-exchange: "\f18d"; +@fa-var-stack-overflow: "\f16c"; +@fa-var-stackpath: "\f842"; +@fa-var-staylinked: "\f3f5"; +@fa-var-steam: "\f1b6"; +@fa-var-steam-symbol: "\f3f6"; +@fa-var-sticker-mule: "\f3f7"; +@fa-var-strava: "\f428"; +@fa-var-stripe: "\f429"; +@fa-var-stripe-s: "\f42a"; +@fa-var-studiovinari: "\f3f8"; +@fa-var-stumbleupon: "\f1a4"; +@fa-var-stumbleupon-circle: "\f1a3"; +@fa-var-superpowers: "\f2dd"; +@fa-var-supple: "\f3f9"; +@fa-var-suse: "\f7d6"; +@fa-var-swift: "\f8e1"; +@fa-var-symfony: "\f83d"; +@fa-var-teamspeak: "\f4f9"; +@fa-var-telegram: "\f2c6"; +@fa-var-telegram-plane: "\f2c6"; +@fa-var-tencent-weibo: "\f1d5"; +@fa-var-the-red-yeti: "\f69d"; +@fa-var-themeco: "\f5c6"; +@fa-var-themeisle: "\f2b2"; +@fa-var-think-peaks: "\f731"; +@fa-var-tiktok: "\e07b"; +@fa-var-trade-federation: "\f513"; +@fa-var-trello: "\f181"; +@fa-var-tumblr: "\f173"; +@fa-var-twitch: "\f1e8"; +@fa-var-twitter: "\f099"; +@fa-var-typo3: "\f42b"; +@fa-var-uber: "\f402"; +@fa-var-ubuntu: "\f7df"; +@fa-var-uikit: "\f403"; +@fa-var-umbraco: "\f8e8"; +@fa-var-uncharted: "\e084"; +@fa-var-uniregistry: "\f404"; +@fa-var-unity: "\e049"; +@fa-var-unsplash: "\e07c"; +@fa-var-untappd: "\f405"; +@fa-var-ups: "\f7e0"; +@fa-var-usb: "\f287"; +@fa-var-usps: "\f7e1"; +@fa-var-ussunnah: "\f407"; +@fa-var-vaadin: "\f408"; +@fa-var-viacoin: "\f237"; +@fa-var-viadeo: "\f2a9"; +@fa-var-viber: "\f409"; +@fa-var-vimeo: "\f40a"; +@fa-var-vimeo-v: "\f27d"; +@fa-var-vine: "\f1ca"; +@fa-var-vk: "\f189"; +@fa-var-vnv: "\f40b"; +@fa-var-vuejs: "\f41f"; +@fa-var-watchman-monitoring: "\e087"; +@fa-var-waze: "\f83f"; +@fa-var-weebly: "\f5cc"; +@fa-var-weibo: "\f18a"; +@fa-var-weixin: "\f1d7"; +@fa-var-whatsapp: "\f232"; +@fa-var-whmcs: "\f40d"; +@fa-var-wikipedia-w: "\f266"; +@fa-var-windows: "\f17a"; +@fa-var-wirsindhandwerk: "\e2d0"; +@fa-var-wsh: "\e2d0"; +@fa-var-wix: "\f5cf"; +@fa-var-wizards-of-the-coast: "\f730"; +@fa-var-wodu: "\e088"; +@fa-var-wolf-pack-battalion: "\f514"; +@fa-var-wordpress: "\f19a"; +@fa-var-wordpress-simple: "\f411"; +@fa-var-wpbeginner: "\f297"; +@fa-var-wpexplorer: "\f2de"; +@fa-var-wpforms: "\f298"; +@fa-var-wpressr: "\f3e4"; +@fa-var-rendact: "\f3e4"; +@fa-var-xbox: "\f412"; +@fa-var-xing: "\f168"; +@fa-var-y-combinator: "\f23b"; +@fa-var-yahoo: "\f19e"; +@fa-var-yammer: "\f840"; +@fa-var-yandex: "\f413"; +@fa-var-yandex-international: "\f414"; +@fa-var-yarn: "\f7e3"; +@fa-var-yelp: "\f1e9"; +@fa-var-yoast: "\f2b1"; +@fa-var-youtube: "\f167"; +@fa-var-zhihu: "\f63f"; + +.fa-icons() { + 0: @fa-var-0; + 1: @fa-var-1; + 2: @fa-var-2; + 3: @fa-var-3; + 4: @fa-var-4; + 5: @fa-var-5; + 6: @fa-var-6; + 7: @fa-var-7; + 8: @fa-var-8; + 9: @fa-var-9; + a: @fa-var-a; + address-book: @fa-var-address-book; + contact-book: @fa-var-contact-book; + address-card: @fa-var-address-card; + contact-card: @fa-var-contact-card; + vcard: @fa-var-vcard; + align-center: @fa-var-align-center; + align-justify: @fa-var-align-justify; + align-left: @fa-var-align-left; + align-right: @fa-var-align-right; + anchor: @fa-var-anchor; + anchor-circle-check: @fa-var-anchor-circle-check; + anchor-circle-exclamation: @fa-var-anchor-circle-exclamation; + anchor-circle-xmark: @fa-var-anchor-circle-xmark; + anchor-lock: @fa-var-anchor-lock; + angle-down: @fa-var-angle-down; + angle-left: @fa-var-angle-left; + angle-right: @fa-var-angle-right; + angle-up: @fa-var-angle-up; + angles-down: @fa-var-angles-down; + angle-double-down: @fa-var-angle-double-down; + angles-left: @fa-var-angles-left; + angle-double-left: @fa-var-angle-double-left; + angles-right: @fa-var-angles-right; + angle-double-right: @fa-var-angle-double-right; + angles-up: @fa-var-angles-up; + angle-double-up: @fa-var-angle-double-up; + ankh: @fa-var-ankh; + apple-whole: @fa-var-apple-whole; + apple-alt: @fa-var-apple-alt; + archway: @fa-var-archway; + arrow-down: @fa-var-arrow-down; + arrow-down-1-9: @fa-var-arrow-down-1-9; + sort-numeric-asc: @fa-var-sort-numeric-asc; + sort-numeric-down: @fa-var-sort-numeric-down; + arrow-down-9-1: @fa-var-arrow-down-9-1; + sort-numeric-desc: @fa-var-sort-numeric-desc; + sort-numeric-down-alt: @fa-var-sort-numeric-down-alt; + arrow-down-a-z: @fa-var-arrow-down-a-z; + sort-alpha-asc: @fa-var-sort-alpha-asc; + sort-alpha-down: @fa-var-sort-alpha-down; + arrow-down-long: @fa-var-arrow-down-long; + long-arrow-down: @fa-var-long-arrow-down; + arrow-down-short-wide: @fa-var-arrow-down-short-wide; + sort-amount-desc: @fa-var-sort-amount-desc; + sort-amount-down-alt: @fa-var-sort-amount-down-alt; + arrow-down-up-across-line: @fa-var-arrow-down-up-across-line; + arrow-down-up-lock: @fa-var-arrow-down-up-lock; + arrow-down-wide-short: @fa-var-arrow-down-wide-short; + sort-amount-asc: @fa-var-sort-amount-asc; + sort-amount-down: @fa-var-sort-amount-down; + arrow-down-z-a: @fa-var-arrow-down-z-a; + sort-alpha-desc: @fa-var-sort-alpha-desc; + sort-alpha-down-alt: @fa-var-sort-alpha-down-alt; + arrow-left: @fa-var-arrow-left; + arrow-left-long: @fa-var-arrow-left-long; + long-arrow-left: @fa-var-long-arrow-left; + arrow-pointer: @fa-var-arrow-pointer; + mouse-pointer: @fa-var-mouse-pointer; + arrow-right: @fa-var-arrow-right; + arrow-right-arrow-left: @fa-var-arrow-right-arrow-left; + exchange: @fa-var-exchange; + arrow-right-from-bracket: @fa-var-arrow-right-from-bracket; + sign-out: @fa-var-sign-out; + arrow-right-long: @fa-var-arrow-right-long; + long-arrow-right: @fa-var-long-arrow-right; + arrow-right-to-bracket: @fa-var-arrow-right-to-bracket; + sign-in: @fa-var-sign-in; + arrow-right-to-city: @fa-var-arrow-right-to-city; + arrow-rotate-left: @fa-var-arrow-rotate-left; + arrow-left-rotate: @fa-var-arrow-left-rotate; + arrow-rotate-back: @fa-var-arrow-rotate-back; + arrow-rotate-backward: @fa-var-arrow-rotate-backward; + undo: @fa-var-undo; + arrow-rotate-right: @fa-var-arrow-rotate-right; + arrow-right-rotate: @fa-var-arrow-right-rotate; + arrow-rotate-forward: @fa-var-arrow-rotate-forward; + redo: @fa-var-redo; + arrow-trend-down: @fa-var-arrow-trend-down; + arrow-trend-up: @fa-var-arrow-trend-up; + arrow-turn-down: @fa-var-arrow-turn-down; + level-down: @fa-var-level-down; + arrow-turn-up: @fa-var-arrow-turn-up; + level-up: @fa-var-level-up; + arrow-up: @fa-var-arrow-up; + arrow-up-1-9: @fa-var-arrow-up-1-9; + sort-numeric-up: @fa-var-sort-numeric-up; + arrow-up-9-1: @fa-var-arrow-up-9-1; + sort-numeric-up-alt: @fa-var-sort-numeric-up-alt; + arrow-up-a-z: @fa-var-arrow-up-a-z; + sort-alpha-up: @fa-var-sort-alpha-up; + arrow-up-from-bracket: @fa-var-arrow-up-from-bracket; + arrow-up-from-ground-water: @fa-var-arrow-up-from-ground-water; + arrow-up-from-water-pump: @fa-var-arrow-up-from-water-pump; + arrow-up-long: @fa-var-arrow-up-long; + long-arrow-up: @fa-var-long-arrow-up; + arrow-up-right-dots: @fa-var-arrow-up-right-dots; + arrow-up-right-from-square: @fa-var-arrow-up-right-from-square; + external-link: @fa-var-external-link; + arrow-up-short-wide: @fa-var-arrow-up-short-wide; + sort-amount-up-alt: @fa-var-sort-amount-up-alt; + arrow-up-wide-short: @fa-var-arrow-up-wide-short; + sort-amount-up: @fa-var-sort-amount-up; + arrow-up-z-a: @fa-var-arrow-up-z-a; + sort-alpha-up-alt: @fa-var-sort-alpha-up-alt; + arrows-down-to-line: @fa-var-arrows-down-to-line; + arrows-down-to-people: @fa-var-arrows-down-to-people; + arrows-left-right: @fa-var-arrows-left-right; + arrows-h: @fa-var-arrows-h; + arrows-left-right-to-line: @fa-var-arrows-left-right-to-line; + arrows-rotate: @fa-var-arrows-rotate; + refresh: @fa-var-refresh; + sync: @fa-var-sync; + arrows-spin: @fa-var-arrows-spin; + arrows-split-up-and-left: @fa-var-arrows-split-up-and-left; + arrows-to-circle: @fa-var-arrows-to-circle; + arrows-to-dot: @fa-var-arrows-to-dot; + arrows-to-eye: @fa-var-arrows-to-eye; + arrows-turn-right: @fa-var-arrows-turn-right; + arrows-turn-to-dots: @fa-var-arrows-turn-to-dots; + arrows-up-down: @fa-var-arrows-up-down; + arrows-v: @fa-var-arrows-v; + arrows-up-down-left-right: @fa-var-arrows-up-down-left-right; + arrows: @fa-var-arrows; + arrows-up-to-line: @fa-var-arrows-up-to-line; + asterisk: @fa-var-asterisk; + at: @fa-var-at; + atom: @fa-var-atom; + audio-description: @fa-var-audio-description; + austral-sign: @fa-var-austral-sign; + award: @fa-var-award; + b: @fa-var-b; + baby: @fa-var-baby; + baby-carriage: @fa-var-baby-carriage; + carriage-baby: @fa-var-carriage-baby; + backward: @fa-var-backward; + backward-fast: @fa-var-backward-fast; + fast-backward: @fa-var-fast-backward; + backward-step: @fa-var-backward-step; + step-backward: @fa-var-step-backward; + bacon: @fa-var-bacon; + bacteria: @fa-var-bacteria; + bacterium: @fa-var-bacterium; + bag-shopping: @fa-var-bag-shopping; + shopping-bag: @fa-var-shopping-bag; + bahai: @fa-var-bahai; + haykal: @fa-var-haykal; + baht-sign: @fa-var-baht-sign; + ban: @fa-var-ban; + cancel: @fa-var-cancel; + ban-smoking: @fa-var-ban-smoking; + smoking-ban: @fa-var-smoking-ban; + bandage: @fa-var-bandage; + band-aid: @fa-var-band-aid; + barcode: @fa-var-barcode; + bars: @fa-var-bars; + navicon: @fa-var-navicon; + bars-progress: @fa-var-bars-progress; + tasks-alt: @fa-var-tasks-alt; + bars-staggered: @fa-var-bars-staggered; + reorder: @fa-var-reorder; + stream: @fa-var-stream; + baseball: @fa-var-baseball; + baseball-ball: @fa-var-baseball-ball; + baseball-bat-ball: @fa-var-baseball-bat-ball; + basket-shopping: @fa-var-basket-shopping; + shopping-basket: @fa-var-shopping-basket; + basketball: @fa-var-basketball; + basketball-ball: @fa-var-basketball-ball; + bath: @fa-var-bath; + bathtub: @fa-var-bathtub; + battery-empty: @fa-var-battery-empty; + battery-0: @fa-var-battery-0; + battery-full: @fa-var-battery-full; + battery: @fa-var-battery; + battery-5: @fa-var-battery-5; + battery-half: @fa-var-battery-half; + battery-3: @fa-var-battery-3; + battery-quarter: @fa-var-battery-quarter; + battery-2: @fa-var-battery-2; + battery-three-quarters: @fa-var-battery-three-quarters; + battery-4: @fa-var-battery-4; + bed: @fa-var-bed; + bed-pulse: @fa-var-bed-pulse; + procedures: @fa-var-procedures; + beer-mug-empty: @fa-var-beer-mug-empty; + beer: @fa-var-beer; + bell: @fa-var-bell; + bell-concierge: @fa-var-bell-concierge; + concierge-bell: @fa-var-concierge-bell; + bell-slash: @fa-var-bell-slash; + bezier-curve: @fa-var-bezier-curve; + bicycle: @fa-var-bicycle; + binoculars: @fa-var-binoculars; + biohazard: @fa-var-biohazard; + bitcoin-sign: @fa-var-bitcoin-sign; + blender: @fa-var-blender; + blender-phone: @fa-var-blender-phone; + blog: @fa-var-blog; + bold: @fa-var-bold; + bolt: @fa-var-bolt; + zap: @fa-var-zap; + bolt-lightning: @fa-var-bolt-lightning; + bomb: @fa-var-bomb; + bone: @fa-var-bone; + bong: @fa-var-bong; + book: @fa-var-book; + book-atlas: @fa-var-book-atlas; + atlas: @fa-var-atlas; + book-bible: @fa-var-book-bible; + bible: @fa-var-bible; + book-bookmark: @fa-var-book-bookmark; + book-journal-whills: @fa-var-book-journal-whills; + journal-whills: @fa-var-journal-whills; + book-medical: @fa-var-book-medical; + book-open: @fa-var-book-open; + book-open-reader: @fa-var-book-open-reader; + book-reader: @fa-var-book-reader; + book-quran: @fa-var-book-quran; + quran: @fa-var-quran; + book-skull: @fa-var-book-skull; + book-dead: @fa-var-book-dead; + book-tanakh: @fa-var-book-tanakh; + tanakh: @fa-var-tanakh; + bookmark: @fa-var-bookmark; + border-all: @fa-var-border-all; + border-none: @fa-var-border-none; + border-top-left: @fa-var-border-top-left; + border-style: @fa-var-border-style; + bore-hole: @fa-var-bore-hole; + bottle-droplet: @fa-var-bottle-droplet; + bottle-water: @fa-var-bottle-water; + bowl-food: @fa-var-bowl-food; + bowl-rice: @fa-var-bowl-rice; + bowling-ball: @fa-var-bowling-ball; + box: @fa-var-box; + box-archive: @fa-var-box-archive; + archive: @fa-var-archive; + box-open: @fa-var-box-open; + box-tissue: @fa-var-box-tissue; + boxes-packing: @fa-var-boxes-packing; + boxes-stacked: @fa-var-boxes-stacked; + boxes: @fa-var-boxes; + boxes-alt: @fa-var-boxes-alt; + braille: @fa-var-braille; + brain: @fa-var-brain; + brazilian-real-sign: @fa-var-brazilian-real-sign; + bread-slice: @fa-var-bread-slice; + bridge: @fa-var-bridge; + bridge-circle-check: @fa-var-bridge-circle-check; + bridge-circle-exclamation: @fa-var-bridge-circle-exclamation; + bridge-circle-xmark: @fa-var-bridge-circle-xmark; + bridge-lock: @fa-var-bridge-lock; + bridge-water: @fa-var-bridge-water; + briefcase: @fa-var-briefcase; + briefcase-medical: @fa-var-briefcase-medical; + broom: @fa-var-broom; + broom-ball: @fa-var-broom-ball; + quidditch: @fa-var-quidditch; + quidditch-broom-ball: @fa-var-quidditch-broom-ball; + brush: @fa-var-brush; + bucket: @fa-var-bucket; + bug: @fa-var-bug; + bug-slash: @fa-var-bug-slash; + bugs: @fa-var-bugs; + building: @fa-var-building; + building-circle-arrow-right: @fa-var-building-circle-arrow-right; + building-circle-check: @fa-var-building-circle-check; + building-circle-exclamation: @fa-var-building-circle-exclamation; + building-circle-xmark: @fa-var-building-circle-xmark; + building-columns: @fa-var-building-columns; + bank: @fa-var-bank; + institution: @fa-var-institution; + museum: @fa-var-museum; + university: @fa-var-university; + building-flag: @fa-var-building-flag; + building-lock: @fa-var-building-lock; + building-ngo: @fa-var-building-ngo; + building-shield: @fa-var-building-shield; + building-un: @fa-var-building-un; + building-user: @fa-var-building-user; + building-wheat: @fa-var-building-wheat; + bullhorn: @fa-var-bullhorn; + bullseye: @fa-var-bullseye; + burger: @fa-var-burger; + hamburger: @fa-var-hamburger; + burst: @fa-var-burst; + bus: @fa-var-bus; + bus-simple: @fa-var-bus-simple; + bus-alt: @fa-var-bus-alt; + business-time: @fa-var-business-time; + briefcase-clock: @fa-var-briefcase-clock; + c: @fa-var-c; + cable-car: @fa-var-cable-car; + tram: @fa-var-tram; + cake-candles: @fa-var-cake-candles; + birthday-cake: @fa-var-birthday-cake; + cake: @fa-var-cake; + calculator: @fa-var-calculator; + calendar: @fa-var-calendar; + calendar-check: @fa-var-calendar-check; + calendar-day: @fa-var-calendar-day; + calendar-days: @fa-var-calendar-days; + calendar-alt: @fa-var-calendar-alt; + calendar-minus: @fa-var-calendar-minus; + calendar-plus: @fa-var-calendar-plus; + calendar-week: @fa-var-calendar-week; + calendar-xmark: @fa-var-calendar-xmark; + calendar-times: @fa-var-calendar-times; + camera: @fa-var-camera; + camera-alt: @fa-var-camera-alt; + camera-retro: @fa-var-camera-retro; + camera-rotate: @fa-var-camera-rotate; + campground: @fa-var-campground; + candy-cane: @fa-var-candy-cane; + cannabis: @fa-var-cannabis; + capsules: @fa-var-capsules; + car: @fa-var-car; + automobile: @fa-var-automobile; + car-battery: @fa-var-car-battery; + battery-car: @fa-var-battery-car; + car-burst: @fa-var-car-burst; + car-crash: @fa-var-car-crash; + car-on: @fa-var-car-on; + car-rear: @fa-var-car-rear; + car-alt: @fa-var-car-alt; + car-side: @fa-var-car-side; + car-tunnel: @fa-var-car-tunnel; + caravan: @fa-var-caravan; + caret-down: @fa-var-caret-down; + caret-left: @fa-var-caret-left; + caret-right: @fa-var-caret-right; + caret-up: @fa-var-caret-up; + carrot: @fa-var-carrot; + cart-arrow-down: @fa-var-cart-arrow-down; + cart-flatbed: @fa-var-cart-flatbed; + dolly-flatbed: @fa-var-dolly-flatbed; + cart-flatbed-suitcase: @fa-var-cart-flatbed-suitcase; + luggage-cart: @fa-var-luggage-cart; + cart-plus: @fa-var-cart-plus; + cart-shopping: @fa-var-cart-shopping; + shopping-cart: @fa-var-shopping-cart; + cash-register: @fa-var-cash-register; + cat: @fa-var-cat; + cedi-sign: @fa-var-cedi-sign; + cent-sign: @fa-var-cent-sign; + certificate: @fa-var-certificate; + chair: @fa-var-chair; + chalkboard: @fa-var-chalkboard; + blackboard: @fa-var-blackboard; + chalkboard-user: @fa-var-chalkboard-user; + chalkboard-teacher: @fa-var-chalkboard-teacher; + champagne-glasses: @fa-var-champagne-glasses; + glass-cheers: @fa-var-glass-cheers; + charging-station: @fa-var-charging-station; + chart-area: @fa-var-chart-area; + area-chart: @fa-var-area-chart; + chart-bar: @fa-var-chart-bar; + bar-chart: @fa-var-bar-chart; + chart-column: @fa-var-chart-column; + chart-gantt: @fa-var-chart-gantt; + chart-line: @fa-var-chart-line; + line-chart: @fa-var-line-chart; + chart-pie: @fa-var-chart-pie; + pie-chart: @fa-var-pie-chart; + chart-simple: @fa-var-chart-simple; + check: @fa-var-check; + check-double: @fa-var-check-double; + check-to-slot: @fa-var-check-to-slot; + vote-yea: @fa-var-vote-yea; + cheese: @fa-var-cheese; + chess: @fa-var-chess; + chess-bishop: @fa-var-chess-bishop; + chess-board: @fa-var-chess-board; + chess-king: @fa-var-chess-king; + chess-knight: @fa-var-chess-knight; + chess-pawn: @fa-var-chess-pawn; + chess-queen: @fa-var-chess-queen; + chess-rook: @fa-var-chess-rook; + chevron-down: @fa-var-chevron-down; + chevron-left: @fa-var-chevron-left; + chevron-right: @fa-var-chevron-right; + chevron-up: @fa-var-chevron-up; + child: @fa-var-child; + child-dress: @fa-var-child-dress; + child-reaching: @fa-var-child-reaching; + child-rifle: @fa-var-child-rifle; + children: @fa-var-children; + church: @fa-var-church; + circle: @fa-var-circle; + circle-arrow-down: @fa-var-circle-arrow-down; + arrow-circle-down: @fa-var-arrow-circle-down; + circle-arrow-left: @fa-var-circle-arrow-left; + arrow-circle-left: @fa-var-arrow-circle-left; + circle-arrow-right: @fa-var-circle-arrow-right; + arrow-circle-right: @fa-var-arrow-circle-right; + circle-arrow-up: @fa-var-circle-arrow-up; + arrow-circle-up: @fa-var-arrow-circle-up; + circle-check: @fa-var-circle-check; + check-circle: @fa-var-check-circle; + circle-chevron-down: @fa-var-circle-chevron-down; + chevron-circle-down: @fa-var-chevron-circle-down; + circle-chevron-left: @fa-var-circle-chevron-left; + chevron-circle-left: @fa-var-chevron-circle-left; + circle-chevron-right: @fa-var-circle-chevron-right; + chevron-circle-right: @fa-var-chevron-circle-right; + circle-chevron-up: @fa-var-circle-chevron-up; + chevron-circle-up: @fa-var-chevron-circle-up; + circle-dollar-to-slot: @fa-var-circle-dollar-to-slot; + donate: @fa-var-donate; + circle-dot: @fa-var-circle-dot; + dot-circle: @fa-var-dot-circle; + circle-down: @fa-var-circle-down; + arrow-alt-circle-down: @fa-var-arrow-alt-circle-down; + circle-exclamation: @fa-var-circle-exclamation; + exclamation-circle: @fa-var-exclamation-circle; + circle-h: @fa-var-circle-h; + hospital-symbol: @fa-var-hospital-symbol; + circle-half-stroke: @fa-var-circle-half-stroke; + adjust: @fa-var-adjust; + circle-info: @fa-var-circle-info; + info-circle: @fa-var-info-circle; + circle-left: @fa-var-circle-left; + arrow-alt-circle-left: @fa-var-arrow-alt-circle-left; + circle-minus: @fa-var-circle-minus; + minus-circle: @fa-var-minus-circle; + circle-nodes: @fa-var-circle-nodes; + circle-notch: @fa-var-circle-notch; + circle-pause: @fa-var-circle-pause; + pause-circle: @fa-var-pause-circle; + circle-play: @fa-var-circle-play; + play-circle: @fa-var-play-circle; + circle-plus: @fa-var-circle-plus; + plus-circle: @fa-var-plus-circle; + circle-question: @fa-var-circle-question; + question-circle: @fa-var-question-circle; + circle-radiation: @fa-var-circle-radiation; + radiation-alt: @fa-var-radiation-alt; + circle-right: @fa-var-circle-right; + arrow-alt-circle-right: @fa-var-arrow-alt-circle-right; + circle-stop: @fa-var-circle-stop; + stop-circle: @fa-var-stop-circle; + circle-up: @fa-var-circle-up; + arrow-alt-circle-up: @fa-var-arrow-alt-circle-up; + circle-user: @fa-var-circle-user; + user-circle: @fa-var-user-circle; + circle-xmark: @fa-var-circle-xmark; + times-circle: @fa-var-times-circle; + xmark-circle: @fa-var-xmark-circle; + city: @fa-var-city; + clapperboard: @fa-var-clapperboard; + clipboard: @fa-var-clipboard; + clipboard-check: @fa-var-clipboard-check; + clipboard-list: @fa-var-clipboard-list; + clipboard-question: @fa-var-clipboard-question; + clipboard-user: @fa-var-clipboard-user; + clock: @fa-var-clock; + clock-four: @fa-var-clock-four; + clock-rotate-left: @fa-var-clock-rotate-left; + history: @fa-var-history; + clone: @fa-var-clone; + closed-captioning: @fa-var-closed-captioning; + cloud: @fa-var-cloud; + cloud-arrow-down: @fa-var-cloud-arrow-down; + cloud-download: @fa-var-cloud-download; + cloud-download-alt: @fa-var-cloud-download-alt; + cloud-arrow-up: @fa-var-cloud-arrow-up; + cloud-upload: @fa-var-cloud-upload; + cloud-upload-alt: @fa-var-cloud-upload-alt; + cloud-bolt: @fa-var-cloud-bolt; + thunderstorm: @fa-var-thunderstorm; + cloud-meatball: @fa-var-cloud-meatball; + cloud-moon: @fa-var-cloud-moon; + cloud-moon-rain: @fa-var-cloud-moon-rain; + cloud-rain: @fa-var-cloud-rain; + cloud-showers-heavy: @fa-var-cloud-showers-heavy; + cloud-showers-water: @fa-var-cloud-showers-water; + cloud-sun: @fa-var-cloud-sun; + cloud-sun-rain: @fa-var-cloud-sun-rain; + clover: @fa-var-clover; + code: @fa-var-code; + code-branch: @fa-var-code-branch; + code-commit: @fa-var-code-commit; + code-compare: @fa-var-code-compare; + code-fork: @fa-var-code-fork; + code-merge: @fa-var-code-merge; + code-pull-request: @fa-var-code-pull-request; + coins: @fa-var-coins; + colon-sign: @fa-var-colon-sign; + comment: @fa-var-comment; + comment-dollar: @fa-var-comment-dollar; + comment-dots: @fa-var-comment-dots; + commenting: @fa-var-commenting; + comment-medical: @fa-var-comment-medical; + comment-slash: @fa-var-comment-slash; + comment-sms: @fa-var-comment-sms; + sms: @fa-var-sms; + comments: @fa-var-comments; + comments-dollar: @fa-var-comments-dollar; + compact-disc: @fa-var-compact-disc; + compass: @fa-var-compass; + compass-drafting: @fa-var-compass-drafting; + drafting-compass: @fa-var-drafting-compass; + compress: @fa-var-compress; + computer: @fa-var-computer; + computer-mouse: @fa-var-computer-mouse; + mouse: @fa-var-mouse; + cookie: @fa-var-cookie; + cookie-bite: @fa-var-cookie-bite; + copy: @fa-var-copy; + copyright: @fa-var-copyright; + couch: @fa-var-couch; + cow: @fa-var-cow; + credit-card: @fa-var-credit-card; + credit-card-alt: @fa-var-credit-card-alt; + crop: @fa-var-crop; + crop-simple: @fa-var-crop-simple; + crop-alt: @fa-var-crop-alt; + cross: @fa-var-cross; + crosshairs: @fa-var-crosshairs; + crow: @fa-var-crow; + crown: @fa-var-crown; + crutch: @fa-var-crutch; + cruzeiro-sign: @fa-var-cruzeiro-sign; + cube: @fa-var-cube; + cubes: @fa-var-cubes; + cubes-stacked: @fa-var-cubes-stacked; + d: @fa-var-d; + database: @fa-var-database; + delete-left: @fa-var-delete-left; + backspace: @fa-var-backspace; + democrat: @fa-var-democrat; + desktop: @fa-var-desktop; + desktop-alt: @fa-var-desktop-alt; + dharmachakra: @fa-var-dharmachakra; + diagram-next: @fa-var-diagram-next; + diagram-predecessor: @fa-var-diagram-predecessor; + diagram-project: @fa-var-diagram-project; + project-diagram: @fa-var-project-diagram; + diagram-successor: @fa-var-diagram-successor; + diamond: @fa-var-diamond; + diamond-turn-right: @fa-var-diamond-turn-right; + directions: @fa-var-directions; + dice: @fa-var-dice; + dice-d20: @fa-var-dice-d20; + dice-d6: @fa-var-dice-d6; + dice-five: @fa-var-dice-five; + dice-four: @fa-var-dice-four; + dice-one: @fa-var-dice-one; + dice-six: @fa-var-dice-six; + dice-three: @fa-var-dice-three; + dice-two: @fa-var-dice-two; + disease: @fa-var-disease; + display: @fa-var-display; + divide: @fa-var-divide; + dna: @fa-var-dna; + dog: @fa-var-dog; + dollar-sign: @fa-var-dollar-sign; + dollar: @fa-var-dollar; + usd: @fa-var-usd; + dolly: @fa-var-dolly; + dolly-box: @fa-var-dolly-box; + dong-sign: @fa-var-dong-sign; + door-closed: @fa-var-door-closed; + door-open: @fa-var-door-open; + dove: @fa-var-dove; + down-left-and-up-right-to-center: @fa-var-down-left-and-up-right-to-center; + compress-alt: @fa-var-compress-alt; + down-long: @fa-var-down-long; + long-arrow-alt-down: @fa-var-long-arrow-alt-down; + download: @fa-var-download; + dragon: @fa-var-dragon; + draw-polygon: @fa-var-draw-polygon; + droplet: @fa-var-droplet; + tint: @fa-var-tint; + droplet-slash: @fa-var-droplet-slash; + tint-slash: @fa-var-tint-slash; + drum: @fa-var-drum; + drum-steelpan: @fa-var-drum-steelpan; + drumstick-bite: @fa-var-drumstick-bite; + dumbbell: @fa-var-dumbbell; + dumpster: @fa-var-dumpster; + dumpster-fire: @fa-var-dumpster-fire; + dungeon: @fa-var-dungeon; + e: @fa-var-e; + ear-deaf: @fa-var-ear-deaf; + deaf: @fa-var-deaf; + deafness: @fa-var-deafness; + hard-of-hearing: @fa-var-hard-of-hearing; + ear-listen: @fa-var-ear-listen; + assistive-listening-systems: @fa-var-assistive-listening-systems; + earth-africa: @fa-var-earth-africa; + globe-africa: @fa-var-globe-africa; + earth-americas: @fa-var-earth-americas; + earth: @fa-var-earth; + earth-america: @fa-var-earth-america; + globe-americas: @fa-var-globe-americas; + earth-asia: @fa-var-earth-asia; + globe-asia: @fa-var-globe-asia; + earth-europe: @fa-var-earth-europe; + globe-europe: @fa-var-globe-europe; + earth-oceania: @fa-var-earth-oceania; + globe-oceania: @fa-var-globe-oceania; + egg: @fa-var-egg; + eject: @fa-var-eject; + elevator: @fa-var-elevator; + ellipsis: @fa-var-ellipsis; + ellipsis-h: @fa-var-ellipsis-h; + ellipsis-vertical: @fa-var-ellipsis-vertical; + ellipsis-v: @fa-var-ellipsis-v; + envelope: @fa-var-envelope; + envelope-circle-check: @fa-var-envelope-circle-check; + envelope-open: @fa-var-envelope-open; + envelope-open-text: @fa-var-envelope-open-text; + envelopes-bulk: @fa-var-envelopes-bulk; + mail-bulk: @fa-var-mail-bulk; + equals: @fa-var-equals; + eraser: @fa-var-eraser; + ethernet: @fa-var-ethernet; + euro-sign: @fa-var-euro-sign; + eur: @fa-var-eur; + euro: @fa-var-euro; + exclamation: @fa-var-exclamation; + expand: @fa-var-expand; + explosion: @fa-var-explosion; + eye: @fa-var-eye; + eye-dropper: @fa-var-eye-dropper; + eye-dropper-empty: @fa-var-eye-dropper-empty; + eyedropper: @fa-var-eyedropper; + eye-low-vision: @fa-var-eye-low-vision; + low-vision: @fa-var-low-vision; + eye-slash: @fa-var-eye-slash; + f: @fa-var-f; + face-angry: @fa-var-face-angry; + angry: @fa-var-angry; + face-dizzy: @fa-var-face-dizzy; + dizzy: @fa-var-dizzy; + face-flushed: @fa-var-face-flushed; + flushed: @fa-var-flushed; + face-frown: @fa-var-face-frown; + frown: @fa-var-frown; + face-frown-open: @fa-var-face-frown-open; + frown-open: @fa-var-frown-open; + face-grimace: @fa-var-face-grimace; + grimace: @fa-var-grimace; + face-grin: @fa-var-face-grin; + grin: @fa-var-grin; + face-grin-beam: @fa-var-face-grin-beam; + grin-beam: @fa-var-grin-beam; + face-grin-beam-sweat: @fa-var-face-grin-beam-sweat; + grin-beam-sweat: @fa-var-grin-beam-sweat; + face-grin-hearts: @fa-var-face-grin-hearts; + grin-hearts: @fa-var-grin-hearts; + face-grin-squint: @fa-var-face-grin-squint; + grin-squint: @fa-var-grin-squint; + face-grin-squint-tears: @fa-var-face-grin-squint-tears; + grin-squint-tears: @fa-var-grin-squint-tears; + face-grin-stars: @fa-var-face-grin-stars; + grin-stars: @fa-var-grin-stars; + face-grin-tears: @fa-var-face-grin-tears; + grin-tears: @fa-var-grin-tears; + face-grin-tongue: @fa-var-face-grin-tongue; + grin-tongue: @fa-var-grin-tongue; + face-grin-tongue-squint: @fa-var-face-grin-tongue-squint; + grin-tongue-squint: @fa-var-grin-tongue-squint; + face-grin-tongue-wink: @fa-var-face-grin-tongue-wink; + grin-tongue-wink: @fa-var-grin-tongue-wink; + face-grin-wide: @fa-var-face-grin-wide; + grin-alt: @fa-var-grin-alt; + face-grin-wink: @fa-var-face-grin-wink; + grin-wink: @fa-var-grin-wink; + face-kiss: @fa-var-face-kiss; + kiss: @fa-var-kiss; + face-kiss-beam: @fa-var-face-kiss-beam; + kiss-beam: @fa-var-kiss-beam; + face-kiss-wink-heart: @fa-var-face-kiss-wink-heart; + kiss-wink-heart: @fa-var-kiss-wink-heart; + face-laugh: @fa-var-face-laugh; + laugh: @fa-var-laugh; + face-laugh-beam: @fa-var-face-laugh-beam; + laugh-beam: @fa-var-laugh-beam; + face-laugh-squint: @fa-var-face-laugh-squint; + laugh-squint: @fa-var-laugh-squint; + face-laugh-wink: @fa-var-face-laugh-wink; + laugh-wink: @fa-var-laugh-wink; + face-meh: @fa-var-face-meh; + meh: @fa-var-meh; + face-meh-blank: @fa-var-face-meh-blank; + meh-blank: @fa-var-meh-blank; + face-rolling-eyes: @fa-var-face-rolling-eyes; + meh-rolling-eyes: @fa-var-meh-rolling-eyes; + face-sad-cry: @fa-var-face-sad-cry; + sad-cry: @fa-var-sad-cry; + face-sad-tear: @fa-var-face-sad-tear; + sad-tear: @fa-var-sad-tear; + face-smile: @fa-var-face-smile; + smile: @fa-var-smile; + face-smile-beam: @fa-var-face-smile-beam; + smile-beam: @fa-var-smile-beam; + face-smile-wink: @fa-var-face-smile-wink; + smile-wink: @fa-var-smile-wink; + face-surprise: @fa-var-face-surprise; + surprise: @fa-var-surprise; + face-tired: @fa-var-face-tired; + tired: @fa-var-tired; + fan: @fa-var-fan; + faucet: @fa-var-faucet; + faucet-drip: @fa-var-faucet-drip; + fax: @fa-var-fax; + feather: @fa-var-feather; + feather-pointed: @fa-var-feather-pointed; + feather-alt: @fa-var-feather-alt; + ferry: @fa-var-ferry; + file: @fa-var-file; + file-arrow-down: @fa-var-file-arrow-down; + file-download: @fa-var-file-download; + file-arrow-up: @fa-var-file-arrow-up; + file-upload: @fa-var-file-upload; + file-audio: @fa-var-file-audio; + file-circle-check: @fa-var-file-circle-check; + file-circle-exclamation: @fa-var-file-circle-exclamation; + file-circle-minus: @fa-var-file-circle-minus; + file-circle-plus: @fa-var-file-circle-plus; + file-circle-question: @fa-var-file-circle-question; + file-circle-xmark: @fa-var-file-circle-xmark; + file-code: @fa-var-file-code; + file-contract: @fa-var-file-contract; + file-csv: @fa-var-file-csv; + file-excel: @fa-var-file-excel; + file-export: @fa-var-file-export; + arrow-right-from-file: @fa-var-arrow-right-from-file; + file-image: @fa-var-file-image; + file-import: @fa-var-file-import; + arrow-right-to-file: @fa-var-arrow-right-to-file; + file-invoice: @fa-var-file-invoice; + file-invoice-dollar: @fa-var-file-invoice-dollar; + file-lines: @fa-var-file-lines; + file-alt: @fa-var-file-alt; + file-text: @fa-var-file-text; + file-medical: @fa-var-file-medical; + file-pdf: @fa-var-file-pdf; + file-pen: @fa-var-file-pen; + file-edit: @fa-var-file-edit; + file-powerpoint: @fa-var-file-powerpoint; + file-prescription: @fa-var-file-prescription; + file-shield: @fa-var-file-shield; + file-signature: @fa-var-file-signature; + file-video: @fa-var-file-video; + file-waveform: @fa-var-file-waveform; + file-medical-alt: @fa-var-file-medical-alt; + file-word: @fa-var-file-word; + file-zipper: @fa-var-file-zipper; + file-archive: @fa-var-file-archive; + fill: @fa-var-fill; + fill-drip: @fa-var-fill-drip; + film: @fa-var-film; + filter: @fa-var-filter; + filter-circle-dollar: @fa-var-filter-circle-dollar; + funnel-dollar: @fa-var-funnel-dollar; + filter-circle-xmark: @fa-var-filter-circle-xmark; + fingerprint: @fa-var-fingerprint; + fire: @fa-var-fire; + fire-burner: @fa-var-fire-burner; + fire-extinguisher: @fa-var-fire-extinguisher; + fire-flame-curved: @fa-var-fire-flame-curved; + fire-alt: @fa-var-fire-alt; + fire-flame-simple: @fa-var-fire-flame-simple; + burn: @fa-var-burn; + fish: @fa-var-fish; + fish-fins: @fa-var-fish-fins; + flag: @fa-var-flag; + flag-checkered: @fa-var-flag-checkered; + flag-usa: @fa-var-flag-usa; + flask: @fa-var-flask; + flask-vial: @fa-var-flask-vial; + floppy-disk: @fa-var-floppy-disk; + save: @fa-var-save; + florin-sign: @fa-var-florin-sign; + folder: @fa-var-folder; + folder-blank: @fa-var-folder-blank; + folder-closed: @fa-var-folder-closed; + folder-minus: @fa-var-folder-minus; + folder-open: @fa-var-folder-open; + folder-plus: @fa-var-folder-plus; + folder-tree: @fa-var-folder-tree; + font: @fa-var-font; + football: @fa-var-football; + football-ball: @fa-var-football-ball; + forward: @fa-var-forward; + forward-fast: @fa-var-forward-fast; + fast-forward: @fa-var-fast-forward; + forward-step: @fa-var-forward-step; + step-forward: @fa-var-step-forward; + franc-sign: @fa-var-franc-sign; + frog: @fa-var-frog; + futbol: @fa-var-futbol; + futbol-ball: @fa-var-futbol-ball; + soccer-ball: @fa-var-soccer-ball; + g: @fa-var-g; + gamepad: @fa-var-gamepad; + gas-pump: @fa-var-gas-pump; + gauge: @fa-var-gauge; + dashboard: @fa-var-dashboard; + gauge-med: @fa-var-gauge-med; + tachometer-alt-average: @fa-var-tachometer-alt-average; + gauge-high: @fa-var-gauge-high; + tachometer-alt: @fa-var-tachometer-alt; + tachometer-alt-fast: @fa-var-tachometer-alt-fast; + gauge-simple: @fa-var-gauge-simple; + gauge-simple-med: @fa-var-gauge-simple-med; + tachometer-average: @fa-var-tachometer-average; + gauge-simple-high: @fa-var-gauge-simple-high; + tachometer: @fa-var-tachometer; + tachometer-fast: @fa-var-tachometer-fast; + gavel: @fa-var-gavel; + legal: @fa-var-legal; + gear: @fa-var-gear; + cog: @fa-var-cog; + gears: @fa-var-gears; + cogs: @fa-var-cogs; + gem: @fa-var-gem; + genderless: @fa-var-genderless; + ghost: @fa-var-ghost; + gift: @fa-var-gift; + gifts: @fa-var-gifts; + glass-water: @fa-var-glass-water; + glass-water-droplet: @fa-var-glass-water-droplet; + glasses: @fa-var-glasses; + globe: @fa-var-globe; + golf-ball-tee: @fa-var-golf-ball-tee; + golf-ball: @fa-var-golf-ball; + gopuram: @fa-var-gopuram; + graduation-cap: @fa-var-graduation-cap; + mortar-board: @fa-var-mortar-board; + greater-than: @fa-var-greater-than; + greater-than-equal: @fa-var-greater-than-equal; + grip: @fa-var-grip; + grip-horizontal: @fa-var-grip-horizontal; + grip-lines: @fa-var-grip-lines; + grip-lines-vertical: @fa-var-grip-lines-vertical; + grip-vertical: @fa-var-grip-vertical; + group-arrows-rotate: @fa-var-group-arrows-rotate; + guarani-sign: @fa-var-guarani-sign; + guitar: @fa-var-guitar; + gun: @fa-var-gun; + h: @fa-var-h; + hammer: @fa-var-hammer; + hamsa: @fa-var-hamsa; + hand: @fa-var-hand; + hand-paper: @fa-var-hand-paper; + hand-back-fist: @fa-var-hand-back-fist; + hand-rock: @fa-var-hand-rock; + hand-dots: @fa-var-hand-dots; + allergies: @fa-var-allergies; + hand-fist: @fa-var-hand-fist; + fist-raised: @fa-var-fist-raised; + hand-holding: @fa-var-hand-holding; + hand-holding-dollar: @fa-var-hand-holding-dollar; + hand-holding-usd: @fa-var-hand-holding-usd; + hand-holding-droplet: @fa-var-hand-holding-droplet; + hand-holding-water: @fa-var-hand-holding-water; + hand-holding-hand: @fa-var-hand-holding-hand; + hand-holding-heart: @fa-var-hand-holding-heart; + hand-holding-medical: @fa-var-hand-holding-medical; + hand-lizard: @fa-var-hand-lizard; + hand-middle-finger: @fa-var-hand-middle-finger; + hand-peace: @fa-var-hand-peace; + hand-point-down: @fa-var-hand-point-down; + hand-point-left: @fa-var-hand-point-left; + hand-point-right: @fa-var-hand-point-right; + hand-point-up: @fa-var-hand-point-up; + hand-pointer: @fa-var-hand-pointer; + hand-scissors: @fa-var-hand-scissors; + hand-sparkles: @fa-var-hand-sparkles; + hand-spock: @fa-var-hand-spock; + handcuffs: @fa-var-handcuffs; + hands: @fa-var-hands; + sign-language: @fa-var-sign-language; + signing: @fa-var-signing; + hands-asl-interpreting: @fa-var-hands-asl-interpreting; + american-sign-language-interpreting: @fa-var-american-sign-language-interpreting; + asl-interpreting: @fa-var-asl-interpreting; + hands-american-sign-language-interpreting: @fa-var-hands-american-sign-language-interpreting; + hands-bound: @fa-var-hands-bound; + hands-bubbles: @fa-var-hands-bubbles; + hands-wash: @fa-var-hands-wash; + hands-clapping: @fa-var-hands-clapping; + hands-holding: @fa-var-hands-holding; + hands-holding-child: @fa-var-hands-holding-child; + hands-holding-circle: @fa-var-hands-holding-circle; + hands-praying: @fa-var-hands-praying; + praying-hands: @fa-var-praying-hands; + handshake: @fa-var-handshake; + handshake-angle: @fa-var-handshake-angle; + hands-helping: @fa-var-hands-helping; + handshake-simple: @fa-var-handshake-simple; + handshake-alt: @fa-var-handshake-alt; + handshake-simple-slash: @fa-var-handshake-simple-slash; + handshake-alt-slash: @fa-var-handshake-alt-slash; + handshake-slash: @fa-var-handshake-slash; + hanukiah: @fa-var-hanukiah; + hard-drive: @fa-var-hard-drive; + hdd: @fa-var-hdd; + hashtag: @fa-var-hashtag; + hat-cowboy: @fa-var-hat-cowboy; + hat-cowboy-side: @fa-var-hat-cowboy-side; + hat-wizard: @fa-var-hat-wizard; + head-side-cough: @fa-var-head-side-cough; + head-side-cough-slash: @fa-var-head-side-cough-slash; + head-side-mask: @fa-var-head-side-mask; + head-side-virus: @fa-var-head-side-virus; + heading: @fa-var-heading; + header: @fa-var-header; + headphones: @fa-var-headphones; + headphones-simple: @fa-var-headphones-simple; + headphones-alt: @fa-var-headphones-alt; + headset: @fa-var-headset; + heart: @fa-var-heart; + heart-circle-bolt: @fa-var-heart-circle-bolt; + heart-circle-check: @fa-var-heart-circle-check; + heart-circle-exclamation: @fa-var-heart-circle-exclamation; + heart-circle-minus: @fa-var-heart-circle-minus; + heart-circle-plus: @fa-var-heart-circle-plus; + heart-circle-xmark: @fa-var-heart-circle-xmark; + heart-crack: @fa-var-heart-crack; + heart-broken: @fa-var-heart-broken; + heart-pulse: @fa-var-heart-pulse; + heartbeat: @fa-var-heartbeat; + helicopter: @fa-var-helicopter; + helicopter-symbol: @fa-var-helicopter-symbol; + helmet-safety: @fa-var-helmet-safety; + hard-hat: @fa-var-hard-hat; + hat-hard: @fa-var-hat-hard; + helmet-un: @fa-var-helmet-un; + highlighter: @fa-var-highlighter; + hill-avalanche: @fa-var-hill-avalanche; + hill-rockslide: @fa-var-hill-rockslide; + hippo: @fa-var-hippo; + hockey-puck: @fa-var-hockey-puck; + holly-berry: @fa-var-holly-berry; + horse: @fa-var-horse; + horse-head: @fa-var-horse-head; + hospital: @fa-var-hospital; + hospital-alt: @fa-var-hospital-alt; + hospital-wide: @fa-var-hospital-wide; + hospital-user: @fa-var-hospital-user; + hot-tub-person: @fa-var-hot-tub-person; + hot-tub: @fa-var-hot-tub; + hotdog: @fa-var-hotdog; + hotel: @fa-var-hotel; + hourglass: @fa-var-hourglass; + hourglass-empty: @fa-var-hourglass-empty; + hourglass-end: @fa-var-hourglass-end; + hourglass-3: @fa-var-hourglass-3; + hourglass-half: @fa-var-hourglass-half; + hourglass-2: @fa-var-hourglass-2; + hourglass-start: @fa-var-hourglass-start; + hourglass-1: @fa-var-hourglass-1; + house: @fa-var-house; + home: @fa-var-home; + home-alt: @fa-var-home-alt; + home-lg-alt: @fa-var-home-lg-alt; + house-chimney: @fa-var-house-chimney; + home-lg: @fa-var-home-lg; + house-chimney-crack: @fa-var-house-chimney-crack; + house-damage: @fa-var-house-damage; + house-chimney-medical: @fa-var-house-chimney-medical; + clinic-medical: @fa-var-clinic-medical; + house-chimney-user: @fa-var-house-chimney-user; + house-chimney-window: @fa-var-house-chimney-window; + house-circle-check: @fa-var-house-circle-check; + house-circle-exclamation: @fa-var-house-circle-exclamation; + house-circle-xmark: @fa-var-house-circle-xmark; + house-crack: @fa-var-house-crack; + house-fire: @fa-var-house-fire; + house-flag: @fa-var-house-flag; + house-flood-water: @fa-var-house-flood-water; + house-flood-water-circle-arrow-right: @fa-var-house-flood-water-circle-arrow-right; + house-laptop: @fa-var-house-laptop; + laptop-house: @fa-var-laptop-house; + house-lock: @fa-var-house-lock; + house-medical: @fa-var-house-medical; + house-medical-circle-check: @fa-var-house-medical-circle-check; + house-medical-circle-exclamation: @fa-var-house-medical-circle-exclamation; + house-medical-circle-xmark: @fa-var-house-medical-circle-xmark; + house-medical-flag: @fa-var-house-medical-flag; + house-signal: @fa-var-house-signal; + house-tsunami: @fa-var-house-tsunami; + house-user: @fa-var-house-user; + home-user: @fa-var-home-user; + hryvnia-sign: @fa-var-hryvnia-sign; + hryvnia: @fa-var-hryvnia; + hurricane: @fa-var-hurricane; + i: @fa-var-i; + i-cursor: @fa-var-i-cursor; + ice-cream: @fa-var-ice-cream; + icicles: @fa-var-icicles; + icons: @fa-var-icons; + heart-music-camera-bolt: @fa-var-heart-music-camera-bolt; + id-badge: @fa-var-id-badge; + id-card: @fa-var-id-card; + drivers-license: @fa-var-drivers-license; + id-card-clip: @fa-var-id-card-clip; + id-card-alt: @fa-var-id-card-alt; + igloo: @fa-var-igloo; + image: @fa-var-image; + image-portrait: @fa-var-image-portrait; + portrait: @fa-var-portrait; + images: @fa-var-images; + inbox: @fa-var-inbox; + indent: @fa-var-indent; + indian-rupee-sign: @fa-var-indian-rupee-sign; + indian-rupee: @fa-var-indian-rupee; + inr: @fa-var-inr; + industry: @fa-var-industry; + infinity: @fa-var-infinity; + info: @fa-var-info; + italic: @fa-var-italic; + j: @fa-var-j; + jar: @fa-var-jar; + jar-wheat: @fa-var-jar-wheat; + jedi: @fa-var-jedi; + jet-fighter: @fa-var-jet-fighter; + fighter-jet: @fa-var-fighter-jet; + jet-fighter-up: @fa-var-jet-fighter-up; + joint: @fa-var-joint; + jug-detergent: @fa-var-jug-detergent; + k: @fa-var-k; + kaaba: @fa-var-kaaba; + key: @fa-var-key; + keyboard: @fa-var-keyboard; + khanda: @fa-var-khanda; + kip-sign: @fa-var-kip-sign; + kit-medical: @fa-var-kit-medical; + first-aid: @fa-var-first-aid; + kitchen-set: @fa-var-kitchen-set; + kiwi-bird: @fa-var-kiwi-bird; + l: @fa-var-l; + land-mine-on: @fa-var-land-mine-on; + landmark: @fa-var-landmark; + landmark-dome: @fa-var-landmark-dome; + landmark-alt: @fa-var-landmark-alt; + landmark-flag: @fa-var-landmark-flag; + language: @fa-var-language; + laptop: @fa-var-laptop; + laptop-code: @fa-var-laptop-code; + laptop-file: @fa-var-laptop-file; + laptop-medical: @fa-var-laptop-medical; + lari-sign: @fa-var-lari-sign; + layer-group: @fa-var-layer-group; + leaf: @fa-var-leaf; + left-long: @fa-var-left-long; + long-arrow-alt-left: @fa-var-long-arrow-alt-left; + left-right: @fa-var-left-right; + arrows-alt-h: @fa-var-arrows-alt-h; + lemon: @fa-var-lemon; + less-than: @fa-var-less-than; + less-than-equal: @fa-var-less-than-equal; + life-ring: @fa-var-life-ring; + lightbulb: @fa-var-lightbulb; + lines-leaning: @fa-var-lines-leaning; + link: @fa-var-link; + chain: @fa-var-chain; + link-slash: @fa-var-link-slash; + chain-broken: @fa-var-chain-broken; + chain-slash: @fa-var-chain-slash; + unlink: @fa-var-unlink; + lira-sign: @fa-var-lira-sign; + list: @fa-var-list; + list-squares: @fa-var-list-squares; + list-check: @fa-var-list-check; + tasks: @fa-var-tasks; + list-ol: @fa-var-list-ol; + list-1-2: @fa-var-list-1-2; + list-numeric: @fa-var-list-numeric; + list-ul: @fa-var-list-ul; + list-dots: @fa-var-list-dots; + litecoin-sign: @fa-var-litecoin-sign; + location-arrow: @fa-var-location-arrow; + location-crosshairs: @fa-var-location-crosshairs; + location: @fa-var-location; + location-dot: @fa-var-location-dot; + map-marker-alt: @fa-var-map-marker-alt; + location-pin: @fa-var-location-pin; + map-marker: @fa-var-map-marker; + location-pin-lock: @fa-var-location-pin-lock; + lock: @fa-var-lock; + lock-open: @fa-var-lock-open; + locust: @fa-var-locust; + lungs: @fa-var-lungs; + lungs-virus: @fa-var-lungs-virus; + m: @fa-var-m; + magnet: @fa-var-magnet; + magnifying-glass: @fa-var-magnifying-glass; + search: @fa-var-search; + magnifying-glass-arrow-right: @fa-var-magnifying-glass-arrow-right; + magnifying-glass-chart: @fa-var-magnifying-glass-chart; + magnifying-glass-dollar: @fa-var-magnifying-glass-dollar; + search-dollar: @fa-var-search-dollar; + magnifying-glass-location: @fa-var-magnifying-glass-location; + search-location: @fa-var-search-location; + magnifying-glass-minus: @fa-var-magnifying-glass-minus; + search-minus: @fa-var-search-minus; + magnifying-glass-plus: @fa-var-magnifying-glass-plus; + search-plus: @fa-var-search-plus; + manat-sign: @fa-var-manat-sign; + map: @fa-var-map; + map-location: @fa-var-map-location; + map-marked: @fa-var-map-marked; + map-location-dot: @fa-var-map-location-dot; + map-marked-alt: @fa-var-map-marked-alt; + map-pin: @fa-var-map-pin; + marker: @fa-var-marker; + mars: @fa-var-mars; + mars-and-venus: @fa-var-mars-and-venus; + mars-and-venus-burst: @fa-var-mars-and-venus-burst; + mars-double: @fa-var-mars-double; + mars-stroke: @fa-var-mars-stroke; + mars-stroke-right: @fa-var-mars-stroke-right; + mars-stroke-h: @fa-var-mars-stroke-h; + mars-stroke-up: @fa-var-mars-stroke-up; + mars-stroke-v: @fa-var-mars-stroke-v; + martini-glass: @fa-var-martini-glass; + glass-martini-alt: @fa-var-glass-martini-alt; + martini-glass-citrus: @fa-var-martini-glass-citrus; + cocktail: @fa-var-cocktail; + martini-glass-empty: @fa-var-martini-glass-empty; + glass-martini: @fa-var-glass-martini; + mask: @fa-var-mask; + mask-face: @fa-var-mask-face; + mask-ventilator: @fa-var-mask-ventilator; + masks-theater: @fa-var-masks-theater; + theater-masks: @fa-var-theater-masks; + mattress-pillow: @fa-var-mattress-pillow; + maximize: @fa-var-maximize; + expand-arrows-alt: @fa-var-expand-arrows-alt; + medal: @fa-var-medal; + memory: @fa-var-memory; + menorah: @fa-var-menorah; + mercury: @fa-var-mercury; + message: @fa-var-message; + comment-alt: @fa-var-comment-alt; + meteor: @fa-var-meteor; + microchip: @fa-var-microchip; + microphone: @fa-var-microphone; + microphone-lines: @fa-var-microphone-lines; + microphone-alt: @fa-var-microphone-alt; + microphone-lines-slash: @fa-var-microphone-lines-slash; + microphone-alt-slash: @fa-var-microphone-alt-slash; + microphone-slash: @fa-var-microphone-slash; + microscope: @fa-var-microscope; + mill-sign: @fa-var-mill-sign; + minimize: @fa-var-minimize; + compress-arrows-alt: @fa-var-compress-arrows-alt; + minus: @fa-var-minus; + subtract: @fa-var-subtract; + mitten: @fa-var-mitten; + mobile: @fa-var-mobile; + mobile-android: @fa-var-mobile-android; + mobile-phone: @fa-var-mobile-phone; + mobile-button: @fa-var-mobile-button; + mobile-retro: @fa-var-mobile-retro; + mobile-screen: @fa-var-mobile-screen; + mobile-android-alt: @fa-var-mobile-android-alt; + mobile-screen-button: @fa-var-mobile-screen-button; + mobile-alt: @fa-var-mobile-alt; + money-bill: @fa-var-money-bill; + money-bill-1: @fa-var-money-bill-1; + money-bill-alt: @fa-var-money-bill-alt; + money-bill-1-wave: @fa-var-money-bill-1-wave; + money-bill-wave-alt: @fa-var-money-bill-wave-alt; + money-bill-transfer: @fa-var-money-bill-transfer; + money-bill-trend-up: @fa-var-money-bill-trend-up; + money-bill-wave: @fa-var-money-bill-wave; + money-bill-wheat: @fa-var-money-bill-wheat; + money-bills: @fa-var-money-bills; + money-check: @fa-var-money-check; + money-check-dollar: @fa-var-money-check-dollar; + money-check-alt: @fa-var-money-check-alt; + monument: @fa-var-monument; + moon: @fa-var-moon; + mortar-pestle: @fa-var-mortar-pestle; + mosque: @fa-var-mosque; + mosquito: @fa-var-mosquito; + mosquito-net: @fa-var-mosquito-net; + motorcycle: @fa-var-motorcycle; + mound: @fa-var-mound; + mountain: @fa-var-mountain; + mountain-city: @fa-var-mountain-city; + mountain-sun: @fa-var-mountain-sun; + mug-hot: @fa-var-mug-hot; + mug-saucer: @fa-var-mug-saucer; + coffee: @fa-var-coffee; + music: @fa-var-music; + n: @fa-var-n; + naira-sign: @fa-var-naira-sign; + network-wired: @fa-var-network-wired; + neuter: @fa-var-neuter; + newspaper: @fa-var-newspaper; + not-equal: @fa-var-not-equal; + notdef: @fa-var-notdef; + note-sticky: @fa-var-note-sticky; + sticky-note: @fa-var-sticky-note; + notes-medical: @fa-var-notes-medical; + o: @fa-var-o; + object-group: @fa-var-object-group; + object-ungroup: @fa-var-object-ungroup; + oil-can: @fa-var-oil-can; + oil-well: @fa-var-oil-well; + om: @fa-var-om; + otter: @fa-var-otter; + outdent: @fa-var-outdent; + dedent: @fa-var-dedent; + p: @fa-var-p; + pager: @fa-var-pager; + paint-roller: @fa-var-paint-roller; + paintbrush: @fa-var-paintbrush; + paint-brush: @fa-var-paint-brush; + palette: @fa-var-palette; + pallet: @fa-var-pallet; + panorama: @fa-var-panorama; + paper-plane: @fa-var-paper-plane; + paperclip: @fa-var-paperclip; + parachute-box: @fa-var-parachute-box; + paragraph: @fa-var-paragraph; + passport: @fa-var-passport; + paste: @fa-var-paste; + file-clipboard: @fa-var-file-clipboard; + pause: @fa-var-pause; + paw: @fa-var-paw; + peace: @fa-var-peace; + pen: @fa-var-pen; + pen-clip: @fa-var-pen-clip; + pen-alt: @fa-var-pen-alt; + pen-fancy: @fa-var-pen-fancy; + pen-nib: @fa-var-pen-nib; + pen-ruler: @fa-var-pen-ruler; + pencil-ruler: @fa-var-pencil-ruler; + pen-to-square: @fa-var-pen-to-square; + edit: @fa-var-edit; + pencil: @fa-var-pencil; + pencil-alt: @fa-var-pencil-alt; + people-arrows: @fa-var-people-arrows; + people-arrows-left-right: @fa-var-people-arrows-left-right; + people-carry-box: @fa-var-people-carry-box; + people-carry: @fa-var-people-carry; + people-group: @fa-var-people-group; + people-line: @fa-var-people-line; + people-pulling: @fa-var-people-pulling; + people-robbery: @fa-var-people-robbery; + people-roof: @fa-var-people-roof; + pepper-hot: @fa-var-pepper-hot; + percent: @fa-var-percent; + percentage: @fa-var-percentage; + person: @fa-var-person; + male: @fa-var-male; + person-arrow-down-to-line: @fa-var-person-arrow-down-to-line; + person-arrow-up-from-line: @fa-var-person-arrow-up-from-line; + person-biking: @fa-var-person-biking; + biking: @fa-var-biking; + person-booth: @fa-var-person-booth; + person-breastfeeding: @fa-var-person-breastfeeding; + person-burst: @fa-var-person-burst; + person-cane: @fa-var-person-cane; + person-chalkboard: @fa-var-person-chalkboard; + person-circle-check: @fa-var-person-circle-check; + person-circle-exclamation: @fa-var-person-circle-exclamation; + person-circle-minus: @fa-var-person-circle-minus; + person-circle-plus: @fa-var-person-circle-plus; + person-circle-question: @fa-var-person-circle-question; + person-circle-xmark: @fa-var-person-circle-xmark; + person-digging: @fa-var-person-digging; + digging: @fa-var-digging; + person-dots-from-line: @fa-var-person-dots-from-line; + diagnoses: @fa-var-diagnoses; + person-dress: @fa-var-person-dress; + female: @fa-var-female; + person-dress-burst: @fa-var-person-dress-burst; + person-drowning: @fa-var-person-drowning; + person-falling: @fa-var-person-falling; + person-falling-burst: @fa-var-person-falling-burst; + person-half-dress: @fa-var-person-half-dress; + person-harassing: @fa-var-person-harassing; + person-hiking: @fa-var-person-hiking; + hiking: @fa-var-hiking; + person-military-pointing: @fa-var-person-military-pointing; + person-military-rifle: @fa-var-person-military-rifle; + person-military-to-person: @fa-var-person-military-to-person; + person-praying: @fa-var-person-praying; + pray: @fa-var-pray; + person-pregnant: @fa-var-person-pregnant; + person-rays: @fa-var-person-rays; + person-rifle: @fa-var-person-rifle; + person-running: @fa-var-person-running; + running: @fa-var-running; + person-shelter: @fa-var-person-shelter; + person-skating: @fa-var-person-skating; + skating: @fa-var-skating; + person-skiing: @fa-var-person-skiing; + skiing: @fa-var-skiing; + person-skiing-nordic: @fa-var-person-skiing-nordic; + skiing-nordic: @fa-var-skiing-nordic; + person-snowboarding: @fa-var-person-snowboarding; + snowboarding: @fa-var-snowboarding; + person-swimming: @fa-var-person-swimming; + swimmer: @fa-var-swimmer; + person-through-window: @fa-var-person-through-window; + person-walking: @fa-var-person-walking; + walking: @fa-var-walking; + person-walking-arrow-loop-left: @fa-var-person-walking-arrow-loop-left; + person-walking-arrow-right: @fa-var-person-walking-arrow-right; + person-walking-dashed-line-arrow-right: @fa-var-person-walking-dashed-line-arrow-right; + person-walking-luggage: @fa-var-person-walking-luggage; + person-walking-with-cane: @fa-var-person-walking-with-cane; + blind: @fa-var-blind; + peseta-sign: @fa-var-peseta-sign; + peso-sign: @fa-var-peso-sign; + phone: @fa-var-phone; + phone-flip: @fa-var-phone-flip; + phone-alt: @fa-var-phone-alt; + phone-slash: @fa-var-phone-slash; + phone-volume: @fa-var-phone-volume; + volume-control-phone: @fa-var-volume-control-phone; + photo-film: @fa-var-photo-film; + photo-video: @fa-var-photo-video; + piggy-bank: @fa-var-piggy-bank; + pills: @fa-var-pills; + pizza-slice: @fa-var-pizza-slice; + place-of-worship: @fa-var-place-of-worship; + plane: @fa-var-plane; + plane-arrival: @fa-var-plane-arrival; + plane-circle-check: @fa-var-plane-circle-check; + plane-circle-exclamation: @fa-var-plane-circle-exclamation; + plane-circle-xmark: @fa-var-plane-circle-xmark; + plane-departure: @fa-var-plane-departure; + plane-lock: @fa-var-plane-lock; + plane-slash: @fa-var-plane-slash; + plane-up: @fa-var-plane-up; + plant-wilt: @fa-var-plant-wilt; + plate-wheat: @fa-var-plate-wheat; + play: @fa-var-play; + plug: @fa-var-plug; + plug-circle-bolt: @fa-var-plug-circle-bolt; + plug-circle-check: @fa-var-plug-circle-check; + plug-circle-exclamation: @fa-var-plug-circle-exclamation; + plug-circle-minus: @fa-var-plug-circle-minus; + plug-circle-plus: @fa-var-plug-circle-plus; + plug-circle-xmark: @fa-var-plug-circle-xmark; + plus: @fa-var-plus; + add: @fa-var-add; + plus-minus: @fa-var-plus-minus; + podcast: @fa-var-podcast; + poo: @fa-var-poo; + poo-storm: @fa-var-poo-storm; + poo-bolt: @fa-var-poo-bolt; + poop: @fa-var-poop; + power-off: @fa-var-power-off; + prescription: @fa-var-prescription; + prescription-bottle: @fa-var-prescription-bottle; + prescription-bottle-medical: @fa-var-prescription-bottle-medical; + prescription-bottle-alt: @fa-var-prescription-bottle-alt; + print: @fa-var-print; + pump-medical: @fa-var-pump-medical; + pump-soap: @fa-var-pump-soap; + puzzle-piece: @fa-var-puzzle-piece; + q: @fa-var-q; + qrcode: @fa-var-qrcode; + question: @fa-var-question; + quote-left: @fa-var-quote-left; + quote-left-alt: @fa-var-quote-left-alt; + quote-right: @fa-var-quote-right; + quote-right-alt: @fa-var-quote-right-alt; + r: @fa-var-r; + radiation: @fa-var-radiation; + radio: @fa-var-radio; + rainbow: @fa-var-rainbow; + ranking-star: @fa-var-ranking-star; + receipt: @fa-var-receipt; + record-vinyl: @fa-var-record-vinyl; + rectangle-ad: @fa-var-rectangle-ad; + ad: @fa-var-ad; + rectangle-list: @fa-var-rectangle-list; + list-alt: @fa-var-list-alt; + rectangle-xmark: @fa-var-rectangle-xmark; + rectangle-times: @fa-var-rectangle-times; + times-rectangle: @fa-var-times-rectangle; + window-close: @fa-var-window-close; + recycle: @fa-var-recycle; + registered: @fa-var-registered; + repeat: @fa-var-repeat; + reply: @fa-var-reply; + mail-reply: @fa-var-mail-reply; + reply-all: @fa-var-reply-all; + mail-reply-all: @fa-var-mail-reply-all; + republican: @fa-var-republican; + restroom: @fa-var-restroom; + retweet: @fa-var-retweet; + ribbon: @fa-var-ribbon; + right-from-bracket: @fa-var-right-from-bracket; + sign-out-alt: @fa-var-sign-out-alt; + right-left: @fa-var-right-left; + exchange-alt: @fa-var-exchange-alt; + right-long: @fa-var-right-long; + long-arrow-alt-right: @fa-var-long-arrow-alt-right; + right-to-bracket: @fa-var-right-to-bracket; + sign-in-alt: @fa-var-sign-in-alt; + ring: @fa-var-ring; + road: @fa-var-road; + road-barrier: @fa-var-road-barrier; + road-bridge: @fa-var-road-bridge; + road-circle-check: @fa-var-road-circle-check; + road-circle-exclamation: @fa-var-road-circle-exclamation; + road-circle-xmark: @fa-var-road-circle-xmark; + road-lock: @fa-var-road-lock; + road-spikes: @fa-var-road-spikes; + robot: @fa-var-robot; + rocket: @fa-var-rocket; + rotate: @fa-var-rotate; + sync-alt: @fa-var-sync-alt; + rotate-left: @fa-var-rotate-left; + rotate-back: @fa-var-rotate-back; + rotate-backward: @fa-var-rotate-backward; + undo-alt: @fa-var-undo-alt; + rotate-right: @fa-var-rotate-right; + redo-alt: @fa-var-redo-alt; + rotate-forward: @fa-var-rotate-forward; + route: @fa-var-route; + rss: @fa-var-rss; + feed: @fa-var-feed; + ruble-sign: @fa-var-ruble-sign; + rouble: @fa-var-rouble; + rub: @fa-var-rub; + ruble: @fa-var-ruble; + rug: @fa-var-rug; + ruler: @fa-var-ruler; + ruler-combined: @fa-var-ruler-combined; + ruler-horizontal: @fa-var-ruler-horizontal; + ruler-vertical: @fa-var-ruler-vertical; + rupee-sign: @fa-var-rupee-sign; + rupee: @fa-var-rupee; + rupiah-sign: @fa-var-rupiah-sign; + s: @fa-var-s; + sack-dollar: @fa-var-sack-dollar; + sack-xmark: @fa-var-sack-xmark; + sailboat: @fa-var-sailboat; + satellite: @fa-var-satellite; + satellite-dish: @fa-var-satellite-dish; + scale-balanced: @fa-var-scale-balanced; + balance-scale: @fa-var-balance-scale; + scale-unbalanced: @fa-var-scale-unbalanced; + balance-scale-left: @fa-var-balance-scale-left; + scale-unbalanced-flip: @fa-var-scale-unbalanced-flip; + balance-scale-right: @fa-var-balance-scale-right; + school: @fa-var-school; + school-circle-check: @fa-var-school-circle-check; + school-circle-exclamation: @fa-var-school-circle-exclamation; + school-circle-xmark: @fa-var-school-circle-xmark; + school-flag: @fa-var-school-flag; + school-lock: @fa-var-school-lock; + scissors: @fa-var-scissors; + cut: @fa-var-cut; + screwdriver: @fa-var-screwdriver; + screwdriver-wrench: @fa-var-screwdriver-wrench; + tools: @fa-var-tools; + scroll: @fa-var-scroll; + scroll-torah: @fa-var-scroll-torah; + torah: @fa-var-torah; + sd-card: @fa-var-sd-card; + section: @fa-var-section; + seedling: @fa-var-seedling; + sprout: @fa-var-sprout; + server: @fa-var-server; + shapes: @fa-var-shapes; + triangle-circle-square: @fa-var-triangle-circle-square; + share: @fa-var-share; + arrow-turn-right: @fa-var-arrow-turn-right; + mail-forward: @fa-var-mail-forward; + share-from-square: @fa-var-share-from-square; + share-square: @fa-var-share-square; + share-nodes: @fa-var-share-nodes; + share-alt: @fa-var-share-alt; + sheet-plastic: @fa-var-sheet-plastic; + shekel-sign: @fa-var-shekel-sign; + ils: @fa-var-ils; + shekel: @fa-var-shekel; + sheqel: @fa-var-sheqel; + sheqel-sign: @fa-var-sheqel-sign; + shield: @fa-var-shield; + shield-blank: @fa-var-shield-blank; + shield-cat: @fa-var-shield-cat; + shield-dog: @fa-var-shield-dog; + shield-halved: @fa-var-shield-halved; + shield-alt: @fa-var-shield-alt; + shield-heart: @fa-var-shield-heart; + shield-virus: @fa-var-shield-virus; + ship: @fa-var-ship; + shirt: @fa-var-shirt; + t-shirt: @fa-var-t-shirt; + tshirt: @fa-var-tshirt; + shoe-prints: @fa-var-shoe-prints; + shop: @fa-var-shop; + store-alt: @fa-var-store-alt; + shop-lock: @fa-var-shop-lock; + shop-slash: @fa-var-shop-slash; + store-alt-slash: @fa-var-store-alt-slash; + shower: @fa-var-shower; + shrimp: @fa-var-shrimp; + shuffle: @fa-var-shuffle; + random: @fa-var-random; + shuttle-space: @fa-var-shuttle-space; + space-shuttle: @fa-var-space-shuttle; + sign-hanging: @fa-var-sign-hanging; + sign: @fa-var-sign; + signal: @fa-var-signal; + signal-5: @fa-var-signal-5; + signal-perfect: @fa-var-signal-perfect; + signature: @fa-var-signature; + signs-post: @fa-var-signs-post; + map-signs: @fa-var-map-signs; + sim-card: @fa-var-sim-card; + sink: @fa-var-sink; + sitemap: @fa-var-sitemap; + skull: @fa-var-skull; + skull-crossbones: @fa-var-skull-crossbones; + slash: @fa-var-slash; + sleigh: @fa-var-sleigh; + sliders: @fa-var-sliders; + sliders-h: @fa-var-sliders-h; + smog: @fa-var-smog; + smoking: @fa-var-smoking; + snowflake: @fa-var-snowflake; + snowman: @fa-var-snowman; + snowplow: @fa-var-snowplow; + soap: @fa-var-soap; + socks: @fa-var-socks; + solar-panel: @fa-var-solar-panel; + sort: @fa-var-sort; + unsorted: @fa-var-unsorted; + sort-down: @fa-var-sort-down; + sort-desc: @fa-var-sort-desc; + sort-up: @fa-var-sort-up; + sort-asc: @fa-var-sort-asc; + spa: @fa-var-spa; + spaghetti-monster-flying: @fa-var-spaghetti-monster-flying; + pastafarianism: @fa-var-pastafarianism; + spell-check: @fa-var-spell-check; + spider: @fa-var-spider; + spinner: @fa-var-spinner; + splotch: @fa-var-splotch; + spoon: @fa-var-spoon; + utensil-spoon: @fa-var-utensil-spoon; + spray-can: @fa-var-spray-can; + spray-can-sparkles: @fa-var-spray-can-sparkles; + air-freshener: @fa-var-air-freshener; + square: @fa-var-square; + square-arrow-up-right: @fa-var-square-arrow-up-right; + external-link-square: @fa-var-external-link-square; + square-caret-down: @fa-var-square-caret-down; + caret-square-down: @fa-var-caret-square-down; + square-caret-left: @fa-var-square-caret-left; + caret-square-left: @fa-var-caret-square-left; + square-caret-right: @fa-var-square-caret-right; + caret-square-right: @fa-var-caret-square-right; + square-caret-up: @fa-var-square-caret-up; + caret-square-up: @fa-var-caret-square-up; + square-check: @fa-var-square-check; + check-square: @fa-var-check-square; + square-envelope: @fa-var-square-envelope; + envelope-square: @fa-var-envelope-square; + square-full: @fa-var-square-full; + square-h: @fa-var-square-h; + h-square: @fa-var-h-square; + square-minus: @fa-var-square-minus; + minus-square: @fa-var-minus-square; + square-nfi: @fa-var-square-nfi; + square-parking: @fa-var-square-parking; + parking: @fa-var-parking; + square-pen: @fa-var-square-pen; + pen-square: @fa-var-pen-square; + pencil-square: @fa-var-pencil-square; + square-person-confined: @fa-var-square-person-confined; + square-phone: @fa-var-square-phone; + phone-square: @fa-var-phone-square; + square-phone-flip: @fa-var-square-phone-flip; + phone-square-alt: @fa-var-phone-square-alt; + square-plus: @fa-var-square-plus; + plus-square: @fa-var-plus-square; + square-poll-horizontal: @fa-var-square-poll-horizontal; + poll-h: @fa-var-poll-h; + square-poll-vertical: @fa-var-square-poll-vertical; + poll: @fa-var-poll; + square-root-variable: @fa-var-square-root-variable; + square-root-alt: @fa-var-square-root-alt; + square-rss: @fa-var-square-rss; + rss-square: @fa-var-rss-square; + square-share-nodes: @fa-var-square-share-nodes; + share-alt-square: @fa-var-share-alt-square; + square-up-right: @fa-var-square-up-right; + external-link-square-alt: @fa-var-external-link-square-alt; + square-virus: @fa-var-square-virus; + square-xmark: @fa-var-square-xmark; + times-square: @fa-var-times-square; + xmark-square: @fa-var-xmark-square; + staff-snake: @fa-var-staff-snake; + rod-asclepius: @fa-var-rod-asclepius; + rod-snake: @fa-var-rod-snake; + staff-aesculapius: @fa-var-staff-aesculapius; + stairs: @fa-var-stairs; + stamp: @fa-var-stamp; + stapler: @fa-var-stapler; + star: @fa-var-star; + star-and-crescent: @fa-var-star-and-crescent; + star-half: @fa-var-star-half; + star-half-stroke: @fa-var-star-half-stroke; + star-half-alt: @fa-var-star-half-alt; + star-of-david: @fa-var-star-of-david; + star-of-life: @fa-var-star-of-life; + sterling-sign: @fa-var-sterling-sign; + gbp: @fa-var-gbp; + pound-sign: @fa-var-pound-sign; + stethoscope: @fa-var-stethoscope; + stop: @fa-var-stop; + stopwatch: @fa-var-stopwatch; + stopwatch-20: @fa-var-stopwatch-20; + store: @fa-var-store; + store-slash: @fa-var-store-slash; + street-view: @fa-var-street-view; + strikethrough: @fa-var-strikethrough; + stroopwafel: @fa-var-stroopwafel; + subscript: @fa-var-subscript; + suitcase: @fa-var-suitcase; + suitcase-medical: @fa-var-suitcase-medical; + medkit: @fa-var-medkit; + suitcase-rolling: @fa-var-suitcase-rolling; + sun: @fa-var-sun; + sun-plant-wilt: @fa-var-sun-plant-wilt; + superscript: @fa-var-superscript; + swatchbook: @fa-var-swatchbook; + synagogue: @fa-var-synagogue; + syringe: @fa-var-syringe; + t: @fa-var-t; + table: @fa-var-table; + table-cells: @fa-var-table-cells; + th: @fa-var-th; + table-cells-large: @fa-var-table-cells-large; + th-large: @fa-var-th-large; + table-columns: @fa-var-table-columns; + columns: @fa-var-columns; + table-list: @fa-var-table-list; + th-list: @fa-var-th-list; + table-tennis-paddle-ball: @fa-var-table-tennis-paddle-ball; + ping-pong-paddle-ball: @fa-var-ping-pong-paddle-ball; + table-tennis: @fa-var-table-tennis; + tablet: @fa-var-tablet; + tablet-android: @fa-var-tablet-android; + tablet-button: @fa-var-tablet-button; + tablet-screen-button: @fa-var-tablet-screen-button; + tablet-alt: @fa-var-tablet-alt; + tablets: @fa-var-tablets; + tachograph-digital: @fa-var-tachograph-digital; + digital-tachograph: @fa-var-digital-tachograph; + tag: @fa-var-tag; + tags: @fa-var-tags; + tape: @fa-var-tape; + tarp: @fa-var-tarp; + tarp-droplet: @fa-var-tarp-droplet; + taxi: @fa-var-taxi; + cab: @fa-var-cab; + teeth: @fa-var-teeth; + teeth-open: @fa-var-teeth-open; + temperature-arrow-down: @fa-var-temperature-arrow-down; + temperature-down: @fa-var-temperature-down; + temperature-arrow-up: @fa-var-temperature-arrow-up; + temperature-up: @fa-var-temperature-up; + temperature-empty: @fa-var-temperature-empty; + temperature-0: @fa-var-temperature-0; + thermometer-0: @fa-var-thermometer-0; + thermometer-empty: @fa-var-thermometer-empty; + temperature-full: @fa-var-temperature-full; + temperature-4: @fa-var-temperature-4; + thermometer-4: @fa-var-thermometer-4; + thermometer-full: @fa-var-thermometer-full; + temperature-half: @fa-var-temperature-half; + temperature-2: @fa-var-temperature-2; + thermometer-2: @fa-var-thermometer-2; + thermometer-half: @fa-var-thermometer-half; + temperature-high: @fa-var-temperature-high; + temperature-low: @fa-var-temperature-low; + temperature-quarter: @fa-var-temperature-quarter; + temperature-1: @fa-var-temperature-1; + thermometer-1: @fa-var-thermometer-1; + thermometer-quarter: @fa-var-thermometer-quarter; + temperature-three-quarters: @fa-var-temperature-three-quarters; + temperature-3: @fa-var-temperature-3; + thermometer-3: @fa-var-thermometer-3; + thermometer-three-quarters: @fa-var-thermometer-three-quarters; + tenge-sign: @fa-var-tenge-sign; + tenge: @fa-var-tenge; + tent: @fa-var-tent; + tent-arrow-down-to-line: @fa-var-tent-arrow-down-to-line; + tent-arrow-left-right: @fa-var-tent-arrow-left-right; + tent-arrow-turn-left: @fa-var-tent-arrow-turn-left; + tent-arrows-down: @fa-var-tent-arrows-down; + tents: @fa-var-tents; + terminal: @fa-var-terminal; + text-height: @fa-var-text-height; + text-slash: @fa-var-text-slash; + remove-format: @fa-var-remove-format; + text-width: @fa-var-text-width; + thermometer: @fa-var-thermometer; + thumbs-down: @fa-var-thumbs-down; + thumbs-up: @fa-var-thumbs-up; + thumbtack: @fa-var-thumbtack; + thumb-tack: @fa-var-thumb-tack; + ticket: @fa-var-ticket; + ticket-simple: @fa-var-ticket-simple; + ticket-alt: @fa-var-ticket-alt; + timeline: @fa-var-timeline; + toggle-off: @fa-var-toggle-off; + toggle-on: @fa-var-toggle-on; + toilet: @fa-var-toilet; + toilet-paper: @fa-var-toilet-paper; + toilet-paper-slash: @fa-var-toilet-paper-slash; + toilet-portable: @fa-var-toilet-portable; + toilets-portable: @fa-var-toilets-portable; + toolbox: @fa-var-toolbox; + tooth: @fa-var-tooth; + torii-gate: @fa-var-torii-gate; + tornado: @fa-var-tornado; + tower-broadcast: @fa-var-tower-broadcast; + broadcast-tower: @fa-var-broadcast-tower; + tower-cell: @fa-var-tower-cell; + tower-observation: @fa-var-tower-observation; + tractor: @fa-var-tractor; + trademark: @fa-var-trademark; + traffic-light: @fa-var-traffic-light; + trailer: @fa-var-trailer; + train: @fa-var-train; + train-subway: @fa-var-train-subway; + subway: @fa-var-subway; + train-tram: @fa-var-train-tram; + transgender: @fa-var-transgender; + transgender-alt: @fa-var-transgender-alt; + trash: @fa-var-trash; + trash-arrow-up: @fa-var-trash-arrow-up; + trash-restore: @fa-var-trash-restore; + trash-can: @fa-var-trash-can; + trash-alt: @fa-var-trash-alt; + trash-can-arrow-up: @fa-var-trash-can-arrow-up; + trash-restore-alt: @fa-var-trash-restore-alt; + tree: @fa-var-tree; + tree-city: @fa-var-tree-city; + triangle-exclamation: @fa-var-triangle-exclamation; + exclamation-triangle: @fa-var-exclamation-triangle; + warning: @fa-var-warning; + trophy: @fa-var-trophy; + trowel: @fa-var-trowel; + trowel-bricks: @fa-var-trowel-bricks; + truck: @fa-var-truck; + truck-arrow-right: @fa-var-truck-arrow-right; + truck-droplet: @fa-var-truck-droplet; + truck-fast: @fa-var-truck-fast; + shipping-fast: @fa-var-shipping-fast; + truck-field: @fa-var-truck-field; + truck-field-un: @fa-var-truck-field-un; + truck-front: @fa-var-truck-front; + truck-medical: @fa-var-truck-medical; + ambulance: @fa-var-ambulance; + truck-monster: @fa-var-truck-monster; + truck-moving: @fa-var-truck-moving; + truck-pickup: @fa-var-truck-pickup; + truck-plane: @fa-var-truck-plane; + truck-ramp-box: @fa-var-truck-ramp-box; + truck-loading: @fa-var-truck-loading; + tty: @fa-var-tty; + teletype: @fa-var-teletype; + turkish-lira-sign: @fa-var-turkish-lira-sign; + try: @fa-var-try; + turkish-lira: @fa-var-turkish-lira; + turn-down: @fa-var-turn-down; + level-down-alt: @fa-var-level-down-alt; + turn-up: @fa-var-turn-up; + level-up-alt: @fa-var-level-up-alt; + tv: @fa-var-tv; + television: @fa-var-television; + tv-alt: @fa-var-tv-alt; + u: @fa-var-u; + umbrella: @fa-var-umbrella; + umbrella-beach: @fa-var-umbrella-beach; + underline: @fa-var-underline; + universal-access: @fa-var-universal-access; + unlock: @fa-var-unlock; + unlock-keyhole: @fa-var-unlock-keyhole; + unlock-alt: @fa-var-unlock-alt; + up-down: @fa-var-up-down; + arrows-alt-v: @fa-var-arrows-alt-v; + up-down-left-right: @fa-var-up-down-left-right; + arrows-alt: @fa-var-arrows-alt; + up-long: @fa-var-up-long; + long-arrow-alt-up: @fa-var-long-arrow-alt-up; + up-right-and-down-left-from-center: @fa-var-up-right-and-down-left-from-center; + expand-alt: @fa-var-expand-alt; + up-right-from-square: @fa-var-up-right-from-square; + external-link-alt: @fa-var-external-link-alt; + upload: @fa-var-upload; + user: @fa-var-user; + user-astronaut: @fa-var-user-astronaut; + user-check: @fa-var-user-check; + user-clock: @fa-var-user-clock; + user-doctor: @fa-var-user-doctor; + user-md: @fa-var-user-md; + user-gear: @fa-var-user-gear; + user-cog: @fa-var-user-cog; + user-graduate: @fa-var-user-graduate; + user-group: @fa-var-user-group; + user-friends: @fa-var-user-friends; + user-injured: @fa-var-user-injured; + user-large: @fa-var-user-large; + user-alt: @fa-var-user-alt; + user-large-slash: @fa-var-user-large-slash; + user-alt-slash: @fa-var-user-alt-slash; + user-lock: @fa-var-user-lock; + user-minus: @fa-var-user-minus; + user-ninja: @fa-var-user-ninja; + user-nurse: @fa-var-user-nurse; + user-pen: @fa-var-user-pen; + user-edit: @fa-var-user-edit; + user-plus: @fa-var-user-plus; + user-secret: @fa-var-user-secret; + user-shield: @fa-var-user-shield; + user-slash: @fa-var-user-slash; + user-tag: @fa-var-user-tag; + user-tie: @fa-var-user-tie; + user-xmark: @fa-var-user-xmark; + user-times: @fa-var-user-times; + users: @fa-var-users; + users-between-lines: @fa-var-users-between-lines; + users-gear: @fa-var-users-gear; + users-cog: @fa-var-users-cog; + users-line: @fa-var-users-line; + users-rays: @fa-var-users-rays; + users-rectangle: @fa-var-users-rectangle; + users-slash: @fa-var-users-slash; + users-viewfinder: @fa-var-users-viewfinder; + utensils: @fa-var-utensils; + cutlery: @fa-var-cutlery; + v: @fa-var-v; + van-shuttle: @fa-var-van-shuttle; + shuttle-van: @fa-var-shuttle-van; + vault: @fa-var-vault; + vector-square: @fa-var-vector-square; + venus: @fa-var-venus; + venus-double: @fa-var-venus-double; + venus-mars: @fa-var-venus-mars; + vest: @fa-var-vest; + vest-patches: @fa-var-vest-patches; + vial: @fa-var-vial; + vial-circle-check: @fa-var-vial-circle-check; + vial-virus: @fa-var-vial-virus; + vials: @fa-var-vials; + video: @fa-var-video; + video-camera: @fa-var-video-camera; + video-slash: @fa-var-video-slash; + vihara: @fa-var-vihara; + virus: @fa-var-virus; + virus-covid: @fa-var-virus-covid; + virus-covid-slash: @fa-var-virus-covid-slash; + virus-slash: @fa-var-virus-slash; + viruses: @fa-var-viruses; + voicemail: @fa-var-voicemail; + volcano: @fa-var-volcano; + volleyball: @fa-var-volleyball; + volleyball-ball: @fa-var-volleyball-ball; + volume-high: @fa-var-volume-high; + volume-up: @fa-var-volume-up; + volume-low: @fa-var-volume-low; + volume-down: @fa-var-volume-down; + volume-off: @fa-var-volume-off; + volume-xmark: @fa-var-volume-xmark; + volume-mute: @fa-var-volume-mute; + volume-times: @fa-var-volume-times; + vr-cardboard: @fa-var-vr-cardboard; + w: @fa-var-w; + walkie-talkie: @fa-var-walkie-talkie; + wallet: @fa-var-wallet; + wand-magic: @fa-var-wand-magic; + magic: @fa-var-magic; + wand-magic-sparkles: @fa-var-wand-magic-sparkles; + magic-wand-sparkles: @fa-var-magic-wand-sparkles; + wand-sparkles: @fa-var-wand-sparkles; + warehouse: @fa-var-warehouse; + water: @fa-var-water; + water-ladder: @fa-var-water-ladder; + ladder-water: @fa-var-ladder-water; + swimming-pool: @fa-var-swimming-pool; + wave-square: @fa-var-wave-square; + weight-hanging: @fa-var-weight-hanging; + weight-scale: @fa-var-weight-scale; + weight: @fa-var-weight; + wheat-awn: @fa-var-wheat-awn; + wheat-alt: @fa-var-wheat-alt; + wheat-awn-circle-exclamation: @fa-var-wheat-awn-circle-exclamation; + wheelchair: @fa-var-wheelchair; + wheelchair-move: @fa-var-wheelchair-move; + wheelchair-alt: @fa-var-wheelchair-alt; + whiskey-glass: @fa-var-whiskey-glass; + glass-whiskey: @fa-var-glass-whiskey; + wifi: @fa-var-wifi; + wifi-3: @fa-var-wifi-3; + wifi-strong: @fa-var-wifi-strong; + wind: @fa-var-wind; + window-maximize: @fa-var-window-maximize; + window-minimize: @fa-var-window-minimize; + window-restore: @fa-var-window-restore; + wine-bottle: @fa-var-wine-bottle; + wine-glass: @fa-var-wine-glass; + wine-glass-empty: @fa-var-wine-glass-empty; + wine-glass-alt: @fa-var-wine-glass-alt; + won-sign: @fa-var-won-sign; + krw: @fa-var-krw; + won: @fa-var-won; + worm: @fa-var-worm; + wrench: @fa-var-wrench; + x: @fa-var-x; + x-ray: @fa-var-x-ray; + xmark: @fa-var-xmark; + close: @fa-var-close; + multiply: @fa-var-multiply; + remove: @fa-var-remove; + times: @fa-var-times; + xmarks-lines: @fa-var-xmarks-lines; + y: @fa-var-y; + yen-sign: @fa-var-yen-sign; + cny: @fa-var-cny; + jpy: @fa-var-jpy; + rmb: @fa-var-rmb; + yen: @fa-var-yen; + yin-yang: @fa-var-yin-yang; + z: @fa-var-z; +} + +.fa-brand-icons() { + 42-group: @fa-var-42-group; + innosoft: @fa-var-innosoft; + 500px: @fa-var-500px; + accessible-icon: @fa-var-accessible-icon; + accusoft: @fa-var-accusoft; + adn: @fa-var-adn; + adversal: @fa-var-adversal; + affiliatetheme: @fa-var-affiliatetheme; + airbnb: @fa-var-airbnb; + algolia: @fa-var-algolia; + alipay: @fa-var-alipay; + amazon: @fa-var-amazon; + amazon-pay: @fa-var-amazon-pay; + amilia: @fa-var-amilia; + android: @fa-var-android; + angellist: @fa-var-angellist; + angrycreative: @fa-var-angrycreative; + angular: @fa-var-angular; + app-store: @fa-var-app-store; + app-store-ios: @fa-var-app-store-ios; + apper: @fa-var-apper; + apple: @fa-var-apple; + apple-pay: @fa-var-apple-pay; + artstation: @fa-var-artstation; + asymmetrik: @fa-var-asymmetrik; + atlassian: @fa-var-atlassian; + audible: @fa-var-audible; + autoprefixer: @fa-var-autoprefixer; + avianex: @fa-var-avianex; + aviato: @fa-var-aviato; + aws: @fa-var-aws; + bandcamp: @fa-var-bandcamp; + battle-net: @fa-var-battle-net; + behance: @fa-var-behance; + bilibili: @fa-var-bilibili; + bimobject: @fa-var-bimobject; + bitbucket: @fa-var-bitbucket; + bitcoin: @fa-var-bitcoin; + bity: @fa-var-bity; + black-tie: @fa-var-black-tie; + blackberry: @fa-var-blackberry; + blogger: @fa-var-blogger; + blogger-b: @fa-var-blogger-b; + bluetooth: @fa-var-bluetooth; + bluetooth-b: @fa-var-bluetooth-b; + bootstrap: @fa-var-bootstrap; + bots: @fa-var-bots; + btc: @fa-var-btc; + buffer: @fa-var-buffer; + buromobelexperte: @fa-var-buromobelexperte; + buy-n-large: @fa-var-buy-n-large; + buysellads: @fa-var-buysellads; + canadian-maple-leaf: @fa-var-canadian-maple-leaf; + cc-amazon-pay: @fa-var-cc-amazon-pay; + cc-amex: @fa-var-cc-amex; + cc-apple-pay: @fa-var-cc-apple-pay; + cc-diners-club: @fa-var-cc-diners-club; + cc-discover: @fa-var-cc-discover; + cc-jcb: @fa-var-cc-jcb; + cc-mastercard: @fa-var-cc-mastercard; + cc-paypal: @fa-var-cc-paypal; + cc-stripe: @fa-var-cc-stripe; + cc-visa: @fa-var-cc-visa; + centercode: @fa-var-centercode; + centos: @fa-var-centos; + chrome: @fa-var-chrome; + chromecast: @fa-var-chromecast; + cloudflare: @fa-var-cloudflare; + cloudscale: @fa-var-cloudscale; + cloudsmith: @fa-var-cloudsmith; + cloudversify: @fa-var-cloudversify; + cmplid: @fa-var-cmplid; + codepen: @fa-var-codepen; + codiepie: @fa-var-codiepie; + confluence: @fa-var-confluence; + connectdevelop: @fa-var-connectdevelop; + contao: @fa-var-contao; + cotton-bureau: @fa-var-cotton-bureau; + cpanel: @fa-var-cpanel; + creative-commons: @fa-var-creative-commons; + creative-commons-by: @fa-var-creative-commons-by; + creative-commons-nc: @fa-var-creative-commons-nc; + creative-commons-nc-eu: @fa-var-creative-commons-nc-eu; + creative-commons-nc-jp: @fa-var-creative-commons-nc-jp; + creative-commons-nd: @fa-var-creative-commons-nd; + creative-commons-pd: @fa-var-creative-commons-pd; + creative-commons-pd-alt: @fa-var-creative-commons-pd-alt; + creative-commons-remix: @fa-var-creative-commons-remix; + creative-commons-sa: @fa-var-creative-commons-sa; + creative-commons-sampling: @fa-var-creative-commons-sampling; + creative-commons-sampling-plus: @fa-var-creative-commons-sampling-plus; + creative-commons-share: @fa-var-creative-commons-share; + creative-commons-zero: @fa-var-creative-commons-zero; + critical-role: @fa-var-critical-role; + css3: @fa-var-css3; + css3-alt: @fa-var-css3-alt; + cuttlefish: @fa-var-cuttlefish; + d-and-d: @fa-var-d-and-d; + d-and-d-beyond: @fa-var-d-and-d-beyond; + dailymotion: @fa-var-dailymotion; + dashcube: @fa-var-dashcube; + deezer: @fa-var-deezer; + delicious: @fa-var-delicious; + deploydog: @fa-var-deploydog; + deskpro: @fa-var-deskpro; + dev: @fa-var-dev; + deviantart: @fa-var-deviantart; + dhl: @fa-var-dhl; + diaspora: @fa-var-diaspora; + digg: @fa-var-digg; + digital-ocean: @fa-var-digital-ocean; + discord: @fa-var-discord; + discourse: @fa-var-discourse; + dochub: @fa-var-dochub; + docker: @fa-var-docker; + draft2digital: @fa-var-draft2digital; + dribbble: @fa-var-dribbble; + dropbox: @fa-var-dropbox; + drupal: @fa-var-drupal; + dyalog: @fa-var-dyalog; + earlybirds: @fa-var-earlybirds; + ebay: @fa-var-ebay; + edge: @fa-var-edge; + edge-legacy: @fa-var-edge-legacy; + elementor: @fa-var-elementor; + ello: @fa-var-ello; + ember: @fa-var-ember; + empire: @fa-var-empire; + envira: @fa-var-envira; + erlang: @fa-var-erlang; + ethereum: @fa-var-ethereum; + etsy: @fa-var-etsy; + evernote: @fa-var-evernote; + expeditedssl: @fa-var-expeditedssl; + facebook: @fa-var-facebook; + facebook-f: @fa-var-facebook-f; + facebook-messenger: @fa-var-facebook-messenger; + fantasy-flight-games: @fa-var-fantasy-flight-games; + fedex: @fa-var-fedex; + fedora: @fa-var-fedora; + figma: @fa-var-figma; + firefox: @fa-var-firefox; + firefox-browser: @fa-var-firefox-browser; + first-order: @fa-var-first-order; + first-order-alt: @fa-var-first-order-alt; + firstdraft: @fa-var-firstdraft; + flickr: @fa-var-flickr; + flipboard: @fa-var-flipboard; + fly: @fa-var-fly; + font-awesome: @fa-var-font-awesome; + font-awesome-flag: @fa-var-font-awesome-flag; + font-awesome-logo-full: @fa-var-font-awesome-logo-full; + fonticons: @fa-var-fonticons; + fonticons-fi: @fa-var-fonticons-fi; + fort-awesome: @fa-var-fort-awesome; + fort-awesome-alt: @fa-var-fort-awesome-alt; + forumbee: @fa-var-forumbee; + foursquare: @fa-var-foursquare; + free-code-camp: @fa-var-free-code-camp; + freebsd: @fa-var-freebsd; + fulcrum: @fa-var-fulcrum; + galactic-republic: @fa-var-galactic-republic; + galactic-senate: @fa-var-galactic-senate; + get-pocket: @fa-var-get-pocket; + gg: @fa-var-gg; + gg-circle: @fa-var-gg-circle; + git: @fa-var-git; + git-alt: @fa-var-git-alt; + github: @fa-var-github; + github-alt: @fa-var-github-alt; + gitkraken: @fa-var-gitkraken; + gitlab: @fa-var-gitlab; + gitter: @fa-var-gitter; + glide: @fa-var-glide; + glide-g: @fa-var-glide-g; + gofore: @fa-var-gofore; + golang: @fa-var-golang; + goodreads: @fa-var-goodreads; + goodreads-g: @fa-var-goodreads-g; + google: @fa-var-google; + google-drive: @fa-var-google-drive; + google-pay: @fa-var-google-pay; + google-play: @fa-var-google-play; + google-plus: @fa-var-google-plus; + google-plus-g: @fa-var-google-plus-g; + google-wallet: @fa-var-google-wallet; + gratipay: @fa-var-gratipay; + grav: @fa-var-grav; + gripfire: @fa-var-gripfire; + grunt: @fa-var-grunt; + guilded: @fa-var-guilded; + gulp: @fa-var-gulp; + hacker-news: @fa-var-hacker-news; + hackerrank: @fa-var-hackerrank; + hashnode: @fa-var-hashnode; + hips: @fa-var-hips; + hire-a-helper: @fa-var-hire-a-helper; + hive: @fa-var-hive; + hooli: @fa-var-hooli; + hornbill: @fa-var-hornbill; + hotjar: @fa-var-hotjar; + houzz: @fa-var-houzz; + html5: @fa-var-html5; + hubspot: @fa-var-hubspot; + ideal: @fa-var-ideal; + imdb: @fa-var-imdb; + instagram: @fa-var-instagram; + instalod: @fa-var-instalod; + intercom: @fa-var-intercom; + internet-explorer: @fa-var-internet-explorer; + invision: @fa-var-invision; + ioxhost: @fa-var-ioxhost; + itch-io: @fa-var-itch-io; + itunes: @fa-var-itunes; + itunes-note: @fa-var-itunes-note; + java: @fa-var-java; + jedi-order: @fa-var-jedi-order; + jenkins: @fa-var-jenkins; + jira: @fa-var-jira; + joget: @fa-var-joget; + joomla: @fa-var-joomla; + js: @fa-var-js; + jsfiddle: @fa-var-jsfiddle; + kaggle: @fa-var-kaggle; + keybase: @fa-var-keybase; + keycdn: @fa-var-keycdn; + kickstarter: @fa-var-kickstarter; + kickstarter-k: @fa-var-kickstarter-k; + korvue: @fa-var-korvue; + laravel: @fa-var-laravel; + lastfm: @fa-var-lastfm; + leanpub: @fa-var-leanpub; + less: @fa-var-less; + line: @fa-var-line; + linkedin: @fa-var-linkedin; + linkedin-in: @fa-var-linkedin-in; + linode: @fa-var-linode; + linux: @fa-var-linux; + lyft: @fa-var-lyft; + magento: @fa-var-magento; + mailchimp: @fa-var-mailchimp; + mandalorian: @fa-var-mandalorian; + markdown: @fa-var-markdown; + mastodon: @fa-var-mastodon; + maxcdn: @fa-var-maxcdn; + mdb: @fa-var-mdb; + medapps: @fa-var-medapps; + medium: @fa-var-medium; + medium-m: @fa-var-medium-m; + medrt: @fa-var-medrt; + meetup: @fa-var-meetup; + megaport: @fa-var-megaport; + mendeley: @fa-var-mendeley; + meta: @fa-var-meta; + microblog: @fa-var-microblog; + microsoft: @fa-var-microsoft; + mix: @fa-var-mix; + mixcloud: @fa-var-mixcloud; + mixer: @fa-var-mixer; + mizuni: @fa-var-mizuni; + modx: @fa-var-modx; + monero: @fa-var-monero; + napster: @fa-var-napster; + neos: @fa-var-neos; + nfc-directional: @fa-var-nfc-directional; + nfc-symbol: @fa-var-nfc-symbol; + nimblr: @fa-var-nimblr; + node: @fa-var-node; + node-js: @fa-var-node-js; + npm: @fa-var-npm; + ns8: @fa-var-ns8; + nutritionix: @fa-var-nutritionix; + octopus-deploy: @fa-var-octopus-deploy; + odnoklassniki: @fa-var-odnoklassniki; + old-republic: @fa-var-old-republic; + opencart: @fa-var-opencart; + openid: @fa-var-openid; + opera: @fa-var-opera; + optin-monster: @fa-var-optin-monster; + orcid: @fa-var-orcid; + osi: @fa-var-osi; + padlet: @fa-var-padlet; + page4: @fa-var-page4; + pagelines: @fa-var-pagelines; + palfed: @fa-var-palfed; + patreon: @fa-var-patreon; + paypal: @fa-var-paypal; + perbyte: @fa-var-perbyte; + periscope: @fa-var-periscope; + phabricator: @fa-var-phabricator; + phoenix-framework: @fa-var-phoenix-framework; + phoenix-squadron: @fa-var-phoenix-squadron; + php: @fa-var-php; + pied-piper: @fa-var-pied-piper; + pied-piper-alt: @fa-var-pied-piper-alt; + pied-piper-hat: @fa-var-pied-piper-hat; + pied-piper-pp: @fa-var-pied-piper-pp; + pinterest: @fa-var-pinterest; + pinterest-p: @fa-var-pinterest-p; + pix: @fa-var-pix; + playstation: @fa-var-playstation; + product-hunt: @fa-var-product-hunt; + pushed: @fa-var-pushed; + python: @fa-var-python; + qq: @fa-var-qq; + quinscape: @fa-var-quinscape; + quora: @fa-var-quora; + r-project: @fa-var-r-project; + raspberry-pi: @fa-var-raspberry-pi; + ravelry: @fa-var-ravelry; + react: @fa-var-react; + reacteurope: @fa-var-reacteurope; + readme: @fa-var-readme; + rebel: @fa-var-rebel; + red-river: @fa-var-red-river; + reddit: @fa-var-reddit; + reddit-alien: @fa-var-reddit-alien; + redhat: @fa-var-redhat; + renren: @fa-var-renren; + replyd: @fa-var-replyd; + researchgate: @fa-var-researchgate; + resolving: @fa-var-resolving; + rev: @fa-var-rev; + rocketchat: @fa-var-rocketchat; + rockrms: @fa-var-rockrms; + rust: @fa-var-rust; + safari: @fa-var-safari; + salesforce: @fa-var-salesforce; + sass: @fa-var-sass; + schlix: @fa-var-schlix; + screenpal: @fa-var-screenpal; + scribd: @fa-var-scribd; + searchengin: @fa-var-searchengin; + sellcast: @fa-var-sellcast; + sellsy: @fa-var-sellsy; + servicestack: @fa-var-servicestack; + shirtsinbulk: @fa-var-shirtsinbulk; + shopify: @fa-var-shopify; + shopware: @fa-var-shopware; + simplybuilt: @fa-var-simplybuilt; + sistrix: @fa-var-sistrix; + sith: @fa-var-sith; + sitrox: @fa-var-sitrox; + sketch: @fa-var-sketch; + skyatlas: @fa-var-skyatlas; + skype: @fa-var-skype; + slack: @fa-var-slack; + slack-hash: @fa-var-slack-hash; + slideshare: @fa-var-slideshare; + snapchat: @fa-var-snapchat; + snapchat-ghost: @fa-var-snapchat-ghost; + soundcloud: @fa-var-soundcloud; + sourcetree: @fa-var-sourcetree; + space-awesome: @fa-var-space-awesome; + speakap: @fa-var-speakap; + speaker-deck: @fa-var-speaker-deck; + spotify: @fa-var-spotify; + square-behance: @fa-var-square-behance; + behance-square: @fa-var-behance-square; + square-dribbble: @fa-var-square-dribbble; + dribbble-square: @fa-var-dribbble-square; + square-facebook: @fa-var-square-facebook; + facebook-square: @fa-var-facebook-square; + square-font-awesome: @fa-var-square-font-awesome; + square-font-awesome-stroke: @fa-var-square-font-awesome-stroke; + font-awesome-alt: @fa-var-font-awesome-alt; + square-git: @fa-var-square-git; + git-square: @fa-var-git-square; + square-github: @fa-var-square-github; + github-square: @fa-var-github-square; + square-gitlab: @fa-var-square-gitlab; + gitlab-square: @fa-var-gitlab-square; + square-google-plus: @fa-var-square-google-plus; + google-plus-square: @fa-var-google-plus-square; + square-hacker-news: @fa-var-square-hacker-news; + hacker-news-square: @fa-var-hacker-news-square; + square-instagram: @fa-var-square-instagram; + instagram-square: @fa-var-instagram-square; + square-js: @fa-var-square-js; + js-square: @fa-var-js-square; + square-lastfm: @fa-var-square-lastfm; + lastfm-square: @fa-var-lastfm-square; + square-odnoklassniki: @fa-var-square-odnoklassniki; + odnoklassniki-square: @fa-var-odnoklassniki-square; + square-pied-piper: @fa-var-square-pied-piper; + pied-piper-square: @fa-var-pied-piper-square; + square-pinterest: @fa-var-square-pinterest; + pinterest-square: @fa-var-pinterest-square; + square-reddit: @fa-var-square-reddit; + reddit-square: @fa-var-reddit-square; + square-snapchat: @fa-var-square-snapchat; + snapchat-square: @fa-var-snapchat-square; + square-steam: @fa-var-square-steam; + steam-square: @fa-var-steam-square; + square-tumblr: @fa-var-square-tumblr; + tumblr-square: @fa-var-tumblr-square; + square-twitter: @fa-var-square-twitter; + twitter-square: @fa-var-twitter-square; + square-viadeo: @fa-var-square-viadeo; + viadeo-square: @fa-var-viadeo-square; + square-vimeo: @fa-var-square-vimeo; + vimeo-square: @fa-var-vimeo-square; + square-whatsapp: @fa-var-square-whatsapp; + whatsapp-square: @fa-var-whatsapp-square; + square-xing: @fa-var-square-xing; + xing-square: @fa-var-xing-square; + square-youtube: @fa-var-square-youtube; + youtube-square: @fa-var-youtube-square; + squarespace: @fa-var-squarespace; + stack-exchange: @fa-var-stack-exchange; + stack-overflow: @fa-var-stack-overflow; + stackpath: @fa-var-stackpath; + staylinked: @fa-var-staylinked; + steam: @fa-var-steam; + steam-symbol: @fa-var-steam-symbol; + sticker-mule: @fa-var-sticker-mule; + strava: @fa-var-strava; + stripe: @fa-var-stripe; + stripe-s: @fa-var-stripe-s; + studiovinari: @fa-var-studiovinari; + stumbleupon: @fa-var-stumbleupon; + stumbleupon-circle: @fa-var-stumbleupon-circle; + superpowers: @fa-var-superpowers; + supple: @fa-var-supple; + suse: @fa-var-suse; + swift: @fa-var-swift; + symfony: @fa-var-symfony; + teamspeak: @fa-var-teamspeak; + telegram: @fa-var-telegram; + telegram-plane: @fa-var-telegram-plane; + tencent-weibo: @fa-var-tencent-weibo; + the-red-yeti: @fa-var-the-red-yeti; + themeco: @fa-var-themeco; + themeisle: @fa-var-themeisle; + think-peaks: @fa-var-think-peaks; + tiktok: @fa-var-tiktok; + trade-federation: @fa-var-trade-federation; + trello: @fa-var-trello; + tumblr: @fa-var-tumblr; + twitch: @fa-var-twitch; + twitter: @fa-var-twitter; + typo3: @fa-var-typo3; + uber: @fa-var-uber; + ubuntu: @fa-var-ubuntu; + uikit: @fa-var-uikit; + umbraco: @fa-var-umbraco; + uncharted: @fa-var-uncharted; + uniregistry: @fa-var-uniregistry; + unity: @fa-var-unity; + unsplash: @fa-var-unsplash; + untappd: @fa-var-untappd; + ups: @fa-var-ups; + usb: @fa-var-usb; + usps: @fa-var-usps; + ussunnah: @fa-var-ussunnah; + vaadin: @fa-var-vaadin; + viacoin: @fa-var-viacoin; + viadeo: @fa-var-viadeo; + viber: @fa-var-viber; + vimeo: @fa-var-vimeo; + vimeo-v: @fa-var-vimeo-v; + vine: @fa-var-vine; + vk: @fa-var-vk; + vnv: @fa-var-vnv; + vuejs: @fa-var-vuejs; + watchman-monitoring: @fa-var-watchman-monitoring; + waze: @fa-var-waze; + weebly: @fa-var-weebly; + weibo: @fa-var-weibo; + weixin: @fa-var-weixin; + whatsapp: @fa-var-whatsapp; + whmcs: @fa-var-whmcs; + wikipedia-w: @fa-var-wikipedia-w; + windows: @fa-var-windows; + wirsindhandwerk: @fa-var-wirsindhandwerk; + wsh: @fa-var-wsh; + wix: @fa-var-wix; + wizards-of-the-coast: @fa-var-wizards-of-the-coast; + wodu: @fa-var-wodu; + wolf-pack-battalion: @fa-var-wolf-pack-battalion; + wordpress: @fa-var-wordpress; + wordpress-simple: @fa-var-wordpress-simple; + wpbeginner: @fa-var-wpbeginner; + wpexplorer: @fa-var-wpexplorer; + wpforms: @fa-var-wpforms; + wpressr: @fa-var-wpressr; + rendact: @fa-var-rendact; + xbox: @fa-var-xbox; + xing: @fa-var-xing; + y-combinator: @fa-var-y-combinator; + yahoo: @fa-var-yahoo; + yammer: @fa-var-yammer; + yandex: @fa-var-yandex; + yandex-international: @fa-var-yandex-international; + yarn: @fa-var-yarn; + yelp: @fa-var-yelp; + yoast: @fa-var-yoast; + youtube: @fa-var-youtube; + zhihu: @fa-var-zhihu; +} diff --git a/framework/reon/assets/css/fontawesome/less/brands.less b/framework/reon/assets/css/fontawesome/less/brands.less new file mode 100644 index 0000000..e8774ec --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/brands.less @@ -0,0 +1,29 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +@import "_variables.less"; + +:root, :host { + --@{fa-css-prefix}-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; +} + +@font-face { + font-family: 'Font Awesome 6 Brands'; + font-style: normal; + font-weight: 400; + font-display: @fa-font-display; + src: url('@{fa-font-path}/fa-brands-400.woff2') format('woff2'), + url('@{fa-font-path}/fa-brands-400.ttf') format('truetype'); +} + +.fab, +.@{fa-css-prefix}-brands { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +each(.fa-brand-icons(), { + .@{fa-css-prefix}-@{key}:before { content: @value; } +}); diff --git a/framework/reon/assets/css/fontawesome/less/fontawesome.less b/framework/reon/assets/css/fontawesome/less/fontawesome.less new file mode 100644 index 0000000..0115d3a --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/fontawesome.less @@ -0,0 +1,20 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +// Font Awesome core compile (Web Fonts-based) +// ------------------------- + +@import "_variables.less"; +@import "_mixins.less"; +@import "_core.less"; +@import "_sizing.less"; +@import "_fixed-width.less"; +@import "_list.less"; +@import "_bordered-pulled.less"; +@import "_animated.less"; +@import "_rotated-flipped.less"; +@import "_stacked.less"; +@import "_icons.less"; +@import "_screen-reader.less"; diff --git a/framework/reon/assets/css/fontawesome/less/regular.less b/framework/reon/assets/css/fontawesome/less/regular.less new file mode 100644 index 0000000..cfdd149 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/regular.less @@ -0,0 +1,25 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +@import "_variables.less"; + +:root, :host { + --@{fa-css-prefix}-font-regular: normal 400 1em/1 "@{fa-style-family}"; +} + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 400; + font-display: @fa-font-display; + src: url('@{fa-font-path}/fa-regular-400.woff2') format('woff2'), + url('@{fa-font-path}/fa-regular-400.ttf') format('truetype'); +} + +.far, +.@{fa-css-prefix}-regular { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} diff --git a/framework/reon/assets/css/fontawesome/less/solid.less b/framework/reon/assets/css/fontawesome/less/solid.less new file mode 100644 index 0000000..6815d13 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/solid.less @@ -0,0 +1,26 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +@import "_variables.less"; + +:root, :host { + --@{fa-css-prefix}-font-solid: normal 900 1em/1 "@{fa-style-family}"; +} + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 900; + font-display: @fa-font-display; + src: url('@{fa-font-path}/fa-solid-900.woff2') format('woff2'), + url('@{fa-font-path}/fa-solid-900.ttf') format('truetype'); +} + + +.fas, +.@{fa-css-prefix}-solid { + font-family: 'Font Awesome 6 Free'; + font-weight: 900; +} diff --git a/framework/reon/assets/css/fontawesome/less/v4-shims.less b/framework/reon/assets/css/fontawesome/less/v4-shims.less new file mode 100644 index 0000000..7009aff --- /dev/null +++ b/framework/reon/assets/css/fontawesome/less/v4-shims.less @@ -0,0 +1,10 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +// V4 shims compile (Web Fonts-based) +// ------------------------- + +@import '_variables.less'; +@import '_shims.less'; diff --git a/framework/reon/assets/css/fontawesome/scss/_animated.scss b/framework/reon/assets/css/fontawesome/scss/_animated.scss new file mode 100644 index 0000000..de88568 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_animated.scss @@ -0,0 +1,153 @@ +// animating icons +// -------------------------- + +.#{$fa-css-prefix}-beat { + animation-name: #{$fa-css-prefix}-beat; + animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0); + animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); + animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); + animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); + animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, ease-in-out); +} + +.#{$fa-css-prefix}-bounce { + animation-name: #{$fa-css-prefix}-bounce; + animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0); + animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); + animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); + animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); + animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(0.280, 0.840, 0.420, 1)); +} + +.#{$fa-css-prefix}-fade { + animation-name: #{$fa-css-prefix}-fade; + animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0); + animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); + animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); + animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); + animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1)); +} + +.#{$fa-css-prefix}-beat-fade { + animation-name: #{$fa-css-prefix}-beat-fade; + animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0); + animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); + animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); + animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); + animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1)); +} + +.#{$fa-css-prefix}-flip { + animation-name: #{$fa-css-prefix}-flip; + animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0); + animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); + animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); + animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); + animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, ease-in-out); +} + +.#{$fa-css-prefix}-shake { + animation-name: #{$fa-css-prefix}-shake; + animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0); + animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); + animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); + animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); + animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, linear); +} + +.#{$fa-css-prefix}-spin { + animation-name: #{$fa-css-prefix}-spin; + animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0); + animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); + animation-duration: var(--#{$fa-css-prefix}-animation-duration, 2s); + animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); + animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, linear); +} + +.#{$fa-css-prefix}-spin-reverse { + --#{$fa-css-prefix}-animation-direction: reverse; +} + +.#{$fa-css-prefix}-pulse, +.#{$fa-css-prefix}-spin-pulse { + animation-name: #{$fa-css-prefix}-spin; + animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); + animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); + animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); + animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, steps(8)); +} + +// if agent or operating system prefers reduced motion, disable animations +// see: https://www.smashingmagazine.com/2020/09/design-reduced-motion-sensitivities/ +// see: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion +@media (prefers-reduced-motion: reduce) { + .#{$fa-css-prefix}-beat, + .#{$fa-css-prefix}-bounce, + .#{$fa-css-prefix}-fade, + .#{$fa-css-prefix}-beat-fade, + .#{$fa-css-prefix}-flip, + .#{$fa-css-prefix}-pulse, + .#{$fa-css-prefix}-shake, + .#{$fa-css-prefix}-spin, + .#{$fa-css-prefix}-spin-pulse { + animation-delay: -1ms; + animation-duration: 1ms; + animation-iteration-count: 1; + transition-delay: 0s; + transition-duration: 0s; + } +} + +@keyframes #{$fa-css-prefix}-beat { + 0%, 90% { transform: scale(1); } + 45% { transform: scale(var(--#{$fa-css-prefix}-beat-scale, 1.25)); } +} + +@keyframes #{$fa-css-prefix}-bounce { + 0% { transform: scale(1,1) translateY(0); } + 10% { transform: scale(var(--#{$fa-css-prefix}-bounce-start-scale-x, 1.1),var(--#{$fa-css-prefix}-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { transform: scale(var(--#{$fa-css-prefix}-bounce-jump-scale-x, 0.9),var(--#{$fa-css-prefix}-bounce-jump-scale-y, 1.1)) translateY(var(--#{$fa-css-prefix}-bounce-height, -0.5em)); } + 50% { transform: scale(var(--#{$fa-css-prefix}-bounce-land-scale-x, 1.05),var(--#{$fa-css-prefix}-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { transform: scale(1,1) translateY(var(--#{$fa-css-prefix}-bounce-rebound, -0.125em)); } + 64% { transform: scale(1,1) translateY(0); } + 100% { transform: scale(1,1) translateY(0); } +} + +@keyframes #{$fa-css-prefix}-fade { + 50% { opacity: var(--#{$fa-css-prefix}-fade-opacity, 0.4); } +} + +@keyframes #{$fa-css-prefix}-beat-fade { + 0%, 100% { + opacity: var(--#{$fa-css-prefix}-beat-fade-opacity, 0.4); + transform: scale(1); + } + 50% { + opacity: 1; + transform: scale(var(--#{$fa-css-prefix}-beat-fade-scale, 1.125)); + } +} + +@keyframes #{$fa-css-prefix}-flip { + 50% { + transform: rotate3d(var(--#{$fa-css-prefix}-flip-x, 0), var(--#{$fa-css-prefix}-flip-y, 1), var(--#{$fa-css-prefix}-flip-z, 0), var(--#{$fa-css-prefix}-flip-angle, -180deg)); + } +} + +@keyframes #{$fa-css-prefix}-shake { + 0% { transform: rotate(-15deg); } + 4% { transform: rotate(15deg); } + 8%, 24% { transform: rotate(-18deg); } + 12%, 28% { transform: rotate(18deg); } + 16% { transform: rotate(-22deg); } + 20% { transform: rotate(22deg); } + 32% { transform: rotate(-12deg); } + 36% { transform: rotate(12deg); } + 40%, 100% { transform: rotate(0deg); } +} + +@keyframes #{$fa-css-prefix}-spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + diff --git a/framework/reon/assets/css/fontawesome/scss/_bordered-pulled.scss b/framework/reon/assets/css/fontawesome/scss/_bordered-pulled.scss new file mode 100644 index 0000000..9068253 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_bordered-pulled.scss @@ -0,0 +1,20 @@ +// bordered + pulled icons +// ------------------------- + +.#{$fa-css-prefix}-border { + border-color: var(--#{$fa-css-prefix}-border-color, #{$fa-border-color}); + border-radius: var(--#{$fa-css-prefix}-border-radius, #{$fa-border-radius}); + border-style: var(--#{$fa-css-prefix}-border-style, #{$fa-border-style}); + border-width: var(--#{$fa-css-prefix}-border-width, #{$fa-border-width}); + padding: var(--#{$fa-css-prefix}-border-padding, #{$fa-border-padding}); +} + +.#{$fa-css-prefix}-pull-left { + float: left; + margin-right: var(--#{$fa-css-prefix}-pull-margin, #{$fa-pull-margin}); +} + +.#{$fa-css-prefix}-pull-right { + float: right; + margin-left: var(--#{$fa-css-prefix}-pull-margin, #{$fa-pull-margin}); +} diff --git a/framework/reon/assets/css/fontawesome/scss/_core.scss b/framework/reon/assets/css/fontawesome/scss/_core.scss new file mode 100644 index 0000000..382335a --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_core.scss @@ -0,0 +1,33 @@ +// base icon class definition +// ------------------------- + +.#{$fa-css-prefix} { + font-family: var(--#{$fa-css-prefix}-style-family, '#{$fa-style-family}'); + font-weight: var(--#{$fa-css-prefix}-style, #{$fa-style}); +} + +.#{$fa-css-prefix}, +.fas, +.#{$fa-css-prefix}-solid, +.far, +.#{$fa-css-prefix}-regular, +.fal, +.#{$fa-css-prefix}-light, +.fat, +.#{$fa-css-prefix}-thin, +.fad, +.#{$fa-css-prefix}-duotone, +.fab, +.#{$fa-css-prefix}-brands { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: var(--#{$fa-css-prefix}-display, #{$fa-display}); + font-style: normal; + font-variant: normal; + line-height: 1; + text-rendering: auto; +} + +%fa-icon { + @include fa-icon; +} diff --git a/framework/reon/assets/css/fontawesome/scss/_fixed-width.scss b/framework/reon/assets/css/fontawesome/scss/_fixed-width.scss new file mode 100644 index 0000000..7234236 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_fixed-width.scss @@ -0,0 +1,7 @@ +// fixed-width icons +// ------------------------- + +.#{$fa-css-prefix}-fw { + text-align: center; + width: $fa-fw-width; +} diff --git a/framework/reon/assets/css/fontawesome/scss/_functions.scss b/framework/reon/assets/css/fontawesome/scss/_functions.scss new file mode 100644 index 0000000..a17ffe8 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_functions.scss @@ -0,0 +1,57 @@ +// functions +// -------------------------- + +// fa-content: convenience function used to set content property +@function fa-content($fa-var) { + @return unquote("\"#{ $fa-var }\""); +} + +// fa-divide: Originally obtained from the Bootstrap https://github.com/twbs/bootstrap +// +// Licensed under: The MIT License (MIT) +// +// Copyright (c) 2011-2021 Twitter, Inc. +// Copyright (c) 2011-2021 The Bootstrap Authors +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +@function fa-divide($dividend, $divisor, $precision: 10) { + $sign: if($dividend > 0 and $divisor > 0, 1, -1); + $dividend: abs($dividend); + $divisor: abs($divisor); + $quotient: 0; + $remainder: $dividend; + @if $dividend == 0 { + @return 0; + } + @if $divisor == 0 { + @error "Cannot divide by 0"; + } + @if $divisor == 1 { + @return $dividend; + } + @while $remainder >= $divisor { + $quotient: $quotient + 1; + $remainder: $remainder - $divisor; + } + @if $remainder > 0 and $precision > 0 { + $remainder: fa-divide($remainder * 10, $divisor, $precision - 1) * .1; + } + @return ($quotient + $remainder) * $sign; +} diff --git a/framework/reon/assets/css/fontawesome/scss/_icons.scss b/framework/reon/assets/css/fontawesome/scss/_icons.scss new file mode 100644 index 0000000..9e57e39 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_icons.scss @@ -0,0 +1,9 @@ +// specific icon class definition +// ------------------------- + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ + +@each $name, $icon in $fa-icons { + .#{$fa-css-prefix}-#{$name}::before { content: unquote("\"#{ $icon }\""); } +} diff --git a/framework/reon/assets/css/fontawesome/scss/_list.scss b/framework/reon/assets/css/fontawesome/scss/_list.scss new file mode 100644 index 0000000..ced36e2 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_list.scss @@ -0,0 +1,18 @@ +// icons in a list +// ------------------------- + +.#{$fa-css-prefix}-ul { + list-style-type: none; + margin-left: var(--#{$fa-css-prefix}-li-margin, #{$fa-li-margin}); + padding-left: 0; + + > li { position: relative; } +} + +.#{$fa-css-prefix}-li { + left: calc(var(--#{$fa-css-prefix}-li-width, #{$fa-li-width}) * -1); + position: absolute; + text-align: center; + width: var(--#{$fa-css-prefix}-li-width, #{$fa-li-width}); + line-height: inherit; +} diff --git a/framework/reon/assets/css/fontawesome/scss/_mixins.scss b/framework/reon/assets/css/fontawesome/scss/_mixins.scss new file mode 100644 index 0000000..ad3dfda --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_mixins.scss @@ -0,0 +1,73 @@ +// mixins +// -------------------------- + +// base rendering for an icon +@mixin fa-icon { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: inline-block; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; +} + +// sets relative font-sizing and alignment (in _sizing) +@mixin fa-size ($font-size) { + font-size: fa-divide($font-size, $fa-size-scale-base) * 1em; // converts step in sizing scale into an em-based value that's relative to the scale's base + line-height: fa-divide(1, $font-size) * 1em; // sets the line-height of the icon back to that of it's parent + vertical-align: (fa-divide(6, $font-size) - fa-divide(3, 8)) * 1em; // vertically centers the icon taking into account the surrounding text's descender +} + +// only display content to screen readers +// see: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/ +// see: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ +@mixin fa-sr-only() { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +// use in conjunction with .sr-only to only display content when it's focused +@mixin fa-sr-only-focusable() { + &:not(:focus) { + @include fa-sr-only(); + } +} + +// convenience mixins for declaring pseudo-elements by CSS variable, +// including all style-specific font properties, and both the ::before +// and ::after elements in the duotone case. +@mixin fa-icon-solid($fa-var) { + @extend %fa-icon; + @extend .fa-solid; + + &::before { + content: unquote("\"#{ $fa-var }\""); + } +} + +@mixin fa-icon-regular($fa-var) { + @extend %fa-icon; + @extend .fa-regular; + + &::before { + content: unquote("\"#{ $fa-var }\""); + } +} + +@mixin fa-icon-brands($fa-var) { + @extend %fa-icon; + @extend .fa-brands; + + &::before { + content: unquote("\"#{ $fa-var }\""); + } +} + diff --git a/framework/reon/assets/css/fontawesome/scss/_rotated-flipped.scss b/framework/reon/assets/css/fontawesome/scss/_rotated-flipped.scss new file mode 100644 index 0000000..f27fabe --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_rotated-flipped.scss @@ -0,0 +1,31 @@ +// rotating + flipping icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { + transform: rotate(90deg); +} + +.#{$fa-css-prefix}-rotate-180 { + transform: rotate(180deg); +} + +.#{$fa-css-prefix}-rotate-270 { + transform: rotate(270deg); +} + +.#{$fa-css-prefix}-flip-horizontal { + transform: scale(-1, 1); +} + +.#{$fa-css-prefix}-flip-vertical { + transform: scale(1, -1); +} + +.#{$fa-css-prefix}-flip-both, +.#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { + transform: scale(-1, -1); +} + +.#{$fa-css-prefix}-rotate-by { + transform: rotate(var(--#{$fa-css-prefix}-rotate-angle, none)); +} diff --git a/framework/reon/assets/css/fontawesome/scss/_screen-reader.scss b/framework/reon/assets/css/fontawesome/scss/_screen-reader.scss new file mode 100644 index 0000000..2beb887 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_screen-reader.scss @@ -0,0 +1,14 @@ +// screen-reader utilities +// ------------------------- + +// only display content to screen readers +.sr-only, +.#{$fa-css-prefix}-sr-only { + @include fa-sr-only; +} + +// use in conjunction with .sr-only to only display content when it's focused +.sr-only-focusable, +.#{$fa-css-prefix}-sr-only-focusable { + @include fa-sr-only-focusable; +} diff --git a/framework/reon/assets/css/fontawesome/scss/_shims.scss b/framework/reon/assets/css/fontawesome/scss/_shims.scss new file mode 100644 index 0000000..7809aa6 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_shims.scss @@ -0,0 +1,2042 @@ +.#{$fa-css-prefix}.#{$fa-css-prefix}-glass:before { content: unquote("\"#{ $fa-var-martini-glass-empty }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-o:before { content: unquote("\"#{ $fa-var-envelope }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-o:before { content: unquote("\"#{ $fa-var-star }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-remove:before { content: unquote("\"#{ $fa-var-xmark }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-close:before { content: unquote("\"#{ $fa-var-xmark }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gear:before { content: unquote("\"#{ $fa-var-gear }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-trash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-trash-o:before { content: unquote("\"#{ $fa-var-trash-can }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-home:before { content: unquote("\"#{ $fa-var-house }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-o:before { content: unquote("\"#{ $fa-var-file }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-clock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-clock-o:before { content: unquote("\"#{ $fa-var-clock }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-down:before { content: unquote("\"#{ $fa-var-circle-down }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-up:before { content: unquote("\"#{ $fa-var-circle-up }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-play-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-play-circle-o:before { content: unquote("\"#{ $fa-var-circle-play }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-repeat:before { content: unquote("\"#{ $fa-var-arrow-rotate-right }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rotate-right:before { content: unquote("\"#{ $fa-var-arrow-rotate-right }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-refresh:before { content: unquote("\"#{ $fa-var-arrows-rotate }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-list-alt { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-list-alt:before { content: unquote("\"#{ $fa-var-rectangle-list }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dedent:before { content: unquote("\"#{ $fa-var-outdent }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-video-camera:before { content: unquote("\"#{ $fa-var-video }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-picture-o:before { content: unquote("\"#{ $fa-var-image }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-photo { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-photo:before { content: unquote("\"#{ $fa-var-image }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-image { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-image:before { content: unquote("\"#{ $fa-var-image }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-map-marker:before { content: unquote("\"#{ $fa-var-location-dot }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil-square-o:before { content: unquote("\"#{ $fa-var-pen-to-square }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-edit { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-edit:before { content: unquote("\"#{ $fa-var-pen-to-square }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-share-square-o:before { content: unquote("\"#{ $fa-var-share-from-square }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-check-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-check-square-o:before { content: unquote("\"#{ $fa-var-square-check }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows:before { content: unquote("\"#{ $fa-var-up-down-left-right }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-times-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-times-circle-o:before { content: unquote("\"#{ $fa-var-circle-xmark }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-check-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-check-circle-o:before { content: unquote("\"#{ $fa-var-circle-check }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mail-forward:before { content: unquote("\"#{ $fa-var-share }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-expand:before { content: unquote("\"#{ $fa-var-up-right-and-down-left-from-center }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-compress:before { content: unquote("\"#{ $fa-var-down-left-and-up-right-to-center }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-eye { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-eye-slash { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-warning:before { content: unquote("\"#{ $fa-var-triangle-exclamation }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar:before { content: unquote("\"#{ $fa-var-calendar-days }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows-v:before { content: unquote("\"#{ $fa-var-up-down }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows-h:before { content: unquote("\"#{ $fa-var-left-right }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bar-chart:before { content: unquote("\"#{ $fa-var-chart-column }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bar-chart-o:before { content: unquote("\"#{ $fa-var-chart-column }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-twitter-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-twitter-square:before { content: unquote("\"#{ $fa-var-square-twitter }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-square:before { content: unquote("\"#{ $fa-var-square-facebook }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gears:before { content: unquote("\"#{ $fa-var-gears }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-up:before { content: unquote("\"#{ $fa-var-thumbs-up }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-down:before { content: unquote("\"#{ $fa-var-thumbs-down }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-heart-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-heart-o:before { content: unquote("\"#{ $fa-var-heart }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sign-out:before { content: unquote("\"#{ $fa-var-right-from-bracket }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin-square:before { content: unquote("\"#{ $fa-var-linkedin }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thumb-tack:before { content: unquote("\"#{ $fa-var-thumbtack }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-external-link:before { content: unquote("\"#{ $fa-var-up-right-from-square }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sign-in:before { content: unquote("\"#{ $fa-var-right-to-bracket }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-github-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-github-square:before { content: unquote("\"#{ $fa-var-square-github }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-lemon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-lemon-o:before { content: unquote("\"#{ $fa-var-lemon }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-square-o:before { content: unquote("\"#{ $fa-var-square }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bookmark-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-bookmark-o:before { content: unquote("\"#{ $fa-var-bookmark }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-twitter { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook:before { content: unquote("\"#{ $fa-var-facebook-f }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-f { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-f:before { content: unquote("\"#{ $fa-var-facebook-f }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-github { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-credit-card { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-feed:before { content: unquote("\"#{ $fa-var-rss }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hdd-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hdd-o:before { content: unquote("\"#{ $fa-var-hard-drive }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-right:before { content: unquote("\"#{ $fa-var-hand-point-right }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-left:before { content: unquote("\"#{ $fa-var-hand-point-left }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-up:before { content: unquote("\"#{ $fa-var-hand-point-up }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-down:before { content: unquote("\"#{ $fa-var-hand-point-down }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-globe:before { content: unquote("\"#{ $fa-var-earth-americas }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-tasks:before { content: unquote("\"#{ $fa-var-bars-progress }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows-alt:before { content: unquote("\"#{ $fa-var-maximize }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-group:before { content: unquote("\"#{ $fa-var-users }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-chain:before { content: unquote("\"#{ $fa-var-link }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cut:before { content: unquote("\"#{ $fa-var-scissors }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-files-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-files-o:before { content: unquote("\"#{ $fa-var-copy }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-floppy-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-floppy-o:before { content: unquote("\"#{ $fa-var-floppy-disk }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-save { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-save:before { content: unquote("\"#{ $fa-var-floppy-disk }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-navicon:before { content: unquote("\"#{ $fa-var-bars }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-reorder:before { content: unquote("\"#{ $fa-var-bars }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-magic:before { content: unquote("\"#{ $fa-var-wand-magic-sparkles }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest-square:before { content: unquote("\"#{ $fa-var-square-pinterest }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-square:before { content: unquote("\"#{ $fa-var-square-google-plus }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus:before { content: unquote("\"#{ $fa-var-google-plus-g }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-money:before { content: unquote("\"#{ $fa-var-money-bill-1 }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-unsorted:before { content: unquote("\"#{ $fa-var-sort }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-desc:before { content: unquote("\"#{ $fa-var-sort-down }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-asc:before { content: unquote("\"#{ $fa-var-sort-up }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin:before { content: unquote("\"#{ $fa-var-linkedin-in }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rotate-left:before { content: unquote("\"#{ $fa-var-arrow-rotate-left }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-legal:before { content: unquote("\"#{ $fa-var-gavel }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-tachometer:before { content: unquote("\"#{ $fa-var-gauge-high }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dashboard:before { content: unquote("\"#{ $fa-var-gauge-high }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-comment-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-comment-o:before { content: unquote("\"#{ $fa-var-comment }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-comments-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-comments-o:before { content: unquote("\"#{ $fa-var-comments }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-flash:before { content: unquote("\"#{ $fa-var-bolt }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-clipboard:before { content: unquote("\"#{ $fa-var-paste }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-lightbulb-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-lightbulb-o:before { content: unquote("\"#{ $fa-var-lightbulb }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-exchange:before { content: unquote("\"#{ $fa-var-right-left }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cloud-download:before { content: unquote("\"#{ $fa-var-cloud-arrow-down }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cloud-upload:before { content: unquote("\"#{ $fa-var-cloud-arrow-up }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-o:before { content: unquote("\"#{ $fa-var-bell }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cutlery:before { content: unquote("\"#{ $fa-var-utensils }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-text-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-text-o:before { content: unquote("\"#{ $fa-var-file-lines }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-building-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-building-o:before { content: unquote("\"#{ $fa-var-building }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hospital-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hospital-o:before { content: unquote("\"#{ $fa-var-hospital }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-tablet:before { content: unquote("\"#{ $fa-var-tablet-screen-button }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mobile:before { content: unquote("\"#{ $fa-var-mobile-screen-button }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mobile-phone:before { content: unquote("\"#{ $fa-var-mobile-screen-button }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-o:before { content: unquote("\"#{ $fa-var-circle }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mail-reply:before { content: unquote("\"#{ $fa-var-reply }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-github-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-o:before { content: unquote("\"#{ $fa-var-folder }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-open-o:before { content: unquote("\"#{ $fa-var-folder-open }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-smile-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-smile-o:before { content: unquote("\"#{ $fa-var-face-smile }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-frown-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-frown-o:before { content: unquote("\"#{ $fa-var-face-frown }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-meh-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-meh-o:before { content: unquote("\"#{ $fa-var-face-meh }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-keyboard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-keyboard-o:before { content: unquote("\"#{ $fa-var-keyboard }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-flag-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-flag-o:before { content: unquote("\"#{ $fa-var-flag }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mail-reply-all:before { content: unquote("\"#{ $fa-var-reply-all }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-o:before { content: unquote("\"#{ $fa-var-star-half-stroke }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-empty { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-empty:before { content: unquote("\"#{ $fa-var-star-half-stroke }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-full { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-full:before { content: unquote("\"#{ $fa-var-star-half-stroke }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-code-fork:before { content: unquote("\"#{ $fa-var-code-branch }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-chain-broken:before { content: unquote("\"#{ $fa-var-link-slash }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-unlink:before { content: unquote("\"#{ $fa-var-link-slash }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-o:before { content: unquote("\"#{ $fa-var-calendar }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-maxcdn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-html5 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-css3 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-unlock-alt:before { content: unquote("\"#{ $fa-var-unlock }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-minus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-minus-square-o:before { content: unquote("\"#{ $fa-var-square-minus }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-level-up:before { content: unquote("\"#{ $fa-var-turn-up }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-level-down:before { content: unquote("\"#{ $fa-var-turn-down }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil-square:before { content: unquote("\"#{ $fa-var-square-pen }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-external-link-square:before { content: unquote("\"#{ $fa-var-square-up-right }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-compass { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-down:before { content: unquote("\"#{ $fa-var-square-caret-down }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-down:before { content: unquote("\"#{ $fa-var-square-caret-down }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-up:before { content: unquote("\"#{ $fa-var-square-caret-up }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-up:before { content: unquote("\"#{ $fa-var-square-caret-up }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-right:before { content: unquote("\"#{ $fa-var-square-caret-right }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-right:before { content: unquote("\"#{ $fa-var-square-caret-right }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-eur:before { content: unquote("\"#{ $fa-var-euro-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-euro:before { content: unquote("\"#{ $fa-var-euro-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gbp:before { content: unquote("\"#{ $fa-var-sterling-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-usd:before { content: unquote("\"#{ $fa-var-dollar-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dollar:before { content: unquote("\"#{ $fa-var-dollar-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-inr:before { content: unquote("\"#{ $fa-var-indian-rupee-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rupee:before { content: unquote("\"#{ $fa-var-indian-rupee-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-jpy:before { content: unquote("\"#{ $fa-var-yen-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cny:before { content: unquote("\"#{ $fa-var-yen-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rmb:before { content: unquote("\"#{ $fa-var-yen-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-yen:before { content: unquote("\"#{ $fa-var-yen-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rub:before { content: unquote("\"#{ $fa-var-ruble-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ruble:before { content: unquote("\"#{ $fa-var-ruble-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rouble:before { content: unquote("\"#{ $fa-var-ruble-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-krw:before { content: unquote("\"#{ $fa-var-won-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-won:before { content: unquote("\"#{ $fa-var-won-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-btc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bitcoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-bitcoin:before { content: unquote("\"#{ $fa-var-btc }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-text:before { content: unquote("\"#{ $fa-var-file-lines }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-alpha-asc:before { content: unquote("\"#{ $fa-var-arrow-down-a-z }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-alpha-desc:before { content: unquote("\"#{ $fa-var-arrow-down-z-a }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-amount-asc:before { content: unquote("\"#{ $fa-var-arrow-down-short-wide }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-amount-desc:before { content: unquote("\"#{ $fa-var-arrow-down-wide-short }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-numeric-asc:before { content: unquote("\"#{ $fa-var-arrow-down-1-9 }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-numeric-desc:before { content: unquote("\"#{ $fa-var-arrow-down-9-1 }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-square:before { content: unquote("\"#{ $fa-var-square-youtube }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-xing { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-xing-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-xing-square:before { content: unquote("\"#{ $fa-var-square-xing }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-play { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-play:before { content: unquote("\"#{ $fa-var-youtube }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dropbox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-stack-overflow { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-instagram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-flickr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-adn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bitbucket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bitbucket-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-bitbucket-square:before { content: unquote("\"#{ $fa-var-bitbucket }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-tumblr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-tumblr-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-tumblr-square:before { content: unquote("\"#{ $fa-var-square-tumblr }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-down:before { content: unquote("\"#{ $fa-var-down-long }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-up:before { content: unquote("\"#{ $fa-var-up-long }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-left:before { content: unquote("\"#{ $fa-var-left-long }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-right:before { content: unquote("\"#{ $fa-var-right-long }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-apple { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-windows { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-android { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-linux { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dribbble { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-skype { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-foursquare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-trello { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gratipay { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gittip { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-gittip:before { content: unquote("\"#{ $fa-var-gratipay }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sun-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-sun-o:before { content: unquote("\"#{ $fa-var-sun }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-moon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-moon-o:before { content: unquote("\"#{ $fa-var-moon }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-vk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-renren { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pagelines { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-stack-exchange { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-right:before { content: unquote("\"#{ $fa-var-circle-right }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-left:before { content: unquote("\"#{ $fa-var-circle-left }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-left:before { content: unquote("\"#{ $fa-var-square-caret-left }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-left:before { content: unquote("\"#{ $fa-var-square-caret-left }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dot-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-dot-circle-o:before { content: unquote("\"#{ $fa-var-circle-dot }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo-square:before { content: unquote("\"#{ $fa-var-square-vimeo }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-try:before { content: unquote("\"#{ $fa-var-turkish-lira-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-turkish-lira:before { content: unquote("\"#{ $fa-var-turkish-lira-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-plus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-plus-square-o:before { content: unquote("\"#{ $fa-var-square-plus }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-slack { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wordpress { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-openid { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-institution:before { content: unquote("\"#{ $fa-var-building-columns }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bank:before { content: unquote("\"#{ $fa-var-building-columns }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mortar-board:before { content: unquote("\"#{ $fa-var-graduation-cap }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-yahoo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-google { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit-square:before { content: unquote("\"#{ $fa-var-square-reddit }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-stumbleupon-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-stumbleupon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-delicious { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-digg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pied-piper-pp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pied-piper-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-drupal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-joomla { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-behance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-behance-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-behance-square:before { content: unquote("\"#{ $fa-var-square-behance }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-steam { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-steam-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-steam-square:before { content: unquote("\"#{ $fa-var-square-steam }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-automobile:before { content: unquote("\"#{ $fa-var-car }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cab:before { content: unquote("\"#{ $fa-var-taxi }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-spotify { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-deviantart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-soundcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-pdf-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-pdf-o:before { content: unquote("\"#{ $fa-var-file-pdf }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-word-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-word-o:before { content: unquote("\"#{ $fa-var-file-word }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-excel-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-excel-o:before { content: unquote("\"#{ $fa-var-file-excel }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-powerpoint-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-powerpoint-o:before { content: unquote("\"#{ $fa-var-file-powerpoint }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-image-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-image-o:before { content: unquote("\"#{ $fa-var-file-image }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-photo-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-photo-o:before { content: unquote("\"#{ $fa-var-file-image }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-picture-o:before { content: unquote("\"#{ $fa-var-file-image }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-archive-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-archive-o:before { content: unquote("\"#{ $fa-var-file-zipper }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-zip-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-zip-o:before { content: unquote("\"#{ $fa-var-file-zipper }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-audio-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-audio-o:before { content: unquote("\"#{ $fa-var-file-audio }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-sound-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-sound-o:before { content: unquote("\"#{ $fa-var-file-audio }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-video-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-video-o:before { content: unquote("\"#{ $fa-var-file-video }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-movie-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-movie-o:before { content: unquote("\"#{ $fa-var-file-video }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-code-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-code-o:before { content: unquote("\"#{ $fa-var-file-code }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-vine { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-codepen { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-jsfiddle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-life-bouy:before { content: unquote("\"#{ $fa-var-life-ring }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-life-buoy:before { content: unquote("\"#{ $fa-var-life-ring }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-life-saver:before { content: unquote("\"#{ $fa-var-life-ring }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-support:before { content: unquote("\"#{ $fa-var-life-ring }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-o-notch:before { content: unquote("\"#{ $fa-var-circle-notch }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rebel { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ra { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-ra:before { content: unquote("\"#{ $fa-var-rebel }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-resistance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-resistance:before { content: unquote("\"#{ $fa-var-rebel }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-empire { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-ge:before { content: unquote("\"#{ $fa-var-empire }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-git-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-git-square:before { content: unquote("\"#{ $fa-var-square-git }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-git { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hacker-news { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-y-combinator-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-y-combinator-square:before { content: unquote("\"#{ $fa-var-hacker-news }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-yc-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-yc-square:before { content: unquote("\"#{ $fa-var-hacker-news }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-tencent-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-qq { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-weixin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wechat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-wechat:before { content: unquote("\"#{ $fa-var-weixin }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-send:before { content: unquote("\"#{ $fa-var-paper-plane }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-paper-plane-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-paper-plane-o:before { content: unquote("\"#{ $fa-var-paper-plane }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-send-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-send-o:before { content: unquote("\"#{ $fa-var-paper-plane }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-thin { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-thin:before { content: unquote("\"#{ $fa-var-circle }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-header:before { content: unquote("\"#{ $fa-var-heading }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-futbol-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-futbol-o:before { content: unquote("\"#{ $fa-var-futbol }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-soccer-ball-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-soccer-ball-o:before { content: unquote("\"#{ $fa-var-futbol }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-slideshare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-twitch { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-yelp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-newspaper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-newspaper-o:before { content: unquote("\"#{ $fa-var-newspaper }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-wallet { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-visa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-mastercard { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-discover { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-amex { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-stripe { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-slash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-slash-o:before { content: unquote("\"#{ $fa-var-bell-slash }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-trash:before { content: unquote("\"#{ $fa-var-trash-can }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-copyright { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-eyedropper:before { content: unquote("\"#{ $fa-var-eye-dropper }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-area-chart:before { content: unquote("\"#{ $fa-var-chart-area }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pie-chart:before { content: unquote("\"#{ $fa-var-chart-pie }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-line-chart:before { content: unquote("\"#{ $fa-var-chart-line }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-lastfm { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-lastfm-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-lastfm-square:before { content: unquote("\"#{ $fa-var-square-lastfm }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ioxhost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-angellist { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc:before { content: unquote("\"#{ $fa-var-closed-captioning }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ils:before { content: unquote("\"#{ $fa-var-shekel-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-shekel:before { content: unquote("\"#{ $fa-var-shekel-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sheqel:before { content: unquote("\"#{ $fa-var-shekel-sign }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-buysellads { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-connectdevelop { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dashcube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-forumbee { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-leanpub { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sellsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-shirtsinbulk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-simplybuilt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-skyatlas { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-diamond { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-diamond:before { content: unquote("\"#{ $fa-var-gem }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-transgender:before { content: unquote("\"#{ $fa-var-mars-and-venus }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-intersex:before { content: unquote("\"#{ $fa-var-mars-and-venus }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-transgender-alt:before { content: unquote("\"#{ $fa-var-transgender }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-official:before { content: unquote("\"#{ $fa-var-facebook }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest-p { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-whatsapp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hotel:before { content: unquote("\"#{ $fa-var-bed }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-viacoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-medium { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-y-combinator { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-yc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-yc:before { content: unquote("\"#{ $fa-var-y-combinator }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-optin-monster { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-opencart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-expeditedssl { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-4:before { content: unquote("\"#{ $fa-var-battery-full }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-battery:before { content: unquote("\"#{ $fa-var-battery-full }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-3:before { content: unquote("\"#{ $fa-var-battery-three-quarters }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-2:before { content: unquote("\"#{ $fa-var-battery-half }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-1:before { content: unquote("\"#{ $fa-var-battery-quarter }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-0:before { content: unquote("\"#{ $fa-var-battery-empty }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-object-group { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-object-ungroup { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sticky-note-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-sticky-note-o:before { content: unquote("\"#{ $fa-var-note-sticky }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-jcb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-diners-club { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-clone { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-o:before { content: unquote("\"#{ $fa-var-hourglass }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-1:before { content: unquote("\"#{ $fa-var-hourglass-start }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-2:before { content: unquote("\"#{ $fa-var-hourglass-half }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-3:before { content: unquote("\"#{ $fa-var-hourglass-end }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-rock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-rock-o:before { content: unquote("\"#{ $fa-var-hand-back-fist }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-grab-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-grab-o:before { content: unquote("\"#{ $fa-var-hand-back-fist }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-paper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-paper-o:before { content: unquote("\"#{ $fa-var-hand }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-stop-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-stop-o:before { content: unquote("\"#{ $fa-var-hand }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-scissors-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-scissors-o:before { content: unquote("\"#{ $fa-var-hand-scissors }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-lizard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-lizard-o:before { content: unquote("\"#{ $fa-var-hand-lizard }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-spock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-spock-o:before { content: unquote("\"#{ $fa-var-hand-spock }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-pointer-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-pointer-o:before { content: unquote("\"#{ $fa-var-hand-pointer }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-peace-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-peace-o:before { content: unquote("\"#{ $fa-var-hand-peace }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-registered { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-creative-commons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gg-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-odnoklassniki { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-odnoklassniki-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-odnoklassniki-square:before { content: unquote("\"#{ $fa-var-square-odnoklassniki }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-get-pocket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wikipedia-w { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-safari { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-chrome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-firefox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-opera { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-internet-explorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-television:before { content: unquote("\"#{ $fa-var-tv }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-contao { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-500px { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-amazon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-plus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-plus-o:before { content: unquote("\"#{ $fa-var-calendar-plus }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-minus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-minus-o:before { content: unquote("\"#{ $fa-var-calendar-minus }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-times-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-times-o:before { content: unquote("\"#{ $fa-var-calendar-xmark }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-check-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-check-o:before { content: unquote("\"#{ $fa-var-calendar-check }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-map-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-map-o:before { content: unquote("\"#{ $fa-var-map }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting:before { content: unquote("\"#{ $fa-var-comment-dots }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting-o:before { content: unquote("\"#{ $fa-var-comment-dots }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-houzz { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo:before { content: unquote("\"#{ $fa-var-vimeo-v }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-black-tie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-fonticons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit-alien { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-edge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-credit-card-alt:before { content: unquote("\"#{ $fa-var-credit-card }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-codiepie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-modx { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-fort-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-usb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-product-hunt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mixcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-scribd { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pause-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-pause-circle-o:before { content: unquote("\"#{ $fa-var-circle-pause }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-stop-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-stop-circle-o:before { content: unquote("\"#{ $fa-var-circle-stop }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bluetooth { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bluetooth-b { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gitlab { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wpbeginner { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wpforms { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-envira { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wheelchair-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-wheelchair-alt:before { content: unquote("\"#{ $fa-var-accessible-icon }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-question-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-question-circle-o:before { content: unquote("\"#{ $fa-var-circle-question }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-volume-control-phone:before { content: unquote("\"#{ $fa-var-phone-volume }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-asl-interpreting:before { content: unquote("\"#{ $fa-var-hands-asl-interpreting }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-deafness:before { content: unquote("\"#{ $fa-var-ear-deaf }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hard-of-hearing:before { content: unquote("\"#{ $fa-var-ear-deaf }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-glide { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-glide-g { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-signing:before { content: unquote("\"#{ $fa-var-hands }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-viadeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-viadeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-viadeo-square:before { content: unquote("\"#{ $fa-var-square-viadeo }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat-ghost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat-ghost:before { content: unquote("\"#{ $fa-var-snapchat }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat-square:before { content: unquote("\"#{ $fa-var-square-snapchat }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pied-piper { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-first-order { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-yoast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-themeisle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-official:before { content: unquote("\"#{ $fa-var-google-plus }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-circle:before { content: unquote("\"#{ $fa-var-google-plus }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-font-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-fa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-fa:before { content: unquote("\"#{ $fa-var-font-awesome }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-handshake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-handshake-o:before { content: unquote("\"#{ $fa-var-handshake }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-open-o:before { content: unquote("\"#{ $fa-var-envelope-open }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-linode { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-address-book-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-address-book-o:before { content: unquote("\"#{ $fa-var-address-book }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-vcard:before { content: unquote("\"#{ $fa-var-address-card }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-address-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-address-card-o:before { content: unquote("\"#{ $fa-var-address-card }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-vcard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-vcard-o:before { content: unquote("\"#{ $fa-var-address-card }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-user-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-user-circle-o:before { content: unquote("\"#{ $fa-var-circle-user }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-user-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-user-o:before { content: unquote("\"#{ $fa-var-user }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-id-badge { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-drivers-license:before { content: unquote("\"#{ $fa-var-id-card }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-id-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-id-card-o:before { content: unquote("\"#{ $fa-var-id-card }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-drivers-license-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-drivers-license-o:before { content: unquote("\"#{ $fa-var-id-card }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-quora { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-free-code-camp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-telegram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-4:before { content: unquote("\"#{ $fa-var-temperature-full }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer:before { content: unquote("\"#{ $fa-var-temperature-full }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-3:before { content: unquote("\"#{ $fa-var-temperature-three-quarters }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-2:before { content: unquote("\"#{ $fa-var-temperature-half }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-1:before { content: unquote("\"#{ $fa-var-temperature-quarter }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-0:before { content: unquote("\"#{ $fa-var-temperature-empty }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bathtub:before { content: unquote("\"#{ $fa-var-bath }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-s15:before { content: unquote("\"#{ $fa-var-bath }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-window-maximize { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-window-restore { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-times-rectangle:before { content: unquote("\"#{ $fa-var-rectangle-xmark }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-window-close-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-window-close-o:before { content: unquote("\"#{ $fa-var-rectangle-xmark }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-times-rectangle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-times-rectangle-o:before { content: unquote("\"#{ $fa-var-rectangle-xmark }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bandcamp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-grav { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-etsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-imdb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ravelry { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-eercast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-eercast:before { content: unquote("\"#{ $fa-var-sellcast }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-snowflake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-snowflake-o:before { content: unquote("\"#{ $fa-var-snowflake }\""); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-superpowers { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wpexplorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-meetup { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + diff --git a/framework/reon/assets/css/fontawesome/scss/_sizing.scss b/framework/reon/assets/css/fontawesome/scss/_sizing.scss new file mode 100644 index 0000000..e171e7d --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_sizing.scss @@ -0,0 +1,16 @@ +// sizing icons +// ------------------------- + +// literal magnification scale +@for $i from 1 through 10 { + .#{$fa-css-prefix}-#{$i}x { + font-size: $i * 1em; + } +} + +// step-based scale (with alignment) +@each $size, $value in $fa-sizes { + .#{$fa-css-prefix}-#{$size} { + @include fa-size($value); + } +} diff --git a/framework/reon/assets/css/fontawesome/scss/_stacked.scss b/framework/reon/assets/css/fontawesome/scss/_stacked.scss new file mode 100644 index 0000000..d9a9d4e --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_stacked.scss @@ -0,0 +1,32 @@ +// stacking icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: $fa-stack-vertical-align; + width: $fa-stack-width; +} + +.#{$fa-css-prefix}-stack-1x, +.#{$fa-css-prefix}-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; + z-index: var(--#{$fa-css-prefix}-stack-z-index, #{$fa-stack-z-index}); +} + +.#{$fa-css-prefix}-stack-1x { + line-height: inherit; +} + +.#{$fa-css-prefix}-stack-2x { + font-size: 2em; +} + +.#{$fa-css-prefix}-inverse { + color: var(--#{$fa-css-prefix}-inverse, #{$fa-inverse}); +} diff --git a/framework/reon/assets/css/fontawesome/scss/_variables.scss b/framework/reon/assets/css/fontawesome/scss/_variables.scss new file mode 100644 index 0000000..c015505 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/_variables.scss @@ -0,0 +1,4953 @@ +// variables +// -------------------------- + +$fa-css-prefix : fa !default; +$fa-style : 900 !default; +$fa-style-family : "Font Awesome 6 Free" !default; + +$fa-display : inline-block !default; + +$fa-fw-width : fa-divide(20em, 16); +$fa-inverse : #fff !default; + +$fa-border-color : #eee !default; +$fa-border-padding : .2em .25em .15em !default; +$fa-border-radius : .1em !default; +$fa-border-style : solid !default; +$fa-border-width : .08em !default; + +$fa-size-scale-2xs : 10 !default; +$fa-size-scale-xs : 12 !default; +$fa-size-scale-sm : 14 !default; +$fa-size-scale-base : 16 !default; +$fa-size-scale-lg : 20 !default; +$fa-size-scale-xl : 24 !default; +$fa-size-scale-2xl : 32 !default; + +$fa-sizes: ( + "2xs" : $fa-size-scale-2xs, + "xs" : $fa-size-scale-xs, + "sm" : $fa-size-scale-sm, + "lg" : $fa-size-scale-lg, + "xl" : $fa-size-scale-xl, + "2xl" : $fa-size-scale-2xl +) !default; + +$fa-li-width : 2em !default; +$fa-li-margin : $fa-li-width * fa-divide(5, 4) !default; + +$fa-pull-margin : .3em !default; + +$fa-primary-opacity : 1 !default; +$fa-secondary-opacity : .4 !default; + +$fa-stack-vertical-align: middle !default; +$fa-stack-width : ($fa-fw-width * 2) !default; +$fa-stack-z-index : auto !default; + +$fa-font-display : block !default; +$fa-font-path : "../webfonts" !default; + +$fa-var-0: \30; +$fa-var-1: \31; +$fa-var-2: \32; +$fa-var-3: \33; +$fa-var-4: \34; +$fa-var-5: \35; +$fa-var-6: \36; +$fa-var-7: \37; +$fa-var-8: \38; +$fa-var-9: \39; +$fa-var-a: \41; +$fa-var-address-book: \f2b9; +$fa-var-contact-book: \f2b9; +$fa-var-address-card: \f2bb; +$fa-var-contact-card: \f2bb; +$fa-var-vcard: \f2bb; +$fa-var-align-center: \f037; +$fa-var-align-justify: \f039; +$fa-var-align-left: \f036; +$fa-var-align-right: \f038; +$fa-var-anchor: \f13d; +$fa-var-anchor-circle-check: \e4aa; +$fa-var-anchor-circle-exclamation: \e4ab; +$fa-var-anchor-circle-xmark: \e4ac; +$fa-var-anchor-lock: \e4ad; +$fa-var-angle-down: \f107; +$fa-var-angle-left: \f104; +$fa-var-angle-right: \f105; +$fa-var-angle-up: \f106; +$fa-var-angles-down: \f103; +$fa-var-angle-double-down: \f103; +$fa-var-angles-left: \f100; +$fa-var-angle-double-left: \f100; +$fa-var-angles-right: \f101; +$fa-var-angle-double-right: \f101; +$fa-var-angles-up: \f102; +$fa-var-angle-double-up: \f102; +$fa-var-ankh: \f644; +$fa-var-apple-whole: \f5d1; +$fa-var-apple-alt: \f5d1; +$fa-var-archway: \f557; +$fa-var-arrow-down: \f063; +$fa-var-arrow-down-1-9: \f162; +$fa-var-sort-numeric-asc: \f162; +$fa-var-sort-numeric-down: \f162; +$fa-var-arrow-down-9-1: \f886; +$fa-var-sort-numeric-desc: \f886; +$fa-var-sort-numeric-down-alt: \f886; +$fa-var-arrow-down-a-z: \f15d; +$fa-var-sort-alpha-asc: \f15d; +$fa-var-sort-alpha-down: \f15d; +$fa-var-arrow-down-long: \f175; +$fa-var-long-arrow-down: \f175; +$fa-var-arrow-down-short-wide: \f884; +$fa-var-sort-amount-desc: \f884; +$fa-var-sort-amount-down-alt: \f884; +$fa-var-arrow-down-up-across-line: \e4af; +$fa-var-arrow-down-up-lock: \e4b0; +$fa-var-arrow-down-wide-short: \f160; +$fa-var-sort-amount-asc: \f160; +$fa-var-sort-amount-down: \f160; +$fa-var-arrow-down-z-a: \f881; +$fa-var-sort-alpha-desc: \f881; +$fa-var-sort-alpha-down-alt: \f881; +$fa-var-arrow-left: \f060; +$fa-var-arrow-left-long: \f177; +$fa-var-long-arrow-left: \f177; +$fa-var-arrow-pointer: \f245; +$fa-var-mouse-pointer: \f245; +$fa-var-arrow-right: \f061; +$fa-var-arrow-right-arrow-left: \f0ec; +$fa-var-exchange: \f0ec; +$fa-var-arrow-right-from-bracket: \f08b; +$fa-var-sign-out: \f08b; +$fa-var-arrow-right-long: \f178; +$fa-var-long-arrow-right: \f178; +$fa-var-arrow-right-to-bracket: \f090; +$fa-var-sign-in: \f090; +$fa-var-arrow-right-to-city: \e4b3; +$fa-var-arrow-rotate-left: \f0e2; +$fa-var-arrow-left-rotate: \f0e2; +$fa-var-arrow-rotate-back: \f0e2; +$fa-var-arrow-rotate-backward: \f0e2; +$fa-var-undo: \f0e2; +$fa-var-arrow-rotate-right: \f01e; +$fa-var-arrow-right-rotate: \f01e; +$fa-var-arrow-rotate-forward: \f01e; +$fa-var-redo: \f01e; +$fa-var-arrow-trend-down: \e097; +$fa-var-arrow-trend-up: \e098; +$fa-var-arrow-turn-down: \f149; +$fa-var-level-down: \f149; +$fa-var-arrow-turn-up: \f148; +$fa-var-level-up: \f148; +$fa-var-arrow-up: \f062; +$fa-var-arrow-up-1-9: \f163; +$fa-var-sort-numeric-up: \f163; +$fa-var-arrow-up-9-1: \f887; +$fa-var-sort-numeric-up-alt: \f887; +$fa-var-arrow-up-a-z: \f15e; +$fa-var-sort-alpha-up: \f15e; +$fa-var-arrow-up-from-bracket: \e09a; +$fa-var-arrow-up-from-ground-water: \e4b5; +$fa-var-arrow-up-from-water-pump: \e4b6; +$fa-var-arrow-up-long: \f176; +$fa-var-long-arrow-up: \f176; +$fa-var-arrow-up-right-dots: \e4b7; +$fa-var-arrow-up-right-from-square: \f08e; +$fa-var-external-link: \f08e; +$fa-var-arrow-up-short-wide: \f885; +$fa-var-sort-amount-up-alt: \f885; +$fa-var-arrow-up-wide-short: \f161; +$fa-var-sort-amount-up: \f161; +$fa-var-arrow-up-z-a: \f882; +$fa-var-sort-alpha-up-alt: \f882; +$fa-var-arrows-down-to-line: \e4b8; +$fa-var-arrows-down-to-people: \e4b9; +$fa-var-arrows-left-right: \f07e; +$fa-var-arrows-h: \f07e; +$fa-var-arrows-left-right-to-line: \e4ba; +$fa-var-arrows-rotate: \f021; +$fa-var-refresh: \f021; +$fa-var-sync: \f021; +$fa-var-arrows-spin: \e4bb; +$fa-var-arrows-split-up-and-left: \e4bc; +$fa-var-arrows-to-circle: \e4bd; +$fa-var-arrows-to-dot: \e4be; +$fa-var-arrows-to-eye: \e4bf; +$fa-var-arrows-turn-right: \e4c0; +$fa-var-arrows-turn-to-dots: \e4c1; +$fa-var-arrows-up-down: \f07d; +$fa-var-arrows-v: \f07d; +$fa-var-arrows-up-down-left-right: \f047; +$fa-var-arrows: \f047; +$fa-var-arrows-up-to-line: \e4c2; +$fa-var-asterisk: \2a; +$fa-var-at: \40; +$fa-var-atom: \f5d2; +$fa-var-audio-description: \f29e; +$fa-var-austral-sign: \e0a9; +$fa-var-award: \f559; +$fa-var-b: \42; +$fa-var-baby: \f77c; +$fa-var-baby-carriage: \f77d; +$fa-var-carriage-baby: \f77d; +$fa-var-backward: \f04a; +$fa-var-backward-fast: \f049; +$fa-var-fast-backward: \f049; +$fa-var-backward-step: \f048; +$fa-var-step-backward: \f048; +$fa-var-bacon: \f7e5; +$fa-var-bacteria: \e059; +$fa-var-bacterium: \e05a; +$fa-var-bag-shopping: \f290; +$fa-var-shopping-bag: \f290; +$fa-var-bahai: \f666; +$fa-var-haykal: \f666; +$fa-var-baht-sign: \e0ac; +$fa-var-ban: \f05e; +$fa-var-cancel: \f05e; +$fa-var-ban-smoking: \f54d; +$fa-var-smoking-ban: \f54d; +$fa-var-bandage: \f462; +$fa-var-band-aid: \f462; +$fa-var-barcode: \f02a; +$fa-var-bars: \f0c9; +$fa-var-navicon: \f0c9; +$fa-var-bars-progress: \f828; +$fa-var-tasks-alt: \f828; +$fa-var-bars-staggered: \f550; +$fa-var-reorder: \f550; +$fa-var-stream: \f550; +$fa-var-baseball: \f433; +$fa-var-baseball-ball: \f433; +$fa-var-baseball-bat-ball: \f432; +$fa-var-basket-shopping: \f291; +$fa-var-shopping-basket: \f291; +$fa-var-basketball: \f434; +$fa-var-basketball-ball: \f434; +$fa-var-bath: \f2cd; +$fa-var-bathtub: \f2cd; +$fa-var-battery-empty: \f244; +$fa-var-battery-0: \f244; +$fa-var-battery-full: \f240; +$fa-var-battery: \f240; +$fa-var-battery-5: \f240; +$fa-var-battery-half: \f242; +$fa-var-battery-3: \f242; +$fa-var-battery-quarter: \f243; +$fa-var-battery-2: \f243; +$fa-var-battery-three-quarters: \f241; +$fa-var-battery-4: \f241; +$fa-var-bed: \f236; +$fa-var-bed-pulse: \f487; +$fa-var-procedures: \f487; +$fa-var-beer-mug-empty: \f0fc; +$fa-var-beer: \f0fc; +$fa-var-bell: \f0f3; +$fa-var-bell-concierge: \f562; +$fa-var-concierge-bell: \f562; +$fa-var-bell-slash: \f1f6; +$fa-var-bezier-curve: \f55b; +$fa-var-bicycle: \f206; +$fa-var-binoculars: \f1e5; +$fa-var-biohazard: \f780; +$fa-var-bitcoin-sign: \e0b4; +$fa-var-blender: \f517; +$fa-var-blender-phone: \f6b6; +$fa-var-blog: \f781; +$fa-var-bold: \f032; +$fa-var-bolt: \f0e7; +$fa-var-zap: \f0e7; +$fa-var-bolt-lightning: \e0b7; +$fa-var-bomb: \f1e2; +$fa-var-bone: \f5d7; +$fa-var-bong: \f55c; +$fa-var-book: \f02d; +$fa-var-book-atlas: \f558; +$fa-var-atlas: \f558; +$fa-var-book-bible: \f647; +$fa-var-bible: \f647; +$fa-var-book-bookmark: \e0bb; +$fa-var-book-journal-whills: \f66a; +$fa-var-journal-whills: \f66a; +$fa-var-book-medical: \f7e6; +$fa-var-book-open: \f518; +$fa-var-book-open-reader: \f5da; +$fa-var-book-reader: \f5da; +$fa-var-book-quran: \f687; +$fa-var-quran: \f687; +$fa-var-book-skull: \f6b7; +$fa-var-book-dead: \f6b7; +$fa-var-book-tanakh: \f827; +$fa-var-tanakh: \f827; +$fa-var-bookmark: \f02e; +$fa-var-border-all: \f84c; +$fa-var-border-none: \f850; +$fa-var-border-top-left: \f853; +$fa-var-border-style: \f853; +$fa-var-bore-hole: \e4c3; +$fa-var-bottle-droplet: \e4c4; +$fa-var-bottle-water: \e4c5; +$fa-var-bowl-food: \e4c6; +$fa-var-bowl-rice: \e2eb; +$fa-var-bowling-ball: \f436; +$fa-var-box: \f466; +$fa-var-box-archive: \f187; +$fa-var-archive: \f187; +$fa-var-box-open: \f49e; +$fa-var-box-tissue: \e05b; +$fa-var-boxes-packing: \e4c7; +$fa-var-boxes-stacked: \f468; +$fa-var-boxes: \f468; +$fa-var-boxes-alt: \f468; +$fa-var-braille: \f2a1; +$fa-var-brain: \f5dc; +$fa-var-brazilian-real-sign: \e46c; +$fa-var-bread-slice: \f7ec; +$fa-var-bridge: \e4c8; +$fa-var-bridge-circle-check: \e4c9; +$fa-var-bridge-circle-exclamation: \e4ca; +$fa-var-bridge-circle-xmark: \e4cb; +$fa-var-bridge-lock: \e4cc; +$fa-var-bridge-water: \e4ce; +$fa-var-briefcase: \f0b1; +$fa-var-briefcase-medical: \f469; +$fa-var-broom: \f51a; +$fa-var-broom-ball: \f458; +$fa-var-quidditch: \f458; +$fa-var-quidditch-broom-ball: \f458; +$fa-var-brush: \f55d; +$fa-var-bucket: \e4cf; +$fa-var-bug: \f188; +$fa-var-bug-slash: \e490; +$fa-var-bugs: \e4d0; +$fa-var-building: \f1ad; +$fa-var-building-circle-arrow-right: \e4d1; +$fa-var-building-circle-check: \e4d2; +$fa-var-building-circle-exclamation: \e4d3; +$fa-var-building-circle-xmark: \e4d4; +$fa-var-building-columns: \f19c; +$fa-var-bank: \f19c; +$fa-var-institution: \f19c; +$fa-var-museum: \f19c; +$fa-var-university: \f19c; +$fa-var-building-flag: \e4d5; +$fa-var-building-lock: \e4d6; +$fa-var-building-ngo: \e4d7; +$fa-var-building-shield: \e4d8; +$fa-var-building-un: \e4d9; +$fa-var-building-user: \e4da; +$fa-var-building-wheat: \e4db; +$fa-var-bullhorn: \f0a1; +$fa-var-bullseye: \f140; +$fa-var-burger: \f805; +$fa-var-hamburger: \f805; +$fa-var-burst: \e4dc; +$fa-var-bus: \f207; +$fa-var-bus-simple: \f55e; +$fa-var-bus-alt: \f55e; +$fa-var-business-time: \f64a; +$fa-var-briefcase-clock: \f64a; +$fa-var-c: \43; +$fa-var-cable-car: \f7da; +$fa-var-tram: \f7da; +$fa-var-cake-candles: \f1fd; +$fa-var-birthday-cake: \f1fd; +$fa-var-cake: \f1fd; +$fa-var-calculator: \f1ec; +$fa-var-calendar: \f133; +$fa-var-calendar-check: \f274; +$fa-var-calendar-day: \f783; +$fa-var-calendar-days: \f073; +$fa-var-calendar-alt: \f073; +$fa-var-calendar-minus: \f272; +$fa-var-calendar-plus: \f271; +$fa-var-calendar-week: \f784; +$fa-var-calendar-xmark: \f273; +$fa-var-calendar-times: \f273; +$fa-var-camera: \f030; +$fa-var-camera-alt: \f030; +$fa-var-camera-retro: \f083; +$fa-var-camera-rotate: \e0d8; +$fa-var-campground: \f6bb; +$fa-var-candy-cane: \f786; +$fa-var-cannabis: \f55f; +$fa-var-capsules: \f46b; +$fa-var-car: \f1b9; +$fa-var-automobile: \f1b9; +$fa-var-car-battery: \f5df; +$fa-var-battery-car: \f5df; +$fa-var-car-burst: \f5e1; +$fa-var-car-crash: \f5e1; +$fa-var-car-on: \e4dd; +$fa-var-car-rear: \f5de; +$fa-var-car-alt: \f5de; +$fa-var-car-side: \f5e4; +$fa-var-car-tunnel: \e4de; +$fa-var-caravan: \f8ff; +$fa-var-caret-down: \f0d7; +$fa-var-caret-left: \f0d9; +$fa-var-caret-right: \f0da; +$fa-var-caret-up: \f0d8; +$fa-var-carrot: \f787; +$fa-var-cart-arrow-down: \f218; +$fa-var-cart-flatbed: \f474; +$fa-var-dolly-flatbed: \f474; +$fa-var-cart-flatbed-suitcase: \f59d; +$fa-var-luggage-cart: \f59d; +$fa-var-cart-plus: \f217; +$fa-var-cart-shopping: \f07a; +$fa-var-shopping-cart: \f07a; +$fa-var-cash-register: \f788; +$fa-var-cat: \f6be; +$fa-var-cedi-sign: \e0df; +$fa-var-cent-sign: \e3f5; +$fa-var-certificate: \f0a3; +$fa-var-chair: \f6c0; +$fa-var-chalkboard: \f51b; +$fa-var-blackboard: \f51b; +$fa-var-chalkboard-user: \f51c; +$fa-var-chalkboard-teacher: \f51c; +$fa-var-champagne-glasses: \f79f; +$fa-var-glass-cheers: \f79f; +$fa-var-charging-station: \f5e7; +$fa-var-chart-area: \f1fe; +$fa-var-area-chart: \f1fe; +$fa-var-chart-bar: \f080; +$fa-var-bar-chart: \f080; +$fa-var-chart-column: \e0e3; +$fa-var-chart-gantt: \e0e4; +$fa-var-chart-line: \f201; +$fa-var-line-chart: \f201; +$fa-var-chart-pie: \f200; +$fa-var-pie-chart: \f200; +$fa-var-chart-simple: \e473; +$fa-var-check: \f00c; +$fa-var-check-double: \f560; +$fa-var-check-to-slot: \f772; +$fa-var-vote-yea: \f772; +$fa-var-cheese: \f7ef; +$fa-var-chess: \f439; +$fa-var-chess-bishop: \f43a; +$fa-var-chess-board: \f43c; +$fa-var-chess-king: \f43f; +$fa-var-chess-knight: \f441; +$fa-var-chess-pawn: \f443; +$fa-var-chess-queen: \f445; +$fa-var-chess-rook: \f447; +$fa-var-chevron-down: \f078; +$fa-var-chevron-left: \f053; +$fa-var-chevron-right: \f054; +$fa-var-chevron-up: \f077; +$fa-var-child: \f1ae; +$fa-var-child-dress: \e59c; +$fa-var-child-reaching: \e59d; +$fa-var-child-rifle: \e4e0; +$fa-var-children: \e4e1; +$fa-var-church: \f51d; +$fa-var-circle: \f111; +$fa-var-circle-arrow-down: \f0ab; +$fa-var-arrow-circle-down: \f0ab; +$fa-var-circle-arrow-left: \f0a8; +$fa-var-arrow-circle-left: \f0a8; +$fa-var-circle-arrow-right: \f0a9; +$fa-var-arrow-circle-right: \f0a9; +$fa-var-circle-arrow-up: \f0aa; +$fa-var-arrow-circle-up: \f0aa; +$fa-var-circle-check: \f058; +$fa-var-check-circle: \f058; +$fa-var-circle-chevron-down: \f13a; +$fa-var-chevron-circle-down: \f13a; +$fa-var-circle-chevron-left: \f137; +$fa-var-chevron-circle-left: \f137; +$fa-var-circle-chevron-right: \f138; +$fa-var-chevron-circle-right: \f138; +$fa-var-circle-chevron-up: \f139; +$fa-var-chevron-circle-up: \f139; +$fa-var-circle-dollar-to-slot: \f4b9; +$fa-var-donate: \f4b9; +$fa-var-circle-dot: \f192; +$fa-var-dot-circle: \f192; +$fa-var-circle-down: \f358; +$fa-var-arrow-alt-circle-down: \f358; +$fa-var-circle-exclamation: \f06a; +$fa-var-exclamation-circle: \f06a; +$fa-var-circle-h: \f47e; +$fa-var-hospital-symbol: \f47e; +$fa-var-circle-half-stroke: \f042; +$fa-var-adjust: \f042; +$fa-var-circle-info: \f05a; +$fa-var-info-circle: \f05a; +$fa-var-circle-left: \f359; +$fa-var-arrow-alt-circle-left: \f359; +$fa-var-circle-minus: \f056; +$fa-var-minus-circle: \f056; +$fa-var-circle-nodes: \e4e2; +$fa-var-circle-notch: \f1ce; +$fa-var-circle-pause: \f28b; +$fa-var-pause-circle: \f28b; +$fa-var-circle-play: \f144; +$fa-var-play-circle: \f144; +$fa-var-circle-plus: \f055; +$fa-var-plus-circle: \f055; +$fa-var-circle-question: \f059; +$fa-var-question-circle: \f059; +$fa-var-circle-radiation: \f7ba; +$fa-var-radiation-alt: \f7ba; +$fa-var-circle-right: \f35a; +$fa-var-arrow-alt-circle-right: \f35a; +$fa-var-circle-stop: \f28d; +$fa-var-stop-circle: \f28d; +$fa-var-circle-up: \f35b; +$fa-var-arrow-alt-circle-up: \f35b; +$fa-var-circle-user: \f2bd; +$fa-var-user-circle: \f2bd; +$fa-var-circle-xmark: \f057; +$fa-var-times-circle: \f057; +$fa-var-xmark-circle: \f057; +$fa-var-city: \f64f; +$fa-var-clapperboard: \e131; +$fa-var-clipboard: \f328; +$fa-var-clipboard-check: \f46c; +$fa-var-clipboard-list: \f46d; +$fa-var-clipboard-question: \e4e3; +$fa-var-clipboard-user: \f7f3; +$fa-var-clock: \f017; +$fa-var-clock-four: \f017; +$fa-var-clock-rotate-left: \f1da; +$fa-var-history: \f1da; +$fa-var-clone: \f24d; +$fa-var-closed-captioning: \f20a; +$fa-var-cloud: \f0c2; +$fa-var-cloud-arrow-down: \f0ed; +$fa-var-cloud-download: \f0ed; +$fa-var-cloud-download-alt: \f0ed; +$fa-var-cloud-arrow-up: \f0ee; +$fa-var-cloud-upload: \f0ee; +$fa-var-cloud-upload-alt: \f0ee; +$fa-var-cloud-bolt: \f76c; +$fa-var-thunderstorm: \f76c; +$fa-var-cloud-meatball: \f73b; +$fa-var-cloud-moon: \f6c3; +$fa-var-cloud-moon-rain: \f73c; +$fa-var-cloud-rain: \f73d; +$fa-var-cloud-showers-heavy: \f740; +$fa-var-cloud-showers-water: \e4e4; +$fa-var-cloud-sun: \f6c4; +$fa-var-cloud-sun-rain: \f743; +$fa-var-clover: \e139; +$fa-var-code: \f121; +$fa-var-code-branch: \f126; +$fa-var-code-commit: \f386; +$fa-var-code-compare: \e13a; +$fa-var-code-fork: \e13b; +$fa-var-code-merge: \f387; +$fa-var-code-pull-request: \e13c; +$fa-var-coins: \f51e; +$fa-var-colon-sign: \e140; +$fa-var-comment: \f075; +$fa-var-comment-dollar: \f651; +$fa-var-comment-dots: \f4ad; +$fa-var-commenting: \f4ad; +$fa-var-comment-medical: \f7f5; +$fa-var-comment-slash: \f4b3; +$fa-var-comment-sms: \f7cd; +$fa-var-sms: \f7cd; +$fa-var-comments: \f086; +$fa-var-comments-dollar: \f653; +$fa-var-compact-disc: \f51f; +$fa-var-compass: \f14e; +$fa-var-compass-drafting: \f568; +$fa-var-drafting-compass: \f568; +$fa-var-compress: \f066; +$fa-var-computer: \e4e5; +$fa-var-computer-mouse: \f8cc; +$fa-var-mouse: \f8cc; +$fa-var-cookie: \f563; +$fa-var-cookie-bite: \f564; +$fa-var-copy: \f0c5; +$fa-var-copyright: \f1f9; +$fa-var-couch: \f4b8; +$fa-var-cow: \f6c8; +$fa-var-credit-card: \f09d; +$fa-var-credit-card-alt: \f09d; +$fa-var-crop: \f125; +$fa-var-crop-simple: \f565; +$fa-var-crop-alt: \f565; +$fa-var-cross: \f654; +$fa-var-crosshairs: \f05b; +$fa-var-crow: \f520; +$fa-var-crown: \f521; +$fa-var-crutch: \f7f7; +$fa-var-cruzeiro-sign: \e152; +$fa-var-cube: \f1b2; +$fa-var-cubes: \f1b3; +$fa-var-cubes-stacked: \e4e6; +$fa-var-d: \44; +$fa-var-database: \f1c0; +$fa-var-delete-left: \f55a; +$fa-var-backspace: \f55a; +$fa-var-democrat: \f747; +$fa-var-desktop: \f390; +$fa-var-desktop-alt: \f390; +$fa-var-dharmachakra: \f655; +$fa-var-diagram-next: \e476; +$fa-var-diagram-predecessor: \e477; +$fa-var-diagram-project: \f542; +$fa-var-project-diagram: \f542; +$fa-var-diagram-successor: \e47a; +$fa-var-diamond: \f219; +$fa-var-diamond-turn-right: \f5eb; +$fa-var-directions: \f5eb; +$fa-var-dice: \f522; +$fa-var-dice-d20: \f6cf; +$fa-var-dice-d6: \f6d1; +$fa-var-dice-five: \f523; +$fa-var-dice-four: \f524; +$fa-var-dice-one: \f525; +$fa-var-dice-six: \f526; +$fa-var-dice-three: \f527; +$fa-var-dice-two: \f528; +$fa-var-disease: \f7fa; +$fa-var-display: \e163; +$fa-var-divide: \f529; +$fa-var-dna: \f471; +$fa-var-dog: \f6d3; +$fa-var-dollar-sign: \24; +$fa-var-dollar: \24; +$fa-var-usd: \24; +$fa-var-dolly: \f472; +$fa-var-dolly-box: \f472; +$fa-var-dong-sign: \e169; +$fa-var-door-closed: \f52a; +$fa-var-door-open: \f52b; +$fa-var-dove: \f4ba; +$fa-var-down-left-and-up-right-to-center: \f422; +$fa-var-compress-alt: \f422; +$fa-var-down-long: \f309; +$fa-var-long-arrow-alt-down: \f309; +$fa-var-download: \f019; +$fa-var-dragon: \f6d5; +$fa-var-draw-polygon: \f5ee; +$fa-var-droplet: \f043; +$fa-var-tint: \f043; +$fa-var-droplet-slash: \f5c7; +$fa-var-tint-slash: \f5c7; +$fa-var-drum: \f569; +$fa-var-drum-steelpan: \f56a; +$fa-var-drumstick-bite: \f6d7; +$fa-var-dumbbell: \f44b; +$fa-var-dumpster: \f793; +$fa-var-dumpster-fire: \f794; +$fa-var-dungeon: \f6d9; +$fa-var-e: \45; +$fa-var-ear-deaf: \f2a4; +$fa-var-deaf: \f2a4; +$fa-var-deafness: \f2a4; +$fa-var-hard-of-hearing: \f2a4; +$fa-var-ear-listen: \f2a2; +$fa-var-assistive-listening-systems: \f2a2; +$fa-var-earth-africa: \f57c; +$fa-var-globe-africa: \f57c; +$fa-var-earth-americas: \f57d; +$fa-var-earth: \f57d; +$fa-var-earth-america: \f57d; +$fa-var-globe-americas: \f57d; +$fa-var-earth-asia: \f57e; +$fa-var-globe-asia: \f57e; +$fa-var-earth-europe: \f7a2; +$fa-var-globe-europe: \f7a2; +$fa-var-earth-oceania: \e47b; +$fa-var-globe-oceania: \e47b; +$fa-var-egg: \f7fb; +$fa-var-eject: \f052; +$fa-var-elevator: \e16d; +$fa-var-ellipsis: \f141; +$fa-var-ellipsis-h: \f141; +$fa-var-ellipsis-vertical: \f142; +$fa-var-ellipsis-v: \f142; +$fa-var-envelope: \f0e0; +$fa-var-envelope-circle-check: \e4e8; +$fa-var-envelope-open: \f2b6; +$fa-var-envelope-open-text: \f658; +$fa-var-envelopes-bulk: \f674; +$fa-var-mail-bulk: \f674; +$fa-var-equals: \3d; +$fa-var-eraser: \f12d; +$fa-var-ethernet: \f796; +$fa-var-euro-sign: \f153; +$fa-var-eur: \f153; +$fa-var-euro: \f153; +$fa-var-exclamation: \21; +$fa-var-expand: \f065; +$fa-var-explosion: \e4e9; +$fa-var-eye: \f06e; +$fa-var-eye-dropper: \f1fb; +$fa-var-eye-dropper-empty: \f1fb; +$fa-var-eyedropper: \f1fb; +$fa-var-eye-low-vision: \f2a8; +$fa-var-low-vision: \f2a8; +$fa-var-eye-slash: \f070; +$fa-var-f: \46; +$fa-var-face-angry: \f556; +$fa-var-angry: \f556; +$fa-var-face-dizzy: \f567; +$fa-var-dizzy: \f567; +$fa-var-face-flushed: \f579; +$fa-var-flushed: \f579; +$fa-var-face-frown: \f119; +$fa-var-frown: \f119; +$fa-var-face-frown-open: \f57a; +$fa-var-frown-open: \f57a; +$fa-var-face-grimace: \f57f; +$fa-var-grimace: \f57f; +$fa-var-face-grin: \f580; +$fa-var-grin: \f580; +$fa-var-face-grin-beam: \f582; +$fa-var-grin-beam: \f582; +$fa-var-face-grin-beam-sweat: \f583; +$fa-var-grin-beam-sweat: \f583; +$fa-var-face-grin-hearts: \f584; +$fa-var-grin-hearts: \f584; +$fa-var-face-grin-squint: \f585; +$fa-var-grin-squint: \f585; +$fa-var-face-grin-squint-tears: \f586; +$fa-var-grin-squint-tears: \f586; +$fa-var-face-grin-stars: \f587; +$fa-var-grin-stars: \f587; +$fa-var-face-grin-tears: \f588; +$fa-var-grin-tears: \f588; +$fa-var-face-grin-tongue: \f589; +$fa-var-grin-tongue: \f589; +$fa-var-face-grin-tongue-squint: \f58a; +$fa-var-grin-tongue-squint: \f58a; +$fa-var-face-grin-tongue-wink: \f58b; +$fa-var-grin-tongue-wink: \f58b; +$fa-var-face-grin-wide: \f581; +$fa-var-grin-alt: \f581; +$fa-var-face-grin-wink: \f58c; +$fa-var-grin-wink: \f58c; +$fa-var-face-kiss: \f596; +$fa-var-kiss: \f596; +$fa-var-face-kiss-beam: \f597; +$fa-var-kiss-beam: \f597; +$fa-var-face-kiss-wink-heart: \f598; +$fa-var-kiss-wink-heart: \f598; +$fa-var-face-laugh: \f599; +$fa-var-laugh: \f599; +$fa-var-face-laugh-beam: \f59a; +$fa-var-laugh-beam: \f59a; +$fa-var-face-laugh-squint: \f59b; +$fa-var-laugh-squint: \f59b; +$fa-var-face-laugh-wink: \f59c; +$fa-var-laugh-wink: \f59c; +$fa-var-face-meh: \f11a; +$fa-var-meh: \f11a; +$fa-var-face-meh-blank: \f5a4; +$fa-var-meh-blank: \f5a4; +$fa-var-face-rolling-eyes: \f5a5; +$fa-var-meh-rolling-eyes: \f5a5; +$fa-var-face-sad-cry: \f5b3; +$fa-var-sad-cry: \f5b3; +$fa-var-face-sad-tear: \f5b4; +$fa-var-sad-tear: \f5b4; +$fa-var-face-smile: \f118; +$fa-var-smile: \f118; +$fa-var-face-smile-beam: \f5b8; +$fa-var-smile-beam: \f5b8; +$fa-var-face-smile-wink: \f4da; +$fa-var-smile-wink: \f4da; +$fa-var-face-surprise: \f5c2; +$fa-var-surprise: \f5c2; +$fa-var-face-tired: \f5c8; +$fa-var-tired: \f5c8; +$fa-var-fan: \f863; +$fa-var-faucet: \e005; +$fa-var-faucet-drip: \e006; +$fa-var-fax: \f1ac; +$fa-var-feather: \f52d; +$fa-var-feather-pointed: \f56b; +$fa-var-feather-alt: \f56b; +$fa-var-ferry: \e4ea; +$fa-var-file: \f15b; +$fa-var-file-arrow-down: \f56d; +$fa-var-file-download: \f56d; +$fa-var-file-arrow-up: \f574; +$fa-var-file-upload: \f574; +$fa-var-file-audio: \f1c7; +$fa-var-file-circle-check: \e5a0; +$fa-var-file-circle-exclamation: \e4eb; +$fa-var-file-circle-minus: \e4ed; +$fa-var-file-circle-plus: \e494; +$fa-var-file-circle-question: \e4ef; +$fa-var-file-circle-xmark: \e5a1; +$fa-var-file-code: \f1c9; +$fa-var-file-contract: \f56c; +$fa-var-file-csv: \f6dd; +$fa-var-file-excel: \f1c3; +$fa-var-file-export: \f56e; +$fa-var-arrow-right-from-file: \f56e; +$fa-var-file-image: \f1c5; +$fa-var-file-import: \f56f; +$fa-var-arrow-right-to-file: \f56f; +$fa-var-file-invoice: \f570; +$fa-var-file-invoice-dollar: \f571; +$fa-var-file-lines: \f15c; +$fa-var-file-alt: \f15c; +$fa-var-file-text: \f15c; +$fa-var-file-medical: \f477; +$fa-var-file-pdf: \f1c1; +$fa-var-file-pen: \f31c; +$fa-var-file-edit: \f31c; +$fa-var-file-powerpoint: \f1c4; +$fa-var-file-prescription: \f572; +$fa-var-file-shield: \e4f0; +$fa-var-file-signature: \f573; +$fa-var-file-video: \f1c8; +$fa-var-file-waveform: \f478; +$fa-var-file-medical-alt: \f478; +$fa-var-file-word: \f1c2; +$fa-var-file-zipper: \f1c6; +$fa-var-file-archive: \f1c6; +$fa-var-fill: \f575; +$fa-var-fill-drip: \f576; +$fa-var-film: \f008; +$fa-var-filter: \f0b0; +$fa-var-filter-circle-dollar: \f662; +$fa-var-funnel-dollar: \f662; +$fa-var-filter-circle-xmark: \e17b; +$fa-var-fingerprint: \f577; +$fa-var-fire: \f06d; +$fa-var-fire-burner: \e4f1; +$fa-var-fire-extinguisher: \f134; +$fa-var-fire-flame-curved: \f7e4; +$fa-var-fire-alt: \f7e4; +$fa-var-fire-flame-simple: \f46a; +$fa-var-burn: \f46a; +$fa-var-fish: \f578; +$fa-var-fish-fins: \e4f2; +$fa-var-flag: \f024; +$fa-var-flag-checkered: \f11e; +$fa-var-flag-usa: \f74d; +$fa-var-flask: \f0c3; +$fa-var-flask-vial: \e4f3; +$fa-var-floppy-disk: \f0c7; +$fa-var-save: \f0c7; +$fa-var-florin-sign: \e184; +$fa-var-folder: \f07b; +$fa-var-folder-blank: \f07b; +$fa-var-folder-closed: \e185; +$fa-var-folder-minus: \f65d; +$fa-var-folder-open: \f07c; +$fa-var-folder-plus: \f65e; +$fa-var-folder-tree: \f802; +$fa-var-font: \f031; +$fa-var-football: \f44e; +$fa-var-football-ball: \f44e; +$fa-var-forward: \f04e; +$fa-var-forward-fast: \f050; +$fa-var-fast-forward: \f050; +$fa-var-forward-step: \f051; +$fa-var-step-forward: \f051; +$fa-var-franc-sign: \e18f; +$fa-var-frog: \f52e; +$fa-var-futbol: \f1e3; +$fa-var-futbol-ball: \f1e3; +$fa-var-soccer-ball: \f1e3; +$fa-var-g: \47; +$fa-var-gamepad: \f11b; +$fa-var-gas-pump: \f52f; +$fa-var-gauge: \f624; +$fa-var-dashboard: \f624; +$fa-var-gauge-med: \f624; +$fa-var-tachometer-alt-average: \f624; +$fa-var-gauge-high: \f625; +$fa-var-tachometer-alt: \f625; +$fa-var-tachometer-alt-fast: \f625; +$fa-var-gauge-simple: \f629; +$fa-var-gauge-simple-med: \f629; +$fa-var-tachometer-average: \f629; +$fa-var-gauge-simple-high: \f62a; +$fa-var-tachometer: \f62a; +$fa-var-tachometer-fast: \f62a; +$fa-var-gavel: \f0e3; +$fa-var-legal: \f0e3; +$fa-var-gear: \f013; +$fa-var-cog: \f013; +$fa-var-gears: \f085; +$fa-var-cogs: \f085; +$fa-var-gem: \f3a5; +$fa-var-genderless: \f22d; +$fa-var-ghost: \f6e2; +$fa-var-gift: \f06b; +$fa-var-gifts: \f79c; +$fa-var-glass-water: \e4f4; +$fa-var-glass-water-droplet: \e4f5; +$fa-var-glasses: \f530; +$fa-var-globe: \f0ac; +$fa-var-golf-ball-tee: \f450; +$fa-var-golf-ball: \f450; +$fa-var-gopuram: \f664; +$fa-var-graduation-cap: \f19d; +$fa-var-mortar-board: \f19d; +$fa-var-greater-than: \3e; +$fa-var-greater-than-equal: \f532; +$fa-var-grip: \f58d; +$fa-var-grip-horizontal: \f58d; +$fa-var-grip-lines: \f7a4; +$fa-var-grip-lines-vertical: \f7a5; +$fa-var-grip-vertical: \f58e; +$fa-var-group-arrows-rotate: \e4f6; +$fa-var-guarani-sign: \e19a; +$fa-var-guitar: \f7a6; +$fa-var-gun: \e19b; +$fa-var-h: \48; +$fa-var-hammer: \f6e3; +$fa-var-hamsa: \f665; +$fa-var-hand: \f256; +$fa-var-hand-paper: \f256; +$fa-var-hand-back-fist: \f255; +$fa-var-hand-rock: \f255; +$fa-var-hand-dots: \f461; +$fa-var-allergies: \f461; +$fa-var-hand-fist: \f6de; +$fa-var-fist-raised: \f6de; +$fa-var-hand-holding: \f4bd; +$fa-var-hand-holding-dollar: \f4c0; +$fa-var-hand-holding-usd: \f4c0; +$fa-var-hand-holding-droplet: \f4c1; +$fa-var-hand-holding-water: \f4c1; +$fa-var-hand-holding-hand: \e4f7; +$fa-var-hand-holding-heart: \f4be; +$fa-var-hand-holding-medical: \e05c; +$fa-var-hand-lizard: \f258; +$fa-var-hand-middle-finger: \f806; +$fa-var-hand-peace: \f25b; +$fa-var-hand-point-down: \f0a7; +$fa-var-hand-point-left: \f0a5; +$fa-var-hand-point-right: \f0a4; +$fa-var-hand-point-up: \f0a6; +$fa-var-hand-pointer: \f25a; +$fa-var-hand-scissors: \f257; +$fa-var-hand-sparkles: \e05d; +$fa-var-hand-spock: \f259; +$fa-var-handcuffs: \e4f8; +$fa-var-hands: \f2a7; +$fa-var-sign-language: \f2a7; +$fa-var-signing: \f2a7; +$fa-var-hands-asl-interpreting: \f2a3; +$fa-var-american-sign-language-interpreting: \f2a3; +$fa-var-asl-interpreting: \f2a3; +$fa-var-hands-american-sign-language-interpreting: \f2a3; +$fa-var-hands-bound: \e4f9; +$fa-var-hands-bubbles: \e05e; +$fa-var-hands-wash: \e05e; +$fa-var-hands-clapping: \e1a8; +$fa-var-hands-holding: \f4c2; +$fa-var-hands-holding-child: \e4fa; +$fa-var-hands-holding-circle: \e4fb; +$fa-var-hands-praying: \f684; +$fa-var-praying-hands: \f684; +$fa-var-handshake: \f2b5; +$fa-var-handshake-angle: \f4c4; +$fa-var-hands-helping: \f4c4; +$fa-var-handshake-simple: \f4c6; +$fa-var-handshake-alt: \f4c6; +$fa-var-handshake-simple-slash: \e05f; +$fa-var-handshake-alt-slash: \e05f; +$fa-var-handshake-slash: \e060; +$fa-var-hanukiah: \f6e6; +$fa-var-hard-drive: \f0a0; +$fa-var-hdd: \f0a0; +$fa-var-hashtag: \23; +$fa-var-hat-cowboy: \f8c0; +$fa-var-hat-cowboy-side: \f8c1; +$fa-var-hat-wizard: \f6e8; +$fa-var-head-side-cough: \e061; +$fa-var-head-side-cough-slash: \e062; +$fa-var-head-side-mask: \e063; +$fa-var-head-side-virus: \e064; +$fa-var-heading: \f1dc; +$fa-var-header: \f1dc; +$fa-var-headphones: \f025; +$fa-var-headphones-simple: \f58f; +$fa-var-headphones-alt: \f58f; +$fa-var-headset: \f590; +$fa-var-heart: \f004; +$fa-var-heart-circle-bolt: \e4fc; +$fa-var-heart-circle-check: \e4fd; +$fa-var-heart-circle-exclamation: \e4fe; +$fa-var-heart-circle-minus: \e4ff; +$fa-var-heart-circle-plus: \e500; +$fa-var-heart-circle-xmark: \e501; +$fa-var-heart-crack: \f7a9; +$fa-var-heart-broken: \f7a9; +$fa-var-heart-pulse: \f21e; +$fa-var-heartbeat: \f21e; +$fa-var-helicopter: \f533; +$fa-var-helicopter-symbol: \e502; +$fa-var-helmet-safety: \f807; +$fa-var-hard-hat: \f807; +$fa-var-hat-hard: \f807; +$fa-var-helmet-un: \e503; +$fa-var-highlighter: \f591; +$fa-var-hill-avalanche: \e507; +$fa-var-hill-rockslide: \e508; +$fa-var-hippo: \f6ed; +$fa-var-hockey-puck: \f453; +$fa-var-holly-berry: \f7aa; +$fa-var-horse: \f6f0; +$fa-var-horse-head: \f7ab; +$fa-var-hospital: \f0f8; +$fa-var-hospital-alt: \f0f8; +$fa-var-hospital-wide: \f0f8; +$fa-var-hospital-user: \f80d; +$fa-var-hot-tub-person: \f593; +$fa-var-hot-tub: \f593; +$fa-var-hotdog: \f80f; +$fa-var-hotel: \f594; +$fa-var-hourglass: \f254; +$fa-var-hourglass-empty: \f254; +$fa-var-hourglass-end: \f253; +$fa-var-hourglass-3: \f253; +$fa-var-hourglass-half: \f252; +$fa-var-hourglass-2: \f252; +$fa-var-hourglass-start: \f251; +$fa-var-hourglass-1: \f251; +$fa-var-house: \f015; +$fa-var-home: \f015; +$fa-var-home-alt: \f015; +$fa-var-home-lg-alt: \f015; +$fa-var-house-chimney: \e3af; +$fa-var-home-lg: \e3af; +$fa-var-house-chimney-crack: \f6f1; +$fa-var-house-damage: \f6f1; +$fa-var-house-chimney-medical: \f7f2; +$fa-var-clinic-medical: \f7f2; +$fa-var-house-chimney-user: \e065; +$fa-var-house-chimney-window: \e00d; +$fa-var-house-circle-check: \e509; +$fa-var-house-circle-exclamation: \e50a; +$fa-var-house-circle-xmark: \e50b; +$fa-var-house-crack: \e3b1; +$fa-var-house-fire: \e50c; +$fa-var-house-flag: \e50d; +$fa-var-house-flood-water: \e50e; +$fa-var-house-flood-water-circle-arrow-right: \e50f; +$fa-var-house-laptop: \e066; +$fa-var-laptop-house: \e066; +$fa-var-house-lock: \e510; +$fa-var-house-medical: \e3b2; +$fa-var-house-medical-circle-check: \e511; +$fa-var-house-medical-circle-exclamation: \e512; +$fa-var-house-medical-circle-xmark: \e513; +$fa-var-house-medical-flag: \e514; +$fa-var-house-signal: \e012; +$fa-var-house-tsunami: \e515; +$fa-var-house-user: \e1b0; +$fa-var-home-user: \e1b0; +$fa-var-hryvnia-sign: \f6f2; +$fa-var-hryvnia: \f6f2; +$fa-var-hurricane: \f751; +$fa-var-i: \49; +$fa-var-i-cursor: \f246; +$fa-var-ice-cream: \f810; +$fa-var-icicles: \f7ad; +$fa-var-icons: \f86d; +$fa-var-heart-music-camera-bolt: \f86d; +$fa-var-id-badge: \f2c1; +$fa-var-id-card: \f2c2; +$fa-var-drivers-license: \f2c2; +$fa-var-id-card-clip: \f47f; +$fa-var-id-card-alt: \f47f; +$fa-var-igloo: \f7ae; +$fa-var-image: \f03e; +$fa-var-image-portrait: \f3e0; +$fa-var-portrait: \f3e0; +$fa-var-images: \f302; +$fa-var-inbox: \f01c; +$fa-var-indent: \f03c; +$fa-var-indian-rupee-sign: \e1bc; +$fa-var-indian-rupee: \e1bc; +$fa-var-inr: \e1bc; +$fa-var-industry: \f275; +$fa-var-infinity: \f534; +$fa-var-info: \f129; +$fa-var-italic: \f033; +$fa-var-j: \4a; +$fa-var-jar: \e516; +$fa-var-jar-wheat: \e517; +$fa-var-jedi: \f669; +$fa-var-jet-fighter: \f0fb; +$fa-var-fighter-jet: \f0fb; +$fa-var-jet-fighter-up: \e518; +$fa-var-joint: \f595; +$fa-var-jug-detergent: \e519; +$fa-var-k: \4b; +$fa-var-kaaba: \f66b; +$fa-var-key: \f084; +$fa-var-keyboard: \f11c; +$fa-var-khanda: \f66d; +$fa-var-kip-sign: \e1c4; +$fa-var-kit-medical: \f479; +$fa-var-first-aid: \f479; +$fa-var-kitchen-set: \e51a; +$fa-var-kiwi-bird: \f535; +$fa-var-l: \4c; +$fa-var-land-mine-on: \e51b; +$fa-var-landmark: \f66f; +$fa-var-landmark-dome: \f752; +$fa-var-landmark-alt: \f752; +$fa-var-landmark-flag: \e51c; +$fa-var-language: \f1ab; +$fa-var-laptop: \f109; +$fa-var-laptop-code: \f5fc; +$fa-var-laptop-file: \e51d; +$fa-var-laptop-medical: \f812; +$fa-var-lari-sign: \e1c8; +$fa-var-layer-group: \f5fd; +$fa-var-leaf: \f06c; +$fa-var-left-long: \f30a; +$fa-var-long-arrow-alt-left: \f30a; +$fa-var-left-right: \f337; +$fa-var-arrows-alt-h: \f337; +$fa-var-lemon: \f094; +$fa-var-less-than: \3c; +$fa-var-less-than-equal: \f537; +$fa-var-life-ring: \f1cd; +$fa-var-lightbulb: \f0eb; +$fa-var-lines-leaning: \e51e; +$fa-var-link: \f0c1; +$fa-var-chain: \f0c1; +$fa-var-link-slash: \f127; +$fa-var-chain-broken: \f127; +$fa-var-chain-slash: \f127; +$fa-var-unlink: \f127; +$fa-var-lira-sign: \f195; +$fa-var-list: \f03a; +$fa-var-list-squares: \f03a; +$fa-var-list-check: \f0ae; +$fa-var-tasks: \f0ae; +$fa-var-list-ol: \f0cb; +$fa-var-list-1-2: \f0cb; +$fa-var-list-numeric: \f0cb; +$fa-var-list-ul: \f0ca; +$fa-var-list-dots: \f0ca; +$fa-var-litecoin-sign: \e1d3; +$fa-var-location-arrow: \f124; +$fa-var-location-crosshairs: \f601; +$fa-var-location: \f601; +$fa-var-location-dot: \f3c5; +$fa-var-map-marker-alt: \f3c5; +$fa-var-location-pin: \f041; +$fa-var-map-marker: \f041; +$fa-var-location-pin-lock: \e51f; +$fa-var-lock: \f023; +$fa-var-lock-open: \f3c1; +$fa-var-locust: \e520; +$fa-var-lungs: \f604; +$fa-var-lungs-virus: \e067; +$fa-var-m: \4d; +$fa-var-magnet: \f076; +$fa-var-magnifying-glass: \f002; +$fa-var-search: \f002; +$fa-var-magnifying-glass-arrow-right: \e521; +$fa-var-magnifying-glass-chart: \e522; +$fa-var-magnifying-glass-dollar: \f688; +$fa-var-search-dollar: \f688; +$fa-var-magnifying-glass-location: \f689; +$fa-var-search-location: \f689; +$fa-var-magnifying-glass-minus: \f010; +$fa-var-search-minus: \f010; +$fa-var-magnifying-glass-plus: \f00e; +$fa-var-search-plus: \f00e; +$fa-var-manat-sign: \e1d5; +$fa-var-map: \f279; +$fa-var-map-location: \f59f; +$fa-var-map-marked: \f59f; +$fa-var-map-location-dot: \f5a0; +$fa-var-map-marked-alt: \f5a0; +$fa-var-map-pin: \f276; +$fa-var-marker: \f5a1; +$fa-var-mars: \f222; +$fa-var-mars-and-venus: \f224; +$fa-var-mars-and-venus-burst: \e523; +$fa-var-mars-double: \f227; +$fa-var-mars-stroke: \f229; +$fa-var-mars-stroke-right: \f22b; +$fa-var-mars-stroke-h: \f22b; +$fa-var-mars-stroke-up: \f22a; +$fa-var-mars-stroke-v: \f22a; +$fa-var-martini-glass: \f57b; +$fa-var-glass-martini-alt: \f57b; +$fa-var-martini-glass-citrus: \f561; +$fa-var-cocktail: \f561; +$fa-var-martini-glass-empty: \f000; +$fa-var-glass-martini: \f000; +$fa-var-mask: \f6fa; +$fa-var-mask-face: \e1d7; +$fa-var-mask-ventilator: \e524; +$fa-var-masks-theater: \f630; +$fa-var-theater-masks: \f630; +$fa-var-mattress-pillow: \e525; +$fa-var-maximize: \f31e; +$fa-var-expand-arrows-alt: \f31e; +$fa-var-medal: \f5a2; +$fa-var-memory: \f538; +$fa-var-menorah: \f676; +$fa-var-mercury: \f223; +$fa-var-message: \f27a; +$fa-var-comment-alt: \f27a; +$fa-var-meteor: \f753; +$fa-var-microchip: \f2db; +$fa-var-microphone: \f130; +$fa-var-microphone-lines: \f3c9; +$fa-var-microphone-alt: \f3c9; +$fa-var-microphone-lines-slash: \f539; +$fa-var-microphone-alt-slash: \f539; +$fa-var-microphone-slash: \f131; +$fa-var-microscope: \f610; +$fa-var-mill-sign: \e1ed; +$fa-var-minimize: \f78c; +$fa-var-compress-arrows-alt: \f78c; +$fa-var-minus: \f068; +$fa-var-subtract: \f068; +$fa-var-mitten: \f7b5; +$fa-var-mobile: \f3ce; +$fa-var-mobile-android: \f3ce; +$fa-var-mobile-phone: \f3ce; +$fa-var-mobile-button: \f10b; +$fa-var-mobile-retro: \e527; +$fa-var-mobile-screen: \f3cf; +$fa-var-mobile-android-alt: \f3cf; +$fa-var-mobile-screen-button: \f3cd; +$fa-var-mobile-alt: \f3cd; +$fa-var-money-bill: \f0d6; +$fa-var-money-bill-1: \f3d1; +$fa-var-money-bill-alt: \f3d1; +$fa-var-money-bill-1-wave: \f53b; +$fa-var-money-bill-wave-alt: \f53b; +$fa-var-money-bill-transfer: \e528; +$fa-var-money-bill-trend-up: \e529; +$fa-var-money-bill-wave: \f53a; +$fa-var-money-bill-wheat: \e52a; +$fa-var-money-bills: \e1f3; +$fa-var-money-check: \f53c; +$fa-var-money-check-dollar: \f53d; +$fa-var-money-check-alt: \f53d; +$fa-var-monument: \f5a6; +$fa-var-moon: \f186; +$fa-var-mortar-pestle: \f5a7; +$fa-var-mosque: \f678; +$fa-var-mosquito: \e52b; +$fa-var-mosquito-net: \e52c; +$fa-var-motorcycle: \f21c; +$fa-var-mound: \e52d; +$fa-var-mountain: \f6fc; +$fa-var-mountain-city: \e52e; +$fa-var-mountain-sun: \e52f; +$fa-var-mug-hot: \f7b6; +$fa-var-mug-saucer: \f0f4; +$fa-var-coffee: \f0f4; +$fa-var-music: \f001; +$fa-var-n: \4e; +$fa-var-naira-sign: \e1f6; +$fa-var-network-wired: \f6ff; +$fa-var-neuter: \f22c; +$fa-var-newspaper: \f1ea; +$fa-var-not-equal: \f53e; +$fa-var-notdef: \e1fe; +$fa-var-note-sticky: \f249; +$fa-var-sticky-note: \f249; +$fa-var-notes-medical: \f481; +$fa-var-o: \4f; +$fa-var-object-group: \f247; +$fa-var-object-ungroup: \f248; +$fa-var-oil-can: \f613; +$fa-var-oil-well: \e532; +$fa-var-om: \f679; +$fa-var-otter: \f700; +$fa-var-outdent: \f03b; +$fa-var-dedent: \f03b; +$fa-var-p: \50; +$fa-var-pager: \f815; +$fa-var-paint-roller: \f5aa; +$fa-var-paintbrush: \f1fc; +$fa-var-paint-brush: \f1fc; +$fa-var-palette: \f53f; +$fa-var-pallet: \f482; +$fa-var-panorama: \e209; +$fa-var-paper-plane: \f1d8; +$fa-var-paperclip: \f0c6; +$fa-var-parachute-box: \f4cd; +$fa-var-paragraph: \f1dd; +$fa-var-passport: \f5ab; +$fa-var-paste: \f0ea; +$fa-var-file-clipboard: \f0ea; +$fa-var-pause: \f04c; +$fa-var-paw: \f1b0; +$fa-var-peace: \f67c; +$fa-var-pen: \f304; +$fa-var-pen-clip: \f305; +$fa-var-pen-alt: \f305; +$fa-var-pen-fancy: \f5ac; +$fa-var-pen-nib: \f5ad; +$fa-var-pen-ruler: \f5ae; +$fa-var-pencil-ruler: \f5ae; +$fa-var-pen-to-square: \f044; +$fa-var-edit: \f044; +$fa-var-pencil: \f303; +$fa-var-pencil-alt: \f303; +$fa-var-people-arrows: \e068; +$fa-var-people-arrows-left-right: \e068; +$fa-var-people-carry-box: \f4ce; +$fa-var-people-carry: \f4ce; +$fa-var-people-group: \e533; +$fa-var-people-line: \e534; +$fa-var-people-pulling: \e535; +$fa-var-people-robbery: \e536; +$fa-var-people-roof: \e537; +$fa-var-pepper-hot: \f816; +$fa-var-percent: \25; +$fa-var-percentage: \25; +$fa-var-person: \f183; +$fa-var-male: \f183; +$fa-var-person-arrow-down-to-line: \e538; +$fa-var-person-arrow-up-from-line: \e539; +$fa-var-person-biking: \f84a; +$fa-var-biking: \f84a; +$fa-var-person-booth: \f756; +$fa-var-person-breastfeeding: \e53a; +$fa-var-person-burst: \e53b; +$fa-var-person-cane: \e53c; +$fa-var-person-chalkboard: \e53d; +$fa-var-person-circle-check: \e53e; +$fa-var-person-circle-exclamation: \e53f; +$fa-var-person-circle-minus: \e540; +$fa-var-person-circle-plus: \e541; +$fa-var-person-circle-question: \e542; +$fa-var-person-circle-xmark: \e543; +$fa-var-person-digging: \f85e; +$fa-var-digging: \f85e; +$fa-var-person-dots-from-line: \f470; +$fa-var-diagnoses: \f470; +$fa-var-person-dress: \f182; +$fa-var-female: \f182; +$fa-var-person-dress-burst: \e544; +$fa-var-person-drowning: \e545; +$fa-var-person-falling: \e546; +$fa-var-person-falling-burst: \e547; +$fa-var-person-half-dress: \e548; +$fa-var-person-harassing: \e549; +$fa-var-person-hiking: \f6ec; +$fa-var-hiking: \f6ec; +$fa-var-person-military-pointing: \e54a; +$fa-var-person-military-rifle: \e54b; +$fa-var-person-military-to-person: \e54c; +$fa-var-person-praying: \f683; +$fa-var-pray: \f683; +$fa-var-person-pregnant: \e31e; +$fa-var-person-rays: \e54d; +$fa-var-person-rifle: \e54e; +$fa-var-person-running: \f70c; +$fa-var-running: \f70c; +$fa-var-person-shelter: \e54f; +$fa-var-person-skating: \f7c5; +$fa-var-skating: \f7c5; +$fa-var-person-skiing: \f7c9; +$fa-var-skiing: \f7c9; +$fa-var-person-skiing-nordic: \f7ca; +$fa-var-skiing-nordic: \f7ca; +$fa-var-person-snowboarding: \f7ce; +$fa-var-snowboarding: \f7ce; +$fa-var-person-swimming: \f5c4; +$fa-var-swimmer: \f5c4; +$fa-var-person-through-window: \e5a9; +$fa-var-person-walking: \f554; +$fa-var-walking: \f554; +$fa-var-person-walking-arrow-loop-left: \e551; +$fa-var-person-walking-arrow-right: \e552; +$fa-var-person-walking-dashed-line-arrow-right: \e553; +$fa-var-person-walking-luggage: \e554; +$fa-var-person-walking-with-cane: \f29d; +$fa-var-blind: \f29d; +$fa-var-peseta-sign: \e221; +$fa-var-peso-sign: \e222; +$fa-var-phone: \f095; +$fa-var-phone-flip: \f879; +$fa-var-phone-alt: \f879; +$fa-var-phone-slash: \f3dd; +$fa-var-phone-volume: \f2a0; +$fa-var-volume-control-phone: \f2a0; +$fa-var-photo-film: \f87c; +$fa-var-photo-video: \f87c; +$fa-var-piggy-bank: \f4d3; +$fa-var-pills: \f484; +$fa-var-pizza-slice: \f818; +$fa-var-place-of-worship: \f67f; +$fa-var-plane: \f072; +$fa-var-plane-arrival: \f5af; +$fa-var-plane-circle-check: \e555; +$fa-var-plane-circle-exclamation: \e556; +$fa-var-plane-circle-xmark: \e557; +$fa-var-plane-departure: \f5b0; +$fa-var-plane-lock: \e558; +$fa-var-plane-slash: \e069; +$fa-var-plane-up: \e22d; +$fa-var-plant-wilt: \e5aa; +$fa-var-plate-wheat: \e55a; +$fa-var-play: \f04b; +$fa-var-plug: \f1e6; +$fa-var-plug-circle-bolt: \e55b; +$fa-var-plug-circle-check: \e55c; +$fa-var-plug-circle-exclamation: \e55d; +$fa-var-plug-circle-minus: \e55e; +$fa-var-plug-circle-plus: \e55f; +$fa-var-plug-circle-xmark: \e560; +$fa-var-plus: \2b; +$fa-var-add: \2b; +$fa-var-plus-minus: \e43c; +$fa-var-podcast: \f2ce; +$fa-var-poo: \f2fe; +$fa-var-poo-storm: \f75a; +$fa-var-poo-bolt: \f75a; +$fa-var-poop: \f619; +$fa-var-power-off: \f011; +$fa-var-prescription: \f5b1; +$fa-var-prescription-bottle: \f485; +$fa-var-prescription-bottle-medical: \f486; +$fa-var-prescription-bottle-alt: \f486; +$fa-var-print: \f02f; +$fa-var-pump-medical: \e06a; +$fa-var-pump-soap: \e06b; +$fa-var-puzzle-piece: \f12e; +$fa-var-q: \51; +$fa-var-qrcode: \f029; +$fa-var-question: \3f; +$fa-var-quote-left: \f10d; +$fa-var-quote-left-alt: \f10d; +$fa-var-quote-right: \f10e; +$fa-var-quote-right-alt: \f10e; +$fa-var-r: \52; +$fa-var-radiation: \f7b9; +$fa-var-radio: \f8d7; +$fa-var-rainbow: \f75b; +$fa-var-ranking-star: \e561; +$fa-var-receipt: \f543; +$fa-var-record-vinyl: \f8d9; +$fa-var-rectangle-ad: \f641; +$fa-var-ad: \f641; +$fa-var-rectangle-list: \f022; +$fa-var-list-alt: \f022; +$fa-var-rectangle-xmark: \f410; +$fa-var-rectangle-times: \f410; +$fa-var-times-rectangle: \f410; +$fa-var-window-close: \f410; +$fa-var-recycle: \f1b8; +$fa-var-registered: \f25d; +$fa-var-repeat: \f363; +$fa-var-reply: \f3e5; +$fa-var-mail-reply: \f3e5; +$fa-var-reply-all: \f122; +$fa-var-mail-reply-all: \f122; +$fa-var-republican: \f75e; +$fa-var-restroom: \f7bd; +$fa-var-retweet: \f079; +$fa-var-ribbon: \f4d6; +$fa-var-right-from-bracket: \f2f5; +$fa-var-sign-out-alt: \f2f5; +$fa-var-right-left: \f362; +$fa-var-exchange-alt: \f362; +$fa-var-right-long: \f30b; +$fa-var-long-arrow-alt-right: \f30b; +$fa-var-right-to-bracket: \f2f6; +$fa-var-sign-in-alt: \f2f6; +$fa-var-ring: \f70b; +$fa-var-road: \f018; +$fa-var-road-barrier: \e562; +$fa-var-road-bridge: \e563; +$fa-var-road-circle-check: \e564; +$fa-var-road-circle-exclamation: \e565; +$fa-var-road-circle-xmark: \e566; +$fa-var-road-lock: \e567; +$fa-var-road-spikes: \e568; +$fa-var-robot: \f544; +$fa-var-rocket: \f135; +$fa-var-rotate: \f2f1; +$fa-var-sync-alt: \f2f1; +$fa-var-rotate-left: \f2ea; +$fa-var-rotate-back: \f2ea; +$fa-var-rotate-backward: \f2ea; +$fa-var-undo-alt: \f2ea; +$fa-var-rotate-right: \f2f9; +$fa-var-redo-alt: \f2f9; +$fa-var-rotate-forward: \f2f9; +$fa-var-route: \f4d7; +$fa-var-rss: \f09e; +$fa-var-feed: \f09e; +$fa-var-ruble-sign: \f158; +$fa-var-rouble: \f158; +$fa-var-rub: \f158; +$fa-var-ruble: \f158; +$fa-var-rug: \e569; +$fa-var-ruler: \f545; +$fa-var-ruler-combined: \f546; +$fa-var-ruler-horizontal: \f547; +$fa-var-ruler-vertical: \f548; +$fa-var-rupee-sign: \f156; +$fa-var-rupee: \f156; +$fa-var-rupiah-sign: \e23d; +$fa-var-s: \53; +$fa-var-sack-dollar: \f81d; +$fa-var-sack-xmark: \e56a; +$fa-var-sailboat: \e445; +$fa-var-satellite: \f7bf; +$fa-var-satellite-dish: \f7c0; +$fa-var-scale-balanced: \f24e; +$fa-var-balance-scale: \f24e; +$fa-var-scale-unbalanced: \f515; +$fa-var-balance-scale-left: \f515; +$fa-var-scale-unbalanced-flip: \f516; +$fa-var-balance-scale-right: \f516; +$fa-var-school: \f549; +$fa-var-school-circle-check: \e56b; +$fa-var-school-circle-exclamation: \e56c; +$fa-var-school-circle-xmark: \e56d; +$fa-var-school-flag: \e56e; +$fa-var-school-lock: \e56f; +$fa-var-scissors: \f0c4; +$fa-var-cut: \f0c4; +$fa-var-screwdriver: \f54a; +$fa-var-screwdriver-wrench: \f7d9; +$fa-var-tools: \f7d9; +$fa-var-scroll: \f70e; +$fa-var-scroll-torah: \f6a0; +$fa-var-torah: \f6a0; +$fa-var-sd-card: \f7c2; +$fa-var-section: \e447; +$fa-var-seedling: \f4d8; +$fa-var-sprout: \f4d8; +$fa-var-server: \f233; +$fa-var-shapes: \f61f; +$fa-var-triangle-circle-square: \f61f; +$fa-var-share: \f064; +$fa-var-arrow-turn-right: \f064; +$fa-var-mail-forward: \f064; +$fa-var-share-from-square: \f14d; +$fa-var-share-square: \f14d; +$fa-var-share-nodes: \f1e0; +$fa-var-share-alt: \f1e0; +$fa-var-sheet-plastic: \e571; +$fa-var-shekel-sign: \f20b; +$fa-var-ils: \f20b; +$fa-var-shekel: \f20b; +$fa-var-sheqel: \f20b; +$fa-var-sheqel-sign: \f20b; +$fa-var-shield: \f132; +$fa-var-shield-blank: \f132; +$fa-var-shield-cat: \e572; +$fa-var-shield-dog: \e573; +$fa-var-shield-halved: \f3ed; +$fa-var-shield-alt: \f3ed; +$fa-var-shield-heart: \e574; +$fa-var-shield-virus: \e06c; +$fa-var-ship: \f21a; +$fa-var-shirt: \f553; +$fa-var-t-shirt: \f553; +$fa-var-tshirt: \f553; +$fa-var-shoe-prints: \f54b; +$fa-var-shop: \f54f; +$fa-var-store-alt: \f54f; +$fa-var-shop-lock: \e4a5; +$fa-var-shop-slash: \e070; +$fa-var-store-alt-slash: \e070; +$fa-var-shower: \f2cc; +$fa-var-shrimp: \e448; +$fa-var-shuffle: \f074; +$fa-var-random: \f074; +$fa-var-shuttle-space: \f197; +$fa-var-space-shuttle: \f197; +$fa-var-sign-hanging: \f4d9; +$fa-var-sign: \f4d9; +$fa-var-signal: \f012; +$fa-var-signal-5: \f012; +$fa-var-signal-perfect: \f012; +$fa-var-signature: \f5b7; +$fa-var-signs-post: \f277; +$fa-var-map-signs: \f277; +$fa-var-sim-card: \f7c4; +$fa-var-sink: \e06d; +$fa-var-sitemap: \f0e8; +$fa-var-skull: \f54c; +$fa-var-skull-crossbones: \f714; +$fa-var-slash: \f715; +$fa-var-sleigh: \f7cc; +$fa-var-sliders: \f1de; +$fa-var-sliders-h: \f1de; +$fa-var-smog: \f75f; +$fa-var-smoking: \f48d; +$fa-var-snowflake: \f2dc; +$fa-var-snowman: \f7d0; +$fa-var-snowplow: \f7d2; +$fa-var-soap: \e06e; +$fa-var-socks: \f696; +$fa-var-solar-panel: \f5ba; +$fa-var-sort: \f0dc; +$fa-var-unsorted: \f0dc; +$fa-var-sort-down: \f0dd; +$fa-var-sort-desc: \f0dd; +$fa-var-sort-up: \f0de; +$fa-var-sort-asc: \f0de; +$fa-var-spa: \f5bb; +$fa-var-spaghetti-monster-flying: \f67b; +$fa-var-pastafarianism: \f67b; +$fa-var-spell-check: \f891; +$fa-var-spider: \f717; +$fa-var-spinner: \f110; +$fa-var-splotch: \f5bc; +$fa-var-spoon: \f2e5; +$fa-var-utensil-spoon: \f2e5; +$fa-var-spray-can: \f5bd; +$fa-var-spray-can-sparkles: \f5d0; +$fa-var-air-freshener: \f5d0; +$fa-var-square: \f0c8; +$fa-var-square-arrow-up-right: \f14c; +$fa-var-external-link-square: \f14c; +$fa-var-square-caret-down: \f150; +$fa-var-caret-square-down: \f150; +$fa-var-square-caret-left: \f191; +$fa-var-caret-square-left: \f191; +$fa-var-square-caret-right: \f152; +$fa-var-caret-square-right: \f152; +$fa-var-square-caret-up: \f151; +$fa-var-caret-square-up: \f151; +$fa-var-square-check: \f14a; +$fa-var-check-square: \f14a; +$fa-var-square-envelope: \f199; +$fa-var-envelope-square: \f199; +$fa-var-square-full: \f45c; +$fa-var-square-h: \f0fd; +$fa-var-h-square: \f0fd; +$fa-var-square-minus: \f146; +$fa-var-minus-square: \f146; +$fa-var-square-nfi: \e576; +$fa-var-square-parking: \f540; +$fa-var-parking: \f540; +$fa-var-square-pen: \f14b; +$fa-var-pen-square: \f14b; +$fa-var-pencil-square: \f14b; +$fa-var-square-person-confined: \e577; +$fa-var-square-phone: \f098; +$fa-var-phone-square: \f098; +$fa-var-square-phone-flip: \f87b; +$fa-var-phone-square-alt: \f87b; +$fa-var-square-plus: \f0fe; +$fa-var-plus-square: \f0fe; +$fa-var-square-poll-horizontal: \f682; +$fa-var-poll-h: \f682; +$fa-var-square-poll-vertical: \f681; +$fa-var-poll: \f681; +$fa-var-square-root-variable: \f698; +$fa-var-square-root-alt: \f698; +$fa-var-square-rss: \f143; +$fa-var-rss-square: \f143; +$fa-var-square-share-nodes: \f1e1; +$fa-var-share-alt-square: \f1e1; +$fa-var-square-up-right: \f360; +$fa-var-external-link-square-alt: \f360; +$fa-var-square-virus: \e578; +$fa-var-square-xmark: \f2d3; +$fa-var-times-square: \f2d3; +$fa-var-xmark-square: \f2d3; +$fa-var-staff-snake: \e579; +$fa-var-rod-asclepius: \e579; +$fa-var-rod-snake: \e579; +$fa-var-staff-aesculapius: \e579; +$fa-var-stairs: \e289; +$fa-var-stamp: \f5bf; +$fa-var-stapler: \e5af; +$fa-var-star: \f005; +$fa-var-star-and-crescent: \f699; +$fa-var-star-half: \f089; +$fa-var-star-half-stroke: \f5c0; +$fa-var-star-half-alt: \f5c0; +$fa-var-star-of-david: \f69a; +$fa-var-star-of-life: \f621; +$fa-var-sterling-sign: \f154; +$fa-var-gbp: \f154; +$fa-var-pound-sign: \f154; +$fa-var-stethoscope: \f0f1; +$fa-var-stop: \f04d; +$fa-var-stopwatch: \f2f2; +$fa-var-stopwatch-20: \e06f; +$fa-var-store: \f54e; +$fa-var-store-slash: \e071; +$fa-var-street-view: \f21d; +$fa-var-strikethrough: \f0cc; +$fa-var-stroopwafel: \f551; +$fa-var-subscript: \f12c; +$fa-var-suitcase: \f0f2; +$fa-var-suitcase-medical: \f0fa; +$fa-var-medkit: \f0fa; +$fa-var-suitcase-rolling: \f5c1; +$fa-var-sun: \f185; +$fa-var-sun-plant-wilt: \e57a; +$fa-var-superscript: \f12b; +$fa-var-swatchbook: \f5c3; +$fa-var-synagogue: \f69b; +$fa-var-syringe: \f48e; +$fa-var-t: \54; +$fa-var-table: \f0ce; +$fa-var-table-cells: \f00a; +$fa-var-th: \f00a; +$fa-var-table-cells-large: \f009; +$fa-var-th-large: \f009; +$fa-var-table-columns: \f0db; +$fa-var-columns: \f0db; +$fa-var-table-list: \f00b; +$fa-var-th-list: \f00b; +$fa-var-table-tennis-paddle-ball: \f45d; +$fa-var-ping-pong-paddle-ball: \f45d; +$fa-var-table-tennis: \f45d; +$fa-var-tablet: \f3fb; +$fa-var-tablet-android: \f3fb; +$fa-var-tablet-button: \f10a; +$fa-var-tablet-screen-button: \f3fa; +$fa-var-tablet-alt: \f3fa; +$fa-var-tablets: \f490; +$fa-var-tachograph-digital: \f566; +$fa-var-digital-tachograph: \f566; +$fa-var-tag: \f02b; +$fa-var-tags: \f02c; +$fa-var-tape: \f4db; +$fa-var-tarp: \e57b; +$fa-var-tarp-droplet: \e57c; +$fa-var-taxi: \f1ba; +$fa-var-cab: \f1ba; +$fa-var-teeth: \f62e; +$fa-var-teeth-open: \f62f; +$fa-var-temperature-arrow-down: \e03f; +$fa-var-temperature-down: \e03f; +$fa-var-temperature-arrow-up: \e040; +$fa-var-temperature-up: \e040; +$fa-var-temperature-empty: \f2cb; +$fa-var-temperature-0: \f2cb; +$fa-var-thermometer-0: \f2cb; +$fa-var-thermometer-empty: \f2cb; +$fa-var-temperature-full: \f2c7; +$fa-var-temperature-4: \f2c7; +$fa-var-thermometer-4: \f2c7; +$fa-var-thermometer-full: \f2c7; +$fa-var-temperature-half: \f2c9; +$fa-var-temperature-2: \f2c9; +$fa-var-thermometer-2: \f2c9; +$fa-var-thermometer-half: \f2c9; +$fa-var-temperature-high: \f769; +$fa-var-temperature-low: \f76b; +$fa-var-temperature-quarter: \f2ca; +$fa-var-temperature-1: \f2ca; +$fa-var-thermometer-1: \f2ca; +$fa-var-thermometer-quarter: \f2ca; +$fa-var-temperature-three-quarters: \f2c8; +$fa-var-temperature-3: \f2c8; +$fa-var-thermometer-3: \f2c8; +$fa-var-thermometer-three-quarters: \f2c8; +$fa-var-tenge-sign: \f7d7; +$fa-var-tenge: \f7d7; +$fa-var-tent: \e57d; +$fa-var-tent-arrow-down-to-line: \e57e; +$fa-var-tent-arrow-left-right: \e57f; +$fa-var-tent-arrow-turn-left: \e580; +$fa-var-tent-arrows-down: \e581; +$fa-var-tents: \e582; +$fa-var-terminal: \f120; +$fa-var-text-height: \f034; +$fa-var-text-slash: \f87d; +$fa-var-remove-format: \f87d; +$fa-var-text-width: \f035; +$fa-var-thermometer: \f491; +$fa-var-thumbs-down: \f165; +$fa-var-thumbs-up: \f164; +$fa-var-thumbtack: \f08d; +$fa-var-thumb-tack: \f08d; +$fa-var-ticket: \f145; +$fa-var-ticket-simple: \f3ff; +$fa-var-ticket-alt: \f3ff; +$fa-var-timeline: \e29c; +$fa-var-toggle-off: \f204; +$fa-var-toggle-on: \f205; +$fa-var-toilet: \f7d8; +$fa-var-toilet-paper: \f71e; +$fa-var-toilet-paper-slash: \e072; +$fa-var-toilet-portable: \e583; +$fa-var-toilets-portable: \e584; +$fa-var-toolbox: \f552; +$fa-var-tooth: \f5c9; +$fa-var-torii-gate: \f6a1; +$fa-var-tornado: \f76f; +$fa-var-tower-broadcast: \f519; +$fa-var-broadcast-tower: \f519; +$fa-var-tower-cell: \e585; +$fa-var-tower-observation: \e586; +$fa-var-tractor: \f722; +$fa-var-trademark: \f25c; +$fa-var-traffic-light: \f637; +$fa-var-trailer: \e041; +$fa-var-train: \f238; +$fa-var-train-subway: \f239; +$fa-var-subway: \f239; +$fa-var-train-tram: \e5b4; +$fa-var-transgender: \f225; +$fa-var-transgender-alt: \f225; +$fa-var-trash: \f1f8; +$fa-var-trash-arrow-up: \f829; +$fa-var-trash-restore: \f829; +$fa-var-trash-can: \f2ed; +$fa-var-trash-alt: \f2ed; +$fa-var-trash-can-arrow-up: \f82a; +$fa-var-trash-restore-alt: \f82a; +$fa-var-tree: \f1bb; +$fa-var-tree-city: \e587; +$fa-var-triangle-exclamation: \f071; +$fa-var-exclamation-triangle: \f071; +$fa-var-warning: \f071; +$fa-var-trophy: \f091; +$fa-var-trowel: \e589; +$fa-var-trowel-bricks: \e58a; +$fa-var-truck: \f0d1; +$fa-var-truck-arrow-right: \e58b; +$fa-var-truck-droplet: \e58c; +$fa-var-truck-fast: \f48b; +$fa-var-shipping-fast: \f48b; +$fa-var-truck-field: \e58d; +$fa-var-truck-field-un: \e58e; +$fa-var-truck-front: \e2b7; +$fa-var-truck-medical: \f0f9; +$fa-var-ambulance: \f0f9; +$fa-var-truck-monster: \f63b; +$fa-var-truck-moving: \f4df; +$fa-var-truck-pickup: \f63c; +$fa-var-truck-plane: \e58f; +$fa-var-truck-ramp-box: \f4de; +$fa-var-truck-loading: \f4de; +$fa-var-tty: \f1e4; +$fa-var-teletype: \f1e4; +$fa-var-turkish-lira-sign: \e2bb; +$fa-var-try: \e2bb; +$fa-var-turkish-lira: \e2bb; +$fa-var-turn-down: \f3be; +$fa-var-level-down-alt: \f3be; +$fa-var-turn-up: \f3bf; +$fa-var-level-up-alt: \f3bf; +$fa-var-tv: \f26c; +$fa-var-television: \f26c; +$fa-var-tv-alt: \f26c; +$fa-var-u: \55; +$fa-var-umbrella: \f0e9; +$fa-var-umbrella-beach: \f5ca; +$fa-var-underline: \f0cd; +$fa-var-universal-access: \f29a; +$fa-var-unlock: \f09c; +$fa-var-unlock-keyhole: \f13e; +$fa-var-unlock-alt: \f13e; +$fa-var-up-down: \f338; +$fa-var-arrows-alt-v: \f338; +$fa-var-up-down-left-right: \f0b2; +$fa-var-arrows-alt: \f0b2; +$fa-var-up-long: \f30c; +$fa-var-long-arrow-alt-up: \f30c; +$fa-var-up-right-and-down-left-from-center: \f424; +$fa-var-expand-alt: \f424; +$fa-var-up-right-from-square: \f35d; +$fa-var-external-link-alt: \f35d; +$fa-var-upload: \f093; +$fa-var-user: \f007; +$fa-var-user-astronaut: \f4fb; +$fa-var-user-check: \f4fc; +$fa-var-user-clock: \f4fd; +$fa-var-user-doctor: \f0f0; +$fa-var-user-md: \f0f0; +$fa-var-user-gear: \f4fe; +$fa-var-user-cog: \f4fe; +$fa-var-user-graduate: \f501; +$fa-var-user-group: \f500; +$fa-var-user-friends: \f500; +$fa-var-user-injured: \f728; +$fa-var-user-large: \f406; +$fa-var-user-alt: \f406; +$fa-var-user-large-slash: \f4fa; +$fa-var-user-alt-slash: \f4fa; +$fa-var-user-lock: \f502; +$fa-var-user-minus: \f503; +$fa-var-user-ninja: \f504; +$fa-var-user-nurse: \f82f; +$fa-var-user-pen: \f4ff; +$fa-var-user-edit: \f4ff; +$fa-var-user-plus: \f234; +$fa-var-user-secret: \f21b; +$fa-var-user-shield: \f505; +$fa-var-user-slash: \f506; +$fa-var-user-tag: \f507; +$fa-var-user-tie: \f508; +$fa-var-user-xmark: \f235; +$fa-var-user-times: \f235; +$fa-var-users: \f0c0; +$fa-var-users-between-lines: \e591; +$fa-var-users-gear: \f509; +$fa-var-users-cog: \f509; +$fa-var-users-line: \e592; +$fa-var-users-rays: \e593; +$fa-var-users-rectangle: \e594; +$fa-var-users-slash: \e073; +$fa-var-users-viewfinder: \e595; +$fa-var-utensils: \f2e7; +$fa-var-cutlery: \f2e7; +$fa-var-v: \56; +$fa-var-van-shuttle: \f5b6; +$fa-var-shuttle-van: \f5b6; +$fa-var-vault: \e2c5; +$fa-var-vector-square: \f5cb; +$fa-var-venus: \f221; +$fa-var-venus-double: \f226; +$fa-var-venus-mars: \f228; +$fa-var-vest: \e085; +$fa-var-vest-patches: \e086; +$fa-var-vial: \f492; +$fa-var-vial-circle-check: \e596; +$fa-var-vial-virus: \e597; +$fa-var-vials: \f493; +$fa-var-video: \f03d; +$fa-var-video-camera: \f03d; +$fa-var-video-slash: \f4e2; +$fa-var-vihara: \f6a7; +$fa-var-virus: \e074; +$fa-var-virus-covid: \e4a8; +$fa-var-virus-covid-slash: \e4a9; +$fa-var-virus-slash: \e075; +$fa-var-viruses: \e076; +$fa-var-voicemail: \f897; +$fa-var-volcano: \f770; +$fa-var-volleyball: \f45f; +$fa-var-volleyball-ball: \f45f; +$fa-var-volume-high: \f028; +$fa-var-volume-up: \f028; +$fa-var-volume-low: \f027; +$fa-var-volume-down: \f027; +$fa-var-volume-off: \f026; +$fa-var-volume-xmark: \f6a9; +$fa-var-volume-mute: \f6a9; +$fa-var-volume-times: \f6a9; +$fa-var-vr-cardboard: \f729; +$fa-var-w: \57; +$fa-var-walkie-talkie: \f8ef; +$fa-var-wallet: \f555; +$fa-var-wand-magic: \f0d0; +$fa-var-magic: \f0d0; +$fa-var-wand-magic-sparkles: \e2ca; +$fa-var-magic-wand-sparkles: \e2ca; +$fa-var-wand-sparkles: \f72b; +$fa-var-warehouse: \f494; +$fa-var-water: \f773; +$fa-var-water-ladder: \f5c5; +$fa-var-ladder-water: \f5c5; +$fa-var-swimming-pool: \f5c5; +$fa-var-wave-square: \f83e; +$fa-var-weight-hanging: \f5cd; +$fa-var-weight-scale: \f496; +$fa-var-weight: \f496; +$fa-var-wheat-awn: \e2cd; +$fa-var-wheat-alt: \e2cd; +$fa-var-wheat-awn-circle-exclamation: \e598; +$fa-var-wheelchair: \f193; +$fa-var-wheelchair-move: \e2ce; +$fa-var-wheelchair-alt: \e2ce; +$fa-var-whiskey-glass: \f7a0; +$fa-var-glass-whiskey: \f7a0; +$fa-var-wifi: \f1eb; +$fa-var-wifi-3: \f1eb; +$fa-var-wifi-strong: \f1eb; +$fa-var-wind: \f72e; +$fa-var-window-maximize: \f2d0; +$fa-var-window-minimize: \f2d1; +$fa-var-window-restore: \f2d2; +$fa-var-wine-bottle: \f72f; +$fa-var-wine-glass: \f4e3; +$fa-var-wine-glass-empty: \f5ce; +$fa-var-wine-glass-alt: \f5ce; +$fa-var-won-sign: \f159; +$fa-var-krw: \f159; +$fa-var-won: \f159; +$fa-var-worm: \e599; +$fa-var-wrench: \f0ad; +$fa-var-x: \58; +$fa-var-x-ray: \f497; +$fa-var-xmark: \f00d; +$fa-var-close: \f00d; +$fa-var-multiply: \f00d; +$fa-var-remove: \f00d; +$fa-var-times: \f00d; +$fa-var-xmarks-lines: \e59a; +$fa-var-y: \59; +$fa-var-yen-sign: \f157; +$fa-var-cny: \f157; +$fa-var-jpy: \f157; +$fa-var-rmb: \f157; +$fa-var-yen: \f157; +$fa-var-yin-yang: \f6ad; +$fa-var-z: \5a; + +$fa-var-42-group: \e080; +$fa-var-innosoft: \e080; +$fa-var-500px: \f26e; +$fa-var-accessible-icon: \f368; +$fa-var-accusoft: \f369; +$fa-var-adn: \f170; +$fa-var-adversal: \f36a; +$fa-var-affiliatetheme: \f36b; +$fa-var-airbnb: \f834; +$fa-var-algolia: \f36c; +$fa-var-alipay: \f642; +$fa-var-amazon: \f270; +$fa-var-amazon-pay: \f42c; +$fa-var-amilia: \f36d; +$fa-var-android: \f17b; +$fa-var-angellist: \f209; +$fa-var-angrycreative: \f36e; +$fa-var-angular: \f420; +$fa-var-app-store: \f36f; +$fa-var-app-store-ios: \f370; +$fa-var-apper: \f371; +$fa-var-apple: \f179; +$fa-var-apple-pay: \f415; +$fa-var-artstation: \f77a; +$fa-var-asymmetrik: \f372; +$fa-var-atlassian: \f77b; +$fa-var-audible: \f373; +$fa-var-autoprefixer: \f41c; +$fa-var-avianex: \f374; +$fa-var-aviato: \f421; +$fa-var-aws: \f375; +$fa-var-bandcamp: \f2d5; +$fa-var-battle-net: \f835; +$fa-var-behance: \f1b4; +$fa-var-bilibili: \e3d9; +$fa-var-bimobject: \f378; +$fa-var-bitbucket: \f171; +$fa-var-bitcoin: \f379; +$fa-var-bity: \f37a; +$fa-var-black-tie: \f27e; +$fa-var-blackberry: \f37b; +$fa-var-blogger: \f37c; +$fa-var-blogger-b: \f37d; +$fa-var-bluetooth: \f293; +$fa-var-bluetooth-b: \f294; +$fa-var-bootstrap: \f836; +$fa-var-bots: \e340; +$fa-var-btc: \f15a; +$fa-var-buffer: \f837; +$fa-var-buromobelexperte: \f37f; +$fa-var-buy-n-large: \f8a6; +$fa-var-buysellads: \f20d; +$fa-var-canadian-maple-leaf: \f785; +$fa-var-cc-amazon-pay: \f42d; +$fa-var-cc-amex: \f1f3; +$fa-var-cc-apple-pay: \f416; +$fa-var-cc-diners-club: \f24c; +$fa-var-cc-discover: \f1f2; +$fa-var-cc-jcb: \f24b; +$fa-var-cc-mastercard: \f1f1; +$fa-var-cc-paypal: \f1f4; +$fa-var-cc-stripe: \f1f5; +$fa-var-cc-visa: \f1f0; +$fa-var-centercode: \f380; +$fa-var-centos: \f789; +$fa-var-chrome: \f268; +$fa-var-chromecast: \f838; +$fa-var-cloudflare: \e07d; +$fa-var-cloudscale: \f383; +$fa-var-cloudsmith: \f384; +$fa-var-cloudversify: \f385; +$fa-var-cmplid: \e360; +$fa-var-codepen: \f1cb; +$fa-var-codiepie: \f284; +$fa-var-confluence: \f78d; +$fa-var-connectdevelop: \f20e; +$fa-var-contao: \f26d; +$fa-var-cotton-bureau: \f89e; +$fa-var-cpanel: \f388; +$fa-var-creative-commons: \f25e; +$fa-var-creative-commons-by: \f4e7; +$fa-var-creative-commons-nc: \f4e8; +$fa-var-creative-commons-nc-eu: \f4e9; +$fa-var-creative-commons-nc-jp: \f4ea; +$fa-var-creative-commons-nd: \f4eb; +$fa-var-creative-commons-pd: \f4ec; +$fa-var-creative-commons-pd-alt: \f4ed; +$fa-var-creative-commons-remix: \f4ee; +$fa-var-creative-commons-sa: \f4ef; +$fa-var-creative-commons-sampling: \f4f0; +$fa-var-creative-commons-sampling-plus: \f4f1; +$fa-var-creative-commons-share: \f4f2; +$fa-var-creative-commons-zero: \f4f3; +$fa-var-critical-role: \f6c9; +$fa-var-css3: \f13c; +$fa-var-css3-alt: \f38b; +$fa-var-cuttlefish: \f38c; +$fa-var-d-and-d: \f38d; +$fa-var-d-and-d-beyond: \f6ca; +$fa-var-dailymotion: \e052; +$fa-var-dashcube: \f210; +$fa-var-deezer: \e077; +$fa-var-delicious: \f1a5; +$fa-var-deploydog: \f38e; +$fa-var-deskpro: \f38f; +$fa-var-dev: \f6cc; +$fa-var-deviantart: \f1bd; +$fa-var-dhl: \f790; +$fa-var-diaspora: \f791; +$fa-var-digg: \f1a6; +$fa-var-digital-ocean: \f391; +$fa-var-discord: \f392; +$fa-var-discourse: \f393; +$fa-var-dochub: \f394; +$fa-var-docker: \f395; +$fa-var-draft2digital: \f396; +$fa-var-dribbble: \f17d; +$fa-var-dropbox: \f16b; +$fa-var-drupal: \f1a9; +$fa-var-dyalog: \f399; +$fa-var-earlybirds: \f39a; +$fa-var-ebay: \f4f4; +$fa-var-edge: \f282; +$fa-var-edge-legacy: \e078; +$fa-var-elementor: \f430; +$fa-var-ello: \f5f1; +$fa-var-ember: \f423; +$fa-var-empire: \f1d1; +$fa-var-envira: \f299; +$fa-var-erlang: \f39d; +$fa-var-ethereum: \f42e; +$fa-var-etsy: \f2d7; +$fa-var-evernote: \f839; +$fa-var-expeditedssl: \f23e; +$fa-var-facebook: \f09a; +$fa-var-facebook-f: \f39e; +$fa-var-facebook-messenger: \f39f; +$fa-var-fantasy-flight-games: \f6dc; +$fa-var-fedex: \f797; +$fa-var-fedora: \f798; +$fa-var-figma: \f799; +$fa-var-firefox: \f269; +$fa-var-firefox-browser: \e007; +$fa-var-first-order: \f2b0; +$fa-var-first-order-alt: \f50a; +$fa-var-firstdraft: \f3a1; +$fa-var-flickr: \f16e; +$fa-var-flipboard: \f44d; +$fa-var-fly: \f417; +$fa-var-font-awesome: \f2b4; +$fa-var-font-awesome-flag: \f2b4; +$fa-var-font-awesome-logo-full: \f2b4; +$fa-var-fonticons: \f280; +$fa-var-fonticons-fi: \f3a2; +$fa-var-fort-awesome: \f286; +$fa-var-fort-awesome-alt: \f3a3; +$fa-var-forumbee: \f211; +$fa-var-foursquare: \f180; +$fa-var-free-code-camp: \f2c5; +$fa-var-freebsd: \f3a4; +$fa-var-fulcrum: \f50b; +$fa-var-galactic-republic: \f50c; +$fa-var-galactic-senate: \f50d; +$fa-var-get-pocket: \f265; +$fa-var-gg: \f260; +$fa-var-gg-circle: \f261; +$fa-var-git: \f1d3; +$fa-var-git-alt: \f841; +$fa-var-github: \f09b; +$fa-var-github-alt: \f113; +$fa-var-gitkraken: \f3a6; +$fa-var-gitlab: \f296; +$fa-var-gitter: \f426; +$fa-var-glide: \f2a5; +$fa-var-glide-g: \f2a6; +$fa-var-gofore: \f3a7; +$fa-var-golang: \e40f; +$fa-var-goodreads: \f3a8; +$fa-var-goodreads-g: \f3a9; +$fa-var-google: \f1a0; +$fa-var-google-drive: \f3aa; +$fa-var-google-pay: \e079; +$fa-var-google-play: \f3ab; +$fa-var-google-plus: \f2b3; +$fa-var-google-plus-g: \f0d5; +$fa-var-google-wallet: \f1ee; +$fa-var-gratipay: \f184; +$fa-var-grav: \f2d6; +$fa-var-gripfire: \f3ac; +$fa-var-grunt: \f3ad; +$fa-var-guilded: \e07e; +$fa-var-gulp: \f3ae; +$fa-var-hacker-news: \f1d4; +$fa-var-hackerrank: \f5f7; +$fa-var-hashnode: \e499; +$fa-var-hips: \f452; +$fa-var-hire-a-helper: \f3b0; +$fa-var-hive: \e07f; +$fa-var-hooli: \f427; +$fa-var-hornbill: \f592; +$fa-var-hotjar: \f3b1; +$fa-var-houzz: \f27c; +$fa-var-html5: \f13b; +$fa-var-hubspot: \f3b2; +$fa-var-ideal: \e013; +$fa-var-imdb: \f2d8; +$fa-var-instagram: \f16d; +$fa-var-instalod: \e081; +$fa-var-intercom: \f7af; +$fa-var-internet-explorer: \f26b; +$fa-var-invision: \f7b0; +$fa-var-ioxhost: \f208; +$fa-var-itch-io: \f83a; +$fa-var-itunes: \f3b4; +$fa-var-itunes-note: \f3b5; +$fa-var-java: \f4e4; +$fa-var-jedi-order: \f50e; +$fa-var-jenkins: \f3b6; +$fa-var-jira: \f7b1; +$fa-var-joget: \f3b7; +$fa-var-joomla: \f1aa; +$fa-var-js: \f3b8; +$fa-var-jsfiddle: \f1cc; +$fa-var-kaggle: \f5fa; +$fa-var-keybase: \f4f5; +$fa-var-keycdn: \f3ba; +$fa-var-kickstarter: \f3bb; +$fa-var-kickstarter-k: \f3bc; +$fa-var-korvue: \f42f; +$fa-var-laravel: \f3bd; +$fa-var-lastfm: \f202; +$fa-var-leanpub: \f212; +$fa-var-less: \f41d; +$fa-var-line: \f3c0; +$fa-var-linkedin: \f08c; +$fa-var-linkedin-in: \f0e1; +$fa-var-linode: \f2b8; +$fa-var-linux: \f17c; +$fa-var-lyft: \f3c3; +$fa-var-magento: \f3c4; +$fa-var-mailchimp: \f59e; +$fa-var-mandalorian: \f50f; +$fa-var-markdown: \f60f; +$fa-var-mastodon: \f4f6; +$fa-var-maxcdn: \f136; +$fa-var-mdb: \f8ca; +$fa-var-medapps: \f3c6; +$fa-var-medium: \f23a; +$fa-var-medium-m: \f23a; +$fa-var-medrt: \f3c8; +$fa-var-meetup: \f2e0; +$fa-var-megaport: \f5a3; +$fa-var-mendeley: \f7b3; +$fa-var-meta: \e49b; +$fa-var-microblog: \e01a; +$fa-var-microsoft: \f3ca; +$fa-var-mix: \f3cb; +$fa-var-mixcloud: \f289; +$fa-var-mixer: \e056; +$fa-var-mizuni: \f3cc; +$fa-var-modx: \f285; +$fa-var-monero: \f3d0; +$fa-var-napster: \f3d2; +$fa-var-neos: \f612; +$fa-var-nfc-directional: \e530; +$fa-var-nfc-symbol: \e531; +$fa-var-nimblr: \f5a8; +$fa-var-node: \f419; +$fa-var-node-js: \f3d3; +$fa-var-npm: \f3d4; +$fa-var-ns8: \f3d5; +$fa-var-nutritionix: \f3d6; +$fa-var-octopus-deploy: \e082; +$fa-var-odnoklassniki: \f263; +$fa-var-old-republic: \f510; +$fa-var-opencart: \f23d; +$fa-var-openid: \f19b; +$fa-var-opera: \f26a; +$fa-var-optin-monster: \f23c; +$fa-var-orcid: \f8d2; +$fa-var-osi: \f41a; +$fa-var-padlet: \e4a0; +$fa-var-page4: \f3d7; +$fa-var-pagelines: \f18c; +$fa-var-palfed: \f3d8; +$fa-var-patreon: \f3d9; +$fa-var-paypal: \f1ed; +$fa-var-perbyte: \e083; +$fa-var-periscope: \f3da; +$fa-var-phabricator: \f3db; +$fa-var-phoenix-framework: \f3dc; +$fa-var-phoenix-squadron: \f511; +$fa-var-php: \f457; +$fa-var-pied-piper: \f2ae; +$fa-var-pied-piper-alt: \f1a8; +$fa-var-pied-piper-hat: \f4e5; +$fa-var-pied-piper-pp: \f1a7; +$fa-var-pinterest: \f0d2; +$fa-var-pinterest-p: \f231; +$fa-var-pix: \e43a; +$fa-var-playstation: \f3df; +$fa-var-product-hunt: \f288; +$fa-var-pushed: \f3e1; +$fa-var-python: \f3e2; +$fa-var-qq: \f1d6; +$fa-var-quinscape: \f459; +$fa-var-quora: \f2c4; +$fa-var-r-project: \f4f7; +$fa-var-raspberry-pi: \f7bb; +$fa-var-ravelry: \f2d9; +$fa-var-react: \f41b; +$fa-var-reacteurope: \f75d; +$fa-var-readme: \f4d5; +$fa-var-rebel: \f1d0; +$fa-var-red-river: \f3e3; +$fa-var-reddit: \f1a1; +$fa-var-reddit-alien: \f281; +$fa-var-redhat: \f7bc; +$fa-var-renren: \f18b; +$fa-var-replyd: \f3e6; +$fa-var-researchgate: \f4f8; +$fa-var-resolving: \f3e7; +$fa-var-rev: \f5b2; +$fa-var-rocketchat: \f3e8; +$fa-var-rockrms: \f3e9; +$fa-var-rust: \e07a; +$fa-var-safari: \f267; +$fa-var-salesforce: \f83b; +$fa-var-sass: \f41e; +$fa-var-schlix: \f3ea; +$fa-var-screenpal: \e570; +$fa-var-scribd: \f28a; +$fa-var-searchengin: \f3eb; +$fa-var-sellcast: \f2da; +$fa-var-sellsy: \f213; +$fa-var-servicestack: \f3ec; +$fa-var-shirtsinbulk: \f214; +$fa-var-shopify: \e057; +$fa-var-shopware: \f5b5; +$fa-var-simplybuilt: \f215; +$fa-var-sistrix: \f3ee; +$fa-var-sith: \f512; +$fa-var-sitrox: \e44a; +$fa-var-sketch: \f7c6; +$fa-var-skyatlas: \f216; +$fa-var-skype: \f17e; +$fa-var-slack: \f198; +$fa-var-slack-hash: \f198; +$fa-var-slideshare: \f1e7; +$fa-var-snapchat: \f2ab; +$fa-var-snapchat-ghost: \f2ab; +$fa-var-soundcloud: \f1be; +$fa-var-sourcetree: \f7d3; +$fa-var-space-awesome: \e5ac; +$fa-var-speakap: \f3f3; +$fa-var-speaker-deck: \f83c; +$fa-var-spotify: \f1bc; +$fa-var-square-behance: \f1b5; +$fa-var-behance-square: \f1b5; +$fa-var-square-dribbble: \f397; +$fa-var-dribbble-square: \f397; +$fa-var-square-facebook: \f082; +$fa-var-facebook-square: \f082; +$fa-var-square-font-awesome: \e5ad; +$fa-var-square-font-awesome-stroke: \f35c; +$fa-var-font-awesome-alt: \f35c; +$fa-var-square-git: \f1d2; +$fa-var-git-square: \f1d2; +$fa-var-square-github: \f092; +$fa-var-github-square: \f092; +$fa-var-square-gitlab: \e5ae; +$fa-var-gitlab-square: \e5ae; +$fa-var-square-google-plus: \f0d4; +$fa-var-google-plus-square: \f0d4; +$fa-var-square-hacker-news: \f3af; +$fa-var-hacker-news-square: \f3af; +$fa-var-square-instagram: \e055; +$fa-var-instagram-square: \e055; +$fa-var-square-js: \f3b9; +$fa-var-js-square: \f3b9; +$fa-var-square-lastfm: \f203; +$fa-var-lastfm-square: \f203; +$fa-var-square-odnoklassniki: \f264; +$fa-var-odnoklassniki-square: \f264; +$fa-var-square-pied-piper: \e01e; +$fa-var-pied-piper-square: \e01e; +$fa-var-square-pinterest: \f0d3; +$fa-var-pinterest-square: \f0d3; +$fa-var-square-reddit: \f1a2; +$fa-var-reddit-square: \f1a2; +$fa-var-square-snapchat: \f2ad; +$fa-var-snapchat-square: \f2ad; +$fa-var-square-steam: \f1b7; +$fa-var-steam-square: \f1b7; +$fa-var-square-tumblr: \f174; +$fa-var-tumblr-square: \f174; +$fa-var-square-twitter: \f081; +$fa-var-twitter-square: \f081; +$fa-var-square-viadeo: \f2aa; +$fa-var-viadeo-square: \f2aa; +$fa-var-square-vimeo: \f194; +$fa-var-vimeo-square: \f194; +$fa-var-square-whatsapp: \f40c; +$fa-var-whatsapp-square: \f40c; +$fa-var-square-xing: \f169; +$fa-var-xing-square: \f169; +$fa-var-square-youtube: \f431; +$fa-var-youtube-square: \f431; +$fa-var-squarespace: \f5be; +$fa-var-stack-exchange: \f18d; +$fa-var-stack-overflow: \f16c; +$fa-var-stackpath: \f842; +$fa-var-staylinked: \f3f5; +$fa-var-steam: \f1b6; +$fa-var-steam-symbol: \f3f6; +$fa-var-sticker-mule: \f3f7; +$fa-var-strava: \f428; +$fa-var-stripe: \f429; +$fa-var-stripe-s: \f42a; +$fa-var-studiovinari: \f3f8; +$fa-var-stumbleupon: \f1a4; +$fa-var-stumbleupon-circle: \f1a3; +$fa-var-superpowers: \f2dd; +$fa-var-supple: \f3f9; +$fa-var-suse: \f7d6; +$fa-var-swift: \f8e1; +$fa-var-symfony: \f83d; +$fa-var-teamspeak: \f4f9; +$fa-var-telegram: \f2c6; +$fa-var-telegram-plane: \f2c6; +$fa-var-tencent-weibo: \f1d5; +$fa-var-the-red-yeti: \f69d; +$fa-var-themeco: \f5c6; +$fa-var-themeisle: \f2b2; +$fa-var-think-peaks: \f731; +$fa-var-tiktok: \e07b; +$fa-var-trade-federation: \f513; +$fa-var-trello: \f181; +$fa-var-tumblr: \f173; +$fa-var-twitch: \f1e8; +$fa-var-twitter: \f099; +$fa-var-typo3: \f42b; +$fa-var-uber: \f402; +$fa-var-ubuntu: \f7df; +$fa-var-uikit: \f403; +$fa-var-umbraco: \f8e8; +$fa-var-uncharted: \e084; +$fa-var-uniregistry: \f404; +$fa-var-unity: \e049; +$fa-var-unsplash: \e07c; +$fa-var-untappd: \f405; +$fa-var-ups: \f7e0; +$fa-var-usb: \f287; +$fa-var-usps: \f7e1; +$fa-var-ussunnah: \f407; +$fa-var-vaadin: \f408; +$fa-var-viacoin: \f237; +$fa-var-viadeo: \f2a9; +$fa-var-viber: \f409; +$fa-var-vimeo: \f40a; +$fa-var-vimeo-v: \f27d; +$fa-var-vine: \f1ca; +$fa-var-vk: \f189; +$fa-var-vnv: \f40b; +$fa-var-vuejs: \f41f; +$fa-var-watchman-monitoring: \e087; +$fa-var-waze: \f83f; +$fa-var-weebly: \f5cc; +$fa-var-weibo: \f18a; +$fa-var-weixin: \f1d7; +$fa-var-whatsapp: \f232; +$fa-var-whmcs: \f40d; +$fa-var-wikipedia-w: \f266; +$fa-var-windows: \f17a; +$fa-var-wirsindhandwerk: \e2d0; +$fa-var-wsh: \e2d0; +$fa-var-wix: \f5cf; +$fa-var-wizards-of-the-coast: \f730; +$fa-var-wodu: \e088; +$fa-var-wolf-pack-battalion: \f514; +$fa-var-wordpress: \f19a; +$fa-var-wordpress-simple: \f411; +$fa-var-wpbeginner: \f297; +$fa-var-wpexplorer: \f2de; +$fa-var-wpforms: \f298; +$fa-var-wpressr: \f3e4; +$fa-var-rendact: \f3e4; +$fa-var-xbox: \f412; +$fa-var-xing: \f168; +$fa-var-y-combinator: \f23b; +$fa-var-yahoo: \f19e; +$fa-var-yammer: \f840; +$fa-var-yandex: \f413; +$fa-var-yandex-international: \f414; +$fa-var-yarn: \f7e3; +$fa-var-yelp: \f1e9; +$fa-var-yoast: \f2b1; +$fa-var-youtube: \f167; +$fa-var-zhihu: \f63f; + +$fa-icons: ( + "0": $fa-var-0, + "1": $fa-var-1, + "2": $fa-var-2, + "3": $fa-var-3, + "4": $fa-var-4, + "5": $fa-var-5, + "6": $fa-var-6, + "7": $fa-var-7, + "8": $fa-var-8, + "9": $fa-var-9, + "a": $fa-var-a, + "address-book": $fa-var-address-book, + "contact-book": $fa-var-contact-book, + "address-card": $fa-var-address-card, + "contact-card": $fa-var-contact-card, + "vcard": $fa-var-vcard, + "align-center": $fa-var-align-center, + "align-justify": $fa-var-align-justify, + "align-left": $fa-var-align-left, + "align-right": $fa-var-align-right, + "anchor": $fa-var-anchor, + "anchor-circle-check": $fa-var-anchor-circle-check, + "anchor-circle-exclamation": $fa-var-anchor-circle-exclamation, + "anchor-circle-xmark": $fa-var-anchor-circle-xmark, + "anchor-lock": $fa-var-anchor-lock, + "angle-down": $fa-var-angle-down, + "angle-left": $fa-var-angle-left, + "angle-right": $fa-var-angle-right, + "angle-up": $fa-var-angle-up, + "angles-down": $fa-var-angles-down, + "angle-double-down": $fa-var-angle-double-down, + "angles-left": $fa-var-angles-left, + "angle-double-left": $fa-var-angle-double-left, + "angles-right": $fa-var-angles-right, + "angle-double-right": $fa-var-angle-double-right, + "angles-up": $fa-var-angles-up, + "angle-double-up": $fa-var-angle-double-up, + "ankh": $fa-var-ankh, + "apple-whole": $fa-var-apple-whole, + "apple-alt": $fa-var-apple-alt, + "archway": $fa-var-archway, + "arrow-down": $fa-var-arrow-down, + "arrow-down-1-9": $fa-var-arrow-down-1-9, + "sort-numeric-asc": $fa-var-sort-numeric-asc, + "sort-numeric-down": $fa-var-sort-numeric-down, + "arrow-down-9-1": $fa-var-arrow-down-9-1, + "sort-numeric-desc": $fa-var-sort-numeric-desc, + "sort-numeric-down-alt": $fa-var-sort-numeric-down-alt, + "arrow-down-a-z": $fa-var-arrow-down-a-z, + "sort-alpha-asc": $fa-var-sort-alpha-asc, + "sort-alpha-down": $fa-var-sort-alpha-down, + "arrow-down-long": $fa-var-arrow-down-long, + "long-arrow-down": $fa-var-long-arrow-down, + "arrow-down-short-wide": $fa-var-arrow-down-short-wide, + "sort-amount-desc": $fa-var-sort-amount-desc, + "sort-amount-down-alt": $fa-var-sort-amount-down-alt, + "arrow-down-up-across-line": $fa-var-arrow-down-up-across-line, + "arrow-down-up-lock": $fa-var-arrow-down-up-lock, + "arrow-down-wide-short": $fa-var-arrow-down-wide-short, + "sort-amount-asc": $fa-var-sort-amount-asc, + "sort-amount-down": $fa-var-sort-amount-down, + "arrow-down-z-a": $fa-var-arrow-down-z-a, + "sort-alpha-desc": $fa-var-sort-alpha-desc, + "sort-alpha-down-alt": $fa-var-sort-alpha-down-alt, + "arrow-left": $fa-var-arrow-left, + "arrow-left-long": $fa-var-arrow-left-long, + "long-arrow-left": $fa-var-long-arrow-left, + "arrow-pointer": $fa-var-arrow-pointer, + "mouse-pointer": $fa-var-mouse-pointer, + "arrow-right": $fa-var-arrow-right, + "arrow-right-arrow-left": $fa-var-arrow-right-arrow-left, + "exchange": $fa-var-exchange, + "arrow-right-from-bracket": $fa-var-arrow-right-from-bracket, + "sign-out": $fa-var-sign-out, + "arrow-right-long": $fa-var-arrow-right-long, + "long-arrow-right": $fa-var-long-arrow-right, + "arrow-right-to-bracket": $fa-var-arrow-right-to-bracket, + "sign-in": $fa-var-sign-in, + "arrow-right-to-city": $fa-var-arrow-right-to-city, + "arrow-rotate-left": $fa-var-arrow-rotate-left, + "arrow-left-rotate": $fa-var-arrow-left-rotate, + "arrow-rotate-back": $fa-var-arrow-rotate-back, + "arrow-rotate-backward": $fa-var-arrow-rotate-backward, + "undo": $fa-var-undo, + "arrow-rotate-right": $fa-var-arrow-rotate-right, + "arrow-right-rotate": $fa-var-arrow-right-rotate, + "arrow-rotate-forward": $fa-var-arrow-rotate-forward, + "redo": $fa-var-redo, + "arrow-trend-down": $fa-var-arrow-trend-down, + "arrow-trend-up": $fa-var-arrow-trend-up, + "arrow-turn-down": $fa-var-arrow-turn-down, + "level-down": $fa-var-level-down, + "arrow-turn-up": $fa-var-arrow-turn-up, + "level-up": $fa-var-level-up, + "arrow-up": $fa-var-arrow-up, + "arrow-up-1-9": $fa-var-arrow-up-1-9, + "sort-numeric-up": $fa-var-sort-numeric-up, + "arrow-up-9-1": $fa-var-arrow-up-9-1, + "sort-numeric-up-alt": $fa-var-sort-numeric-up-alt, + "arrow-up-a-z": $fa-var-arrow-up-a-z, + "sort-alpha-up": $fa-var-sort-alpha-up, + "arrow-up-from-bracket": $fa-var-arrow-up-from-bracket, + "arrow-up-from-ground-water": $fa-var-arrow-up-from-ground-water, + "arrow-up-from-water-pump": $fa-var-arrow-up-from-water-pump, + "arrow-up-long": $fa-var-arrow-up-long, + "long-arrow-up": $fa-var-long-arrow-up, + "arrow-up-right-dots": $fa-var-arrow-up-right-dots, + "arrow-up-right-from-square": $fa-var-arrow-up-right-from-square, + "external-link": $fa-var-external-link, + "arrow-up-short-wide": $fa-var-arrow-up-short-wide, + "sort-amount-up-alt": $fa-var-sort-amount-up-alt, + "arrow-up-wide-short": $fa-var-arrow-up-wide-short, + "sort-amount-up": $fa-var-sort-amount-up, + "arrow-up-z-a": $fa-var-arrow-up-z-a, + "sort-alpha-up-alt": $fa-var-sort-alpha-up-alt, + "arrows-down-to-line": $fa-var-arrows-down-to-line, + "arrows-down-to-people": $fa-var-arrows-down-to-people, + "arrows-left-right": $fa-var-arrows-left-right, + "arrows-h": $fa-var-arrows-h, + "arrows-left-right-to-line": $fa-var-arrows-left-right-to-line, + "arrows-rotate": $fa-var-arrows-rotate, + "refresh": $fa-var-refresh, + "sync": $fa-var-sync, + "arrows-spin": $fa-var-arrows-spin, + "arrows-split-up-and-left": $fa-var-arrows-split-up-and-left, + "arrows-to-circle": $fa-var-arrows-to-circle, + "arrows-to-dot": $fa-var-arrows-to-dot, + "arrows-to-eye": $fa-var-arrows-to-eye, + "arrows-turn-right": $fa-var-arrows-turn-right, + "arrows-turn-to-dots": $fa-var-arrows-turn-to-dots, + "arrows-up-down": $fa-var-arrows-up-down, + "arrows-v": $fa-var-arrows-v, + "arrows-up-down-left-right": $fa-var-arrows-up-down-left-right, + "arrows": $fa-var-arrows, + "arrows-up-to-line": $fa-var-arrows-up-to-line, + "asterisk": $fa-var-asterisk, + "at": $fa-var-at, + "atom": $fa-var-atom, + "audio-description": $fa-var-audio-description, + "austral-sign": $fa-var-austral-sign, + "award": $fa-var-award, + "b": $fa-var-b, + "baby": $fa-var-baby, + "baby-carriage": $fa-var-baby-carriage, + "carriage-baby": $fa-var-carriage-baby, + "backward": $fa-var-backward, + "backward-fast": $fa-var-backward-fast, + "fast-backward": $fa-var-fast-backward, + "backward-step": $fa-var-backward-step, + "step-backward": $fa-var-step-backward, + "bacon": $fa-var-bacon, + "bacteria": $fa-var-bacteria, + "bacterium": $fa-var-bacterium, + "bag-shopping": $fa-var-bag-shopping, + "shopping-bag": $fa-var-shopping-bag, + "bahai": $fa-var-bahai, + "haykal": $fa-var-haykal, + "baht-sign": $fa-var-baht-sign, + "ban": $fa-var-ban, + "cancel": $fa-var-cancel, + "ban-smoking": $fa-var-ban-smoking, + "smoking-ban": $fa-var-smoking-ban, + "bandage": $fa-var-bandage, + "band-aid": $fa-var-band-aid, + "barcode": $fa-var-barcode, + "bars": $fa-var-bars, + "navicon": $fa-var-navicon, + "bars-progress": $fa-var-bars-progress, + "tasks-alt": $fa-var-tasks-alt, + "bars-staggered": $fa-var-bars-staggered, + "reorder": $fa-var-reorder, + "stream": $fa-var-stream, + "baseball": $fa-var-baseball, + "baseball-ball": $fa-var-baseball-ball, + "baseball-bat-ball": $fa-var-baseball-bat-ball, + "basket-shopping": $fa-var-basket-shopping, + "shopping-basket": $fa-var-shopping-basket, + "basketball": $fa-var-basketball, + "basketball-ball": $fa-var-basketball-ball, + "bath": $fa-var-bath, + "bathtub": $fa-var-bathtub, + "battery-empty": $fa-var-battery-empty, + "battery-0": $fa-var-battery-0, + "battery-full": $fa-var-battery-full, + "battery": $fa-var-battery, + "battery-5": $fa-var-battery-5, + "battery-half": $fa-var-battery-half, + "battery-3": $fa-var-battery-3, + "battery-quarter": $fa-var-battery-quarter, + "battery-2": $fa-var-battery-2, + "battery-three-quarters": $fa-var-battery-three-quarters, + "battery-4": $fa-var-battery-4, + "bed": $fa-var-bed, + "bed-pulse": $fa-var-bed-pulse, + "procedures": $fa-var-procedures, + "beer-mug-empty": $fa-var-beer-mug-empty, + "beer": $fa-var-beer, + "bell": $fa-var-bell, + "bell-concierge": $fa-var-bell-concierge, + "concierge-bell": $fa-var-concierge-bell, + "bell-slash": $fa-var-bell-slash, + "bezier-curve": $fa-var-bezier-curve, + "bicycle": $fa-var-bicycle, + "binoculars": $fa-var-binoculars, + "biohazard": $fa-var-biohazard, + "bitcoin-sign": $fa-var-bitcoin-sign, + "blender": $fa-var-blender, + "blender-phone": $fa-var-blender-phone, + "blog": $fa-var-blog, + "bold": $fa-var-bold, + "bolt": $fa-var-bolt, + "zap": $fa-var-zap, + "bolt-lightning": $fa-var-bolt-lightning, + "bomb": $fa-var-bomb, + "bone": $fa-var-bone, + "bong": $fa-var-bong, + "book": $fa-var-book, + "book-atlas": $fa-var-book-atlas, + "atlas": $fa-var-atlas, + "book-bible": $fa-var-book-bible, + "bible": $fa-var-bible, + "book-bookmark": $fa-var-book-bookmark, + "book-journal-whills": $fa-var-book-journal-whills, + "journal-whills": $fa-var-journal-whills, + "book-medical": $fa-var-book-medical, + "book-open": $fa-var-book-open, + "book-open-reader": $fa-var-book-open-reader, + "book-reader": $fa-var-book-reader, + "book-quran": $fa-var-book-quran, + "quran": $fa-var-quran, + "book-skull": $fa-var-book-skull, + "book-dead": $fa-var-book-dead, + "book-tanakh": $fa-var-book-tanakh, + "tanakh": $fa-var-tanakh, + "bookmark": $fa-var-bookmark, + "border-all": $fa-var-border-all, + "border-none": $fa-var-border-none, + "border-top-left": $fa-var-border-top-left, + "border-style": $fa-var-border-style, + "bore-hole": $fa-var-bore-hole, + "bottle-droplet": $fa-var-bottle-droplet, + "bottle-water": $fa-var-bottle-water, + "bowl-food": $fa-var-bowl-food, + "bowl-rice": $fa-var-bowl-rice, + "bowling-ball": $fa-var-bowling-ball, + "box": $fa-var-box, + "box-archive": $fa-var-box-archive, + "archive": $fa-var-archive, + "box-open": $fa-var-box-open, + "box-tissue": $fa-var-box-tissue, + "boxes-packing": $fa-var-boxes-packing, + "boxes-stacked": $fa-var-boxes-stacked, + "boxes": $fa-var-boxes, + "boxes-alt": $fa-var-boxes-alt, + "braille": $fa-var-braille, + "brain": $fa-var-brain, + "brazilian-real-sign": $fa-var-brazilian-real-sign, + "bread-slice": $fa-var-bread-slice, + "bridge": $fa-var-bridge, + "bridge-circle-check": $fa-var-bridge-circle-check, + "bridge-circle-exclamation": $fa-var-bridge-circle-exclamation, + "bridge-circle-xmark": $fa-var-bridge-circle-xmark, + "bridge-lock": $fa-var-bridge-lock, + "bridge-water": $fa-var-bridge-water, + "briefcase": $fa-var-briefcase, + "briefcase-medical": $fa-var-briefcase-medical, + "broom": $fa-var-broom, + "broom-ball": $fa-var-broom-ball, + "quidditch": $fa-var-quidditch, + "quidditch-broom-ball": $fa-var-quidditch-broom-ball, + "brush": $fa-var-brush, + "bucket": $fa-var-bucket, + "bug": $fa-var-bug, + "bug-slash": $fa-var-bug-slash, + "bugs": $fa-var-bugs, + "building": $fa-var-building, + "building-circle-arrow-right": $fa-var-building-circle-arrow-right, + "building-circle-check": $fa-var-building-circle-check, + "building-circle-exclamation": $fa-var-building-circle-exclamation, + "building-circle-xmark": $fa-var-building-circle-xmark, + "building-columns": $fa-var-building-columns, + "bank": $fa-var-bank, + "institution": $fa-var-institution, + "museum": $fa-var-museum, + "university": $fa-var-university, + "building-flag": $fa-var-building-flag, + "building-lock": $fa-var-building-lock, + "building-ngo": $fa-var-building-ngo, + "building-shield": $fa-var-building-shield, + "building-un": $fa-var-building-un, + "building-user": $fa-var-building-user, + "building-wheat": $fa-var-building-wheat, + "bullhorn": $fa-var-bullhorn, + "bullseye": $fa-var-bullseye, + "burger": $fa-var-burger, + "hamburger": $fa-var-hamburger, + "burst": $fa-var-burst, + "bus": $fa-var-bus, + "bus-simple": $fa-var-bus-simple, + "bus-alt": $fa-var-bus-alt, + "business-time": $fa-var-business-time, + "briefcase-clock": $fa-var-briefcase-clock, + "c": $fa-var-c, + "cable-car": $fa-var-cable-car, + "tram": $fa-var-tram, + "cake-candles": $fa-var-cake-candles, + "birthday-cake": $fa-var-birthday-cake, + "cake": $fa-var-cake, + "calculator": $fa-var-calculator, + "calendar": $fa-var-calendar, + "calendar-check": $fa-var-calendar-check, + "calendar-day": $fa-var-calendar-day, + "calendar-days": $fa-var-calendar-days, + "calendar-alt": $fa-var-calendar-alt, + "calendar-minus": $fa-var-calendar-minus, + "calendar-plus": $fa-var-calendar-plus, + "calendar-week": $fa-var-calendar-week, + "calendar-xmark": $fa-var-calendar-xmark, + "calendar-times": $fa-var-calendar-times, + "camera": $fa-var-camera, + "camera-alt": $fa-var-camera-alt, + "camera-retro": $fa-var-camera-retro, + "camera-rotate": $fa-var-camera-rotate, + "campground": $fa-var-campground, + "candy-cane": $fa-var-candy-cane, + "cannabis": $fa-var-cannabis, + "capsules": $fa-var-capsules, + "car": $fa-var-car, + "automobile": $fa-var-automobile, + "car-battery": $fa-var-car-battery, + "battery-car": $fa-var-battery-car, + "car-burst": $fa-var-car-burst, + "car-crash": $fa-var-car-crash, + "car-on": $fa-var-car-on, + "car-rear": $fa-var-car-rear, + "car-alt": $fa-var-car-alt, + "car-side": $fa-var-car-side, + "car-tunnel": $fa-var-car-tunnel, + "caravan": $fa-var-caravan, + "caret-down": $fa-var-caret-down, + "caret-left": $fa-var-caret-left, + "caret-right": $fa-var-caret-right, + "caret-up": $fa-var-caret-up, + "carrot": $fa-var-carrot, + "cart-arrow-down": $fa-var-cart-arrow-down, + "cart-flatbed": $fa-var-cart-flatbed, + "dolly-flatbed": $fa-var-dolly-flatbed, + "cart-flatbed-suitcase": $fa-var-cart-flatbed-suitcase, + "luggage-cart": $fa-var-luggage-cart, + "cart-plus": $fa-var-cart-plus, + "cart-shopping": $fa-var-cart-shopping, + "shopping-cart": $fa-var-shopping-cart, + "cash-register": $fa-var-cash-register, + "cat": $fa-var-cat, + "cedi-sign": $fa-var-cedi-sign, + "cent-sign": $fa-var-cent-sign, + "certificate": $fa-var-certificate, + "chair": $fa-var-chair, + "chalkboard": $fa-var-chalkboard, + "blackboard": $fa-var-blackboard, + "chalkboard-user": $fa-var-chalkboard-user, + "chalkboard-teacher": $fa-var-chalkboard-teacher, + "champagne-glasses": $fa-var-champagne-glasses, + "glass-cheers": $fa-var-glass-cheers, + "charging-station": $fa-var-charging-station, + "chart-area": $fa-var-chart-area, + "area-chart": $fa-var-area-chart, + "chart-bar": $fa-var-chart-bar, + "bar-chart": $fa-var-bar-chart, + "chart-column": $fa-var-chart-column, + "chart-gantt": $fa-var-chart-gantt, + "chart-line": $fa-var-chart-line, + "line-chart": $fa-var-line-chart, + "chart-pie": $fa-var-chart-pie, + "pie-chart": $fa-var-pie-chart, + "chart-simple": $fa-var-chart-simple, + "check": $fa-var-check, + "check-double": $fa-var-check-double, + "check-to-slot": $fa-var-check-to-slot, + "vote-yea": $fa-var-vote-yea, + "cheese": $fa-var-cheese, + "chess": $fa-var-chess, + "chess-bishop": $fa-var-chess-bishop, + "chess-board": $fa-var-chess-board, + "chess-king": $fa-var-chess-king, + "chess-knight": $fa-var-chess-knight, + "chess-pawn": $fa-var-chess-pawn, + "chess-queen": $fa-var-chess-queen, + "chess-rook": $fa-var-chess-rook, + "chevron-down": $fa-var-chevron-down, + "chevron-left": $fa-var-chevron-left, + "chevron-right": $fa-var-chevron-right, + "chevron-up": $fa-var-chevron-up, + "child": $fa-var-child, + "child-dress": $fa-var-child-dress, + "child-reaching": $fa-var-child-reaching, + "child-rifle": $fa-var-child-rifle, + "children": $fa-var-children, + "church": $fa-var-church, + "circle": $fa-var-circle, + "circle-arrow-down": $fa-var-circle-arrow-down, + "arrow-circle-down": $fa-var-arrow-circle-down, + "circle-arrow-left": $fa-var-circle-arrow-left, + "arrow-circle-left": $fa-var-arrow-circle-left, + "circle-arrow-right": $fa-var-circle-arrow-right, + "arrow-circle-right": $fa-var-arrow-circle-right, + "circle-arrow-up": $fa-var-circle-arrow-up, + "arrow-circle-up": $fa-var-arrow-circle-up, + "circle-check": $fa-var-circle-check, + "check-circle": $fa-var-check-circle, + "circle-chevron-down": $fa-var-circle-chevron-down, + "chevron-circle-down": $fa-var-chevron-circle-down, + "circle-chevron-left": $fa-var-circle-chevron-left, + "chevron-circle-left": $fa-var-chevron-circle-left, + "circle-chevron-right": $fa-var-circle-chevron-right, + "chevron-circle-right": $fa-var-chevron-circle-right, + "circle-chevron-up": $fa-var-circle-chevron-up, + "chevron-circle-up": $fa-var-chevron-circle-up, + "circle-dollar-to-slot": $fa-var-circle-dollar-to-slot, + "donate": $fa-var-donate, + "circle-dot": $fa-var-circle-dot, + "dot-circle": $fa-var-dot-circle, + "circle-down": $fa-var-circle-down, + "arrow-alt-circle-down": $fa-var-arrow-alt-circle-down, + "circle-exclamation": $fa-var-circle-exclamation, + "exclamation-circle": $fa-var-exclamation-circle, + "circle-h": $fa-var-circle-h, + "hospital-symbol": $fa-var-hospital-symbol, + "circle-half-stroke": $fa-var-circle-half-stroke, + "adjust": $fa-var-adjust, + "circle-info": $fa-var-circle-info, + "info-circle": $fa-var-info-circle, + "circle-left": $fa-var-circle-left, + "arrow-alt-circle-left": $fa-var-arrow-alt-circle-left, + "circle-minus": $fa-var-circle-minus, + "minus-circle": $fa-var-minus-circle, + "circle-nodes": $fa-var-circle-nodes, + "circle-notch": $fa-var-circle-notch, + "circle-pause": $fa-var-circle-pause, + "pause-circle": $fa-var-pause-circle, + "circle-play": $fa-var-circle-play, + "play-circle": $fa-var-play-circle, + "circle-plus": $fa-var-circle-plus, + "plus-circle": $fa-var-plus-circle, + "circle-question": $fa-var-circle-question, + "question-circle": $fa-var-question-circle, + "circle-radiation": $fa-var-circle-radiation, + "radiation-alt": $fa-var-radiation-alt, + "circle-right": $fa-var-circle-right, + "arrow-alt-circle-right": $fa-var-arrow-alt-circle-right, + "circle-stop": $fa-var-circle-stop, + "stop-circle": $fa-var-stop-circle, + "circle-up": $fa-var-circle-up, + "arrow-alt-circle-up": $fa-var-arrow-alt-circle-up, + "circle-user": $fa-var-circle-user, + "user-circle": $fa-var-user-circle, + "circle-xmark": $fa-var-circle-xmark, + "times-circle": $fa-var-times-circle, + "xmark-circle": $fa-var-xmark-circle, + "city": $fa-var-city, + "clapperboard": $fa-var-clapperboard, + "clipboard": $fa-var-clipboard, + "clipboard-check": $fa-var-clipboard-check, + "clipboard-list": $fa-var-clipboard-list, + "clipboard-question": $fa-var-clipboard-question, + "clipboard-user": $fa-var-clipboard-user, + "clock": $fa-var-clock, + "clock-four": $fa-var-clock-four, + "clock-rotate-left": $fa-var-clock-rotate-left, + "history": $fa-var-history, + "clone": $fa-var-clone, + "closed-captioning": $fa-var-closed-captioning, + "cloud": $fa-var-cloud, + "cloud-arrow-down": $fa-var-cloud-arrow-down, + "cloud-download": $fa-var-cloud-download, + "cloud-download-alt": $fa-var-cloud-download-alt, + "cloud-arrow-up": $fa-var-cloud-arrow-up, + "cloud-upload": $fa-var-cloud-upload, + "cloud-upload-alt": $fa-var-cloud-upload-alt, + "cloud-bolt": $fa-var-cloud-bolt, + "thunderstorm": $fa-var-thunderstorm, + "cloud-meatball": $fa-var-cloud-meatball, + "cloud-moon": $fa-var-cloud-moon, + "cloud-moon-rain": $fa-var-cloud-moon-rain, + "cloud-rain": $fa-var-cloud-rain, + "cloud-showers-heavy": $fa-var-cloud-showers-heavy, + "cloud-showers-water": $fa-var-cloud-showers-water, + "cloud-sun": $fa-var-cloud-sun, + "cloud-sun-rain": $fa-var-cloud-sun-rain, + "clover": $fa-var-clover, + "code": $fa-var-code, + "code-branch": $fa-var-code-branch, + "code-commit": $fa-var-code-commit, + "code-compare": $fa-var-code-compare, + "code-fork": $fa-var-code-fork, + "code-merge": $fa-var-code-merge, + "code-pull-request": $fa-var-code-pull-request, + "coins": $fa-var-coins, + "colon-sign": $fa-var-colon-sign, + "comment": $fa-var-comment, + "comment-dollar": $fa-var-comment-dollar, + "comment-dots": $fa-var-comment-dots, + "commenting": $fa-var-commenting, + "comment-medical": $fa-var-comment-medical, + "comment-slash": $fa-var-comment-slash, + "comment-sms": $fa-var-comment-sms, + "sms": $fa-var-sms, + "comments": $fa-var-comments, + "comments-dollar": $fa-var-comments-dollar, + "compact-disc": $fa-var-compact-disc, + "compass": $fa-var-compass, + "compass-drafting": $fa-var-compass-drafting, + "drafting-compass": $fa-var-drafting-compass, + "compress": $fa-var-compress, + "computer": $fa-var-computer, + "computer-mouse": $fa-var-computer-mouse, + "mouse": $fa-var-mouse, + "cookie": $fa-var-cookie, + "cookie-bite": $fa-var-cookie-bite, + "copy": $fa-var-copy, + "copyright": $fa-var-copyright, + "couch": $fa-var-couch, + "cow": $fa-var-cow, + "credit-card": $fa-var-credit-card, + "credit-card-alt": $fa-var-credit-card-alt, + "crop": $fa-var-crop, + "crop-simple": $fa-var-crop-simple, + "crop-alt": $fa-var-crop-alt, + "cross": $fa-var-cross, + "crosshairs": $fa-var-crosshairs, + "crow": $fa-var-crow, + "crown": $fa-var-crown, + "crutch": $fa-var-crutch, + "cruzeiro-sign": $fa-var-cruzeiro-sign, + "cube": $fa-var-cube, + "cubes": $fa-var-cubes, + "cubes-stacked": $fa-var-cubes-stacked, + "d": $fa-var-d, + "database": $fa-var-database, + "delete-left": $fa-var-delete-left, + "backspace": $fa-var-backspace, + "democrat": $fa-var-democrat, + "desktop": $fa-var-desktop, + "desktop-alt": $fa-var-desktop-alt, + "dharmachakra": $fa-var-dharmachakra, + "diagram-next": $fa-var-diagram-next, + "diagram-predecessor": $fa-var-diagram-predecessor, + "diagram-project": $fa-var-diagram-project, + "project-diagram": $fa-var-project-diagram, + "diagram-successor": $fa-var-diagram-successor, + "diamond": $fa-var-diamond, + "diamond-turn-right": $fa-var-diamond-turn-right, + "directions": $fa-var-directions, + "dice": $fa-var-dice, + "dice-d20": $fa-var-dice-d20, + "dice-d6": $fa-var-dice-d6, + "dice-five": $fa-var-dice-five, + "dice-four": $fa-var-dice-four, + "dice-one": $fa-var-dice-one, + "dice-six": $fa-var-dice-six, + "dice-three": $fa-var-dice-three, + "dice-two": $fa-var-dice-two, + "disease": $fa-var-disease, + "display": $fa-var-display, + "divide": $fa-var-divide, + "dna": $fa-var-dna, + "dog": $fa-var-dog, + "dollar-sign": $fa-var-dollar-sign, + "dollar": $fa-var-dollar, + "usd": $fa-var-usd, + "dolly": $fa-var-dolly, + "dolly-box": $fa-var-dolly-box, + "dong-sign": $fa-var-dong-sign, + "door-closed": $fa-var-door-closed, + "door-open": $fa-var-door-open, + "dove": $fa-var-dove, + "down-left-and-up-right-to-center": $fa-var-down-left-and-up-right-to-center, + "compress-alt": $fa-var-compress-alt, + "down-long": $fa-var-down-long, + "long-arrow-alt-down": $fa-var-long-arrow-alt-down, + "download": $fa-var-download, + "dragon": $fa-var-dragon, + "draw-polygon": $fa-var-draw-polygon, + "droplet": $fa-var-droplet, + "tint": $fa-var-tint, + "droplet-slash": $fa-var-droplet-slash, + "tint-slash": $fa-var-tint-slash, + "drum": $fa-var-drum, + "drum-steelpan": $fa-var-drum-steelpan, + "drumstick-bite": $fa-var-drumstick-bite, + "dumbbell": $fa-var-dumbbell, + "dumpster": $fa-var-dumpster, + "dumpster-fire": $fa-var-dumpster-fire, + "dungeon": $fa-var-dungeon, + "e": $fa-var-e, + "ear-deaf": $fa-var-ear-deaf, + "deaf": $fa-var-deaf, + "deafness": $fa-var-deafness, + "hard-of-hearing": $fa-var-hard-of-hearing, + "ear-listen": $fa-var-ear-listen, + "assistive-listening-systems": $fa-var-assistive-listening-systems, + "earth-africa": $fa-var-earth-africa, + "globe-africa": $fa-var-globe-africa, + "earth-americas": $fa-var-earth-americas, + "earth": $fa-var-earth, + "earth-america": $fa-var-earth-america, + "globe-americas": $fa-var-globe-americas, + "earth-asia": $fa-var-earth-asia, + "globe-asia": $fa-var-globe-asia, + "earth-europe": $fa-var-earth-europe, + "globe-europe": $fa-var-globe-europe, + "earth-oceania": $fa-var-earth-oceania, + "globe-oceania": $fa-var-globe-oceania, + "egg": $fa-var-egg, + "eject": $fa-var-eject, + "elevator": $fa-var-elevator, + "ellipsis": $fa-var-ellipsis, + "ellipsis-h": $fa-var-ellipsis-h, + "ellipsis-vertical": $fa-var-ellipsis-vertical, + "ellipsis-v": $fa-var-ellipsis-v, + "envelope": $fa-var-envelope, + "envelope-circle-check": $fa-var-envelope-circle-check, + "envelope-open": $fa-var-envelope-open, + "envelope-open-text": $fa-var-envelope-open-text, + "envelopes-bulk": $fa-var-envelopes-bulk, + "mail-bulk": $fa-var-mail-bulk, + "equals": $fa-var-equals, + "eraser": $fa-var-eraser, + "ethernet": $fa-var-ethernet, + "euro-sign": $fa-var-euro-sign, + "eur": $fa-var-eur, + "euro": $fa-var-euro, + "exclamation": $fa-var-exclamation, + "expand": $fa-var-expand, + "explosion": $fa-var-explosion, + "eye": $fa-var-eye, + "eye-dropper": $fa-var-eye-dropper, + "eye-dropper-empty": $fa-var-eye-dropper-empty, + "eyedropper": $fa-var-eyedropper, + "eye-low-vision": $fa-var-eye-low-vision, + "low-vision": $fa-var-low-vision, + "eye-slash": $fa-var-eye-slash, + "f": $fa-var-f, + "face-angry": $fa-var-face-angry, + "angry": $fa-var-angry, + "face-dizzy": $fa-var-face-dizzy, + "dizzy": $fa-var-dizzy, + "face-flushed": $fa-var-face-flushed, + "flushed": $fa-var-flushed, + "face-frown": $fa-var-face-frown, + "frown": $fa-var-frown, + "face-frown-open": $fa-var-face-frown-open, + "frown-open": $fa-var-frown-open, + "face-grimace": $fa-var-face-grimace, + "grimace": $fa-var-grimace, + "face-grin": $fa-var-face-grin, + "grin": $fa-var-grin, + "face-grin-beam": $fa-var-face-grin-beam, + "grin-beam": $fa-var-grin-beam, + "face-grin-beam-sweat": $fa-var-face-grin-beam-sweat, + "grin-beam-sweat": $fa-var-grin-beam-sweat, + "face-grin-hearts": $fa-var-face-grin-hearts, + "grin-hearts": $fa-var-grin-hearts, + "face-grin-squint": $fa-var-face-grin-squint, + "grin-squint": $fa-var-grin-squint, + "face-grin-squint-tears": $fa-var-face-grin-squint-tears, + "grin-squint-tears": $fa-var-grin-squint-tears, + "face-grin-stars": $fa-var-face-grin-stars, + "grin-stars": $fa-var-grin-stars, + "face-grin-tears": $fa-var-face-grin-tears, + "grin-tears": $fa-var-grin-tears, + "face-grin-tongue": $fa-var-face-grin-tongue, + "grin-tongue": $fa-var-grin-tongue, + "face-grin-tongue-squint": $fa-var-face-grin-tongue-squint, + "grin-tongue-squint": $fa-var-grin-tongue-squint, + "face-grin-tongue-wink": $fa-var-face-grin-tongue-wink, + "grin-tongue-wink": $fa-var-grin-tongue-wink, + "face-grin-wide": $fa-var-face-grin-wide, + "grin-alt": $fa-var-grin-alt, + "face-grin-wink": $fa-var-face-grin-wink, + "grin-wink": $fa-var-grin-wink, + "face-kiss": $fa-var-face-kiss, + "kiss": $fa-var-kiss, + "face-kiss-beam": $fa-var-face-kiss-beam, + "kiss-beam": $fa-var-kiss-beam, + "face-kiss-wink-heart": $fa-var-face-kiss-wink-heart, + "kiss-wink-heart": $fa-var-kiss-wink-heart, + "face-laugh": $fa-var-face-laugh, + "laugh": $fa-var-laugh, + "face-laugh-beam": $fa-var-face-laugh-beam, + "laugh-beam": $fa-var-laugh-beam, + "face-laugh-squint": $fa-var-face-laugh-squint, + "laugh-squint": $fa-var-laugh-squint, + "face-laugh-wink": $fa-var-face-laugh-wink, + "laugh-wink": $fa-var-laugh-wink, + "face-meh": $fa-var-face-meh, + "meh": $fa-var-meh, + "face-meh-blank": $fa-var-face-meh-blank, + "meh-blank": $fa-var-meh-blank, + "face-rolling-eyes": $fa-var-face-rolling-eyes, + "meh-rolling-eyes": $fa-var-meh-rolling-eyes, + "face-sad-cry": $fa-var-face-sad-cry, + "sad-cry": $fa-var-sad-cry, + "face-sad-tear": $fa-var-face-sad-tear, + "sad-tear": $fa-var-sad-tear, + "face-smile": $fa-var-face-smile, + "smile": $fa-var-smile, + "face-smile-beam": $fa-var-face-smile-beam, + "smile-beam": $fa-var-smile-beam, + "face-smile-wink": $fa-var-face-smile-wink, + "smile-wink": $fa-var-smile-wink, + "face-surprise": $fa-var-face-surprise, + "surprise": $fa-var-surprise, + "face-tired": $fa-var-face-tired, + "tired": $fa-var-tired, + "fan": $fa-var-fan, + "faucet": $fa-var-faucet, + "faucet-drip": $fa-var-faucet-drip, + "fax": $fa-var-fax, + "feather": $fa-var-feather, + "feather-pointed": $fa-var-feather-pointed, + "feather-alt": $fa-var-feather-alt, + "ferry": $fa-var-ferry, + "file": $fa-var-file, + "file-arrow-down": $fa-var-file-arrow-down, + "file-download": $fa-var-file-download, + "file-arrow-up": $fa-var-file-arrow-up, + "file-upload": $fa-var-file-upload, + "file-audio": $fa-var-file-audio, + "file-circle-check": $fa-var-file-circle-check, + "file-circle-exclamation": $fa-var-file-circle-exclamation, + "file-circle-minus": $fa-var-file-circle-minus, + "file-circle-plus": $fa-var-file-circle-plus, + "file-circle-question": $fa-var-file-circle-question, + "file-circle-xmark": $fa-var-file-circle-xmark, + "file-code": $fa-var-file-code, + "file-contract": $fa-var-file-contract, + "file-csv": $fa-var-file-csv, + "file-excel": $fa-var-file-excel, + "file-export": $fa-var-file-export, + "arrow-right-from-file": $fa-var-arrow-right-from-file, + "file-image": $fa-var-file-image, + "file-import": $fa-var-file-import, + "arrow-right-to-file": $fa-var-arrow-right-to-file, + "file-invoice": $fa-var-file-invoice, + "file-invoice-dollar": $fa-var-file-invoice-dollar, + "file-lines": $fa-var-file-lines, + "file-alt": $fa-var-file-alt, + "file-text": $fa-var-file-text, + "file-medical": $fa-var-file-medical, + "file-pdf": $fa-var-file-pdf, + "file-pen": $fa-var-file-pen, + "file-edit": $fa-var-file-edit, + "file-powerpoint": $fa-var-file-powerpoint, + "file-prescription": $fa-var-file-prescription, + "file-shield": $fa-var-file-shield, + "file-signature": $fa-var-file-signature, + "file-video": $fa-var-file-video, + "file-waveform": $fa-var-file-waveform, + "file-medical-alt": $fa-var-file-medical-alt, + "file-word": $fa-var-file-word, + "file-zipper": $fa-var-file-zipper, + "file-archive": $fa-var-file-archive, + "fill": $fa-var-fill, + "fill-drip": $fa-var-fill-drip, + "film": $fa-var-film, + "filter": $fa-var-filter, + "filter-circle-dollar": $fa-var-filter-circle-dollar, + "funnel-dollar": $fa-var-funnel-dollar, + "filter-circle-xmark": $fa-var-filter-circle-xmark, + "fingerprint": $fa-var-fingerprint, + "fire": $fa-var-fire, + "fire-burner": $fa-var-fire-burner, + "fire-extinguisher": $fa-var-fire-extinguisher, + "fire-flame-curved": $fa-var-fire-flame-curved, + "fire-alt": $fa-var-fire-alt, + "fire-flame-simple": $fa-var-fire-flame-simple, + "burn": $fa-var-burn, + "fish": $fa-var-fish, + "fish-fins": $fa-var-fish-fins, + "flag": $fa-var-flag, + "flag-checkered": $fa-var-flag-checkered, + "flag-usa": $fa-var-flag-usa, + "flask": $fa-var-flask, + "flask-vial": $fa-var-flask-vial, + "floppy-disk": $fa-var-floppy-disk, + "save": $fa-var-save, + "florin-sign": $fa-var-florin-sign, + "folder": $fa-var-folder, + "folder-blank": $fa-var-folder-blank, + "folder-closed": $fa-var-folder-closed, + "folder-minus": $fa-var-folder-minus, + "folder-open": $fa-var-folder-open, + "folder-plus": $fa-var-folder-plus, + "folder-tree": $fa-var-folder-tree, + "font": $fa-var-font, + "football": $fa-var-football, + "football-ball": $fa-var-football-ball, + "forward": $fa-var-forward, + "forward-fast": $fa-var-forward-fast, + "fast-forward": $fa-var-fast-forward, + "forward-step": $fa-var-forward-step, + "step-forward": $fa-var-step-forward, + "franc-sign": $fa-var-franc-sign, + "frog": $fa-var-frog, + "futbol": $fa-var-futbol, + "futbol-ball": $fa-var-futbol-ball, + "soccer-ball": $fa-var-soccer-ball, + "g": $fa-var-g, + "gamepad": $fa-var-gamepad, + "gas-pump": $fa-var-gas-pump, + "gauge": $fa-var-gauge, + "dashboard": $fa-var-dashboard, + "gauge-med": $fa-var-gauge-med, + "tachometer-alt-average": $fa-var-tachometer-alt-average, + "gauge-high": $fa-var-gauge-high, + "tachometer-alt": $fa-var-tachometer-alt, + "tachometer-alt-fast": $fa-var-tachometer-alt-fast, + "gauge-simple": $fa-var-gauge-simple, + "gauge-simple-med": $fa-var-gauge-simple-med, + "tachometer-average": $fa-var-tachometer-average, + "gauge-simple-high": $fa-var-gauge-simple-high, + "tachometer": $fa-var-tachometer, + "tachometer-fast": $fa-var-tachometer-fast, + "gavel": $fa-var-gavel, + "legal": $fa-var-legal, + "gear": $fa-var-gear, + "cog": $fa-var-cog, + "gears": $fa-var-gears, + "cogs": $fa-var-cogs, + "gem": $fa-var-gem, + "genderless": $fa-var-genderless, + "ghost": $fa-var-ghost, + "gift": $fa-var-gift, + "gifts": $fa-var-gifts, + "glass-water": $fa-var-glass-water, + "glass-water-droplet": $fa-var-glass-water-droplet, + "glasses": $fa-var-glasses, + "globe": $fa-var-globe, + "golf-ball-tee": $fa-var-golf-ball-tee, + "golf-ball": $fa-var-golf-ball, + "gopuram": $fa-var-gopuram, + "graduation-cap": $fa-var-graduation-cap, + "mortar-board": $fa-var-mortar-board, + "greater-than": $fa-var-greater-than, + "greater-than-equal": $fa-var-greater-than-equal, + "grip": $fa-var-grip, + "grip-horizontal": $fa-var-grip-horizontal, + "grip-lines": $fa-var-grip-lines, + "grip-lines-vertical": $fa-var-grip-lines-vertical, + "grip-vertical": $fa-var-grip-vertical, + "group-arrows-rotate": $fa-var-group-arrows-rotate, + "guarani-sign": $fa-var-guarani-sign, + "guitar": $fa-var-guitar, + "gun": $fa-var-gun, + "h": $fa-var-h, + "hammer": $fa-var-hammer, + "hamsa": $fa-var-hamsa, + "hand": $fa-var-hand, + "hand-paper": $fa-var-hand-paper, + "hand-back-fist": $fa-var-hand-back-fist, + "hand-rock": $fa-var-hand-rock, + "hand-dots": $fa-var-hand-dots, + "allergies": $fa-var-allergies, + "hand-fist": $fa-var-hand-fist, + "fist-raised": $fa-var-fist-raised, + "hand-holding": $fa-var-hand-holding, + "hand-holding-dollar": $fa-var-hand-holding-dollar, + "hand-holding-usd": $fa-var-hand-holding-usd, + "hand-holding-droplet": $fa-var-hand-holding-droplet, + "hand-holding-water": $fa-var-hand-holding-water, + "hand-holding-hand": $fa-var-hand-holding-hand, + "hand-holding-heart": $fa-var-hand-holding-heart, + "hand-holding-medical": $fa-var-hand-holding-medical, + "hand-lizard": $fa-var-hand-lizard, + "hand-middle-finger": $fa-var-hand-middle-finger, + "hand-peace": $fa-var-hand-peace, + "hand-point-down": $fa-var-hand-point-down, + "hand-point-left": $fa-var-hand-point-left, + "hand-point-right": $fa-var-hand-point-right, + "hand-point-up": $fa-var-hand-point-up, + "hand-pointer": $fa-var-hand-pointer, + "hand-scissors": $fa-var-hand-scissors, + "hand-sparkles": $fa-var-hand-sparkles, + "hand-spock": $fa-var-hand-spock, + "handcuffs": $fa-var-handcuffs, + "hands": $fa-var-hands, + "sign-language": $fa-var-sign-language, + "signing": $fa-var-signing, + "hands-asl-interpreting": $fa-var-hands-asl-interpreting, + "american-sign-language-interpreting": $fa-var-american-sign-language-interpreting, + "asl-interpreting": $fa-var-asl-interpreting, + "hands-american-sign-language-interpreting": $fa-var-hands-american-sign-language-interpreting, + "hands-bound": $fa-var-hands-bound, + "hands-bubbles": $fa-var-hands-bubbles, + "hands-wash": $fa-var-hands-wash, + "hands-clapping": $fa-var-hands-clapping, + "hands-holding": $fa-var-hands-holding, + "hands-holding-child": $fa-var-hands-holding-child, + "hands-holding-circle": $fa-var-hands-holding-circle, + "hands-praying": $fa-var-hands-praying, + "praying-hands": $fa-var-praying-hands, + "handshake": $fa-var-handshake, + "handshake-angle": $fa-var-handshake-angle, + "hands-helping": $fa-var-hands-helping, + "handshake-simple": $fa-var-handshake-simple, + "handshake-alt": $fa-var-handshake-alt, + "handshake-simple-slash": $fa-var-handshake-simple-slash, + "handshake-alt-slash": $fa-var-handshake-alt-slash, + "handshake-slash": $fa-var-handshake-slash, + "hanukiah": $fa-var-hanukiah, + "hard-drive": $fa-var-hard-drive, + "hdd": $fa-var-hdd, + "hashtag": $fa-var-hashtag, + "hat-cowboy": $fa-var-hat-cowboy, + "hat-cowboy-side": $fa-var-hat-cowboy-side, + "hat-wizard": $fa-var-hat-wizard, + "head-side-cough": $fa-var-head-side-cough, + "head-side-cough-slash": $fa-var-head-side-cough-slash, + "head-side-mask": $fa-var-head-side-mask, + "head-side-virus": $fa-var-head-side-virus, + "heading": $fa-var-heading, + "header": $fa-var-header, + "headphones": $fa-var-headphones, + "headphones-simple": $fa-var-headphones-simple, + "headphones-alt": $fa-var-headphones-alt, + "headset": $fa-var-headset, + "heart": $fa-var-heart, + "heart-circle-bolt": $fa-var-heart-circle-bolt, + "heart-circle-check": $fa-var-heart-circle-check, + "heart-circle-exclamation": $fa-var-heart-circle-exclamation, + "heart-circle-minus": $fa-var-heart-circle-minus, + "heart-circle-plus": $fa-var-heart-circle-plus, + "heart-circle-xmark": $fa-var-heart-circle-xmark, + "heart-crack": $fa-var-heart-crack, + "heart-broken": $fa-var-heart-broken, + "heart-pulse": $fa-var-heart-pulse, + "heartbeat": $fa-var-heartbeat, + "helicopter": $fa-var-helicopter, + "helicopter-symbol": $fa-var-helicopter-symbol, + "helmet-safety": $fa-var-helmet-safety, + "hard-hat": $fa-var-hard-hat, + "hat-hard": $fa-var-hat-hard, + "helmet-un": $fa-var-helmet-un, + "highlighter": $fa-var-highlighter, + "hill-avalanche": $fa-var-hill-avalanche, + "hill-rockslide": $fa-var-hill-rockslide, + "hippo": $fa-var-hippo, + "hockey-puck": $fa-var-hockey-puck, + "holly-berry": $fa-var-holly-berry, + "horse": $fa-var-horse, + "horse-head": $fa-var-horse-head, + "hospital": $fa-var-hospital, + "hospital-alt": $fa-var-hospital-alt, + "hospital-wide": $fa-var-hospital-wide, + "hospital-user": $fa-var-hospital-user, + "hot-tub-person": $fa-var-hot-tub-person, + "hot-tub": $fa-var-hot-tub, + "hotdog": $fa-var-hotdog, + "hotel": $fa-var-hotel, + "hourglass": $fa-var-hourglass, + "hourglass-empty": $fa-var-hourglass-empty, + "hourglass-end": $fa-var-hourglass-end, + "hourglass-3": $fa-var-hourglass-3, + "hourglass-half": $fa-var-hourglass-half, + "hourglass-2": $fa-var-hourglass-2, + "hourglass-start": $fa-var-hourglass-start, + "hourglass-1": $fa-var-hourglass-1, + "house": $fa-var-house, + "home": $fa-var-home, + "home-alt": $fa-var-home-alt, + "home-lg-alt": $fa-var-home-lg-alt, + "house-chimney": $fa-var-house-chimney, + "home-lg": $fa-var-home-lg, + "house-chimney-crack": $fa-var-house-chimney-crack, + "house-damage": $fa-var-house-damage, + "house-chimney-medical": $fa-var-house-chimney-medical, + "clinic-medical": $fa-var-clinic-medical, + "house-chimney-user": $fa-var-house-chimney-user, + "house-chimney-window": $fa-var-house-chimney-window, + "house-circle-check": $fa-var-house-circle-check, + "house-circle-exclamation": $fa-var-house-circle-exclamation, + "house-circle-xmark": $fa-var-house-circle-xmark, + "house-crack": $fa-var-house-crack, + "house-fire": $fa-var-house-fire, + "house-flag": $fa-var-house-flag, + "house-flood-water": $fa-var-house-flood-water, + "house-flood-water-circle-arrow-right": $fa-var-house-flood-water-circle-arrow-right, + "house-laptop": $fa-var-house-laptop, + "laptop-house": $fa-var-laptop-house, + "house-lock": $fa-var-house-lock, + "house-medical": $fa-var-house-medical, + "house-medical-circle-check": $fa-var-house-medical-circle-check, + "house-medical-circle-exclamation": $fa-var-house-medical-circle-exclamation, + "house-medical-circle-xmark": $fa-var-house-medical-circle-xmark, + "house-medical-flag": $fa-var-house-medical-flag, + "house-signal": $fa-var-house-signal, + "house-tsunami": $fa-var-house-tsunami, + "house-user": $fa-var-house-user, + "home-user": $fa-var-home-user, + "hryvnia-sign": $fa-var-hryvnia-sign, + "hryvnia": $fa-var-hryvnia, + "hurricane": $fa-var-hurricane, + "i": $fa-var-i, + "i-cursor": $fa-var-i-cursor, + "ice-cream": $fa-var-ice-cream, + "icicles": $fa-var-icicles, + "icons": $fa-var-icons, + "heart-music-camera-bolt": $fa-var-heart-music-camera-bolt, + "id-badge": $fa-var-id-badge, + "id-card": $fa-var-id-card, + "drivers-license": $fa-var-drivers-license, + "id-card-clip": $fa-var-id-card-clip, + "id-card-alt": $fa-var-id-card-alt, + "igloo": $fa-var-igloo, + "image": $fa-var-image, + "image-portrait": $fa-var-image-portrait, + "portrait": $fa-var-portrait, + "images": $fa-var-images, + "inbox": $fa-var-inbox, + "indent": $fa-var-indent, + "indian-rupee-sign": $fa-var-indian-rupee-sign, + "indian-rupee": $fa-var-indian-rupee, + "inr": $fa-var-inr, + "industry": $fa-var-industry, + "infinity": $fa-var-infinity, + "info": $fa-var-info, + "italic": $fa-var-italic, + "j": $fa-var-j, + "jar": $fa-var-jar, + "jar-wheat": $fa-var-jar-wheat, + "jedi": $fa-var-jedi, + "jet-fighter": $fa-var-jet-fighter, + "fighter-jet": $fa-var-fighter-jet, + "jet-fighter-up": $fa-var-jet-fighter-up, + "joint": $fa-var-joint, + "jug-detergent": $fa-var-jug-detergent, + "k": $fa-var-k, + "kaaba": $fa-var-kaaba, + "key": $fa-var-key, + "keyboard": $fa-var-keyboard, + "khanda": $fa-var-khanda, + "kip-sign": $fa-var-kip-sign, + "kit-medical": $fa-var-kit-medical, + "first-aid": $fa-var-first-aid, + "kitchen-set": $fa-var-kitchen-set, + "kiwi-bird": $fa-var-kiwi-bird, + "l": $fa-var-l, + "land-mine-on": $fa-var-land-mine-on, + "landmark": $fa-var-landmark, + "landmark-dome": $fa-var-landmark-dome, + "landmark-alt": $fa-var-landmark-alt, + "landmark-flag": $fa-var-landmark-flag, + "language": $fa-var-language, + "laptop": $fa-var-laptop, + "laptop-code": $fa-var-laptop-code, + "laptop-file": $fa-var-laptop-file, + "laptop-medical": $fa-var-laptop-medical, + "lari-sign": $fa-var-lari-sign, + "layer-group": $fa-var-layer-group, + "leaf": $fa-var-leaf, + "left-long": $fa-var-left-long, + "long-arrow-alt-left": $fa-var-long-arrow-alt-left, + "left-right": $fa-var-left-right, + "arrows-alt-h": $fa-var-arrows-alt-h, + "lemon": $fa-var-lemon, + "less-than": $fa-var-less-than, + "less-than-equal": $fa-var-less-than-equal, + "life-ring": $fa-var-life-ring, + "lightbulb": $fa-var-lightbulb, + "lines-leaning": $fa-var-lines-leaning, + "link": $fa-var-link, + "chain": $fa-var-chain, + "link-slash": $fa-var-link-slash, + "chain-broken": $fa-var-chain-broken, + "chain-slash": $fa-var-chain-slash, + "unlink": $fa-var-unlink, + "lira-sign": $fa-var-lira-sign, + "list": $fa-var-list, + "list-squares": $fa-var-list-squares, + "list-check": $fa-var-list-check, + "tasks": $fa-var-tasks, + "list-ol": $fa-var-list-ol, + "list-1-2": $fa-var-list-1-2, + "list-numeric": $fa-var-list-numeric, + "list-ul": $fa-var-list-ul, + "list-dots": $fa-var-list-dots, + "litecoin-sign": $fa-var-litecoin-sign, + "location-arrow": $fa-var-location-arrow, + "location-crosshairs": $fa-var-location-crosshairs, + "location": $fa-var-location, + "location-dot": $fa-var-location-dot, + "map-marker-alt": $fa-var-map-marker-alt, + "location-pin": $fa-var-location-pin, + "map-marker": $fa-var-map-marker, + "location-pin-lock": $fa-var-location-pin-lock, + "lock": $fa-var-lock, + "lock-open": $fa-var-lock-open, + "locust": $fa-var-locust, + "lungs": $fa-var-lungs, + "lungs-virus": $fa-var-lungs-virus, + "m": $fa-var-m, + "magnet": $fa-var-magnet, + "magnifying-glass": $fa-var-magnifying-glass, + "search": $fa-var-search, + "magnifying-glass-arrow-right": $fa-var-magnifying-glass-arrow-right, + "magnifying-glass-chart": $fa-var-magnifying-glass-chart, + "magnifying-glass-dollar": $fa-var-magnifying-glass-dollar, + "search-dollar": $fa-var-search-dollar, + "magnifying-glass-location": $fa-var-magnifying-glass-location, + "search-location": $fa-var-search-location, + "magnifying-glass-minus": $fa-var-magnifying-glass-minus, + "search-minus": $fa-var-search-minus, + "magnifying-glass-plus": $fa-var-magnifying-glass-plus, + "search-plus": $fa-var-search-plus, + "manat-sign": $fa-var-manat-sign, + "map": $fa-var-map, + "map-location": $fa-var-map-location, + "map-marked": $fa-var-map-marked, + "map-location-dot": $fa-var-map-location-dot, + "map-marked-alt": $fa-var-map-marked-alt, + "map-pin": $fa-var-map-pin, + "marker": $fa-var-marker, + "mars": $fa-var-mars, + "mars-and-venus": $fa-var-mars-and-venus, + "mars-and-venus-burst": $fa-var-mars-and-venus-burst, + "mars-double": $fa-var-mars-double, + "mars-stroke": $fa-var-mars-stroke, + "mars-stroke-right": $fa-var-mars-stroke-right, + "mars-stroke-h": $fa-var-mars-stroke-h, + "mars-stroke-up": $fa-var-mars-stroke-up, + "mars-stroke-v": $fa-var-mars-stroke-v, + "martini-glass": $fa-var-martini-glass, + "glass-martini-alt": $fa-var-glass-martini-alt, + "martini-glass-citrus": $fa-var-martini-glass-citrus, + "cocktail": $fa-var-cocktail, + "martini-glass-empty": $fa-var-martini-glass-empty, + "glass-martini": $fa-var-glass-martini, + "mask": $fa-var-mask, + "mask-face": $fa-var-mask-face, + "mask-ventilator": $fa-var-mask-ventilator, + "masks-theater": $fa-var-masks-theater, + "theater-masks": $fa-var-theater-masks, + "mattress-pillow": $fa-var-mattress-pillow, + "maximize": $fa-var-maximize, + "expand-arrows-alt": $fa-var-expand-arrows-alt, + "medal": $fa-var-medal, + "memory": $fa-var-memory, + "menorah": $fa-var-menorah, + "mercury": $fa-var-mercury, + "message": $fa-var-message, + "comment-alt": $fa-var-comment-alt, + "meteor": $fa-var-meteor, + "microchip": $fa-var-microchip, + "microphone": $fa-var-microphone, + "microphone-lines": $fa-var-microphone-lines, + "microphone-alt": $fa-var-microphone-alt, + "microphone-lines-slash": $fa-var-microphone-lines-slash, + "microphone-alt-slash": $fa-var-microphone-alt-slash, + "microphone-slash": $fa-var-microphone-slash, + "microscope": $fa-var-microscope, + "mill-sign": $fa-var-mill-sign, + "minimize": $fa-var-minimize, + "compress-arrows-alt": $fa-var-compress-arrows-alt, + "minus": $fa-var-minus, + "subtract": $fa-var-subtract, + "mitten": $fa-var-mitten, + "mobile": $fa-var-mobile, + "mobile-android": $fa-var-mobile-android, + "mobile-phone": $fa-var-mobile-phone, + "mobile-button": $fa-var-mobile-button, + "mobile-retro": $fa-var-mobile-retro, + "mobile-screen": $fa-var-mobile-screen, + "mobile-android-alt": $fa-var-mobile-android-alt, + "mobile-screen-button": $fa-var-mobile-screen-button, + "mobile-alt": $fa-var-mobile-alt, + "money-bill": $fa-var-money-bill, + "money-bill-1": $fa-var-money-bill-1, + "money-bill-alt": $fa-var-money-bill-alt, + "money-bill-1-wave": $fa-var-money-bill-1-wave, + "money-bill-wave-alt": $fa-var-money-bill-wave-alt, + "money-bill-transfer": $fa-var-money-bill-transfer, + "money-bill-trend-up": $fa-var-money-bill-trend-up, + "money-bill-wave": $fa-var-money-bill-wave, + "money-bill-wheat": $fa-var-money-bill-wheat, + "money-bills": $fa-var-money-bills, + "money-check": $fa-var-money-check, + "money-check-dollar": $fa-var-money-check-dollar, + "money-check-alt": $fa-var-money-check-alt, + "monument": $fa-var-monument, + "moon": $fa-var-moon, + "mortar-pestle": $fa-var-mortar-pestle, + "mosque": $fa-var-mosque, + "mosquito": $fa-var-mosquito, + "mosquito-net": $fa-var-mosquito-net, + "motorcycle": $fa-var-motorcycle, + "mound": $fa-var-mound, + "mountain": $fa-var-mountain, + "mountain-city": $fa-var-mountain-city, + "mountain-sun": $fa-var-mountain-sun, + "mug-hot": $fa-var-mug-hot, + "mug-saucer": $fa-var-mug-saucer, + "coffee": $fa-var-coffee, + "music": $fa-var-music, + "n": $fa-var-n, + "naira-sign": $fa-var-naira-sign, + "network-wired": $fa-var-network-wired, + "neuter": $fa-var-neuter, + "newspaper": $fa-var-newspaper, + "not-equal": $fa-var-not-equal, + "notdef": $fa-var-notdef, + "note-sticky": $fa-var-note-sticky, + "sticky-note": $fa-var-sticky-note, + "notes-medical": $fa-var-notes-medical, + "o": $fa-var-o, + "object-group": $fa-var-object-group, + "object-ungroup": $fa-var-object-ungroup, + "oil-can": $fa-var-oil-can, + "oil-well": $fa-var-oil-well, + "om": $fa-var-om, + "otter": $fa-var-otter, + "outdent": $fa-var-outdent, + "dedent": $fa-var-dedent, + "p": $fa-var-p, + "pager": $fa-var-pager, + "paint-roller": $fa-var-paint-roller, + "paintbrush": $fa-var-paintbrush, + "paint-brush": $fa-var-paint-brush, + "palette": $fa-var-palette, + "pallet": $fa-var-pallet, + "panorama": $fa-var-panorama, + "paper-plane": $fa-var-paper-plane, + "paperclip": $fa-var-paperclip, + "parachute-box": $fa-var-parachute-box, + "paragraph": $fa-var-paragraph, + "passport": $fa-var-passport, + "paste": $fa-var-paste, + "file-clipboard": $fa-var-file-clipboard, + "pause": $fa-var-pause, + "paw": $fa-var-paw, + "peace": $fa-var-peace, + "pen": $fa-var-pen, + "pen-clip": $fa-var-pen-clip, + "pen-alt": $fa-var-pen-alt, + "pen-fancy": $fa-var-pen-fancy, + "pen-nib": $fa-var-pen-nib, + "pen-ruler": $fa-var-pen-ruler, + "pencil-ruler": $fa-var-pencil-ruler, + "pen-to-square": $fa-var-pen-to-square, + "edit": $fa-var-edit, + "pencil": $fa-var-pencil, + "pencil-alt": $fa-var-pencil-alt, + "people-arrows": $fa-var-people-arrows, + "people-arrows-left-right": $fa-var-people-arrows-left-right, + "people-carry-box": $fa-var-people-carry-box, + "people-carry": $fa-var-people-carry, + "people-group": $fa-var-people-group, + "people-line": $fa-var-people-line, + "people-pulling": $fa-var-people-pulling, + "people-robbery": $fa-var-people-robbery, + "people-roof": $fa-var-people-roof, + "pepper-hot": $fa-var-pepper-hot, + "percent": $fa-var-percent, + "percentage": $fa-var-percentage, + "person": $fa-var-person, + "male": $fa-var-male, + "person-arrow-down-to-line": $fa-var-person-arrow-down-to-line, + "person-arrow-up-from-line": $fa-var-person-arrow-up-from-line, + "person-biking": $fa-var-person-biking, + "biking": $fa-var-biking, + "person-booth": $fa-var-person-booth, + "person-breastfeeding": $fa-var-person-breastfeeding, + "person-burst": $fa-var-person-burst, + "person-cane": $fa-var-person-cane, + "person-chalkboard": $fa-var-person-chalkboard, + "person-circle-check": $fa-var-person-circle-check, + "person-circle-exclamation": $fa-var-person-circle-exclamation, + "person-circle-minus": $fa-var-person-circle-minus, + "person-circle-plus": $fa-var-person-circle-plus, + "person-circle-question": $fa-var-person-circle-question, + "person-circle-xmark": $fa-var-person-circle-xmark, + "person-digging": $fa-var-person-digging, + "digging": $fa-var-digging, + "person-dots-from-line": $fa-var-person-dots-from-line, + "diagnoses": $fa-var-diagnoses, + "person-dress": $fa-var-person-dress, + "female": $fa-var-female, + "person-dress-burst": $fa-var-person-dress-burst, + "person-drowning": $fa-var-person-drowning, + "person-falling": $fa-var-person-falling, + "person-falling-burst": $fa-var-person-falling-burst, + "person-half-dress": $fa-var-person-half-dress, + "person-harassing": $fa-var-person-harassing, + "person-hiking": $fa-var-person-hiking, + "hiking": $fa-var-hiking, + "person-military-pointing": $fa-var-person-military-pointing, + "person-military-rifle": $fa-var-person-military-rifle, + "person-military-to-person": $fa-var-person-military-to-person, + "person-praying": $fa-var-person-praying, + "pray": $fa-var-pray, + "person-pregnant": $fa-var-person-pregnant, + "person-rays": $fa-var-person-rays, + "person-rifle": $fa-var-person-rifle, + "person-running": $fa-var-person-running, + "running": $fa-var-running, + "person-shelter": $fa-var-person-shelter, + "person-skating": $fa-var-person-skating, + "skating": $fa-var-skating, + "person-skiing": $fa-var-person-skiing, + "skiing": $fa-var-skiing, + "person-skiing-nordic": $fa-var-person-skiing-nordic, + "skiing-nordic": $fa-var-skiing-nordic, + "person-snowboarding": $fa-var-person-snowboarding, + "snowboarding": $fa-var-snowboarding, + "person-swimming": $fa-var-person-swimming, + "swimmer": $fa-var-swimmer, + "person-through-window": $fa-var-person-through-window, + "person-walking": $fa-var-person-walking, + "walking": $fa-var-walking, + "person-walking-arrow-loop-left": $fa-var-person-walking-arrow-loop-left, + "person-walking-arrow-right": $fa-var-person-walking-arrow-right, + "person-walking-dashed-line-arrow-right": $fa-var-person-walking-dashed-line-arrow-right, + "person-walking-luggage": $fa-var-person-walking-luggage, + "person-walking-with-cane": $fa-var-person-walking-with-cane, + "blind": $fa-var-blind, + "peseta-sign": $fa-var-peseta-sign, + "peso-sign": $fa-var-peso-sign, + "phone": $fa-var-phone, + "phone-flip": $fa-var-phone-flip, + "phone-alt": $fa-var-phone-alt, + "phone-slash": $fa-var-phone-slash, + "phone-volume": $fa-var-phone-volume, + "volume-control-phone": $fa-var-volume-control-phone, + "photo-film": $fa-var-photo-film, + "photo-video": $fa-var-photo-video, + "piggy-bank": $fa-var-piggy-bank, + "pills": $fa-var-pills, + "pizza-slice": $fa-var-pizza-slice, + "place-of-worship": $fa-var-place-of-worship, + "plane": $fa-var-plane, + "plane-arrival": $fa-var-plane-arrival, + "plane-circle-check": $fa-var-plane-circle-check, + "plane-circle-exclamation": $fa-var-plane-circle-exclamation, + "plane-circle-xmark": $fa-var-plane-circle-xmark, + "plane-departure": $fa-var-plane-departure, + "plane-lock": $fa-var-plane-lock, + "plane-slash": $fa-var-plane-slash, + "plane-up": $fa-var-plane-up, + "plant-wilt": $fa-var-plant-wilt, + "plate-wheat": $fa-var-plate-wheat, + "play": $fa-var-play, + "plug": $fa-var-plug, + "plug-circle-bolt": $fa-var-plug-circle-bolt, + "plug-circle-check": $fa-var-plug-circle-check, + "plug-circle-exclamation": $fa-var-plug-circle-exclamation, + "plug-circle-minus": $fa-var-plug-circle-minus, + "plug-circle-plus": $fa-var-plug-circle-plus, + "plug-circle-xmark": $fa-var-plug-circle-xmark, + "plus": $fa-var-plus, + "add": $fa-var-add, + "plus-minus": $fa-var-plus-minus, + "podcast": $fa-var-podcast, + "poo": $fa-var-poo, + "poo-storm": $fa-var-poo-storm, + "poo-bolt": $fa-var-poo-bolt, + "poop": $fa-var-poop, + "power-off": $fa-var-power-off, + "prescription": $fa-var-prescription, + "prescription-bottle": $fa-var-prescription-bottle, + "prescription-bottle-medical": $fa-var-prescription-bottle-medical, + "prescription-bottle-alt": $fa-var-prescription-bottle-alt, + "print": $fa-var-print, + "pump-medical": $fa-var-pump-medical, + "pump-soap": $fa-var-pump-soap, + "puzzle-piece": $fa-var-puzzle-piece, + "q": $fa-var-q, + "qrcode": $fa-var-qrcode, + "question": $fa-var-question, + "quote-left": $fa-var-quote-left, + "quote-left-alt": $fa-var-quote-left-alt, + "quote-right": $fa-var-quote-right, + "quote-right-alt": $fa-var-quote-right-alt, + "r": $fa-var-r, + "radiation": $fa-var-radiation, + "radio": $fa-var-radio, + "rainbow": $fa-var-rainbow, + "ranking-star": $fa-var-ranking-star, + "receipt": $fa-var-receipt, + "record-vinyl": $fa-var-record-vinyl, + "rectangle-ad": $fa-var-rectangle-ad, + "ad": $fa-var-ad, + "rectangle-list": $fa-var-rectangle-list, + "list-alt": $fa-var-list-alt, + "rectangle-xmark": $fa-var-rectangle-xmark, + "rectangle-times": $fa-var-rectangle-times, + "times-rectangle": $fa-var-times-rectangle, + "window-close": $fa-var-window-close, + "recycle": $fa-var-recycle, + "registered": $fa-var-registered, + "repeat": $fa-var-repeat, + "reply": $fa-var-reply, + "mail-reply": $fa-var-mail-reply, + "reply-all": $fa-var-reply-all, + "mail-reply-all": $fa-var-mail-reply-all, + "republican": $fa-var-republican, + "restroom": $fa-var-restroom, + "retweet": $fa-var-retweet, + "ribbon": $fa-var-ribbon, + "right-from-bracket": $fa-var-right-from-bracket, + "sign-out-alt": $fa-var-sign-out-alt, + "right-left": $fa-var-right-left, + "exchange-alt": $fa-var-exchange-alt, + "right-long": $fa-var-right-long, + "long-arrow-alt-right": $fa-var-long-arrow-alt-right, + "right-to-bracket": $fa-var-right-to-bracket, + "sign-in-alt": $fa-var-sign-in-alt, + "ring": $fa-var-ring, + "road": $fa-var-road, + "road-barrier": $fa-var-road-barrier, + "road-bridge": $fa-var-road-bridge, + "road-circle-check": $fa-var-road-circle-check, + "road-circle-exclamation": $fa-var-road-circle-exclamation, + "road-circle-xmark": $fa-var-road-circle-xmark, + "road-lock": $fa-var-road-lock, + "road-spikes": $fa-var-road-spikes, + "robot": $fa-var-robot, + "rocket": $fa-var-rocket, + "rotate": $fa-var-rotate, + "sync-alt": $fa-var-sync-alt, + "rotate-left": $fa-var-rotate-left, + "rotate-back": $fa-var-rotate-back, + "rotate-backward": $fa-var-rotate-backward, + "undo-alt": $fa-var-undo-alt, + "rotate-right": $fa-var-rotate-right, + "redo-alt": $fa-var-redo-alt, + "rotate-forward": $fa-var-rotate-forward, + "route": $fa-var-route, + "rss": $fa-var-rss, + "feed": $fa-var-feed, + "ruble-sign": $fa-var-ruble-sign, + "rouble": $fa-var-rouble, + "rub": $fa-var-rub, + "ruble": $fa-var-ruble, + "rug": $fa-var-rug, + "ruler": $fa-var-ruler, + "ruler-combined": $fa-var-ruler-combined, + "ruler-horizontal": $fa-var-ruler-horizontal, + "ruler-vertical": $fa-var-ruler-vertical, + "rupee-sign": $fa-var-rupee-sign, + "rupee": $fa-var-rupee, + "rupiah-sign": $fa-var-rupiah-sign, + "s": $fa-var-s, + "sack-dollar": $fa-var-sack-dollar, + "sack-xmark": $fa-var-sack-xmark, + "sailboat": $fa-var-sailboat, + "satellite": $fa-var-satellite, + "satellite-dish": $fa-var-satellite-dish, + "scale-balanced": $fa-var-scale-balanced, + "balance-scale": $fa-var-balance-scale, + "scale-unbalanced": $fa-var-scale-unbalanced, + "balance-scale-left": $fa-var-balance-scale-left, + "scale-unbalanced-flip": $fa-var-scale-unbalanced-flip, + "balance-scale-right": $fa-var-balance-scale-right, + "school": $fa-var-school, + "school-circle-check": $fa-var-school-circle-check, + "school-circle-exclamation": $fa-var-school-circle-exclamation, + "school-circle-xmark": $fa-var-school-circle-xmark, + "school-flag": $fa-var-school-flag, + "school-lock": $fa-var-school-lock, + "scissors": $fa-var-scissors, + "cut": $fa-var-cut, + "screwdriver": $fa-var-screwdriver, + "screwdriver-wrench": $fa-var-screwdriver-wrench, + "tools": $fa-var-tools, + "scroll": $fa-var-scroll, + "scroll-torah": $fa-var-scroll-torah, + "torah": $fa-var-torah, + "sd-card": $fa-var-sd-card, + "section": $fa-var-section, + "seedling": $fa-var-seedling, + "sprout": $fa-var-sprout, + "server": $fa-var-server, + "shapes": $fa-var-shapes, + "triangle-circle-square": $fa-var-triangle-circle-square, + "share": $fa-var-share, + "arrow-turn-right": $fa-var-arrow-turn-right, + "mail-forward": $fa-var-mail-forward, + "share-from-square": $fa-var-share-from-square, + "share-square": $fa-var-share-square, + "share-nodes": $fa-var-share-nodes, + "share-alt": $fa-var-share-alt, + "sheet-plastic": $fa-var-sheet-plastic, + "shekel-sign": $fa-var-shekel-sign, + "ils": $fa-var-ils, + "shekel": $fa-var-shekel, + "sheqel": $fa-var-sheqel, + "sheqel-sign": $fa-var-sheqel-sign, + "shield": $fa-var-shield, + "shield-blank": $fa-var-shield-blank, + "shield-cat": $fa-var-shield-cat, + "shield-dog": $fa-var-shield-dog, + "shield-halved": $fa-var-shield-halved, + "shield-alt": $fa-var-shield-alt, + "shield-heart": $fa-var-shield-heart, + "shield-virus": $fa-var-shield-virus, + "ship": $fa-var-ship, + "shirt": $fa-var-shirt, + "t-shirt": $fa-var-t-shirt, + "tshirt": $fa-var-tshirt, + "shoe-prints": $fa-var-shoe-prints, + "shop": $fa-var-shop, + "store-alt": $fa-var-store-alt, + "shop-lock": $fa-var-shop-lock, + "shop-slash": $fa-var-shop-slash, + "store-alt-slash": $fa-var-store-alt-slash, + "shower": $fa-var-shower, + "shrimp": $fa-var-shrimp, + "shuffle": $fa-var-shuffle, + "random": $fa-var-random, + "shuttle-space": $fa-var-shuttle-space, + "space-shuttle": $fa-var-space-shuttle, + "sign-hanging": $fa-var-sign-hanging, + "sign": $fa-var-sign, + "signal": $fa-var-signal, + "signal-5": $fa-var-signal-5, + "signal-perfect": $fa-var-signal-perfect, + "signature": $fa-var-signature, + "signs-post": $fa-var-signs-post, + "map-signs": $fa-var-map-signs, + "sim-card": $fa-var-sim-card, + "sink": $fa-var-sink, + "sitemap": $fa-var-sitemap, + "skull": $fa-var-skull, + "skull-crossbones": $fa-var-skull-crossbones, + "slash": $fa-var-slash, + "sleigh": $fa-var-sleigh, + "sliders": $fa-var-sliders, + "sliders-h": $fa-var-sliders-h, + "smog": $fa-var-smog, + "smoking": $fa-var-smoking, + "snowflake": $fa-var-snowflake, + "snowman": $fa-var-snowman, + "snowplow": $fa-var-snowplow, + "soap": $fa-var-soap, + "socks": $fa-var-socks, + "solar-panel": $fa-var-solar-panel, + "sort": $fa-var-sort, + "unsorted": $fa-var-unsorted, + "sort-down": $fa-var-sort-down, + "sort-desc": $fa-var-sort-desc, + "sort-up": $fa-var-sort-up, + "sort-asc": $fa-var-sort-asc, + "spa": $fa-var-spa, + "spaghetti-monster-flying": $fa-var-spaghetti-monster-flying, + "pastafarianism": $fa-var-pastafarianism, + "spell-check": $fa-var-spell-check, + "spider": $fa-var-spider, + "spinner": $fa-var-spinner, + "splotch": $fa-var-splotch, + "spoon": $fa-var-spoon, + "utensil-spoon": $fa-var-utensil-spoon, + "spray-can": $fa-var-spray-can, + "spray-can-sparkles": $fa-var-spray-can-sparkles, + "air-freshener": $fa-var-air-freshener, + "square": $fa-var-square, + "square-arrow-up-right": $fa-var-square-arrow-up-right, + "external-link-square": $fa-var-external-link-square, + "square-caret-down": $fa-var-square-caret-down, + "caret-square-down": $fa-var-caret-square-down, + "square-caret-left": $fa-var-square-caret-left, + "caret-square-left": $fa-var-caret-square-left, + "square-caret-right": $fa-var-square-caret-right, + "caret-square-right": $fa-var-caret-square-right, + "square-caret-up": $fa-var-square-caret-up, + "caret-square-up": $fa-var-caret-square-up, + "square-check": $fa-var-square-check, + "check-square": $fa-var-check-square, + "square-envelope": $fa-var-square-envelope, + "envelope-square": $fa-var-envelope-square, + "square-full": $fa-var-square-full, + "square-h": $fa-var-square-h, + "h-square": $fa-var-h-square, + "square-minus": $fa-var-square-minus, + "minus-square": $fa-var-minus-square, + "square-nfi": $fa-var-square-nfi, + "square-parking": $fa-var-square-parking, + "parking": $fa-var-parking, + "square-pen": $fa-var-square-pen, + "pen-square": $fa-var-pen-square, + "pencil-square": $fa-var-pencil-square, + "square-person-confined": $fa-var-square-person-confined, + "square-phone": $fa-var-square-phone, + "phone-square": $fa-var-phone-square, + "square-phone-flip": $fa-var-square-phone-flip, + "phone-square-alt": $fa-var-phone-square-alt, + "square-plus": $fa-var-square-plus, + "plus-square": $fa-var-plus-square, + "square-poll-horizontal": $fa-var-square-poll-horizontal, + "poll-h": $fa-var-poll-h, + "square-poll-vertical": $fa-var-square-poll-vertical, + "poll": $fa-var-poll, + "square-root-variable": $fa-var-square-root-variable, + "square-root-alt": $fa-var-square-root-alt, + "square-rss": $fa-var-square-rss, + "rss-square": $fa-var-rss-square, + "square-share-nodes": $fa-var-square-share-nodes, + "share-alt-square": $fa-var-share-alt-square, + "square-up-right": $fa-var-square-up-right, + "external-link-square-alt": $fa-var-external-link-square-alt, + "square-virus": $fa-var-square-virus, + "square-xmark": $fa-var-square-xmark, + "times-square": $fa-var-times-square, + "xmark-square": $fa-var-xmark-square, + "staff-snake": $fa-var-staff-snake, + "rod-asclepius": $fa-var-rod-asclepius, + "rod-snake": $fa-var-rod-snake, + "staff-aesculapius": $fa-var-staff-aesculapius, + "stairs": $fa-var-stairs, + "stamp": $fa-var-stamp, + "stapler": $fa-var-stapler, + "star": $fa-var-star, + "star-and-crescent": $fa-var-star-and-crescent, + "star-half": $fa-var-star-half, + "star-half-stroke": $fa-var-star-half-stroke, + "star-half-alt": $fa-var-star-half-alt, + "star-of-david": $fa-var-star-of-david, + "star-of-life": $fa-var-star-of-life, + "sterling-sign": $fa-var-sterling-sign, + "gbp": $fa-var-gbp, + "pound-sign": $fa-var-pound-sign, + "stethoscope": $fa-var-stethoscope, + "stop": $fa-var-stop, + "stopwatch": $fa-var-stopwatch, + "stopwatch-20": $fa-var-stopwatch-20, + "store": $fa-var-store, + "store-slash": $fa-var-store-slash, + "street-view": $fa-var-street-view, + "strikethrough": $fa-var-strikethrough, + "stroopwafel": $fa-var-stroopwafel, + "subscript": $fa-var-subscript, + "suitcase": $fa-var-suitcase, + "suitcase-medical": $fa-var-suitcase-medical, + "medkit": $fa-var-medkit, + "suitcase-rolling": $fa-var-suitcase-rolling, + "sun": $fa-var-sun, + "sun-plant-wilt": $fa-var-sun-plant-wilt, + "superscript": $fa-var-superscript, + "swatchbook": $fa-var-swatchbook, + "synagogue": $fa-var-synagogue, + "syringe": $fa-var-syringe, + "t": $fa-var-t, + "table": $fa-var-table, + "table-cells": $fa-var-table-cells, + "th": $fa-var-th, + "table-cells-large": $fa-var-table-cells-large, + "th-large": $fa-var-th-large, + "table-columns": $fa-var-table-columns, + "columns": $fa-var-columns, + "table-list": $fa-var-table-list, + "th-list": $fa-var-th-list, + "table-tennis-paddle-ball": $fa-var-table-tennis-paddle-ball, + "ping-pong-paddle-ball": $fa-var-ping-pong-paddle-ball, + "table-tennis": $fa-var-table-tennis, + "tablet": $fa-var-tablet, + "tablet-android": $fa-var-tablet-android, + "tablet-button": $fa-var-tablet-button, + "tablet-screen-button": $fa-var-tablet-screen-button, + "tablet-alt": $fa-var-tablet-alt, + "tablets": $fa-var-tablets, + "tachograph-digital": $fa-var-tachograph-digital, + "digital-tachograph": $fa-var-digital-tachograph, + "tag": $fa-var-tag, + "tags": $fa-var-tags, + "tape": $fa-var-tape, + "tarp": $fa-var-tarp, + "tarp-droplet": $fa-var-tarp-droplet, + "taxi": $fa-var-taxi, + "cab": $fa-var-cab, + "teeth": $fa-var-teeth, + "teeth-open": $fa-var-teeth-open, + "temperature-arrow-down": $fa-var-temperature-arrow-down, + "temperature-down": $fa-var-temperature-down, + "temperature-arrow-up": $fa-var-temperature-arrow-up, + "temperature-up": $fa-var-temperature-up, + "temperature-empty": $fa-var-temperature-empty, + "temperature-0": $fa-var-temperature-0, + "thermometer-0": $fa-var-thermometer-0, + "thermometer-empty": $fa-var-thermometer-empty, + "temperature-full": $fa-var-temperature-full, + "temperature-4": $fa-var-temperature-4, + "thermometer-4": $fa-var-thermometer-4, + "thermometer-full": $fa-var-thermometer-full, + "temperature-half": $fa-var-temperature-half, + "temperature-2": $fa-var-temperature-2, + "thermometer-2": $fa-var-thermometer-2, + "thermometer-half": $fa-var-thermometer-half, + "temperature-high": $fa-var-temperature-high, + "temperature-low": $fa-var-temperature-low, + "temperature-quarter": $fa-var-temperature-quarter, + "temperature-1": $fa-var-temperature-1, + "thermometer-1": $fa-var-thermometer-1, + "thermometer-quarter": $fa-var-thermometer-quarter, + "temperature-three-quarters": $fa-var-temperature-three-quarters, + "temperature-3": $fa-var-temperature-3, + "thermometer-3": $fa-var-thermometer-3, + "thermometer-three-quarters": $fa-var-thermometer-three-quarters, + "tenge-sign": $fa-var-tenge-sign, + "tenge": $fa-var-tenge, + "tent": $fa-var-tent, + "tent-arrow-down-to-line": $fa-var-tent-arrow-down-to-line, + "tent-arrow-left-right": $fa-var-tent-arrow-left-right, + "tent-arrow-turn-left": $fa-var-tent-arrow-turn-left, + "tent-arrows-down": $fa-var-tent-arrows-down, + "tents": $fa-var-tents, + "terminal": $fa-var-terminal, + "text-height": $fa-var-text-height, + "text-slash": $fa-var-text-slash, + "remove-format": $fa-var-remove-format, + "text-width": $fa-var-text-width, + "thermometer": $fa-var-thermometer, + "thumbs-down": $fa-var-thumbs-down, + "thumbs-up": $fa-var-thumbs-up, + "thumbtack": $fa-var-thumbtack, + "thumb-tack": $fa-var-thumb-tack, + "ticket": $fa-var-ticket, + "ticket-simple": $fa-var-ticket-simple, + "ticket-alt": $fa-var-ticket-alt, + "timeline": $fa-var-timeline, + "toggle-off": $fa-var-toggle-off, + "toggle-on": $fa-var-toggle-on, + "toilet": $fa-var-toilet, + "toilet-paper": $fa-var-toilet-paper, + "toilet-paper-slash": $fa-var-toilet-paper-slash, + "toilet-portable": $fa-var-toilet-portable, + "toilets-portable": $fa-var-toilets-portable, + "toolbox": $fa-var-toolbox, + "tooth": $fa-var-tooth, + "torii-gate": $fa-var-torii-gate, + "tornado": $fa-var-tornado, + "tower-broadcast": $fa-var-tower-broadcast, + "broadcast-tower": $fa-var-broadcast-tower, + "tower-cell": $fa-var-tower-cell, + "tower-observation": $fa-var-tower-observation, + "tractor": $fa-var-tractor, + "trademark": $fa-var-trademark, + "traffic-light": $fa-var-traffic-light, + "trailer": $fa-var-trailer, + "train": $fa-var-train, + "train-subway": $fa-var-train-subway, + "subway": $fa-var-subway, + "train-tram": $fa-var-train-tram, + "transgender": $fa-var-transgender, + "transgender-alt": $fa-var-transgender-alt, + "trash": $fa-var-trash, + "trash-arrow-up": $fa-var-trash-arrow-up, + "trash-restore": $fa-var-trash-restore, + "trash-can": $fa-var-trash-can, + "trash-alt": $fa-var-trash-alt, + "trash-can-arrow-up": $fa-var-trash-can-arrow-up, + "trash-restore-alt": $fa-var-trash-restore-alt, + "tree": $fa-var-tree, + "tree-city": $fa-var-tree-city, + "triangle-exclamation": $fa-var-triangle-exclamation, + "exclamation-triangle": $fa-var-exclamation-triangle, + "warning": $fa-var-warning, + "trophy": $fa-var-trophy, + "trowel": $fa-var-trowel, + "trowel-bricks": $fa-var-trowel-bricks, + "truck": $fa-var-truck, + "truck-arrow-right": $fa-var-truck-arrow-right, + "truck-droplet": $fa-var-truck-droplet, + "truck-fast": $fa-var-truck-fast, + "shipping-fast": $fa-var-shipping-fast, + "truck-field": $fa-var-truck-field, + "truck-field-un": $fa-var-truck-field-un, + "truck-front": $fa-var-truck-front, + "truck-medical": $fa-var-truck-medical, + "ambulance": $fa-var-ambulance, + "truck-monster": $fa-var-truck-monster, + "truck-moving": $fa-var-truck-moving, + "truck-pickup": $fa-var-truck-pickup, + "truck-plane": $fa-var-truck-plane, + "truck-ramp-box": $fa-var-truck-ramp-box, + "truck-loading": $fa-var-truck-loading, + "tty": $fa-var-tty, + "teletype": $fa-var-teletype, + "turkish-lira-sign": $fa-var-turkish-lira-sign, + "try": $fa-var-try, + "turkish-lira": $fa-var-turkish-lira, + "turn-down": $fa-var-turn-down, + "level-down-alt": $fa-var-level-down-alt, + "turn-up": $fa-var-turn-up, + "level-up-alt": $fa-var-level-up-alt, + "tv": $fa-var-tv, + "television": $fa-var-television, + "tv-alt": $fa-var-tv-alt, + "u": $fa-var-u, + "umbrella": $fa-var-umbrella, + "umbrella-beach": $fa-var-umbrella-beach, + "underline": $fa-var-underline, + "universal-access": $fa-var-universal-access, + "unlock": $fa-var-unlock, + "unlock-keyhole": $fa-var-unlock-keyhole, + "unlock-alt": $fa-var-unlock-alt, + "up-down": $fa-var-up-down, + "arrows-alt-v": $fa-var-arrows-alt-v, + "up-down-left-right": $fa-var-up-down-left-right, + "arrows-alt": $fa-var-arrows-alt, + "up-long": $fa-var-up-long, + "long-arrow-alt-up": $fa-var-long-arrow-alt-up, + "up-right-and-down-left-from-center": $fa-var-up-right-and-down-left-from-center, + "expand-alt": $fa-var-expand-alt, + "up-right-from-square": $fa-var-up-right-from-square, + "external-link-alt": $fa-var-external-link-alt, + "upload": $fa-var-upload, + "user": $fa-var-user, + "user-astronaut": $fa-var-user-astronaut, + "user-check": $fa-var-user-check, + "user-clock": $fa-var-user-clock, + "user-doctor": $fa-var-user-doctor, + "user-md": $fa-var-user-md, + "user-gear": $fa-var-user-gear, + "user-cog": $fa-var-user-cog, + "user-graduate": $fa-var-user-graduate, + "user-group": $fa-var-user-group, + "user-friends": $fa-var-user-friends, + "user-injured": $fa-var-user-injured, + "user-large": $fa-var-user-large, + "user-alt": $fa-var-user-alt, + "user-large-slash": $fa-var-user-large-slash, + "user-alt-slash": $fa-var-user-alt-slash, + "user-lock": $fa-var-user-lock, + "user-minus": $fa-var-user-minus, + "user-ninja": $fa-var-user-ninja, + "user-nurse": $fa-var-user-nurse, + "user-pen": $fa-var-user-pen, + "user-edit": $fa-var-user-edit, + "user-plus": $fa-var-user-plus, + "user-secret": $fa-var-user-secret, + "user-shield": $fa-var-user-shield, + "user-slash": $fa-var-user-slash, + "user-tag": $fa-var-user-tag, + "user-tie": $fa-var-user-tie, + "user-xmark": $fa-var-user-xmark, + "user-times": $fa-var-user-times, + "users": $fa-var-users, + "users-between-lines": $fa-var-users-between-lines, + "users-gear": $fa-var-users-gear, + "users-cog": $fa-var-users-cog, + "users-line": $fa-var-users-line, + "users-rays": $fa-var-users-rays, + "users-rectangle": $fa-var-users-rectangle, + "users-slash": $fa-var-users-slash, + "users-viewfinder": $fa-var-users-viewfinder, + "utensils": $fa-var-utensils, + "cutlery": $fa-var-cutlery, + "v": $fa-var-v, + "van-shuttle": $fa-var-van-shuttle, + "shuttle-van": $fa-var-shuttle-van, + "vault": $fa-var-vault, + "vector-square": $fa-var-vector-square, + "venus": $fa-var-venus, + "venus-double": $fa-var-venus-double, + "venus-mars": $fa-var-venus-mars, + "vest": $fa-var-vest, + "vest-patches": $fa-var-vest-patches, + "vial": $fa-var-vial, + "vial-circle-check": $fa-var-vial-circle-check, + "vial-virus": $fa-var-vial-virus, + "vials": $fa-var-vials, + "video": $fa-var-video, + "video-camera": $fa-var-video-camera, + "video-slash": $fa-var-video-slash, + "vihara": $fa-var-vihara, + "virus": $fa-var-virus, + "virus-covid": $fa-var-virus-covid, + "virus-covid-slash": $fa-var-virus-covid-slash, + "virus-slash": $fa-var-virus-slash, + "viruses": $fa-var-viruses, + "voicemail": $fa-var-voicemail, + "volcano": $fa-var-volcano, + "volleyball": $fa-var-volleyball, + "volleyball-ball": $fa-var-volleyball-ball, + "volume-high": $fa-var-volume-high, + "volume-up": $fa-var-volume-up, + "volume-low": $fa-var-volume-low, + "volume-down": $fa-var-volume-down, + "volume-off": $fa-var-volume-off, + "volume-xmark": $fa-var-volume-xmark, + "volume-mute": $fa-var-volume-mute, + "volume-times": $fa-var-volume-times, + "vr-cardboard": $fa-var-vr-cardboard, + "w": $fa-var-w, + "walkie-talkie": $fa-var-walkie-talkie, + "wallet": $fa-var-wallet, + "wand-magic": $fa-var-wand-magic, + "magic": $fa-var-magic, + "wand-magic-sparkles": $fa-var-wand-magic-sparkles, + "magic-wand-sparkles": $fa-var-magic-wand-sparkles, + "wand-sparkles": $fa-var-wand-sparkles, + "warehouse": $fa-var-warehouse, + "water": $fa-var-water, + "water-ladder": $fa-var-water-ladder, + "ladder-water": $fa-var-ladder-water, + "swimming-pool": $fa-var-swimming-pool, + "wave-square": $fa-var-wave-square, + "weight-hanging": $fa-var-weight-hanging, + "weight-scale": $fa-var-weight-scale, + "weight": $fa-var-weight, + "wheat-awn": $fa-var-wheat-awn, + "wheat-alt": $fa-var-wheat-alt, + "wheat-awn-circle-exclamation": $fa-var-wheat-awn-circle-exclamation, + "wheelchair": $fa-var-wheelchair, + "wheelchair-move": $fa-var-wheelchair-move, + "wheelchair-alt": $fa-var-wheelchair-alt, + "whiskey-glass": $fa-var-whiskey-glass, + "glass-whiskey": $fa-var-glass-whiskey, + "wifi": $fa-var-wifi, + "wifi-3": $fa-var-wifi-3, + "wifi-strong": $fa-var-wifi-strong, + "wind": $fa-var-wind, + "window-maximize": $fa-var-window-maximize, + "window-minimize": $fa-var-window-minimize, + "window-restore": $fa-var-window-restore, + "wine-bottle": $fa-var-wine-bottle, + "wine-glass": $fa-var-wine-glass, + "wine-glass-empty": $fa-var-wine-glass-empty, + "wine-glass-alt": $fa-var-wine-glass-alt, + "won-sign": $fa-var-won-sign, + "krw": $fa-var-krw, + "won": $fa-var-won, + "worm": $fa-var-worm, + "wrench": $fa-var-wrench, + "x": $fa-var-x, + "x-ray": $fa-var-x-ray, + "xmark": $fa-var-xmark, + "close": $fa-var-close, + "multiply": $fa-var-multiply, + "remove": $fa-var-remove, + "times": $fa-var-times, + "xmarks-lines": $fa-var-xmarks-lines, + "y": $fa-var-y, + "yen-sign": $fa-var-yen-sign, + "cny": $fa-var-cny, + "jpy": $fa-var-jpy, + "rmb": $fa-var-rmb, + "yen": $fa-var-yen, + "yin-yang": $fa-var-yin-yang, + "z": $fa-var-z, +); + +$fa-brand-icons: ( + "42-group": $fa-var-42-group, + "innosoft": $fa-var-innosoft, + "500px": $fa-var-500px, + "accessible-icon": $fa-var-accessible-icon, + "accusoft": $fa-var-accusoft, + "adn": $fa-var-adn, + "adversal": $fa-var-adversal, + "affiliatetheme": $fa-var-affiliatetheme, + "airbnb": $fa-var-airbnb, + "algolia": $fa-var-algolia, + "alipay": $fa-var-alipay, + "amazon": $fa-var-amazon, + "amazon-pay": $fa-var-amazon-pay, + "amilia": $fa-var-amilia, + "android": $fa-var-android, + "angellist": $fa-var-angellist, + "angrycreative": $fa-var-angrycreative, + "angular": $fa-var-angular, + "app-store": $fa-var-app-store, + "app-store-ios": $fa-var-app-store-ios, + "apper": $fa-var-apper, + "apple": $fa-var-apple, + "apple-pay": $fa-var-apple-pay, + "artstation": $fa-var-artstation, + "asymmetrik": $fa-var-asymmetrik, + "atlassian": $fa-var-atlassian, + "audible": $fa-var-audible, + "autoprefixer": $fa-var-autoprefixer, + "avianex": $fa-var-avianex, + "aviato": $fa-var-aviato, + "aws": $fa-var-aws, + "bandcamp": $fa-var-bandcamp, + "battle-net": $fa-var-battle-net, + "behance": $fa-var-behance, + "bilibili": $fa-var-bilibili, + "bimobject": $fa-var-bimobject, + "bitbucket": $fa-var-bitbucket, + "bitcoin": $fa-var-bitcoin, + "bity": $fa-var-bity, + "black-tie": $fa-var-black-tie, + "blackberry": $fa-var-blackberry, + "blogger": $fa-var-blogger, + "blogger-b": $fa-var-blogger-b, + "bluetooth": $fa-var-bluetooth, + "bluetooth-b": $fa-var-bluetooth-b, + "bootstrap": $fa-var-bootstrap, + "bots": $fa-var-bots, + "btc": $fa-var-btc, + "buffer": $fa-var-buffer, + "buromobelexperte": $fa-var-buromobelexperte, + "buy-n-large": $fa-var-buy-n-large, + "buysellads": $fa-var-buysellads, + "canadian-maple-leaf": $fa-var-canadian-maple-leaf, + "cc-amazon-pay": $fa-var-cc-amazon-pay, + "cc-amex": $fa-var-cc-amex, + "cc-apple-pay": $fa-var-cc-apple-pay, + "cc-diners-club": $fa-var-cc-diners-club, + "cc-discover": $fa-var-cc-discover, + "cc-jcb": $fa-var-cc-jcb, + "cc-mastercard": $fa-var-cc-mastercard, + "cc-paypal": $fa-var-cc-paypal, + "cc-stripe": $fa-var-cc-stripe, + "cc-visa": $fa-var-cc-visa, + "centercode": $fa-var-centercode, + "centos": $fa-var-centos, + "chrome": $fa-var-chrome, + "chromecast": $fa-var-chromecast, + "cloudflare": $fa-var-cloudflare, + "cloudscale": $fa-var-cloudscale, + "cloudsmith": $fa-var-cloudsmith, + "cloudversify": $fa-var-cloudversify, + "cmplid": $fa-var-cmplid, + "codepen": $fa-var-codepen, + "codiepie": $fa-var-codiepie, + "confluence": $fa-var-confluence, + "connectdevelop": $fa-var-connectdevelop, + "contao": $fa-var-contao, + "cotton-bureau": $fa-var-cotton-bureau, + "cpanel": $fa-var-cpanel, + "creative-commons": $fa-var-creative-commons, + "creative-commons-by": $fa-var-creative-commons-by, + "creative-commons-nc": $fa-var-creative-commons-nc, + "creative-commons-nc-eu": $fa-var-creative-commons-nc-eu, + "creative-commons-nc-jp": $fa-var-creative-commons-nc-jp, + "creative-commons-nd": $fa-var-creative-commons-nd, + "creative-commons-pd": $fa-var-creative-commons-pd, + "creative-commons-pd-alt": $fa-var-creative-commons-pd-alt, + "creative-commons-remix": $fa-var-creative-commons-remix, + "creative-commons-sa": $fa-var-creative-commons-sa, + "creative-commons-sampling": $fa-var-creative-commons-sampling, + "creative-commons-sampling-plus": $fa-var-creative-commons-sampling-plus, + "creative-commons-share": $fa-var-creative-commons-share, + "creative-commons-zero": $fa-var-creative-commons-zero, + "critical-role": $fa-var-critical-role, + "css3": $fa-var-css3, + "css3-alt": $fa-var-css3-alt, + "cuttlefish": $fa-var-cuttlefish, + "d-and-d": $fa-var-d-and-d, + "d-and-d-beyond": $fa-var-d-and-d-beyond, + "dailymotion": $fa-var-dailymotion, + "dashcube": $fa-var-dashcube, + "deezer": $fa-var-deezer, + "delicious": $fa-var-delicious, + "deploydog": $fa-var-deploydog, + "deskpro": $fa-var-deskpro, + "dev": $fa-var-dev, + "deviantart": $fa-var-deviantart, + "dhl": $fa-var-dhl, + "diaspora": $fa-var-diaspora, + "digg": $fa-var-digg, + "digital-ocean": $fa-var-digital-ocean, + "discord": $fa-var-discord, + "discourse": $fa-var-discourse, + "dochub": $fa-var-dochub, + "docker": $fa-var-docker, + "draft2digital": $fa-var-draft2digital, + "dribbble": $fa-var-dribbble, + "dropbox": $fa-var-dropbox, + "drupal": $fa-var-drupal, + "dyalog": $fa-var-dyalog, + "earlybirds": $fa-var-earlybirds, + "ebay": $fa-var-ebay, + "edge": $fa-var-edge, + "edge-legacy": $fa-var-edge-legacy, + "elementor": $fa-var-elementor, + "ello": $fa-var-ello, + "ember": $fa-var-ember, + "empire": $fa-var-empire, + "envira": $fa-var-envira, + "erlang": $fa-var-erlang, + "ethereum": $fa-var-ethereum, + "etsy": $fa-var-etsy, + "evernote": $fa-var-evernote, + "expeditedssl": $fa-var-expeditedssl, + "facebook": $fa-var-facebook, + "facebook-f": $fa-var-facebook-f, + "facebook-messenger": $fa-var-facebook-messenger, + "fantasy-flight-games": $fa-var-fantasy-flight-games, + "fedex": $fa-var-fedex, + "fedora": $fa-var-fedora, + "figma": $fa-var-figma, + "firefox": $fa-var-firefox, + "firefox-browser": $fa-var-firefox-browser, + "first-order": $fa-var-first-order, + "first-order-alt": $fa-var-first-order-alt, + "firstdraft": $fa-var-firstdraft, + "flickr": $fa-var-flickr, + "flipboard": $fa-var-flipboard, + "fly": $fa-var-fly, + "font-awesome": $fa-var-font-awesome, + "font-awesome-flag": $fa-var-font-awesome-flag, + "font-awesome-logo-full": $fa-var-font-awesome-logo-full, + "fonticons": $fa-var-fonticons, + "fonticons-fi": $fa-var-fonticons-fi, + "fort-awesome": $fa-var-fort-awesome, + "fort-awesome-alt": $fa-var-fort-awesome-alt, + "forumbee": $fa-var-forumbee, + "foursquare": $fa-var-foursquare, + "free-code-camp": $fa-var-free-code-camp, + "freebsd": $fa-var-freebsd, + "fulcrum": $fa-var-fulcrum, + "galactic-republic": $fa-var-galactic-republic, + "galactic-senate": $fa-var-galactic-senate, + "get-pocket": $fa-var-get-pocket, + "gg": $fa-var-gg, + "gg-circle": $fa-var-gg-circle, + "git": $fa-var-git, + "git-alt": $fa-var-git-alt, + "github": $fa-var-github, + "github-alt": $fa-var-github-alt, + "gitkraken": $fa-var-gitkraken, + "gitlab": $fa-var-gitlab, + "gitter": $fa-var-gitter, + "glide": $fa-var-glide, + "glide-g": $fa-var-glide-g, + "gofore": $fa-var-gofore, + "golang": $fa-var-golang, + "goodreads": $fa-var-goodreads, + "goodreads-g": $fa-var-goodreads-g, + "google": $fa-var-google, + "google-drive": $fa-var-google-drive, + "google-pay": $fa-var-google-pay, + "google-play": $fa-var-google-play, + "google-plus": $fa-var-google-plus, + "google-plus-g": $fa-var-google-plus-g, + "google-wallet": $fa-var-google-wallet, + "gratipay": $fa-var-gratipay, + "grav": $fa-var-grav, + "gripfire": $fa-var-gripfire, + "grunt": $fa-var-grunt, + "guilded": $fa-var-guilded, + "gulp": $fa-var-gulp, + "hacker-news": $fa-var-hacker-news, + "hackerrank": $fa-var-hackerrank, + "hashnode": $fa-var-hashnode, + "hips": $fa-var-hips, + "hire-a-helper": $fa-var-hire-a-helper, + "hive": $fa-var-hive, + "hooli": $fa-var-hooli, + "hornbill": $fa-var-hornbill, + "hotjar": $fa-var-hotjar, + "houzz": $fa-var-houzz, + "html5": $fa-var-html5, + "hubspot": $fa-var-hubspot, + "ideal": $fa-var-ideal, + "imdb": $fa-var-imdb, + "instagram": $fa-var-instagram, + "instalod": $fa-var-instalod, + "intercom": $fa-var-intercom, + "internet-explorer": $fa-var-internet-explorer, + "invision": $fa-var-invision, + "ioxhost": $fa-var-ioxhost, + "itch-io": $fa-var-itch-io, + "itunes": $fa-var-itunes, + "itunes-note": $fa-var-itunes-note, + "java": $fa-var-java, + "jedi-order": $fa-var-jedi-order, + "jenkins": $fa-var-jenkins, + "jira": $fa-var-jira, + "joget": $fa-var-joget, + "joomla": $fa-var-joomla, + "js": $fa-var-js, + "jsfiddle": $fa-var-jsfiddle, + "kaggle": $fa-var-kaggle, + "keybase": $fa-var-keybase, + "keycdn": $fa-var-keycdn, + "kickstarter": $fa-var-kickstarter, + "kickstarter-k": $fa-var-kickstarter-k, + "korvue": $fa-var-korvue, + "laravel": $fa-var-laravel, + "lastfm": $fa-var-lastfm, + "leanpub": $fa-var-leanpub, + "less": $fa-var-less, + "line": $fa-var-line, + "linkedin": $fa-var-linkedin, + "linkedin-in": $fa-var-linkedin-in, + "linode": $fa-var-linode, + "linux": $fa-var-linux, + "lyft": $fa-var-lyft, + "magento": $fa-var-magento, + "mailchimp": $fa-var-mailchimp, + "mandalorian": $fa-var-mandalorian, + "markdown": $fa-var-markdown, + "mastodon": $fa-var-mastodon, + "maxcdn": $fa-var-maxcdn, + "mdb": $fa-var-mdb, + "medapps": $fa-var-medapps, + "medium": $fa-var-medium, + "medium-m": $fa-var-medium-m, + "medrt": $fa-var-medrt, + "meetup": $fa-var-meetup, + "megaport": $fa-var-megaport, + "mendeley": $fa-var-mendeley, + "meta": $fa-var-meta, + "microblog": $fa-var-microblog, + "microsoft": $fa-var-microsoft, + "mix": $fa-var-mix, + "mixcloud": $fa-var-mixcloud, + "mixer": $fa-var-mixer, + "mizuni": $fa-var-mizuni, + "modx": $fa-var-modx, + "monero": $fa-var-monero, + "napster": $fa-var-napster, + "neos": $fa-var-neos, + "nfc-directional": $fa-var-nfc-directional, + "nfc-symbol": $fa-var-nfc-symbol, + "nimblr": $fa-var-nimblr, + "node": $fa-var-node, + "node-js": $fa-var-node-js, + "npm": $fa-var-npm, + "ns8": $fa-var-ns8, + "nutritionix": $fa-var-nutritionix, + "octopus-deploy": $fa-var-octopus-deploy, + "odnoklassniki": $fa-var-odnoklassniki, + "old-republic": $fa-var-old-republic, + "opencart": $fa-var-opencart, + "openid": $fa-var-openid, + "opera": $fa-var-opera, + "optin-monster": $fa-var-optin-monster, + "orcid": $fa-var-orcid, + "osi": $fa-var-osi, + "padlet": $fa-var-padlet, + "page4": $fa-var-page4, + "pagelines": $fa-var-pagelines, + "palfed": $fa-var-palfed, + "patreon": $fa-var-patreon, + "paypal": $fa-var-paypal, + "perbyte": $fa-var-perbyte, + "periscope": $fa-var-periscope, + "phabricator": $fa-var-phabricator, + "phoenix-framework": $fa-var-phoenix-framework, + "phoenix-squadron": $fa-var-phoenix-squadron, + "php": $fa-var-php, + "pied-piper": $fa-var-pied-piper, + "pied-piper-alt": $fa-var-pied-piper-alt, + "pied-piper-hat": $fa-var-pied-piper-hat, + "pied-piper-pp": $fa-var-pied-piper-pp, + "pinterest": $fa-var-pinterest, + "pinterest-p": $fa-var-pinterest-p, + "pix": $fa-var-pix, + "playstation": $fa-var-playstation, + "product-hunt": $fa-var-product-hunt, + "pushed": $fa-var-pushed, + "python": $fa-var-python, + "qq": $fa-var-qq, + "quinscape": $fa-var-quinscape, + "quora": $fa-var-quora, + "r-project": $fa-var-r-project, + "raspberry-pi": $fa-var-raspberry-pi, + "ravelry": $fa-var-ravelry, + "react": $fa-var-react, + "reacteurope": $fa-var-reacteurope, + "readme": $fa-var-readme, + "rebel": $fa-var-rebel, + "red-river": $fa-var-red-river, + "reddit": $fa-var-reddit, + "reddit-alien": $fa-var-reddit-alien, + "redhat": $fa-var-redhat, + "renren": $fa-var-renren, + "replyd": $fa-var-replyd, + "researchgate": $fa-var-researchgate, + "resolving": $fa-var-resolving, + "rev": $fa-var-rev, + "rocketchat": $fa-var-rocketchat, + "rockrms": $fa-var-rockrms, + "rust": $fa-var-rust, + "safari": $fa-var-safari, + "salesforce": $fa-var-salesforce, + "sass": $fa-var-sass, + "schlix": $fa-var-schlix, + "screenpal": $fa-var-screenpal, + "scribd": $fa-var-scribd, + "searchengin": $fa-var-searchengin, + "sellcast": $fa-var-sellcast, + "sellsy": $fa-var-sellsy, + "servicestack": $fa-var-servicestack, + "shirtsinbulk": $fa-var-shirtsinbulk, + "shopify": $fa-var-shopify, + "shopware": $fa-var-shopware, + "simplybuilt": $fa-var-simplybuilt, + "sistrix": $fa-var-sistrix, + "sith": $fa-var-sith, + "sitrox": $fa-var-sitrox, + "sketch": $fa-var-sketch, + "skyatlas": $fa-var-skyatlas, + "skype": $fa-var-skype, + "slack": $fa-var-slack, + "slack-hash": $fa-var-slack-hash, + "slideshare": $fa-var-slideshare, + "snapchat": $fa-var-snapchat, + "snapchat-ghost": $fa-var-snapchat-ghost, + "soundcloud": $fa-var-soundcloud, + "sourcetree": $fa-var-sourcetree, + "space-awesome": $fa-var-space-awesome, + "speakap": $fa-var-speakap, + "speaker-deck": $fa-var-speaker-deck, + "spotify": $fa-var-spotify, + "square-behance": $fa-var-square-behance, + "behance-square": $fa-var-behance-square, + "square-dribbble": $fa-var-square-dribbble, + "dribbble-square": $fa-var-dribbble-square, + "square-facebook": $fa-var-square-facebook, + "facebook-square": $fa-var-facebook-square, + "square-font-awesome": $fa-var-square-font-awesome, + "square-font-awesome-stroke": $fa-var-square-font-awesome-stroke, + "font-awesome-alt": $fa-var-font-awesome-alt, + "square-git": $fa-var-square-git, + "git-square": $fa-var-git-square, + "square-github": $fa-var-square-github, + "github-square": $fa-var-github-square, + "square-gitlab": $fa-var-square-gitlab, + "gitlab-square": $fa-var-gitlab-square, + "square-google-plus": $fa-var-square-google-plus, + "google-plus-square": $fa-var-google-plus-square, + "square-hacker-news": $fa-var-square-hacker-news, + "hacker-news-square": $fa-var-hacker-news-square, + "square-instagram": $fa-var-square-instagram, + "instagram-square": $fa-var-instagram-square, + "square-js": $fa-var-square-js, + "js-square": $fa-var-js-square, + "square-lastfm": $fa-var-square-lastfm, + "lastfm-square": $fa-var-lastfm-square, + "square-odnoklassniki": $fa-var-square-odnoklassniki, + "odnoklassniki-square": $fa-var-odnoklassniki-square, + "square-pied-piper": $fa-var-square-pied-piper, + "pied-piper-square": $fa-var-pied-piper-square, + "square-pinterest": $fa-var-square-pinterest, + "pinterest-square": $fa-var-pinterest-square, + "square-reddit": $fa-var-square-reddit, + "reddit-square": $fa-var-reddit-square, + "square-snapchat": $fa-var-square-snapchat, + "snapchat-square": $fa-var-snapchat-square, + "square-steam": $fa-var-square-steam, + "steam-square": $fa-var-steam-square, + "square-tumblr": $fa-var-square-tumblr, + "tumblr-square": $fa-var-tumblr-square, + "square-twitter": $fa-var-square-twitter, + "twitter-square": $fa-var-twitter-square, + "square-viadeo": $fa-var-square-viadeo, + "viadeo-square": $fa-var-viadeo-square, + "square-vimeo": $fa-var-square-vimeo, + "vimeo-square": $fa-var-vimeo-square, + "square-whatsapp": $fa-var-square-whatsapp, + "whatsapp-square": $fa-var-whatsapp-square, + "square-xing": $fa-var-square-xing, + "xing-square": $fa-var-xing-square, + "square-youtube": $fa-var-square-youtube, + "youtube-square": $fa-var-youtube-square, + "squarespace": $fa-var-squarespace, + "stack-exchange": $fa-var-stack-exchange, + "stack-overflow": $fa-var-stack-overflow, + "stackpath": $fa-var-stackpath, + "staylinked": $fa-var-staylinked, + "steam": $fa-var-steam, + "steam-symbol": $fa-var-steam-symbol, + "sticker-mule": $fa-var-sticker-mule, + "strava": $fa-var-strava, + "stripe": $fa-var-stripe, + "stripe-s": $fa-var-stripe-s, + "studiovinari": $fa-var-studiovinari, + "stumbleupon": $fa-var-stumbleupon, + "stumbleupon-circle": $fa-var-stumbleupon-circle, + "superpowers": $fa-var-superpowers, + "supple": $fa-var-supple, + "suse": $fa-var-suse, + "swift": $fa-var-swift, + "symfony": $fa-var-symfony, + "teamspeak": $fa-var-teamspeak, + "telegram": $fa-var-telegram, + "telegram-plane": $fa-var-telegram-plane, + "tencent-weibo": $fa-var-tencent-weibo, + "the-red-yeti": $fa-var-the-red-yeti, + "themeco": $fa-var-themeco, + "themeisle": $fa-var-themeisle, + "think-peaks": $fa-var-think-peaks, + "tiktok": $fa-var-tiktok, + "trade-federation": $fa-var-trade-federation, + "trello": $fa-var-trello, + "tumblr": $fa-var-tumblr, + "twitch": $fa-var-twitch, + "twitter": $fa-var-twitter, + "typo3": $fa-var-typo3, + "uber": $fa-var-uber, + "ubuntu": $fa-var-ubuntu, + "uikit": $fa-var-uikit, + "umbraco": $fa-var-umbraco, + "uncharted": $fa-var-uncharted, + "uniregistry": $fa-var-uniregistry, + "unity": $fa-var-unity, + "unsplash": $fa-var-unsplash, + "untappd": $fa-var-untappd, + "ups": $fa-var-ups, + "usb": $fa-var-usb, + "usps": $fa-var-usps, + "ussunnah": $fa-var-ussunnah, + "vaadin": $fa-var-vaadin, + "viacoin": $fa-var-viacoin, + "viadeo": $fa-var-viadeo, + "viber": $fa-var-viber, + "vimeo": $fa-var-vimeo, + "vimeo-v": $fa-var-vimeo-v, + "vine": $fa-var-vine, + "vk": $fa-var-vk, + "vnv": $fa-var-vnv, + "vuejs": $fa-var-vuejs, + "watchman-monitoring": $fa-var-watchman-monitoring, + "waze": $fa-var-waze, + "weebly": $fa-var-weebly, + "weibo": $fa-var-weibo, + "weixin": $fa-var-weixin, + "whatsapp": $fa-var-whatsapp, + "whmcs": $fa-var-whmcs, + "wikipedia-w": $fa-var-wikipedia-w, + "windows": $fa-var-windows, + "wirsindhandwerk": $fa-var-wirsindhandwerk, + "wsh": $fa-var-wsh, + "wix": $fa-var-wix, + "wizards-of-the-coast": $fa-var-wizards-of-the-coast, + "wodu": $fa-var-wodu, + "wolf-pack-battalion": $fa-var-wolf-pack-battalion, + "wordpress": $fa-var-wordpress, + "wordpress-simple": $fa-var-wordpress-simple, + "wpbeginner": $fa-var-wpbeginner, + "wpexplorer": $fa-var-wpexplorer, + "wpforms": $fa-var-wpforms, + "wpressr": $fa-var-wpressr, + "rendact": $fa-var-rendact, + "xbox": $fa-var-xbox, + "xing": $fa-var-xing, + "y-combinator": $fa-var-y-combinator, + "yahoo": $fa-var-yahoo, + "yammer": $fa-var-yammer, + "yandex": $fa-var-yandex, + "yandex-international": $fa-var-yandex-international, + "yarn": $fa-var-yarn, + "yelp": $fa-var-yelp, + "yoast": $fa-var-yoast, + "youtube": $fa-var-youtube, + "zhihu": $fa-var-zhihu, +); diff --git a/framework/reon/assets/css/fontawesome/scss/brands.scss b/framework/reon/assets/css/fontawesome/scss/brands.scss new file mode 100644 index 0000000..d371953 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/brands.scss @@ -0,0 +1,30 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +@import 'functions'; +@import 'variables'; + +:root, :host { + --#{$fa-css-prefix}-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; +} + +@font-face { + font-family: 'Font Awesome 6 Brands'; + font-style: normal; + font-weight: 400; + font-display: $fa-font-display; + src: url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'), + url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'); +} + +.fab, +.#{$fa-css-prefix}-brands { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; +} + +@each $name, $icon in $fa-brand-icons { + .#{$fa-css-prefix}-#{$name}:before { content: unquote("\"#{ $icon }\""); } +} diff --git a/framework/reon/assets/css/fontawesome/scss/fontawesome.scss b/framework/reon/assets/css/fontawesome/scss/fontawesome.scss new file mode 100644 index 0000000..b75a5b8 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/fontawesome.scss @@ -0,0 +1,21 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +// Font Awesome core compile (Web Fonts-based) +// ------------------------- + +@import 'functions'; +@import 'variables'; +@import 'mixins'; +@import 'core'; +@import 'sizing'; +@import 'fixed-width'; +@import 'list'; +@import 'bordered-pulled'; +@import 'animated'; +@import 'rotated-flipped'; +@import 'stacked'; +@import 'icons'; +@import 'screen-reader'; diff --git a/framework/reon/assets/css/fontawesome/scss/regular.scss b/framework/reon/assets/css/fontawesome/scss/regular.scss new file mode 100644 index 0000000..775fe8e --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/regular.scss @@ -0,0 +1,26 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +@import 'functions'; +@import 'variables'; + +:root, :host { + --#{$fa-css-prefix}-font-regular: normal 400 1em/1 "#{ $fa-style-family }"; +} + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 400; + font-display: $fa-font-display; + src: url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'), + url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'); +} + +.far, +.#{$fa-css-prefix}-regular { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; +} diff --git a/framework/reon/assets/css/fontawesome/scss/solid.scss b/framework/reon/assets/css/fontawesome/scss/solid.scss new file mode 100644 index 0000000..955f427 --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/solid.scss @@ -0,0 +1,26 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +@import 'functions'; +@import 'variables'; + +:root, :host { + --#{$fa-css-prefix}-font-solid: normal 900 1em/1 "#{ $fa-style-family }"; +} + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 900; + font-display: $fa-font-display; + src: url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'), + url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'); +} + +.fas, +.#{$fa-css-prefix}-solid { + font-family: 'Font Awesome 6 Free'; + font-weight: 900; +} diff --git a/framework/reon/assets/css/fontawesome/scss/v4-shims.scss b/framework/reon/assets/css/fontawesome/scss/v4-shims.scss new file mode 100644 index 0000000..e41071a --- /dev/null +++ b/framework/reon/assets/css/fontawesome/scss/v4-shims.scss @@ -0,0 +1,11 @@ +/*! + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. + */ +// V4 shims compile (Web Fonts-based) +// ------------------------- + +@import 'functions'; +@import 'variables'; +@import 'shims'; diff --git a/framework/reon/assets/css/fontawesome/webfonts/fa-brands-400.ttf b/framework/reon/assets/css/fontawesome/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000..24ca8b1 Binary files /dev/null and b/framework/reon/assets/css/fontawesome/webfonts/fa-brands-400.ttf differ diff --git a/framework/reon/assets/css/fontawesome/webfonts/fa-brands-400.woff2 b/framework/reon/assets/css/fontawesome/webfonts/fa-brands-400.woff2 new file mode 100644 index 0000000..e67e5cd Binary files /dev/null and b/framework/reon/assets/css/fontawesome/webfonts/fa-brands-400.woff2 differ diff --git a/framework/reon/assets/css/fontawesome/webfonts/fa-regular-400.ttf b/framework/reon/assets/css/fontawesome/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000..c5ac009 Binary files /dev/null and b/framework/reon/assets/css/fontawesome/webfonts/fa-regular-400.ttf differ diff --git a/framework/reon/assets/css/fontawesome/webfonts/fa-regular-400.woff2 b/framework/reon/assets/css/fontawesome/webfonts/fa-regular-400.woff2 new file mode 100644 index 0000000..7dca1d9 Binary files /dev/null and b/framework/reon/assets/css/fontawesome/webfonts/fa-regular-400.woff2 differ diff --git a/framework/reon/assets/css/fontawesome/webfonts/fa-solid-900.ttf b/framework/reon/assets/css/fontawesome/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000..43ba1cc Binary files /dev/null and b/framework/reon/assets/css/fontawesome/webfonts/fa-solid-900.ttf differ diff --git a/framework/reon/assets/css/fontawesome/webfonts/fa-solid-900.woff2 b/framework/reon/assets/css/fontawesome/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000..4a7f966 Binary files /dev/null and b/framework/reon/assets/css/fontawesome/webfonts/fa-solid-900.woff2 differ diff --git a/framework/reon/assets/css/fontawesome/webfonts/fa-v4compatibility.ttf b/framework/reon/assets/css/fontawesome/webfonts/fa-v4compatibility.ttf new file mode 100644 index 0000000..243bc25 Binary files /dev/null and b/framework/reon/assets/css/fontawesome/webfonts/fa-v4compatibility.ttf differ diff --git a/framework/reon/assets/css/fontawesome/webfonts/fa-v4compatibility.woff2 b/framework/reon/assets/css/fontawesome/webfonts/fa-v4compatibility.woff2 new file mode 100644 index 0000000..e18a16d Binary files /dev/null and b/framework/reon/assets/css/fontawesome/webfonts/fa-v4compatibility.woff2 differ diff --git a/framework/reon/assets/css/images/spinner.gif b/framework/reon/assets/css/images/spinner.gif new file mode 100644 index 0000000..209d10b Binary files /dev/null and b/framework/reon/assets/css/images/spinner.gif differ diff --git a/framework/reon/assets/css/jquery-ui.min.css b/framework/reon/assets/css/jquery-ui.min.css new file mode 100644 index 0000000..b1790d1 --- /dev/null +++ b/framework/reon/assets/css/jquery-ui.min.css @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.12.1 - 2017-05-07 +* http://jqueryui.com +* Includes: draggable.css, core.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} \ No newline at end of file diff --git a/framework/reon/assets/css/nouislider.css b/framework/reon/assets/css/nouislider.css new file mode 100644 index 0000000..c512f34 --- /dev/null +++ b/framework/reon/assets/css/nouislider.css @@ -0,0 +1,165 @@ + +/* Functional styling; + * These styles are required for noUiSlider to function. + * You don't need to change these rules to apply your design. + */ +.noUi-target, +.noUi-target * { +-webkit-touch-callout: none; +-webkit-user-select: none; +-ms-touch-action: none; + touch-action: none; +-ms-user-select: none; +-moz-user-select: none; + user-select: none; +-moz-box-sizing: border-box; + box-sizing: border-box; +} +.noUi-target { + position: relative; + direction: ltr; +} +.noUi-base { + width: 100%; + height: 100%; + position: relative; + z-index: 1; /* Fix 401 */ +} +.noUi-origin { + position: absolute; + right: 0; + top: 0; + left: 0; + bottom: 0; +} +.noUi-handle { + position: relative; + z-index: 1; +} +.noUi-stacking .noUi-handle { +/* This class is applied to the lower origin when + its values is > 50%. */ + z-index: 10; +} +.noUi-state-tap .noUi-origin { +-webkit-transition: left 0.3s, top 0.3s; + transition: left 0.3s, top 0.3s; +} +.noUi-state-drag * { + cursor: inherit !important; +} + +/* Painting and performance; + * Browsers can paint handles in their own layer. + */ +.noUi-base, +.noUi-handle { + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); +} + +/* Slider size and handle placement; + */ +.noUi-horizontal { + height: 18px; +} +.noUi-horizontal .noUi-handle { + width: 34px; + height: 28px; + left: -17px; + top: -6px; +} +.noUi-vertical { + width: 18px; +} +.noUi-vertical .noUi-handle { + width: 28px; + height: 34px; + left: -6px; + top: -17px; +} + +/* Styling; + */ +.noUi-background { + background: #FAFAFA; + box-shadow: inset 0 1px 1px #f0f0f0; +} +.noUi-connect { + background: #3FB8AF; + box-shadow: inset 0 0 3px rgba(51,51,51,0.45); +-webkit-transition: background 450ms; + transition: background 450ms; +} +.noUi-origin { + border-radius: 2px; +} +.noUi-target { + border-radius: 4px; + border: 1px solid #D3D3D3; + box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; +} +.noUi-target.noUi-connect { + box-shadow: inset 0 0 3px rgba(51,51,51,0.45), 0 3px 6px -5px #BBB; +} + +/* Handles and cursors; + */ +.noUi-draggable { + cursor: w-resize; +} +.noUi-vertical .noUi-draggable { + cursor: n-resize; +} +.noUi-handle { + border: 1px solid #D9D9D9; + border-radius: 3px; + background: #FFF; + cursor: default; + box-shadow: inset 0 0 1px #FFF, + inset 0 1px 7px #EBEBEB, + 0 3px 6px -3px #BBB; +} +.noUi-active { + box-shadow: inset 0 0 1px #FFF, + inset 0 1px 7px #DDD, + 0 3px 6px -3px #BBB; +} + +/* Handle stripes; + */ +.noUi-handle:before, +.noUi-handle:after { + content: ""; + display: block; + position: absolute; + height: 14px; + width: 1px; + background: #E8E7E6; + left: 14px; + top: 6px; +} +.noUi-handle:after { + left: 17px; +} +.noUi-vertical .noUi-handle:before, +.noUi-vertical .noUi-handle:after { + width: 14px; + height: 1px; + left: 6px; + top: 14px; +} +.noUi-vertical .noUi-handle:after { + top: 17px; +} + +/* Disabled state; + */ +[disabled].noUi-connect, +[disabled] .noUi-connect { + background: #B8B8B8; +} +[disabled].noUi-origin, +[disabled] .noUi-handle { + cursor: not-allowed; +} diff --git a/framework/reon/assets/css/nouislider.min.css b/framework/reon/assets/css/nouislider.min.css new file mode 100644 index 0000000..e1da5f0 --- /dev/null +++ b/framework/reon/assets/css/nouislider.min.css @@ -0,0 +1,4 @@ +/*! nouislider - 8.5.1 - 2016-04-24 16:00:30 */ + + +.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base{width:100%;height:100%;position:relative;z-index:1}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-handle{position:relative;z-index:1}.noUi-stacking .noUi-handle{z-index:10}.noUi-state-tap .noUi-origin{-webkit-transition:left .3s,top .3s;transition:left .3s,top .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-base,.noUi-handle{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-background{background:#FAFAFA;box-shadow:inset 0 1px 1px #f0f0f0}.noUi-connect{background:#3FB8AF;box-shadow:inset 0 0 3px rgba(51,51,51,.45);-webkit-transition:background 450ms;transition:background 450ms}.noUi-origin{border-radius:2px}.noUi-target{border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-target.noUi-connect{box-shadow:inset 0 0 3px rgba(51,51,51,.45),0 3px 6px -5px #BBB}.noUi-draggable{cursor:w-resize}.noUi-vertical .noUi-draggable{cursor:n-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect,[disabled].noUi-connect{background:#B8B8B8}[disabled] .noUi-handle,[disabled].noUi-origin{cursor:not-allowed}.noUi-pips,.noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#CCC}.noUi-marker-large,.noUi-marker-sub{background:#AAA}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate3d(-50%,50%,0);transform:translate3d(-50%,50%,0)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0);padding-left:25px}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #D9D9D9;border-radius:3px;background:#fff;padding:5px;text-align:center}.noUi-horizontal .noUi-handle-lower .noUi-tooltip{top:-32px}.noUi-horizontal .noUi-handle-upper .noUi-tooltip{bottom:-32px}.noUi-vertical .noUi-handle-lower .noUi-tooltip{left:120%}.noUi-vertical .noUi-handle-upper .noUi-tooltip{right:120%} \ No newline at end of file diff --git a/framework/reon/assets/css/spectrum.css b/framework/reon/assets/css/spectrum.css new file mode 100644 index 0000000..a8ad9e4 --- /dev/null +++ b/framework/reon/assets/css/spectrum.css @@ -0,0 +1,507 @@ +/*** +Spectrum Colorpicker v1.8.0 +https://github.com/bgrins/spectrum +Author: Brian Grinstead +License: MIT +***/ + +.sp-container { + position:absolute; + top:0; + left:0; + display:inline-block; + *display: inline; + *zoom: 1; + /* https://github.com/bgrins/spectrum/issues/40 */ + z-index: 9999994; + overflow: hidden; +} +.sp-container.sp-flat { + position: relative; +} + +/* Fix for * { box-sizing: border-box; } */ +.sp-container, +.sp-container * { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +/* http://ansciath.tumblr.com/post/7347495869/css-aspect-ratio */ +.sp-top { + position:relative; + width: 100%; + display:inline-block; +} +.sp-top-inner { + position:absolute; + top:0; + left:0; + bottom:0; + right:0; +} +.sp-color { + position: absolute; + top:0; + left:0; + bottom:0; + right:20%; +} +.sp-hue { + position: absolute; + top:0; + right:0; + bottom:0; + left:84%; + height: 100%; +} + +.sp-clear-enabled .sp-hue { + top:33px; + height: 77.5%; +} + +.sp-fill { + padding-top: 80%; +} +.sp-sat, .sp-val { + position: absolute; + top:0; + left:0; + right:0; + bottom:0; +} + +.sp-alpha-enabled .sp-top { + margin-bottom: 18px; +} +.sp-alpha-enabled .sp-alpha { + display: block; +} +.sp-alpha-handle { + position:absolute; + top:-4px; + bottom: -4px; + width: 6px; + left: 50%; + cursor: pointer; + border: 1px solid black; + background: white; + opacity: .8; +} +.sp-alpha { + display: none; + position: absolute; + bottom: -14px; + right: 0; + left: 0; + height: 8px; +} +.sp-alpha-inner { + border: solid 1px #333; +} + +.sp-clear { + display: none; +} + +.sp-clear.sp-clear-display { + background-position: center; +} + +.sp-clear-enabled .sp-clear { + display: block; + position:absolute; + top:0px; + right:0; + bottom:0; + left:84%; + height: 28px; +} + +/* Don't allow text selection */ +.sp-container, .sp-replacer, .sp-preview, .sp-dragger, .sp-slider, .sp-alpha, .sp-clear, .sp-alpha-handle, .sp-container.sp-dragging .sp-input, .sp-container button { + -webkit-user-select:none; + -moz-user-select: -moz-none; + -o-user-select:none; + user-select: none; +} + +.sp-container.sp-input-disabled .sp-input-container { + display: none; +} +.sp-container.sp-buttons-disabled .sp-button-container { + display: none; +} +.sp-container.sp-palette-buttons-disabled .sp-palette-button-container { + display: none; +} +.sp-palette-only .sp-picker-container { + display: none; +} +.sp-palette-disabled .sp-palette-container { + display: none; +} + +.sp-initial-disabled .sp-initial { + display: none; +} + + +/* Gradients for hue, saturation and value instead of images. Not pretty... but it works */ +.sp-sat { + background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#FFF), to(rgba(204, 154, 129, 0))); + background-image: -webkit-linear-gradient(left, #FFF, rgba(204, 154, 129, 0)); + background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); + background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); + background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); + background-image: linear-gradient(to right, #fff, rgba(204, 154, 129, 0)); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)"; + filter : progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81'); +} +.sp-val { + background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#000000), to(rgba(204, 154, 129, 0))); + background-image: -webkit-linear-gradient(bottom, #000000, rgba(204, 154, 129, 0)); + background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); + background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); + background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); + background-image: linear-gradient(to top, #000, rgba(204, 154, 129, 0)); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)"; + filter : progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000'); +} + +.sp-hue { + background: -moz-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); + background: -ms-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); + background: -o-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); + background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), color-stop(0.17, #ffff00), color-stop(0.33, #00ff00), color-stop(0.5, #00ffff), color-stop(0.67, #0000ff), color-stop(0.83, #ff00ff), to(#ff0000)); + background: -webkit-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); + background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); +} + +/* IE filters do not support multiple color stops. + Generate 6 divs, line them up, and do two color gradients for each. + Yes, really. + */ +.sp-1 { + height:17%; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00'); +} +.sp-2 { + height:16%; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00'); +} +.sp-3 { + height:17%; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff'); +} +.sp-4 { + height:17%; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff'); +} +.sp-5 { + height:16%; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff'); +} +.sp-6 { + height:17%; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000'); +} + +.sp-hidden { + display: none !important; +} + +/* Clearfix hack */ +.sp-cf:before, .sp-cf:after { content: ""; display: table; } +.sp-cf:after { clear: both; } +.sp-cf { *zoom: 1; } + +/* Mobile devices, make hue slider bigger so it is easier to slide */ +@media (max-device-width: 480px) { + .sp-color { right: 40%; } + .sp-hue { left: 63%; } + .sp-fill { padding-top: 60%; } +} +.sp-dragger { + border-radius: 5px; + height: 5px; + width: 5px; + border: 1px solid #fff; + background: #000; + cursor: pointer; + position:absolute; + top:0; + left: 0; +} +.sp-slider { + position: absolute; + top:0; + cursor:pointer; + height: 3px; + left: -1px; + right: -1px; + border: 1px solid #000; + background: white; + opacity: .8; +} + +/* +Theme authors: +Here are the basic themeable display options (colors, fonts, global widths). +See http://bgrins.github.io/spectrum/themes/ for instructions. +*/ + +.sp-container { + border-radius: 0; + background-color: #ECECEC; + border: solid 1px #f0c49B; + padding: 0; +} +.sp-container, .sp-container button, .sp-container input, .sp-color, .sp-hue, .sp-clear { + font: normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; +} +.sp-top { + margin-bottom: 3px; +} +.sp-color, .sp-hue, .sp-clear { + border: solid 1px #666; +} + +/* Input */ +.sp-input-container { + float:right; + width: 100px; + margin-bottom: 4px; +} +.sp-initial-disabled .sp-input-container { + width: 100%; +} +.sp-input { + font-size: 12px !important; + border: 1px inset; + padding: 4px 5px; + margin: 0; + width: 100%; + background:transparent; + border-radius: 3px; + color: #222; +} +.sp-input:focus { + border: 1px solid orange; +} +.sp-input.sp-validation-error { + border: 1px solid red; + background: #fdd; +} +.sp-picker-container , .sp-palette-container { + float:left; + position: relative; + padding: 10px; + padding-bottom: 300px; + margin-bottom: -290px; +} +.sp-picker-container { + width: 172px; + border-left: solid 1px #fff; +} + +/* Palettes */ +.sp-palette-container { + border-right: solid 1px #ccc; +} + +.sp-palette-only .sp-palette-container { + border: 0; +} + +.sp-palette .sp-thumb-el { + display: block; + position:relative; + float:left; + width: 24px; + height: 15px; + margin: 3px; + cursor: pointer; + border:solid 2px transparent; +} +.sp-palette .sp-thumb-el:hover, .sp-palette .sp-thumb-el.sp-thumb-active { + border-color: orange; +} +.sp-thumb-el { + position:relative; +} + +/* Initial */ +.sp-initial { + float: left; + border: solid 1px #333; +} +.sp-initial span { + width: 30px; + height: 25px; + border:none; + display:block; + float:left; + margin:0; +} + +.sp-initial .sp-clear-display { + background-position: center; +} + +/* Buttons */ +.sp-palette-button-container, +.sp-button-container { + float: right; +} + +/* Replacer (the little preview div that shows up instead of the ) */ +.sp-replacer { + margin:0; + overflow:hidden; + cursor:pointer; + padding: 4px; + display:inline-block; + *zoom: 1; + *display: inline; + border: solid 1px #91765d; + background: #eee; + color: #333; + vertical-align: middle; +} +.sp-replacer:hover, .sp-replacer.sp-active { + border-color: #F0C49B; + color: #111; +} +.sp-replacer.sp-disabled { + cursor:default; + border-color: silver; + color: silver; +} +.sp-dd { + padding: 2px 0; + height: 16px; + line-height: 16px; + float:left; + font-size:10px; +} +.sp-preview { + position:relative; + width:25px; + height: 20px; + border: solid 1px #222; + margin-right: 5px; + float:left; + z-index: 0; +} + +.sp-palette { + *width: 220px; + max-width: 220px; +} +.sp-palette .sp-thumb-el { + width:16px; + height: 16px; + margin:2px 1px; + border: solid 1px #d0d0d0; +} + +.sp-container { + padding-bottom:0; +} + + +/* Buttons: http://hellohappy.org/css3-buttons/ */ +.sp-container button { + background-color: #eeeeee; + background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc); + background-image: -moz-linear-gradient(top, #eeeeee, #cccccc); + background-image: -ms-linear-gradient(top, #eeeeee, #cccccc); + background-image: -o-linear-gradient(top, #eeeeee, #cccccc); + background-image: linear-gradient(to bottom, #eeeeee, #cccccc); + border: 1px solid #ccc; + border-bottom: 1px solid #bbb; + border-radius: 3px; + color: #333; + font-size: 14px; + line-height: 1; + padding: 5px 4px; + text-align: center; + text-shadow: 0 1px 0 #eee; + vertical-align: middle; +} +.sp-container button:hover { + background-color: #dddddd; + background-image: -webkit-linear-gradient(top, #dddddd, #bbbbbb); + background-image: -moz-linear-gradient(top, #dddddd, #bbbbbb); + background-image: -ms-linear-gradient(top, #dddddd, #bbbbbb); + background-image: -o-linear-gradient(top, #dddddd, #bbbbbb); + background-image: linear-gradient(to bottom, #dddddd, #bbbbbb); + border: 1px solid #bbb; + border-bottom: 1px solid #999; + cursor: pointer; + text-shadow: 0 1px 0 #ddd; +} +.sp-container button:active { + border: 1px solid #aaa; + border-bottom: 1px solid #888; + -webkit-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; + -moz-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; + -ms-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; + -o-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; + box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; +} +.sp-cancel { + font-size: 11px; + color: #d93f3f !important; + margin:0; + padding:2px; + margin-right: 5px; + vertical-align: middle; + text-decoration:none; + +} +.sp-cancel:hover { + color: #d93f3f !important; + text-decoration: underline; +} + + +.sp-palette span:hover, .sp-palette span.sp-thumb-active { + border-color: #000; +} + +.sp-preview, .sp-alpha, .sp-thumb-el { + position:relative; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); +} +.sp-preview-inner, .sp-alpha-inner, .sp-thumb-inner { + display:block; + position:absolute; + top:0;left:0;bottom:0;right:0; +} + +.sp-palette .sp-thumb-inner { + background-position: 50% 50%; + background-repeat: no-repeat; +} + +.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=); +} + +.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=); +} + +.sp-clear-display { + background-repeat:no-repeat; + background-position: center; + background-image: url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==); +} diff --git a/framework/reon/assets/css/tipTip.css b/framework/reon/assets/css/tipTip.css new file mode 100644 index 0000000..4fb95d3 --- /dev/null +++ b/framework/reon/assets/css/tipTip.css @@ -0,0 +1,113 @@ +/* TipTip CSS - Version 1.2 */ + +#tiptip_holder { + display: none; + position: absolute; + top: 0; + left: 0; + z-index: 99999; +} + +#tiptip_holder.tip_top { + padding-bottom: 5px; +} + +#tiptip_holder.tip_bottom { + padding-top: 5px; +} + +#tiptip_holder.tip_right { + padding-left: 5px; +} + +#tiptip_holder.tip_left { + padding-right: 5px; +} + +#tiptip_content { + font-size: 11px; + color: #fff; + text-shadow: 0 0 2px #000; + padding: 4px 8px; + border: 1px solid rgba(255,255,255,0.25); + background-color: rgb(25,25,25); + background-color: rgba(25,25,25,0.92); + background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(transparent), to(#000)); + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + box-shadow: 0 0 3px #555; + -webkit-box-shadow: 0 0 3px #555; + -moz-box-shadow: 0 0 3px #555; +} + +#tiptip_arrow, #tiptip_arrow_inner { + position: absolute; + border-color: transparent; + border-style: solid; + border-width: 6px; + height: 0; + width: 0; +} + +#tiptip_holder.tip_top #tiptip_arrow { + border-top-color: #fff; + border-top-color: rgba(255,255,255,0.35); +} + +#tiptip_holder.tip_bottom #tiptip_arrow { + border-bottom-color: #fff; + border-bottom-color: rgba(255,255,255,0.35); +} + +#tiptip_holder.tip_right #tiptip_arrow { + border-right-color: #fff; + border-right-color: rgba(255,255,255,0.35); +} + +#tiptip_holder.tip_left #tiptip_arrow { + border-left-color: #fff; + border-left-color: rgba(255,255,255,0.35); +} + +#tiptip_holder.tip_top #tiptip_arrow_inner { + margin-top: -7px; + margin-left: -6px; + border-top-color: rgb(25,25,25); + border-top-color: rgba(25,25,25,0.92); +} + +#tiptip_holder.tip_bottom #tiptip_arrow_inner { + margin-top: -5px; + margin-left: -6px; + border-bottom-color: rgb(25,25,25); + border-bottom-color: rgba(25,25,25,0.92); +} + +#tiptip_holder.tip_right #tiptip_arrow_inner { + margin-top: -6px; + margin-left: -5px; + border-right-color: rgb(25,25,25); + border-right-color: rgba(25,25,25,0.92); +} + +#tiptip_holder.tip_left #tiptip_arrow_inner { + margin-top: -6px; + margin-left: -7px; + border-left-color: rgb(25,25,25); + border-left-color: rgba(25,25,25,0.92); +} + +/* Webkit Hacks */ +@media screen and (-webkit-min-device-pixel-ratio:0) { + #tiptip_content { + padding: 4px 8px 5px 8px; + background-color: rgba(45,45,45,0.88); + } + #tiptip_holder.tip_bottom #tiptip_arrow_inner { + border-bottom-color: rgba(45,45,45,0.88); + } + #tiptip_holder.tip_top #tiptip_arrow_inner { + border-top-color: rgba(20,20,20,0.92); + } +} \ No newline at end of file diff --git a/framework/reon/assets/js/buttonset.js b/framework/reon/assets/js/buttonset.js new file mode 100644 index 0000000..7c6e2c5 --- /dev/null +++ b/framework/reon/assets/js/buttonset.js @@ -0,0 +1,122 @@ +(function ($) { +"use strict"; + $.fn.buttonset = function (options) { + + + + return this.each(function () { + // Default options. + + var settings = $.extend({ + multiple: false, + }, options); + + var obj = $(this); + var opt = settings; + prepere_options(obj); + + obj.find('.rn-opt-set').disableSelection(); + + if (opt.multiple == true) { + obj.find('.rn-opt-set').on('click', function (event) { + event.preventDefault(); + var btn = $(this); + if (btn.hasClass('opt-off')) { + btn.addClass('active'); + obj.find('input').each(function () { + var inpt = $(this); + if (inpt.hasClass('rn-opt-empty')) { + inpt.attr('id', inpt.attr('data-opt-id')); + inpt.attr('name', inpt.attr('data-opt-name')); + inpt.attr('data-opt-active', true); + inpt.val(inpt.attr('data-value')); + inpt.trigger('change'); + } else { + btn.siblings().removeClass('active'); + inpt.removeAttr('id'); + inpt.removeAttr('name'); + inpt.attr('data-opt-active', false); + inpt.val(''); + inpt.trigger('change'); + } + }); + } else { + + if (btn.hasClass('active')) { + btn.removeClass('active'); + var btn_id = btn.attr('data-optbtn'); + obj.find('input').each(function () { + var inpt = $(this); + if (inpt.attr('data-optbtn') == btn_id) { + inpt.removeAttr('id'); + inpt.removeAttr('name'); + inpt.attr('data-opt-active', false); + inpt.val(''); + inpt.trigger('change'); + } + }); + + if (obj.find('.active').length <= 0) { + btn.siblings('.opt-off').addClass('active'); + var empt = obj.find('.rn-opt-empty'); + empt.attr('id', empt.attr('data-opt-id')); + empt.attr('name', empt.attr('data-opt-name')); + empt.attr('data-opt-active', true); + empt.val(empt.attr('data-value')); + empt.trigger('change'); + } + } else { + btn.siblings('.opt-off').removeClass('active'); + btn.addClass('active'); + var btn_id = btn.attr('data-optbtn'); + obj.find('input').each(function () { + var inpt = $(this); + if (inpt.attr('data-optbtn') == btn_id) { + inpt.attr('id', inpt.attr('data-opt-id')); + inpt.attr('name', inpt.attr('data-opt-name')); + inpt.attr('data-opt-active', true); + inpt.val(btn.attr('data-value')); + inpt.trigger('change'); + } + }); + + var empt = obj.find('.rn-opt-empty'); + empt.removeAttr('id'); + empt.removeAttr('name'); + empt.attr('data-opt-active', false); + empt.val(''); + empt.trigger('change'); + } + + } + + + + }); + } else { + obj.find('.rn-opt-set').on('click', function (event) { + event.preventDefault(); + var btn = $(this); + btn.siblings(".rn-opt-set").removeClass('active'); + btn.addClass('active'); + + var inp = obj.find('.rn-opt-value'); + if (inp.length == 1) { + inp.val(btn.attr('data-value')); + inp.trigger('change'); + } + }); + } + + + function prepere_options(optobj) { + if (optobj.attr('data-multiple') && optobj.attr('data-multiple') == 'true') { + opt.multiple = true; + } + } + }); + + + }; + +}(jQuery)); \ No newline at end of file diff --git a/framework/reon/assets/js/foldjs.js b/framework/reon/assets/js/foldjs.js new file mode 100644 index 0000000..011b9b0 --- /dev/null +++ b/framework/reon/assets/js/foldjs.js @@ -0,0 +1,290 @@ +(function($) { + "use strict"; + $.fn.foldjs = function(options) { + + return this.each(function() { + var settings = $.extend({ + parents_selector: '.rn-container,.rn-repeater-section', + folded_class: 'rn-folded', + fold_target: '', + fold_target_attr: 'value', + fold_value: [''], + fold_comp: 'eq', + fold_clear: false, + fold_empty: '', + fold_changed: null + }, options); + var obj = $(this); + var opt = settings; + prepere_options(obj); + + var fold_target; + var should_fade = true; + if (obj) { + + var fold_target = get_fold_target(opt.fold_target); + + fold_target.on('change', function() { + do_fold(); + + }); + fold_target.on('rnv_change', function() { + do_fold(); + }); + do_fold(); + + } + + function do_fold() { + + var fold_target_value; + + var obj_prev_value = obj.attr('data-fold-prev'); + + if (opt.fold_target_attr == 'value') { + + fold_target_value = fold_target.val(); + } else { + + fold_target_value = fold_target.attr(opt.fold_target_attr); + } + + + if (!obj_prev_value) { + + target_value_changed(fold_target_value); + + obj.attr('data-fold-prev', fold_target_value); + } else if (obj_prev_value != fold_target_value) { + + target_value_changed(fold_target_value); + + obj.attr('data-fold-prev', fold_target_value); + } + + } + + function target_value_changed(new_value) { + + var changed = false; + if ($.isArray(opt.fold_value)) { + for (var i = 0; i < opt.fold_value.length; i++) { + if (check_data(new_value, opt.fold_value[i]) == true) { + changed = true; + } + } + + } else if ($.type(opt.fold_value) === "string") { + if (check_data(new_value, opt.fold_value) == true) { + changed = true; + } + } + visible_changed(!changed); + } + + function visible_changed(visible) { + + if (visible == true) { + if (should_fade == true) { + + var bck_style = obj.attr('style'); + + obj.stop(true, true).fadeOut(300, function() { + obj.addClass(opt.folded_class); + obj.parents('.rn-fluid-width').addClass('rn-fluid-width-folded'); + if (obj.hasClass('rn-ui-section')) { + process_prev_last(); + } + if ($.isFunction(opt.fold_changed)) { + opt.fold_changed(obj); + } + + obj.removeAttr('style'); + if (bck_style) { + obj.attr('style', bck_style); + } + }); + } else { + obj.addClass(opt.folded_class); + obj.parents('.rn-fluid-width').addClass('rn-fluid-width-folded'); + if (obj.hasClass('rn-ui-section')) { + process_prev_last(); + } + if ($.isFunction(opt.fold_changed)) { + opt.fold_changed(obj); + } + } + + if (is_input() == true && opt.fold_clear == true) { + + obj.val(opt.fold_empty); + + obj.trigger('change'); + } + + + } else { + if (should_fade == true) { + var bck_style = obj.attr('style'); + obj.stop(true, true).fadeIn(300, function() { + obj.removeClass(opt.folded_class); + obj.parents('.rn-fluid-width').removeClass('rn-fluid-width-folded'); + if (obj.hasClass('rn-ui-section')) { + process_prev_last(); + } + if ($.isFunction(opt.fold_changed)) { + opt.fold_changed(obj); + } + obj.removeAttr('style'); + if (bck_style) { + obj.attr('style', bck_style); + } + }); + } else { + obj.removeClass(opt.folded_class); + obj.parents('.rn-fluid-width').removeClass('rn-fluid-width-folded'); + if (obj.hasClass('rn-ui-section')) { + process_prev_last(); + } + if ($.isFunction(opt.fold_changed)) { + opt.fold_changed(obj); + } + } + + } + } + + function process_prev_last() { + + var p_obj = obj.parent(); + + p_obj.children().removeClass('rn-fold-last'); + + var prev_obj; + + var p_chrildren = p_obj.children(); + + var p_c_l = 0; + if (p_chrildren.length) { + p_c_l = p_chrildren.length - 1; + } + var found = false; + + for (var i = p_c_l; i >= 0; i--) { + if (found == true) { + break; + } + + var c_obj = $(p_chrildren[i]); + if (!c_obj.hasClass(opt.folded_class)) { + prev_obj = c_obj; + found = true; + } + + } + + if (found == true) { + prev_obj.addClass('rn-fold-last'); + } + + + } + + function check_data(new_value, f_data) { + + if (opt.fold_comp == 'eq' && new_value == f_data) { + return true; + } + + if (opt.fold_comp == 'neq' && new_value != f_data) { + return true; + } + + if (opt.fold_comp == 'gt_eq' && parseFloat(new_value) >= parseFloat(f_data)) { + return true; + } + + if (opt.fold_comp == 'lt_eq' && parseFloat(new_value) <= parseFloat(f_data)) { + return true; + } + + if (opt.fold_comp == 'lt' && parseFloat(new_value) < parseFloat(f_data)) { + return true; + } + + if (opt.fold_comp == 'gt' && parseFloat(new_value) > parseFloat(f_data)) { + return true; + } + + return false; + } + + function get_fold_target(target_id) { + + + var parents = obj.parents(opt.parents_selector); + for (var i = 0; i < parents.length; i++) { + var parent = $(parents[i]); + var target = parent.find('[data-fold-id="' + target_id + '"]'); + + if (target.length > 0) { + return $(target[0]); + } + + } + + return $('#' + target_id); + } + + function is_input() { + + var tagname = obj.prop("tagName").toLowerCase(); + if (tagname == 'input' || tagname == 'select' || tagname == 'textarea') { + return true; + } + return false; + } + + + function prepere_options(optobj) { + + if (optobj.attr('data-fold-target')) { + opt.fold_target = optobj.attr('data-fold-target'); + } + + if (optobj.attr('data-fold-target-attr')) { + opt.fold_target_attr = optobj.attr('data-fold-target-attr'); + } + + if (optobj.attr('data-fold-value')) { + var vl = get_fold_value(optobj.attr('data-fold-value')); + opt.fold_value = vl; + } else { + opt.fold_value = ['']; + } + + if (optobj.attr('data-fold-comp')) { + opt.fold_comp = optobj.attr('data-fold-comp'); + } + + if (optobj.attr('data-fold-clear') && optobj.attr('data-fold-clear') == 'true') { + opt.fold_clear = true; + } + + if (optobj.attr('data-fold-empty')) { + opt.fold_empty = optobj.attr('data-fold-empty'); + } + } + + function get_fold_value(vl) { + var str = vl.replace(/\[|\]|'/g, ""); + var ar = str.split(","); + if (ar.length > 0) { + return ar; + } + return ['']; + } + }); + }; + +}(jQuery)); diff --git a/framework/reon/assets/js/jquery-serializeForm.js b/framework/reon/assets/js/jquery-serializeForm.js new file mode 100644 index 0000000..62e8101 --- /dev/null +++ b/framework/reon/assets/js/jquery-serializeForm.js @@ -0,0 +1,58 @@ +/*! jquery-serializeForm - v1.2.1 - 2013-11-06 + * http://danheberden.com/ + * Copyright (c) 2013 Dan Heberden + * Licensed MIT +**/ +(function( $ ){ + $.fn.serializeForm = function() { + + // don't do anything if we didn't get any elements + if ( this.length < 1) { + return false; + } + + var data = {}; + var lookup = data; //current reference of data + var selector = ':input[type!="checkbox"][type!="radio"], input:checked'; + var parse = function() { + + // Ignore disabled elements + if (this.disabled) { + return; + } + + // data[a][b] becomes [ data, a, b ] + var named = this.name.replace(/\[([^\]]+)?\]/g, ',$1').split(','); + var cap = named.length - 1; + var $el = $( this ); + + // Ensure that only elements with valid `name` properties will be serialized + if ( named[ 0 ] ) { + for ( var i = 0; i < cap; i++ ) { + // move down the tree - create objects or array if necessary + lookup = lookup[ named[i] ] = lookup[ named[i] ] || + ( (named[ i + 1 ] === "" || named[ i + 1 ] === '0') ? [] : {} ); + } + + // at the end, push or assign the value + if ( lookup.length !== undefined ) { + lookup.push( $el.val() ); + }else { + lookup[ named[ cap ] ] = $el.val(); + } + + // assign the reference back to root + lookup = data; + } + }; + + // first, check for elements passed into this function + this.filter( selector ).each( parse ); + + // then parse possible child elements + this.find( selector ).each( parse ); + + // return data + return data; + }; +}( jQuery )); diff --git a/framework/reon/assets/js/jquery-serializeForm.min.js b/framework/reon/assets/js/jquery-serializeForm.min.js new file mode 100644 index 0000000..1e004a7 --- /dev/null +++ b/framework/reon/assets/js/jquery-serializeForm.min.js @@ -0,0 +1,6 @@ +/*! jquery-serializeForm - v1.2.1 - 2013-11-06 + * http://danheberden.com/ + * Copyright (c) 2013 Dan Heberden + * Licensed MIT +**/ +!function(a){a.fn.serializeForm=function(){if(this.length<1)return!1;var b={},c=b,d=':input[type!="checkbox"][type!="radio"], input:checked',e=function(){if(!this.disabled){var d=this.name.replace(/\[([^\]]+)?\]/g,",$1").split(","),e=d.length-1,f=a(this);if(d[0]){for(var g=0;e>g;g++)c=c[d[g]]=c[d[g]]||(""===d[g+1]||"0"===d[g+1]?[]:{});void 0!==c.length?c.push(f.val()):c[d[e]]=f.val(),c=b}}};return this.filter(d).each(e),this.find(d).each(e),b}}(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/jquery.tipTip.js b/framework/reon/assets/js/jquery.tipTip.js new file mode 100644 index 0000000..7eacf35 --- /dev/null +++ b/framework/reon/assets/js/jquery.tipTip.js @@ -0,0 +1,191 @@ + /* + * TipTip + * Copyright 2010 Drew Wilson + * www.drewwilson.com + * code.drewwilson.com/entry/tiptip-jquery-plugin + * + * Version 1.3 - Updated: Mar. 23, 2010 + * + * This Plug-In will create a custom tooltip to replace the default + * browser tooltip. It is extremely lightweight and very smart in + * that it detects the edges of the browser window and will make sure + * the tooltip stays within the current window size. As a result the + * tooltip will adjust itself to be displayed above, below, to the left + * or to the right depending on what is necessary to stay within the + * browser window. It is completely customizable as well via CSS. + * + * This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + +(function($){ + $.fn.tipTip = function(options) { + var defaults = { + activation: "hover", + keepAlive: false, + maxWidth: "200px", + edgeOffset: 3, + defaultPosition: "bottom", + delay: 400, + fadeIn: 200, + fadeOut: 200, + attribute: "title", + content: false, // HTML or String to fill TipTIp with + enter: function(){}, + exit: function(){} + }; + var opts = $.extend(defaults, options); + + // Setup tip tip elements and render them to the DOM + if($("#tiptip_holder").length <= 0){ + var tiptip_holder = $('
'); + var tiptip_content = $('
'); + var tiptip_arrow = $('
'); + $("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('
'))); + } else { + var tiptip_holder = $("#tiptip_holder"); + var tiptip_content = $("#tiptip_content"); + var tiptip_arrow = $("#tiptip_arrow"); + } + + return this.each(function(){ + var org_elem = $(this); + if(opts.content){ + var org_title = opts.content; + } else { + var org_title = org_elem.attr(opts.attribute); + } + if(org_title != ""){ + if(!opts.content){ + org_elem.removeAttr(opts.attribute); //remove original Attribute + } + var timeout = false; + + if(opts.activation == "hover"){ + org_elem.hover(function(){ + active_tiptip(); + }, function(){ + if(!opts.keepAlive){ + deactive_tiptip(); + } + }); + if(opts.keepAlive){ + tiptip_holder.hover(function(){}, function(){ + deactive_tiptip(); + }); + } + } else if(opts.activation == "focus"){ + org_elem.focus(function(){ + active_tiptip(); + }).blur(function(){ + deactive_tiptip(); + }); + } else if(opts.activation == "click"){ + org_elem.click(function(){ + active_tiptip(); + return false; + }).hover(function(){},function(){ + if(!opts.keepAlive){ + deactive_tiptip(); + } + }); + if(opts.keepAlive){ + tiptip_holder.hover(function(){}, function(){ + deactive_tiptip(); + }); + } + } + + function active_tiptip(){ + opts.enter.call(this); + tiptip_content.html(org_title); + tiptip_holder.hide().removeAttr("class").css("margin","0"); + tiptip_arrow.removeAttr("style"); + + var top = parseInt(org_elem.offset()['top']); + var left = parseInt(org_elem.offset()['left']); + var org_width = parseInt(org_elem.outerWidth()); + var org_height = parseInt(org_elem.outerHeight()); + var tip_w = tiptip_holder.outerWidth(); + var tip_h = tiptip_holder.outerHeight(); + var w_compare = Math.round((org_width - tip_w) / 2); + var h_compare = Math.round((org_height - tip_h) / 2); + var marg_left = Math.round(left + w_compare); + var marg_top = Math.round(top + org_height + opts.edgeOffset); + var t_class = ""; + var arrow_top = ""; + var arrow_left = Math.round(tip_w - 12) / 2; + + if(opts.defaultPosition == "bottom"){ + t_class = "_bottom"; + } else if(opts.defaultPosition == "top"){ + t_class = "_top"; + } else if(opts.defaultPosition == "left"){ + t_class = "_left"; + } else if(opts.defaultPosition == "right"){ + t_class = "_right"; + } + + var right_compare = (w_compare + left) < parseInt($(window).scrollLeft()); + var left_compare = (tip_w + left) > parseInt($(window).width()); + + if((right_compare && w_compare < 0) || (t_class == "_right" && !left_compare) || (t_class == "_left" && left < (tip_w + opts.edgeOffset + 5))){ + t_class = "_right"; + arrow_top = Math.round(tip_h - 13) / 2; + arrow_left = -12; + marg_left = Math.round(left + org_width + opts.edgeOffset); + marg_top = Math.round(top + h_compare); + } else if((left_compare && w_compare < 0) || (t_class == "_left" && !right_compare)){ + t_class = "_left"; + arrow_top = Math.round(tip_h - 13) / 2; + arrow_left = Math.round(tip_w); + marg_left = Math.round(left - (tip_w + opts.edgeOffset + 5)); + marg_top = Math.round(top + h_compare); + } + + var top_compare = (top + org_height + opts.edgeOffset + tip_h + 8) > parseInt($(window).height() + $(window).scrollTop()); + var bottom_compare = ((top + org_height) - (opts.edgeOffset + tip_h + 8)) < 0; + + if(top_compare || (t_class == "_bottom" && top_compare) || (t_class == "_top" && !bottom_compare)){ + if(t_class == "_top" || t_class == "_bottom"){ + t_class = "_top"; + } else { + t_class = t_class+"_top"; + } + arrow_top = tip_h; + marg_top = Math.round(top - (tip_h + 5 + opts.edgeOffset)); + } else if(bottom_compare | (t_class == "_top" && bottom_compare) || (t_class == "_bottom" && !top_compare)){ + if(t_class == "_top" || t_class == "_bottom"){ + t_class = "_bottom"; + } else { + t_class = t_class+"_bottom"; + } + arrow_top = -12; + marg_top = Math.round(top + org_height + opts.edgeOffset); + } + + if(t_class == "_right_top" || t_class == "_left_top"){ + marg_top = marg_top + 5; + } else if(t_class == "_right_bottom" || t_class == "_left_bottom"){ + marg_top = marg_top - 5; + } + if(t_class == "_left_top" || t_class == "_left_bottom"){ + marg_left = marg_left + 5; + } + tiptip_arrow.css({"margin-left": arrow_left+"px", "margin-top": arrow_top+"px"}); + tiptip_holder.css({"margin-left": marg_left+"px", "margin-top": marg_top+"px"}).attr("class","tip"+t_class); + + if (timeout){ clearTimeout(timeout); } + timeout = setTimeout(function(){ tiptip_holder.stop(true,true).fadeIn(opts.fadeIn); }, opts.delay); + } + + function deactive_tiptip(){ + opts.exit.call(this); + if (timeout){ clearTimeout(timeout); } + tiptip_holder.fadeOut(opts.fadeOut); + } + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/jquery.tipTip.min.js b/framework/reon/assets/js/jquery.tipTip.min.js new file mode 100644 index 0000000..cdf3a89 --- /dev/null +++ b/framework/reon/assets/js/jquery.tipTip.min.js @@ -0,0 +1,21 @@ + /* + * TipTip + * Copyright 2010 Drew Wilson + * www.drewwilson.com + * code.drewwilson.com/entry/tiptip-jquery-plugin + * + * Version 1.3 - Updated: Mar. 23, 2010 + * + * This Plug-In will create a custom tooltip to replace the default + * browser tooltip. It is extremely lightweight and very smart in + * that it detects the edges of the browser window and will make sure + * the tooltip stays within the current window size. As a result the + * tooltip will adjust itself to be displayed above, below, to the left + * or to the right depending on what is necessary to stay within the + * browser window. It is completely customizable as well via CSS. + * + * This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ +(function($){$.fn.tipTip=function(options){var defaults={activation:"hover",keepAlive:false,maxWidth:"200px",edgeOffset:3,defaultPosition:"bottom",delay:400,fadeIn:200,fadeOut:200,attribute:"title",content:false,enter:function(){},exit:function(){}};var opts=$.extend(defaults,options);if($("#tiptip_holder").length<=0){var tiptip_holder=$('
');var tiptip_content=$('
');var tiptip_arrow=$('
');$("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('
')))}else{var tiptip_holder=$("#tiptip_holder");var tiptip_content=$("#tiptip_content");var tiptip_arrow=$("#tiptip_arrow")}return this.each(function(){var org_elem=$(this);if(opts.content){var org_title=opts.content}else{var org_title=org_elem.attr(opts.attribute)}if(org_title!=""){if(!opts.content){org_elem.removeAttr(opts.attribute)}var timeout=false;if(opts.activation=="hover"){org_elem.hover(function(){active_tiptip()},function(){if(!opts.keepAlive){deactive_tiptip()}});if(opts.keepAlive){tiptip_holder.hover(function(){},function(){deactive_tiptip()})}}else if(opts.activation=="focus"){org_elem.focus(function(){active_tiptip()}).blur(function(){deactive_tiptip()})}else if(opts.activation=="click"){org_elem.click(function(){active_tiptip();return false}).hover(function(){},function(){if(!opts.keepAlive){deactive_tiptip()}});if(opts.keepAlive){tiptip_holder.hover(function(){},function(){deactive_tiptip()})}}function active_tiptip(){opts.enter.call(this);tiptip_content.html(org_title);tiptip_holder.hide().removeAttr("class").css("margin","0");tiptip_arrow.removeAttr("style");var top=parseInt(org_elem.offset()['top']);var left=parseInt(org_elem.offset()['left']);var org_width=parseInt(org_elem.outerWidth());var org_height=parseInt(org_elem.outerHeight());var tip_w=tiptip_holder.outerWidth();var tip_h=tiptip_holder.outerHeight();var w_compare=Math.round((org_width-tip_w)/2);var h_compare=Math.round((org_height-tip_h)/2);var marg_left=Math.round(left+w_compare);var marg_top=Math.round(top+org_height+opts.edgeOffset);var t_class="";var arrow_top="";var arrow_left=Math.round(tip_w-12)/2;if(opts.defaultPosition=="bottom"){t_class="_bottom"}else if(opts.defaultPosition=="top"){t_class="_top"}else if(opts.defaultPosition=="left"){t_class="_left"}else if(opts.defaultPosition=="right"){t_class="_right"}var right_compare=(w_compare+left)parseInt($(window).width());if((right_compare&&w_compare<0)||(t_class=="_right"&&!left_compare)||(t_class=="_left"&&left<(tip_w+opts.edgeOffset+5))){t_class="_right";arrow_top=Math.round(tip_h-13)/2;arrow_left=-12;marg_left=Math.round(left+org_width+opts.edgeOffset);marg_top=Math.round(top+h_compare)}else if((left_compare&&w_compare<0)||(t_class=="_left"&&!right_compare)){t_class="_left";arrow_top=Math.round(tip_h-13)/2;arrow_left=Math.round(tip_w);marg_left=Math.round(left-(tip_w+opts.edgeOffset+5));marg_top=Math.round(top+h_compare)}var top_compare=(top+org_height+opts.edgeOffset+tip_h+8)>parseInt($(window).height()+$(window).scrollTop());var bottom_compare=((top+org_height)-(opts.edgeOffset+tip_h+8))<0;if(top_compare||(t_class=="_bottom"&&top_compare)||(t_class=="_top"&&!bottom_compare)){if(t_class=="_top"||t_class=="_bottom"){t_class="_top"}else{t_class=t_class+"_top"}arrow_top=tip_h;marg_top=Math.round(top-(tip_h+5+opts.edgeOffset))}else if(bottom_compare|(t_class=="_top"&&bottom_compare)||(t_class=="_bottom"&&!top_compare)){if(t_class=="_top"||t_class=="_bottom"){t_class="_bottom"}else{t_class=t_class+"_bottom"}arrow_top=-12;marg_top=Math.round(top+org_height+opts.edgeOffset)}if(t_class=="_right_top"||t_class=="_left_top"){marg_top=marg_top+5}else if(t_class=="_right_bottom"||t_class=="_left_bottom"){marg_top=marg_top-5}if(t_class=="_left_top"||t_class=="_left_bottom"){marg_left=marg_left+5}tiptip_arrow.css({"margin-left":arrow_left+"px","margin-top":arrow_top+"px"});tiptip_holder.css({"margin-left":marg_left+"px","margin-top":marg_top+"px"}).attr("class","tip"+t_class);if(timeout){clearTimeout(timeout)}timeout=setTimeout(function(){tiptip_holder.stop(true,true).fadeIn(opts.fadeIn)},opts.delay)}function deactive_tiptip(){opts.exit.call(this);if(timeout){clearTimeout(timeout)}tiptip_holder.fadeOut(opts.fadeOut)}}})}})(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/nouislider.js b/framework/reon/assets/js/nouislider.js new file mode 100644 index 0000000..4b6f6e2 --- /dev/null +++ b/framework/reon/assets/js/nouislider.js @@ -0,0 +1,1959 @@ +/*! nouislider - 8.5.1 - 2016-04-24 16:00:29 */ + +(function (factory) { + + if ( typeof define === 'function' && define.amd ) { + + // AMD. Register as an anonymous module. + define([], factory); + + } else if ( typeof exports === 'object' ) { + + // Node/CommonJS + module.exports = factory(); + + } else { + + // Browser globals + window.noUiSlider = factory(); + } + +}(function( ){ + + 'use strict'; + + + // Removes duplicates from an array. + function unique(array) { + return array.filter(function(a){ + return !this[a] ? this[a] = true : false; + }, {}); + } + + // Round a value to the closest 'to'. + function closest ( value, to ) { + return Math.round(value / to) * to; + } + + // Current position of an element relative to the document. + function offset ( elem ) { + + var rect = elem.getBoundingClientRect(), + doc = elem.ownerDocument, + docElem = doc.documentElement, + pageOffset = getPageOffset(); + + // getBoundingClientRect contains left scroll in Chrome on Android. + // I haven't found a feature detection that proves this. Worst case + // scenario on mis-match: the 'tap' feature on horizontal sliders breaks. + if ( /webkit.*Chrome.*Mobile/i.test(navigator.userAgent) ) { + pageOffset.x = 0; + } + + return { + top: rect.top + pageOffset.y - docElem.clientTop, + left: rect.left + pageOffset.x - docElem.clientLeft + }; + } + + // Checks whether a value is numerical. + function isNumeric ( a ) { + return typeof a === 'number' && !isNaN( a ) && isFinite( a ); + } + + // Sets a class and removes it after [duration] ms. + function addClassFor ( element, className, duration ) { + addClass(element, className); + setTimeout(function(){ + removeClass(element, className); + }, duration); + } + + // Limits a value to 0 - 100 + function limit ( a ) { + return Math.max(Math.min(a, 100), 0); + } + + // Wraps a variable as an array, if it isn't one yet. + function asArray ( a ) { + return Array.isArray(a) ? a : [a]; + } + + // Counts decimals + function countDecimals ( numStr ) { + var pieces = numStr.split("."); + return pieces.length > 1 ? pieces[1].length : 0; + } + + // http://youmightnotneedjquery.com/#add_class + function addClass ( el, className ) { + if ( el.classList ) { + el.classList.add(className); + } else { + el.className += ' ' + className; + } + } + + // http://youmightnotneedjquery.com/#remove_class + function removeClass ( el, className ) { + if ( el.classList ) { + el.classList.remove(className); + } else { + el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); + } + } + + // https://plainjs.com/javascript/attributes/adding-removing-and-testing-for-classes-9/ + function hasClass ( el, className ) { + return el.classList ? el.classList.contains(className) : new RegExp('\\b' + className + '\\b').test(el.className); + } + + // https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY#Notes + function getPageOffset ( ) { + + var supportPageOffset = window.pageXOffset !== undefined, + isCSS1Compat = ((document.compatMode || "") === "CSS1Compat"), + x = supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft, + y = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop; + + return { + x: x, + y: y + }; + } + + // we provide a function to compute constants instead + // of accessing window.* as soon as the module needs it + // so that we do not compute anything if not needed + function getActions ( ) { + + // Determine the events to bind. IE11 implements pointerEvents without + // a prefix, which breaks compatibility with the IE10 implementation. + return window.navigator.pointerEnabled ? { + start: 'pointerdown', + move: 'pointermove', + end: 'pointerup' + } : window.navigator.msPointerEnabled ? { + start: 'MSPointerDown', + move: 'MSPointerMove', + end: 'MSPointerUp' + } : { + start: 'mousedown touchstart', + move: 'mousemove touchmove', + end: 'mouseup touchend' + }; + } + + +// Value calculation + + // Determine the size of a sub-range in relation to a full range. + function subRangeRatio ( pa, pb ) { + return (100 / (pb - pa)); + } + + // (percentage) How many percent is this value of this range? + function fromPercentage ( range, value ) { + return (value * 100) / ( range[1] - range[0] ); + } + + // (percentage) Where is this value on this range? + function toPercentage ( range, value ) { + return fromPercentage( range, range[0] < 0 ? + value + Math.abs(range[0]) : + value - range[0] ); + } + + // (value) How much is this percentage on this range? + function isPercentage ( range, value ) { + return ((value * ( range[1] - range[0] )) / 100) + range[0]; + } + + +// Range conversion + + function getJ ( value, arr ) { + + var j = 1; + + while ( value >= arr[j] ){ + j += 1; + } + + return j; + } + + // (percentage) Input a value, find where, on a scale of 0-100, it applies. + function toStepping ( xVal, xPct, value ) { + + if ( value >= xVal.slice(-1)[0] ){ + return 100; + } + + var j = getJ( value, xVal ), va, vb, pa, pb; + + va = xVal[j-1]; + vb = xVal[j]; + pa = xPct[j-1]; + pb = xPct[j]; + + return pa + (toPercentage([va, vb], value) / subRangeRatio (pa, pb)); + } + + // (value) Input a percentage, find where it is on the specified range. + function fromStepping ( xVal, xPct, value ) { + + // There is no range group that fits 100 + if ( value >= 100 ){ + return xVal.slice(-1)[0]; + } + + var j = getJ( value, xPct ), va, vb, pa, pb; + + va = xVal[j-1]; + vb = xVal[j]; + pa = xPct[j-1]; + pb = xPct[j]; + + return isPercentage([va, vb], (value - pa) * subRangeRatio (pa, pb)); + } + + // (percentage) Get the step that applies at a certain value. + function getStep ( xPct, xSteps, snap, value ) { + + if ( value === 100 ) { + return value; + } + + var j = getJ( value, xPct ), a, b; + + // If 'snap' is set, steps are used as fixed points on the slider. + if ( snap ) { + + a = xPct[j-1]; + b = xPct[j]; + + // Find the closest position, a or b. + if ((value - a) > ((b-a)/2)){ + return b; + } + + return a; + } + + if ( !xSteps[j-1] ){ + return value; + } + + return xPct[j-1] + closest( + value - xPct[j-1], + xSteps[j-1] + ); + } + + +// Entry parsing + + function handleEntryPoint ( index, value, that ) { + + var percentage; + + // Wrap numerical input in an array. + if ( typeof value === "number" ) { + value = [value]; + } + + // Reject any invalid input, by testing whether value is an array. + if ( Object.prototype.toString.call( value ) !== '[object Array]' ){ + throw new Error("noUiSlider: 'range' contains invalid value."); + } + + // Covert min/max syntax to 0 and 100. + if ( index === 'min' ) { + percentage = 0; + } else if ( index === 'max' ) { + percentage = 100; + } else { + percentage = parseFloat( index ); + } + + // Check for correct input. + if ( !isNumeric( percentage ) || !isNumeric( value[0] ) ) { + throw new Error("noUiSlider: 'range' value isn't numeric."); + } + + // Store values. + that.xPct.push( percentage ); + that.xVal.push( value[0] ); + + // NaN will evaluate to false too, but to keep + // logging clear, set step explicitly. Make sure + // not to override the 'step' setting with false. + if ( !percentage ) { + if ( !isNaN( value[1] ) ) { + that.xSteps[0] = value[1]; + } + } else { + that.xSteps.push( isNaN(value[1]) ? false : value[1] ); + } + } + + function handleStepPoint ( i, n, that ) { + + // Ignore 'false' stepping. + if ( !n ) { + return true; + } + + // Factor to range ratio + that.xSteps[i] = fromPercentage([ + that.xVal[i] + ,that.xVal[i+1] + ], n) / subRangeRatio ( + that.xPct[i], + that.xPct[i+1] ); + } + + +// Interface + + // The interface to Spectrum handles all direction-based + // conversions, so the above values are unaware. + + function Spectrum ( entry, snap, direction, singleStep ) { + + this.xPct = []; + this.xVal = []; + this.xSteps = [ singleStep || false ]; + this.xNumSteps = [ false ]; + + this.snap = snap; + this.direction = direction; + + var index, ordered = [ /* [0, 'min'], [1, '50%'], [2, 'max'] */ ]; + + // Map the object keys to an array. + for ( index in entry ) { + if ( entry.hasOwnProperty(index) ) { + ordered.push([entry[index], index]); + } + } + + // Sort all entries by value (numeric sort). + if ( ordered.length && typeof ordered[0][0] === "object" ) { + ordered.sort(function(a, b) { return a[0][0] - b[0][0]; }); + } else { + ordered.sort(function(a, b) { return a[0] - b[0]; }); + } + + + // Convert all entries to subranges. + for ( index = 0; index < ordered.length; index++ ) { + handleEntryPoint(ordered[index][1], ordered[index][0], this); + } + + // Store the actual step values. + // xSteps is sorted in the same order as xPct and xVal. + this.xNumSteps = this.xSteps.slice(0); + + // Convert all numeric steps to the percentage of the subrange they represent. + for ( index = 0; index < this.xNumSteps.length; index++ ) { + handleStepPoint(index, this.xNumSteps[index], this); + } + } + + Spectrum.prototype.getMargin = function ( value ) { + return this.xPct.length === 2 ? fromPercentage(this.xVal, value) : false; + }; + + Spectrum.prototype.toStepping = function ( value ) { + + value = toStepping( this.xVal, this.xPct, value ); + + // Invert the value if this is a right-to-left slider. + if ( this.direction ) { + value = 100 - value; + } + + return value; + }; + + Spectrum.prototype.fromStepping = function ( value ) { + + // Invert the value if this is a right-to-left slider. + if ( this.direction ) { + value = 100 - value; + } + + return fromStepping( this.xVal, this.xPct, value ); + }; + + Spectrum.prototype.getStep = function ( value ) { + + // Find the proper step for rtl sliders by search in inverse direction. + // Fixes issue #262. + if ( this.direction ) { + value = 100 - value; + } + + value = getStep(this.xPct, this.xSteps, this.snap, value ); + + if ( this.direction ) { + value = 100 - value; + } + + return value; + }; + + Spectrum.prototype.getApplicableStep = function ( value ) { + + // If the value is 100%, return the negative step twice. + var j = getJ(value, this.xPct), offset = value === 100 ? 2 : 1; + return [this.xNumSteps[j-2], this.xVal[j-offset], this.xNumSteps[j-offset]]; + }; + + // Outside testing + Spectrum.prototype.convert = function ( value ) { + return this.getStep(this.toStepping(value)); + }; + +/* Every input option is tested and parsed. This'll prevent + endless validation in internal methods. These tests are + structured with an item for every option available. An + option can be marked as required by setting the 'r' flag. + The testing function is provided with three arguments: + - The provided value for the option; + - A reference to the options object; + - The name for the option; + + The testing function returns false when an error is detected, + or true when everything is OK. It can also modify the option + object, to make sure all values can be correctly looped elsewhere. */ + + var defaultFormatter = { 'to': function( value ){ + return value !== undefined && value.toFixed(2); + }, 'from': Number }; + + function testStep ( parsed, entry ) { + + if ( !isNumeric( entry ) ) { + throw new Error("noUiSlider: 'step' is not numeric."); + } + + // The step option can still be used to set stepping + // for linear sliders. Overwritten if set in 'range'. + parsed.singleStep = entry; + } + + function testRange ( parsed, entry ) { + + // Filter incorrect input. + if ( typeof entry !== 'object' || Array.isArray(entry) ) { + throw new Error("noUiSlider: 'range' is not an object."); + } + + // Catch missing start or end. + if ( entry.min === undefined || entry.max === undefined ) { + throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'."); + } + + // Catch equal start or end. + if ( entry.min === entry.max ) { + throw new Error("noUiSlider: 'range' 'min' and 'max' cannot be equal."); + } + + parsed.spectrum = new Spectrum(entry, parsed.snap, parsed.dir, parsed.singleStep); + } + + function testStart ( parsed, entry ) { + + entry = asArray(entry); + + // Validate input. Values aren't tested, as the public .val method + // will always provide a valid location. + if ( !Array.isArray( entry ) || !entry.length || entry.length > 2 ) { + throw new Error("noUiSlider: 'start' option is incorrect."); + } + + // Store the number of handles. + parsed.handles = entry.length; + + // When the slider is initialized, the .val method will + // be called with the start options. + parsed.start = entry; + } + + function testSnap ( parsed, entry ) { + + // Enforce 100% stepping within subranges. + parsed.snap = entry; + + if ( typeof entry !== 'boolean' ){ + throw new Error("noUiSlider: 'snap' option must be a boolean."); + } + } + + function testAnimate ( parsed, entry ) { + + // Enforce 100% stepping within subranges. + parsed.animate = entry; + + if ( typeof entry !== 'boolean' ){ + throw new Error("noUiSlider: 'animate' option must be a boolean."); + } + } + + function testAnimationDuration ( parsed, entry ) { + + parsed.animationDuration = entry; + + if ( typeof entry !== 'number' ){ + throw new Error("noUiSlider: 'animationDuration' option must be a number."); + } + } + + function testConnect ( parsed, entry ) { + + if ( entry === 'lower' && parsed.handles === 1 ) { + parsed.connect = 1; + } else if ( entry === 'upper' && parsed.handles === 1 ) { + parsed.connect = 2; + } else if ( entry === true && parsed.handles === 2 ) { + parsed.connect = 3; + } else if ( entry === false ) { + parsed.connect = 0; + } else { + throw new Error("noUiSlider: 'connect' option doesn't match handle count."); + } + } + + function testOrientation ( parsed, entry ) { + + // Set orientation to an a numerical value for easy + // array selection. + switch ( entry ){ + case 'horizontal': + parsed.ort = 0; + break; + case 'vertical': + parsed.ort = 1; + break; + default: + throw new Error("noUiSlider: 'orientation' option is invalid."); + } + } + + function testMargin ( parsed, entry ) { + + if ( !isNumeric(entry) ){ + throw new Error("noUiSlider: 'margin' option must be numeric."); + } + + // Issue #582 + if ( entry === 0 ) { + return; + } + + parsed.margin = parsed.spectrum.getMargin(entry); + + if ( !parsed.margin ) { + throw new Error("noUiSlider: 'margin' option is only supported on linear sliders."); + } + } + + function testLimit ( parsed, entry ) { + + if ( !isNumeric(entry) ){ + throw new Error("noUiSlider: 'limit' option must be numeric."); + } + + parsed.limit = parsed.spectrum.getMargin(entry); + + if ( !parsed.limit ) { + throw new Error("noUiSlider: 'limit' option is only supported on linear sliders."); + } + } + + function testDirection ( parsed, entry ) { + + // Set direction as a numerical value for easy parsing. + // Invert connection for RTL sliders, so that the proper + // handles get the connect/background classes. + switch ( entry ) { + case 'ltr': + parsed.dir = 0; + break; + case 'rtl': + parsed.dir = 1; + parsed.connect = [0,2,1,3][parsed.connect]; + break; + default: + throw new Error("noUiSlider: 'direction' option was not recognized."); + } + } + + function testBehaviour ( parsed, entry ) { + + // Make sure the input is a string. + if ( typeof entry !== 'string' ) { + throw new Error("noUiSlider: 'behaviour' must be a string containing options."); + } + + // Check if the string contains any keywords. + // None are required. + var tap = entry.indexOf('tap') >= 0, + drag = entry.indexOf('drag') >= 0, + fixed = entry.indexOf('fixed') >= 0, + snap = entry.indexOf('snap') >= 0, + hover = entry.indexOf('hover') >= 0; + + // Fix #472 + if ( drag && !parsed.connect ) { + throw new Error("noUiSlider: 'drag' behaviour must be used with 'connect': true."); + } + + parsed.events = { + tap: tap || snap, + drag: drag, + fixed: fixed, + snap: snap, + hover: hover + }; + } + + function testTooltips ( parsed, entry ) { + + var i; + + if ( entry === false ) { + return; + } else if ( entry === true ) { + + parsed.tooltips = []; + + for ( i = 0; i < parsed.handles; i++ ) { + parsed.tooltips.push(true); + } + + } else { + + parsed.tooltips = asArray(entry); + + if ( parsed.tooltips.length !== parsed.handles ) { + throw new Error("noUiSlider: must pass a formatter for all handles."); + } + + parsed.tooltips.forEach(function(formatter){ + if ( typeof formatter !== 'boolean' && (typeof formatter !== 'object' || typeof formatter.to !== 'function') ) { + throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'."); + } + }); + } + } + + function testFormat ( parsed, entry ) { + + parsed.format = entry; + + // Any object with a to and from method is supported. + if ( typeof entry.to === 'function' && typeof entry.from === 'function' ) { + return true; + } + + throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods."); + } + + function testCssPrefix ( parsed, entry ) { + + if ( entry !== undefined && typeof entry !== 'string' && entry !== false ) { + throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`."); + } + + parsed.cssPrefix = entry; + } + + function testCssClasses ( parsed, entry ) { + + if ( entry !== undefined && typeof entry !== 'object' ) { + throw new Error("noUiSlider: 'cssClasses' must be an object."); + } + + if ( typeof parsed.cssPrefix === 'string' ) { + parsed.cssClasses = {}; + + for ( var key in entry ) { + if ( !entry.hasOwnProperty(key) ) { continue; } + + parsed.cssClasses[key] = parsed.cssPrefix + entry[key]; + } + } else { + parsed.cssClasses = entry; + } + } + + // Test all developer settings and parse to assumption-safe values. + function testOptions ( options ) { + + // To prove a fix for #537, freeze options here. + // If the object is modified, an error will be thrown. + // Object.freeze(options); + + var parsed = { + margin: 0, + limit: 0, + animate: true, + animationDuration: 300, + format: defaultFormatter + }, tests; + + // Tests are executed in the order they are presented here. + tests = { + 'step': { r: false, t: testStep }, + 'start': { r: true, t: testStart }, + 'connect': { r: true, t: testConnect }, + 'direction': { r: true, t: testDirection }, + 'snap': { r: false, t: testSnap }, + 'animate': { r: false, t: testAnimate }, + 'animationDuration': { r: false, t: testAnimationDuration }, + 'range': { r: true, t: testRange }, + 'orientation': { r: false, t: testOrientation }, + 'margin': { r: false, t: testMargin }, + 'limit': { r: false, t: testLimit }, + 'behaviour': { r: true, t: testBehaviour }, + 'format': { r: false, t: testFormat }, + 'tooltips': { r: false, t: testTooltips }, + 'cssPrefix': { r: false, t: testCssPrefix }, + 'cssClasses': { r: false, t: testCssClasses } + }; + + var defaults = { + 'connect': false, + 'direction': 'ltr', + 'behaviour': 'tap', + 'orientation': 'horizontal', + 'cssPrefix' : 'noUi-', + 'cssClasses': { + target: 'target', + base: 'base', + origin: 'origin', + handle: 'handle', + handleLower: 'handle-lower', + handleUpper: 'handle-upper', + horizontal: 'horizontal', + vertical: 'vertical', + background: 'background', + connect: 'connect', + ltr: 'ltr', + rtl: 'rtl', + draggable: 'draggable', + drag: 'state-drag', + tap: 'state-tap', + active: 'active', + stacking: 'stacking', + tooltip: 'tooltip', + pips: 'pips', + pipsHorizontal: 'pips-horizontal', + pipsVertical: 'pips-vertical', + marker: 'marker', + markerHorizontal: 'marker-horizontal', + markerVertical: 'marker-vertical', + markerNormal: 'marker-normal', + markerLarge: 'marker-large', + markerSub: 'marker-sub', + value: 'value', + valueHorizontal: 'value-horizontal', + valueVertical: 'value-vertical', + valueNormal: 'value-normal', + valueLarge: 'value-large', + valueSub: 'value-sub' + } + }; + + // Run all options through a testing mechanism to ensure correct + // input. It should be noted that options might get modified to + // be handled properly. E.g. wrapping integers in arrays. + Object.keys(tests).forEach(function( name ){ + + // If the option isn't set, but it is required, throw an error. + if ( options[name] === undefined && defaults[name] === undefined ) { + + if ( tests[name].r ) { + throw new Error("noUiSlider: '" + name + "' is required."); + } + + return true; + } + + tests[name].t( parsed, options[name] === undefined ? defaults[name] : options[name] ); + }); + + // Forward pips options + parsed.pips = options.pips; + + // Pre-define the styles. + parsed.style = parsed.ort ? 'top' : 'left'; + + return parsed; + } + + +function closure ( target, options, originalOptions ){ + var + actions = getActions( ), + // All variables local to 'closure' are prefixed with 'scope_' + scope_Target = target, + scope_Locations = [-1, -1], + scope_Base, + scope_Handles, + scope_Spectrum = options.spectrum, + scope_Values = [], + scope_Events = {}, + scope_Self; + + + // Delimit proposed values for handle positions. + function getPositions ( a, b, delimit ) { + + // Add movement to current position. + var c = a + b[0], d = a + b[1]; + + // Only alter the other position on drag, + // not on standard sliding. + if ( delimit ) { + if ( c < 0 ) { + d += Math.abs(c); + } + if ( d > 100 ) { + c -= ( d - 100 ); + } + + // Limit values to 0 and 100. + return [limit(c), limit(d)]; + } + + return [c,d]; + } + + // Provide a clean event with standardized offset values. + function fixEvent ( e, pageOffset ) { + + // Prevent scrolling and panning on touch events, while + // attempting to slide. The tap event also depends on this. + e.preventDefault(); + + // Filter the event to register the type, which can be + // touch, mouse or pointer. Offset changes need to be + // made on an event specific basis. + var touch = e.type.indexOf('touch') === 0, + mouse = e.type.indexOf('mouse') === 0, + pointer = e.type.indexOf('pointer') === 0, + x,y, event = e; + + // IE10 implemented pointer events with a prefix; + if ( e.type.indexOf('MSPointer') === 0 ) { + pointer = true; + } + + if ( touch ) { + // noUiSlider supports one movement at a time, + // so we can select the first 'changedTouch'. + x = e.changedTouches[0].pageX; + y = e.changedTouches[0].pageY; + } + + pageOffset = pageOffset || getPageOffset(); + + if ( mouse || pointer ) { + x = e.clientX + pageOffset.x; + y = e.clientY + pageOffset.y; + } + + event.pageOffset = pageOffset; + event.points = [x, y]; + event.cursor = mouse || pointer; // Fix #435 + + return event; + } + + // Append a handle to the base. + function addHandle ( direction, index ) { + + var origin = document.createElement('div'), + handle = document.createElement('div'), + classModifier = [options.cssClasses.handleLower, options.cssClasses.handleUpper]; + + if ( direction ) { + classModifier.reverse(); + } + + addClass(handle, options.cssClasses.handle); + addClass(handle, classModifier[index]); + + addClass(origin, options.cssClasses.origin); + origin.appendChild(handle); + + return origin; + } + + // Add the proper connection classes. + function addConnection ( connect, target, handles ) { + + // Apply the required connection classes to the elements + // that need them. Some classes are made up for several + // segments listed in the class list, to allow easy + // renaming and provide a minor compression benefit. + switch ( connect ) { + case 1: addClass(target, options.cssClasses.connect); + addClass(handles[0], options.cssClasses.background); + break; + case 3: addClass(handles[1], options.cssClasses.background); + /* falls through */ + case 2: addClass(handles[0], options.cssClasses.connect); + /* falls through */ + case 0: addClass(target, options.cssClasses.background); + break; + } + } + + // Add handles to the slider base. + function addHandles ( nrHandles, direction, base ) { + + var index, handles = []; + + // Append handles. + for ( index = 0; index < nrHandles; index += 1 ) { + + // Keep a list of all added handles. + handles.push( base.appendChild(addHandle( direction, index )) ); + } + + return handles; + } + + // Initialize a single slider. + function addSlider ( direction, orientation, target ) { + + // Apply classes and data to the target. + addClass(target, options.cssClasses.target); + + if ( direction === 0 ) { + addClass(target, options.cssClasses.ltr); + } else { + addClass(target, options.cssClasses.rtl); + } + + if ( orientation === 0 ) { + addClass(target, options.cssClasses.horizontal); + } else { + addClass(target, options.cssClasses.vertical); + } + + var div = document.createElement('div'); + addClass(div, options.cssClasses.base); + target.appendChild(div); + return div; + } + + + function addTooltip ( handle, index ) { + + if ( !options.tooltips[index] ) { + return false; + } + + var element = document.createElement('div'); + element.className = options.cssClasses.tooltip; + return handle.firstChild.appendChild(element); + } + + // The tooltips option is a shorthand for using the 'update' event. + function tooltips ( ) { + + if ( options.dir ) { + options.tooltips.reverse(); + } + + // Tooltips are added with options.tooltips in original order. + var tips = scope_Handles.map(addTooltip); + + if ( options.dir ) { + tips.reverse(); + options.tooltips.reverse(); + } + + bindEvent('update', function(f, o, r) { + if ( tips[o] ) { + tips[o].innerHTML = options.tooltips[o] === true ? f[o] : options.tooltips[o].to(r[o]); + } + }); + } + + + function getGroup ( mode, values, stepped ) { + + // Use the range. + if ( mode === 'range' || mode === 'steps' ) { + return scope_Spectrum.xVal; + } + + if ( mode === 'count' ) { + + // Divide 0 - 100 in 'count' parts. + var spread = ( 100 / (values-1) ), v, i = 0; + values = []; + + // List these parts and have them handled as 'positions'. + while ((v=i++*spread) <= 100 ) { + values.push(v); + } + + mode = 'positions'; + } + + if ( mode === 'positions' ) { + + // Map all percentages to on-range values. + return values.map(function( value ){ + return scope_Spectrum.fromStepping( stepped ? scope_Spectrum.getStep( value ) : value ); + }); + } + + if ( mode === 'values' ) { + + // If the value must be stepped, it needs to be converted to a percentage first. + if ( stepped ) { + + return values.map(function( value ){ + + // Convert to percentage, apply step, return to value. + return scope_Spectrum.fromStepping( scope_Spectrum.getStep( scope_Spectrum.toStepping( value ) ) ); + }); + + } + + // Otherwise, we can simply use the values. + return values; + } + } + + function generateSpread ( density, mode, group ) { + + function safeIncrement(value, increment) { + // Avoid floating point variance by dropping the smallest decimal places. + return (value + increment).toFixed(7) / 1; + } + + var originalSpectrumDirection = scope_Spectrum.direction, + indexes = {}, + firstInRange = scope_Spectrum.xVal[0], + lastInRange = scope_Spectrum.xVal[scope_Spectrum.xVal.length-1], + ignoreFirst = false, + ignoreLast = false, + prevPct = 0; + + // This function loops the spectrum in an ltr linear fashion, + // while the toStepping method is direction aware. Trick it into + // believing it is ltr. + scope_Spectrum.direction = 0; + + // Create a copy of the group, sort it and filter away all duplicates. + group = unique(group.slice().sort(function(a, b){ return a - b; })); + + // Make sure the range starts with the first element. + if ( group[0] !== firstInRange ) { + group.unshift(firstInRange); + ignoreFirst = true; + } + + // Likewise for the last one. + if ( group[group.length - 1] !== lastInRange ) { + group.push(lastInRange); + ignoreLast = true; + } + + group.forEach(function ( current, index ) { + + // Get the current step and the lower + upper positions. + var step, i, q, + low = current, + high = group[index+1], + newPct, pctDifference, pctPos, type, + steps, realSteps, stepsize; + + // When using 'steps' mode, use the provided steps. + // Otherwise, we'll step on to the next subrange. + if ( mode === 'steps' ) { + step = scope_Spectrum.xNumSteps[ index ]; + } + + // Default to a 'full' step. + if ( !step ) { + step = high-low; + } + + // Low can be 0, so test for false. If high is undefined, + // we are at the last subrange. Index 0 is already handled. + if ( low === false || high === undefined ) { + return; + } + + // Find all steps in the subrange. + for ( i = low; i <= high; i = safeIncrement(i, step) ) { + + // Get the percentage value for the current step, + // calculate the size for the subrange. + newPct = scope_Spectrum.toStepping( i ); + pctDifference = newPct - prevPct; + + steps = pctDifference / density; + realSteps = Math.round(steps); + + // This ratio represents the ammount of percentage-space a point indicates. + // For a density 1 the points/percentage = 1. For density 2, that percentage needs to be re-devided. + // Round the percentage offset to an even number, then divide by two + // to spread the offset on both sides of the range. + stepsize = pctDifference/realSteps; + + // Divide all points evenly, adding the correct number to this subrange. + // Run up to <= so that 100% gets a point, event if ignoreLast is set. + for ( q = 1; q <= realSteps; q += 1 ) { + + // The ratio between the rounded value and the actual size might be ~1% off. + // Correct the percentage offset by the number of points + // per subrange. density = 1 will result in 100 points on the + // full range, 2 for 50, 4 for 25, etc. + pctPos = prevPct + ( q * stepsize ); + indexes[pctPos.toFixed(5)] = ['x', 0]; + } + + // Determine the point type. + type = (group.indexOf(i) > -1) ? 1 : ( mode === 'steps' ? 2 : 0 ); + + // Enforce the 'ignoreFirst' option by overwriting the type for 0. + if ( !index && ignoreFirst ) { + type = 0; + } + + if ( !(i === high && ignoreLast)) { + // Mark the 'type' of this point. 0 = plain, 1 = real value, 2 = step value. + indexes[newPct.toFixed(5)] = [i, type]; + } + + // Update the percentage count. + prevPct = newPct; + } + }); + + // Reset the spectrum. + scope_Spectrum.direction = originalSpectrumDirection; + + return indexes; + } + + function addMarking ( spread, filterFunc, formatter ) { + + var element = document.createElement('div'), + out = '', + valueSizeClasses = [ + options.cssClasses.valueNormal, + options.cssClasses.valueLarge, + options.cssClasses.valueSub + ], + markerSizeClasses = [ + options.cssClasses.markerNormal, + options.cssClasses.markerLarge, + options.cssClasses.markerSub + ], + valueOrientationClasses = [ + options.cssClasses.valueHorizontal, + options.cssClasses.valueVertical + ], + markerOrientationClasses = [ + options.cssClasses.markerHorizontal, + options.cssClasses.markerVertical + ]; + + addClass(element, options.cssClasses.pips); + addClass(element, options.ort === 0 ? options.cssClasses.pipsHorizontal : options.cssClasses.pipsVertical); + + function getClasses( type, source ){ + var a = source === options.cssClasses.value, + orientationClasses = a ? valueOrientationClasses : markerOrientationClasses, + sizeClasses = a ? valueSizeClasses : markerSizeClasses; + + return source + ' ' + orientationClasses[options.ort] + ' ' + sizeClasses[type]; + } + + function getTags( offset, source, values ) { + return 'class="' + getClasses(values[1], source) + '" style="' + options.style + ': ' + offset + '%"'; + } + + function addSpread ( offset, values ){ + + if ( scope_Spectrum.direction ) { + offset = 100 - offset; + } + + // Apply the filter function, if it is set. + values[1] = (values[1] && filterFunc) ? filterFunc(values[0], values[1]) : values[1]; + + // Add a marker for every point + out += '
'; + + // Values are only appended for points marked '1' or '2'. + if ( values[1] ) { + out += '
' + formatter.to(values[0]) + '
'; + } + } + + // Append all points. + Object.keys(spread).forEach(function(a){ + addSpread(a, spread[a]); + }); + + element.innerHTML = out; + + return element; + } + + function pips ( grid ) { + + var mode = grid.mode, + density = grid.density || 1, + filter = grid.filter || false, + values = grid.values || false, + stepped = grid.stepped || false, + group = getGroup( mode, values, stepped ), + spread = generateSpread( density, mode, group ), + format = grid.format || { + to: Math.round + }; + + return scope_Target.appendChild(addMarking( + spread, + filter, + format + )); + } + + + // Shorthand for base dimensions. + function baseSize ( ) { + var rect = scope_Base.getBoundingClientRect(), alt = 'offset' + ['Width', 'Height'][options.ort]; + return options.ort === 0 ? (rect.width||scope_Base[alt]) : (rect.height||scope_Base[alt]); + } + + // External event handling + function fireEvent ( event, handleNumber, tap ) { + + var i; + + // During initialization, do not fire events. + for ( i = 0; i < options.handles; i++ ) { + if ( scope_Locations[i] === -1 ) { + return; + } + } + + if ( handleNumber !== undefined && options.handles !== 1 ) { + handleNumber = Math.abs(handleNumber - options.dir); + } + + Object.keys(scope_Events).forEach(function( targetEvent ) { + + var eventType = targetEvent.split('.')[0]; + + if ( event === eventType ) { + scope_Events[targetEvent].forEach(function( callback ) { + + callback.call( + // Use the slider public API as the scope ('this') + scope_Self, + // Return values as array, so arg_1[arg_2] is always valid. + asArray(valueGet()), + // Handle index, 0 or 1 + handleNumber, + // Unformatted slider values + asArray(inSliderOrder(Array.prototype.slice.call(scope_Values))), + // Event is fired by tap, true or false + tap || false, + // Left offset of the handle, in relation to the slider + scope_Locations + ); + }); + } + }); + } + + // Returns the input array, respecting the slider direction configuration. + function inSliderOrder ( values ) { + + // If only one handle is used, return a single value. + if ( values.length === 1 ){ + return values[0]; + } + + if ( options.dir ) { + return values.reverse(); + } + + return values; + } + + + // Handler for attaching events trough a proxy. + function attach ( events, element, callback, data ) { + + // This function can be used to 'filter' events to the slider. + // element is a node, not a nodeList + + var method = function ( e ){ + + if ( scope_Target.hasAttribute('disabled') ) { + return false; + } + + // Stop if an active 'tap' transition is taking place. + if ( hasClass(scope_Target, options.cssClasses.tap) ) { + return false; + } + + e = fixEvent(e, data.pageOffset); + + // Ignore right or middle clicks on start #454 + if ( events === actions.start && e.buttons !== undefined && e.buttons > 1 ) { + return false; + } + + // Ignore right or middle clicks on start #454 + if ( data.hover && e.buttons ) { + return false; + } + + e.calcPoint = e.points[ options.ort ]; + + // Call the event handler with the event [ and additional data ]. + callback ( e, data ); + + }, methods = []; + + // Bind a closure on the target for every event type. + events.split(' ').forEach(function( eventName ){ + element.addEventListener(eventName, method, false); + methods.push([eventName, method]); + }); + + return methods; + } + + // Handle movement on document for handle and range drag. + function move ( event, data ) { + + // Fix #498 + // Check value of .buttons in 'start' to work around a bug in IE10 mobile (data.buttonsProperty). + // https://connect.microsoft.com/IE/feedback/details/927005/mobile-ie10-windows-phone-buttons-property-of-pointermove-event-always-zero + // IE9 has .buttons and .which zero on mousemove. + // Firefox breaks the spec MDN defines. + if ( navigator.appVersion.indexOf("MSIE 9") === -1 && event.buttons === 0 && data.buttonsProperty !== 0 ) { + return end(event, data); + } + + var handles = data.handles || scope_Handles, positions, state = false, + proposal = ((event.calcPoint - data.start) * 100) / data.baseSize, + handleNumber = handles[0] === scope_Handles[0] ? 0 : 1, i; + + // Calculate relative positions for the handles. + positions = getPositions( proposal, data.positions, handles.length > 1); + + state = setHandle ( handles[0], positions[handleNumber], handles.length === 1 ); + + if ( handles.length > 1 ) { + + state = setHandle ( handles[1], positions[handleNumber?0:1], false ) || state; + + if ( state ) { + // fire for both handles + for ( i = 0; i < data.handles.length; i++ ) { + fireEvent('slide', i); + } + } + } else if ( state ) { + // Fire for a single handle + fireEvent('slide', handleNumber); + } + } + + // Unbind move events on document, call callbacks. + function end ( event, data ) { + + // The handle is no longer active, so remove the class. + var active = scope_Base.querySelector( '.' + options.cssClasses.active ), + handleNumber = data.handles[0] === scope_Handles[0] ? 0 : 1; + + if ( active !== null ) { + removeClass(active, options.cssClasses.active); + } + + // Remove cursor styles and text-selection events bound to the body. + if ( event.cursor ) { + document.body.style.cursor = ''; + document.body.removeEventListener('selectstart', document.body.noUiListener); + } + + var d = document.documentElement; + + // Unbind the move and end events, which are added on 'start'. + d.noUiListeners.forEach(function( c ) { + d.removeEventListener(c[0], c[1]); + }); + + // Remove dragging class. + removeClass(scope_Target, options.cssClasses.drag); + + // Fire the change and set events. + fireEvent('set', handleNumber); + fireEvent('change', handleNumber); + + // If this is a standard handle movement, fire the end event. + if ( data.handleNumber !== undefined ) { + fireEvent('end', data.handleNumber); + } + } + + // Fire 'end' when a mouse or pen leaves the document. + function documentLeave ( event, data ) { + if ( event.type === "mouseout" && event.target.nodeName === "HTML" && event.relatedTarget === null ){ + end ( event, data ); + } + } + + // Bind move events on document. + function start ( event, data ) { + + var d = document.documentElement; + + // Mark the handle as 'active' so it can be styled. + if ( data.handles.length === 1 ) { + // Support 'disabled' handles + if ( data.handles[0].hasAttribute('disabled') ) { + return false; + } + + addClass(data.handles[0].children[0], options.cssClasses.active); + } + + // Fix #551, where a handle gets selected instead of dragged. + event.preventDefault(); + + // A drag should never propagate up to the 'tap' event. + event.stopPropagation(); + + // Attach the move and end events. + var moveEvent = attach(actions.move, d, move, { + start: event.calcPoint, + baseSize: baseSize(), + pageOffset: event.pageOffset, + handles: data.handles, + handleNumber: data.handleNumber, + buttonsProperty: event.buttons, + positions: [ + scope_Locations[0], + scope_Locations[scope_Handles.length - 1] + ] + }), endEvent = attach(actions.end, d, end, { + handles: data.handles, + handleNumber: data.handleNumber + }); + + var outEvent = attach("mouseout", d, documentLeave, { + handles: data.handles, + handleNumber: data.handleNumber + }); + + d.noUiListeners = moveEvent.concat(endEvent, outEvent); + + // Text selection isn't an issue on touch devices, + // so adding cursor styles can be skipped. + if ( event.cursor ) { + + // Prevent the 'I' cursor and extend the range-drag cursor. + document.body.style.cursor = getComputedStyle(event.target).cursor; + + // Mark the target with a dragging state. + if ( scope_Handles.length > 1 ) { + addClass(scope_Target, options.cssClasses.drag); + } + + var f = function(){ + return false; + }; + + document.body.noUiListener = f; + + // Prevent text selection when dragging the handles. + document.body.addEventListener('selectstart', f, false); + } + + if ( data.handleNumber !== undefined ) { + fireEvent('start', data.handleNumber); + } + } + + // Move closest handle to tapped location. + function tap ( event ) { + + var location = event.calcPoint, total = 0, handleNumber, to; + + // The tap event shouldn't propagate up and cause 'edge' to run. + event.stopPropagation(); + + // Add up the handle offsets. + scope_Handles.forEach(function(a){ + total += offset(a)[ options.style ]; + }); + + // Find the handle closest to the tapped position. + handleNumber = ( location < total/2 || scope_Handles.length === 1 ) ? 0 : 1; + + // Check if handler is not disablet if yes set number to the next handler + if (scope_Handles[handleNumber].hasAttribute('disabled')) { + handleNumber = handleNumber ? 0 : 1; + } + + location -= offset(scope_Base)[ options.style ]; + + // Calculate the new position. + to = ( location * 100 ) / baseSize(); + + if ( !options.events.snap ) { + // Flag the slider as it is now in a transitional state. + // Transition takes a configurable amount of ms (default 300). Re-enable the slider after that. + addClassFor( scope_Target, options.cssClasses.tap, options.animationDuration ); + } + + // Support 'disabled' handles + if ( scope_Handles[handleNumber].hasAttribute('disabled') ) { + return false; + } + + // Find the closest handle and calculate the tapped point. + // The set handle to the new position. + setHandle( scope_Handles[handleNumber], to ); + + fireEvent('slide', handleNumber, true); + fireEvent('set', handleNumber, true); + fireEvent('change', handleNumber, true); + + if ( options.events.snap ) { + start(event, { handles: [scope_Handles[handleNumber]] }); + } + } + + // Fires a 'hover' event for a hovered mouse/pen position. + function hover ( event ) { + + var location = event.calcPoint - offset(scope_Base)[ options.style ], + to = scope_Spectrum.getStep(( location * 100 ) / baseSize()), + value = scope_Spectrum.fromStepping( to ); + + Object.keys(scope_Events).forEach(function( targetEvent ) { + if ( 'hover' === targetEvent.split('.')[0] ) { + scope_Events[targetEvent].forEach(function( callback ) { + callback.call( scope_Self, value ); + }); + } + }); + } + + // Attach events to several slider parts. + function events ( behaviour ) { + + // Attach the standard drag event to the handles. + if ( !behaviour.fixed ) { + + scope_Handles.forEach(function( handle, index ){ + + // These events are only bound to the visual handle + // element, not the 'real' origin element. + attach ( actions.start, handle.children[0], start, { + handles: [ handle ], + handleNumber: index + }); + }); + } + + // Attach the tap event to the slider base. + if ( behaviour.tap ) { + + attach ( actions.start, scope_Base, tap, { + handles: scope_Handles + }); + } + + // Fire hover events + if ( behaviour.hover ) { + attach ( actions.move, scope_Base, hover, { hover: true } ); + } + + // Make the range draggable. + if ( behaviour.drag ){ + + var drag = [scope_Base.querySelector( '.' + options.cssClasses.connect )]; + addClass(drag[0], options.cssClasses.draggable); + + // When the range is fixed, the entire range can + // be dragged by the handles. The handle in the first + // origin will propagate the start event upward, + // but it needs to be bound manually on the other. + if ( behaviour.fixed ) { + drag.push(scope_Handles[(drag[0] === scope_Handles[0] ? 1 : 0)].children[0]); + } + + drag.forEach(function( element ) { + attach ( actions.start, element, start, { + handles: scope_Handles + }); + }); + } + } + + + // Test suggested values and apply margin, step. + function setHandle ( handle, to, noLimitOption ) { + + var trigger = handle !== scope_Handles[0] ? 1 : 0, + lowerMargin = scope_Locations[0] + options.margin, + upperMargin = scope_Locations[1] - options.margin, + lowerLimit = scope_Locations[0] + options.limit, + upperLimit = scope_Locations[1] - options.limit; + + // For sliders with multiple handles, + // limit movement to the other handle. + // Apply the margin option by adding it to the handle positions. + if ( scope_Handles.length > 1 ) { + to = trigger ? Math.max( to, lowerMargin ) : Math.min( to, upperMargin ); + } + + // The limit option has the opposite effect, limiting handles to a + // maximum distance from another. Limit must be > 0, as otherwise + // handles would be unmoveable. 'noLimitOption' is set to 'false' + // for the .val() method, except for pass 4/4. + if ( noLimitOption !== false && options.limit && scope_Handles.length > 1 ) { + to = trigger ? Math.min ( to, lowerLimit ) : Math.max( to, upperLimit ); + } + + // Handle the step option. + to = scope_Spectrum.getStep( to ); + + // Limit percentage to the 0 - 100 range + to = limit(to); + + // Return false if handle can't move + if ( to === scope_Locations[trigger] ) { + return false; + } + + // Set the handle to the new position. + // Use requestAnimationFrame for efficient painting. + // No significant effect in Chrome, Edge sees dramatic + // performace improvements. + if ( window.requestAnimationFrame ) { + window.requestAnimationFrame(function(){ + handle.style[options.style] = to + '%'; + }); + } else { + handle.style[options.style] = to + '%'; + } + + // Force proper handle stacking + if ( !handle.previousSibling ) { + removeClass(handle, options.cssClasses.stacking); + if ( to > 50 ) { + addClass(handle, options.cssClasses.stacking); + } + } + + // Update locations. + scope_Locations[trigger] = to; + + // Convert the value to the slider stepping/range. + scope_Values[trigger] = scope_Spectrum.fromStepping( to ); + + fireEvent('update', trigger); + + return true; + } + + // Loop values from value method and apply them. + function setValues ( count, values ) { + + var i, trigger, to; + + // With the limit option, we'll need another limiting pass. + if ( options.limit ) { + count += 1; + } + + // If there are multiple handles to be set run the setting + // mechanism twice for the first handle, to make sure it + // can be bounced of the second one properly. + for ( i = 0; i < count; i += 1 ) { + + trigger = i%2; + + // Get the current argument from the array. + to = values[trigger]; + + // Setting with null indicates an 'ignore'. + // Inputting 'false' is invalid. + if ( to !== null && to !== false ) { + + // If a formatted number was passed, attemt to decode it. + if ( typeof to === 'number' ) { + to = String(to); + } + + to = options.format.from( to ); + + // Request an update for all links if the value was invalid. + // Do so too if setting the handle fails. + if ( to === false || isNaN(to) || setHandle( scope_Handles[trigger], scope_Spectrum.toStepping( to ), i === (3 - options.dir) ) === false ) { + fireEvent('update', trigger); + } + } + } + } + + // Set the slider value. + function valueSet ( input, fireSetEvent ) { + + var count, values = asArray( input ), i; + + // Event fires by default + fireSetEvent = (fireSetEvent === undefined ? true : !!fireSetEvent); + + // The RTL settings is implemented by reversing the front-end, + // internal mechanisms are the same. + if ( options.dir && options.handles > 1 ) { + values.reverse(); + } + + // Animation is optional. + // Make sure the initial values where set before using animated placement. + if ( options.animate && scope_Locations[0] !== -1 ) { + addClassFor( scope_Target, options.cssClasses.tap, options.animationDuration ); + } + + // Determine how often to set the handles. + count = scope_Handles.length > 1 ? 3 : 1; + + if ( values.length === 1 ) { + count = 1; + } + + setValues ( count, values ); + + // Fire the 'set' event for both handles. + for ( i = 0; i < scope_Handles.length; i++ ) { + + // Fire the event only for handles that received a new value, as per #579 + if ( values[i] !== null && fireSetEvent ) { + fireEvent('set', i); + } + } + } + + // Get the slider value. + function valueGet ( ) { + + var i, retour = []; + + // Get the value from all handles. + for ( i = 0; i < options.handles; i += 1 ){ + retour[i] = options.format.to( scope_Values[i] ); + } + + return inSliderOrder( retour ); + } + + // Removes classes from the root and empties it. + function destroy ( ) { + + for ( var key in options.cssClasses ) { + if ( !options.cssClasses.hasOwnProperty(key) ) { continue; } + removeClass(scope_Target, options.cssClasses[key]); + } + + while (scope_Target.firstChild) { + scope_Target.removeChild(scope_Target.firstChild); + } + + delete scope_Target.noUiSlider; + } + + // Get the current step size for the slider. + function getCurrentStep ( ) { + + // Check all locations, map them to their stepping point. + // Get the step point, then find it in the input list. + var retour = scope_Locations.map(function( location, index ){ + + var step = scope_Spectrum.getApplicableStep( location ), + + // As per #391, the comparison for the decrement step can have some rounding issues. + // Round the value to the precision used in the step. + stepDecimals = countDecimals(String(step[2])), + + // Get the current numeric value + value = scope_Values[index], + + // To move the slider 'one step up', the current step value needs to be added. + // Use null if we are at the maximum slider value. + increment = location === 100 ? null : step[2], + + // Going 'one step down' might put the slider in a different sub-range, so we + // need to switch between the current or the previous step. + prev = Number((value - step[2]).toFixed(stepDecimals)), + + // If the value fits the step, return the current step value. Otherwise, use the + // previous step. Return null if the slider is at its minimum value. + decrement = location === 0 ? null : (prev >= step[1]) ? step[2] : (step[0] || false); + + return [decrement, increment]; + }); + + // Return values in the proper order. + return inSliderOrder( retour ); + } + + // Attach an event to this slider, possibly including a namespace + function bindEvent ( namespacedEvent, callback ) { + scope_Events[namespacedEvent] = scope_Events[namespacedEvent] || []; + scope_Events[namespacedEvent].push(callback); + + // If the event bound is 'update,' fire it immediately for all handles. + if ( namespacedEvent.split('.')[0] === 'update' ) { + scope_Handles.forEach(function(a, index){ + fireEvent('update', index); + }); + } + } + + // Undo attachment of event + function removeEvent ( namespacedEvent ) { + + var event = namespacedEvent && namespacedEvent.split('.')[0], + namespace = event && namespacedEvent.substring(event.length); + + Object.keys(scope_Events).forEach(function( bind ){ + + var tEvent = bind.split('.')[0], + tNamespace = bind.substring(tEvent.length); + + if ( (!event || event === tEvent) && (!namespace || namespace === tNamespace) ) { + delete scope_Events[bind]; + } + }); + } + + // Updateable: margin, limit, step, range, animate, snap + function updateOptions ( optionsToUpdate, fireSetEvent ) { + + // Spectrum is created using the range, snap, direction and step options. + // 'snap' and 'step' can be updated, 'direction' cannot, due to event binding. + // If 'snap' and 'step' are not passed, they should remain unchanged. + var v = valueGet(), newOptions = testOptions({ + start: [0, 0], + margin: optionsToUpdate.margin, + limit: optionsToUpdate.limit, + step: optionsToUpdate.step === undefined ? options.singleStep : optionsToUpdate.step, + range: optionsToUpdate.range, + animate: optionsToUpdate.animate, + snap: optionsToUpdate.snap === undefined ? options.snap : optionsToUpdate.snap + }); + + ['margin', 'limit', 'range', 'animate'].forEach(function(name){ + + // Only change options that we're actually passed to update. + if ( optionsToUpdate[name] !== undefined ) { + options[name] = optionsToUpdate[name]; + } + }); + + // Save current spectrum direction as testOptions in testRange call + // doesn't rely on current direction + newOptions.spectrum.direction = scope_Spectrum.direction; + scope_Spectrum = newOptions.spectrum; + + // Invalidate the current positioning so valueSet forces an update. + scope_Locations = [-1, -1]; + valueSet(optionsToUpdate.start || v, fireSetEvent); + } + + + // Throw an error if the slider was already initialized. + if ( scope_Target.noUiSlider ) { + throw new Error('Slider was already initialized.'); + } + + // Create the base element, initialise HTML and set classes. + // Add handles and links. + scope_Base = addSlider( options.dir, options.ort, scope_Target ); + scope_Handles = addHandles( options.handles, options.dir, scope_Base ); + + // Set the connect classes. + addConnection ( options.connect, scope_Target, scope_Handles ); + + if ( options.pips ) { + pips(options.pips); + } + + if ( options.tooltips ) { + tooltips(); + } + + scope_Self = { + destroy: destroy, + steps: getCurrentStep, + on: bindEvent, + off: removeEvent, + get: valueGet, + set: valueSet, + updateOptions: updateOptions, + options: originalOptions, // Issue #600 + target: scope_Target, // Issue #597 + pips: pips // Issue #594 + }; + + // Attach user events. + events( options.events ); + + return scope_Self; + +} + + + // Run the standard initializer + function initialize ( target, originalOptions ) { + + if ( !target.nodeName ) { + throw new Error('noUiSlider.create requires a single element.'); + } + + // Test the options and create the slider environment; + var options = testOptions( originalOptions, target ), + slider = closure( target, options, originalOptions ); + + // Use the public value method to set the start values. + slider.set(options.start); + + target.noUiSlider = slider; + return slider; + } + + // Use an object instead of a function for future expansibility; + return { + create: initialize + }; + +})); \ No newline at end of file diff --git a/framework/reon/assets/js/nouislider.min.js b/framework/reon/assets/js/nouislider.min.js new file mode 100644 index 0000000..1370210 --- /dev/null +++ b/framework/reon/assets/js/nouislider.min.js @@ -0,0 +1,3 @@ +/*! nouislider - 8.5.1 - 2016-04-24 16:00:29 */ + +!function(a){"function"==typeof define&&define.amd?define([],a):"object"==typeof exports?module.exports=a():window.noUiSlider=a()}(function(){"use strict";function a(a){return a.filter(function(a){return this[a]?!1:this[a]=!0},{})}function b(a,b){return Math.round(a/b)*b}function c(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.documentElement,e=l();return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(e.x=0),{top:b.top+e.y-d.clientTop,left:b.left+e.x-d.clientLeft}}function d(a){return"number"==typeof a&&!isNaN(a)&&isFinite(a)}function e(a,b,c){i(a,b),setTimeout(function(){j(a,b)},c)}function f(a){return Math.max(Math.min(a,100),0)}function g(a){return Array.isArray(a)?a:[a]}function h(a){var b=a.split(".");return b.length>1?b[1].length:0}function i(a,b){a.classList?a.classList.add(b):a.className+=" "+b}function j(a,b){a.classList?a.classList.remove(b):a.className=a.className.replace(new RegExp("(^|\\b)"+b.split(" ").join("|")+"(\\b|$)","gi")," ")}function k(a,b){return a.classList?a.classList.contains(b):new RegExp("\\b"+b+"\\b").test(a.className)}function l(){var a=void 0!==window.pageXOffset,b="CSS1Compat"===(document.compatMode||""),c=a?window.pageXOffset:b?document.documentElement.scrollLeft:document.body.scrollLeft,d=a?window.pageYOffset:b?document.documentElement.scrollTop:document.body.scrollTop;return{x:c,y:d}}function m(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function n(a,b){return 100/(b-a)}function o(a,b){return 100*b/(a[1]-a[0])}function p(a,b){return o(a,a[0]<0?b+Math.abs(a[0]):b-a[0])}function q(a,b){return b*(a[1]-a[0])/100+a[0]}function r(a,b){for(var c=1;a>=b[c];)c+=1;return c}function s(a,b,c){if(c>=a.slice(-1)[0])return 100;var d,e,f,g,h=r(c,a);return d=a[h-1],e=a[h],f=b[h-1],g=b[h],f+p([d,e],c)/n(f,g)}function t(a,b,c){if(c>=100)return a.slice(-1)[0];var d,e,f,g,h=r(c,b);return d=a[h-1],e=a[h],f=b[h-1],g=b[h],q([d,e],(c-f)*n(f,g))}function u(a,c,d,e){if(100===e)return e;var f,g,h=r(e,a);return d?(f=a[h-1],g=a[h],e-f>(g-f)/2?g:f):c[h-1]?a[h-1]+b(e-a[h-1],c[h-1]):e}function v(a,b,c){var e;if("number"==typeof b&&(b=[b]),"[object Array]"!==Object.prototype.toString.call(b))throw new Error("noUiSlider: 'range' contains invalid value.");if(e="min"===a?0:"max"===a?100:parseFloat(a),!d(e)||!d(b[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");c.xPct.push(e),c.xVal.push(b[0]),e?c.xSteps.push(isNaN(b[1])?!1:b[1]):isNaN(b[1])||(c.xSteps[0]=b[1])}function w(a,b,c){return b?void(c.xSteps[a]=o([c.xVal[a],c.xVal[a+1]],b)/n(c.xPct[a],c.xPct[a+1])):!0}function x(a,b,c,d){this.xPct=[],this.xVal=[],this.xSteps=[d||!1],this.xNumSteps=[!1],this.snap=b,this.direction=c;var e,f=[];for(e in a)a.hasOwnProperty(e)&&f.push([a[e],e]);for(f.length&&"object"==typeof f[0][0]?f.sort(function(a,b){return a[0][0]-b[0][0]}):f.sort(function(a,b){return a[0]-b[0]}),e=0;e2)throw new Error("noUiSlider: 'start' option is incorrect.");a.handles=b.length,a.start=b}function B(a,b){if(a.snap=b,"boolean"!=typeof b)throw new Error("noUiSlider: 'snap' option must be a boolean.")}function C(a,b){if(a.animate=b,"boolean"!=typeof b)throw new Error("noUiSlider: 'animate' option must be a boolean.")}function D(a,b){if(a.animationDuration=b,"number"!=typeof b)throw new Error("noUiSlider: 'animationDuration' option must be a number.")}function E(a,b){if("lower"===b&&1===a.handles)a.connect=1;else if("upper"===b&&1===a.handles)a.connect=2;else if(b===!0&&2===a.handles)a.connect=3;else{if(b!==!1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");a.connect=0}}function F(a,b){switch(b){case"horizontal":a.ort=0;break;case"vertical":a.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function G(a,b){if(!d(b))throw new Error("noUiSlider: 'margin' option must be numeric.");if(0!==b&&(a.margin=a.spectrum.getMargin(b),!a.margin))throw new Error("noUiSlider: 'margin' option is only supported on linear sliders.")}function H(a,b){if(!d(b))throw new Error("noUiSlider: 'limit' option must be numeric.");if(a.limit=a.spectrum.getMargin(b),!a.limit)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders.")}function I(a,b){switch(b){case"ltr":a.dir=0;break;case"rtl":a.dir=1,a.connect=[0,2,1,3][a.connect];break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function J(a,b){if("string"!=typeof b)throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var c=b.indexOf("tap")>=0,d=b.indexOf("drag")>=0,e=b.indexOf("fixed")>=0,f=b.indexOf("snap")>=0,g=b.indexOf("hover")>=0;if(d&&!a.connect)throw new Error("noUiSlider: 'drag' behaviour must be used with 'connect': true.");a.events={tap:c||f,drag:d,fixed:e,snap:f,hover:g}}function K(a,b){var c;if(b!==!1)if(b===!0)for(a.tooltips=[],c=0;cd&&(e+=Math.abs(d)),e>100&&(d-=e-100),[f(d),f(e)]):[d,e]}function p(a,b){a.preventDefault();var c,d,e=0===a.type.indexOf("touch"),f=0===a.type.indexOf("mouse"),g=0===a.type.indexOf("pointer"),h=a;return 0===a.type.indexOf("MSPointer")&&(g=!0),e&&(c=a.changedTouches[0].pageX,d=a.changedTouches[0].pageY),b=b||l(),(f||g)&&(c=a.clientX+b.x,d=a.clientY+b.y),h.pageOffset=b,h.points=[c,d],h.cursor=f||g,h}function q(a,b){var c=document.createElement("div"),e=document.createElement("div"),f=[d.cssClasses.handleLower,d.cssClasses.handleUpper];return a&&f.reverse(),i(e,d.cssClasses.handle),i(e,f[b]),i(c,d.cssClasses.origin),c.appendChild(e),c}function r(a,b,c){switch(a){case 1:i(b,d.cssClasses.connect),i(c[0],d.cssClasses.background);break;case 3:i(c[1],d.cssClasses.background);case 2:i(c[0],d.cssClasses.connect);case 0:i(b,d.cssClasses.background)}}function s(a,b,c){var d,e=[];for(d=0;a>d;d+=1)e.push(c.appendChild(q(b,d)));return e}function t(a,b,c){i(c,d.cssClasses.target),0===a?i(c,d.cssClasses.ltr):i(c,d.cssClasses.rtl),0===b?i(c,d.cssClasses.horizontal):i(c,d.cssClasses.vertical);var e=document.createElement("div");return i(e,d.cssClasses.base),c.appendChild(e),e}function u(a,b){if(!d.tooltips[b])return!1;var c=document.createElement("div");return c.className=d.cssClasses.tooltip,a.firstChild.appendChild(c)}function v(){d.dir&&d.tooltips.reverse();var a=W.map(u);d.dir&&(a.reverse(),d.tooltips.reverse()),S("update",function(b,c,e){a[c]&&(a[c].innerHTML=d.tooltips[c]===!0?b[c]:d.tooltips[c].to(e[c]))})}function w(a,b,c){if("range"===a||"steps"===a)return _.xVal;if("count"===a){var d,e=100/(b-1),f=0;for(b=[];(d=f++*e)<=100;)b.push(d);a="positions"}return"positions"===a?b.map(function(a){return _.fromStepping(c?_.getStep(a):a)}):"values"===a?c?b.map(function(a){return _.fromStepping(_.getStep(_.toStepping(a)))}):b:void 0}function x(b,c,d){function e(a,b){return(a+b).toFixed(7)/1}var f=_.direction,g={},h=_.xVal[0],i=_.xVal[_.xVal.length-1],j=!1,k=!1,l=0;return _.direction=0,d=a(d.slice().sort(function(a,b){return a-b})),d[0]!==h&&(d.unshift(h),j=!0),d[d.length-1]!==i&&(d.push(i),k=!0),d.forEach(function(a,f){var h,i,m,n,o,p,q,r,s,t,u=a,v=d[f+1];if("steps"===c&&(h=_.xNumSteps[f]),h||(h=v-u),u!==!1&&void 0!==v)for(i=u;v>=i;i=e(i,h)){for(n=_.toStepping(i),o=n-l,r=o/b,s=Math.round(r),t=o/s,m=1;s>=m;m+=1)p=l+m*t,g[p.toFixed(5)]=["x",0];q=d.indexOf(i)>-1?1:"steps"===c?2:0,!f&&j&&(q=0),i===v&&k||(g[n.toFixed(5)]=[i,q]),l=n}}),_.direction=f,g}function y(a,b,c){function e(a,b){var c=b===d.cssClasses.value,e=c?m:n,f=c?k:l;return b+" "+e[d.ort]+" "+f[a]}function f(a,b,c){return'class="'+e(c[1],b)+'" style="'+d.style+": "+a+'%"'}function g(a,e){_.direction&&(a=100-a),e[1]=e[1]&&b?b(e[0],e[1]):e[1],j+="
",e[1]&&(j+="
"+c.to(e[0])+"
")}var h=document.createElement("div"),j="",k=[d.cssClasses.valueNormal,d.cssClasses.valueLarge,d.cssClasses.valueSub],l=[d.cssClasses.markerNormal,d.cssClasses.markerLarge,d.cssClasses.markerSub],m=[d.cssClasses.valueHorizontal,d.cssClasses.valueVertical],n=[d.cssClasses.markerHorizontal,d.cssClasses.markerVertical];return i(h,d.cssClasses.pips),i(h,0===d.ort?d.cssClasses.pipsHorizontal:d.cssClasses.pipsVertical),Object.keys(a).forEach(function(b){g(b,a[b])}),h.innerHTML=j,h}function z(a){var b=a.mode,c=a.density||1,d=a.filter||!1,e=a.values||!1,f=a.stepped||!1,g=w(b,e,f),h=x(c,b,g),i=a.format||{to:Math.round};return Z.appendChild(y(h,d,i))}function A(){var a=V.getBoundingClientRect(),b="offset"+["Width","Height"][d.ort];return 0===d.ort?a.width||V[b]:a.height||V[b]}function B(a,b,c){var e;for(e=0;e1?!1:e.hover&&b.buttons?!1:(b.calcPoint=b.points[d.ort],void c(b,e)))},g=[];return a.split(" ").forEach(function(a){b.addEventListener(a,f,!1),g.push([a,f])}),g}function E(a,b){if(-1===navigator.appVersion.indexOf("MSIE 9")&&0===a.buttons&&0!==b.buttonsProperty)return F(a,b);var c,d,e=b.handles||W,f=!1,g=100*(a.calcPoint-b.start)/b.baseSize,h=e[0]===W[0]?0:1;if(c=o(g,b.positions,e.length>1),f=L(e[0],c[h],1===e.length),e.length>1){if(f=L(e[1],c[h?0:1],!1)||f)for(d=0;d1&&i(Z,d.cssClasses.drag);var h=function(){return!1};document.body.noUiListener=h,document.body.addEventListener("selectstart",h,!1)}void 0!==b.handleNumber&&B("start",b.handleNumber)}function I(a){var b,f,g=a.calcPoint,h=0;return a.stopPropagation(),W.forEach(function(a){h+=c(a)[d.style]}),b=h/2>g||1===W.length?0:1,W[b].hasAttribute("disabled")&&(b=b?0:1),g-=c(V)[d.style],f=100*g/A(),d.events.snap||e(Z,d.cssClasses.tap,d.animationDuration),W[b].hasAttribute("disabled")?!1:(L(W[b],f),B("slide",b,!0),B("set",b,!0),B("change",b,!0),void(d.events.snap&&H(a,{handles:[W[b]]})))}function J(a){var b=a.calcPoint-c(V)[d.style],e=_.getStep(100*b/A()),f=_.fromStepping(e);Object.keys(ba).forEach(function(a){"hover"===a.split(".")[0]&&ba[a].forEach(function(a){a.call(X,f)})})}function K(a){if(a.fixed||W.forEach(function(a,b){D(Y.start,a.children[0],H,{handles:[a],handleNumber:b})}),a.tap&&D(Y.start,V,I,{handles:W}),a.hover&&D(Y.move,V,J,{hover:!0}),a.drag){var b=[V.querySelector("."+d.cssClasses.connect)];i(b[0],d.cssClasses.draggable),a.fixed&&b.push(W[b[0]===W[0]?1:0].children[0]),b.forEach(function(a){D(Y.start,a,H,{handles:W})})}}function L(a,b,c){var e=a!==W[0]?1:0,g=$[0]+d.margin,h=$[1]-d.margin,k=$[0]+d.limit,l=$[1]-d.limit;return W.length>1&&(b=e?Math.max(b,g):Math.min(b,h)),c!==!1&&d.limit&&W.length>1&&(b=e?Math.min(b,k):Math.max(b,l)),b=_.getStep(b),b=f(b),b===$[e]?!1:(window.requestAnimationFrame?window.requestAnimationFrame(function(){a.style[d.style]=b+"%"}):a.style[d.style]=b+"%",a.previousSibling||(j(a,d.cssClasses.stacking),b>50&&i(a,d.cssClasses.stacking)),$[e]=b,aa[e]=_.fromStepping(b),B("update",e),!0)}function M(a,b){var c,e,f;for(d.limit&&(a+=1),c=0;a>c;c+=1)e=c%2,f=b[e],null!==f&&f!==!1&&("number"==typeof f&&(f=String(f)),f=d.format.from(f),(f===!1||isNaN(f)||L(W[e],_.toStepping(f),c===3-d.dir)===!1)&&B("update",e))}function N(a,b){var c,f,h=g(a);for(b=void 0===b?!0:!!b,d.dir&&d.handles>1&&h.reverse(),d.animate&&-1!==$[0]&&e(Z,d.cssClasses.tap,d.animationDuration),c=W.length>1?3:1,1===h.length&&(c=1),M(c,h),f=0;f=c[1]?c[2]:c[0]||!1;return[i,f]});return C(a)}function S(a,b){ba[a]=ba[a]||[],ba[a].push(b),"update"===a.split(".")[0]&&W.forEach(function(a,b){B("update",b)})}function T(a){var b=a&&a.split(".")[0],c=b&&a.substring(b.length);Object.keys(ba).forEach(function(a){var d=a.split(".")[0],e=a.substring(d.length);b&&b!==d||c&&c!==e||delete ba[a]})}function U(a,b){var c=P(),e=O({start:[0,0],margin:a.margin,limit:a.limit,step:void 0===a.step?d.singleStep:a.step,range:a.range,animate:a.animate,snap:void 0===a.snap?d.snap:a.snap});["margin","limit","range","animate"].forEach(function(b){void 0!==a[b]&&(d[b]=a[b])}),e.spectrum.direction=_.direction,_=e.spectrum,$=[-1,-1],N(a.start||c,b)}var V,W,X,Y=m(),Z=b,$=[-1,-1],_=d.spectrum,aa=[],ba={};if(Z.noUiSlider)throw new Error("Slider was already initialized.");return V=t(d.dir,d.ort,Z),W=s(d.handles,d.dir,V),r(d.connect,Z,W),d.pips&&z(d.pips),d.tooltips&&v(),X={destroy:Q,steps:R,on:S,off:T,get:P,set:N,updateOptions:U,options:n,target:Z,pips:z},K(d.events),X}function Q(a,b){if(!a.nodeName)throw new Error("noUiSlider.create requires a single element.");var c=O(b,a),d=P(a,c,b);return d.set(c.start),a.noUiSlider=d,d}x.prototype.getMargin=function(a){return 2===this.xPct.length?o(this.xVal,a):!1},x.prototype.toStepping=function(a){return a=s(this.xVal,this.xPct,a),this.direction&&(a=100-a),a},x.prototype.fromStepping=function(a){return this.direction&&(a=100-a),t(this.xVal,this.xPct,a)},x.prototype.getStep=function(a){return this.direction&&(a=100-a),a=u(this.xPct,this.xSteps,this.snap,a),this.direction&&(a=100-a),a},x.prototype.getApplicableStep=function(a){var b=r(a,this.xPct),c=100===a?2:1;return[this.xNumSteps[b-2],this.xVal[b-c],this.xNumSteps[b-c]]},x.prototype.convert=function(a){return this.getStep(this.toStepping(a))};var R={to:function(a){return void 0!==a&&a.toFixed(2)},from:Number};return{create:Q}}); \ No newline at end of file diff --git a/framework/reon/assets/js/repeater.js b/framework/reon/assets/js/repeater.js new file mode 100644 index 0000000..cfa4ccb --- /dev/null +++ b/framework/reon/assets/js/repeater.js @@ -0,0 +1,680 @@ +(function ($) { + "use strict"; + $.fn.rn_repeater = function (options) { + return this.each(function () { + // Default options. + var settings = $.extend({ + accordion: true, + select_cloned: false, + select_default: false, + select_new: false, + select_all: false, + max_sections: 1000, + max_sections_msg: 'Too many sections', + selectors: { + repeater_container: '.rn-repeater', + sections_container: '.rn-repeater-sections', + section: '.rn-repeater-section', + section_head: '.rn-repeater-section-head', + section_head_subcontainers: '.rn-repeater-head-controls,.rn-repeater-head-buttons', + active_section: '.rn-active-section', + delete_button: '.rn-repeater-head-delete', + clone_button: '.rn-repeater-head-duplicate', + sortable_button: '.rn-repeater-head-sort', + sortable_section: '.rn-sortable-repeater', + columns_head: '.rn-repeater-head', + section_head: '.rn-repeater-section-head', + section_body: '.rn-repeater-section-body', + section_body_inner: '.rn-repeater-section-inner', + option_parents_path: '.rn-container,.rn-repeater-pfx', + section_body_app_path: '.rn-ui-subapp', + repeater_footer: '.rn-repeater-template-adder', + repeater_footer_adder_list: '.rn-repeater-template-list', + repeater_footer_adder_btn: '.rn-repeater-template-btn', + repeater_templates_container: '.rn-repeater-templates' + + }, + css_classes: { + collapsible_repeater: 'rn-repeater-collapsible', + simple_repeater: 'rn-simple-repeater', + template_container: 'rn-repeater-templates', + sortable_state: 'rn-sortable-repeater-state', + panel_repeater: 'rn-repeater-panel', + active_section: 'rn-active-section', + repeater_clickable: 'rn-repeater-clickable' + }, + columns_head_ready: null, + section_header_ready: null, + section_body_ready: null, + section_added: null, + section_cloned: null, + section_expanded: null, + section_collapsed: null, + section_removed: null, + update_input_attribute: null, + footer_ready: null, + get_input_display_text: null, + }, options); + + var obj = $(this); + var opt = settings; + prepere_options(obj); + init(); + + + function init() { + sortable_repeater(obj.children(opt.selectors.sortable_section)); + process_sections_order(obj.children(opt.selectors.sections_container).children(opt.selectors.section)); + obj.children(opt.selectors.sections_container).children(opt.selectors.section).each(function () { + process_section($(this)); + }); + process_repeater_footer(obj.children(opt.selectors.repeater_footer)); + + + if (opt.select_all == true) { + obj.children(opt.selectors.sections_container).children(opt.selectors.section).each(function () { + expand_section($(this), false); + }); + } else if (!obj.hasClass(opt.css_classes.panel_repeater) && opt.select_default == true) { + + var is_collapsible = obj.hasClass(opt.css_classes.collapsible_repeater); + + if (is_collapsible == true) { + obj.children(opt.selectors.sections_container).children(opt.selectors.section).first().each(function () { + select_section($(this)); + }); + } else { + obj.children(opt.selectors.sections_container).children(opt.selectors.section).each(function () { + select_section($(this)); + }); + } + + } + + + + + + obj.children(opt.selectors.columns_head).each(function () { + var col_head = $(this); + if ($.isFunction(opt.columns_head_ready)) { + opt.columns_head_ready(col_head); + } + }); + + + + + } + + function sortable_repeater(sections_container) { + var srtbl = { + handle: opt.selectors.sortable_button, + placeholder: opt.css_classes.sortable_state, + axis: "y", + opacity: 0.7, + revert: true, + update: function (event, ui) { + process_sections_order(sections_container.children(opt.selectors.section)); + } + } + if (sections_container.attr('data-sortable-connectwith') && sections_container.attr('data-sortable-connectwith') != '') { + srtbl.connectWith = '.' + sections_container.attr('data-sortable-connectwith'); + } + sections_container.sortable(srtbl); + } + + function process_section(section) { + section.children(opt.selectors.section_head).each(function () { + process_section_head($(this)); + }); + + var s_contents = section.children(opt.selectors.section_body).children(opt.selectors.section_body_inner).children(opt.selectors.section_body_app_path); + if ($.isFunction(opt.section_body_ready)) { + opt.section_body_ready(s_contents); + } + + section.find('input,textarea,select').each(function () { + var inp = $(this); + if (inp.attr('data-repeater-title') && inp.attr('data-repeater-title') == obj.attr('data-repeater-id')) { + inp.on('change', function () { + process_section_title(section, inp, get_input_value(inp)); + }); + if (inp[0].tagName != 'SELECT') { + inp.on('keyup', function () { + process_section_title(section, inp, get_input_value(inp)); + }); + } + process_section_title(section, inp, get_input_value(inp)); + } + + if (inp.attr('data-repeater-subtitle') && inp.attr('data-repeater-subtitle') == obj.attr('data-repeater-id')) { + + inp.on('change', function () { + process_section_title(section, inp, get_input_value(inp)); + }); + + inp.on('keyup', function () { + process_section_title(section, inp, get_input_value(inp)); + }); + process_section_title(section, inp, get_input_value(inp)); + } + + }); + } + + function process_section_head(s_head) { + s_head.disableSelection(); + + var is_collapsible = s_head.parent().parent().parent().hasClass(opt.css_classes.collapsible_repeater); + + if (is_collapsible == true) { + s_head.on('click', function () { + var section = s_head.parent(); + select_section(section); + }); + } + s_head.find(opt.selectors.clone_button).on('click', function () { + if (get_can_add_section()) { + clone_section(s_head.parent()); + } else { + prompt_cant_add_section(); + } + + }); + + s_head.find(opt.selectors.delete_button).on('click', function () { + remove_section(s_head.parent()); + }); + + s_head.find(opt.selectors.section_head_subcontainers).on('click', function (e) { + if (e.target) { + var target = $(e.target); + if (target.hasClass(opt.css_classes.repeater_clickable)) { + return true; + } + } + + return false; + }); + + init_dyn(s_head); + + if ($.isFunction(opt.section_header_ready)) { + opt.section_header_ready(s_head); + } + + + + + s_head.find('input,textarea,select').last().parents('.rn-field,.rn-group').addClass('rn-last'); + + } + + function process_section_title(section, input, inp_value) { + + var rp_title = section.children('.rn-repeater-section-head').find('.rn-repeater-head-title'); + if (input.attr('data-repeater-title')) { + rp_title.attr('data-repeater-title', inp_value); + } + if (input.attr('data-repeater-subtitle')) { + rp_title.attr('data-repeater-subtitle', inp_value); + } + var rp_t = ''; + var rp_st = ''; + + + if (rp_title.attr('data-repeater-title')) { + rp_t = rp_title.attr('data-repeater-title'); + } + + if (rp_t == '' && rp_title.attr('data-repeater-default-title')) { + rp_t = rp_title.attr('data-repeater-default-title'); + } + + if (rp_title.attr('data-repeater-subtitle')) { + rp_st = rp_title.attr('data-repeater-subtitle'); + } + + if (rp_st == '' && rp_title.attr('data-repeater-default-subtitle')) { + rp_st = rp_title.attr('data-repeater-default-subtitle'); + } + + rp_title.html(rp_t + '' + rp_st + ''); + + } + + function process_sections_order(sections) { + var cnt = 0; + sections.each(function () { + var section = $(this); + if (!obj.hasClass(opt.css_classes.panel_repeater)) { + section.attr('data-repeater-pfx', '[' + cnt + ']'); + generate_input_attr(section); + } + cnt++; + }); + + set_section_count(); + } + + function remove_section(section) { + section.fadeOut(300, function () { + section.remove(); + if ($.isFunction(opt.section_removed)) { + opt.section_removed(); + } + process_sections_order(obj.children(opt.selectors.sections_container).children(opt.selectors.section)); + }); + } + + function add_section(template) { + var new_section = $(template.html()).appendTo(obj.children(opt.selectors.sections_container)); + var styles = ''; + if (new_section.attr('style')) + { + styles = new_section.attr('style'); + } + process_sections_order(obj.children(opt.selectors.sections_container).children(opt.selectors.section)); + new_section.addClass('rn-max-h'); + process_section(new_section); + if ($.isFunction(opt.section_added)) { + opt.section_added(new_section); + } + new_section.hide().fadeIn(300, function () { + new_section.removeClass('rn-max-h'); + process_added_section_dyn(new_section); + if (styles != '' && new_section.addAttr) { + new_section.addAttr('style', styles); + } + if (opt.select_new === true) { + select_section(new_section); + } + }); + + } + + function clone_section(section) { + try { + var cloned = section.clone(); + var styles = ''; + if (cloned.attr('style')) + { + styles = cloned.attr('style'); + } + cloned.removeClass(opt.css_classes.active_section); + + cloned.insertAfter(section).hide().fadeIn(300, function () { + if (styles != '' && cloned.addAttr) { + cloned.addAttr('style', styles); + } + if (opt.select_cloned === true) { + select_section(cloned); + } + if ($.isFunction(opt.section_cloned)) { + opt.section_cloned(cloned); + } + process_sections_order(obj.children(opt.selectors.sections_container).children(opt.selectors.section)); + process_section(cloned); + }); + } catch (excp) { + + } + + } + + function process_repeater_footer(footer) { + + footer.find(opt.selectors.repeater_footer_adder_btn).on('click', function (evt) { + evt.preventDefault(); + + if (get_can_add_section()) { + var tmp_list = footer.find(opt.selectors.repeater_footer_adder_list); + + if (tmp_list.length > 0) { + var temp_id = tmp_list.find(":selected").val(); + obj.children(opt.selectors.repeater_templates_container).children().each(function () { + var tmplt = $(this); + if (tmplt.attr('data-repeater-template-id') == temp_id) { + add_section(tmplt); + return false; + } + }); + } else { + obj.children(opt.selectors.repeater_templates_container).children().each(function () { + add_section($(this)); + return false; + }); + } + } else { + prompt_cant_add_section(); + } + return false; + }); + if ($.isFunction(opt.footer_ready)) { + opt.footer_ready(footer); + } + } + + function select_section(section) { + if (!obj.hasClass(opt.css_classes.simple_repeater)) { + + if (opt.accordion == true) { + + if (section.hasClass(opt.css_classes.active_section)) { + collapse_section(section); + } else { + expand_section(section, true); + } + } else { + + toggle_section(section); + } + } + } + + function toggle_section(section) { + if (section.hasClass(opt.css_classes.active_section)) { + collapse_section(section); + } else { + expand_section(section, false); + } + } + + function expand_section(section, close_siblings) { + if (close_siblings == true) { + section.siblings(opt.selectors.active_section).each(function () { + collapse_section($(this)); + }); + } + + var styles = ''; + var c_h = section.outerHeight(); + if (section.attr('style')) { + styles = section.attr('style'); + } + + section.addClass(opt.css_classes.active_section); + var h = section.outerHeight(); + section.css('overflow', 'hidden').css('height', c_h + 'px').animate({ + height: h + 'px' + }, 300, function () { + section.removeAttr('style'); + + if (styles != '' && section.addAttr) { + section.addAttr('style', styles); + } + + if ($.isFunction(opt.section_expanded)) { + opt.section_expanded(section); + } + }); + } + + function collapse_section(section) { + var styles = ''; + var h = section.children(opt.selectors.section_head).outerHeight(); + if (section.attr('style')) { + styles = section.attr('style'); + } + + section.css('overflow', 'hidden').animate({ + height: h + 'px' + }, 300, function () { + section.removeClass(opt.css_classes.active_section); + section.removeAttr('style'); + if (styles != '' && section.addAttr) { + section.addAttr('style', styles); + } + + if ($.isFunction(opt.section_collapsed)) { + opt.section_collapsed(section); + } + }); + } + + function prompt_cant_add_section() { + alert(opt.max_sections_msg); + } + + function get_can_add_section() { + if (get_section_count() < opt.max_sections) { + return true; + } + return false; + } + + function get_section_count() { + if (obj.attr('data-sections_count')) { + return obj.attr('data-sections_count'); + } + return 0; + } + + function set_section_count() { + var sctn_count = obj.children(opt.selectors.sections_container).children(opt.selectors.section).length; + obj.attr('data-sections_count', sctn_count); + } + + function prepere_options(opt_obj) { + if (opt_obj.attr('data-repeater-accordion') && opt_obj.attr('data-repeater-accordion') != '') { + if (opt_obj.attr('data-repeater-accordion') == true || opt_obj.attr('data-repeater-accordion') == 'true') { + opt.accordion = true; + } else { + opt.accordion = false; + } + } + + + if (opt_obj.attr('data-repeater-select-all') && opt_obj.attr('data-repeater-select-all') != '') { + if (opt_obj.attr('data-repeater-select-all') == true || opt_obj.attr('data-repeater-select-all') == 'true') { + + opt.select_all = true; + } else { + opt.select_all = false; + } + } + + if (opt_obj.attr('data-repeater-select-cloned') && opt_obj.attr('data-repeater-select-cloned') != '') { + if (opt_obj.attr('data-repeater-select-cloned') == true || opt_obj.attr('data-repeater-select-cloned') == 'true') { + opt.select_cloned = true; + } else { + opt.select_cloned = false; + } + } + if (opt_obj.attr('data-repeater-select-default') && opt_obj.attr('data-repeater-select-default') != '') { + if (opt_obj.attr('data-repeater-select-default') == true || opt_obj.attr('data-repeater-select-default') == 'true') { + opt.select_default = true; + } else { + opt.select_default = false; + } + } + + + + if (opt_obj.attr('data-repeater-select-new') && opt_obj.attr('data-repeater-select-new') != '') { + if (opt_obj.attr('data-repeater-select-new') == true || opt_obj.attr('data-repeater-select-new') == 'true') { + opt.select_new = true; + } else { + opt.select_new = false; + } + } + + if (opt_obj.attr('data-max_sections') && opt_obj.attr('data-max_sections') != '') { + opt.max_sections = opt_obj.attr('data-max_sections'); + } + + if (opt_obj.attr('data-max_sections_msg')) { + opt.max_sections_msg = opt_obj.attr('data-max_sections_msg'); + } + + } + + function generate_input_attr(section) { + section.find('input,textarea,select').each(function () { + var inpt = $(this); + + if (inpt.attr('id')) { + inpt.removeAttr('id'); + } + if (inpt.attr('name')) { + inpt.removeAttr('name'); + } + if (input_is_template(inpt) == false) { + if (inpt.attr('data-repeater-name')) { + var attr = ''; + inpt.parents(opt.selectors.option_parents_path).each(function () { + var pr = $(this); + if (pr.attr('data-repeater-pfx')) { + attr = pr.attr('data-repeater-pfx') + attr; + } + }); + var name_attr = attr + '[' + inpt.attr('data-repeater-name') + ']'; + if (inpt.attr('data-repeater-name-i')) { + name_attr = name_attr + '[' + inpt.attr('data-repeater-name-i') + ']'; + } + var id_attr = generate_input_id_from_value(name_attr, inpt.parents(opt.selectors.option_parents_path)); + + if ($.isFunction(opt.update_input_attribute)) { + opt.update_input_attribute(inpt, name_attr, 'name'); + opt.update_input_attribute(inpt, id_attr, 'id'); + } else { + inpt.attr('name', name_attr); + inpt.attr('id', id_attr); + } + } + } + }); + + section.find('input,textarea,select').each(function () { + var inpt = $(this); + if (inpt.attr('data-repeater-in-template')) { + if (inpt.attr('id')) { + inpt.removeAttr('id'); + } + if (inpt.attr('name')) { + inpt.removeAttr('name'); + } + inpt.removeAttr('data-repeater-in-template'); + } + }); + + } + + function generate_input_id_from_value(value, parents) { + var first_pfx = ''; + if (parents.length > 0) { + if ($(parents[parents.length - 1]).attr('data-repeater-pfx')) { + first_pfx = $(parents[parents.length - 1]).attr('data-repeater-pfx'); + } + } + return value.replace(/\[|\]/g, '').replace(first_pfx, ''); + } + + function input_is_template(input) { + + input.parents(opt.selectors.repeater_templates_container).each(function () { + input.attr('data-repeater-in-template', 'yes'); + return true; + }); + return false; + } + + function get_input_value(input) { + if ($.isFunction(opt.get_input_display_text)) { + return opt.get_input_display_text(input); + } else { + if (input[0].tagName == 'SELECT') { + var rsl = ''; + input.find(':selected').each(function () { + var option = $(this); + if (rsl != '') + rsl != ', '; + + rsl += option.text(); + }); + return rsl; + } else { + return input.val(); + } + } + } + + function init_dyn(contents) { + contents.find('.rn-dyn-switcher select').each(function () { + var switcher = $(this); + contents.find('.rn-dyn-switcher select').on('change', function () { + update_switcher_contents(switcher); + }); + + }); + + } + + function process_added_section_dyn(section) { + section.find('.rn-dyn-switcher select').each(function () { + var switcher = $(this); + update_switcher_contents(switcher); + }); + } + + function update_switcher_contents(switcher) { + var contents = get_dyn_contents(switcher.val()); + + if (switcher.attr('data-dyn_switcher_width')) { + contents.css('width', switcher.attr('data-dyn_switcher_width')); + } + var switcher_parent = switcher.parents('.rn-repeater-head-controls'); + switcher_parent.find('.rn-field-wrapper').each(function () { + var others = $(this); + if (others.attr('data-dyn_switcher_target') == switcher.attr('data-dyn_switcher_id')) { + others.remove(); + } + }); + if (contents.length == 0) { + return; + } + switcher.parents('.rn-repeater-section-head').addClass('rn-head-max-h'); + switcher_parent.append(contents); + + contents.hide(); + if (switcher.attr('data-dyn_switcher_exclude')) { + remove_dyn_exclude(switcher, switcher_parent); + } + + process_sections_order(obj.children(opt.selectors.sections_container).children(opt.selectors.section)); + + if ($.isFunction(opt.section_header_ready)) { + opt.section_header_ready(contents); + } + + contents.fadeIn(300, function () { + switcher.parents('.rn-repeater-section-head').removeClass('rn-head-max-h'); + }); + + } + + function remove_dyn_exclude(switcher, contents) { + var excludes = switcher.attr('data-dyn_switcher_exclude').split(','); + for (var i = 0; i < excludes.length; i++) { + var fld_id = excludes[i]; + contents.find('.rn-field-wrapper').each(function () { + var dyn_field = $(this); + if (dyn_field.attr('data-dyn_field_id') && dyn_field.attr('data-dyn_field_id') == fld_id) { + dyn_field.remove(); + } + }); + } + } + + function get_dyn_contents(dyn_ref) { + var dyn_cont = $('.rn-dynamic-contents').find('#dyn_' + dyn_ref); + if (dyn_cont.length > 0) { + return $(dyn_cont.html()); + } + return ''; + } + }); + }; + +}(jQuery)); \ No newline at end of file diff --git a/framework/reon/assets/js/rn-autoid.js b/framework/reon/assets/js/rn-autoid.js new file mode 100644 index 0000000..7115734 --- /dev/null +++ b/framework/reon/assets/js/rn-autoid.js @@ -0,0 +1,73 @@ +(function($) { + "use strict"; + $.fn.rn_autoid = function(options) { + + + + return this.each(function() { + // Default options. + + var settings = $.extend({ + autoid_id: 'autoid', + autoid_prefix: '', + autoid_suffix: '', + }, options); + + var obj = $(this); + var opt = settings; + prepere_options(obj); + + + if (obj.val() == '') { + obj.val(get_autoid_value(settings.autoid_id, settings.autoid_prefix, settings.autoid_suffix)); + } + + function get_autoid_value(autoid, prefix, suffix) { + var auto_value = 0; + if (jQuery.data(document.body, autoid)) { + auto_value = jQuery.data(document.body, autoid); + } else { + auto_value = get_date_int(); + } + + auto_value++; + jQuery.data(document.body, autoid, auto_value); + + return prefix + auto_value + suffix; + } + + function get_date_int() { + var dt = new Date(); + var dt_str = '' + dt.getMonth(); + dt_str = dt_str + '' + dt.getDate(); + dt_str = dt_str + '' + dt.getHours(); + dt_str = dt_str + '' + dt.getMinutes(); + dt_str = dt_str + '' + dt.getSeconds(); + + var dt_int = Number(dt_str); + if (isNaN(dt_str)) { + dt_int = dt.getTime(); + } + + return dt_int; + } + + function prepere_options(optobj) { + if (optobj.attr('data-autoid_id') && optobj.attr('data-autoid_id') != '') { + opt.autoid_id = optobj.attr('data-autoid_id'); + } + + if (optobj.attr('data-autoid_prefix')) { + opt.autoid_prefix = optobj.attr('data-autoid_prefix'); + } + if (optobj.attr('data-autoid_suffix')) { + opt.autoid_suffix = optobj.attr('data-autoid_suffix'); + } + } + }); + + + }; + +}(jQuery)); + diff --git a/framework/reon/assets/js/rn-datetime.js b/framework/reon/assets/js/rn-datetime.js new file mode 100644 index 0000000..d2113f9 --- /dev/null +++ b/framework/reon/assets/js/rn-datetime.js @@ -0,0 +1,156 @@ +(function ($) { +"use strict"; + $.fn.rn_datetime = function (options) { + + + + return this.each(function () { + // Default options. + + var settings = $.extend({}, options); + + var obj = $(this); + var opt = settings; + prepere_options(obj); + + $('#ui-datepicker-div').remove(); + + opt.beforeShow = function (dp, gg) { + gg.dpDiv.addClass('rn-datetimepicker'); + if ($(dp).attr('id') == 'rn-date') { + gg.dpDiv.addClass('rn-change-date'); + } else { + gg.dpDiv.removeClass('rn-change-date'); + } + + + }; + + + if (obj.hasClass('rn-dateonly')) { + obj.datepicker(opt); + } else if (obj.hasClass('rn-timeonly')) { + + obj.timepicker(opt); + + } else { + obj.datetimepicker(opt); + } + + + function prepere_options(optobj) { + + if (optobj.attr('data-time-locale')) { + if (rn_uiv.culture[optobj.attr('data-time-locale')]) { + $.extend(opt, rn_uiv.culture[optobj.attr('data-time-locale')]); + opt.isRTL = false; + if (opt.is_RTL == 'true') { + opt.isRTL = true; + } + } + } + + if (optobj.attr('data-date-locale')) { + if (rn_uiv.culture[optobj.attr('data-date-locale')]) { + $.extend(opt, rn_uiv.culture[optobj.attr('data-date-locale')]); + opt.isRTL = false; + if (opt.is_RTL == 'true') { + opt.isRTL = true; + } + } + } + + $.extend(opt, prepere_date_options(optobj)); + $.extend(opt, prepere_time_options(optobj)); + + + } + + function prepere_date_options(optobj) { + var new_opt = {}; + new_opt.showButtonPanel = true; + new_opt.changeMonth = false; + new_opt.changeYear = false; + new_opt.showWeek = false; + new_opt.showOtherMonths = false; + new_opt.selectOtherMonths = false; + new_opt.dateFormat = 'mm-dd-yy'; + if (optobj.attr('data-date-format')) { + new_opt.dateFormat = obj.attr('data-date-format'); + } + if (optobj.attr('data-number-of-months') && optobj.attr('data-number-of-months') != '') { + new_opt.numberOfMonths = parseInt(optobj.attr('data-number-of-months')); + } + + if (optobj.attr('data-min-date')) { + new_opt.minDate = obj.attr('data-min-date'); + } + + if (optobj.attr('data-max-date')) { + new_opt.maxDate = optobj.attr('data-max-date'); + } + + if (optobj.attr('data-show-button-panel') && optobj.attr('data-show-button-panel') == 'true') { + new_opt.showButtonPanel = true; + } + + if (optobj.attr('data-change-month') && optobj.attr('data-change-month') == 'true') { + new_opt.changeMonth = true; + } + + if (optobj.attr('data-change-year') && optobj.attr('data-change-year') == 'true') { + new_opt.changeYear = true; + } + + if (optobj.attr('data-show-week') && optobj.attr('data-show-week') == 'true') { + new_opt.showWeek = true; + } + + if (optobj.attr('data-first-day') && optobj.attr('data-first-day') != '') { + new_opt.firstDay = parseInt(optobj.attr('data-first-day')); + } + + if (optobj.attr('data-show-other-months') && optobj.attr('data-show-other-months') == 'true') { + new_opt.showOtherMonths = true; + } + if (optobj.attr('data-select-other-months') && optobj.attr('data-select-other-months') == 'true') { + new_opt.selectOtherMonths = true; + } + return new_opt; + } + + function prepere_time_options(optobj) { + //Time Settings + var new_opt = {}; + new_opt.controlType = 'select'; + new_opt.showButtonPanel = true; + new_opt.oneLine = false; + new_opt.timeFormat = "HH:mm:ss z"; + + if (optobj.attr('data-time-format')) { + new_opt.timeFormat = optobj.attr('data-time-format'); + } + + if (optobj.attr('data-one-line') && optobj.attr('data-one-line') == 'true') { + new_opt.oneLine = true; + } + + if (optobj.attr('data-step-hour')) { + new_opt.stepHour = optobj.attr('data-step-hour'); + } + + if (optobj.attr('data-step-minute')) { + new_opt.stepMinute = optobj.attr('data-step-minute'); + } + + if (optobj.attr('data-step-second')) { + new_opt.stepSecond = optobj.attr('data-step-second'); + } + return new_opt; + } + }); + + + }; + +}(jQuery)); \ No newline at end of file diff --git a/framework/reon/assets/js/rn-noui.js b/framework/reon/assets/js/rn-noui.js new file mode 100644 index 0000000..24671ac --- /dev/null +++ b/framework/reon/assets/js/rn-noui.js @@ -0,0 +1,228 @@ +(function ($) { +"use strict"; + $.fn.noui = function (options) { + + return this.each(function () { + var settings = $.extend({ + start: 0, + step: 1, + range: {} + }, options); + + var obj = $(this); + var opt = settings; + + var units = obj.attr('data-units') ? (obj.attr('data-units')).split(",") : []; + + var inner_change = false; + var update_change = false; + + + var inputleft = obj.parents('.rn-slider').find('.rn-noui-left'); + var inputright = obj.parents('.rn-slider').find('.rn-noui-right'); + + inner_change = true + create(obj, inputleft, inputright); + inner_change = false; + var decimals = 0; + + inputleft.on('change',function () { + if (update_change == false) { + inner_change = true; + destroy(obj); + create(obj, inputleft, inputright); + obj[0].noUiSlider.set([inputleft.val(), null]); + inner_change = false; + } + }); + + inputright.on('change',function () { + if (update_change == false) { + inner_change = true; + destroy(obj); + create(obj, inputleft, inputright); + + obj[0].noUiSlider.set([null, inputright.val()]); + inner_change = false; + } + }); + + + + + function create(obj, inpleft, inpright) { + prepere_options(obj, inpleft, inpright); + noUiSlider.create(obj[0], opt); + if (obj.hasClass('noUi-connect')) { + obj.removeClass('noUi-connect').find('.noUi-base').addClass('noUi-connect'); + } + obj[0].noUiSlider.on('update', function (values, handle) { + + var value = values[handle]; + var unit = obj.attr('data-postfix') ? obj.attr('data-postfix') : ''; + var inp = (!handle) ? inpleft : inpright; + + var ivalue = sanitize_input_value(value, 0) + get_value_unit(value, unit); + if (inner_change == true) { + ivalue = sanitize_input_value(inp.val(), 0) + get_value_unit(value, unit); + if (obj.attr('data-empty') && inp.val() == '') { + ivalue = sanitize_input_value(obj.attr('data-empty'), 0) + unit; + } + if (!obj.attr('data-empty') && inp.val() == '') { + ivalue = ''; + } + } + inp[0].value = ivalue; + update_change = true; + inp.trigger('change'); + update_change = false; + + + }); + } + + function destroy(obj) { + obj[0].noUiSlider.destroy(); + } + + function prepere_options(optobj, inpleft, inpright) { + var pfx = get_value_unit(inpleft.val(), optobj.attr('data-postfix')); + var min = get_min(optobj, (pfx == '%') ? 'percent' : pfx); + var max = get_max(optobj, (pfx == '%') ? 'percent' : pfx); + var step = get_step(optobj, (pfx == '%') ? 'percent' : pfx); + var margin = get_margin(optobj, (pfx == '%') ? 'percent' : pfx); + var limit = get_limit(optobj, (pfx == '%') ? 'percent' : pfx); + decimals = get_decimals(optobj, (pfx == '%') ? 'percent' : pfx); + + opt.step = step; + opt.range = {'min': min, 'max': max}; + + if (optobj.attr('data-connect') == 'true') { + opt.connect = true; + } else if (optobj.attr('data-connect') == 'lower' || optobj.attr('data-connect') == 'upper') { + opt.connect = optobj.attr('data-connect'); + } else { + opt.connect = false; + } + if (optobj.hasClass('noui-range')) { + opt.margin = margin; + opt.limit = limit; + } + + if (optobj.attr('data-behaviour') != '') { + opt.behaviour = optobj.attr('data-behaviour'); + } + if (optobj.attr('data-direction') != '') { + opt.direction = optobj.attr('data-direction'); + } + + + + if (inpleft.length == 1 && inpright.length == 1) { + opt.start = [sanitize_input_value(inpleft.val(), 0), sanitize_input_value(inpright.val(), 50)]; + } else if (inpleft.length == 1) { + opt.start = sanitize_input_value(inpleft.val(), 0); + } else { + opt.start = 0; + } + + + opt.format = window.wNumb({decimals: decimals, postfix: pfx}); + + + } + + function sanitize_input_value(invalue, default_value) { + + for (var i = 0; i < units.length; i++) { + if (invalue.endsWith(units[i])) { + return parseFloat(invalue.replace(units[i], '')); + } + } + if (invalue != '') { + return parseFloat(invalue); + } + return default_value; + } + + function get_value_unit(invalue, default_unit) { + if (default_unit == '') { + return ''; + } + for (var i = 0; i < units.length; i++) { + if (invalue.endsWith(units[i])) { + return units[i]; + } + } + + return default_unit; + } + + function get_min(obj, unit) { + var mvalue = ''; + if (obj.attr('data-min-' + unit)) { + mvalue = obj.attr('data-min-' + unit); + } else if (obj.attr('data-min')) { + mvalue = obj.attr('data-min'); + } + + return sanitize_input_value(mvalue, 0); + } + + function get_max(obj, unit) { + var mvalue = ''; + + if (obj.attr('data-max-' + unit)) { + mvalue = obj.attr('data-max-' + unit); + } else if (obj.attr('data-max')) { + mvalue = obj.attr('data-max'); + } + return sanitize_input_value(mvalue, 200); + } + + function get_step(obj, unit) { + var mvalue = ''; + if (obj.attr('data-step-' + unit)) { + mvalue = obj.attr('data-step-' + unit); + } else if (obj.attr('data-step')) { + mvalue = obj.attr('data-step'); + } + return sanitize_input_value(mvalue, 1); + } + + function get_margin(obj, unit) { + var mvalue = ''; + if (obj.attr('data-margin-' + unit)) { + mvalue = obj.attr('data-margin-' + unit); + } else if (obj.attr('data-margin')) { + mvalue = obj.attr('data-margin'); + } + return sanitize_input_value(mvalue, 0); + } + + function get_limit(obj, unit) { + var mvalue = ''; + if (obj.attr('data-limit-' + unit)) { + mvalue = obj.attr('data-limit-' + unit); + } else if (obj.attr('data-limit')) { + mvalue = obj.attr('data-limit'); + } + return sanitize_input_value(mvalue, get_max(obj, unit)); + } + + function get_decimals(obj, unit) { + var mvalue = '0'; + if (obj.attr('data-decimals-' + unit)) { + mvalue = obj.attr('data-decimals-' + unit); + } else if (obj.attr('data-decimals')) { + mvalue = obj.attr('data-decimals'); + } + return parseInt(mvalue); + } + + }); + + + }; + +}(jQuery)); \ No newline at end of file diff --git a/framework/reon/assets/js/rn-ui-meta-box.js b/framework/reon/assets/js/rn-ui-meta-box.js new file mode 100644 index 0000000..f2ebb0e --- /dev/null +++ b/framework/reon/assets/js/rn-ui-meta-box.js @@ -0,0 +1,24 @@ +"use strict"; +jQuery(document).ready(function ($) { + if ($('.rn-metabox-wc,.rn-metabox').length > 0) { + rn_metabox_init(); + } + + function rn_metabox_init() { + + $('#post').on('submit', function () { + + $('.rn-metabox-wc,.rn-metabox').each(function () { + var rn_mta = $(this); + + var rn_mta_value = rn_mta.find('.reon_metabox_value'); + + if (rn_mta_value.length > 0) { + rn_mta_value.val(JSON.stringify(rn_mta.serializeForm())); + } + }); + }); + + } +}); + diff --git a/framework/reon/assets/js/rn-ui-option-page.js b/framework/reon/assets/js/rn-ui-option-page.js new file mode 100644 index 0000000..c8a6fa0 --- /dev/null +++ b/framework/reon/assets/js/rn-ui-option-page.js @@ -0,0 +1,575 @@ +//jquery-1.12.0.js +"use strict"; +jQuery(document).ready(function ($) { + //Select Default Tab + var current = getSelectableLi(); + setSelecttion(current); + + init_import_export(); + init_wc_page(); + + setTimeout(function () { + init_rn_form_save_popup(); + }, 1000); + +//Mouse Click Tab Selection + $(".rn-option-page-tabs").find('a').each(function () { + var anc_link = $(this); + if (anc_link.attr('data-active-group')) { + anc_link.click(function () { + + $(".rn-option-page-tabs").attr('data-active', anc_link.parent().attr('data-key')); + var c = getSelectableLi(); + setSelecttion(c); + return false; + }); + } + + }); + + + $('.rn-option-page').on('rn_ui_change', function () { + rn_adjust_aside(); + }); + +//Perform Tab Selection + function setSelecttion(current) { + var anidur = 300; + var option_tabs = $(".rn-option-page-tabs"); + + + option_tabs.find('li').each(function () { + $(this).removeClass('active'); + if ($(this).attr('data-key') == current) { + $(this).addClass('active'); + + var anc = $(this).find('a').attr('href'); + $('.rn-option-page-group').each(function () { + if ('#' + $(this).attr('id') != anc) { + $(this).hide().removeClass('active-group'); + } else { + $('.rn-reset-section, .rn-save-section').attr('data-active-group', $(anc).attr('id')); + $(anc).fadeIn(200, function () { + $(anc).addClass('active-group'); + rn_adjust_aside(); + }); + } + + }); + + if ($(this).hasClass('rn-option-subli')) { + var parentli = $(this).parents('.rn-option-li'); + if (parentli.hasClass('activeparent') != true) { + deSelectSiblings(parentli, anidur); + parentli.addClass('activeparent'); + var parent = parentli.find('.rn-option-page-tabs-sublist'); + parent.removeAttr('style').css('display', 'block'); + var h = parent.outerHeight() + 'px'; + parent.css('height', '0px').animate({height: h}, anidur, function () { + parent.removeAttr('style').css('display', 'block'); + }); + } + } else { + deSelectSiblings($(this), anidur); + if ($(this).hasClass('haschild') == true) { + $(this).addClass('activeparent'); + var parent = $(this).find('.rn-option-page-tabs-sublist'); + parent.removeAttr('style').css('display', 'block'); + var h = parent.outerHeight() + 'px'; + parent.css('height', '0px').animate({height: h}, anidur, function () { + parent.removeAttr('style').css('display', 'block'); + }); + } + } + } + }); + + + $('.rn-save-all, .rn-save-section').on('click', function () { + rn_save_option($(this)); + + + + $('.rn-option-page').parents('.rn-woocommerce').each(function () { + var wc_cont = $(this); + + if (wc_cont.hasClass('rn-no-wc-save')) { + wc_cont.find('.woocommerce-save-button').click(); + } + + }); + + + + return false; + }); + + $('.rn-reset-all, .rn-reset-section').on('click', function () { + rn_reset_option($(this)); + return false; + }); + + + } + +//Hide other subtabs + function deSelectSiblings(currentli, anidur) { + currentli.siblings('li').each(function () { + var sbl = $(this); + if (sbl.hasClass('activeparent') == true) { + sbl.removeClass('activeparent'); + var childul = sbl.find('.rn-option-page-tabs-sublist'); + childul.removeAttr('style').css('display', 'block'); + var h = childul.outerHeight() + 'px'; + childul.css('height', h).animate({height: '0px'}, anidur, function () { + childul.removeAttr('style').css('display', 'none'); + }); + } + }); + } + +//Correct Selected Index + function getSelectableLi() { + var key = $(".rn-option-page-tabs").attr('data-active'); + var fkey = 0; + $(".rn-option-page-tabs").find('.rn-option-li').each(function () { + var option_li = $(this); + + if (option_li.attr('data-key') == key) { + + if (option_li.hasClass("empty-group")) { + fkey = option_li.find('.rn-option-subli').first().attr('data-key'); + } else { + fkey = option_li.attr('data-key'); + } + } + }); + if (fkey == 0) { + $(".rn-option-page-tabs").find('.rn-option-subli').each(function () { + var option_li = $(this); + if (option_li.attr('data-key') == key) { + fkey = option_li.attr('data-key'); + } + }); + } + return fkey; + } + + + + + function rn_adjust_aside() { + + var aside = $('.rn-option-page-aside'); + var w = aside.outerWidth(); + aside.removeAttr('style'); + aside.css('width', w + 'px'); + var main_h = $('.rn-option-page-body').outerHeight(); + var aside_h = aside.outerHeight(); + + if (main_h > aside_h) { + var h = main_h + 2; + aside.css('height', h + 'px'); + } + } + + function rn_save_option(btn) { + + var section_id = ''; + if (btn.attr('data-active-group')) { + section_id = btn.attr('data-active-group'); + } + + var data = { + section_id: section_id, + action: 'rn_save_option', + option_name: $('.rn-option-page').attr('data-option-name'), + options: $('.rn-option-page-groups').serializeForm() + + }; + + if (section_id != '') { + data.options = $('#' + section_id).serializeForm(); + } + + var nonce_fields = $('.rn-option-page-groups').serializeForm(); + + var nonce_id = "option_page_" + $('.rn-option-page').attr('data-option-name'); + + data[nonce_id] = nonce_fields[nonce_id]; + data['_wp_http_referer'] = nonce_fields['_wp_http_referer']; + data['reon_instance_id'] = $('.reon_instance_id').val(); + rn_show_wait(true, function () { + option_page_ajax(data, function (response, status, xhr) { + if (response.status != 200) { + alert(response.status_message); + } else { + if (section_id != '') { + $('#' + section_id).removeClass('rn-option-page-group-dirty'); + } else { + $('.rn-option-page-group').removeClass('rn-option-page-group-dirty'); + } + } + rn_show_wait(false); + }, function () { + alert($('.rn-option-page').attr('data-ajax-save-error')); + rn_show_wait(false); + }); + }); + + + } + + function rn_reset_option(btn) { + var section_id = ''; + if (btn.attr('data-active-group')) { + section_id = btn.attr('data-active-group'); + } + + var data = { + section_id: section_id, + option_name: $('.rn-option-page').attr('data-option-name'), + action: 'rn_reset_option' + }; + + + + var nonce_fields = $('.rn-option-page-groups').serializeForm(); + + var nonce_id = "option_page_" + $('.rn-option-page').attr('data-option-name'); + data[nonce_id] = nonce_fields[nonce_id]; + data['_wp_http_referer'] = nonce_fields['_wp_http_referer']; + data['reon_instance_id'] = $('.reon_instance_id').val(); + + rn_show_wait(true, function () { + option_page_ajax(data, function (response, status, xhr) { + if (response.status != 200) { + alert(response.status_message); + } else { + $('.rn-option-page-group').removeClass('rn-option-page-group-dirty'); + window.location.reload(true); + } + rn_show_wait(false); + }, function () { + alert($('.rn-option-page').attr('data-ajax-reset-error')); + rn_show_wait(false); + }); + }); + + } + + function rn_show_wait(show, callback) { + var icn = $('.rn-option-page').find('.rn-ajax-icon'); + var overlay = $('.rn-option-page').find('.rn-ajax-overlay'); + + if (show == true) { + icn.css('display', 'inline-block'); + overlay.fadeIn(300, function () { + if ($.isFunction(callback)) { + callback(); + } + }); + } else { + icn.css('display', 'none'); + overlay.fadeOut(300, function () { + overlay.hide(); + }); + } + } + + function init_import_export() { + $('.rn-import-from-url').on('click', function () { + $('.rn-data-import-panel,.rn-url-export-panel,.rn-data-export-panel').hide(); + $('.rn-data-importnow-panel').show(); + $('.rn-url-import-panel').fadeIn(500, function () { + $('.rn-import-btn').attr('data-import-type', 'url'); + rn_adjust_aside(); + }); + return false; + }); + + $('.rn-import-from-data').on('click', function () { + $('.rn-url-import-panel').hide(); + $('.rn-url-export-panel').hide(); + $('.rn-data-export-panel').hide(); + $('.rn-data-importnow-panel').show(); + + $('.rn-data-import-panel').fadeIn(500, function () { + $('.rn-import-btn').attr('data-import-type', 'data'); + rn_adjust_aside(); + }); + return false; + }); + + var import_btn = $('.rn-import-btn'); + import_btn.on('click', function () { + rn_import_now(); + return false; + }); + + + $('.rn-export-url').on('click', function () { + $('.rn-data-export-panel,.rn-url-import-panel,.rn-data-import-panel,.rn-data-importnow-panel').hide(); + $('.rn-url-export-panel').fadeIn(500, function () { + rn_adjust_aside(); + }); + return false; + }); + + $('.rn-export-data').on('click', function () { + $('.rn-url-export-panel,.rn-url-import-panel,.rn-data-import-panel,.rn-data-importnow-panel').hide(); + + var export_impt = $('#rn_export_data'); + rn_show_wait(true, function () { + option_page_ajax_get(export_impt.attr('data-option-url'), function (response, status, xhr) { + + export_impt.val(JSON.stringify(response)); + $('.rn-data-export-panel').fadeIn(500, function () { + rn_adjust_aside(); + }); + rn_show_wait(false); + }, function () { + + rn_show_wait(false); + }); + }); + + + return false; + }); + $('.rn-export-download-data').on('click', function () { + $('.rn-url-export-panel,.rn-data-export-panel,.rn-url-import-panel,.rn-data-import-panel,.rn-data-importnow-panel').hide(); + }); + } + + function rn_import_now() { + if ($('.rn-import-btn').attr('data-import-type') == 'url') { + rn_show_wait(true, function () { + option_page_ajax_get($('#rn_import_field_data').val(), function (response, status, xhr) { + rn_send_import(JSON.stringify(response)); + rn_show_wait(false); + }, function () { + rn_show_wait(false); + }); + }); + + } else { + rn_send_import($('#rn_import_field_data').val()); + } + + + } + + + function rn_send_import(rn_option) { + var data = { + option_name: $('.rn-option-page').attr('data-option-name'), + action: 'rn_import_option', + + import_data: JSON.parse(rn_option), + + }; + + + + var nonce_fields = $('.rn-option-page-groups').serializeForm(); + + var nonce_id = "option_page_" + $('.rn-option-page').attr('data-option-name'); + data[nonce_id] = nonce_fields[nonce_id]; + data['_wp_http_referer'] = nonce_fields['_wp_http_referer']; + data['reon_instance_id'] = $('.reon_instance_id').val(); + + rn_show_wait(true, function () { + option_page_ajax(data, function (response, status, xhr) { + + if (response.status != 200) { + alert(response.status_message); + } else { + $('.rn-option-page-group').removeClass('rn-option-page-group-dirty'); + window.location.reload(true); + } + rn_show_wait(false); + }, function () { + alert($('.rn-option-page').attr('data-ajax-save-error')); + rn_show_wait(false); + }); + }); + + } + + function option_page_ajax(data, onsuccess, onerror) { + jQuery.post(ajaxurl, data, function (response, status, xhr) { + onsuccess(response, status, xhr); + }).fail(function () { + onerror(); + }); + } + + function option_page_ajax_get(url, onsuccess, onerror) { + jQuery.get(url, [], function (response, status, xhr) { + onsuccess(response, status, xhr); + }).fail(function () { + onerror(); + }); + } + + + + //======================== + //WooCommerce page scripts + //======================== + + function init_wc_page() { + var allow_wc_save = true; + + + + $('.rn-option-page').parents('.woocommerce').each(function () { + var wc_cont = $(this); + if ((wc_cont.find('.rn-option-page-buttons').length > 0)) { + allow_wc_save = false; + } + if (allow_wc_save == false) { + wc_cont.addClass('rn-no-wc-save'); + $('.form-table').addClass('rn-form-table').removeClass('form-table'); + } + + if (!wc_cont.hasClass('rn-metabox-wc')) { + wc_cont.children('form#mainform').addClass('rn-woocommerce'); + } + + + }); + + + $('form.rn-woocommerce').each(function () { + var rn_wc = $(this); + + if (allow_wc_save == false) { + rn_wc.addClass('rn-no-wc-save'); + rn_wc.find('.woocommerce-save-button').parents('p').hide(); + + rn_wc.on('submit', function () { + return false; + }); + } else { + init_wc_form(); + } + + }); + } + + function init_wc_form() { + + var wc_form = $('form.rn-woocommerce'); + if (wc_form.attr('data-rn_ready') && wc_form.attr('data-rn_ready') == 'yes') { + return; + } + wc_form.attr('data-rn_ready', 'yes'); + wc_form.on('submit', function () { + if (wc_form.attr('data-rn_completed') && wc_form.attr('data-rn_completed') == 'yes') { + + return true; + } else { + rn_save_wc_option(function () { + wc_form.attr('data-rn_completed', 'yes'); + wc_form.submit(); + }); + return true; + } + + }); + } + + function rn_save_wc_option(callback) { + + var section_id = ''; + + var data = { + section_id: section_id, + action: 'rn_save_option', + option_name: $('.rn-option-page').attr('data-option-name'), + options: $('.rn-option-page-groups').serializeForm() + + }; + + if (section_id != '') { + data.options = $('#' + section_id).serializeForm(); + } + + var nonce_fields = $('.rn-option-page-groups').serializeForm(); + + var nonce_id = "option_page_" + $('.rn-option-page').attr('data-option-name'); + data[nonce_id] = nonce_fields[nonce_id]; + data['_wp_http_referer'] = nonce_fields['_wp_http_referer']; + data['reon_instance_id'] = $('.reon_instance_id').val(); + + rn_show_wait(true, function () { + option_page_ajax(data, function (response, status, xhr) { + if (response.status != 200) { + alert(response.status_message); + + } else { + callback(); + } + rn_show_wait(false); + }, function () { + alert($('.rn-option-page').attr('data-ajax-save-error')); + rn_show_wait(false); + }); + }); + + + } + + //======================== + //Confirm Option Page Save + //======================== + + function init_rn_form_save_popup() { + + $('.rn-option-page').each(function () { + if (!$(this).hasClass('rn_is_wc')) { + var opt_page = $(this); + var opt_page_g = opt_page.find('.rn-option-page-group'); + process_rn_form_save_popup(opt_page_g, false); + opt_page.on('rn_ui_content_added', function () { + process_rn_form_save_popup(opt_page_g, true); + }); + window.onbeforeunload = rn_form_save_popup; + } + }); + + } + + function process_rn_form_save_popup(contents, imadiate) { + contents.find('input,select,textarea').each(function () { + var inp = $(this); + + var can_imp = (inp.parents('.rn-repeater-templates').length > 0); + + if (!inp.attr('data-opt-page-ready') && can_imp == false) { + inp.attr('data-opt-page-ready', 'yes'); + + if (imadiate == true) { + inp.parents('.rn-option-page-group').addClass('rn-option-page-group-dirty'); + } + inp.on('change', function () { + inp.parents('.rn-option-page-group').addClass('rn-option-page-group-dirty'); + }); + } + + }); + } + + function rn_form_save_popup() { + if ($('.rn-option-page-group-dirty').length > 0) { + return ''; + } + } + + + +}); + + diff --git a/framework/reon/assets/js/rn-ui.js b/framework/reon/assets/js/rn-ui.js new file mode 100644 index 0000000..0cdeef3 --- /dev/null +++ b/framework/reon/assets/js/rn-ui.js @@ -0,0 +1,383 @@ +//jquery-1.12.0.js +jQuery(document).ready(function($) { + "use strict"; + rn_init($('.rn-ui-app')); + function rn_init(rn_ui_app) { + rn_ui_app.children('.rn-ui-section').each(function() { + var ui_section = $(this); + if (ui_section.hasClass('rn-repeater-ui')) { + ui_section.children('.rn-ui-block').children('.rn-field-wrapper').children('.rn-repeater').rn_repeater({ + section_header_ready: function(content) { + rn_ui(content); + }, + columns_head_ready: function(content) { + rn_ui(content); + }, + section_body_ready: function(content) { + rn_init(content); + }, + section_added: function(content) { + $('.rn-option-page').trigger('rn_ui_content_added', content); + $('.rn-option-page').trigger('rn_ui_change'); + }, + section_cloned: function(content) { + rn_clean_ui(content); + $('.rn-option-page').trigger('rn_ui_content_added', content); + $('.rn-option-page').trigger('rn_ui_change'); + }, + footer_ready: function(content) { + rn_ui(content); + }, + section_collapsed: function() { + $('.rn-option-page').trigger('rn_ui_change'); + }, + section_expanded: function() { + $('.rn-option-page').trigger('rn_ui_change'); + }, + section_removed: function() { + $('.rn-option-page').trigger('rn_ui_change'); + }, + update_input_attribute: function(input, value, attr) { + if (attr == 'id' && input.hasClass('rn-opt-multi')) { + input.attr('data-opt-id', value); + if (input.attr('data-opt-active') && (input.attr('data-opt-active') == true || input.attr('data-opt-active') == 'true')) { + input.attr('id', value); + } + } else if (attr == 'name' && input.hasClass('rn-opt-multi')) { + input.attr('data-opt-name', value); + if (input.attr('data-opt-active') && (input.attr('data-opt-active') == true || input.attr('data-opt-active') == 'true')) { + input.attr('name', value); + } + } else { + input.attr(attr, value); + } + }, + }); + + if (ui_section.hasClass('rn-fold')) { + ui_section.foldjs({ + fold_changed: function() { + $('.rn-option-page').trigger('rn_ui_change'); + } + }); + } + } else { + rn_ui(ui_section); + } + + }); + } + + function rn_ui(el) { + +//ColorPicker +//=========== + el.find('.rn-spectrum input').each(function() { + var sp = $(this); + var sp_width = 120; + var sp_w = sp.css('width'); + sp.spectrum({ + containerClassName: 'rn-sp-container', + allowEmpty: true, + showInput: true, + showPalette: false, + showAlpha: true, + cancelText: "Cancel", + chooseText: "Done", + showInitial: true, + preferredFormat: 'hex', + move: function(color) { + try { + if (color.getAlpha() == 1) { + sp.val(color.toHexString()); + } else { + sp.val(color.toRgbString()); + } + sp.trigger('change'); + } catch (e) { + + } + + }, + show: function() { + sp.data('specrum', 1); + sp.data('specrum_color', sp.val()); + }, + hide: function() { + if (sp.data('specrum') == 1) { + sp.val(sp.data('specrum_color')); + sp.trigger('change'); + } + }, + change: function(color) { + try { + if (color.getAlpha() == 1) { + sp.val(color.toHexString()); + } else { + sp.val(color.toRgbString()); + } + sp.trigger('change'); + } catch (e) { + + } + sp.data('specrum', 0); + } + }); + sp.siblings('.sp-replacer').find('.sp-dd').html(sp.attr('title')); + if (sp_w != '0px') { + sp_width = sp_w; + } + sp.siblings('.sp-replacer').find('.sp-preview').css('width', sp_width); + }); + //======== + //Select2 + //======== + el.find('.rn-select2 select').each(function() { + var slct = $(this); + var opt = { + dropdownCssClass: 'rn-container' + }; + if (slct.attr('data-minimum-results-forsearch')) { + opt.minimumResultsForSearch = parseInt(slct.attr('data-minimum-results-forsearch')); + } + if (slct.attr('data-ajaxsource')) { + opt.ajax = { + cache: true, + data: function(params) { + + var query = { + term: params.term || '', + ajaxsource: slct.attr('data-ajaxsource'), + action: 'rn_get_data_list_ajax' + }; + + if (slct.attr('data-ajaxsource_pagesize')) { + query.pagesize = slct.attr('data-ajaxsource_pagesize'); + } + + if (slct.attr('data-ajaxsource_show_value')) { + query.ajaxsource_show_value = slct.attr('data-ajaxsource_show_value'); + } + + if (slct.attr('data-ajaxsource_disabled_filter')) { + query.ajaxsource_disabled_filter = slct.attr('data-ajaxsource_disabled_filter'); + } + + if (slct.attr('data-ajaxsource_value_col')) { + query.ajaxsource_value_col = slct.attr('data-ajaxsource_value_col'); + } + + if (slct.attr('data-ajaxsource_value_col_pre')) { + query.ajaxsource_value_col_pre = slct.attr('data-ajaxsource_value_col_pre'); + } + + return query; + }, + transport: function(params, success, failure) { + var data = params.data; + rn_send_request(data, function(result) { + success(result, params); + }, failure); + }, + processResults: function(data, params) { + params.term = params.term || ''; + var dta = {results: []}; + for (var i = 0; i < data.results.length; i++) { + var search = new RegExp(params.term.trim(), 'i'); + if (data.results[i].text.trim().match(search)) { + data.results[i].text = data.results[i].text.replace('&', '&'); + dta.results.push(data.results[i]); + } + } + return dta; + } + }; + } + slct.select2(opt); + + var deft_style = slct.parents('.rn-select2').find('.select2-search__field').attr('style'); + var deft_style_wdth = ''; + if (deft_style) { + deft_style_wdth = deft_style.replace(' ', ''); + } + if (deft_style_wdth == 'width:100px;' || deft_style_wdth == 'width:0px;') { + slct.parents('.rn-select2').find('.select2-search__field').removeAttr('style'); + } + + slct.on('change', function() { + var select_val = slct.val(); + + if ($.type(select_val) == 'array') { + for (var i = 0; i < select_val.length; i++) { + slct.find('option').each(function() { + var opt = $(this); + if (opt.attr('value') == select_val[i]) { + opt.attr('data-rd_slt', 'on'); + } + }); + + } + } else if ($.type(select_val) == 'string') { + slct.find('option').each(function() { + var opt = $(this); + if (opt.attr('value') == select_val) { + opt.attr('data-rd_slt', 'on'); + } + }); + } + + slct.find('option').each(function() { + var opt = $(this); + if (opt.attr('data-rd_slt') == 'on') { + opt.attr('selected', 'selected'); + opt.removeAttr('data-rd_slt'); + } else { + opt.removeAttr('selected'); + } + }); + + $('.rn-option-page').trigger('rn_ui_change'); + }); + }); + //========= + //ButtonSet + //========= + el.find('.rn-btnset').buttonset(); + + + + + + //============== + //DateTimePicker + //============== + el.find('.rn-datetimepicker').rn_datetime(); + + //Spinner + //=========== + el.find('.rn-spinner input').each(function() { + var sp = $(this); + + + sp.on('change', function() { + if (sp.attr('data-offset') == 'false') { + if (sp.attr('data-max') && sp.val() > sp.attr('data-max')) { + sp.val(sp.attr('data-max')); + } + if (sp.attr('data-min') && sp.val() < sp.attr('data-min')) { + sp.val(sp.attr('data-min')); + } + } + }); + sp.spinner({ + min: sp.attr('data-min'), + max: sp.attr('data-max'), + step: sp.attr('data-step'), + start: sp.val() + }); + sp.parent().find('.ui-icon').removeAttr('style').html(''); + }); + + //=========== + //noUI Slider + //=========== + el.find('.rn-noui').noui(); + + //====== + //AutoId + //====== + el.find('.rn-ui-autoid').rn_autoid(); + + + //====== + //TipTip + //====== + el.find('.rn-tips').each(function() { + var tptp = $(this); + var opt = {maxWidth: "auto", edgeOffset: 10, defaultPosition: 'top', + enter: function() { + $('#tiptip_holder').attr('data-rn-tooltip', 'yes'); + }}; + if (tptp.attr('data-position') && tptp.attr('data-position') != '') { + opt.defaultPosition = tptp.attr('data-position'); + } + tptp.tipTip(opt); + }); + + + + //================ + //Fold Elements + //================ + if (el.hasClass('rn-fold')) { + el.foldjs(); + } + el.find('.rn-fold').foldjs({ + fold_changed: function() { + $('.rn-option-page').trigger('rn_ui_change'); + } + }); + + } + + function rn_clean_ui(el) { + //============= + //Clean Select2 + //============= + el.find('.rn-select2 select').removeClass('select2-hidden-accessible'); + el.find('.select2-container').remove(); + + //==================== + //Clean DateTimePicker + //==================== + el.find('.rn-datetimepicker').removeClass('hasDatepicker'); + + + //============= + //Clean Spinner + //============= + var sp = el.find('.rn-spinner .ui-spinner input').unwrap(); + sp.removeAttr('aria-valuemin'); + sp.removeAttr('aria-valuemax'); + sp.removeAttr('aria-valuenow'); + sp.removeAttr('autocomplete'); + sp.removeAttr('role'); + sp.removeAttr('name'); + sp.removeAttr('id'); + sp.removeClass('ui-spinner-input'); + el.find('.rn-spinner a').remove(); + + //============= + //Clean Slider + //============= + el.find('.rn-slider-track .rn-noui').removeClass('noUi-background').removeClass('noUi-target').removeClass('noUi-ltr').removeClass('noUi-rtl').removeClass('noUi-ltr').removeClass('noUi-horizontal'); + el.find('.rn-slider-track .noUi-base').remove(); + + + //====== + //AutoId + //====== + el.find('.rn-ui-autoid').val(''); + + } + + function rn_send_request(data, onsuccess, onerror) { + jQuery.post(ajaxurl, data, function(response, status, xhr) { + onsuccess(response, status, xhr); + }).fail(function() { + onerror(); + }); + } + + + + + + + + + + + + +}); diff --git a/framework/reon/assets/js/select2/css/select2.css b/framework/reon/assets/js/select2/css/select2.css new file mode 100644 index 0000000..447b2b8 --- /dev/null +++ b/framework/reon/assets/js/select2/css/select2.css @@ -0,0 +1,484 @@ +.select2-container { + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle; } + .select2-container .select2-selection--single { + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-selection--single .select2-selection__clear { + position: relative; } + .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px; } + .select2-container .select2-selection--multiple { + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-search--inline { + float: left; } + .select2-container .select2-search--inline .select2-search__field { + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0; } + .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051; } + +.select2-results { + display: block; } + +.select2-results__options { + list-style: none; + margin: 0; + padding: 0; } + +.select2-results__option { + padding: 6px; + user-select: none; + -webkit-user-select: none; } + .select2-results__option[aria-selected] { + cursor: pointer; } + +.select2-container--open .select2-dropdown { + left: 0; } + +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-search--dropdown { + display: block; + padding: 4px; } + .select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + box-sizing: border-box; } + .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + .select2-search--dropdown.select2-search--hide { + display: none; } + +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0); } + +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + height: 1px !important; + margin: -1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; } + +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px; } + .select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; } + .select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; } + .select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; } + +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; } + .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; } + +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none; } + .select2-container--default .select2-selection--multiple .select2-selection__placeholder { + color: #999; + margin-top: 5px; + float: left; } + .select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0; } + +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; } + +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none; } + +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; } + +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; } + +.select2-container--default .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--default .select2-results__option[role=group] { + padding: 0; } + +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999; } + +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd; } + +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; } + +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white; } + +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + .select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px; } + .select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } + .select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } + +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0; } + .select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0; } + +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + box-shadow: none; } + +.select2-container--classic .select2-dropdown { + background-color: white; + border: 1px solid transparent; } + +.select2-container--classic .select2-dropdown--above { + border-bottom: none; } + +.select2-container--classic .select2-dropdown--below { + border-top: none; } + +.select2-container--classic .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--classic .select2-results__option[role=group] { + padding: 0; } + +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey; } + +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: white; } + +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb; } diff --git a/framework/reon/assets/js/select2/css/select2.min.css b/framework/reon/assets/js/select2/css/select2.min.css new file mode 100644 index 0000000..76de04d --- /dev/null +++ b/framework/reon/assets/js/select2/css/select2.min.css @@ -0,0 +1 @@ +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/framework/reon/assets/js/select2/js/i18n/ar.js b/framework/reon/assets/js/select2/js/i18n/ar.js new file mode 100644 index 0000000..9985136 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/ar.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا Ùمكن تحمÙÙ„ النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum;return"الرجاء حذ٠"+t+" عناصر"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"الرجاء إضاÙØ© "+t+" عناصر"},loadingMore:function(){return"جار٠تحمÙÙ„ نتائج إضاÙÙØ©..."},maximumSelected:function(e){return"تستطÙع إختÙار "+e.maximum+" بنود Ùقط"},noResults:function(){return"لم Ùتم العثور على أ٠نتائج"},searching:function(){return"جار٠البحث…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/az.js b/framework/reon/assets/js/select2/js/i18n/az.js new file mode 100644 index 0000000..2accb97 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/az.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nÉ™ticÉ™ yĂ¼klÉ™nir…"},maximumSelected:function(e){return"SadÉ™cÉ™ "+e.maximum+" element seçə bilÉ™rsiniz"},noResults:function(){return"NÉ™ticÉ™ tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/bg.js b/framework/reon/assets/js/select2/js/i18n/bg.js new file mode 100644 index 0000000..35ae989 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/bg.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="ĐœĐ¾Đ»Ñ Đ²ÑĐ²ĐµĐ´ĐµÑ‚Đµ Ñ "+t+" Đ¿Đ¾-Đ¼Đ°Đ»ĐºĐ¾ ÑĐ¸Đ¼Đ²Đ¾Đ»";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="ĐœĐ¾Đ»Ñ Đ²ÑĐ²ĐµĐ´ĐµÑ‚Đµ Đ¾Ñ‰Đµ "+t+" ÑĐ¸Đ¼Đ²Đ¾Đ»";return t>1&&(n+="a"),n},loadingMore:function(){return"Đ—Đ°Ñ€ĐµĐ¶Đ´Đ°Ñ‚ Ñе Đ¾Ñ‰Đµâ€¦"},maximumSelected:function(e){var t="ĐœĐ¾Đ¶ĐµÑ‚Đµ Đ´Đ° Đ½Đ°Đ¿Ñ€Đ°Đ²Đ¸Ñ‚Đµ Đ´Đ¾ "+e.maximum+" ";return e.maximum>1?t+="Đ¸Đ·Đ±Đ¾Ñ€Đ°":t+="Đ¸Đ·Đ±Đ¾Ñ€",t},noResults:function(){return"ĐÑĐ¼Đ° Đ½Đ°Đ¼ĐµÑ€ĐµĐ½Đ¸ ÑÑĐ²Đ¿Đ°Đ´ĐµĐ½Đ¸Ñ"},searching:function(){return"Đ¢ÑÑ€ÑĐµĐ½Đµâ€¦"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/ca.js b/framework/reon/assets/js/select2/js/i18n/ca.js new file mode 100644 index 0000000..fdb5f3d --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/ca.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La cĂ rrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="Ă cter":n+="Ă cters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="Ă cter":n+="Ă cters",n},loadingMore:function(){return"Carregant mĂ©s resultats…"},maximumSelected:function(e){var t="NomĂ©s es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/cs.js b/framework/reon/assets/js/select2/js/i18n/cs.js new file mode 100644 index 0000000..9651378 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/cs.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvÄ›";case 3:return"tÅ™i";case 4:return"ÄtyÅ™i"}return""}return{errorLoading:function(){return"VĂ½sledky nemohly bĂ½t naÄteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"ProsĂ­m zadejte o jeden znak mĂ©nÄ›":n<=4?"ProsĂ­m zadejte o "+e(n,!0)+" znaky mĂ©nÄ›":"ProsĂ­m zadejte o "+n+" znaků mĂ©nÄ›"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"ProsĂ­m zadejte jeÅ¡tÄ› jeden znak":n<=4?"ProsĂ­m zadejte jeÅ¡tÄ› dalÅ¡Ă­ "+e(n,!0)+" znaky":"ProsĂ­m zadejte jeÅ¡tÄ› dalÅ¡Ă­ch "+n+" znaků"},loadingMore:function(){return"NaÄĂ­tajĂ­ se dalÅ¡Ă­ vĂ½sledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku":n<=4?"Můžete zvolit maximĂ¡lnÄ› "+e(n,!1)+" položky":"Můžete zvolit maximĂ¡lnÄ› "+n+" položek"},noResults:function(){return"Nenalezeny Å¾Ă¡dnĂ© položky"},searching:function(){return"VyhledĂ¡vĂ¡ní…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/da.js b/framework/reon/assets/js/select2/js/i18n/da.js new file mode 100644 index 0000000..ab3d9ef --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/da.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Angiv venligst "+t+" tegn mindre"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Angiv venligst "+t+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/de.js b/framework/reon/assets/js/select2/js/i18n/de.js new file mode 100644 index 0000000..d39d79b --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/de.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Ăœbereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/el.js b/framework/reon/assets/js/select2/js/i18n/el.js new file mode 100644 index 0000000..4735d14 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/el.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόÏεσαν να φοÏÏ„Ïσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="ΠαÏÎ±ÎºÎ±Î»Ï Î´Î¹Î±Î³Ïάψτε "+t+" χαÏακτήÏ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="ΠαÏÎ±ÎºÎ±Î»Ï ÏƒÏ…Î¼Ï€Î»Î·ÏÏστε "+t+" ή πεÏισσότεÏους χαÏακτήÏες";return n},loadingMore:function(){return"ΦόÏτωση πεÏισσότεÏων αποτελεσμάτων…"},maximumSelected:function(e){var t="ΜποÏείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βÏέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/en.js b/framework/reon/assets/js/select2/js/i18n/en.js new file mode 100644 index 0000000..8e80ede --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/en.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/es.js b/framework/reon/assets/js/select2/js/i18n/es.js new file mode 100644 index 0000000..0a09650 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/es.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga fallĂ³"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="Ă¡cter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="Ă¡cter":n+="acteres",n},loadingMore:function(){return"Cargando mĂ¡s resultados…"},maximumSelected:function(e){var t="SĂ³lo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/et.js b/framework/reon/assets/js/select2/js/i18n/et.js new file mode 100644 index 0000000..c70f4a5 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/et.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/eu.js b/framework/reon/assets/js/select2/js/i18n/eu.js new file mode 100644 index 0000000..9336053 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/eu.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/fa.js b/framework/reon/assets/js/select2/js/i18n/fa.js new file mode 100644 index 0000000..5118cd2 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/fa.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطÙاً "+t+" کاراکتر را حذ٠نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطÙاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یاÙت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/fi.js b/framework/reon/assets/js/select2/js/i18n/fi.js new file mode 100644 index 0000000..9e60f26 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/fi.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/fr.js b/framework/reon/assets/js/select2/js/i18n/fr.js new file mode 100644 index 0000000..e4a6650 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/fr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les rĂ©sultats ne peuvent pas Ăªtre chargĂ©s."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de rĂ©sultats supplĂ©mentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sĂ©lectionner "+e.maximum+" Ă©lĂ©ment";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun rĂ©sultat trouvĂ©"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/gl.js b/framework/reon/assets/js/select2/js/i18n/gl.js new file mode 100644 index 0000000..b758ac3 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/gl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posĂ­bel cargar os resultados."},inputTooLong:function(e){var t=e.input.length-e.maximum;return t===1?"Elimine un carĂ¡cter":"Elimine "+t+" caracteres"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t===1?"Engada un carĂ¡cter":"Engada "+t+" caracteres"},loadingMore:function(){return"Cargando mĂ¡is resultados…"},maximumSelected:function(e){return e.maximum===1?"SĂ³ pode seleccionar un elemento":"SĂ³ pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/he.js b/framework/reon/assets/js/select2/js/i18n/he.js new file mode 100644 index 0000000..881f8d3 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/he.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגי××” בטעינת התוצ×ות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="× × ×œ×חוק ";return t===1?n+="תו ×חד":n+=t+" תווי×",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="× × ×œ×”×›× ×™×¡ ";return t===1?n+="תו ×חד":n+=t+" תווי×",n+=" ×ו יותר",n},loadingMore:function(){return"טוען תוצ×ות נוספות…"},maximumSelected:function(e){var t="ב××¤×©×¨×•×ª× ×œ×‘×—×•×¨ עד ";return e.maximum===1?t+="פריט ×חד":t+=e.maximum+" פריטי×",t},noResults:function(){return"×œ× × ×צ×ו תוצ×ות"},searching:function(){return"×חפש…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/hi.js b/framework/reon/assets/js/select2/js/i18n/hi.js new file mode 100644 index 0000000..e829684 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/hi.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अकà¥à¤·à¤° को हटा दें";return t>1&&(n=t+" अकà¥à¤·à¤°à¥‹à¤‚ को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अकà¥à¤·à¤° दरà¥à¤œ करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का à¤à¤¯à¤¨ कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/hr.js b/framework/reon/assets/js/select2/js/i18n/hr.js new file mode 100644 index 0000000..89f7b12 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/hr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite joÅ¡ "+e(n)},loadingMore:function(){return"UÄitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/hu.js b/framework/reon/assets/js/select2/js/i18n/hu.js new file mode 100644 index 0000000..b2defaa --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/hu.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmĂ©nyek betöltĂ©se nem sikerĂ¼lt."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"TĂºl hosszĂº. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"TĂºl rövid. MĂ©g "+t+" karakter hiĂ¡nyzik."},loadingMore:function(){return"TöltĂ©s…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kivĂ¡lasztani."},noResults:function(){return"Nincs talĂ¡lat."},searching:function(){return"KeresĂ©s…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/id.js b/framework/reon/assets/js/select2/js/i18n/id.js new file mode 100644 index 0000000..9586782 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/id.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/is.js b/framework/reon/assets/js/select2/js/i18n/is.js new file mode 100644 index 0000000..ab97a14 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/is.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttiĂ° texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifiĂ° "+t+" staf";return t>1&&(n+="i"),n+=" Ă­ viĂ°bĂ³t",n},loadingMore:function(){return"Sæki fleiri niĂ°urstöður…"},maximumSelected:function(e){return"ĂĂº getur aĂ°eins valiĂ° "+e.maximum+" atriĂ°i"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/it.js b/framework/reon/assets/js/select2/js/i18n/it.js new file mode 100644 index 0000000..7796b9f --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/it.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o piĂ¹ caratteri";return n},loadingMore:function(){return"Caricando piĂ¹ risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/ja.js b/framework/reon/assets/js/select2/js/i18n/ja.js new file mode 100644 index 0000000..9f4fff6 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/ja.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"çµæœăŒèª­ă¿è¾¼ă¾ă‚Œă¾ă›ă‚“ă§ă—ăŸ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" æ–‡å­—ă‚’å‰é™¤ă—ă¦ăă ă•ă„";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="å°‘ăªăă¨ă‚‚ "+t+" æ–‡å­—ă‚’å…¥å›ă—ă¦ăă ă•ă„";return n},loadingMore:function(){return"読ă¿è¾¼ă¿ä¸­â€¦"},maximumSelected:function(e){var t=e.maximum+" 件ă—ă‹é¸æă§ăă¾ă›ă‚“";return t},noResults:function(){return"対象ăŒè¦‹ă¤ă‹ă‚ă¾ă›ă‚“"},searching:function(){return"検索ă—ă¦ă„ă¾ă™â€¦"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/km.js b/framework/reon/assets/js/select2/js/i18n/km.js new file mode 100644 index 0000000..8e94adc --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/km.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"á˜á·á“á¢á¶á…á‘á¶á‰á™á€á‘á·á“្á“á“áŸá™"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="áŸá¼á˜á›á»á”á…áŸá‰ "+t+" á¢á€áŸ’áŸá";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="áŸá¼á˜á”á‰áŸ’á…á¼á›"+t+" á¢á€áŸ’áŸá áẠá…្áá¾á“á‡á¶á„á“áŸáŸ‡";return n},loadingMore:function(){return"á€áŸ†á–á»á„á‘á¶á‰á™á€á‘á·á“្á“á“áŸá™á”á“្áែá˜..."},maximumSelected:function(e){var t="á¢áŸ’á“á€á¢á¶á…á‡áŸ’áá¾áŸáá¾áŸá”á¶á“áែ "+e.maximum+" á‡á˜áŸ’áá¾áŸá”៉á»á្áោះ";return t},noResults:function(){return"á˜á·á“á˜á¶á“á›á‘្á’á•á›"},searching:function(){return"á€áŸ†á–á»á„áŸáŸ’áœáŸ‚á„áá€..."}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/ko.js b/framework/reon/assets/js/select2/js/i18n/ko.js new file mode 100644 index 0000000..4ed0321 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/ko.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러́˜¬ ́ˆ˜ ́—†́µë‹ˆë‹¤."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 ê¹ë‹ˆë‹¤. "+t+" 글́ ́§€́›Œ́£¼́„¸́”.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 ́§§́µë‹ˆë‹¤. "+t+" 글́ ë” ́…력해́£¼́„¸́”.";return n},loadingMore:function(){return"불러́˜¤ë” ́¤‘…"},maximumSelected:function(e){var t="́µœëŒ€ "+e.maximum+"개까́§€ë§Œ ́„ íƒ ê°€ë¥í•©ë‹ˆë‹¤.";return t},noResults:function(){return"결과가 ́—†́µë‹ˆë‹¤."},searching:function(){return"ê²€́ƒ‰ ́¤‘…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/lt.js b/framework/reon/assets/js/select2/js/i18n/lt.js new file mode 100644 index 0000000..05f3a6e --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/lt.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="PaÅ¡alinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ä®raÅ¡ykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="JÅ«s galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"Ä…","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"IeÅ¡koma…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/lv.js b/framework/reon/assets/js/select2/js/i18n/lv.js new file mode 100644 index 0000000..df8ee94 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/lv.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="LÅ«dzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazÄk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="LÅ«dzu ievadiet vÄ“l "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielÄde…"},maximumSelected:function(t){var n="JÅ«s varat izvÄ“lÄ“ties ne vairÄk kÄ "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"SakritÄ«bu nav"},searching:function(){return"MeklÄ“Å¡ana…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/mk.js b/framework/reon/assets/js/select2/js/i18n/mk.js new file mode 100644 index 0000000..319ecca --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/mk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве Đ¼Đ¾Đ»Đ¸Đ¼Đµ Đ²Đ½ĐµÑĐµÑ‚Đµ "+e.maximum+" Đ¿Đ¾Đ¼Đ°Đ»ĐºÑƒ ĐºĐ°Ñ€Đ°ĐºÑ‚ĐµÑ€";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве Đ¼Đ¾Đ»Đ¸Đ¼Đµ Đ²Đ½ĐµÑĐµÑ‚Đµ ÑƒÑˆÑ‚Đµ "+e.maximum+" ĐºĐ°Ñ€Đ°ĐºÑ‚ĐµÑ€";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Đ’Ñ‡Đ¸Ñ‚ÑƒĐ²Đ°Ñе Ñ€ĐµĐ·ÑƒĐ»Ñ‚Đ°Ñ‚Đ¸â€¦"},maximumSelected:function(e){var t="ĐœĐ¾Đ¶ĐµÑ‚Đµ Đ´Đ° Đ¸Đ·Đ±ĐµÑ€ĐµÑ‚Đµ ÑĐ°Đ¼Đ¾ "+e.maximum+" ÑÑ‚Đ°Đ²Đº";return e.maximum===1?t+="Đ°":t+="и",t},noResults:function(){return"ĐĐµĐ¼Đ° Đ¿Ñ€Đ¾Đ½Đ°Ñ˜Đ´ĐµĐ½Đ¾ ÑĐ¾Đ²Đ¿Đ°Ñ“Đ°ÑĐ°"},searching:function(){return"ĐŸÑ€ĐµĐ±Đ°Ñ€ÑƒĐ²Đ°Ñе…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/ms.js b/framework/reon/assets/js/select2/js/i18n/ms.js new file mode 100644 index 0000000..4258f12 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/ms.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/nb.js b/framework/reon/assets/js/select2/js/i18n/nb.js new file mode 100644 index 0000000..6770087 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/nb.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/nl.js b/framework/reon/assets/js/select2/js/i18n/nl.js new file mode 100644 index 0000000..8bd5e3c --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/nl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/pl.js b/framework/reon/assets/js/select2/js/i18n/pl.js new file mode 100644 index 0000000..54ba28e --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/pl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znakĂ³w"],t=["element","elementy","elementĂ³w"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można zaÅ‚adować wynikĂ³w."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"UsuÅ„ "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa Å‚adowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wynikĂ³w"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/pt-BR.js b/framework/reon/assets/js/select2/js/i18n/pt-BR.js new file mode 100644 index 0000000..a6629c8 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/pt-BR.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados nĂ£o puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="VocĂª sĂ³ pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/pt.js b/framework/reon/assets/js/select2/js/i18n/pt.js new file mode 100644 index 0000000..0cbda56 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/pt.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados nĂ£o puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"carĂ¡cter",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/ro.js b/framework/reon/assets/js/select2/js/i18n/ro.js new file mode 100644 index 0000000..788a263 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/ro.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să È™tergeÈ›i"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceÈ›i "+t+"sau mai multe caractere";return n},loadingMore:function(){return"Se Ă®ncarcă mai multe rezultate…"},maximumSelected:function(e){var t="AveÈ›i voie să selectaÈ›i cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/ru.js b/framework/reon/assets/js/select2/js/i18n/ru.js new file mode 100644 index 0000000..9ecab80 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/ru.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"ĐĐµĐ²Đ¾Đ·Đ¼Đ¾Đ¶Đ½Đ¾ Đ·Đ°Đ³Ñ€ÑƒĐ·Đ¸Ñ‚ÑŒ Ñ€ĐµĐ·ÑƒĐ»ÑŒÑ‚Đ°Ñ‚Ñ‹"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="ĐŸĐ¾Đ¶Đ°Đ»ÑƒĐ¹ÑÑ‚Đ°, Đ²Đ²ĐµĐ´Đ¸Ñ‚Đµ Đ½Đ° "+n+" ÑĐ¸Đ¼Đ²Đ¾Đ»";return r+=e(n,"","a","Đ¾Đ²"),r+=" Đ¼ĐµĐ½ÑŒÑˆĐµ",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="ĐŸĐ¾Đ¶Đ°Đ»ÑƒĐ¹ÑÑ‚Đ°, Đ²Đ²ĐµĐ´Đ¸Ñ‚Đµ ĐµÑ‰Đµ Ñ…Đ¾Ñ‚Ñ Đ±Ñ‹ "+n+" ÑĐ¸Đ¼Đ²Đ¾Đ»";return r+=e(n,"","a","Đ¾Đ²"),r},loadingMore:function(){return"Đ—Đ°Đ³Ñ€ÑƒĐ·ĐºĐ° Đ´Đ°Đ½Đ½Ñ‹Ñ…â€¦"},maximumSelected:function(t){var n="Đ’Ñ‹ Đ¼Đ¾Đ¶ĐµÑ‚Đµ Đ²Ñ‹Đ±Ñ€Đ°Ñ‚ÑŒ Đ½Đµ Đ±Đ¾Đ»ĐµĐµ "+t.maximum+" ÑĐ»ĐµĐ¼ĐµĐ½Ñ‚";return n+=e(t.maximum,"","a","Đ¾Đ²"),n},noResults:function(){return"Đ¡Đ¾Đ²Đ¿Đ°Đ´ĐµĐ½Đ¸Đ¹ Đ½Đµ Đ½Đ°Đ¹Đ´ĐµĐ½Đ¾"},searching:function(){return"ĐŸĐ¾Đ¸ÑĐºâ€¦"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/sk.js b/framework/reon/assets/js/select2/js/i18n/sk.js new file mode 100644 index 0000000..82f2941 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/sk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"Å¡tyri"}};return{inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"ProsĂ­m, zadajte o jeden znak menej":n>=2&&n<=4?"ProsĂ­m, zadajte o "+e[n](!0)+" znaky menej":"ProsĂ­m, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"ProsĂ­m, zadajte eÅ¡te jeden znak":n<=4?"ProsĂ­m, zadajte eÅ¡te ÄalÅ¡ie "+e[n](!0)+" znaky":"ProsĂ­m, zadajte eÅ¡te ÄalÅ¡Ă­ch "+n+" znakov"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(t){return t.maximum==1?"MĂ´Å¾ete zvoliÅ¥ len jednu položku":t.maximum>=2&&t.maximum<=4?"MĂ´Å¾ete zvoliÅ¥ najviac "+e[t.maximum](!1)+" položky":"MĂ´Å¾ete zvoliÅ¥ najviac "+t.maximum+" položiek"},noResults:function(){return"NenaÅ¡li sa žiadne položky"},searching:function(){return"VyhľadĂ¡vanie…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/sl.js b/framework/reon/assets/js/select2/js/i18n/sl.js new file mode 100644 index 0000000..67b7cbf --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/sl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoÄe naložiti."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Prosim zbriÅ¡ite "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Prosim vpiÅ¡ite Å¡e "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},loadingMore:function(){return"Nalagam veÄ zadetkov…"},maximumSelected:function(e){var t="OznaÄite lahko najveÄ "+e.maximum+" predmet";return e.maximum==2?t+="a":e.maximum!=1&&(t+="e"),t},noResults:function(){return"Ni zadetkov."},searching:function(){return"IÅ¡Äem…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/sr-Cyrl.js b/framework/reon/assets/js/select2/js/i18n/sr-Cyrl.js new file mode 100644 index 0000000..e945394 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/sr-Cyrl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"ĐŸÑ€ĐµÑƒĐ·Đ¸Đ¼Đ°Ñе Đ½Đ¸Ñ˜Đµ уÑĐ¿ĐµĐ»Đ¾."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="ĐĐ±Ñ€Đ¸ÑˆĐ¸Ñ‚Đµ "+n+" ÑĐ¸Đ¼Đ±Đ¾Đ»";return r+=e(n,"","Đ°","Đ°"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Đ£ĐºÑƒÑ†Đ°Ñ˜Ñ‚Đµ Đ±Đ°Ñ€ Ñ˜Đ¾Ñˆ "+n+" ÑĐ¸Đ¼Đ±Đ¾Đ»";return r+=e(n,"","Đ°","Đ°"),r},loadingMore:function(){return"ĐŸÑ€ĐµÑƒĐ·Đ¸Đ¼Đ°Ñе Ñ˜Đ¾Ñˆ Ñ€ĐµĐ·ÑƒĐ»Ñ‚Đ°Ñ‚Đ°â€¦"},maximumSelected:function(t){var n="ĐœĐ¾Đ¶ĐµÑ‚Đµ Đ¸Đ·Đ°Đ±Ñ€Đ°Ñ‚Đ¸ ÑĐ°Đ¼Đ¾ "+t.maximum+" ÑÑ‚Đ°Đ²Đº";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"ĐĐ¸ÑˆÑ‚Đ° Đ½Đ¸Ñ˜Đµ Đ¿Ñ€Đ¾Đ½Đ°Ñ’ĐµĐ½Đ¾"},searching:function(){return"ĐŸÑ€ĐµÑ‚Ñ€Đ°Đ³Đ°â€¦"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/sr.js b/framework/reon/assets/js/select2/js/i18n/sr.js new file mode 100644 index 0000000..ac0cc72 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/sr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="ObriÅ¡ite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar joÅ¡ "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje joÅ¡ rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"NiÅ¡ta nije pronaÄ‘eno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/sv.js b/framework/reon/assets/js/select2/js/i18n/sv.js new file mode 100644 index 0000000..bedac08 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/sv.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/th.js b/framework/reon/assets/js/select2/js/i18n/th.js new file mode 100644 index 0000000..4beb52d --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/th.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลà¸à¸­à¸­à¸ "+t+" ตัวอัà¸à¸©à¸£";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดà¸à¸´à¸¡à¸à¹Œà¹€à¸à¸´à¹ˆà¸¡à¸­à¸µà¸ "+t+" ตัวอัà¸à¸©à¸£";return n},loadingMore:function(){return"à¸à¸³à¸¥à¸±à¸‡à¸„้นข้อมูลเà¸à¸´à¹ˆà¸¡â€¦"},maximumSelected:function(e){var t="คุณสามารถเลือà¸à¹„ด้ไม่เà¸à¸´à¸™ "+e.maximum+" รายà¸à¸²à¸£";return t},noResults:function(){return"ไม่à¸à¸à¸‚้อมูล"},searching:function(){return"à¸à¸³à¸¥à¸±à¸‡à¸„้นข้อมูล…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/tr.js b/framework/reon/assets/js/select2/js/i18n/tr.js new file mode 100644 index 0000000..25d27a8 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/tr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/uk.js b/framework/reon/assets/js/select2/js/i18n/uk.js new file mode 100644 index 0000000..eb3ca89 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/uk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"ĐĐµĐ¼Đ¾Đ¶Đ»Đ¸Đ²Đ¾ Đ·Đ°Đ²Đ°Đ½Ñ‚Đ°Đ¶Đ¸Ñ‚Đ¸ Ñ€ĐµĐ·ÑƒĐ»ÑŒÑ‚Đ°Ñ‚Đ¸"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Đ‘ÑƒĐ´ÑŒ лаÑĐºĐ°, Đ²Đ¸Đ´Đ°Đ»Ñ–Ñ‚ÑŒ "+n+" "+e(t.maximum,"Đ»Ñ–Ñ‚ĐµÑ€Ñƒ","Đ»Ñ–Ñ‚ĐµÑ€Đ¸","Đ»Ñ–Ñ‚ĐµÑ€")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Đ‘ÑƒĐ´ÑŒ лаÑĐºĐ°, Đ²Đ²ĐµĐ´Ñ–Ñ‚ÑŒ "+t+" Đ°Đ±Đ¾ Đ±Ñ–Đ»ÑŒÑˆĐµ Đ»Ñ–Ñ‚ĐµÑ€"},loadingMore:function(){return"Đ—Đ°Đ²Đ°Đ½Ñ‚Đ°Đ¶ĐµĐ½Đ½Ñ Ñ–Đ½ÑˆĐ¸Ñ… Ñ€ĐµĐ·ÑƒĐ»ÑŒÑ‚Đ°Ñ‚Ñ–Đ²â€¦"},maximumSelected:function(t){return"Ви Đ¼Đ¾Đ¶ĐµÑ‚Đµ Đ²Đ¸Đ±Ñ€Đ°Ñ‚Đ¸ Đ»Đ¸ÑˆĐµ "+t.maximum+" "+e(t.maximum,"Đ¿ÑƒĐ½ĐºÑ‚","Đ¿ÑƒĐ½ĐºÑ‚Đ¸","Đ¿ÑƒĐ½ĐºÑ‚Ñ–Đ²")},noResults:function(){return"ĐÑ–Ñ‡Đ¾Đ³Đ¾ Đ½Đµ Đ·Đ½Đ°Đ¹Đ´ĐµĐ½Đ¾"},searching:function(){return"ĐŸĐ¾ÑˆÑƒĐºâ€¦"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/vi.js b/framework/reon/assets/js/select2/js/i18n/vi.js new file mode 100644 index 0000000..8975b8a --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/vi.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lĂ²ng nhập Ă­t hÆ¡n "+t+" kĂ½ tá»±";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lĂ²ng nhập nhiá»u hÆ¡n "+t+' kĂ½ tá»±"';return n},loadingMore:function(){return"Äang lấy thĂªm kết quả…"},maximumSelected:function(e){var t="Chỉ cĂ³ thể chá»n được "+e.maximum+" lá»±a chá»n";return t},noResults:function(){return"KhĂ´ng tìm thấy kết quả"},searching:function(){return"Äang tìm…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/zh-CN.js b/framework/reon/assets/js/select2/js/i18n/zh-CN.js new file mode 100644 index 0000000..2ed9597 --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/zh-CN.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结æœă€‚"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请å†è¾“入至少"+t+"个字符";return n},loadingMore:function(){return"载入更å¤ç»“æœâ€¦"},maximumSelected:function(e){var t="最å¤åªèƒ½é€‰æ‹©"+e.maximum+"个项目";return t},noResults:function(){return"未找到结æœ"},searching:function(){return"æœç´¢ä¸­â€¦"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/i18n/zh-TW.js b/framework/reon/assets/js/select2/js/i18n/zh-TW.js new file mode 100644 index 0000000..ea0812e --- /dev/null +++ b/framework/reon/assets/js/select2/js/i18n/zh-TW.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪æ‰"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="è«‹å†è¼¸å…¥"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="ä½ åªèƒ½é¸æ“‡æœ€å¤"+e.maximum+"é …";return t},noResults:function(){return"沒有找到相符ç„é …ç›®"},searching:function(){return"æœå°‹ä¸­â€¦"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/framework/reon/assets/js/select2/js/select2.full.js b/framework/reon/assets/js/select2/js/select2.full.js new file mode 100644 index 0000000..b8a1593 --- /dev/null +++ b/framework/reon/assets/js/select2/js/select2.full.js @@ -0,0 +1,6453 @@ +/*! + * Select2 4.0.3 + * https://select2.github.io + * + * Released under the MIT license + * https://github.com/select2/select2/blob/master/LICENSE.md + */ +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function (root, jQuery) { + if (jQuery === undefined) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if (typeof window !== 'undefined') { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + factory(jQuery); + return jQuery; + }; + } else { + // Browser globals + factory(jQuery); + } +} (function (jQuery) { + // This is needed so we can catch the AMD loader configuration and use it + // The inner file should be wrapped (by `banner.start.js`) in a function that + // returns the AMD loader references. + var S2 =(function () { + // Restore the Select2 AMD loader so it can be used + // Needed mostly in the language files, where the loader is not inserted + if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { + var S2 = jQuery.fn.select2.amd; + } +var S2;(function () { if (!S2 || !S2.requirejs) { +if (!S2) { S2 = {}; } else { require = S2; } +/** + * @license almond 0.3.1 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/almond for details + */ +//Going sloppy to avoid 'use strict' string cost, but strict practices should +//be followed. +/*jslint sloppy: true */ +/*global setTimeout: false */ + +var requirejs, require, define; +(function (undef) { + var main, req, makeMap, handlers, + defined = {}, + waiting = {}, + config = {}, + defining = {}, + hasOwn = Object.prototype.hasOwnProperty, + aps = [].slice, + jsSuffixRegExp = /\.js$/; + + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var nameParts, nameSegment, mapValue, foundMap, lastIndex, + foundI, foundStarMap, starI, i, j, part, + baseParts = baseName && baseName.split("/"), + map = config.map, + starMap = (map && map['*']) || {}; + + //Adjust any relative paths. + if (name && name.charAt(0) === ".") { + //If have a base name, try to normalize against it, + //otherwise, assume it is a top-level require that will + //be relative to baseUrl in the end. + if (baseName) { + name = name.split('/'); + lastIndex = name.length - 1; + + // Node .js allowance: + if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { + name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); + } + + //Lop off the last part of baseParts, so that . matches the + //"directory" and not name of the baseName's module. For instance, + //baseName of "one/two/three", maps to "one/two/three.js", but we + //want the directory, "one/two" for this normalization. + name = baseParts.slice(0, baseParts.length - 1).concat(name); + + //start trimDots + for (i = 0; i < name.length; i += 1) { + part = name[i]; + if (part === ".") { + name.splice(i, 1); + i -= 1; + } else if (part === "..") { + if (i === 1 && (name[2] === '..' || name[0] === '..')) { + //End of the line. Keep at least one non-dot + //path segment at the front so it can be mapped + //correctly to disk. Otherwise, there is likely + //no path mapping for a path starting with '..'. + //This can still fail, but catches the most reasonable + //uses of .. + break; + } else if (i > 0) { + name.splice(i - 1, 2); + i -= 2; + } + } + } + //end trimDots + + name = name.join("/"); + } else if (name.indexOf('./') === 0) { + // No baseName, so this is ID is resolved relative + // to baseUrl, pull off the leading dot. + name = name.substring(2); + } + } + + //Apply map config if available. + if ((baseParts || starMap) && map) { + nameParts = name.split('/'); + + for (i = nameParts.length; i > 0; i -= 1) { + nameSegment = nameParts.slice(0, i).join("/"); + + if (baseParts) { + //Find the longest baseName segment match in the config. + //So, do joins on the biggest to smallest lengths of baseParts. + for (j = baseParts.length; j > 0; j -= 1) { + mapValue = map[baseParts.slice(0, j).join('/')]; + + //baseName segment has config, find if it has one for + //this name. + if (mapValue) { + mapValue = mapValue[nameSegment]; + if (mapValue) { + //Match, update name to the new value. + foundMap = mapValue; + foundI = i; + break; + } + } + } + } + + if (foundMap) { + break; + } + + //Check for a star map match, but just hold on to it, + //if there is a shorter segment match later in a matching + //config, then favor over this star map. + if (!foundStarMap && starMap && starMap[nameSegment]) { + foundStarMap = starMap[nameSegment]; + starI = i; + } + } + + if (!foundMap && foundStarMap) { + foundMap = foundStarMap; + foundI = starI; + } + + if (foundMap) { + nameParts.splice(0, foundI, foundMap); + name = nameParts.join('/'); + } + } + + return name; + } + + function makeRequire(relName, forceSync) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + var args = aps.call(arguments, 0); + + //If first arg is not require('string'), and there is only + //one arg, it is the array form without a callback. Insert + //a null so that the following concat is correct. + if (typeof args[0] !== 'string' && args.length === 1) { + args.push(null); + } + return req.apply(undef, args.concat([relName, forceSync])); + }; + } + + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(depName) { + return function (value) { + defined[depName] = value; + }; + } + + function callDep(name) { + if (hasProp(waiting, name)) { + var args = waiting[name]; + delete waiting[name]; + defining[name] = true; + main.apply(undef, args); + } + + if (!hasProp(defined, name) && !hasProp(defining, name)) { + throw new Error('No ' + name); + } + return defined[name]; + } + + //Turns a plugin!resource to [plugin, resource] + //with the plugin being undefined if the name + //did not have a plugin prefix. + function splitPrefix(name) { + var prefix, + index = name ? name.indexOf('!') : -1; + if (index > -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + return [prefix, name]; + } + + /** + * Makes a name map, normalizing the name, and using a plugin + * for normalization if necessary. Grabs a ref to plugin + * too, as an optimization. + */ + makeMap = function (name, relName) { + var plugin, + parts = splitPrefix(name), + prefix = parts[0]; + + name = parts[1]; + + if (prefix) { + prefix = normalize(prefix, relName); + plugin = callDep(prefix); + } + + //Normalize according + if (prefix) { + if (plugin && plugin.normalize) { + name = plugin.normalize(name, makeNormalize(relName)); + } else { + name = normalize(name, relName); + } + } else { + name = normalize(name, relName); + parts = splitPrefix(name); + prefix = parts[0]; + name = parts[1]; + if (prefix) { + plugin = callDep(prefix); + } + } + + //Using ridiculous property names for space reasons + return { + f: prefix ? prefix + '!' + name : name, //fullName + n: name, + pr: prefix, + p: plugin + }; + }; + + function makeConfig(name) { + return function () { + return (config && config.config && config.config[name]) || {}; + }; + } + + handlers = { + require: function (name) { + return makeRequire(name); + }, + exports: function (name) { + var e = defined[name]; + if (typeof e !== 'undefined') { + return e; + } else { + return (defined[name] = {}); + } + }, + module: function (name) { + return { + id: name, + uri: '', + exports: defined[name], + config: makeConfig(name) + }; + } + }; + + main = function (name, deps, callback, relName) { + var cjsModule, depName, ret, map, i, + args = [], + callbackType = typeof callback, + usingExports; + + //Use name if no relName + relName = relName || name; + + //Call the callback to define the module, if necessary. + if (callbackType === 'undefined' || callbackType === 'function') { + //Pull out the defined dependencies and pass the ordered + //values to the callback. + //Default to [require, exports, module] if no deps + deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; + for (i = 0; i < deps.length; i += 1) { + map = makeMap(deps[i], relName); + depName = map.f; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + args[i] = handlers.require(name); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + args[i] = handlers.exports(name); + usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + cjsModule = args[i] = handlers.module(name); + } else if (hasProp(defined, depName) || + hasProp(waiting, depName) || + hasProp(defining, depName)) { + args[i] = callDep(depName); + } else if (map.p) { + map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); + args[i] = defined[depName]; + } else { + throw new Error(name + ' missing ' + depName); + } + } + + ret = callback ? callback.apply(defined[name], args) : undefined; + + if (name) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (cjsModule && cjsModule.exports !== undef && + cjsModule.exports !== defined[name]) { + defined[name] = cjsModule.exports; + } else if (ret !== undef || !usingExports) { + //Use the return value from the function. + defined[name] = ret; + } + } + } else if (name) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + defined[name] = callback; + } + }; + + requirejs = require = req = function (deps, callback, relName, forceSync, alt) { + if (typeof deps === "string") { + if (handlers[deps]) { + //callback in this case is really relName + return handlers[deps](callback); + } + //Just return the module wanted. In this scenario, the + //deps arg is the module name, and second arg (if passed) + //is just the relName. + //Normalize module name, if it contains . or .. + return callDep(makeMap(deps, callback).f); + } else if (!deps.splice) { + //deps is a config object, not an array. + config = deps; + if (config.deps) { + req(config.deps, config.callback); + } + if (!callback) { + return; + } + + if (callback.splice) { + //callback is an array, which means it is a dependency list. + //Adjust args if there are dependencies + deps = callback; + callback = relName; + relName = null; + } else { + deps = undef; + } + } + + //Support require(['a']) + callback = callback || function () {}; + + //If relName is a function, it is an errback handler, + //so remove it. + if (typeof relName === 'function') { + relName = forceSync; + forceSync = alt; + } + + //Simulate async callback; + if (forceSync) { + main(undef, deps, callback, relName); + } else { + //Using a non-zero value because of concern for what old browsers + //do, and latest browsers "upgrade" to 4 if lower value is used: + //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: + //If want a value immediately, use require('id') instead -- something + //that works in almond on the global level, but not guaranteed and + //unlikely to work in other AMD implementations. + setTimeout(function () { + main(undef, deps, callback, relName); + }, 4); + } + + return req; + }; + + /** + * Just drops the config on the floor, but returns req in case + * the config return value is used. + */ + req.config = function (cfg) { + return req(cfg); + }; + + /** + * Expose module registry for debugging and tooling + */ + requirejs._defined = defined; + + define = function (name, deps, callback) { + if (typeof name !== 'string') { + throw new Error('See almond README: incorrect module build, no module name'); + } + + //This module may not have dependencies + if (!deps.splice) { + //deps is not an array, so probably means + //an object literal or factory function for + //the value. Adjust args. + callback = deps; + deps = []; + } + + if (!hasProp(defined, name) && !hasProp(waiting, name)) { + waiting[name] = [name, deps, callback]; + } + }; + + define.amd = { + jQuery: true + }; +}()); + +S2.requirejs = requirejs;S2.require = require;S2.define = define; +} +}()); +S2.define("almond", function(){}); + +/* global jQuery:false, $:false */ +S2.define('jquery',[],function () { + var _$ = jQuery || $; + + if (_$ == null && console && console.error) { + console.error( + 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + + 'found. Make sure that you are including jQuery before Select2 on your ' + + 'web page.' + ); + } + + return _$; +}); + +S2.define('select2/utils',[ + 'jquery' +], function ($) { + var Utils = {}; + + Utils.Extend = function (ChildClass, SuperClass) { + var __hasProp = {}.hasOwnProperty; + + function BaseConstructor () { + this.constructor = ChildClass; + } + + for (var key in SuperClass) { + if (__hasProp.call(SuperClass, key)) { + ChildClass[key] = SuperClass[key]; + } + } + + BaseConstructor.prototype = SuperClass.prototype; + ChildClass.prototype = new BaseConstructor(); + ChildClass.__super__ = SuperClass.prototype; + + return ChildClass; + }; + + function getMethods (theClass) { + var proto = theClass.prototype; + + var methods = []; + + for (var methodName in proto) { + var m = proto[methodName]; + + if (typeof m !== 'function') { + continue; + } + + if (methodName === 'constructor') { + continue; + } + + methods.push(methodName); + } + + return methods; + } + + Utils.Decorate = function (SuperClass, DecoratorClass) { + var decoratedMethods = getMethods(DecoratorClass); + var superMethods = getMethods(SuperClass); + + function DecoratedClass () { + var unshift = Array.prototype.unshift; + + var argCount = DecoratorClass.prototype.constructor.length; + + var calledConstructor = SuperClass.prototype.constructor; + + if (argCount > 0) { + unshift.call(arguments, SuperClass.prototype.constructor); + + calledConstructor = DecoratorClass.prototype.constructor; + } + + calledConstructor.apply(this, arguments); + } + + DecoratorClass.displayName = SuperClass.displayName; + + function ctr () { + this.constructor = DecoratedClass; + } + + DecoratedClass.prototype = new ctr(); + + for (var m = 0; m < superMethods.length; m++) { + var superMethod = superMethods[m]; + + DecoratedClass.prototype[superMethod] = + SuperClass.prototype[superMethod]; + } + + var calledMethod = function (methodName) { + // Stub out the original method if it's not decorating an actual method + var originalMethod = function () {}; + + if (methodName in DecoratedClass.prototype) { + originalMethod = DecoratedClass.prototype[methodName]; + } + + var decoratedMethod = DecoratorClass.prototype[methodName]; + + return function () { + var unshift = Array.prototype.unshift; + + unshift.call(arguments, originalMethod); + + return decoratedMethod.apply(this, arguments); + }; + }; + + for (var d = 0; d < decoratedMethods.length; d++) { + var decoratedMethod = decoratedMethods[d]; + + DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); + } + + return DecoratedClass; + }; + + var Observable = function () { + this.listeners = {}; + }; + + Observable.prototype.on = function (event, callback) { + this.listeners = this.listeners || {}; + + if (event in this.listeners) { + this.listeners[event].push(callback); + } else { + this.listeners[event] = [callback]; + } + }; + + Observable.prototype.trigger = function (event) { + var slice = Array.prototype.slice; + var params = slice.call(arguments, 1); + + this.listeners = this.listeners || {}; + + // Params should always come in as an array + if (params == null) { + params = []; + } + + // If there are no arguments to the event, use a temporary object + if (params.length === 0) { + params.push({}); + } + + // Set the `_type` of the first object to the event + params[0]._type = event; + + if (event in this.listeners) { + this.invoke(this.listeners[event], slice.call(arguments, 1)); + } + + if ('*' in this.listeners) { + this.invoke(this.listeners['*'], arguments); + } + }; + + Observable.prototype.invoke = function (listeners, params) { + for (var i = 0, len = listeners.length; i < len; i++) { + listeners[i].apply(this, params); + } + }; + + Utils.Observable = Observable; + + Utils.generateChars = function (length) { + var chars = ''; + + for (var i = 0; i < length; i++) { + var randomChar = Math.floor(Math.random() * 36); + chars += randomChar.toString(36); + } + + return chars; + }; + + Utils.bind = function (func, context) { + return function () { + func.apply(context, arguments); + }; + }; + + Utils._convertData = function (data) { + for (var originalKey in data) { + var keys = originalKey.split('-'); + + var dataLevel = data; + + if (keys.length === 1) { + continue; + } + + for (var k = 0; k < keys.length; k++) { + var key = keys[k]; + + // Lowercase the first letter + // By default, dash-separated becomes camelCase + key = key.substring(0, 1).toLowerCase() + key.substring(1); + + if (!(key in dataLevel)) { + dataLevel[key] = {}; + } + + if (k == keys.length - 1) { + dataLevel[key] = data[originalKey]; + } + + dataLevel = dataLevel[key]; + } + + delete data[originalKey]; + } + + return data; + }; + + Utils.hasScroll = function (index, el) { + // Adapted from the function created by @ShadowScripter + // and adapted by @BillBarry on the Stack Exchange Code Review website. + // The original code can be found at + // http://codereview.stackexchange.com/q/13338 + // and was designed to be used with the Sizzle selector engine. + + var $el = $(el); + var overflowX = el.style.overflowX; + var overflowY = el.style.overflowY; + + //Check both x and y declarations + if (overflowX === overflowY && + (overflowY === 'hidden' || overflowY === 'visible')) { + return false; + } + + if (overflowX === 'scroll' || overflowY === 'scroll') { + return true; + } + + return ($el.innerHeight() < el.scrollHeight || + $el.innerWidth() < el.scrollWidth); + }; + + Utils.escapeMarkup = function (markup) { + var replaceMap = { + '\\': '\', + '&': '&', + '<': '<', + '>': '>', + '"': '"', + '\'': ''', + '/': '/' + }; + + // Do not try to escape the markup if it's not a string + if (typeof markup !== 'string') { + return markup; + } + + return String(markup).replace(/[&<>"'\/\\]/g, function (match) { + return replaceMap[match]; + }); + }; + + // Append an array of jQuery nodes to a given element. + Utils.appendMany = function ($element, $nodes) { + // jQuery 1.7.x does not support $.fn.append() with an array + // Fall back to a jQuery object collection using $.fn.add() + if ($.fn.jquery.substr(0, 3) === '1.7') { + var $jqNodes = $(); + + $.map($nodes, function (node) { + $jqNodes = $jqNodes.add(node); + }); + + $nodes = $jqNodes; + } + + $element.append($nodes); + }; + + return Utils; +}); + +S2.define('select2/results',[ + 'jquery', + './utils' +], function ($, Utils) { + function Results ($element, options, dataAdapter) { + this.$element = $element; + this.data = dataAdapter; + this.options = options; + + Results.__super__.constructor.call(this); + } + + Utils.Extend(Results, Utils.Observable); + + Results.prototype.render = function () { + var $results = $( + '
    ' + ); + + if (this.options.get('multiple')) { + $results.attr('aria-multiselectable', 'true'); + } + + this.$results = $results; + + return $results; + }; + + Results.prototype.clear = function () { + this.$results.empty(); + }; + + Results.prototype.displayMessage = function (params) { + var escapeMarkup = this.options.get('escapeMarkup'); + + this.clear(); + this.hideLoading(); + + var $message = $( + '
  • ' + ); + + var message = this.options.get('translations').get(params.message); + + $message.append( + escapeMarkup( + message(params.args) + ) + ); + + $message[0].className += ' select2-results__message'; + + this.$results.append($message); + }; + + Results.prototype.hideMessages = function () { + this.$results.find('.select2-results__message').remove(); + }; + + Results.prototype.append = function (data) { + this.hideLoading(); + + var $options = []; + + if (data.results == null || data.results.length === 0) { + if (this.$results.children().length === 0) { + this.trigger('results:message', { + message: 'noResults' + }); + } + + return; + } + + data.results = this.sort(data.results); + + for (var d = 0; d < data.results.length; d++) { + var item = data.results[d]; + + var $option = this.option(item); + + $options.push($option); + } + + this.$results.append($options); + }; + + Results.prototype.position = function ($results, $dropdown) { + var $resultsContainer = $dropdown.find('.select2-results'); + $resultsContainer.append($results); + }; + + Results.prototype.sort = function (data) { + var sorter = this.options.get('sorter'); + + return sorter(data); + }; + + Results.prototype.highlightFirstItem = function () { + var $options = this.$results + .find('.select2-results__option[aria-selected]'); + + var $selected = $options.filter('[aria-selected=true]'); + + // Check if there are any selected options + if ($selected.length > 0) { + // If there are selected options, highlight the first + $selected.first().trigger('mouseenter'); + } else { + // If there are no selected options, highlight the first option + // in the dropdown + $options.first().trigger('mouseenter'); + } + + this.ensureHighlightVisible(); + }; + + Results.prototype.setClasses = function () { + var self = this; + + this.data.current(function (selected) { + var selectedIds = $.map(selected, function (s) { + return s.id.toString(); + }); + + var $options = self.$results + .find('.select2-results__option[aria-selected]'); + + $options.each(function () { + var $option = $(this); + + var item = $.data(this, 'data'); + + // id needs to be converted to a string when comparing + var id = '' + item.id; + + if ((item.element != null && item.element.selected) || + (item.element == null && $.inArray(id, selectedIds) > -1)) { + $option.attr('aria-selected', 'true'); + } else { + $option.attr('aria-selected', 'false'); + } + }); + + }); + }; + + Results.prototype.showLoading = function (params) { + this.hideLoading(); + + var loadingMore = this.options.get('translations').get('searching'); + + var loading = { + disabled: true, + loading: true, + text: loadingMore(params) + }; + var $loading = this.option(loading); + $loading.className += ' loading-results'; + + this.$results.prepend($loading); + }; + + Results.prototype.hideLoading = function () { + this.$results.find('.loading-results').remove(); + }; + + Results.prototype.option = function (data) { + var option = document.createElement('li'); + option.className = 'select2-results__option'; + + var attrs = { + 'role': 'treeitem', + 'aria-selected': 'false' + }; + + if (data.disabled) { + delete attrs['aria-selected']; + attrs['aria-disabled'] = 'true'; + } + + if (data.id == null) { + delete attrs['aria-selected']; + } + + if (data._resultId != null) { + option.id = data._resultId; + } + + if (data.title) { + option.title = data.title; + } + + if (data.children) { + attrs.role = 'group'; + attrs['aria-label'] = data.text; + delete attrs['aria-selected']; + } + + for (var attr in attrs) { + var val = attrs[attr]; + + option.setAttribute(attr, val); + } + + if (data.children) { + var $option = $(option); + + var label = document.createElement('strong'); + label.className = 'select2-results__group'; + + var $label = $(label); + this.template(data, label); + + var $children = []; + + for (var c = 0; c < data.children.length; c++) { + var child = data.children[c]; + + var $child = this.option(child); + + $children.push($child); + } + + var $childrenContainer = $('
      ', { + 'class': 'select2-results__options select2-results__options--nested' + }); + + $childrenContainer.append($children); + + $option.append(label); + $option.append($childrenContainer); + } else { + this.template(data, option); + } + + $.data(option, 'data', data); + + return option; + }; + + Results.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-results'; + + this.$results.attr('id', id); + + container.on('results:all', function (params) { + self.clear(); + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + self.highlightFirstItem(); + } + }); + + container.on('results:append', function (params) { + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + } + }); + + container.on('query', function (params) { + self.hideMessages(); + self.showLoading(params); + }); + + container.on('select', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + self.highlightFirstItem(); + }); + + container.on('unselect', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + self.highlightFirstItem(); + }); + + container.on('open', function () { + // When the dropdown is open, aria-expended="true" + self.$results.attr('aria-expanded', 'true'); + self.$results.attr('aria-hidden', 'false'); + + self.setClasses(); + self.ensureHighlightVisible(); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expended="false" + self.$results.attr('aria-expanded', 'false'); + self.$results.attr('aria-hidden', 'true'); + self.$results.removeAttr('aria-activedescendant'); + }); + + container.on('results:toggle', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + $highlighted.trigger('mouseup'); + }); + + container.on('results:select', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var data = $highlighted.data('data'); + + if ($highlighted.attr('aria-selected') == 'true') { + self.trigger('close', {}); + } else { + self.trigger('select', { + data: data + }); + } + }); + + container.on('results:previous', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + // If we are already at te top, don't move further + if (currentIndex === 0) { + return; + } + + var nextIndex = currentIndex - 1; + + // If none are highlighted, highlight the first + if ($highlighted.length === 0) { + nextIndex = 0; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top; + var nextTop = $next.offset().top; + var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextTop - currentOffset < 0) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:next', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var nextIndex = currentIndex + 1; + + // If we are at the last option, stay there + if (nextIndex >= $options.length) { + return; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var nextBottom = $next.offset().top + $next.outerHeight(false); + var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextBottom > currentOffset) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:focus', function (params) { + params.element.addClass('select2-results__option--highlighted'); + }); + + container.on('results:message', function (params) { + self.displayMessage(params); + }); + + if ($.fn.mousewheel) { + this.$results.on('mousewheel', function (e) { + var top = self.$results.scrollTop(); + + var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; + + var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; + var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); + + if (isAtTop) { + self.$results.scrollTop(0); + + e.preventDefault(); + e.stopPropagation(); + } else if (isAtBottom) { + self.$results.scrollTop( + self.$results.get(0).scrollHeight - self.$results.height() + ); + + e.preventDefault(); + e.stopPropagation(); + } + }); + } + + this.$results.on('mouseup', '.select2-results__option[aria-selected]', + function (evt) { + var $this = $(this); + + var data = $this.data('data'); + + if ($this.attr('aria-selected') === 'true') { + if (self.options.get('multiple')) { + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } else { + self.trigger('close', {}); + } + + return; + } + + self.trigger('select', { + originalEvent: evt, + data: data + }); + }); + + this.$results.on('mouseenter', '.select2-results__option[aria-selected]', + function (evt) { + var data = $(this).data('data'); + + self.getHighlightedResults() + .removeClass('select2-results__option--highlighted'); + + self.trigger('results:focus', { + data: data, + element: $(this) + }); + }); + }; + + Results.prototype.getHighlightedResults = function () { + var $highlighted = this.$results + .find('.select2-results__option--highlighted'); + + return $highlighted; + }; + + Results.prototype.destroy = function () { + this.$results.remove(); + }; + + Results.prototype.ensureHighlightVisible = function () { + var $highlighted = this.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var $options = this.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var currentOffset = this.$results.offset().top; + var nextTop = $highlighted.offset().top; + var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); + + var offsetDelta = nextTop - currentOffset; + nextOffset -= $highlighted.outerHeight(false) * 2; + + if (currentIndex <= 2) { + this.$results.scrollTop(0); + } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { + this.$results.scrollTop(nextOffset); + } + }; + + Results.prototype.template = function (result, container) { + var template = this.options.get('templateResult'); + var escapeMarkup = this.options.get('escapeMarkup'); + + var content = template(result, container); + + if (content == null) { + container.style.display = 'none'; + } else if (typeof content === 'string') { + container.innerHTML = escapeMarkup(content); + } else { + $(container).append(content); + } + }; + + return Results; +}); + +S2.define('select2/keys',[ + +], function () { + var KEYS = { + BACKSPACE: 8, + TAB: 9, + ENTER: 13, + SHIFT: 16, + CTRL: 17, + ALT: 18, + ESC: 27, + SPACE: 32, + PAGE_UP: 33, + PAGE_DOWN: 34, + END: 35, + HOME: 36, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + DELETE: 46 + }; + + return KEYS; +}); + +S2.define('select2/selection/base',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function BaseSelection ($element, options) { + this.$element = $element; + this.options = options; + + BaseSelection.__super__.constructor.call(this); + } + + Utils.Extend(BaseSelection, Utils.Observable); + + BaseSelection.prototype.render = function () { + var $selection = $( + '' + ); + + this._tabindex = 0; + + if (this.$element.data('old-tabindex') != null) { + this._tabindex = this.$element.data('old-tabindex'); + } else if (this.$element.attr('tabindex') != null) { + this._tabindex = this.$element.attr('tabindex'); + } + + $selection.attr('title', this.$element.attr('title')); + $selection.attr('tabindex', this._tabindex); + + this.$selection = $selection; + + return $selection; + }; + + BaseSelection.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-container'; + var resultsId = container.id + '-results'; + + this.container = container; + + this.$selection.on('focus', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('blur', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', function (evt) { + self.trigger('keypress', evt); + + if (evt.which === KEYS.SPACE) { + evt.preventDefault(); + } + }); + + container.on('results:focus', function (params) { + self.$selection.attr('aria-activedescendant', params.data._resultId); + }); + + container.on('selection:update', function (params) { + self.update(params.data); + }); + + container.on('open', function () { + // When the dropdown is open, aria-expanded="true" + self.$selection.attr('aria-expanded', 'true'); + self.$selection.attr('aria-owns', resultsId); + + self._attachCloseHandler(container); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expanded="false" + self.$selection.attr('aria-expanded', 'false'); + self.$selection.removeAttr('aria-activedescendant'); + self.$selection.removeAttr('aria-owns'); + + self.$selection.focus(); + + self._detachCloseHandler(container); + }); + + container.on('enable', function () { + self.$selection.attr('tabindex', self._tabindex); + }); + + container.on('disable', function () { + self.$selection.attr('tabindex', '-1'); + }); + }; + + BaseSelection.prototype._handleBlur = function (evt) { + var self = this; + + // This needs to be delayed as the active element is the body when the tab + // key is pressed, possibly along with others. + window.setTimeout(function () { + // Don't trigger `blur` if the focus is still in the selection + if ( + (document.activeElement == self.$selection[0]) || + ($.contains(self.$selection[0], document.activeElement)) + ) { + return; + } + + self.trigger('blur', evt); + }, 1); + }; + + BaseSelection.prototype._attachCloseHandler = function (container) { + var self = this; + + $(document.body).on('mousedown.select2.' + container.id, function (e) { + var $target = $(e.target); + + var $select = $target.closest('.select2'); + + var $all = $('.select2.select2-container--open'); + + $all.each(function () { + var $this = $(this); + + if (this == $select[0]) { + return; + } + + var $element = $this.data('element'); + + $element.select2('close'); + }); + }); + }; + + BaseSelection.prototype._detachCloseHandler = function (container) { + $(document.body).off('mousedown.select2.' + container.id); + }; + + BaseSelection.prototype.position = function ($selection, $container) { + var $selectionContainer = $container.find('.selection'); + $selectionContainer.append($selection); + }; + + BaseSelection.prototype.destroy = function () { + this._detachCloseHandler(this.container); + }; + + BaseSelection.prototype.update = function (data) { + throw new Error('The `update` method must be defined in child classes.'); + }; + + return BaseSelection; +}); + +S2.define('select2/selection/single',[ + 'jquery', + './base', + '../utils', + '../keys' +], function ($, BaseSelection, Utils, KEYS) { + function SingleSelection () { + SingleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(SingleSelection, BaseSelection); + + SingleSelection.prototype.render = function () { + var $selection = SingleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--single'); + + $selection.html( + '' + + '' + + '' + + '' + ); + + return $selection; + }; + + SingleSelection.prototype.bind = function (container, $container) { + var self = this; + + SingleSelection.__super__.bind.apply(this, arguments); + + var id = container.id + '-container'; + + this.$selection.find('.select2-selection__rendered').attr('id', id); + this.$selection.attr('aria-labelledby', id); + + this.$selection.on('mousedown', function (evt) { + // Only respond to left clicks + if (evt.which !== 1) { + return; + } + + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on('focus', function (evt) { + // User focuses on the container + }); + + this.$selection.on('blur', function (evt) { + // User exits the container + }); + + container.on('focus', function (evt) { + if (!container.isOpen()) { + self.$selection.focus(); + } + }); + + container.on('selection:update', function (params) { + self.update(params.data); + }); + }; + + SingleSelection.prototype.clear = function () { + this.$selection.find('.select2-selection__rendered').empty(); + }; + + SingleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + SingleSelection.prototype.selectionContainer = function () { + return $(''); + }; + + SingleSelection.prototype.update = function (data) { + if (data.length === 0) { + this.clear(); + return; + } + + var selection = data[0]; + + var $rendered = this.$selection.find('.select2-selection__rendered'); + var formatted = this.display(selection, $rendered); + + $rendered.empty().append(formatted); + $rendered.prop('title', selection.title || selection.text); + }; + + return SingleSelection; +}); + +S2.define('select2/selection/multiple',[ + 'jquery', + './base', + '../utils' +], function ($, BaseSelection, Utils) { + function MultipleSelection ($element, options) { + MultipleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(MultipleSelection, BaseSelection); + + MultipleSelection.prototype.render = function () { + var $selection = MultipleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--multiple'); + + $selection.html( + '
        ' + ); + + return $selection; + }; + + MultipleSelection.prototype.bind = function (container, $container) { + var self = this; + + MultipleSelection.__super__.bind.apply(this, arguments); + + this.$selection.on('click', function (evt) { + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on( + 'click', + '.select2-selection__choice__remove', + function (evt) { + // Ignore the event if it is disabled + if (self.options.get('disabled')) { + return; + } + + var $remove = $(this); + var $selection = $remove.parent(); + + var data = $selection.data('data'); + + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } + ); + }; + + MultipleSelection.prototype.clear = function () { + this.$selection.find('.select2-selection__rendered').empty(); + }; + + MultipleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + MultipleSelection.prototype.selectionContainer = function () { + var $container = $( + '
      • ' + + '' + + '×' + + '' + + '
      • ' + ); + + return $container; + }; + + MultipleSelection.prototype.update = function (data) { + this.clear(); + + if (data.length === 0) { + return; + } + + var $selections = []; + + for (var d = 0; d < data.length; d++) { + var selection = data[d]; + + var $selection = this.selectionContainer(); + var formatted = this.display(selection, $selection); + + $selection.append(formatted); + $selection.prop('title', selection.title || selection.text); + + $selection.data('data', selection); + + $selections.push($selection); + } + + var $rendered = this.$selection.find('.select2-selection__rendered'); + + Utils.appendMany($rendered, $selections); + }; + + return MultipleSelection; +}); + +S2.define('select2/selection/placeholder',[ + '../utils' +], function (Utils) { + function Placeholder (decorated, $element, options) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options); + } + + Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { + var $placeholder = this.selectionContainer(); + + $placeholder.html(this.display(placeholder)); + $placeholder.addClass('select2-selection__placeholder') + .removeClass('select2-selection__choice'); + + return $placeholder; + }; + + Placeholder.prototype.update = function (decorated, data) { + var singlePlaceholder = ( + data.length == 1 && data[0].id != this.placeholder.id + ); + var multipleSelections = data.length > 1; + + if (multipleSelections || singlePlaceholder) { + return decorated.call(this, data); + } + + this.clear(); + + var $placeholder = this.createPlaceholder(this.placeholder); + + this.$selection.find('.select2-selection__rendered').append($placeholder); + }; + + return Placeholder; +}); + +S2.define('select2/selection/allowClear',[ + 'jquery', + '../keys' +], function ($, KEYS) { + function AllowClear () { } + + AllowClear.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + if (this.placeholder == null) { + if (this.options.get('debug') && window.console && console.error) { + console.error( + 'Select2: The `allowClear` option should be used in combination ' + + 'with the `placeholder` option.' + ); + } + } + + this.$selection.on('mousedown', '.select2-selection__clear', + function (evt) { + self._handleClear(evt); + }); + + container.on('keypress', function (evt) { + self._handleKeyboardClear(evt, container); + }); + }; + + AllowClear.prototype._handleClear = function (_, evt) { + // Ignore the event if it is disabled + if (this.options.get('disabled')) { + return; + } + + var $clear = this.$selection.find('.select2-selection__clear'); + + // Ignore the event if nothing has been selected + if ($clear.length === 0) { + return; + } + + evt.stopPropagation(); + + var data = $clear.data('data'); + + for (var d = 0; d < data.length; d++) { + var unselectData = { + data: data[d] + }; + + // Trigger the `unselect` event, so people can prevent it from being + // cleared. + this.trigger('unselect', unselectData); + + // If the event was prevented, don't clear it out. + if (unselectData.prevented) { + return; + } + } + + this.$element.val(this.placeholder.id).trigger('change'); + + this.trigger('toggle', {}); + }; + + AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { + if (container.isOpen()) { + return; + } + + if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { + this._handleClear(evt); + } + }; + + AllowClear.prototype.update = function (decorated, data) { + decorated.call(this, data); + + if (this.$selection.find('.select2-selection__placeholder').length > 0 || + data.length === 0) { + return; + } + + var $remove = $( + '' + + '×' + + '' + ); + $remove.data('data', data); + + this.$selection.find('.select2-selection__rendered').prepend($remove); + }; + + return AllowClear; +}); + +S2.define('select2/selection/search',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function Search (decorated, $element, options) { + decorated.call(this, $element, options); + } + + Search.prototype.render = function (decorated) { + var $search = $( + '' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + var $rendered = decorated.call(this); + + this._transferTabIndex(); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('open', function () { + self.$search.trigger('focus'); + }); + + container.on('close', function () { + self.$search.val(''); + self.$search.removeAttr('aria-activedescendant'); + self.$search.trigger('focus'); + }); + + container.on('enable', function () { + self.$search.prop('disabled', false); + + self._transferTabIndex(); + }); + + container.on('disable', function () { + self.$search.prop('disabled', true); + }); + + container.on('focus', function (evt) { + self.$search.trigger('focus'); + }); + + container.on('results:focus', function (params) { + self.$search.attr('aria-activedescendant', params.id); + }); + + this.$selection.on('focusin', '.select2-search--inline', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('focusout', '.select2-search--inline', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', '.select2-search--inline', function (evt) { + evt.stopPropagation(); + + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + + var key = evt.which; + + if (key === KEYS.BACKSPACE && self.$search.val() === '') { + var $previousChoice = self.$searchContainer + .prev('.select2-selection__choice'); + + if ($previousChoice.length > 0) { + var item = $previousChoice.data('data'); + + self.searchRemoveChoice(item); + + evt.preventDefault(); + } + } + }); + + // Try to detect the IE version should the `documentMode` property that + // is stored on the document. This is only implemented in IE and is + // slightly cleaner than doing a user agent check. + // This property is not available in Edge, but Edge also doesn't have + // this bug. + var msie = document.documentMode; + var disableInputEvents = msie && msie <= 11; + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$selection.on( + 'input.searchcheck', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents) { + self.$selection.off('input.search input.searchcheck'); + return; + } + + // Unbind the duplicated `keyup` event + self.$selection.off('keyup.search'); + } + ); + + this.$selection.on( + 'keyup.search input.search', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents && evt.type === 'input') { + self.$selection.off('input.search input.searchcheck'); + return; + } + + var key = evt.which; + + // We can freely ignore events from modifier keys + if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { + return; + } + + // Tabbing will be handled during the `keydown` phase + if (key == KEYS.TAB) { + return; + } + + self.handleSearch(evt); + } + ); + }; + + /** + * This method will transfer the tabindex attribute from the rendered + * selection to the search box. This allows for the search box to be used as + * the primary focus instead of the selection container. + * + * @private + */ + Search.prototype._transferTabIndex = function (decorated) { + this.$search.attr('tabindex', this.$selection.attr('tabindex')); + this.$selection.attr('tabindex', '-1'); + }; + + Search.prototype.createPlaceholder = function (decorated, placeholder) { + this.$search.attr('placeholder', placeholder.text); + }; + + Search.prototype.update = function (decorated, data) { + var searchHadFocus = this.$search[0] == document.activeElement; + + this.$search.attr('placeholder', ''); + + decorated.call(this, data); + + this.$selection.find('.select2-selection__rendered') + .append(this.$searchContainer); + + this.resizeSearch(); + if (searchHadFocus) { + this.$search.focus(); + } + }; + + Search.prototype.handleSearch = function () { + this.resizeSearch(); + + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.searchRemoveChoice = function (decorated, item) { + this.trigger('unselect', { + data: item + }); + + this.$search.val(item.text); + this.handleSearch(); + }; + + Search.prototype.resizeSearch = function () { + this.$search.css('width', '25px'); + + var width = ''; + + if (this.$search.attr('placeholder') !== '') { + width = this.$selection.find('.select2-selection__rendered').innerWidth(); + } else { + var minimumWidth = this.$search.val().length + 1; + + width = (minimumWidth * 0.75) + 'em'; + } + + this.$search.css('width', width); + }; + + return Search; +}); + +S2.define('select2/selection/eventRelay',[ + 'jquery' +], function ($) { + function EventRelay () { } + + EventRelay.prototype.bind = function (decorated, container, $container) { + var self = this; + var relayEvents = [ + 'open', 'opening', + 'close', 'closing', + 'select', 'selecting', + 'unselect', 'unselecting' + ]; + + var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting']; + + decorated.call(this, container, $container); + + container.on('*', function (name, params) { + // Ignore events that should not be relayed + if ($.inArray(name, relayEvents) === -1) { + return; + } + + // The parameters should always be an object + params = params || {}; + + // Generate the jQuery event for the Select2 event + var evt = $.Event('select2:' + name, { + params: params + }); + + self.$element.trigger(evt); + + // Only handle preventable events if it was one + if ($.inArray(name, preventableEvents) === -1) { + return; + } + + params.prevented = evt.isDefaultPrevented(); + }); + }; + + return EventRelay; +}); + +S2.define('select2/translation',[ + 'jquery', + 'require' +], function ($, require) { + function Translation (dict) { + this.dict = dict || {}; + } + + Translation.prototype.all = function () { + return this.dict; + }; + + Translation.prototype.get = function (key) { + return this.dict[key]; + }; + + Translation.prototype.extend = function (translation) { + this.dict = $.extend({}, translation.all(), this.dict); + }; + + // Static functions + + Translation._cache = {}; + + Translation.loadPath = function (path) { + if (!(path in Translation._cache)) { + var translations = require(path); + + Translation._cache[path] = translations; + } + + return new Translation(Translation._cache[path]); + }; + + return Translation; +}); + +S2.define('select2/diacritics',[ + +], function () { + var diacritics = { + '\u24B6': 'A', + '\uFF21': 'A', + '\u00C0': 'A', + '\u00C1': 'A', + '\u00C2': 'A', + '\u1EA6': 'A', + '\u1EA4': 'A', + '\u1EAA': 'A', + '\u1EA8': 'A', + '\u00C3': 'A', + '\u0100': 'A', + '\u0102': 'A', + '\u1EB0': 'A', + '\u1EAE': 'A', + '\u1EB4': 'A', + '\u1EB2': 'A', + '\u0226': 'A', + '\u01E0': 'A', + '\u00C4': 'A', + '\u01DE': 'A', + '\u1EA2': 'A', + '\u00C5': 'A', + '\u01FA': 'A', + '\u01CD': 'A', + '\u0200': 'A', + '\u0202': 'A', + '\u1EA0': 'A', + '\u1EAC': 'A', + '\u1EB6': 'A', + '\u1E00': 'A', + '\u0104': 'A', + '\u023A': 'A', + '\u2C6F': 'A', + '\uA732': 'AA', + '\u00C6': 'AE', + '\u01FC': 'AE', + '\u01E2': 'AE', + '\uA734': 'AO', + '\uA736': 'AU', + '\uA738': 'AV', + '\uA73A': 'AV', + '\uA73C': 'AY', + '\u24B7': 'B', + '\uFF22': 'B', + '\u1E02': 'B', + '\u1E04': 'B', + '\u1E06': 'B', + '\u0243': 'B', + '\u0182': 'B', + '\u0181': 'B', + '\u24B8': 'C', + '\uFF23': 'C', + '\u0106': 'C', + '\u0108': 'C', + '\u010A': 'C', + '\u010C': 'C', + '\u00C7': 'C', + '\u1E08': 'C', + '\u0187': 'C', + '\u023B': 'C', + '\uA73E': 'C', + '\u24B9': 'D', + '\uFF24': 'D', + '\u1E0A': 'D', + '\u010E': 'D', + '\u1E0C': 'D', + '\u1E10': 'D', + '\u1E12': 'D', + '\u1E0E': 'D', + '\u0110': 'D', + '\u018B': 'D', + '\u018A': 'D', + '\u0189': 'D', + '\uA779': 'D', + '\u01F1': 'DZ', + '\u01C4': 'DZ', + '\u01F2': 'Dz', + '\u01C5': 'Dz', + '\u24BA': 'E', + '\uFF25': 'E', + '\u00C8': 'E', + '\u00C9': 'E', + '\u00CA': 'E', + '\u1EC0': 'E', + '\u1EBE': 'E', + '\u1EC4': 'E', + '\u1EC2': 'E', + '\u1EBC': 'E', + '\u0112': 'E', + '\u1E14': 'E', + '\u1E16': 'E', + '\u0114': 'E', + '\u0116': 'E', + '\u00CB': 'E', + '\u1EBA': 'E', + '\u011A': 'E', + '\u0204': 'E', + '\u0206': 'E', + '\u1EB8': 'E', + '\u1EC6': 'E', + '\u0228': 'E', + '\u1E1C': 'E', + '\u0118': 'E', + '\u1E18': 'E', + '\u1E1A': 'E', + '\u0190': 'E', + '\u018E': 'E', + '\u24BB': 'F', + '\uFF26': 'F', + '\u1E1E': 'F', + '\u0191': 'F', + '\uA77B': 'F', + '\u24BC': 'G', + '\uFF27': 'G', + '\u01F4': 'G', + '\u011C': 'G', + '\u1E20': 'G', + '\u011E': 'G', + '\u0120': 'G', + '\u01E6': 'G', + '\u0122': 'G', + '\u01E4': 'G', + '\u0193': 'G', + '\uA7A0': 'G', + '\uA77D': 'G', + '\uA77E': 'G', + '\u24BD': 'H', + '\uFF28': 'H', + '\u0124': 'H', + '\u1E22': 'H', + '\u1E26': 'H', + '\u021E': 'H', + '\u1E24': 'H', + '\u1E28': 'H', + '\u1E2A': 'H', + '\u0126': 'H', + '\u2C67': 'H', + '\u2C75': 'H', + '\uA78D': 'H', + '\u24BE': 'I', + '\uFF29': 'I', + '\u00CC': 'I', + '\u00CD': 'I', + '\u00CE': 'I', + '\u0128': 'I', + '\u012A': 'I', + '\u012C': 'I', + '\u0130': 'I', + '\u00CF': 'I', + '\u1E2E': 'I', + '\u1EC8': 'I', + '\u01CF': 'I', + '\u0208': 'I', + '\u020A': 'I', + '\u1ECA': 'I', + '\u012E': 'I', + '\u1E2C': 'I', + '\u0197': 'I', + '\u24BF': 'J', + '\uFF2A': 'J', + '\u0134': 'J', + '\u0248': 'J', + '\u24C0': 'K', + '\uFF2B': 'K', + '\u1E30': 'K', + '\u01E8': 'K', + '\u1E32': 'K', + '\u0136': 'K', + '\u1E34': 'K', + '\u0198': 'K', + '\u2C69': 'K', + '\uA740': 'K', + '\uA742': 'K', + '\uA744': 'K', + '\uA7A2': 'K', + '\u24C1': 'L', + '\uFF2C': 'L', + '\u013F': 'L', + '\u0139': 'L', + '\u013D': 'L', + '\u1E36': 'L', + '\u1E38': 'L', + '\u013B': 'L', + '\u1E3C': 'L', + '\u1E3A': 'L', + '\u0141': 'L', + '\u023D': 'L', + '\u2C62': 'L', + '\u2C60': 'L', + '\uA748': 'L', + '\uA746': 'L', + '\uA780': 'L', + '\u01C7': 'LJ', + '\u01C8': 'Lj', + '\u24C2': 'M', + '\uFF2D': 'M', + '\u1E3E': 'M', + '\u1E40': 'M', + '\u1E42': 'M', + '\u2C6E': 'M', + '\u019C': 'M', + '\u24C3': 'N', + '\uFF2E': 'N', + '\u01F8': 'N', + '\u0143': 'N', + '\u00D1': 'N', + '\u1E44': 'N', + '\u0147': 'N', + '\u1E46': 'N', + '\u0145': 'N', + '\u1E4A': 'N', + '\u1E48': 'N', + '\u0220': 'N', + '\u019D': 'N', + '\uA790': 'N', + '\uA7A4': 'N', + '\u01CA': 'NJ', + '\u01CB': 'Nj', + '\u24C4': 'O', + '\uFF2F': 'O', + '\u00D2': 'O', + '\u00D3': 'O', + '\u00D4': 'O', + '\u1ED2': 'O', + '\u1ED0': 'O', + '\u1ED6': 'O', + '\u1ED4': 'O', + '\u00D5': 'O', + '\u1E4C': 'O', + '\u022C': 'O', + '\u1E4E': 'O', + '\u014C': 'O', + '\u1E50': 'O', + '\u1E52': 'O', + '\u014E': 'O', + '\u022E': 'O', + '\u0230': 'O', + '\u00D6': 'O', + '\u022A': 'O', + '\u1ECE': 'O', + '\u0150': 'O', + '\u01D1': 'O', + '\u020C': 'O', + '\u020E': 'O', + '\u01A0': 'O', + '\u1EDC': 'O', + '\u1EDA': 'O', + '\u1EE0': 'O', + '\u1EDE': 'O', + '\u1EE2': 'O', + '\u1ECC': 'O', + '\u1ED8': 'O', + '\u01EA': 'O', + '\u01EC': 'O', + '\u00D8': 'O', + '\u01FE': 'O', + '\u0186': 'O', + '\u019F': 'O', + '\uA74A': 'O', + '\uA74C': 'O', + '\u01A2': 'OI', + '\uA74E': 'OO', + '\u0222': 'OU', + '\u24C5': 'P', + '\uFF30': 'P', + '\u1E54': 'P', + '\u1E56': 'P', + '\u01A4': 'P', + '\u2C63': 'P', + '\uA750': 'P', + '\uA752': 'P', + '\uA754': 'P', + '\u24C6': 'Q', + '\uFF31': 'Q', + '\uA756': 'Q', + '\uA758': 'Q', + '\u024A': 'Q', + '\u24C7': 'R', + '\uFF32': 'R', + '\u0154': 'R', + '\u1E58': 'R', + '\u0158': 'R', + '\u0210': 'R', + '\u0212': 'R', + '\u1E5A': 'R', + '\u1E5C': 'R', + '\u0156': 'R', + '\u1E5E': 'R', + '\u024C': 'R', + '\u2C64': 'R', + '\uA75A': 'R', + '\uA7A6': 'R', + '\uA782': 'R', + '\u24C8': 'S', + '\uFF33': 'S', + '\u1E9E': 'S', + '\u015A': 'S', + '\u1E64': 'S', + '\u015C': 'S', + '\u1E60': 'S', + '\u0160': 'S', + '\u1E66': 'S', + '\u1E62': 'S', + '\u1E68': 'S', + '\u0218': 'S', + '\u015E': 'S', + '\u2C7E': 'S', + '\uA7A8': 'S', + '\uA784': 'S', + '\u24C9': 'T', + '\uFF34': 'T', + '\u1E6A': 'T', + '\u0164': 'T', + '\u1E6C': 'T', + '\u021A': 'T', + '\u0162': 'T', + '\u1E70': 'T', + '\u1E6E': 'T', + '\u0166': 'T', + '\u01AC': 'T', + '\u01AE': 'T', + '\u023E': 'T', + '\uA786': 'T', + '\uA728': 'TZ', + '\u24CA': 'U', + '\uFF35': 'U', + '\u00D9': 'U', + '\u00DA': 'U', + '\u00DB': 'U', + '\u0168': 'U', + '\u1E78': 'U', + '\u016A': 'U', + '\u1E7A': 'U', + '\u016C': 'U', + '\u00DC': 'U', + '\u01DB': 'U', + '\u01D7': 'U', + '\u01D5': 'U', + '\u01D9': 'U', + '\u1EE6': 'U', + '\u016E': 'U', + '\u0170': 'U', + '\u01D3': 'U', + '\u0214': 'U', + '\u0216': 'U', + '\u01AF': 'U', + '\u1EEA': 'U', + '\u1EE8': 'U', + '\u1EEE': 'U', + '\u1EEC': 'U', + '\u1EF0': 'U', + '\u1EE4': 'U', + '\u1E72': 'U', + '\u0172': 'U', + '\u1E76': 'U', + '\u1E74': 'U', + '\u0244': 'U', + '\u24CB': 'V', + '\uFF36': 'V', + '\u1E7C': 'V', + '\u1E7E': 'V', + '\u01B2': 'V', + '\uA75E': 'V', + '\u0245': 'V', + '\uA760': 'VY', + '\u24CC': 'W', + '\uFF37': 'W', + '\u1E80': 'W', + '\u1E82': 'W', + '\u0174': 'W', + '\u1E86': 'W', + '\u1E84': 'W', + '\u1E88': 'W', + '\u2C72': 'W', + '\u24CD': 'X', + '\uFF38': 'X', + '\u1E8A': 'X', + '\u1E8C': 'X', + '\u24CE': 'Y', + '\uFF39': 'Y', + '\u1EF2': 'Y', + '\u00DD': 'Y', + '\u0176': 'Y', + '\u1EF8': 'Y', + '\u0232': 'Y', + '\u1E8E': 'Y', + '\u0178': 'Y', + '\u1EF6': 'Y', + '\u1EF4': 'Y', + '\u01B3': 'Y', + '\u024E': 'Y', + '\u1EFE': 'Y', + '\u24CF': 'Z', + '\uFF3A': 'Z', + '\u0179': 'Z', + '\u1E90': 'Z', + '\u017B': 'Z', + '\u017D': 'Z', + '\u1E92': 'Z', + '\u1E94': 'Z', + '\u01B5': 'Z', + '\u0224': 'Z', + '\u2C7F': 'Z', + '\u2C6B': 'Z', + '\uA762': 'Z', + '\u24D0': 'a', + '\uFF41': 'a', + '\u1E9A': 'a', + '\u00E0': 'a', + '\u00E1': 'a', + '\u00E2': 'a', + '\u1EA7': 'a', + '\u1EA5': 'a', + '\u1EAB': 'a', + '\u1EA9': 'a', + '\u00E3': 'a', + '\u0101': 'a', + '\u0103': 'a', + '\u1EB1': 'a', + '\u1EAF': 'a', + '\u1EB5': 'a', + '\u1EB3': 'a', + '\u0227': 'a', + '\u01E1': 'a', + '\u00E4': 'a', + '\u01DF': 'a', + '\u1EA3': 'a', + '\u00E5': 'a', + '\u01FB': 'a', + '\u01CE': 'a', + '\u0201': 'a', + '\u0203': 'a', + '\u1EA1': 'a', + '\u1EAD': 'a', + '\u1EB7': 'a', + '\u1E01': 'a', + '\u0105': 'a', + '\u2C65': 'a', + '\u0250': 'a', + '\uA733': 'aa', + '\u00E6': 'ae', + '\u01FD': 'ae', + '\u01E3': 'ae', + '\uA735': 'ao', + '\uA737': 'au', + '\uA739': 'av', + '\uA73B': 'av', + '\uA73D': 'ay', + '\u24D1': 'b', + '\uFF42': 'b', + '\u1E03': 'b', + '\u1E05': 'b', + '\u1E07': 'b', + '\u0180': 'b', + '\u0183': 'b', + '\u0253': 'b', + '\u24D2': 'c', + '\uFF43': 'c', + '\u0107': 'c', + '\u0109': 'c', + '\u010B': 'c', + '\u010D': 'c', + '\u00E7': 'c', + '\u1E09': 'c', + '\u0188': 'c', + '\u023C': 'c', + '\uA73F': 'c', + '\u2184': 'c', + '\u24D3': 'd', + '\uFF44': 'd', + '\u1E0B': 'd', + '\u010F': 'd', + '\u1E0D': 'd', + '\u1E11': 'd', + '\u1E13': 'd', + '\u1E0F': 'd', + '\u0111': 'd', + '\u018C': 'd', + '\u0256': 'd', + '\u0257': 'd', + '\uA77A': 'd', + '\u01F3': 'dz', + '\u01C6': 'dz', + '\u24D4': 'e', + '\uFF45': 'e', + '\u00E8': 'e', + '\u00E9': 'e', + '\u00EA': 'e', + '\u1EC1': 'e', + '\u1EBF': 'e', + '\u1EC5': 'e', + '\u1EC3': 'e', + '\u1EBD': 'e', + '\u0113': 'e', + '\u1E15': 'e', + '\u1E17': 'e', + '\u0115': 'e', + '\u0117': 'e', + '\u00EB': 'e', + '\u1EBB': 'e', + '\u011B': 'e', + '\u0205': 'e', + '\u0207': 'e', + '\u1EB9': 'e', + '\u1EC7': 'e', + '\u0229': 'e', + '\u1E1D': 'e', + '\u0119': 'e', + '\u1E19': 'e', + '\u1E1B': 'e', + '\u0247': 'e', + '\u025B': 'e', + '\u01DD': 'e', + '\u24D5': 'f', + '\uFF46': 'f', + '\u1E1F': 'f', + '\u0192': 'f', + '\uA77C': 'f', + '\u24D6': 'g', + '\uFF47': 'g', + '\u01F5': 'g', + '\u011D': 'g', + '\u1E21': 'g', + '\u011F': 'g', + '\u0121': 'g', + '\u01E7': 'g', + '\u0123': 'g', + '\u01E5': 'g', + '\u0260': 'g', + '\uA7A1': 'g', + '\u1D79': 'g', + '\uA77F': 'g', + '\u24D7': 'h', + '\uFF48': 'h', + '\u0125': 'h', + '\u1E23': 'h', + '\u1E27': 'h', + '\u021F': 'h', + '\u1E25': 'h', + '\u1E29': 'h', + '\u1E2B': 'h', + '\u1E96': 'h', + '\u0127': 'h', + '\u2C68': 'h', + '\u2C76': 'h', + '\u0265': 'h', + '\u0195': 'hv', + '\u24D8': 'i', + '\uFF49': 'i', + '\u00EC': 'i', + '\u00ED': 'i', + '\u00EE': 'i', + '\u0129': 'i', + '\u012B': 'i', + '\u012D': 'i', + '\u00EF': 'i', + '\u1E2F': 'i', + '\u1EC9': 'i', + '\u01D0': 'i', + '\u0209': 'i', + '\u020B': 'i', + '\u1ECB': 'i', + '\u012F': 'i', + '\u1E2D': 'i', + '\u0268': 'i', + '\u0131': 'i', + '\u24D9': 'j', + '\uFF4A': 'j', + '\u0135': 'j', + '\u01F0': 'j', + '\u0249': 'j', + '\u24DA': 'k', + '\uFF4B': 'k', + '\u1E31': 'k', + '\u01E9': 'k', + '\u1E33': 'k', + '\u0137': 'k', + '\u1E35': 'k', + '\u0199': 'k', + '\u2C6A': 'k', + '\uA741': 'k', + '\uA743': 'k', + '\uA745': 'k', + '\uA7A3': 'k', + '\u24DB': 'l', + '\uFF4C': 'l', + '\u0140': 'l', + '\u013A': 'l', + '\u013E': 'l', + '\u1E37': 'l', + '\u1E39': 'l', + '\u013C': 'l', + '\u1E3D': 'l', + '\u1E3B': 'l', + '\u017F': 'l', + '\u0142': 'l', + '\u019A': 'l', + '\u026B': 'l', + '\u2C61': 'l', + '\uA749': 'l', + '\uA781': 'l', + '\uA747': 'l', + '\u01C9': 'lj', + '\u24DC': 'm', + '\uFF4D': 'm', + '\u1E3F': 'm', + '\u1E41': 'm', + '\u1E43': 'm', + '\u0271': 'm', + '\u026F': 'm', + '\u24DD': 'n', + '\uFF4E': 'n', + '\u01F9': 'n', + '\u0144': 'n', + '\u00F1': 'n', + '\u1E45': 'n', + '\u0148': 'n', + '\u1E47': 'n', + '\u0146': 'n', + '\u1E4B': 'n', + '\u1E49': 'n', + '\u019E': 'n', + '\u0272': 'n', + '\u0149': 'n', + '\uA791': 'n', + '\uA7A5': 'n', + '\u01CC': 'nj', + '\u24DE': 'o', + '\uFF4F': 'o', + '\u00F2': 'o', + '\u00F3': 'o', + '\u00F4': 'o', + '\u1ED3': 'o', + '\u1ED1': 'o', + '\u1ED7': 'o', + '\u1ED5': 'o', + '\u00F5': 'o', + '\u1E4D': 'o', + '\u022D': 'o', + '\u1E4F': 'o', + '\u014D': 'o', + '\u1E51': 'o', + '\u1E53': 'o', + '\u014F': 'o', + '\u022F': 'o', + '\u0231': 'o', + '\u00F6': 'o', + '\u022B': 'o', + '\u1ECF': 'o', + '\u0151': 'o', + '\u01D2': 'o', + '\u020D': 'o', + '\u020F': 'o', + '\u01A1': 'o', + '\u1EDD': 'o', + '\u1EDB': 'o', + '\u1EE1': 'o', + '\u1EDF': 'o', + '\u1EE3': 'o', + '\u1ECD': 'o', + '\u1ED9': 'o', + '\u01EB': 'o', + '\u01ED': 'o', + '\u00F8': 'o', + '\u01FF': 'o', + '\u0254': 'o', + '\uA74B': 'o', + '\uA74D': 'o', + '\u0275': 'o', + '\u01A3': 'oi', + '\u0223': 'ou', + '\uA74F': 'oo', + '\u24DF': 'p', + '\uFF50': 'p', + '\u1E55': 'p', + '\u1E57': 'p', + '\u01A5': 'p', + '\u1D7D': 'p', + '\uA751': 'p', + '\uA753': 'p', + '\uA755': 'p', + '\u24E0': 'q', + '\uFF51': 'q', + '\u024B': 'q', + '\uA757': 'q', + '\uA759': 'q', + '\u24E1': 'r', + '\uFF52': 'r', + '\u0155': 'r', + '\u1E59': 'r', + '\u0159': 'r', + '\u0211': 'r', + '\u0213': 'r', + '\u1E5B': 'r', + '\u1E5D': 'r', + '\u0157': 'r', + '\u1E5F': 'r', + '\u024D': 'r', + '\u027D': 'r', + '\uA75B': 'r', + '\uA7A7': 'r', + '\uA783': 'r', + '\u24E2': 's', + '\uFF53': 's', + '\u00DF': 's', + '\u015B': 's', + '\u1E65': 's', + '\u015D': 's', + '\u1E61': 's', + '\u0161': 's', + '\u1E67': 's', + '\u1E63': 's', + '\u1E69': 's', + '\u0219': 's', + '\u015F': 's', + '\u023F': 's', + '\uA7A9': 's', + '\uA785': 's', + '\u1E9B': 's', + '\u24E3': 't', + '\uFF54': 't', + '\u1E6B': 't', + '\u1E97': 't', + '\u0165': 't', + '\u1E6D': 't', + '\u021B': 't', + '\u0163': 't', + '\u1E71': 't', + '\u1E6F': 't', + '\u0167': 't', + '\u01AD': 't', + '\u0288': 't', + '\u2C66': 't', + '\uA787': 't', + '\uA729': 'tz', + '\u24E4': 'u', + '\uFF55': 'u', + '\u00F9': 'u', + '\u00FA': 'u', + '\u00FB': 'u', + '\u0169': 'u', + '\u1E79': 'u', + '\u016B': 'u', + '\u1E7B': 'u', + '\u016D': 'u', + '\u00FC': 'u', + '\u01DC': 'u', + '\u01D8': 'u', + '\u01D6': 'u', + '\u01DA': 'u', + '\u1EE7': 'u', + '\u016F': 'u', + '\u0171': 'u', + '\u01D4': 'u', + '\u0215': 'u', + '\u0217': 'u', + '\u01B0': 'u', + '\u1EEB': 'u', + '\u1EE9': 'u', + '\u1EEF': 'u', + '\u1EED': 'u', + '\u1EF1': 'u', + '\u1EE5': 'u', + '\u1E73': 'u', + '\u0173': 'u', + '\u1E77': 'u', + '\u1E75': 'u', + '\u0289': 'u', + '\u24E5': 'v', + '\uFF56': 'v', + '\u1E7D': 'v', + '\u1E7F': 'v', + '\u028B': 'v', + '\uA75F': 'v', + '\u028C': 'v', + '\uA761': 'vy', + '\u24E6': 'w', + '\uFF57': 'w', + '\u1E81': 'w', + '\u1E83': 'w', + '\u0175': 'w', + '\u1E87': 'w', + '\u1E85': 'w', + '\u1E98': 'w', + '\u1E89': 'w', + '\u2C73': 'w', + '\u24E7': 'x', + '\uFF58': 'x', + '\u1E8B': 'x', + '\u1E8D': 'x', + '\u24E8': 'y', + '\uFF59': 'y', + '\u1EF3': 'y', + '\u00FD': 'y', + '\u0177': 'y', + '\u1EF9': 'y', + '\u0233': 'y', + '\u1E8F': 'y', + '\u00FF': 'y', + '\u1EF7': 'y', + '\u1E99': 'y', + '\u1EF5': 'y', + '\u01B4': 'y', + '\u024F': 'y', + '\u1EFF': 'y', + '\u24E9': 'z', + '\uFF5A': 'z', + '\u017A': 'z', + '\u1E91': 'z', + '\u017C': 'z', + '\u017E': 'z', + '\u1E93': 'z', + '\u1E95': 'z', + '\u01B6': 'z', + '\u0225': 'z', + '\u0240': 'z', + '\u2C6C': 'z', + '\uA763': 'z', + '\u0386': '\u0391', + '\u0388': '\u0395', + '\u0389': '\u0397', + '\u038A': '\u0399', + '\u03AA': '\u0399', + '\u038C': '\u039F', + '\u038E': '\u03A5', + '\u03AB': '\u03A5', + '\u038F': '\u03A9', + '\u03AC': '\u03B1', + '\u03AD': '\u03B5', + '\u03AE': '\u03B7', + '\u03AF': '\u03B9', + '\u03CA': '\u03B9', + '\u0390': '\u03B9', + '\u03CC': '\u03BF', + '\u03CD': '\u03C5', + '\u03CB': '\u03C5', + '\u03B0': '\u03C5', + '\u03C9': '\u03C9', + '\u03C2': '\u03C3' + }; + + return diacritics; +}); + +S2.define('select2/data/base',[ + '../utils' +], function (Utils) { + function BaseAdapter ($element, options) { + BaseAdapter.__super__.constructor.call(this); + } + + Utils.Extend(BaseAdapter, Utils.Observable); + + BaseAdapter.prototype.current = function (callback) { + throw new Error('The `current` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.query = function (params, callback) { + throw new Error('The `query` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.bind = function (container, $container) { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.destroy = function () { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.generateResultId = function (container, data) { + var id = container.id + '-result-'; + + id += Utils.generateChars(4); + + if (data.id != null) { + id += '-' + data.id.toString(); + } else { + id += '-' + Utils.generateChars(4); + } + return id; + }; + + return BaseAdapter; +}); + +S2.define('select2/data/select',[ + './base', + '../utils', + 'jquery' +], function (BaseAdapter, Utils, $) { + function SelectAdapter ($element, options) { + this.$element = $element; + this.options = options; + + SelectAdapter.__super__.constructor.call(this); + } + + Utils.Extend(SelectAdapter, BaseAdapter); + + SelectAdapter.prototype.current = function (callback) { + var data = []; + var self = this; + + this.$element.find(':selected').each(function () { + var $option = $(this); + + var option = self.item($option); + + data.push(option); + }); + + callback(data); + }; + + SelectAdapter.prototype.select = function (data) { + var self = this; + + data.selected = true; + + // If data.element is a DOM node, use it instead + if ($(data.element).is('option')) { + data.element.selected = true; + + this.$element.trigger('change'); + + return; + } + + if (this.$element.prop('multiple')) { + this.current(function (currentData) { + var val = []; + + data = [data]; + data.push.apply(data, currentData); + + for (var d = 0; d < data.length; d++) { + var id = data[d].id; + + if ($.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + self.$element.trigger('change'); + }); + } else { + var val = data.id; + + this.$element.val(val); + this.$element.trigger('change'); + } + }; + + SelectAdapter.prototype.unselect = function (data) { + var self = this; + + if (!this.$element.prop('multiple')) { + return; + } + + data.selected = false; + + if ($(data.element).is('option')) { + data.element.selected = false; + + this.$element.trigger('change'); + + return; + } + + this.current(function (currentData) { + var val = []; + + for (var d = 0; d < currentData.length; d++) { + var id = currentData[d].id; + + if (id !== data.id && $.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + + self.$element.trigger('change'); + }); + }; + + SelectAdapter.prototype.bind = function (container, $container) { + var self = this; + + this.container = container; + + container.on('select', function (params) { + self.select(params.data); + }); + + container.on('unselect', function (params) { + self.unselect(params.data); + }); + }; + + SelectAdapter.prototype.destroy = function () { + // Remove anything added to child elements + this.$element.find('*').each(function () { + // Remove any custom data set by Select2 + $.removeData(this, 'data'); + }); + }; + + SelectAdapter.prototype.query = function (params, callback) { + var data = []; + var self = this; + + var $options = this.$element.children(); + + $options.each(function () { + var $option = $(this); + + if (!$option.is('option') && !$option.is('optgroup')) { + return; + } + + var option = self.item($option); + + var matches = self.matches(params, option); + + if (matches !== null) { + data.push(matches); + } + }); + + callback({ + results: data + }); + }; + + SelectAdapter.prototype.addOptions = function ($options) { + Utils.appendMany(this.$element, $options); + }; + + SelectAdapter.prototype.option = function (data) { + var option; + + if (data.children) { + option = document.createElement('optgroup'); + option.label = data.text; + } else { + option = document.createElement('option'); + + if (option.textContent !== undefined) { + option.textContent = data.text; + } else { + option.innerText = data.text; + } + } + + if (data.id !== undefined) { + option.value = data.id; + } + + if (data.disabled) { + option.disabled = true; + } + + if (data.selected) { + option.selected = true; + } + + if (data.title) { + option.title = data.title; + } + + var $option = $(option); + + var normalizedData = this._normalizeItem(data); + normalizedData.element = option; + + // Override the option's data with the combined data + $.data(option, 'data', normalizedData); + + return $option; + }; + + SelectAdapter.prototype.item = function ($option) { + var data = {}; + + data = $.data($option[0], 'data'); + + if (data != null) { + return data; + } + + if ($option.is('option')) { + data = { + id: $option.val(), + text: $option.text(), + disabled: $option.prop('disabled'), + selected: $option.prop('selected'), + title: $option.prop('title') + }; + } else if ($option.is('optgroup')) { + data = { + text: $option.prop('label'), + children: [], + title: $option.prop('title') + }; + + var $children = $option.children('option'); + var children = []; + + for (var c = 0; c < $children.length; c++) { + var $child = $($children[c]); + + var child = this.item($child); + + children.push(child); + } + + data.children = children; + } + + data = this._normalizeItem(data); + data.element = $option[0]; + + $.data($option[0], 'data', data); + + return data; + }; + + SelectAdapter.prototype._normalizeItem = function (item) { + if (!$.isPlainObject(item)) { + item = { + id: item, + text: item + }; + } + + item = $.extend({}, { + text: '' + }, item); + + var defaults = { + selected: false, + disabled: false + }; + + if (item.id != null) { + item.id = item.id.toString(); + } + + if (item.text != null) { + item.text = item.text.toString(); + } + + if (item._resultId == null && item.id && this.container != null) { + item._resultId = this.generateResultId(this.container, item); + } + + return $.extend({}, defaults, item); + }; + + SelectAdapter.prototype.matches = function (params, data) { + var matcher = this.options.get('matcher'); + + return matcher(params, data); + }; + + return SelectAdapter; +}); + +S2.define('select2/data/array',[ + './select', + '../utils', + 'jquery' +], function (SelectAdapter, Utils, $) { + function ArrayAdapter ($element, options) { + var data = options.get('data') || []; + + ArrayAdapter.__super__.constructor.call(this, $element, options); + + this.addOptions(this.convertToOptions(data)); + } + + Utils.Extend(ArrayAdapter, SelectAdapter); + + ArrayAdapter.prototype.select = function (data) { + var $option = this.$element.find('option').filter(function (i, elm) { + return elm.value == data.id.toString(); + }); + + if ($option.length === 0) { + $option = this.option(data); + + this.addOptions($option); + } + + ArrayAdapter.__super__.select.call(this, data); + }; + + ArrayAdapter.prototype.convertToOptions = function (data) { + var self = this; + + var $existing = this.$element.find('option'); + var existingIds = $existing.map(function () { + return self.item($(this)).id; + }).get(); + + var $options = []; + + // Filter out all items except for the one passed in the argument + function onlyItem (item) { + return function () { + return $(this).val() == item.id; + }; + } + + for (var d = 0; d < data.length; d++) { + var item = this._normalizeItem(data[d]); + + // Skip items which were pre-loaded, only merge the data + if ($.inArray(item.id, existingIds) >= 0) { + var $existingOption = $existing.filter(onlyItem(item)); + + var existingData = this.item($existingOption); + var newData = $.extend(true, {}, item, existingData); + + var $newOption = this.option(newData); + + $existingOption.replaceWith($newOption); + + continue; + } + + var $option = this.option(item); + + if (item.children) { + var $children = this.convertToOptions(item.children); + + Utils.appendMany($option, $children); + } + + $options.push($option); + } + + return $options; + }; + + return ArrayAdapter; +}); + +S2.define('select2/data/ajax',[ + './array', + '../utils', + 'jquery' +], function (ArrayAdapter, Utils, $) { + function AjaxAdapter ($element, options) { + this.ajaxOptions = this._applyDefaults(options.get('ajax')); + + if (this.ajaxOptions.processResults != null) { + this.processResults = this.ajaxOptions.processResults; + } + + AjaxAdapter.__super__.constructor.call(this, $element, options); + } + + Utils.Extend(AjaxAdapter, ArrayAdapter); + + AjaxAdapter.prototype._applyDefaults = function (options) { + var defaults = { + data: function (params) { + return $.extend({}, params, { + q: params.term + }); + }, + transport: function (params, success, failure) { + var $request = $.ajax(params); + + $request.then(success); + $request.fail(failure); + + return $request; + } + }; + + return $.extend({}, defaults, options, true); + }; + + AjaxAdapter.prototype.processResults = function (results) { + return results; + }; + + AjaxAdapter.prototype.query = function (params, callback) { + var matches = []; + var self = this; + + if (this._request != null) { + // JSONP requests cannot always be aborted + if ($.isFunction(this._request.abort)) { + this._request.abort(); + } + + this._request = null; + } + + var options = $.extend({ + type: 'GET' + }, this.ajaxOptions); + + if (typeof options.url === 'function') { + options.url = options.url.call(this.$element, params); + } + + if (typeof options.data === 'function') { + options.data = options.data.call(this.$element, params); + } + + function request () { + var $request = options.transport(options, function (data) { + var results = self.processResults(data, params); + + if (self.options.get('debug') && window.console && console.error) { + // Check to make sure that the response included a `results` key. + if (!results || !results.results || !$.isArray(results.results)) { + console.error( + 'Select2: The AJAX results did not return an array in the ' + + '`results` key of the response.' + ); + } + } + + callback(results); + }, function () { + // Attempt to detect if a request was aborted + // Only works if the transport exposes a status property + if ($request.status && $request.status === '0') { + return; + } + + self.trigger('results:message', { + message: 'errorLoading' + }); + }); + + self._request = $request; + } + + if (this.ajaxOptions.delay && params.term != null) { + if (this._queryTimeout) { + window.clearTimeout(this._queryTimeout); + } + + this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); + } else { + request(); + } + }; + + return AjaxAdapter; +}); + +S2.define('select2/data/tags',[ + 'jquery' +], function ($) { + function Tags (decorated, $element, options) { + var tags = options.get('tags'); + + var createTag = options.get('createTag'); + + if (createTag !== undefined) { + this.createTag = createTag; + } + + var insertTag = options.get('insertTag'); + + if (insertTag !== undefined) { + this.insertTag = insertTag; + } + + decorated.call(this, $element, options); + + if ($.isArray(tags)) { + for (var t = 0; t < tags.length; t++) { + var tag = tags[t]; + var item = this._normalizeItem(tag); + + var $option = this.option(item); + + this.$element.append($option); + } + } + } + + Tags.prototype.query = function (decorated, params, callback) { + var self = this; + + this._removeOldTags(); + + if (params.term == null || params.page != null) { + decorated.call(this, params, callback); + return; + } + + function wrapper (obj, child) { + var data = obj.results; + + for (var i = 0; i < data.length; i++) { + var option = data[i]; + + var checkChildren = ( + option.children != null && + !wrapper({ + results: option.children + }, true) + ); + + var optionText = (option.text || '').toUpperCase(); + var paramsTerm = (params.term || '').toUpperCase(); + + var checkText = optionText === paramsTerm; + + if (checkText || checkChildren) { + if (child) { + return false; + } + + obj.data = data; + callback(obj); + + return; + } + } + + if (child) { + return true; + } + + var tag = self.createTag(params); + + if (tag != null) { + var $option = self.option(tag); + $option.attr('data-select2-tag', true); + + self.addOptions([$option]); + + self.insertTag(data, tag); + } + + obj.results = data; + + callback(obj); + } + + decorated.call(this, params, wrapper); + }; + + Tags.prototype.createTag = function (decorated, params) { + var term = $.trim(params.term); + + if (term === '') { + return null; + } + + return { + id: term, + text: term + }; + }; + + Tags.prototype.insertTag = function (_, data, tag) { + data.unshift(tag); + }; + + Tags.prototype._removeOldTags = function (_) { + var tag = this._lastTag; + + var $options = this.$element.find('option[data-select2-tag]'); + + $options.each(function () { + if (this.selected) { + return; + } + + $(this).remove(); + }); + }; + + return Tags; +}); + +S2.define('select2/data/tokenizer',[ + 'jquery' +], function ($) { + function Tokenizer (decorated, $element, options) { + var tokenizer = options.get('tokenizer'); + + if (tokenizer !== undefined) { + this.tokenizer = tokenizer; + } + + decorated.call(this, $element, options); + } + + Tokenizer.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + this.$search = container.dropdown.$search || container.selection.$search || + $container.find('.select2-search__field'); + }; + + Tokenizer.prototype.query = function (decorated, params, callback) { + var self = this; + + function createAndSelect (data) { + // Normalize the data object so we can use it for checks + var item = self._normalizeItem(data); + + // Check if the data object already exists as a tag + // Select it if it doesn't + var $existingOptions = self.$element.find('option').filter(function () { + return $(this).val() === item.id; + }); + + // If an existing option wasn't found for it, create the option + if (!$existingOptions.length) { + var $option = self.option(item); + $option.attr('data-select2-tag', true); + + self._removeOldTags(); + self.addOptions([$option]); + } + + // Select the item, now that we know there is an option for it + select(item); + } + + function select (data) { + self.trigger('select', { + data: data + }); + } + + params.term = params.term || ''; + + var tokenData = this.tokenizer(params, this.options, createAndSelect); + + if (tokenData.term !== params.term) { + // Replace the search term if we have the search box + if (this.$search.length) { + this.$search.val(tokenData.term); + this.$search.focus(); + } + + params.term = tokenData.term; + } + + decorated.call(this, params, callback); + }; + + Tokenizer.prototype.tokenizer = function (_, params, options, callback) { + var separators = options.get('tokenSeparators') || []; + var term = params.term; + var i = 0; + + var createTag = this.createTag || function (params) { + return { + id: params.term, + text: params.term + }; + }; + + while (i < term.length) { + var termChar = term[i]; + + if ($.inArray(termChar, separators) === -1) { + i++; + + continue; + } + + var part = term.substr(0, i); + var partParams = $.extend({}, params, { + term: part + }); + + var data = createTag(partParams); + + if (data == null) { + i++; + continue; + } + + callback(data); + + // Reset the term to not include the tokenized portion + term = term.substr(i + 1) || ''; + i = 0; + } + + return { + term: term + }; + }; + + return Tokenizer; +}); + +S2.define('select2/data/minimumInputLength',[ + +], function () { + function MinimumInputLength (decorated, $e, options) { + this.minimumInputLength = options.get('minimumInputLength'); + + decorated.call(this, $e, options); + } + + MinimumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (params.term.length < this.minimumInputLength) { + this.trigger('results:message', { + message: 'inputTooShort', + args: { + minimum: this.minimumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MinimumInputLength; +}); + +S2.define('select2/data/maximumInputLength',[ + +], function () { + function MaximumInputLength (decorated, $e, options) { + this.maximumInputLength = options.get('maximumInputLength'); + + decorated.call(this, $e, options); + } + + MaximumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (this.maximumInputLength > 0 && + params.term.length > this.maximumInputLength) { + this.trigger('results:message', { + message: 'inputTooLong', + args: { + maximum: this.maximumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MaximumInputLength; +}); + +S2.define('select2/data/maximumSelectionLength',[ + +], function (){ + function MaximumSelectionLength (decorated, $e, options) { + this.maximumSelectionLength = options.get('maximumSelectionLength'); + + decorated.call(this, $e, options); + } + + MaximumSelectionLength.prototype.query = + function (decorated, params, callback) { + var self = this; + + this.current(function (currentData) { + var count = currentData != null ? currentData.length : 0; + if (self.maximumSelectionLength > 0 && + count >= self.maximumSelectionLength) { + self.trigger('results:message', { + message: 'maximumSelected', + args: { + maximum: self.maximumSelectionLength + } + }); + return; + } + decorated.call(self, params, callback); + }); + }; + + return MaximumSelectionLength; +}); + +S2.define('select2/dropdown',[ + 'jquery', + './utils' +], function ($, Utils) { + function Dropdown ($element, options) { + this.$element = $element; + this.options = options; + + Dropdown.__super__.constructor.call(this); + } + + Utils.Extend(Dropdown, Utils.Observable); + + Dropdown.prototype.render = function () { + var $dropdown = $( + '' + + '' + + '' + ); + + $dropdown.attr('dir', this.options.get('dir')); + + this.$dropdown = $dropdown; + + return $dropdown; + }; + + Dropdown.prototype.bind = function () { + // Should be implemented in subclasses + }; + + Dropdown.prototype.position = function ($dropdown, $container) { + // Should be implmented in subclasses + }; + + Dropdown.prototype.destroy = function () { + // Remove the dropdown from the DOM + this.$dropdown.remove(); + }; + + return Dropdown; +}); + +S2.define('select2/dropdown/search',[ + 'jquery', + '../utils' +], function ($, Utils) { + function Search () { } + + Search.prototype.render = function (decorated) { + var $rendered = decorated.call(this); + + var $search = $( + '' + + '' + + '' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + $rendered.prepend($search); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + this.$search.on('keydown', function (evt) { + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + }); + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$search.on('input', function (evt) { + // Unbind the duplicated `keyup` event + $(this).off('keyup'); + }); + + this.$search.on('keyup input', function (evt) { + self.handleSearch(evt); + }); + + container.on('open', function () { + self.$search.attr('tabindex', 0); + + self.$search.focus(); + + window.setTimeout(function () { + self.$search.focus(); + }, 0); + }); + + container.on('close', function () { + self.$search.attr('tabindex', -1); + + self.$search.val(''); + }); + + container.on('focus', function () { + if (container.isOpen()) { + self.$search.focus(); + } + }); + + container.on('results:all', function (params) { + if (params.query.term == null || params.query.term === '') { + var showSearch = self.showSearch(params); + + if (showSearch) { + self.$searchContainer.removeClass('select2-search--hide'); + } else { + self.$searchContainer.addClass('select2-search--hide'); + } + } + }); + }; + + Search.prototype.handleSearch = function (evt) { + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.showSearch = function (_, params) { + return true; + }; + + return Search; +}); + +S2.define('select2/dropdown/hidePlaceholder',[ + +], function () { + function HidePlaceholder (decorated, $element, options, dataAdapter) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options, dataAdapter); + } + + HidePlaceholder.prototype.append = function (decorated, data) { + data.results = this.removePlaceholder(data.results); + + decorated.call(this, data); + }; + + HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + HidePlaceholder.prototype.removePlaceholder = function (_, data) { + var modifiedData = data.slice(0); + + for (var d = data.length - 1; d >= 0; d--) { + var item = data[d]; + + if (this.placeholder.id === item.id) { + modifiedData.splice(d, 1); + } + } + + return modifiedData; + }; + + return HidePlaceholder; +}); + +S2.define('select2/dropdown/infiniteScroll',[ + 'jquery' +], function ($) { + function InfiniteScroll (decorated, $element, options, dataAdapter) { + this.lastParams = {}; + + decorated.call(this, $element, options, dataAdapter); + + this.$loadingMore = this.createLoadingMore(); + this.loading = false; + } + + InfiniteScroll.prototype.append = function (decorated, data) { + this.$loadingMore.remove(); + this.loading = false; + + decorated.call(this, data); + + if (this.showLoadingMore(data)) { + this.$results.append(this.$loadingMore); + } + }; + + InfiniteScroll.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('query', function (params) { + self.lastParams = params; + self.loading = true; + }); + + container.on('query:append', function (params) { + self.lastParams = params; + self.loading = true; + }); + + this.$results.on('scroll', function () { + var isLoadMoreVisible = $.contains( + document.documentElement, + self.$loadingMore[0] + ); + + if (self.loading || !isLoadMoreVisible) { + return; + } + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var loadingMoreOffset = self.$loadingMore.offset().top + + self.$loadingMore.outerHeight(false); + + if (currentOffset + 50 >= loadingMoreOffset) { + self.loadMore(); + } + }); + }; + + InfiniteScroll.prototype.loadMore = function () { + this.loading = true; + + var params = $.extend({}, {page: 1}, this.lastParams); + + params.page++; + + this.trigger('query:append', params); + }; + + InfiniteScroll.prototype.showLoadingMore = function (_, data) { + return data.pagination && data.pagination.more; + }; + + InfiniteScroll.prototype.createLoadingMore = function () { + var $option = $( + '
      • ' + ); + + var message = this.options.get('translations').get('loadingMore'); + + $option.html(message(this.lastParams)); + + return $option; + }; + + return InfiniteScroll; +}); + +S2.define('select2/dropdown/attachBody',[ + 'jquery', + '../utils' +], function ($, Utils) { + function AttachBody (decorated, $element, options) { + this.$dropdownParent = options.get('dropdownParent') || $(document.body); + + decorated.call(this, $element, options); + } + + AttachBody.prototype.bind = function (decorated, container, $container) { + var self = this; + + var setupResultsEvents = false; + + decorated.call(this, container, $container); + + container.on('open', function () { + self._showDropdown(); + self._attachPositioningHandler(container); + + if (!setupResultsEvents) { + setupResultsEvents = true; + + container.on('results:all', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('results:append', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + } + }); + + container.on('close', function () { + self._hideDropdown(); + self._detachPositioningHandler(container); + }); + + this.$dropdownContainer.on('mousedown', function (evt) { + evt.stopPropagation(); + }); + }; + + AttachBody.prototype.destroy = function (decorated) { + decorated.call(this); + + this.$dropdownContainer.remove(); + }; + + AttachBody.prototype.position = function (decorated, $dropdown, $container) { + // Clone all of the container classes + $dropdown.attr('class', $container.attr('class')); + + $dropdown.removeClass('select2'); + $dropdown.addClass('select2-container--open'); + + $dropdown.css({ + position: 'absolute', + top: -999999 + }); + + this.$container = $container; + }; + + AttachBody.prototype.render = function (decorated) { + var $container = $(''); + + var $dropdown = decorated.call(this); + $container.append($dropdown); + + this.$dropdownContainer = $container; + + return $container; + }; + + AttachBody.prototype._hideDropdown = function (decorated) { + this.$dropdownContainer.detach(); + }; + + AttachBody.prototype._attachPositioningHandler = + function (decorated, container) { + var self = this; + + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.each(function () { + $(this).data('select2-scroll-position', { + x: $(this).scrollLeft(), + y: $(this).scrollTop() + }); + }); + + $watchers.on(scrollEvent, function (ev) { + var position = $(this).data('select2-scroll-position'); + $(this).scrollTop(position.y); + }); + + $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, + function (e) { + self._positionDropdown(); + self._resizeDropdown(); + }); + }; + + AttachBody.prototype._detachPositioningHandler = + function (decorated, container) { + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.off(scrollEvent); + + $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); + }; + + AttachBody.prototype._positionDropdown = function () { + var $window = $(window); + + var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); + var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); + + var newDirection = null; + + var offset = this.$container.offset(); + + offset.bottom = offset.top + this.$container.outerHeight(false); + + var container = { + height: this.$container.outerHeight(false) + }; + + container.top = offset.top; + container.bottom = offset.top + container.height; + + var dropdown = { + height: this.$dropdown.outerHeight(false) + }; + + var viewport = { + top: $window.scrollTop(), + bottom: $window.scrollTop() + $window.height() + }; + + var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); + var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); + + var css = { + left: offset.left, + top: container.bottom + }; + + // Determine what the parent element is to use for calciulating the offset + var $offsetParent = this.$dropdownParent; + + // For statically positoned elements, we need to get the element + // that is determining the offset + if ($offsetParent.css('position') === 'static') { + $offsetParent = $offsetParent.offsetParent(); + } + + var parentOffset = $offsetParent.offset(); + + css.top -= parentOffset.top; + css.left -= parentOffset.left; + + if (!isCurrentlyAbove && !isCurrentlyBelow) { + newDirection = 'below'; + } + + if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { + newDirection = 'above'; + } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { + newDirection = 'below'; + } + + if (newDirection == 'above' || + (isCurrentlyAbove && newDirection !== 'below')) { + css.top = container.top - parentOffset.top - dropdown.height; + } + + if (newDirection != null) { + this.$dropdown + .removeClass('select2-dropdown--below select2-dropdown--above') + .addClass('select2-dropdown--' + newDirection); + this.$container + .removeClass('select2-container--below select2-container--above') + .addClass('select2-container--' + newDirection); + } + + this.$dropdownContainer.css(css); + }; + + AttachBody.prototype._resizeDropdown = function () { + var css = { + width: this.$container.outerWidth(false) + 'px' + }; + + if (this.options.get('dropdownAutoWidth')) { + css.minWidth = css.width; + css.position = 'relative'; + css.width = 'auto'; + } + + this.$dropdown.css(css); + }; + + AttachBody.prototype._showDropdown = function (decorated) { + this.$dropdownContainer.appendTo(this.$dropdownParent); + + this._positionDropdown(); + this._resizeDropdown(); + }; + + return AttachBody; +}); + +S2.define('select2/dropdown/minimumResultsForSearch',[ + +], function () { + function countResults (data) { + var count = 0; + + for (var d = 0; d < data.length; d++) { + var item = data[d]; + + if (item.children) { + count += countResults(item.children); + } else { + count++; + } + } + + return count; + } + + function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { + this.minimumResultsForSearch = options.get('minimumResultsForSearch'); + + if (this.minimumResultsForSearch < 0) { + this.minimumResultsForSearch = Infinity; + } + + decorated.call(this, $element, options, dataAdapter); + } + + MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { + if (countResults(params.data.results) < this.minimumResultsForSearch) { + return false; + } + + return decorated.call(this, params); + }; + + return MinimumResultsForSearch; +}); + +S2.define('select2/dropdown/selectOnClose',[ + +], function () { + function SelectOnClose () { } + + SelectOnClose.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('close', function (params) { + self._handleSelectOnClose(params); + }); + }; + + SelectOnClose.prototype._handleSelectOnClose = function (_, params) { + if (params && params.originalSelect2Event != null) { + var event = params.originalSelect2Event; + + // Don't select an item if the close event was triggered from a select or + // unselect event + if (event._type === 'select' || event._type === 'unselect') { + return; + } + } + + var $highlightedResults = this.getHighlightedResults(); + + // Only select highlighted results + if ($highlightedResults.length < 1) { + return; + } + + var data = $highlightedResults.data('data'); + + // Don't re-select already selected resulte + if ( + (data.element != null && data.element.selected) || + (data.element == null && data.selected) + ) { + return; + } + + this.trigger('select', { + data: data + }); + }; + + return SelectOnClose; +}); + +S2.define('select2/dropdown/closeOnSelect',[ + +], function () { + function CloseOnSelect () { } + + CloseOnSelect.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('select', function (evt) { + self._selectTriggered(evt); + }); + + container.on('unselect', function (evt) { + self._selectTriggered(evt); + }); + }; + + CloseOnSelect.prototype._selectTriggered = function (_, evt) { + var originalEvent = evt.originalEvent; + + // Don't close if the control key is being held + if (originalEvent && originalEvent.ctrlKey) { + return; + } + + this.trigger('close', { + originalEvent: originalEvent, + originalSelect2Event: evt + }); + }; + + return CloseOnSelect; +}); + +S2.define('select2/i18n/en',[],function () { + // English + return { + errorLoading: function () { + return 'The results could not be loaded.'; + }, + inputTooLong: function (args) { + var overChars = args.input.length - args.maximum; + + var message = 'Please delete ' + overChars + ' character'; + + if (overChars != 1) { + message += 's'; + } + + return message; + }, + inputTooShort: function (args) { + var remainingChars = args.minimum - args.input.length; + + var message = 'Please enter ' + remainingChars + ' or more characters'; + + return message; + }, + loadingMore: function () { + return 'Loading more results…'; + }, + maximumSelected: function (args) { + var message = 'You can only select ' + args.maximum + ' item'; + + if (args.maximum != 1) { + message += 's'; + } + + return message; + }, + noResults: function () { + return 'No results found'; + }, + searching: function () { + return 'Searching…'; + } + }; +}); + +S2.define('select2/defaults',[ + 'jquery', + 'require', + + './results', + + './selection/single', + './selection/multiple', + './selection/placeholder', + './selection/allowClear', + './selection/search', + './selection/eventRelay', + + './utils', + './translation', + './diacritics', + + './data/select', + './data/array', + './data/ajax', + './data/tags', + './data/tokenizer', + './data/minimumInputLength', + './data/maximumInputLength', + './data/maximumSelectionLength', + + './dropdown', + './dropdown/search', + './dropdown/hidePlaceholder', + './dropdown/infiniteScroll', + './dropdown/attachBody', + './dropdown/minimumResultsForSearch', + './dropdown/selectOnClose', + './dropdown/closeOnSelect', + + './i18n/en' +], function ($, require, + + ResultsList, + + SingleSelection, MultipleSelection, Placeholder, AllowClear, + SelectionSearch, EventRelay, + + Utils, Translation, DIACRITICS, + + SelectData, ArrayData, AjaxData, Tags, Tokenizer, + MinimumInputLength, MaximumInputLength, MaximumSelectionLength, + + Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, + AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, + + EnglishTranslation) { + function Defaults () { + this.reset(); + } + + Defaults.prototype.apply = function (options) { + options = $.extend(true, {}, this.defaults, options); + + if (options.dataAdapter == null) { + if (options.ajax != null) { + options.dataAdapter = AjaxData; + } else if (options.data != null) { + options.dataAdapter = ArrayData; + } else { + options.dataAdapter = SelectData; + } + + if (options.minimumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MinimumInputLength + ); + } + + if (options.maximumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumInputLength + ); + } + + if (options.maximumSelectionLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumSelectionLength + ); + } + + if (options.tags) { + options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); + } + + if (options.tokenSeparators != null || options.tokenizer != null) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Tokenizer + ); + } + + if (options.query != null) { + var Query = require(options.amdBase + 'compat/query'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Query + ); + } + + if (options.initSelection != null) { + var InitSelection = require(options.amdBase + 'compat/initSelection'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + InitSelection + ); + } + } + + if (options.resultsAdapter == null) { + options.resultsAdapter = ResultsList; + + if (options.ajax != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + InfiniteScroll + ); + } + + if (options.placeholder != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + HidePlaceholder + ); + } + + if (options.selectOnClose) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + SelectOnClose + ); + } + } + + if (options.dropdownAdapter == null) { + if (options.multiple) { + options.dropdownAdapter = Dropdown; + } else { + var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); + + options.dropdownAdapter = SearchableDropdown; + } + + if (options.minimumResultsForSearch !== 0) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + MinimumResultsForSearch + ); + } + + if (options.closeOnSelect) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + CloseOnSelect + ); + } + + if ( + options.dropdownCssClass != null || + options.dropdownCss != null || + options.adaptDropdownCssClass != null + ) { + var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + DropdownCSS + ); + } + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + AttachBody + ); + } + + if (options.selectionAdapter == null) { + if (options.multiple) { + options.selectionAdapter = MultipleSelection; + } else { + options.selectionAdapter = SingleSelection; + } + + // Add the placeholder mixin if a placeholder was specified + if (options.placeholder != null) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + Placeholder + ); + } + + if (options.allowClear) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + AllowClear + ); + } + + if (options.multiple) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + SelectionSearch + ); + } + + if ( + options.containerCssClass != null || + options.containerCss != null || + options.adaptContainerCssClass != null + ) { + var ContainerCSS = require(options.amdBase + 'compat/containerCss'); + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + ContainerCSS + ); + } + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + EventRelay + ); + } + + if (typeof options.language === 'string') { + // Check if the language is specified with a region + if (options.language.indexOf('-') > 0) { + // Extract the region information if it is included + var languageParts = options.language.split('-'); + var baseLanguage = languageParts[0]; + + options.language = [options.language, baseLanguage]; + } else { + options.language = [options.language]; + } + } + + if ($.isArray(options.language)) { + var languages = new Translation(); + options.language.push('en'); + + var languageNames = options.language; + + for (var l = 0; l < languageNames.length; l++) { + var name = languageNames[l]; + var language = {}; + + try { + // Try to load it with the original name + language = Translation.loadPath(name); + } catch (e) { + try { + // If we couldn't load it, check if it wasn't the full path + name = this.defaults.amdLanguageBase + name; + language = Translation.loadPath(name); + } catch (ex) { + // The translation could not be loaded at all. Sometimes this is + // because of a configuration problem, other times this can be + // because of how Select2 helps load all possible translation files. + if (options.debug && window.console && console.warn) { + console.warn( + 'Select2: The language file for "' + name + '" could not be ' + + 'automatically loaded. A fallback will be used instead.' + ); + } + + continue; + } + } + + languages.extend(language); + } + + options.translations = languages; + } else { + var baseTranslation = Translation.loadPath( + this.defaults.amdLanguageBase + 'en' + ); + var customTranslation = new Translation(options.language); + + customTranslation.extend(baseTranslation); + + options.translations = customTranslation; + } + + return options; + }; + + Defaults.prototype.reset = function () { + function stripDiacritics (text) { + // Used 'uni range + named function' from http://jsperf.com/diacritics/18 + function match(a) { + return DIACRITICS[a] || a; + } + + return text.replace(/[^\u0000-\u007E]/g, match); + } + + function matcher (params, data) { + // Always return the object if there is nothing to compare + if ($.trim(params.term) === '') { + return data; + } + + // Do a recursive check for options with children + if (data.children && data.children.length > 0) { + // Clone the data object if there are children + // This is required as we modify the object to remove any non-matches + var match = $.extend(true, {}, data); + + // Check each child of the option + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + var matches = matcher(params, child); + + // If there wasn't a match, remove the object in the array + if (matches == null) { + match.children.splice(c, 1); + } + } + + // If any children matched, return the new object + if (match.children.length > 0) { + return match; + } + + // If there were no matching children, check just the plain object + return matcher(params, match); + } + + var original = stripDiacritics(data.text).toUpperCase(); + var term = stripDiacritics(params.term).toUpperCase(); + + // Check if the text contains the term + if (original.indexOf(term) > -1) { + return data; + } + + // If it doesn't contain the term, don't return anything + return null; + } + + this.defaults = { + amdBase: './', + amdLanguageBase: './i18n/', + closeOnSelect: true, + debug: false, + dropdownAutoWidth: false, + escapeMarkup: Utils.escapeMarkup, + language: EnglishTranslation, + matcher: matcher, + minimumInputLength: 0, + maximumInputLength: 0, + maximumSelectionLength: 0, + minimumResultsForSearch: 0, + selectOnClose: false, + sorter: function (data) { + return data; + }, + templateResult: function (result) { + return result.text; + }, + templateSelection: function (selection) { + return selection.text; + }, + theme: 'default', + width: 'resolve' + }; + }; + + Defaults.prototype.set = function (key, value) { + var camelKey = $.camelCase(key); + + var data = {}; + data[camelKey] = value; + + var convertedData = Utils._convertData(data); + + $.extend(this.defaults, convertedData); + }; + + var defaults = new Defaults(); + + return defaults; +}); + +S2.define('select2/options',[ + 'require', + 'jquery', + './defaults', + './utils' +], function (require, $, Defaults, Utils) { + function Options (options, $element) { + this.options = options; + + if ($element != null) { + this.fromElement($element); + } + + this.options = Defaults.apply(this.options); + + if ($element && $element.is('input')) { + var InputCompat = require(this.get('amdBase') + 'compat/inputData'); + + this.options.dataAdapter = Utils.Decorate( + this.options.dataAdapter, + InputCompat + ); + } + } + + Options.prototype.fromElement = function ($e) { + var excludedData = ['select2']; + + if (this.options.multiple == null) { + this.options.multiple = $e.prop('multiple'); + } + + if (this.options.disabled == null) { + this.options.disabled = $e.prop('disabled'); + } + + if (this.options.language == null) { + if ($e.prop('lang')) { + this.options.language = $e.prop('lang').toLowerCase(); + } else if ($e.closest('[lang]').prop('lang')) { + this.options.language = $e.closest('[lang]').prop('lang'); + } + } + + if (this.options.dir == null) { + if ($e.prop('dir')) { + this.options.dir = $e.prop('dir'); + } else if ($e.closest('[dir]').prop('dir')) { + this.options.dir = $e.closest('[dir]').prop('dir'); + } else { + this.options.dir = 'ltr'; + } + } + + $e.prop('disabled', this.options.disabled); + $e.prop('multiple', this.options.multiple); + + if ($e.data('select2Tags')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-select2-tags` attribute has been changed to ' + + 'use the `data-data` and `data-tags="true"` attributes and will be ' + + 'removed in future versions of Select2.' + ); + } + + $e.data('data', $e.data('select2Tags')); + $e.data('tags', true); + } + + if ($e.data('ajaxUrl')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-ajax-url` attribute has been changed to ' + + '`data-ajax--url` and support for the old attribute will be removed' + + ' in future versions of Select2.' + ); + } + + $e.attr('ajax--url', $e.data('ajaxUrl')); + $e.data('ajax--url', $e.data('ajaxUrl')); + } + + var dataset = {}; + + // Prefer the element's `dataset` attribute if it exists + // jQuery 1.x does not correctly handle data attributes with multiple dashes + if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { + dataset = $.extend(true, {}, $e[0].dataset, $e.data()); + } else { + dataset = $e.data(); + } + + var data = $.extend(true, {}, dataset); + + data = Utils._convertData(data); + + for (var key in data) { + if ($.inArray(key, excludedData) > -1) { + continue; + } + + if ($.isPlainObject(this.options[key])) { + $.extend(this.options[key], data[key]); + } else { + this.options[key] = data[key]; + } + } + + return this; + }; + + Options.prototype.get = function (key) { + return this.options[key]; + }; + + Options.prototype.set = function (key, val) { + this.options[key] = val; + }; + + return Options; +}); + +S2.define('select2/core',[ + 'jquery', + './options', + './utils', + './keys' +], function ($, Options, Utils, KEYS) { + var Select2 = function ($element, options) { + if ($element.data('select2') != null) { + $element.data('select2').destroy(); + } + + this.$element = $element; + + this.id = this._generateId($element); + + options = options || {}; + + this.options = new Options(options, $element); + + Select2.__super__.constructor.call(this); + + // Set up the tabindex + + var tabindex = $element.attr('tabindex') || 0; + $element.data('old-tabindex', tabindex); + $element.attr('tabindex', '-1'); + + // Set up containers and adapters + + var DataAdapter = this.options.get('dataAdapter'); + this.dataAdapter = new DataAdapter($element, this.options); + + var $container = this.render(); + + this._placeContainer($container); + + var SelectionAdapter = this.options.get('selectionAdapter'); + this.selection = new SelectionAdapter($element, this.options); + this.$selection = this.selection.render(); + + this.selection.position(this.$selection, $container); + + var DropdownAdapter = this.options.get('dropdownAdapter'); + this.dropdown = new DropdownAdapter($element, this.options); + this.$dropdown = this.dropdown.render(); + + this.dropdown.position(this.$dropdown, $container); + + var ResultsAdapter = this.options.get('resultsAdapter'); + this.results = new ResultsAdapter($element, this.options, this.dataAdapter); + this.$results = this.results.render(); + + this.results.position(this.$results, this.$dropdown); + + // Bind events + + var self = this; + + // Bind the container to all of the adapters + this._bindAdapters(); + + // Register any DOM event handlers + this._registerDomEvents(); + + // Register any internal event handlers + this._registerDataEvents(); + this._registerSelectionEvents(); + this._registerDropdownEvents(); + this._registerResultsEvents(); + this._registerEvents(); + + // Set the initial state + this.dataAdapter.current(function (initialData) { + self.trigger('selection:update', { + data: initialData + }); + }); + + // Hide the original select + $element.addClass('select2-hidden-accessible'); + $element.attr('aria-hidden', 'true'); + + // Synchronize any monitored attributes + this._syncAttributes(); + + $element.data('select2', this); + }; + + Utils.Extend(Select2, Utils.Observable); + + Select2.prototype._generateId = function ($element) { + var id = ''; + + if ($element.attr('id') != null) { + id = $element.attr('id'); + } else if ($element.attr('name') != null) { + id = $element.attr('name') + '-' + Utils.generateChars(2); + } else { + id = Utils.generateChars(4); + } + + id = id.replace(/(:|\.|\[|\]|,)/g, ''); + id = 'select2-' + id; + + return id; + }; + + Select2.prototype._placeContainer = function ($container) { + $container.insertAfter(this.$element); + + var width = this._resolveWidth(this.$element, this.options.get('width')); + + if (width != null) { + $container.css('width', width); + } + }; + + Select2.prototype._resolveWidth = function ($element, method) { + var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; + + if (method == 'resolve') { + var styleWidth = this._resolveWidth($element, 'style'); + + if (styleWidth != null) { + return styleWidth; + } + + return this._resolveWidth($element, 'element'); + } + + if (method == 'element') { + var elementWidth = $element.outerWidth(false); + + if (elementWidth <= 0) { + return 'auto'; + } + + return elementWidth + 'px'; + } + + if (method == 'style') { + var style = $element.attr('style'); + + if (typeof(style) !== 'string') { + return null; + } + + var attrs = style.split(';'); + + for (var i = 0, l = attrs.length; i < l; i = i + 1) { + var attr = attrs[i].replace(/\s/g, ''); + var matches = attr.match(WIDTH); + + if (matches !== null && matches.length >= 1) { + return matches[1]; + } + } + + return null; + } + + return method; + }; + + Select2.prototype._bindAdapters = function () { + this.dataAdapter.bind(this, this.$container); + this.selection.bind(this, this.$container); + + this.dropdown.bind(this, this.$container); + this.results.bind(this, this.$container); + }; + + Select2.prototype._registerDomEvents = function () { + var self = this; + + this.$element.on('change.select2', function () { + self.dataAdapter.current(function (data) { + self.trigger('selection:update', { + data: data + }); + }); + }); + + this.$element.on('focus.select2', function (evt) { + self.trigger('focus', evt); + }); + + this._syncA = Utils.bind(this._syncAttributes, this); + this._syncS = Utils.bind(this._syncSubtree, this); + + if (this.$element[0].attachEvent) { + this.$element[0].attachEvent('onpropertychange', this._syncA); + } + + var observer = window.MutationObserver || + window.WebKitMutationObserver || + window.MozMutationObserver + ; + + if (observer != null) { + this._observer = new observer(function (mutations) { + $.each(mutations, self._syncA); + $.each(mutations, self._syncS); + }); + this._observer.observe(this.$element[0], { + attributes: true, + childList: true, + subtree: false + }); + } else if (this.$element[0].addEventListener) { + this.$element[0].addEventListener( + 'DOMAttrModified', + self._syncA, + false + ); + this.$element[0].addEventListener( + 'DOMNodeInserted', + self._syncS, + false + ); + this.$element[0].addEventListener( + 'DOMNodeRemoved', + self._syncS, + false + ); + } + }; + + Select2.prototype._registerDataEvents = function () { + var self = this; + + this.dataAdapter.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerSelectionEvents = function () { + var self = this; + var nonRelayEvents = ['toggle', 'focus']; + + this.selection.on('toggle', function () { + self.toggleDropdown(); + }); + + this.selection.on('focus', function (params) { + self.focus(params); + }); + + this.selection.on('*', function (name, params) { + if ($.inArray(name, nonRelayEvents) !== -1) { + return; + } + + self.trigger(name, params); + }); + }; + + Select2.prototype._registerDropdownEvents = function () { + var self = this; + + this.dropdown.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerResultsEvents = function () { + var self = this; + + this.results.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerEvents = function () { + var self = this; + + this.on('open', function () { + self.$container.addClass('select2-container--open'); + }); + + this.on('close', function () { + self.$container.removeClass('select2-container--open'); + }); + + this.on('enable', function () { + self.$container.removeClass('select2-container--disabled'); + }); + + this.on('disable', function () { + self.$container.addClass('select2-container--disabled'); + }); + + this.on('blur', function () { + self.$container.removeClass('select2-container--focus'); + }); + + this.on('query', function (params) { + if (!self.isOpen()) { + self.trigger('open', {}); + } + + this.dataAdapter.query(params, function (data) { + self.trigger('results:all', { + data: data, + query: params + }); + }); + }); + + this.on('query:append', function (params) { + this.dataAdapter.query(params, function (data) { + self.trigger('results:append', { + data: data, + query: params + }); + }); + }); + + this.on('keypress', function (evt) { + var key = evt.which; + + if (self.isOpen()) { + if (key === KEYS.ESC || key === KEYS.TAB || + (key === KEYS.UP && evt.altKey)) { + self.close(); + + evt.preventDefault(); + } else if (key === KEYS.ENTER) { + self.trigger('results:select', {}); + + evt.preventDefault(); + } else if ((key === KEYS.SPACE && evt.ctrlKey)) { + self.trigger('results:toggle', {}); + + evt.preventDefault(); + } else if (key === KEYS.UP) { + self.trigger('results:previous', {}); + + evt.preventDefault(); + } else if (key === KEYS.DOWN) { + self.trigger('results:next', {}); + + evt.preventDefault(); + } + } else { + if (key === KEYS.ENTER || key === KEYS.SPACE || + (key === KEYS.DOWN && evt.altKey)) { + self.open(); + + evt.preventDefault(); + } + } + }); + }; + + Select2.prototype._syncAttributes = function () { + this.options.set('disabled', this.$element.prop('disabled')); + + if (this.options.get('disabled')) { + if (this.isOpen()) { + this.close(); + } + + this.trigger('disable', {}); + } else { + this.trigger('enable', {}); + } + }; + + Select2.prototype._syncSubtree = function (evt, mutations) { + var changed = false; + var self = this; + + // Ignore any mutation events raised for elements that aren't options or + // optgroups. This handles the case when the select element is destroyed + if ( + evt && evt.target && ( + evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' + ) + ) { + return; + } + + if (!mutations) { + // If mutation events aren't supported, then we can only assume that the + // change affected the selections + changed = true; + } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { + for (var n = 0; n < mutations.addedNodes.length; n++) { + var node = mutations.addedNodes[n]; + + if (node.selected) { + changed = true; + } + } + } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { + changed = true; + } + + // Only re-pull the data if we think there is a change + if (changed) { + this.dataAdapter.current(function (currentData) { + self.trigger('selection:update', { + data: currentData + }); + }); + } + }; + + /** + * Override the trigger method to automatically trigger pre-events when + * there are events that can be prevented. + */ + Select2.prototype.trigger = function (name, args) { + var actualTrigger = Select2.__super__.trigger; + var preTriggerMap = { + 'open': 'opening', + 'close': 'closing', + 'select': 'selecting', + 'unselect': 'unselecting' + }; + + if (args === undefined) { + args = {}; + } + + if (name in preTriggerMap) { + var preTriggerName = preTriggerMap[name]; + var preTriggerArgs = { + prevented: false, + name: name, + args: args + }; + + actualTrigger.call(this, preTriggerName, preTriggerArgs); + + if (preTriggerArgs.prevented) { + args.prevented = true; + + return; + } + } + + actualTrigger.call(this, name, args); + }; + + Select2.prototype.toggleDropdown = function () { + if (this.options.get('disabled')) { + return; + } + + if (this.isOpen()) { + this.close(); + } else { + this.open(); + } + }; + + Select2.prototype.open = function () { + if (this.isOpen()) { + return; + } + + this.trigger('query', {}); + }; + + Select2.prototype.close = function () { + if (!this.isOpen()) { + return; + } + + this.trigger('close', {}); + }; + + Select2.prototype.isOpen = function () { + return this.$container.hasClass('select2-container--open'); + }; + + Select2.prototype.hasFocus = function () { + return this.$container.hasClass('select2-container--focus'); + }; + + Select2.prototype.focus = function (data) { + // No need to re-trigger focus events if we are already focused + if (this.hasFocus()) { + return; + } + + this.$container.addClass('select2-container--focus'); + this.trigger('focus', {}); + }; + + Select2.prototype.enable = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("enable")` method has been deprecated and will' + + ' be removed in later Select2 versions. Use $element.prop("disabled")' + + ' instead.' + ); + } + + if (args == null || args.length === 0) { + args = [true]; + } + + var disabled = !args[0]; + + this.$element.prop('disabled', disabled); + }; + + Select2.prototype.data = function () { + if (this.options.get('debug') && + arguments.length > 0 && window.console && console.warn) { + console.warn( + 'Select2: Data can no longer be set using `select2("data")`. You ' + + 'should consider setting the value instead using `$element.val()`.' + ); + } + + var data = []; + + this.dataAdapter.current(function (currentData) { + data = currentData; + }); + + return data; + }; + + Select2.prototype.val = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("val")` method has been deprecated and will be' + + ' removed in later Select2 versions. Use $element.val() instead.' + ); + } + + if (args == null || args.length === 0) { + return this.$element.val(); + } + + var newVal = args[0]; + + if ($.isArray(newVal)) { + newVal = $.map(newVal, function (obj) { + return obj.toString(); + }); + } + + this.$element.val(newVal).trigger('change'); + }; + + Select2.prototype.destroy = function () { + this.$container.remove(); + + if (this.$element[0].detachEvent) { + this.$element[0].detachEvent('onpropertychange', this._syncA); + } + + if (this._observer != null) { + this._observer.disconnect(); + this._observer = null; + } else if (this.$element[0].removeEventListener) { + this.$element[0] + .removeEventListener('DOMAttrModified', this._syncA, false); + this.$element[0] + .removeEventListener('DOMNodeInserted', this._syncS, false); + this.$element[0] + .removeEventListener('DOMNodeRemoved', this._syncS, false); + } + + this._syncA = null; + this._syncS = null; + + this.$element.off('.select2'); + this.$element.attr('tabindex', this.$element.data('old-tabindex')); + + this.$element.removeClass('select2-hidden-accessible'); + this.$element.attr('aria-hidden', 'false'); + this.$element.removeData('select2'); + + this.dataAdapter.destroy(); + this.selection.destroy(); + this.dropdown.destroy(); + this.results.destroy(); + + this.dataAdapter = null; + this.selection = null; + this.dropdown = null; + this.results = null; + }; + + Select2.prototype.render = function () { + var $container = $( + '' + + '' + + '' + + '' + ); + + $container.attr('dir', this.options.get('dir')); + + this.$container = $container; + + this.$container.addClass('select2-container--' + this.options.get('theme')); + + $container.data('element', this.$element); + + return $container; + }; + + return Select2; +}); + +S2.define('select2/compat/utils',[ + 'jquery' +], function ($) { + function syncCssClasses ($dest, $src, adapter) { + var classes, replacements = [], adapted; + + classes = $.trim($dest.attr('class')); + + if (classes) { + classes = '' + classes; // for IE which returns object + + $(classes.split(/\s+/)).each(function () { + // Save all Select2 classes + if (this.indexOf('select2-') === 0) { + replacements.push(this); + } + }); + } + + classes = $.trim($src.attr('class')); + + if (classes) { + classes = '' + classes; // for IE which returns object + + $(classes.split(/\s+/)).each(function () { + // Only adapt non-Select2 classes + if (this.indexOf('select2-') !== 0) { + adapted = adapter(this); + + if (adapted != null) { + replacements.push(adapted); + } + } + }); + } + + $dest.attr('class', replacements.join(' ')); + } + + return { + syncCssClasses: syncCssClasses + }; +}); + +S2.define('select2/compat/containerCss',[ + 'jquery', + './utils' +], function ($, CompatUtils) { + // No-op CSS adapter that discards all classes by default + function _containerAdapter (clazz) { + return null; + } + + function ContainerCSS () { } + + ContainerCSS.prototype.render = function (decorated) { + var $container = decorated.call(this); + + var containerCssClass = this.options.get('containerCssClass') || ''; + + if ($.isFunction(containerCssClass)) { + containerCssClass = containerCssClass(this.$element); + } + + var containerCssAdapter = this.options.get('adaptContainerCssClass'); + containerCssAdapter = containerCssAdapter || _containerAdapter; + + if (containerCssClass.indexOf(':all:') !== -1) { + containerCssClass = containerCssClass.replace(':all:', ''); + + var _cssAdapter = containerCssAdapter; + + containerCssAdapter = function (clazz) { + var adapted = _cssAdapter(clazz); + + if (adapted != null) { + // Append the old one along with the adapted one + return adapted + ' ' + clazz; + } + + return clazz; + }; + } + + var containerCss = this.options.get('containerCss') || {}; + + if ($.isFunction(containerCss)) { + containerCss = containerCss(this.$element); + } + + CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter); + + $container.css(containerCss); + $container.addClass(containerCssClass); + + return $container; + }; + + return ContainerCSS; +}); + +S2.define('select2/compat/dropdownCss',[ + 'jquery', + './utils' +], function ($, CompatUtils) { + // No-op CSS adapter that discards all classes by default + function _dropdownAdapter (clazz) { + return null; + } + + function DropdownCSS () { } + + DropdownCSS.prototype.render = function (decorated) { + var $dropdown = decorated.call(this); + + var dropdownCssClass = this.options.get('dropdownCssClass') || ''; + + if ($.isFunction(dropdownCssClass)) { + dropdownCssClass = dropdownCssClass(this.$element); + } + + var dropdownCssAdapter = this.options.get('adaptDropdownCssClass'); + dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter; + + if (dropdownCssClass.indexOf(':all:') !== -1) { + dropdownCssClass = dropdownCssClass.replace(':all:', ''); + + var _cssAdapter = dropdownCssAdapter; + + dropdownCssAdapter = function (clazz) { + var adapted = _cssAdapter(clazz); + + if (adapted != null) { + // Append the old one along with the adapted one + return adapted + ' ' + clazz; + } + + return clazz; + }; + } + + var dropdownCss = this.options.get('dropdownCss') || {}; + + if ($.isFunction(dropdownCss)) { + dropdownCss = dropdownCss(this.$element); + } + + CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter); + + $dropdown.css(dropdownCss); + $dropdown.addClass(dropdownCssClass); + + return $dropdown; + }; + + return DropdownCSS; +}); + +S2.define('select2/compat/initSelection',[ + 'jquery' +], function ($) { + function InitSelection (decorated, $element, options) { + if (options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `initSelection` option has been deprecated in favor' + + ' of a custom data adapter that overrides the `current` method. ' + + 'This method is now called multiple times instead of a single ' + + 'time when the instance is initialized. Support will be removed ' + + 'for the `initSelection` option in future versions of Select2' + ); + } + + this.initSelection = options.get('initSelection'); + this._isInitialized = false; + + decorated.call(this, $element, options); + } + + InitSelection.prototype.current = function (decorated, callback) { + var self = this; + + if (this._isInitialized) { + decorated.call(this, callback); + + return; + } + + this.initSelection.call(null, this.$element, function (data) { + self._isInitialized = true; + + if (!$.isArray(data)) { + data = [data]; + } + + callback(data); + }); + }; + + return InitSelection; +}); + +S2.define('select2/compat/inputData',[ + 'jquery' +], function ($) { + function InputData (decorated, $element, options) { + this._currentData = []; + this._valueSeparator = options.get('valueSeparator') || ','; + + if ($element.prop('type') === 'hidden') { + if (options.get('debug') && console && console.warn) { + console.warn( + 'Select2: Using a hidden input with Select2 is no longer ' + + 'supported and may stop working in the future. It is recommended ' + + 'to use a `');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"â’¶":"A","A":"A","Ă€":"A","Ă":"A","Ă‚":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ăƒ":"A","Ä€":"A","Ä‚":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ç ":"A","Ă„":"A","Ç":"A","Ả":"A","Ă…":"A","Ǻ":"A","Ç":"A","È€":"A","È‚":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ä„":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ç¢":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","â’·":"B","ï¼¢":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Æ‚":"B","Æ":"B","â’¸":"C","ï¼£":"C","Ć":"C","Ĉ":"C","Ä":"C","ÄŒ":"C","Ç":"C","Ḉ":"C","Ƈ":"C","È»":"C","Ꜿ":"C","â’¹":"D","D":"D","á¸":"D","Ä":"D","Ḍ":"D","á¸":"D","Ḓ":"D","á¸":"D","Ä":"D","Æ‹":"D","Æ":"D","Ɖ":"D","ê¹":"D","DZ":"DZ","Ç„":"DZ","Dz":"Dz","Ç…":"Dz","â’º":"E","ï¼¥":"E","Ăˆ":"E","É":"E","Ă":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ä’":"E","Ḕ":"E","Ḗ":"E","Ä”":"E","Ä–":"E","Ă‹":"E","Ẻ":"E","Ä":"E","È„":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","á¸":"E","Æ":"E","Æ":"E","â’»":"F","F":"F","á¸":"F","Æ‘":"F","ê»":"F","â’¼":"G","G":"G","Ç´":"G","Äœ":"G","Ḡ":"G","Ä":"G","Ä ":"G","Ǧ":"G","Ä¢":"G","Ǥ":"G","Æ“":"G","ê ":"G","ê½":"G","ê¾":"G","â’½":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","È":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","â±µ":"H","ê":"H","â’¾":"I","I":"I","ĂŒ":"I","Ă":"I","Ă":"I","Ĩ":"I","Ī":"I","Ĭ":"I","Ä°":"I","Ă":"I","Ḯ":"I","Ỉ":"I","Ç":"I","Ȉ":"I","È":"I","á»":"I","Ä®":"I","Ḭ":"I","Æ—":"I","â’¿":"J","J":"J","Ä´":"J","Ɉ":"J","â“€":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","ê€":"K","ê‚":"K","ê„":"K","ê¢":"K","â“":"L","L":"L","Ä¿":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ä»":"L","Ḽ":"L","Ḻ":"L","Å":"L","Ƚ":"L","â±¢":"L","â± ":"L","êˆ":"L","ê†":"L","ê€":"L","LJ":"LJ","Lj":"Lj","â“‚":"M","ï¼­":"M","Ḿ":"M","á¹€":"M","Ṃ":"M","â±®":"M","Æœ":"M","Ⓝ":"N","ï¼®":"N","Ǹ":"N","Ń":"N","Ă‘":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Å…":"N","á¹":"N","Ṉ":"N","È ":"N","Æ":"N","ê":"N","ê¤":"N","Ç":"NJ","Ç‹":"Nj","â“„":"O","O":"O","Ă’":"O","Ă“":"O","Ă”":"O","á»’":"O","á»":"O","á»–":"O","á»”":"O","Ă•":"O","Ṍ":"O","Ȭ":"O","á¹":"O","ÅŒ":"O","á¹":"O","á¹’":"O","Å":"O","È®":"O","È°":"O","Ă–":"O","Ȫ":"O","á»":"O","Å":"O","Ç‘":"O","ÈŒ":"O","È":"O","Æ ":"O","Ờ":"O","á»":"O","á» ":"O","á»":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ă˜":"O","Ǿ":"O","Ɔ":"O","ÆŸ":"O","ê":"O","êŒ":"O","Æ¢":"OI","ê":"OO","È¢":"OU","â“…":"P","ï¼°":"P","á¹”":"P","á¹–":"P","Ƥ":"P","â±£":"P","ê":"P","ê’":"P","ê”":"P","Ⓠ":"Q","ï¼±":"Q","ê–":"Q","ê˜":"Q","É":"Q","Ⓡ":"R","ï¼²":"R","Å”":"R","Ṙ":"R","Ř":"R","È":"R","È’":"R","á¹":"R","Ṝ":"R","Å–":"R","á¹":"R","ÉŒ":"R","Ɽ":"R","ê":"R","ê¦":"R","ê‚":"R","Ⓢ":"S","ï¼³":"S","áº":"S","Å":"S","Ṥ":"S","Åœ":"S","á¹ ":"S","Å ":"S","Ṧ":"S","á¹¢":"S","Ṩ":"S","Ș":"S","Å":"S","â±¾":"S","ê¨":"S","ê„":"S","Ⓣ":"T","ï¼´":"T","Ṫ":"T","Ť":"T","Ṭ":"T","È":"T","Å¢":"T","á¹°":"T","á¹®":"T","Ŧ":"T","Ƭ":"T","Æ®":"T","Ⱦ":"T","ê†":"T","Ꜩ":"TZ","â“":"U","ï¼µ":"U","Ă™":"U","Ă":"U","Ă›":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ăœ":"U","Ç›":"U","Ç—":"U","Ç•":"U","Ç™":"U","Ủ":"U","Å®":"U","Å°":"U","Ç“":"U","È”":"U","È–":"U","Ư":"U","Ừ":"U","Ứ":"U","á»®":"U","Ử":"U","á»°":"U","Ụ":"U","á¹²":"U","Ų":"U","Ṷ":"U","á¹´":"U","É„":"U","â“‹":"V","V":"V","á¹¼":"V","á¹¾":"V","Ʋ":"V","ê":"V","É…":"V","ê ":"VY","â“Œ":"W","ï¼·":"W","Ẁ":"W","Ẃ":"W","Å´":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","â±²":"W","â“":"X","X":"X","áº":"X","Ẍ":"X","â“":"Y","ï¼¹":"Y","Ỳ":"Y","Ă":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","áº":"Y","Ÿ":"Y","Ỷ":"Y","á»´":"Y","Ƴ":"Y","É":"Y","Ỿ":"Y","â“":"Z","Z":"Z","Ź":"Z","áº":"Z","Å»":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","ê¢":"Z","â“":"a","ï½":"a","áº":"a","Ă ":"a","Ă¡":"a","Ă¢":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","Ă£":"a","Ä":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","Ç¡":"a","ä":"a","ÇŸ":"a","ả":"a","Ă¥":"a","Ç»":"a","Ç":"a","È":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","á¸":"a","Ä…":"a","â±¥":"a","É":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","Ç£":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","â“‘":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","Æ€":"b","ƃ":"b","É“":"b","â“’":"c","c":"c","ć":"c","ĉ":"c","Ä‹":"c","Ä":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","â““":"d","d":"d","ḋ":"d","Ä":"d","á¸":"d","ḑ":"d","ḓ":"d","á¸":"d","Ä‘":"d","ÆŒ":"d","É–":"d","É—":"d","êº":"d","dz":"dz","dž":"dz","â“”":"e","ï½…":"e","è":"e","Ă©":"e","Ăª":"e","á»":"e","ế":"e","á»…":"e","ể":"e","ẽ":"e","Ä“":"e","ḕ":"e","ḗ":"e","Ä•":"e","Ä—":"e","Ă«":"e","ẻ":"e","Ä›":"e","È…":"e","ȇ":"e","ẹ":"e","ệ":"e","È©":"e","á¸":"e","Ä™":"e","ḙ":"e","ḛ":"e","ɇ":"e","É›":"e","Ç":"e","â“•":"f","f":"f","ḟ":"f","Æ’":"f","ê¼":"f","â“–":"g","g":"g","ǵ":"g","Ä":"g","ḡ":"g","ÄŸ":"g","Ä¡":"g","ǧ":"g","Ä£":"g","Ç¥":"g","É ":"g","ê¡":"g","áµ¹":"g","ê¿":"g","â“—":"h","h":"h","Ä¥":"h","ḣ":"h","ḧ":"h","ÈŸ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","É¥":"h","Æ•":"hv","ⓘ":"i","i":"i","ì":"i","Ă­":"i","Ă®":"i","Ä©":"i","Ä«":"i","Ä­":"i","Ă¯":"i","ḯ":"i","ỉ":"i","Ç":"i","ȉ":"i","È‹":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","â“™":"j","ï½":"j","ĵ":"j","Ç°":"j","ɉ":"j","â“":"k","k":"k","ḱ":"k","Ç©":"k","ḳ":"k","Ä·":"k","ḵ":"k","Æ™":"k","ⱪ":"k","ê":"k","êƒ":"k","ê…":"k","ê£":"k","â“›":"l","l":"l","Å€":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","Å¿":"l","Å‚":"l","Æ":"l","É«":"l","ⱡ":"l","ê‰":"l","ê":"l","ê‡":"l","lj":"lj","â“œ":"m","ï½":"m","ḿ":"m","á¹":"m","ṃ":"m","ɱ":"m","ɯ":"m","â“":"n","ï½":"n","ǹ":"n","Å„":"n","ñ":"n","á¹…":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","Æ":"n","ɲ":"n","ʼn":"n","ê‘":"n","ê¥":"n","ÇŒ":"nj","â“":"o","ï½":"o","Ă²":"o","Ă³":"o","Ă´":"o","ồ":"o","ố":"o","á»—":"o","ổ":"o","õ":"o","á¹":"o","È­":"o","á¹":"o","Å":"o","ṑ":"o","ṓ":"o","Å":"o","ȯ":"o","ȱ":"o","ö":"o","È«":"o","á»":"o","Å‘":"o","Ç’":"o","È":"o","È":"o","Æ¡":"o","á»":"o","á»›":"o","ỡ":"o","ở":"o","ợ":"o","á»":"o","á»™":"o","Ç«":"o","Ç­":"o","ø":"o","Ç¿":"o","É”":"o","ê‹":"o","ê":"o","ɵ":"o","Æ£":"oi","È£":"ou","ê":"oo","â“Ÿ":"p","ï½":"p","ṕ":"p","á¹—":"p","Æ¥":"p","áµ½":"p","ê‘":"p","ê“":"p","ê•":"p","â“ ":"q","q":"q","É‹":"q","ê—":"q","ê™":"q","â“¡":"r","ï½’":"r","Å•":"r","á¹™":"r","Å™":"r","È‘":"r","È“":"r","á¹›":"r","á¹":"r","Å—":"r","ṟ":"r","É":"r","ɽ":"r","ê›":"r","ê§":"r","êƒ":"r","â“¢":"s","s":"s","ĂŸ":"s","Å›":"s","á¹¥":"s","Å":"s","ṡ":"s","Å¡":"s","ṧ":"s","á¹£":"s","ṩ":"s","È™":"s","ÅŸ":"s","È¿":"s","ê©":"s","ê…":"s","ẛ":"s","â“£":"t","ï½”":"t","ṫ":"t","ẗ":"t","Å¥":"t","á¹­":"t","È›":"t","Å£":"t","á¹±":"t","ṯ":"t","ŧ":"t","Æ­":"t","ʈ":"t","ⱦ":"t","ê‡":"t","ꜩ":"tz","ⓤ":"u","u":"u","Ă¹":"u","Ăº":"u","Ă»":"u","Å©":"u","á¹¹":"u","Å«":"u","á¹»":"u","Å­":"u","Ă¼":"u","Çœ":"u","ǘ":"u","Ç–":"u","Ç":"u","ủ":"u","ů":"u","ű":"u","Ç”":"u","È•":"u","È—":"u","Æ°":"u","ừ":"u","ứ":"u","ữ":"u","á»­":"u","á»±":"u","ụ":"u","á¹³":"u","ų":"u","á¹·":"u","á¹µ":"u","ʉ":"u","â“¥":"v","ï½–":"v","á¹½":"v","ṿ":"v","Ê‹":"v","êŸ":"v","ÊŒ":"v","ê¡":"vy","ⓦ":"w","ï½—":"w","áº":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","â±³":"w","ⓧ":"x","x":"x","ẋ":"x","áº":"x","ⓨ":"y","ï½™":"y","ỳ":"y","Ă½":"y","Å·":"y","ỹ":"y","ȳ":"y","áº":"y","Ă¿":"y","á»·":"y","ẙ":"y","ỵ":"y","Æ´":"y","É":"y","ỿ":"y","â“©":"z","ï½":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","È¥":"z","É€":"z","ⱬ":"z","ê£":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Î":"Ι","Ϊ":"Ι","ÎŒ":"Ο","Î":"Î¥","Ϋ":"Î¥","Î":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","Ï":"ι","Î":"ι","ÏŒ":"ο","Ï":"Ï…","Ï‹":"Ï…","ΰ":"Ï…","ω":"ω","Ï‚":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){ +var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('
      • '),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a(""),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.topf.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"), +this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&(f=d(this),null!=f&&g.push(f))})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;return this._isInitialized?void b.call(this,c):void this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery"],function(a){function b(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `' + + '' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + var $rendered = decorated.call(this); + + this._transferTabIndex(); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('open', function () { + self.$search.trigger('focus'); + }); + + container.on('close', function () { + self.$search.val(''); + self.$search.removeAttr('aria-activedescendant'); + self.$search.trigger('focus'); + }); + + container.on('enable', function () { + self.$search.prop('disabled', false); + + self._transferTabIndex(); + }); + + container.on('disable', function () { + self.$search.prop('disabled', true); + }); + + container.on('focus', function (evt) { + self.$search.trigger('focus'); + }); + + container.on('results:focus', function (params) { + self.$search.attr('aria-activedescendant', params.id); + }); + + this.$selection.on('focusin', '.select2-search--inline', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('focusout', '.select2-search--inline', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', '.select2-search--inline', function (evt) { + evt.stopPropagation(); + + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + + var key = evt.which; + + if (key === KEYS.BACKSPACE && self.$search.val() === '') { + var $previousChoice = self.$searchContainer + .prev('.select2-selection__choice'); + + if ($previousChoice.length > 0) { + var item = $previousChoice.data('data'); + + self.searchRemoveChoice(item); + + evt.preventDefault(); + } + } + }); + + // Try to detect the IE version should the `documentMode` property that + // is stored on the document. This is only implemented in IE and is + // slightly cleaner than doing a user agent check. + // This property is not available in Edge, but Edge also doesn't have + // this bug. + var msie = document.documentMode; + var disableInputEvents = msie && msie <= 11; + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$selection.on( + 'input.searchcheck', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents) { + self.$selection.off('input.search input.searchcheck'); + return; + } + + // Unbind the duplicated `keyup` event + self.$selection.off('keyup.search'); + } + ); + + this.$selection.on( + 'keyup.search input.search', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents && evt.type === 'input') { + self.$selection.off('input.search input.searchcheck'); + return; + } + + var key = evt.which; + + // We can freely ignore events from modifier keys + if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { + return; + } + + // Tabbing will be handled during the `keydown` phase + if (key == KEYS.TAB) { + return; + } + + self.handleSearch(evt); + } + ); + }; + + /** + * This method will transfer the tabindex attribute from the rendered + * selection to the search box. This allows for the search box to be used as + * the primary focus instead of the selection container. + * + * @private + */ + Search.prototype._transferTabIndex = function (decorated) { + this.$search.attr('tabindex', this.$selection.attr('tabindex')); + this.$selection.attr('tabindex', '-1'); + }; + + Search.prototype.createPlaceholder = function (decorated, placeholder) { + this.$search.attr('placeholder', placeholder.text); + }; + + Search.prototype.update = function (decorated, data) { + var searchHadFocus = this.$search[0] == document.activeElement; + + this.$search.attr('placeholder', ''); + + decorated.call(this, data); + + this.$selection.find('.select2-selection__rendered') + .append(this.$searchContainer); + + this.resizeSearch(); + if (searchHadFocus) { + this.$search.focus(); + } + }; + + Search.prototype.handleSearch = function () { + this.resizeSearch(); + + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.searchRemoveChoice = function (decorated, item) { + this.trigger('unselect', { + data: item + }); + + this.$search.val(item.text); + this.handleSearch(); + }; + + Search.prototype.resizeSearch = function () { + this.$search.css('width', '25px'); + + var width = ''; + + if (this.$search.attr('placeholder') !== '') { + width = this.$selection.find('.select2-selection__rendered').innerWidth(); + } else { + var minimumWidth = this.$search.val().length + 1; + + width = (minimumWidth * 0.75) + 'em'; + } + + this.$search.css('width', width); + }; + + return Search; +}); + +S2.define('select2/selection/eventRelay',[ + 'jquery' +], function ($) { + function EventRelay () { } + + EventRelay.prototype.bind = function (decorated, container, $container) { + var self = this; + var relayEvents = [ + 'open', 'opening', + 'close', 'closing', + 'select', 'selecting', + 'unselect', 'unselecting' + ]; + + var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting']; + + decorated.call(this, container, $container); + + container.on('*', function (name, params) { + // Ignore events that should not be relayed + if ($.inArray(name, relayEvents) === -1) { + return; + } + + // The parameters should always be an object + params = params || {}; + + // Generate the jQuery event for the Select2 event + var evt = $.Event('select2:' + name, { + params: params + }); + + self.$element.trigger(evt); + + // Only handle preventable events if it was one + if ($.inArray(name, preventableEvents) === -1) { + return; + } + + params.prevented = evt.isDefaultPrevented(); + }); + }; + + return EventRelay; +}); + +S2.define('select2/translation',[ + 'jquery', + 'require' +], function ($, require) { + function Translation (dict) { + this.dict = dict || {}; + } + + Translation.prototype.all = function () { + return this.dict; + }; + + Translation.prototype.get = function (key) { + return this.dict[key]; + }; + + Translation.prototype.extend = function (translation) { + this.dict = $.extend({}, translation.all(), this.dict); + }; + + // Static functions + + Translation._cache = {}; + + Translation.loadPath = function (path) { + if (!(path in Translation._cache)) { + var translations = require(path); + + Translation._cache[path] = translations; + } + + return new Translation(Translation._cache[path]); + }; + + return Translation; +}); + +S2.define('select2/diacritics',[ + +], function () { + var diacritics = { + '\u24B6': 'A', + '\uFF21': 'A', + '\u00C0': 'A', + '\u00C1': 'A', + '\u00C2': 'A', + '\u1EA6': 'A', + '\u1EA4': 'A', + '\u1EAA': 'A', + '\u1EA8': 'A', + '\u00C3': 'A', + '\u0100': 'A', + '\u0102': 'A', + '\u1EB0': 'A', + '\u1EAE': 'A', + '\u1EB4': 'A', + '\u1EB2': 'A', + '\u0226': 'A', + '\u01E0': 'A', + '\u00C4': 'A', + '\u01DE': 'A', + '\u1EA2': 'A', + '\u00C5': 'A', + '\u01FA': 'A', + '\u01CD': 'A', + '\u0200': 'A', + '\u0202': 'A', + '\u1EA0': 'A', + '\u1EAC': 'A', + '\u1EB6': 'A', + '\u1E00': 'A', + '\u0104': 'A', + '\u023A': 'A', + '\u2C6F': 'A', + '\uA732': 'AA', + '\u00C6': 'AE', + '\u01FC': 'AE', + '\u01E2': 'AE', + '\uA734': 'AO', + '\uA736': 'AU', + '\uA738': 'AV', + '\uA73A': 'AV', + '\uA73C': 'AY', + '\u24B7': 'B', + '\uFF22': 'B', + '\u1E02': 'B', + '\u1E04': 'B', + '\u1E06': 'B', + '\u0243': 'B', + '\u0182': 'B', + '\u0181': 'B', + '\u24B8': 'C', + '\uFF23': 'C', + '\u0106': 'C', + '\u0108': 'C', + '\u010A': 'C', + '\u010C': 'C', + '\u00C7': 'C', + '\u1E08': 'C', + '\u0187': 'C', + '\u023B': 'C', + '\uA73E': 'C', + '\u24B9': 'D', + '\uFF24': 'D', + '\u1E0A': 'D', + '\u010E': 'D', + '\u1E0C': 'D', + '\u1E10': 'D', + '\u1E12': 'D', + '\u1E0E': 'D', + '\u0110': 'D', + '\u018B': 'D', + '\u018A': 'D', + '\u0189': 'D', + '\uA779': 'D', + '\u01F1': 'DZ', + '\u01C4': 'DZ', + '\u01F2': 'Dz', + '\u01C5': 'Dz', + '\u24BA': 'E', + '\uFF25': 'E', + '\u00C8': 'E', + '\u00C9': 'E', + '\u00CA': 'E', + '\u1EC0': 'E', + '\u1EBE': 'E', + '\u1EC4': 'E', + '\u1EC2': 'E', + '\u1EBC': 'E', + '\u0112': 'E', + '\u1E14': 'E', + '\u1E16': 'E', + '\u0114': 'E', + '\u0116': 'E', + '\u00CB': 'E', + '\u1EBA': 'E', + '\u011A': 'E', + '\u0204': 'E', + '\u0206': 'E', + '\u1EB8': 'E', + '\u1EC6': 'E', + '\u0228': 'E', + '\u1E1C': 'E', + '\u0118': 'E', + '\u1E18': 'E', + '\u1E1A': 'E', + '\u0190': 'E', + '\u018E': 'E', + '\u24BB': 'F', + '\uFF26': 'F', + '\u1E1E': 'F', + '\u0191': 'F', + '\uA77B': 'F', + '\u24BC': 'G', + '\uFF27': 'G', + '\u01F4': 'G', + '\u011C': 'G', + '\u1E20': 'G', + '\u011E': 'G', + '\u0120': 'G', + '\u01E6': 'G', + '\u0122': 'G', + '\u01E4': 'G', + '\u0193': 'G', + '\uA7A0': 'G', + '\uA77D': 'G', + '\uA77E': 'G', + '\u24BD': 'H', + '\uFF28': 'H', + '\u0124': 'H', + '\u1E22': 'H', + '\u1E26': 'H', + '\u021E': 'H', + '\u1E24': 'H', + '\u1E28': 'H', + '\u1E2A': 'H', + '\u0126': 'H', + '\u2C67': 'H', + '\u2C75': 'H', + '\uA78D': 'H', + '\u24BE': 'I', + '\uFF29': 'I', + '\u00CC': 'I', + '\u00CD': 'I', + '\u00CE': 'I', + '\u0128': 'I', + '\u012A': 'I', + '\u012C': 'I', + '\u0130': 'I', + '\u00CF': 'I', + '\u1E2E': 'I', + '\u1EC8': 'I', + '\u01CF': 'I', + '\u0208': 'I', + '\u020A': 'I', + '\u1ECA': 'I', + '\u012E': 'I', + '\u1E2C': 'I', + '\u0197': 'I', + '\u24BF': 'J', + '\uFF2A': 'J', + '\u0134': 'J', + '\u0248': 'J', + '\u24C0': 'K', + '\uFF2B': 'K', + '\u1E30': 'K', + '\u01E8': 'K', + '\u1E32': 'K', + '\u0136': 'K', + '\u1E34': 'K', + '\u0198': 'K', + '\u2C69': 'K', + '\uA740': 'K', + '\uA742': 'K', + '\uA744': 'K', + '\uA7A2': 'K', + '\u24C1': 'L', + '\uFF2C': 'L', + '\u013F': 'L', + '\u0139': 'L', + '\u013D': 'L', + '\u1E36': 'L', + '\u1E38': 'L', + '\u013B': 'L', + '\u1E3C': 'L', + '\u1E3A': 'L', + '\u0141': 'L', + '\u023D': 'L', + '\u2C62': 'L', + '\u2C60': 'L', + '\uA748': 'L', + '\uA746': 'L', + '\uA780': 'L', + '\u01C7': 'LJ', + '\u01C8': 'Lj', + '\u24C2': 'M', + '\uFF2D': 'M', + '\u1E3E': 'M', + '\u1E40': 'M', + '\u1E42': 'M', + '\u2C6E': 'M', + '\u019C': 'M', + '\u24C3': 'N', + '\uFF2E': 'N', + '\u01F8': 'N', + '\u0143': 'N', + '\u00D1': 'N', + '\u1E44': 'N', + '\u0147': 'N', + '\u1E46': 'N', + '\u0145': 'N', + '\u1E4A': 'N', + '\u1E48': 'N', + '\u0220': 'N', + '\u019D': 'N', + '\uA790': 'N', + '\uA7A4': 'N', + '\u01CA': 'NJ', + '\u01CB': 'Nj', + '\u24C4': 'O', + '\uFF2F': 'O', + '\u00D2': 'O', + '\u00D3': 'O', + '\u00D4': 'O', + '\u1ED2': 'O', + '\u1ED0': 'O', + '\u1ED6': 'O', + '\u1ED4': 'O', + '\u00D5': 'O', + '\u1E4C': 'O', + '\u022C': 'O', + '\u1E4E': 'O', + '\u014C': 'O', + '\u1E50': 'O', + '\u1E52': 'O', + '\u014E': 'O', + '\u022E': 'O', + '\u0230': 'O', + '\u00D6': 'O', + '\u022A': 'O', + '\u1ECE': 'O', + '\u0150': 'O', + '\u01D1': 'O', + '\u020C': 'O', + '\u020E': 'O', + '\u01A0': 'O', + '\u1EDC': 'O', + '\u1EDA': 'O', + '\u1EE0': 'O', + '\u1EDE': 'O', + '\u1EE2': 'O', + '\u1ECC': 'O', + '\u1ED8': 'O', + '\u01EA': 'O', + '\u01EC': 'O', + '\u00D8': 'O', + '\u01FE': 'O', + '\u0186': 'O', + '\u019F': 'O', + '\uA74A': 'O', + '\uA74C': 'O', + '\u01A2': 'OI', + '\uA74E': 'OO', + '\u0222': 'OU', + '\u24C5': 'P', + '\uFF30': 'P', + '\u1E54': 'P', + '\u1E56': 'P', + '\u01A4': 'P', + '\u2C63': 'P', + '\uA750': 'P', + '\uA752': 'P', + '\uA754': 'P', + '\u24C6': 'Q', + '\uFF31': 'Q', + '\uA756': 'Q', + '\uA758': 'Q', + '\u024A': 'Q', + '\u24C7': 'R', + '\uFF32': 'R', + '\u0154': 'R', + '\u1E58': 'R', + '\u0158': 'R', + '\u0210': 'R', + '\u0212': 'R', + '\u1E5A': 'R', + '\u1E5C': 'R', + '\u0156': 'R', + '\u1E5E': 'R', + '\u024C': 'R', + '\u2C64': 'R', + '\uA75A': 'R', + '\uA7A6': 'R', + '\uA782': 'R', + '\u24C8': 'S', + '\uFF33': 'S', + '\u1E9E': 'S', + '\u015A': 'S', + '\u1E64': 'S', + '\u015C': 'S', + '\u1E60': 'S', + '\u0160': 'S', + '\u1E66': 'S', + '\u1E62': 'S', + '\u1E68': 'S', + '\u0218': 'S', + '\u015E': 'S', + '\u2C7E': 'S', + '\uA7A8': 'S', + '\uA784': 'S', + '\u24C9': 'T', + '\uFF34': 'T', + '\u1E6A': 'T', + '\u0164': 'T', + '\u1E6C': 'T', + '\u021A': 'T', + '\u0162': 'T', + '\u1E70': 'T', + '\u1E6E': 'T', + '\u0166': 'T', + '\u01AC': 'T', + '\u01AE': 'T', + '\u023E': 'T', + '\uA786': 'T', + '\uA728': 'TZ', + '\u24CA': 'U', + '\uFF35': 'U', + '\u00D9': 'U', + '\u00DA': 'U', + '\u00DB': 'U', + '\u0168': 'U', + '\u1E78': 'U', + '\u016A': 'U', + '\u1E7A': 'U', + '\u016C': 'U', + '\u00DC': 'U', + '\u01DB': 'U', + '\u01D7': 'U', + '\u01D5': 'U', + '\u01D9': 'U', + '\u1EE6': 'U', + '\u016E': 'U', + '\u0170': 'U', + '\u01D3': 'U', + '\u0214': 'U', + '\u0216': 'U', + '\u01AF': 'U', + '\u1EEA': 'U', + '\u1EE8': 'U', + '\u1EEE': 'U', + '\u1EEC': 'U', + '\u1EF0': 'U', + '\u1EE4': 'U', + '\u1E72': 'U', + '\u0172': 'U', + '\u1E76': 'U', + '\u1E74': 'U', + '\u0244': 'U', + '\u24CB': 'V', + '\uFF36': 'V', + '\u1E7C': 'V', + '\u1E7E': 'V', + '\u01B2': 'V', + '\uA75E': 'V', + '\u0245': 'V', + '\uA760': 'VY', + '\u24CC': 'W', + '\uFF37': 'W', + '\u1E80': 'W', + '\u1E82': 'W', + '\u0174': 'W', + '\u1E86': 'W', + '\u1E84': 'W', + '\u1E88': 'W', + '\u2C72': 'W', + '\u24CD': 'X', + '\uFF38': 'X', + '\u1E8A': 'X', + '\u1E8C': 'X', + '\u24CE': 'Y', + '\uFF39': 'Y', + '\u1EF2': 'Y', + '\u00DD': 'Y', + '\u0176': 'Y', + '\u1EF8': 'Y', + '\u0232': 'Y', + '\u1E8E': 'Y', + '\u0178': 'Y', + '\u1EF6': 'Y', + '\u1EF4': 'Y', + '\u01B3': 'Y', + '\u024E': 'Y', + '\u1EFE': 'Y', + '\u24CF': 'Z', + '\uFF3A': 'Z', + '\u0179': 'Z', + '\u1E90': 'Z', + '\u017B': 'Z', + '\u017D': 'Z', + '\u1E92': 'Z', + '\u1E94': 'Z', + '\u01B5': 'Z', + '\u0224': 'Z', + '\u2C7F': 'Z', + '\u2C6B': 'Z', + '\uA762': 'Z', + '\u24D0': 'a', + '\uFF41': 'a', + '\u1E9A': 'a', + '\u00E0': 'a', + '\u00E1': 'a', + '\u00E2': 'a', + '\u1EA7': 'a', + '\u1EA5': 'a', + '\u1EAB': 'a', + '\u1EA9': 'a', + '\u00E3': 'a', + '\u0101': 'a', + '\u0103': 'a', + '\u1EB1': 'a', + '\u1EAF': 'a', + '\u1EB5': 'a', + '\u1EB3': 'a', + '\u0227': 'a', + '\u01E1': 'a', + '\u00E4': 'a', + '\u01DF': 'a', + '\u1EA3': 'a', + '\u00E5': 'a', + '\u01FB': 'a', + '\u01CE': 'a', + '\u0201': 'a', + '\u0203': 'a', + '\u1EA1': 'a', + '\u1EAD': 'a', + '\u1EB7': 'a', + '\u1E01': 'a', + '\u0105': 'a', + '\u2C65': 'a', + '\u0250': 'a', + '\uA733': 'aa', + '\u00E6': 'ae', + '\u01FD': 'ae', + '\u01E3': 'ae', + '\uA735': 'ao', + '\uA737': 'au', + '\uA739': 'av', + '\uA73B': 'av', + '\uA73D': 'ay', + '\u24D1': 'b', + '\uFF42': 'b', + '\u1E03': 'b', + '\u1E05': 'b', + '\u1E07': 'b', + '\u0180': 'b', + '\u0183': 'b', + '\u0253': 'b', + '\u24D2': 'c', + '\uFF43': 'c', + '\u0107': 'c', + '\u0109': 'c', + '\u010B': 'c', + '\u010D': 'c', + '\u00E7': 'c', + '\u1E09': 'c', + '\u0188': 'c', + '\u023C': 'c', + '\uA73F': 'c', + '\u2184': 'c', + '\u24D3': 'd', + '\uFF44': 'd', + '\u1E0B': 'd', + '\u010F': 'd', + '\u1E0D': 'd', + '\u1E11': 'd', + '\u1E13': 'd', + '\u1E0F': 'd', + '\u0111': 'd', + '\u018C': 'd', + '\u0256': 'd', + '\u0257': 'd', + '\uA77A': 'd', + '\u01F3': 'dz', + '\u01C6': 'dz', + '\u24D4': 'e', + '\uFF45': 'e', + '\u00E8': 'e', + '\u00E9': 'e', + '\u00EA': 'e', + '\u1EC1': 'e', + '\u1EBF': 'e', + '\u1EC5': 'e', + '\u1EC3': 'e', + '\u1EBD': 'e', + '\u0113': 'e', + '\u1E15': 'e', + '\u1E17': 'e', + '\u0115': 'e', + '\u0117': 'e', + '\u00EB': 'e', + '\u1EBB': 'e', + '\u011B': 'e', + '\u0205': 'e', + '\u0207': 'e', + '\u1EB9': 'e', + '\u1EC7': 'e', + '\u0229': 'e', + '\u1E1D': 'e', + '\u0119': 'e', + '\u1E19': 'e', + '\u1E1B': 'e', + '\u0247': 'e', + '\u025B': 'e', + '\u01DD': 'e', + '\u24D5': 'f', + '\uFF46': 'f', + '\u1E1F': 'f', + '\u0192': 'f', + '\uA77C': 'f', + '\u24D6': 'g', + '\uFF47': 'g', + '\u01F5': 'g', + '\u011D': 'g', + '\u1E21': 'g', + '\u011F': 'g', + '\u0121': 'g', + '\u01E7': 'g', + '\u0123': 'g', + '\u01E5': 'g', + '\u0260': 'g', + '\uA7A1': 'g', + '\u1D79': 'g', + '\uA77F': 'g', + '\u24D7': 'h', + '\uFF48': 'h', + '\u0125': 'h', + '\u1E23': 'h', + '\u1E27': 'h', + '\u021F': 'h', + '\u1E25': 'h', + '\u1E29': 'h', + '\u1E2B': 'h', + '\u1E96': 'h', + '\u0127': 'h', + '\u2C68': 'h', + '\u2C76': 'h', + '\u0265': 'h', + '\u0195': 'hv', + '\u24D8': 'i', + '\uFF49': 'i', + '\u00EC': 'i', + '\u00ED': 'i', + '\u00EE': 'i', + '\u0129': 'i', + '\u012B': 'i', + '\u012D': 'i', + '\u00EF': 'i', + '\u1E2F': 'i', + '\u1EC9': 'i', + '\u01D0': 'i', + '\u0209': 'i', + '\u020B': 'i', + '\u1ECB': 'i', + '\u012F': 'i', + '\u1E2D': 'i', + '\u0268': 'i', + '\u0131': 'i', + '\u24D9': 'j', + '\uFF4A': 'j', + '\u0135': 'j', + '\u01F0': 'j', + '\u0249': 'j', + '\u24DA': 'k', + '\uFF4B': 'k', + '\u1E31': 'k', + '\u01E9': 'k', + '\u1E33': 'k', + '\u0137': 'k', + '\u1E35': 'k', + '\u0199': 'k', + '\u2C6A': 'k', + '\uA741': 'k', + '\uA743': 'k', + '\uA745': 'k', + '\uA7A3': 'k', + '\u24DB': 'l', + '\uFF4C': 'l', + '\u0140': 'l', + '\u013A': 'l', + '\u013E': 'l', + '\u1E37': 'l', + '\u1E39': 'l', + '\u013C': 'l', + '\u1E3D': 'l', + '\u1E3B': 'l', + '\u017F': 'l', + '\u0142': 'l', + '\u019A': 'l', + '\u026B': 'l', + '\u2C61': 'l', + '\uA749': 'l', + '\uA781': 'l', + '\uA747': 'l', + '\u01C9': 'lj', + '\u24DC': 'm', + '\uFF4D': 'm', + '\u1E3F': 'm', + '\u1E41': 'm', + '\u1E43': 'm', + '\u0271': 'm', + '\u026F': 'm', + '\u24DD': 'n', + '\uFF4E': 'n', + '\u01F9': 'n', + '\u0144': 'n', + '\u00F1': 'n', + '\u1E45': 'n', + '\u0148': 'n', + '\u1E47': 'n', + '\u0146': 'n', + '\u1E4B': 'n', + '\u1E49': 'n', + '\u019E': 'n', + '\u0272': 'n', + '\u0149': 'n', + '\uA791': 'n', + '\uA7A5': 'n', + '\u01CC': 'nj', + '\u24DE': 'o', + '\uFF4F': 'o', + '\u00F2': 'o', + '\u00F3': 'o', + '\u00F4': 'o', + '\u1ED3': 'o', + '\u1ED1': 'o', + '\u1ED7': 'o', + '\u1ED5': 'o', + '\u00F5': 'o', + '\u1E4D': 'o', + '\u022D': 'o', + '\u1E4F': 'o', + '\u014D': 'o', + '\u1E51': 'o', + '\u1E53': 'o', + '\u014F': 'o', + '\u022F': 'o', + '\u0231': 'o', + '\u00F6': 'o', + '\u022B': 'o', + '\u1ECF': 'o', + '\u0151': 'o', + '\u01D2': 'o', + '\u020D': 'o', + '\u020F': 'o', + '\u01A1': 'o', + '\u1EDD': 'o', + '\u1EDB': 'o', + '\u1EE1': 'o', + '\u1EDF': 'o', + '\u1EE3': 'o', + '\u1ECD': 'o', + '\u1ED9': 'o', + '\u01EB': 'o', + '\u01ED': 'o', + '\u00F8': 'o', + '\u01FF': 'o', + '\u0254': 'o', + '\uA74B': 'o', + '\uA74D': 'o', + '\u0275': 'o', + '\u01A3': 'oi', + '\u0223': 'ou', + '\uA74F': 'oo', + '\u24DF': 'p', + '\uFF50': 'p', + '\u1E55': 'p', + '\u1E57': 'p', + '\u01A5': 'p', + '\u1D7D': 'p', + '\uA751': 'p', + '\uA753': 'p', + '\uA755': 'p', + '\u24E0': 'q', + '\uFF51': 'q', + '\u024B': 'q', + '\uA757': 'q', + '\uA759': 'q', + '\u24E1': 'r', + '\uFF52': 'r', + '\u0155': 'r', + '\u1E59': 'r', + '\u0159': 'r', + '\u0211': 'r', + '\u0213': 'r', + '\u1E5B': 'r', + '\u1E5D': 'r', + '\u0157': 'r', + '\u1E5F': 'r', + '\u024D': 'r', + '\u027D': 'r', + '\uA75B': 'r', + '\uA7A7': 'r', + '\uA783': 'r', + '\u24E2': 's', + '\uFF53': 's', + '\u00DF': 's', + '\u015B': 's', + '\u1E65': 's', + '\u015D': 's', + '\u1E61': 's', + '\u0161': 's', + '\u1E67': 's', + '\u1E63': 's', + '\u1E69': 's', + '\u0219': 's', + '\u015F': 's', + '\u023F': 's', + '\uA7A9': 's', + '\uA785': 's', + '\u1E9B': 's', + '\u24E3': 't', + '\uFF54': 't', + '\u1E6B': 't', + '\u1E97': 't', + '\u0165': 't', + '\u1E6D': 't', + '\u021B': 't', + '\u0163': 't', + '\u1E71': 't', + '\u1E6F': 't', + '\u0167': 't', + '\u01AD': 't', + '\u0288': 't', + '\u2C66': 't', + '\uA787': 't', + '\uA729': 'tz', + '\u24E4': 'u', + '\uFF55': 'u', + '\u00F9': 'u', + '\u00FA': 'u', + '\u00FB': 'u', + '\u0169': 'u', + '\u1E79': 'u', + '\u016B': 'u', + '\u1E7B': 'u', + '\u016D': 'u', + '\u00FC': 'u', + '\u01DC': 'u', + '\u01D8': 'u', + '\u01D6': 'u', + '\u01DA': 'u', + '\u1EE7': 'u', + '\u016F': 'u', + '\u0171': 'u', + '\u01D4': 'u', + '\u0215': 'u', + '\u0217': 'u', + '\u01B0': 'u', + '\u1EEB': 'u', + '\u1EE9': 'u', + '\u1EEF': 'u', + '\u1EED': 'u', + '\u1EF1': 'u', + '\u1EE5': 'u', + '\u1E73': 'u', + '\u0173': 'u', + '\u1E77': 'u', + '\u1E75': 'u', + '\u0289': 'u', + '\u24E5': 'v', + '\uFF56': 'v', + '\u1E7D': 'v', + '\u1E7F': 'v', + '\u028B': 'v', + '\uA75F': 'v', + '\u028C': 'v', + '\uA761': 'vy', + '\u24E6': 'w', + '\uFF57': 'w', + '\u1E81': 'w', + '\u1E83': 'w', + '\u0175': 'w', + '\u1E87': 'w', + '\u1E85': 'w', + '\u1E98': 'w', + '\u1E89': 'w', + '\u2C73': 'w', + '\u24E7': 'x', + '\uFF58': 'x', + '\u1E8B': 'x', + '\u1E8D': 'x', + '\u24E8': 'y', + '\uFF59': 'y', + '\u1EF3': 'y', + '\u00FD': 'y', + '\u0177': 'y', + '\u1EF9': 'y', + '\u0233': 'y', + '\u1E8F': 'y', + '\u00FF': 'y', + '\u1EF7': 'y', + '\u1E99': 'y', + '\u1EF5': 'y', + '\u01B4': 'y', + '\u024F': 'y', + '\u1EFF': 'y', + '\u24E9': 'z', + '\uFF5A': 'z', + '\u017A': 'z', + '\u1E91': 'z', + '\u017C': 'z', + '\u017E': 'z', + '\u1E93': 'z', + '\u1E95': 'z', + '\u01B6': 'z', + '\u0225': 'z', + '\u0240': 'z', + '\u2C6C': 'z', + '\uA763': 'z', + '\u0386': '\u0391', + '\u0388': '\u0395', + '\u0389': '\u0397', + '\u038A': '\u0399', + '\u03AA': '\u0399', + '\u038C': '\u039F', + '\u038E': '\u03A5', + '\u03AB': '\u03A5', + '\u038F': '\u03A9', + '\u03AC': '\u03B1', + '\u03AD': '\u03B5', + '\u03AE': '\u03B7', + '\u03AF': '\u03B9', + '\u03CA': '\u03B9', + '\u0390': '\u03B9', + '\u03CC': '\u03BF', + '\u03CD': '\u03C5', + '\u03CB': '\u03C5', + '\u03B0': '\u03C5', + '\u03C9': '\u03C9', + '\u03C2': '\u03C3' + }; + + return diacritics; +}); + +S2.define('select2/data/base',[ + '../utils' +], function (Utils) { + function BaseAdapter ($element, options) { + BaseAdapter.__super__.constructor.call(this); + } + + Utils.Extend(BaseAdapter, Utils.Observable); + + BaseAdapter.prototype.current = function (callback) { + throw new Error('The `current` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.query = function (params, callback) { + throw new Error('The `query` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.bind = function (container, $container) { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.destroy = function () { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.generateResultId = function (container, data) { + var id = container.id + '-result-'; + + id += Utils.generateChars(4); + + if (data.id != null) { + id += '-' + data.id.toString(); + } else { + id += '-' + Utils.generateChars(4); + } + return id; + }; + + return BaseAdapter; +}); + +S2.define('select2/data/select',[ + './base', + '../utils', + 'jquery' +], function (BaseAdapter, Utils, $) { + function SelectAdapter ($element, options) { + this.$element = $element; + this.options = options; + + SelectAdapter.__super__.constructor.call(this); + } + + Utils.Extend(SelectAdapter, BaseAdapter); + + SelectAdapter.prototype.current = function (callback) { + var data = []; + var self = this; + + this.$element.find(':selected').each(function () { + var $option = $(this); + + var option = self.item($option); + + data.push(option); + }); + + callback(data); + }; + + SelectAdapter.prototype.select = function (data) { + var self = this; + + data.selected = true; + + // If data.element is a DOM node, use it instead + if ($(data.element).is('option')) { + data.element.selected = true; + + this.$element.trigger('change'); + + return; + } + + if (this.$element.prop('multiple')) { + this.current(function (currentData) { + var val = []; + + data = [data]; + data.push.apply(data, currentData); + + for (var d = 0; d < data.length; d++) { + var id = data[d].id; + + if ($.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + self.$element.trigger('change'); + }); + } else { + var val = data.id; + + this.$element.val(val); + this.$element.trigger('change'); + } + }; + + SelectAdapter.prototype.unselect = function (data) { + var self = this; + + if (!this.$element.prop('multiple')) { + return; + } + + data.selected = false; + + if ($(data.element).is('option')) { + data.element.selected = false; + + this.$element.trigger('change'); + + return; + } + + this.current(function (currentData) { + var val = []; + + for (var d = 0; d < currentData.length; d++) { + var id = currentData[d].id; + + if (id !== data.id && $.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + + self.$element.trigger('change'); + }); + }; + + SelectAdapter.prototype.bind = function (container, $container) { + var self = this; + + this.container = container; + + container.on('select', function (params) { + self.select(params.data); + }); + + container.on('unselect', function (params) { + self.unselect(params.data); + }); + }; + + SelectAdapter.prototype.destroy = function () { + // Remove anything added to child elements + this.$element.find('*').each(function () { + // Remove any custom data set by Select2 + $.removeData(this, 'data'); + }); + }; + + SelectAdapter.prototype.query = function (params, callback) { + var data = []; + var self = this; + + var $options = this.$element.children(); + + $options.each(function () { + var $option = $(this); + + if (!$option.is('option') && !$option.is('optgroup')) { + return; + } + + var option = self.item($option); + + var matches = self.matches(params, option); + + if (matches !== null) { + data.push(matches); + } + }); + + callback({ + results: data + }); + }; + + SelectAdapter.prototype.addOptions = function ($options) { + Utils.appendMany(this.$element, $options); + }; + + SelectAdapter.prototype.option = function (data) { + var option; + + if (data.children) { + option = document.createElement('optgroup'); + option.label = data.text; + } else { + option = document.createElement('option'); + + if (option.textContent !== undefined) { + option.textContent = data.text; + } else { + option.innerText = data.text; + } + } + + if (data.id !== undefined) { + option.value = data.id; + } + + if (data.disabled) { + option.disabled = true; + } + + if (data.selected) { + option.selected = true; + } + + if (data.title) { + option.title = data.title; + } + + var $option = $(option); + + var normalizedData = this._normalizeItem(data); + normalizedData.element = option; + + // Override the option's data with the combined data + $.data(option, 'data', normalizedData); + + return $option; + }; + + SelectAdapter.prototype.item = function ($option) { + var data = {}; + + data = $.data($option[0], 'data'); + + if (data != null) { + return data; + } + + if ($option.is('option')) { + data = { + id: $option.val(), + text: $option.text(), + disabled: $option.prop('disabled'), + selected: $option.prop('selected'), + title: $option.prop('title') + }; + } else if ($option.is('optgroup')) { + data = { + text: $option.prop('label'), + children: [], + title: $option.prop('title') + }; + + var $children = $option.children('option'); + var children = []; + + for (var c = 0; c < $children.length; c++) { + var $child = $($children[c]); + + var child = this.item($child); + + children.push(child); + } + + data.children = children; + } + + data = this._normalizeItem(data); + data.element = $option[0]; + + $.data($option[0], 'data', data); + + return data; + }; + + SelectAdapter.prototype._normalizeItem = function (item) { + if (!$.isPlainObject(item)) { + item = { + id: item, + text: item + }; + } + + item = $.extend({}, { + text: '' + }, item); + + var defaults = { + selected: false, + disabled: false + }; + + if (item.id != null) { + item.id = item.id.toString(); + } + + if (item.text != null) { + item.text = item.text.toString(); + } + + if (item._resultId == null && item.id && this.container != null) { + item._resultId = this.generateResultId(this.container, item); + } + + return $.extend({}, defaults, item); + }; + + SelectAdapter.prototype.matches = function (params, data) { + var matcher = this.options.get('matcher'); + + return matcher(params, data); + }; + + return SelectAdapter; +}); + +S2.define('select2/data/array',[ + './select', + '../utils', + 'jquery' +], function (SelectAdapter, Utils, $) { + function ArrayAdapter ($element, options) { + var data = options.get('data') || []; + + ArrayAdapter.__super__.constructor.call(this, $element, options); + + this.addOptions(this.convertToOptions(data)); + } + + Utils.Extend(ArrayAdapter, SelectAdapter); + + ArrayAdapter.prototype.select = function (data) { + var $option = this.$element.find('option').filter(function (i, elm) { + return elm.value == data.id.toString(); + }); + + if ($option.length === 0) { + $option = this.option(data); + + this.addOptions($option); + } + + ArrayAdapter.__super__.select.call(this, data); + }; + + ArrayAdapter.prototype.convertToOptions = function (data) { + var self = this; + + var $existing = this.$element.find('option'); + var existingIds = $existing.map(function () { + return self.item($(this)).id; + }).get(); + + var $options = []; + + // Filter out all items except for the one passed in the argument + function onlyItem (item) { + return function () { + return $(this).val() == item.id; + }; + } + + for (var d = 0; d < data.length; d++) { + var item = this._normalizeItem(data[d]); + + // Skip items which were pre-loaded, only merge the data + if ($.inArray(item.id, existingIds) >= 0) { + var $existingOption = $existing.filter(onlyItem(item)); + + var existingData = this.item($existingOption); + var newData = $.extend(true, {}, item, existingData); + + var $newOption = this.option(newData); + + $existingOption.replaceWith($newOption); + + continue; + } + + var $option = this.option(item); + + if (item.children) { + var $children = this.convertToOptions(item.children); + + Utils.appendMany($option, $children); + } + + $options.push($option); + } + + return $options; + }; + + return ArrayAdapter; +}); + +S2.define('select2/data/ajax',[ + './array', + '../utils', + 'jquery' +], function (ArrayAdapter, Utils, $) { + function AjaxAdapter ($element, options) { + this.ajaxOptions = this._applyDefaults(options.get('ajax')); + + if (this.ajaxOptions.processResults != null) { + this.processResults = this.ajaxOptions.processResults; + } + + AjaxAdapter.__super__.constructor.call(this, $element, options); + } + + Utils.Extend(AjaxAdapter, ArrayAdapter); + + AjaxAdapter.prototype._applyDefaults = function (options) { + var defaults = { + data: function (params) { + return $.extend({}, params, { + q: params.term + }); + }, + transport: function (params, success, failure) { + var $request = $.ajax(params); + + $request.then(success); + $request.fail(failure); + + return $request; + } + }; + + return $.extend({}, defaults, options, true); + }; + + AjaxAdapter.prototype.processResults = function (results) { + return results; + }; + + AjaxAdapter.prototype.query = function (params, callback) { + var matches = []; + var self = this; + + if (this._request != null) { + // JSONP requests cannot always be aborted + if ($.isFunction(this._request.abort)) { + this._request.abort(); + } + + this._request = null; + } + + var options = $.extend({ + type: 'GET' + }, this.ajaxOptions); + + if (typeof options.url === 'function') { + options.url = options.url.call(this.$element, params); + } + + if (typeof options.data === 'function') { + options.data = options.data.call(this.$element, params); + } + + function request () { + var $request = options.transport(options, function (data) { + var results = self.processResults(data, params); + + if (self.options.get('debug') && window.console && console.error) { + // Check to make sure that the response included a `results` key. + if (!results || !results.results || !$.isArray(results.results)) { + console.error( + 'Select2: The AJAX results did not return an array in the ' + + '`results` key of the response.' + ); + } + } + + callback(results); + }, function () { + // Attempt to detect if a request was aborted + // Only works if the transport exposes a status property + if ($request.status && $request.status === '0') { + return; + } + + self.trigger('results:message', { + message: 'errorLoading' + }); + }); + + self._request = $request; + } + + if (this.ajaxOptions.delay && params.term != null) { + if (this._queryTimeout) { + window.clearTimeout(this._queryTimeout); + } + + this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); + } else { + request(); + } + }; + + return AjaxAdapter; +}); + +S2.define('select2/data/tags',[ + 'jquery' +], function ($) { + function Tags (decorated, $element, options) { + var tags = options.get('tags'); + + var createTag = options.get('createTag'); + + if (createTag !== undefined) { + this.createTag = createTag; + } + + var insertTag = options.get('insertTag'); + + if (insertTag !== undefined) { + this.insertTag = insertTag; + } + + decorated.call(this, $element, options); + + if ($.isArray(tags)) { + for (var t = 0; t < tags.length; t++) { + var tag = tags[t]; + var item = this._normalizeItem(tag); + + var $option = this.option(item); + + this.$element.append($option); + } + } + } + + Tags.prototype.query = function (decorated, params, callback) { + var self = this; + + this._removeOldTags(); + + if (params.term == null || params.page != null) { + decorated.call(this, params, callback); + return; + } + + function wrapper (obj, child) { + var data = obj.results; + + for (var i = 0; i < data.length; i++) { + var option = data[i]; + + var checkChildren = ( + option.children != null && + !wrapper({ + results: option.children + }, true) + ); + + var optionText = (option.text || '').toUpperCase(); + var paramsTerm = (params.term || '').toUpperCase(); + + var checkText = optionText === paramsTerm; + + if (checkText || checkChildren) { + if (child) { + return false; + } + + obj.data = data; + callback(obj); + + return; + } + } + + if (child) { + return true; + } + + var tag = self.createTag(params); + + if (tag != null) { + var $option = self.option(tag); + $option.attr('data-select2-tag', true); + + self.addOptions([$option]); + + self.insertTag(data, tag); + } + + obj.results = data; + + callback(obj); + } + + decorated.call(this, params, wrapper); + }; + + Tags.prototype.createTag = function (decorated, params) { + var term = $.trim(params.term); + + if (term === '') { + return null; + } + + return { + id: term, + text: term + }; + }; + + Tags.prototype.insertTag = function (_, data, tag) { + data.unshift(tag); + }; + + Tags.prototype._removeOldTags = function (_) { + var tag = this._lastTag; + + var $options = this.$element.find('option[data-select2-tag]'); + + $options.each(function () { + if (this.selected) { + return; + } + + $(this).remove(); + }); + }; + + return Tags; +}); + +S2.define('select2/data/tokenizer',[ + 'jquery' +], function ($) { + function Tokenizer (decorated, $element, options) { + var tokenizer = options.get('tokenizer'); + + if (tokenizer !== undefined) { + this.tokenizer = tokenizer; + } + + decorated.call(this, $element, options); + } + + Tokenizer.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + this.$search = container.dropdown.$search || container.selection.$search || + $container.find('.select2-search__field'); + }; + + Tokenizer.prototype.query = function (decorated, params, callback) { + var self = this; + + function createAndSelect (data) { + // Normalize the data object so we can use it for checks + var item = self._normalizeItem(data); + + // Check if the data object already exists as a tag + // Select it if it doesn't + var $existingOptions = self.$element.find('option').filter(function () { + return $(this).val() === item.id; + }); + + // If an existing option wasn't found for it, create the option + if (!$existingOptions.length) { + var $option = self.option(item); + $option.attr('data-select2-tag', true); + + self._removeOldTags(); + self.addOptions([$option]); + } + + // Select the item, now that we know there is an option for it + select(item); + } + + function select (data) { + self.trigger('select', { + data: data + }); + } + + params.term = params.term || ''; + + var tokenData = this.tokenizer(params, this.options, createAndSelect); + + if (tokenData.term !== params.term) { + // Replace the search term if we have the search box + if (this.$search.length) { + this.$search.val(tokenData.term); + this.$search.focus(); + } + + params.term = tokenData.term; + } + + decorated.call(this, params, callback); + }; + + Tokenizer.prototype.tokenizer = function (_, params, options, callback) { + var separators = options.get('tokenSeparators') || []; + var term = params.term; + var i = 0; + + var createTag = this.createTag || function (params) { + return { + id: params.term, + text: params.term + }; + }; + + while (i < term.length) { + var termChar = term[i]; + + if ($.inArray(termChar, separators) === -1) { + i++; + + continue; + } + + var part = term.substr(0, i); + var partParams = $.extend({}, params, { + term: part + }); + + var data = createTag(partParams); + + if (data == null) { + i++; + continue; + } + + callback(data); + + // Reset the term to not include the tokenized portion + term = term.substr(i + 1) || ''; + i = 0; + } + + return { + term: term + }; + }; + + return Tokenizer; +}); + +S2.define('select2/data/minimumInputLength',[ + +], function () { + function MinimumInputLength (decorated, $e, options) { + this.minimumInputLength = options.get('minimumInputLength'); + + decorated.call(this, $e, options); + } + + MinimumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (params.term.length < this.minimumInputLength) { + this.trigger('results:message', { + message: 'inputTooShort', + args: { + minimum: this.minimumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MinimumInputLength; +}); + +S2.define('select2/data/maximumInputLength',[ + +], function () { + function MaximumInputLength (decorated, $e, options) { + this.maximumInputLength = options.get('maximumInputLength'); + + decorated.call(this, $e, options); + } + + MaximumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (this.maximumInputLength > 0 && + params.term.length > this.maximumInputLength) { + this.trigger('results:message', { + message: 'inputTooLong', + args: { + maximum: this.maximumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MaximumInputLength; +}); + +S2.define('select2/data/maximumSelectionLength',[ + +], function (){ + function MaximumSelectionLength (decorated, $e, options) { + this.maximumSelectionLength = options.get('maximumSelectionLength'); + + decorated.call(this, $e, options); + } + + MaximumSelectionLength.prototype.query = + function (decorated, params, callback) { + var self = this; + + this.current(function (currentData) { + var count = currentData != null ? currentData.length : 0; + if (self.maximumSelectionLength > 0 && + count >= self.maximumSelectionLength) { + self.trigger('results:message', { + message: 'maximumSelected', + args: { + maximum: self.maximumSelectionLength + } + }); + return; + } + decorated.call(self, params, callback); + }); + }; + + return MaximumSelectionLength; +}); + +S2.define('select2/dropdown',[ + 'jquery', + './utils' +], function ($, Utils) { + function Dropdown ($element, options) { + this.$element = $element; + this.options = options; + + Dropdown.__super__.constructor.call(this); + } + + Utils.Extend(Dropdown, Utils.Observable); + + Dropdown.prototype.render = function () { + var $dropdown = $( + '' + + '' + + '' + ); + + $dropdown.attr('dir', this.options.get('dir')); + + this.$dropdown = $dropdown; + + return $dropdown; + }; + + Dropdown.prototype.bind = function () { + // Should be implemented in subclasses + }; + + Dropdown.prototype.position = function ($dropdown, $container) { + // Should be implmented in subclasses + }; + + Dropdown.prototype.destroy = function () { + // Remove the dropdown from the DOM + this.$dropdown.remove(); + }; + + return Dropdown; +}); + +S2.define('select2/dropdown/search',[ + 'jquery', + '../utils' +], function ($, Utils) { + function Search () { } + + Search.prototype.render = function (decorated) { + var $rendered = decorated.call(this); + + var $search = $( + '' + + '' + + '' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + $rendered.prepend($search); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + this.$search.on('keydown', function (evt) { + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + }); + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$search.on('input', function (evt) { + // Unbind the duplicated `keyup` event + $(this).off('keyup'); + }); + + this.$search.on('keyup input', function (evt) { + self.handleSearch(evt); + }); + + container.on('open', function () { + self.$search.attr('tabindex', 0); + + self.$search.focus(); + + window.setTimeout(function () { + self.$search.focus(); + }, 0); + }); + + container.on('close', function () { + self.$search.attr('tabindex', -1); + + self.$search.val(''); + }); + + container.on('focus', function () { + if (container.isOpen()) { + self.$search.focus(); + } + }); + + container.on('results:all', function (params) { + if (params.query.term == null || params.query.term === '') { + var showSearch = self.showSearch(params); + + if (showSearch) { + self.$searchContainer.removeClass('select2-search--hide'); + } else { + self.$searchContainer.addClass('select2-search--hide'); + } + } + }); + }; + + Search.prototype.handleSearch = function (evt) { + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.showSearch = function (_, params) { + return true; + }; + + return Search; +}); + +S2.define('select2/dropdown/hidePlaceholder',[ + +], function () { + function HidePlaceholder (decorated, $element, options, dataAdapter) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options, dataAdapter); + } + + HidePlaceholder.prototype.append = function (decorated, data) { + data.results = this.removePlaceholder(data.results); + + decorated.call(this, data); + }; + + HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + HidePlaceholder.prototype.removePlaceholder = function (_, data) { + var modifiedData = data.slice(0); + + for (var d = data.length - 1; d >= 0; d--) { + var item = data[d]; + + if (this.placeholder.id === item.id) { + modifiedData.splice(d, 1); + } + } + + return modifiedData; + }; + + return HidePlaceholder; +}); + +S2.define('select2/dropdown/infiniteScroll',[ + 'jquery' +], function ($) { + function InfiniteScroll (decorated, $element, options, dataAdapter) { + this.lastParams = {}; + + decorated.call(this, $element, options, dataAdapter); + + this.$loadingMore = this.createLoadingMore(); + this.loading = false; + } + + InfiniteScroll.prototype.append = function (decorated, data) { + this.$loadingMore.remove(); + this.loading = false; + + decorated.call(this, data); + + if (this.showLoadingMore(data)) { + this.$results.append(this.$loadingMore); + } + }; + + InfiniteScroll.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('query', function (params) { + self.lastParams = params; + self.loading = true; + }); + + container.on('query:append', function (params) { + self.lastParams = params; + self.loading = true; + }); + + this.$results.on('scroll', function () { + var isLoadMoreVisible = $.contains( + document.documentElement, + self.$loadingMore[0] + ); + + if (self.loading || !isLoadMoreVisible) { + return; + } + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var loadingMoreOffset = self.$loadingMore.offset().top + + self.$loadingMore.outerHeight(false); + + if (currentOffset + 50 >= loadingMoreOffset) { + self.loadMore(); + } + }); + }; + + InfiniteScroll.prototype.loadMore = function () { + this.loading = true; + + var params = $.extend({}, {page: 1}, this.lastParams); + + params.page++; + + this.trigger('query:append', params); + }; + + InfiniteScroll.prototype.showLoadingMore = function (_, data) { + return data.pagination && data.pagination.more; + }; + + InfiniteScroll.prototype.createLoadingMore = function () { + var $option = $( + '
      • ' + ); + + var message = this.options.get('translations').get('loadingMore'); + + $option.html(message(this.lastParams)); + + return $option; + }; + + return InfiniteScroll; +}); + +S2.define('select2/dropdown/attachBody',[ + 'jquery', + '../utils' +], function ($, Utils) { + function AttachBody (decorated, $element, options) { + this.$dropdownParent = options.get('dropdownParent') || $(document.body); + + decorated.call(this, $element, options); + } + + AttachBody.prototype.bind = function (decorated, container, $container) { + var self = this; + + var setupResultsEvents = false; + + decorated.call(this, container, $container); + + container.on('open', function () { + self._showDropdown(); + self._attachPositioningHandler(container); + + if (!setupResultsEvents) { + setupResultsEvents = true; + + container.on('results:all', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('results:append', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + } + }); + + container.on('close', function () { + self._hideDropdown(); + self._detachPositioningHandler(container); + }); + + this.$dropdownContainer.on('mousedown', function (evt) { + evt.stopPropagation(); + }); + }; + + AttachBody.prototype.destroy = function (decorated) { + decorated.call(this); + + this.$dropdownContainer.remove(); + }; + + AttachBody.prototype.position = function (decorated, $dropdown, $container) { + // Clone all of the container classes + $dropdown.attr('class', $container.attr('class')); + + $dropdown.removeClass('select2'); + $dropdown.addClass('select2-container--open'); + + $dropdown.css({ + position: 'absolute', + top: -999999 + }); + + this.$container = $container; + }; + + AttachBody.prototype.render = function (decorated) { + var $container = $(''); + + var $dropdown = decorated.call(this); + $container.append($dropdown); + + this.$dropdownContainer = $container; + + return $container; + }; + + AttachBody.prototype._hideDropdown = function (decorated) { + this.$dropdownContainer.detach(); + }; + + AttachBody.prototype._attachPositioningHandler = + function (decorated, container) { + var self = this; + + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.each(function () { + $(this).data('select2-scroll-position', { + x: $(this).scrollLeft(), + y: $(this).scrollTop() + }); + }); + + $watchers.on(scrollEvent, function (ev) { + var position = $(this).data('select2-scroll-position'); + $(this).scrollTop(position.y); + }); + + $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, + function (e) { + self._positionDropdown(); + self._resizeDropdown(); + }); + }; + + AttachBody.prototype._detachPositioningHandler = + function (decorated, container) { + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.off(scrollEvent); + + $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); + }; + + AttachBody.prototype._positionDropdown = function () { + var $window = $(window); + + var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); + var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); + + var newDirection = null; + + var offset = this.$container.offset(); + + offset.bottom = offset.top + this.$container.outerHeight(false); + + var container = { + height: this.$container.outerHeight(false) + }; + + container.top = offset.top; + container.bottom = offset.top + container.height; + + var dropdown = { + height: this.$dropdown.outerHeight(false) + }; + + var viewport = { + top: $window.scrollTop(), + bottom: $window.scrollTop() + $window.height() + }; + + var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); + var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); + + var css = { + left: offset.left, + top: container.bottom + }; + + // Determine what the parent element is to use for calciulating the offset + var $offsetParent = this.$dropdownParent; + + // For statically positoned elements, we need to get the element + // that is determining the offset + if ($offsetParent.css('position') === 'static') { + $offsetParent = $offsetParent.offsetParent(); + } + + var parentOffset = $offsetParent.offset(); + + css.top -= parentOffset.top; + css.left -= parentOffset.left; + + if (!isCurrentlyAbove && !isCurrentlyBelow) { + newDirection = 'below'; + } + + if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { + newDirection = 'above'; + } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { + newDirection = 'below'; + } + + if (newDirection == 'above' || + (isCurrentlyAbove && newDirection !== 'below')) { + css.top = container.top - parentOffset.top - dropdown.height; + } + + if (newDirection != null) { + this.$dropdown + .removeClass('select2-dropdown--below select2-dropdown--above') + .addClass('select2-dropdown--' + newDirection); + this.$container + .removeClass('select2-container--below select2-container--above') + .addClass('select2-container--' + newDirection); + } + + this.$dropdownContainer.css(css); + }; + + AttachBody.prototype._resizeDropdown = function () { + var css = { + width: this.$container.outerWidth(false) + 'px' + }; + + if (this.options.get('dropdownAutoWidth')) { + css.minWidth = css.width; + css.position = 'relative'; + css.width = 'auto'; + } + + this.$dropdown.css(css); + }; + + AttachBody.prototype._showDropdown = function (decorated) { + this.$dropdownContainer.appendTo(this.$dropdownParent); + + this._positionDropdown(); + this._resizeDropdown(); + }; + + return AttachBody; +}); + +S2.define('select2/dropdown/minimumResultsForSearch',[ + +], function () { + function countResults (data) { + var count = 0; + + for (var d = 0; d < data.length; d++) { + var item = data[d]; + + if (item.children) { + count += countResults(item.children); + } else { + count++; + } + } + + return count; + } + + function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { + this.minimumResultsForSearch = options.get('minimumResultsForSearch'); + + if (this.minimumResultsForSearch < 0) { + this.minimumResultsForSearch = Infinity; + } + + decorated.call(this, $element, options, dataAdapter); + } + + MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { + if (countResults(params.data.results) < this.minimumResultsForSearch) { + return false; + } + + return decorated.call(this, params); + }; + + return MinimumResultsForSearch; +}); + +S2.define('select2/dropdown/selectOnClose',[ + +], function () { + function SelectOnClose () { } + + SelectOnClose.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('close', function (params) { + self._handleSelectOnClose(params); + }); + }; + + SelectOnClose.prototype._handleSelectOnClose = function (_, params) { + if (params && params.originalSelect2Event != null) { + var event = params.originalSelect2Event; + + // Don't select an item if the close event was triggered from a select or + // unselect event + if (event._type === 'select' || event._type === 'unselect') { + return; + } + } + + var $highlightedResults = this.getHighlightedResults(); + + // Only select highlighted results + if ($highlightedResults.length < 1) { + return; + } + + var data = $highlightedResults.data('data'); + + // Don't re-select already selected resulte + if ( + (data.element != null && data.element.selected) || + (data.element == null && data.selected) + ) { + return; + } + + this.trigger('select', { + data: data + }); + }; + + return SelectOnClose; +}); + +S2.define('select2/dropdown/closeOnSelect',[ + +], function () { + function CloseOnSelect () { } + + CloseOnSelect.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('select', function (evt) { + self._selectTriggered(evt); + }); + + container.on('unselect', function (evt) { + self._selectTriggered(evt); + }); + }; + + CloseOnSelect.prototype._selectTriggered = function (_, evt) { + var originalEvent = evt.originalEvent; + + // Don't close if the control key is being held + if (originalEvent && originalEvent.ctrlKey) { + return; + } + + this.trigger('close', { + originalEvent: originalEvent, + originalSelect2Event: evt + }); + }; + + return CloseOnSelect; +}); + +S2.define('select2/i18n/en',[],function () { + // English + return { + errorLoading: function () { + return 'The results could not be loaded.'; + }, + inputTooLong: function (args) { + var overChars = args.input.length - args.maximum; + + var message = 'Please delete ' + overChars + ' character'; + + if (overChars != 1) { + message += 's'; + } + + return message; + }, + inputTooShort: function (args) { + var remainingChars = args.minimum - args.input.length; + + var message = 'Please enter ' + remainingChars + ' or more characters'; + + return message; + }, + loadingMore: function () { + return 'Loading more results…'; + }, + maximumSelected: function (args) { + var message = 'You can only select ' + args.maximum + ' item'; + + if (args.maximum != 1) { + message += 's'; + } + + return message; + }, + noResults: function () { + return 'No results found'; + }, + searching: function () { + return 'Searching…'; + } + }; +}); + +S2.define('select2/defaults',[ + 'jquery', + 'require', + + './results', + + './selection/single', + './selection/multiple', + './selection/placeholder', + './selection/allowClear', + './selection/search', + './selection/eventRelay', + + './utils', + './translation', + './diacritics', + + './data/select', + './data/array', + './data/ajax', + './data/tags', + './data/tokenizer', + './data/minimumInputLength', + './data/maximumInputLength', + './data/maximumSelectionLength', + + './dropdown', + './dropdown/search', + './dropdown/hidePlaceholder', + './dropdown/infiniteScroll', + './dropdown/attachBody', + './dropdown/minimumResultsForSearch', + './dropdown/selectOnClose', + './dropdown/closeOnSelect', + + './i18n/en' +], function ($, require, + + ResultsList, + + SingleSelection, MultipleSelection, Placeholder, AllowClear, + SelectionSearch, EventRelay, + + Utils, Translation, DIACRITICS, + + SelectData, ArrayData, AjaxData, Tags, Tokenizer, + MinimumInputLength, MaximumInputLength, MaximumSelectionLength, + + Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, + AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, + + EnglishTranslation) { + function Defaults () { + this.reset(); + } + + Defaults.prototype.apply = function (options) { + options = $.extend(true, {}, this.defaults, options); + + if (options.dataAdapter == null) { + if (options.ajax != null) { + options.dataAdapter = AjaxData; + } else if (options.data != null) { + options.dataAdapter = ArrayData; + } else { + options.dataAdapter = SelectData; + } + + if (options.minimumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MinimumInputLength + ); + } + + if (options.maximumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumInputLength + ); + } + + if (options.maximumSelectionLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumSelectionLength + ); + } + + if (options.tags) { + options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); + } + + if (options.tokenSeparators != null || options.tokenizer != null) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Tokenizer + ); + } + + if (options.query != null) { + var Query = require(options.amdBase + 'compat/query'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Query + ); + } + + if (options.initSelection != null) { + var InitSelection = require(options.amdBase + 'compat/initSelection'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + InitSelection + ); + } + } + + if (options.resultsAdapter == null) { + options.resultsAdapter = ResultsList; + + if (options.ajax != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + InfiniteScroll + ); + } + + if (options.placeholder != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + HidePlaceholder + ); + } + + if (options.selectOnClose) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + SelectOnClose + ); + } + } + + if (options.dropdownAdapter == null) { + if (options.multiple) { + options.dropdownAdapter = Dropdown; + } else { + var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); + + options.dropdownAdapter = SearchableDropdown; + } + + if (options.minimumResultsForSearch !== 0) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + MinimumResultsForSearch + ); + } + + if (options.closeOnSelect) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + CloseOnSelect + ); + } + + if ( + options.dropdownCssClass != null || + options.dropdownCss != null || + options.adaptDropdownCssClass != null + ) { + var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + DropdownCSS + ); + } + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + AttachBody + ); + } + + if (options.selectionAdapter == null) { + if (options.multiple) { + options.selectionAdapter = MultipleSelection; + } else { + options.selectionAdapter = SingleSelection; + } + + // Add the placeholder mixin if a placeholder was specified + if (options.placeholder != null) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + Placeholder + ); + } + + if (options.allowClear) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + AllowClear + ); + } + + if (options.multiple) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + SelectionSearch + ); + } + + if ( + options.containerCssClass != null || + options.containerCss != null || + options.adaptContainerCssClass != null + ) { + var ContainerCSS = require(options.amdBase + 'compat/containerCss'); + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + ContainerCSS + ); + } + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + EventRelay + ); + } + + if (typeof options.language === 'string') { + // Check if the language is specified with a region + if (options.language.indexOf('-') > 0) { + // Extract the region information if it is included + var languageParts = options.language.split('-'); + var baseLanguage = languageParts[0]; + + options.language = [options.language, baseLanguage]; + } else { + options.language = [options.language]; + } + } + + if ($.isArray(options.language)) { + var languages = new Translation(); + options.language.push('en'); + + var languageNames = options.language; + + for (var l = 0; l < languageNames.length; l++) { + var name = languageNames[l]; + var language = {}; + + try { + // Try to load it with the original name + language = Translation.loadPath(name); + } catch (e) { + try { + // If we couldn't load it, check if it wasn't the full path + name = this.defaults.amdLanguageBase + name; + language = Translation.loadPath(name); + } catch (ex) { + // The translation could not be loaded at all. Sometimes this is + // because of a configuration problem, other times this can be + // because of how Select2 helps load all possible translation files. + if (options.debug && window.console && console.warn) { + console.warn( + 'Select2: The language file for "' + name + '" could not be ' + + 'automatically loaded. A fallback will be used instead.' + ); + } + + continue; + } + } + + languages.extend(language); + } + + options.translations = languages; + } else { + var baseTranslation = Translation.loadPath( + this.defaults.amdLanguageBase + 'en' + ); + var customTranslation = new Translation(options.language); + + customTranslation.extend(baseTranslation); + + options.translations = customTranslation; + } + + return options; + }; + + Defaults.prototype.reset = function () { + function stripDiacritics (text) { + // Used 'uni range + named function' from http://jsperf.com/diacritics/18 + function match(a) { + return DIACRITICS[a] || a; + } + + return text.replace(/[^\u0000-\u007E]/g, match); + } + + function matcher (params, data) { + // Always return the object if there is nothing to compare + if ($.trim(params.term) === '') { + return data; + } + + // Do a recursive check for options with children + if (data.children && data.children.length > 0) { + // Clone the data object if there are children + // This is required as we modify the object to remove any non-matches + var match = $.extend(true, {}, data); + + // Check each child of the option + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + var matches = matcher(params, child); + + // If there wasn't a match, remove the object in the array + if (matches == null) { + match.children.splice(c, 1); + } + } + + // If any children matched, return the new object + if (match.children.length > 0) { + return match; + } + + // If there were no matching children, check just the plain object + return matcher(params, match); + } + + var original = stripDiacritics(data.text).toUpperCase(); + var term = stripDiacritics(params.term).toUpperCase(); + + // Check if the text contains the term + if (original.indexOf(term) > -1) { + return data; + } + + // If it doesn't contain the term, don't return anything + return null; + } + + this.defaults = { + amdBase: './', + amdLanguageBase: './i18n/', + closeOnSelect: true, + debug: false, + dropdownAutoWidth: false, + escapeMarkup: Utils.escapeMarkup, + language: EnglishTranslation, + matcher: matcher, + minimumInputLength: 0, + maximumInputLength: 0, + maximumSelectionLength: 0, + minimumResultsForSearch: 0, + selectOnClose: false, + sorter: function (data) { + return data; + }, + templateResult: function (result) { + return result.text; + }, + templateSelection: function (selection) { + return selection.text; + }, + theme: 'default', + width: 'resolve' + }; + }; + + Defaults.prototype.set = function (key, value) { + var camelKey = $.camelCase(key); + + var data = {}; + data[camelKey] = value; + + var convertedData = Utils._convertData(data); + + $.extend(this.defaults, convertedData); + }; + + var defaults = new Defaults(); + + return defaults; +}); + +S2.define('select2/options',[ + 'require', + 'jquery', + './defaults', + './utils' +], function (require, $, Defaults, Utils) { + function Options (options, $element) { + this.options = options; + + if ($element != null) { + this.fromElement($element); + } + + this.options = Defaults.apply(this.options); + + if ($element && $element.is('input')) { + var InputCompat = require(this.get('amdBase') + 'compat/inputData'); + + this.options.dataAdapter = Utils.Decorate( + this.options.dataAdapter, + InputCompat + ); + } + } + + Options.prototype.fromElement = function ($e) { + var excludedData = ['select2']; + + if (this.options.multiple == null) { + this.options.multiple = $e.prop('multiple'); + } + + if (this.options.disabled == null) { + this.options.disabled = $e.prop('disabled'); + } + + if (this.options.language == null) { + if ($e.prop('lang')) { + this.options.language = $e.prop('lang').toLowerCase(); + } else if ($e.closest('[lang]').prop('lang')) { + this.options.language = $e.closest('[lang]').prop('lang'); + } + } + + if (this.options.dir == null) { + if ($e.prop('dir')) { + this.options.dir = $e.prop('dir'); + } else if ($e.closest('[dir]').prop('dir')) { + this.options.dir = $e.closest('[dir]').prop('dir'); + } else { + this.options.dir = 'ltr'; + } + } + + $e.prop('disabled', this.options.disabled); + $e.prop('multiple', this.options.multiple); + + if ($e.data('select2Tags')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-select2-tags` attribute has been changed to ' + + 'use the `data-data` and `data-tags="true"` attributes and will be ' + + 'removed in future versions of Select2.' + ); + } + + $e.data('data', $e.data('select2Tags')); + $e.data('tags', true); + } + + if ($e.data('ajaxUrl')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-ajax-url` attribute has been changed to ' + + '`data-ajax--url` and support for the old attribute will be removed' + + ' in future versions of Select2.' + ); + } + + $e.attr('ajax--url', $e.data('ajaxUrl')); + $e.data('ajax--url', $e.data('ajaxUrl')); + } + + var dataset = {}; + + // Prefer the element's `dataset` attribute if it exists + // jQuery 1.x does not correctly handle data attributes with multiple dashes + if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { + dataset = $.extend(true, {}, $e[0].dataset, $e.data()); + } else { + dataset = $e.data(); + } + + var data = $.extend(true, {}, dataset); + + data = Utils._convertData(data); + + for (var key in data) { + if ($.inArray(key, excludedData) > -1) { + continue; + } + + if ($.isPlainObject(this.options[key])) { + $.extend(this.options[key], data[key]); + } else { + this.options[key] = data[key]; + } + } + + return this; + }; + + Options.prototype.get = function (key) { + return this.options[key]; + }; + + Options.prototype.set = function (key, val) { + this.options[key] = val; + }; + + return Options; +}); + +S2.define('select2/core',[ + 'jquery', + './options', + './utils', + './keys' +], function ($, Options, Utils, KEYS) { + var Select2 = function ($element, options) { + if ($element.data('select2') != null) { + $element.data('select2').destroy(); + } + + this.$element = $element; + + this.id = this._generateId($element); + + options = options || {}; + + this.options = new Options(options, $element); + + Select2.__super__.constructor.call(this); + + // Set up the tabindex + + var tabindex = $element.attr('tabindex') || 0; + $element.data('old-tabindex', tabindex); + $element.attr('tabindex', '-1'); + + // Set up containers and adapters + + var DataAdapter = this.options.get('dataAdapter'); + this.dataAdapter = new DataAdapter($element, this.options); + + var $container = this.render(); + + this._placeContainer($container); + + var SelectionAdapter = this.options.get('selectionAdapter'); + this.selection = new SelectionAdapter($element, this.options); + this.$selection = this.selection.render(); + + this.selection.position(this.$selection, $container); + + var DropdownAdapter = this.options.get('dropdownAdapter'); + this.dropdown = new DropdownAdapter($element, this.options); + this.$dropdown = this.dropdown.render(); + + this.dropdown.position(this.$dropdown, $container); + + var ResultsAdapter = this.options.get('resultsAdapter'); + this.results = new ResultsAdapter($element, this.options, this.dataAdapter); + this.$results = this.results.render(); + + this.results.position(this.$results, this.$dropdown); + + // Bind events + + var self = this; + + // Bind the container to all of the adapters + this._bindAdapters(); + + // Register any DOM event handlers + this._registerDomEvents(); + + // Register any internal event handlers + this._registerDataEvents(); + this._registerSelectionEvents(); + this._registerDropdownEvents(); + this._registerResultsEvents(); + this._registerEvents(); + + // Set the initial state + this.dataAdapter.current(function (initialData) { + self.trigger('selection:update', { + data: initialData + }); + }); + + // Hide the original select + $element.addClass('select2-hidden-accessible'); + $element.attr('aria-hidden', 'true'); + + // Synchronize any monitored attributes + this._syncAttributes(); + + $element.data('select2', this); + }; + + Utils.Extend(Select2, Utils.Observable); + + Select2.prototype._generateId = function ($element) { + var id = ''; + + if ($element.attr('id') != null) { + id = $element.attr('id'); + } else if ($element.attr('name') != null) { + id = $element.attr('name') + '-' + Utils.generateChars(2); + } else { + id = Utils.generateChars(4); + } + + id = id.replace(/(:|\.|\[|\]|,)/g, ''); + id = 'select2-' + id; + + return id; + }; + + Select2.prototype._placeContainer = function ($container) { + $container.insertAfter(this.$element); + + var width = this._resolveWidth(this.$element, this.options.get('width')); + + if (width != null) { + $container.css('width', width); + } + }; + + Select2.prototype._resolveWidth = function ($element, method) { + var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; + + if (method == 'resolve') { + var styleWidth = this._resolveWidth($element, 'style'); + + if (styleWidth != null) { + return styleWidth; + } + + return this._resolveWidth($element, 'element'); + } + + if (method == 'element') { + var elementWidth = $element.outerWidth(false); + + if (elementWidth <= 0) { + return 'auto'; + } + + return elementWidth + 'px'; + } + + if (method == 'style') { + var style = $element.attr('style'); + + if (typeof(style) !== 'string') { + return null; + } + + var attrs = style.split(';'); + + for (var i = 0, l = attrs.length; i < l; i = i + 1) { + var attr = attrs[i].replace(/\s/g, ''); + var matches = attr.match(WIDTH); + + if (matches !== null && matches.length >= 1) { + return matches[1]; + } + } + + return null; + } + + return method; + }; + + Select2.prototype._bindAdapters = function () { + this.dataAdapter.bind(this, this.$container); + this.selection.bind(this, this.$container); + + this.dropdown.bind(this, this.$container); + this.results.bind(this, this.$container); + }; + + Select2.prototype._registerDomEvents = function () { + var self = this; + + this.$element.on('change.select2', function () { + self.dataAdapter.current(function (data) { + self.trigger('selection:update', { + data: data + }); + }); + }); + + this.$element.on('focus.select2', function (evt) { + self.trigger('focus', evt); + }); + + this._syncA = Utils.bind(this._syncAttributes, this); + this._syncS = Utils.bind(this._syncSubtree, this); + + if (this.$element[0].attachEvent) { + this.$element[0].attachEvent('onpropertychange', this._syncA); + } + + var observer = window.MutationObserver || + window.WebKitMutationObserver || + window.MozMutationObserver + ; + + if (observer != null) { + this._observer = new observer(function (mutations) { + $.each(mutations, self._syncA); + $.each(mutations, self._syncS); + }); + this._observer.observe(this.$element[0], { + attributes: true, + childList: true, + subtree: false + }); + } else if (this.$element[0].addEventListener) { + this.$element[0].addEventListener( + 'DOMAttrModified', + self._syncA, + false + ); + this.$element[0].addEventListener( + 'DOMNodeInserted', + self._syncS, + false + ); + this.$element[0].addEventListener( + 'DOMNodeRemoved', + self._syncS, + false + ); + } + }; + + Select2.prototype._registerDataEvents = function () { + var self = this; + + this.dataAdapter.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerSelectionEvents = function () { + var self = this; + var nonRelayEvents = ['toggle', 'focus']; + + this.selection.on('toggle', function () { + self.toggleDropdown(); + }); + + this.selection.on('focus', function (params) { + self.focus(params); + }); + + this.selection.on('*', function (name, params) { + if ($.inArray(name, nonRelayEvents) !== -1) { + return; + } + + self.trigger(name, params); + }); + }; + + Select2.prototype._registerDropdownEvents = function () { + var self = this; + + this.dropdown.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerResultsEvents = function () { + var self = this; + + this.results.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerEvents = function () { + var self = this; + + this.on('open', function () { + self.$container.addClass('select2-container--open'); + }); + + this.on('close', function () { + self.$container.removeClass('select2-container--open'); + }); + + this.on('enable', function () { + self.$container.removeClass('select2-container--disabled'); + }); + + this.on('disable', function () { + self.$container.addClass('select2-container--disabled'); + }); + + this.on('blur', function () { + self.$container.removeClass('select2-container--focus'); + }); + + this.on('query', function (params) { + if (!self.isOpen()) { + self.trigger('open', {}); + } + + this.dataAdapter.query(params, function (data) { + self.trigger('results:all', { + data: data, + query: params + }); + }); + }); + + this.on('query:append', function (params) { + this.dataAdapter.query(params, function (data) { + self.trigger('results:append', { + data: data, + query: params + }); + }); + }); + + this.on('keypress', function (evt) { + var key = evt.which; + + if (self.isOpen()) { + if (key === KEYS.ESC || key === KEYS.TAB || + (key === KEYS.UP && evt.altKey)) { + self.close(); + + evt.preventDefault(); + } else if (key === KEYS.ENTER) { + self.trigger('results:select', {}); + + evt.preventDefault(); + } else if ((key === KEYS.SPACE && evt.ctrlKey)) { + self.trigger('results:toggle', {}); + + evt.preventDefault(); + } else if (key === KEYS.UP) { + self.trigger('results:previous', {}); + + evt.preventDefault(); + } else if (key === KEYS.DOWN) { + self.trigger('results:next', {}); + + evt.preventDefault(); + } + } else { + if (key === KEYS.ENTER || key === KEYS.SPACE || + (key === KEYS.DOWN && evt.altKey)) { + self.open(); + + evt.preventDefault(); + } + } + }); + }; + + Select2.prototype._syncAttributes = function () { + this.options.set('disabled', this.$element.prop('disabled')); + + if (this.options.get('disabled')) { + if (this.isOpen()) { + this.close(); + } + + this.trigger('disable', {}); + } else { + this.trigger('enable', {}); + } + }; + + Select2.prototype._syncSubtree = function (evt, mutations) { + var changed = false; + var self = this; + + // Ignore any mutation events raised for elements that aren't options or + // optgroups. This handles the case when the select element is destroyed + if ( + evt && evt.target && ( + evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' + ) + ) { + return; + } + + if (!mutations) { + // If mutation events aren't supported, then we can only assume that the + // change affected the selections + changed = true; + } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { + for (var n = 0; n < mutations.addedNodes.length; n++) { + var node = mutations.addedNodes[n]; + + if (node.selected) { + changed = true; + } + } + } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { + changed = true; + } + + // Only re-pull the data if we think there is a change + if (changed) { + this.dataAdapter.current(function (currentData) { + self.trigger('selection:update', { + data: currentData + }); + }); + } + }; + + /** + * Override the trigger method to automatically trigger pre-events when + * there are events that can be prevented. + */ + Select2.prototype.trigger = function (name, args) { + var actualTrigger = Select2.__super__.trigger; + var preTriggerMap = { + 'open': 'opening', + 'close': 'closing', + 'select': 'selecting', + 'unselect': 'unselecting' + }; + + if (args === undefined) { + args = {}; + } + + if (name in preTriggerMap) { + var preTriggerName = preTriggerMap[name]; + var preTriggerArgs = { + prevented: false, + name: name, + args: args + }; + + actualTrigger.call(this, preTriggerName, preTriggerArgs); + + if (preTriggerArgs.prevented) { + args.prevented = true; + + return; + } + } + + actualTrigger.call(this, name, args); + }; + + Select2.prototype.toggleDropdown = function () { + if (this.options.get('disabled')) { + return; + } + + if (this.isOpen()) { + this.close(); + } else { + this.open(); + } + }; + + Select2.prototype.open = function () { + if (this.isOpen()) { + return; + } + + this.trigger('query', {}); + }; + + Select2.prototype.close = function () { + if (!this.isOpen()) { + return; + } + + this.trigger('close', {}); + }; + + Select2.prototype.isOpen = function () { + return this.$container.hasClass('select2-container--open'); + }; + + Select2.prototype.hasFocus = function () { + return this.$container.hasClass('select2-container--focus'); + }; + + Select2.prototype.focus = function (data) { + // No need to re-trigger focus events if we are already focused + if (this.hasFocus()) { + return; + } + + this.$container.addClass('select2-container--focus'); + this.trigger('focus', {}); + }; + + Select2.prototype.enable = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("enable")` method has been deprecated and will' + + ' be removed in later Select2 versions. Use $element.prop("disabled")' + + ' instead.' + ); + } + + if (args == null || args.length === 0) { + args = [true]; + } + + var disabled = !args[0]; + + this.$element.prop('disabled', disabled); + }; + + Select2.prototype.data = function () { + if (this.options.get('debug') && + arguments.length > 0 && window.console && console.warn) { + console.warn( + 'Select2: Data can no longer be set using `select2("data")`. You ' + + 'should consider setting the value instead using `$element.val()`.' + ); + } + + var data = []; + + this.dataAdapter.current(function (currentData) { + data = currentData; + }); + + return data; + }; + + Select2.prototype.val = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("val")` method has been deprecated and will be' + + ' removed in later Select2 versions. Use $element.val() instead.' + ); + } + + if (args == null || args.length === 0) { + return this.$element.val(); + } + + var newVal = args[0]; + + if ($.isArray(newVal)) { + newVal = $.map(newVal, function (obj) { + return obj.toString(); + }); + } + + this.$element.val(newVal).trigger('change'); + }; + + Select2.prototype.destroy = function () { + this.$container.remove(); + + if (this.$element[0].detachEvent) { + this.$element[0].detachEvent('onpropertychange', this._syncA); + } + + if (this._observer != null) { + this._observer.disconnect(); + this._observer = null; + } else if (this.$element[0].removeEventListener) { + this.$element[0] + .removeEventListener('DOMAttrModified', this._syncA, false); + this.$element[0] + .removeEventListener('DOMNodeInserted', this._syncS, false); + this.$element[0] + .removeEventListener('DOMNodeRemoved', this._syncS, false); + } + + this._syncA = null; + this._syncS = null; + + this.$element.off('.select2'); + this.$element.attr('tabindex', this.$element.data('old-tabindex')); + + this.$element.removeClass('select2-hidden-accessible'); + this.$element.attr('aria-hidden', 'false'); + this.$element.removeData('select2'); + + this.dataAdapter.destroy(); + this.selection.destroy(); + this.dropdown.destroy(); + this.results.destroy(); + + this.dataAdapter = null; + this.selection = null; + this.dropdown = null; + this.results = null; + }; + + Select2.prototype.render = function () { + var $container = $( + '' + + '' + + '' + + '' + ); + + $container.attr('dir', this.options.get('dir')); + + this.$container = $container; + + this.$container.addClass('select2-container--' + this.options.get('theme')); + + $container.data('element', this.$element); + + return $container; + }; + + return Select2; +}); + +S2.define('jquery-mousewheel',[ + 'jquery' +], function ($) { + // Used to shim jQuery.mousewheel for non-full builds. + return $; +}); + +S2.define('jquery.select2',[ + 'jquery', + 'jquery-mousewheel', + + './select2/core', + './select2/defaults' +], function ($, _, Select2, Defaults) { + if ($.fn.select2 == null) { + // All methods that should return the element + var thisMethods = ['open', 'close', 'destroy']; + + $.fn.select2 = function (options) { + options = options || {}; + + if (typeof options === 'object') { + this.each(function () { + var instanceOptions = $.extend(true, {}, options); + + var instance = new Select2($(this), instanceOptions); + }); + + return this; + } else if (typeof options === 'string') { + var ret; + var args = Array.prototype.slice.call(arguments, 1); + + this.each(function () { + var instance = $(this).data('select2'); + + if (instance == null && window.console && console.error) { + console.error( + 'The select2(\'' + options + '\') method was called on an ' + + 'element that is not using Select2.' + ); + } + + ret = instance[options].apply(instance, args); + }); + + // Check if we should be returning `this` + if ($.inArray(options, thisMethods) > -1) { + return this; + } + + return ret; + } else { + throw new Error('Invalid arguments for Select2: ' + options); + } + }; + } + + if ($.fn.select2.defaults == null) { + $.fn.select2.defaults = Defaults; + } + + return Select2; +}); + + // Return the AMD loader configuration so it can be used outside of this file + return { + define: S2.define, + require: S2.require + }; +}()); + + // Autoload the jQuery bindings + // We know that all of the modules exist above this, so we're safe + var select2 = S2.require('jquery.select2'); + + // Hold the AMD module references on the jQuery function that was just loaded + // This allows Select2 to use the internal loader outside of this file, such + // as in the language files. + jQuery.fn.select2.amd = S2; + + // Return the Select2 instance for anyone who is importing it. + return select2; +})); diff --git a/framework/reon/assets/js/select2/js/select2.min.js b/framework/reon/assets/js/select2/js/select2.min.js new file mode 100644 index 0000000..881c9cc --- /dev/null +++ b/framework/reon/assets/js/select2/js/select2.min.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;hc;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('
          ');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('
        • '),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html(''),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('
            '),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('
          • ×
          • ');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e0||0===c.length)){var d=a('×');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"â’¶":"A","A":"A","Ă€":"A","Ă":"A","Ă‚":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ăƒ":"A","Ä€":"A","Ä‚":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ç ":"A","Ă„":"A","Ç":"A","Ả":"A","Ă…":"A","Ǻ":"A","Ç":"A","È€":"A","È‚":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ä„":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ç¢":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","â’·":"B","ï¼¢":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Æ‚":"B","Æ":"B","â’¸":"C","ï¼£":"C","Ć":"C","Ĉ":"C","Ä":"C","ÄŒ":"C","Ç":"C","Ḉ":"C","Ƈ":"C","È»":"C","Ꜿ":"C","â’¹":"D","D":"D","á¸":"D","Ä":"D","Ḍ":"D","á¸":"D","Ḓ":"D","á¸":"D","Ä":"D","Æ‹":"D","Æ":"D","Ɖ":"D","ê¹":"D","DZ":"DZ","Ç„":"DZ","Dz":"Dz","Ç…":"Dz","â’º":"E","ï¼¥":"E","Ăˆ":"E","É":"E","Ă":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ä’":"E","Ḕ":"E","Ḗ":"E","Ä”":"E","Ä–":"E","Ă‹":"E","Ẻ":"E","Ä":"E","È„":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","á¸":"E","Æ":"E","Æ":"E","â’»":"F","F":"F","á¸":"F","Æ‘":"F","ê»":"F","â’¼":"G","G":"G","Ç´":"G","Äœ":"G","Ḡ":"G","Ä":"G","Ä ":"G","Ǧ":"G","Ä¢":"G","Ǥ":"G","Æ“":"G","ê ":"G","ê½":"G","ê¾":"G","â’½":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","È":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","â±µ":"H","ê":"H","â’¾":"I","I":"I","ĂŒ":"I","Ă":"I","Ă":"I","Ĩ":"I","Ī":"I","Ĭ":"I","Ä°":"I","Ă":"I","Ḯ":"I","Ỉ":"I","Ç":"I","Ȉ":"I","È":"I","á»":"I","Ä®":"I","Ḭ":"I","Æ—":"I","â’¿":"J","J":"J","Ä´":"J","Ɉ":"J","â“€":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","ê€":"K","ê‚":"K","ê„":"K","ê¢":"K","â“":"L","L":"L","Ä¿":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ä»":"L","Ḽ":"L","Ḻ":"L","Å":"L","Ƚ":"L","â±¢":"L","â± ":"L","êˆ":"L","ê†":"L","ê€":"L","LJ":"LJ","Lj":"Lj","â“‚":"M","ï¼­":"M","Ḿ":"M","á¹€":"M","Ṃ":"M","â±®":"M","Æœ":"M","Ⓝ":"N","ï¼®":"N","Ǹ":"N","Ń":"N","Ă‘":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Å…":"N","á¹":"N","Ṉ":"N","È ":"N","Æ":"N","ê":"N","ê¤":"N","Ç":"NJ","Ç‹":"Nj","â“„":"O","O":"O","Ă’":"O","Ă“":"O","Ă”":"O","á»’":"O","á»":"O","á»–":"O","á»”":"O","Ă•":"O","Ṍ":"O","Ȭ":"O","á¹":"O","ÅŒ":"O","á¹":"O","á¹’":"O","Å":"O","È®":"O","È°":"O","Ă–":"O","Ȫ":"O","á»":"O","Å":"O","Ç‘":"O","ÈŒ":"O","È":"O","Æ ":"O","Ờ":"O","á»":"O","á» ":"O","á»":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ă˜":"O","Ǿ":"O","Ɔ":"O","ÆŸ":"O","ê":"O","êŒ":"O","Æ¢":"OI","ê":"OO","È¢":"OU","â“…":"P","ï¼°":"P","á¹”":"P","á¹–":"P","Ƥ":"P","â±£":"P","ê":"P","ê’":"P","ê”":"P","Ⓠ":"Q","ï¼±":"Q","ê–":"Q","ê˜":"Q","É":"Q","Ⓡ":"R","ï¼²":"R","Å”":"R","Ṙ":"R","Ř":"R","È":"R","È’":"R","á¹":"R","Ṝ":"R","Å–":"R","á¹":"R","ÉŒ":"R","Ɽ":"R","ê":"R","ê¦":"R","ê‚":"R","Ⓢ":"S","ï¼³":"S","áº":"S","Å":"S","Ṥ":"S","Åœ":"S","á¹ ":"S","Å ":"S","Ṧ":"S","á¹¢":"S","Ṩ":"S","Ș":"S","Å":"S","â±¾":"S","ê¨":"S","ê„":"S","Ⓣ":"T","ï¼´":"T","Ṫ":"T","Ť":"T","Ṭ":"T","È":"T","Å¢":"T","á¹°":"T","á¹®":"T","Ŧ":"T","Ƭ":"T","Æ®":"T","Ⱦ":"T","ê†":"T","Ꜩ":"TZ","â“":"U","ï¼µ":"U","Ă™":"U","Ă":"U","Ă›":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ăœ":"U","Ç›":"U","Ç—":"U","Ç•":"U","Ç™":"U","Ủ":"U","Å®":"U","Å°":"U","Ç“":"U","È”":"U","È–":"U","Ư":"U","Ừ":"U","Ứ":"U","á»®":"U","Ử":"U","á»°":"U","Ụ":"U","á¹²":"U","Ų":"U","Ṷ":"U","á¹´":"U","É„":"U","â“‹":"V","V":"V","á¹¼":"V","á¹¾":"V","Ʋ":"V","ê":"V","É…":"V","ê ":"VY","â“Œ":"W","ï¼·":"W","Ẁ":"W","Ẃ":"W","Å´":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","â±²":"W","â“":"X","X":"X","áº":"X","Ẍ":"X","â“":"Y","ï¼¹":"Y","Ỳ":"Y","Ă":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","áº":"Y","Ÿ":"Y","Ỷ":"Y","á»´":"Y","Ƴ":"Y","É":"Y","Ỿ":"Y","â“":"Z","Z":"Z","Ź":"Z","áº":"Z","Å»":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","ê¢":"Z","â“":"a","ï½":"a","áº":"a","Ă ":"a","Ă¡":"a","Ă¢":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","Ă£":"a","Ä":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","Ç¡":"a","ä":"a","ÇŸ":"a","ả":"a","Ă¥":"a","Ç»":"a","Ç":"a","È":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","á¸":"a","Ä…":"a","â±¥":"a","É":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","Ç£":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","â“‘":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","Æ€":"b","ƃ":"b","É“":"b","â“’":"c","c":"c","ć":"c","ĉ":"c","Ä‹":"c","Ä":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","â““":"d","d":"d","ḋ":"d","Ä":"d","á¸":"d","ḑ":"d","ḓ":"d","á¸":"d","Ä‘":"d","ÆŒ":"d","É–":"d","É—":"d","êº":"d","dz":"dz","dž":"dz","â“”":"e","ï½…":"e","è":"e","Ă©":"e","Ăª":"e","á»":"e","ế":"e","á»…":"e","ể":"e","ẽ":"e","Ä“":"e","ḕ":"e","ḗ":"e","Ä•":"e","Ä—":"e","Ă«":"e","ẻ":"e","Ä›":"e","È…":"e","ȇ":"e","ẹ":"e","ệ":"e","È©":"e","á¸":"e","Ä™":"e","ḙ":"e","ḛ":"e","ɇ":"e","É›":"e","Ç":"e","â“•":"f","f":"f","ḟ":"f","Æ’":"f","ê¼":"f","â“–":"g","g":"g","ǵ":"g","Ä":"g","ḡ":"g","ÄŸ":"g","Ä¡":"g","ǧ":"g","Ä£":"g","Ç¥":"g","É ":"g","ê¡":"g","áµ¹":"g","ê¿":"g","â“—":"h","h":"h","Ä¥":"h","ḣ":"h","ḧ":"h","ÈŸ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","É¥":"h","Æ•":"hv","ⓘ":"i","i":"i","ì":"i","Ă­":"i","Ă®":"i","Ä©":"i","Ä«":"i","Ä­":"i","Ă¯":"i","ḯ":"i","ỉ":"i","Ç":"i","ȉ":"i","È‹":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","â“™":"j","ï½":"j","ĵ":"j","Ç°":"j","ɉ":"j","â“":"k","k":"k","ḱ":"k","Ç©":"k","ḳ":"k","Ä·":"k","ḵ":"k","Æ™":"k","ⱪ":"k","ê":"k","êƒ":"k","ê…":"k","ê£":"k","â“›":"l","l":"l","Å€":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","Å¿":"l","Å‚":"l","Æ":"l","É«":"l","ⱡ":"l","ê‰":"l","ê":"l","ê‡":"l","lj":"lj","â“œ":"m","ï½":"m","ḿ":"m","á¹":"m","ṃ":"m","ɱ":"m","ɯ":"m","â“":"n","ï½":"n","ǹ":"n","Å„":"n","ñ":"n","á¹…":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","Æ":"n","ɲ":"n","ʼn":"n","ê‘":"n","ê¥":"n","ÇŒ":"nj","â“":"o","ï½":"o","Ă²":"o","Ă³":"o","Ă´":"o","ồ":"o","ố":"o","á»—":"o","ổ":"o","õ":"o","á¹":"o","È­":"o","á¹":"o","Å":"o","ṑ":"o","ṓ":"o","Å":"o","ȯ":"o","ȱ":"o","ö":"o","È«":"o","á»":"o","Å‘":"o","Ç’":"o","È":"o","È":"o","Æ¡":"o","á»":"o","á»›":"o","ỡ":"o","ở":"o","ợ":"o","á»":"o","á»™":"o","Ç«":"o","Ç­":"o","ø":"o","Ç¿":"o","É”":"o","ê‹":"o","ê":"o","ɵ":"o","Æ£":"oi","È£":"ou","ê":"oo","â“Ÿ":"p","ï½":"p","ṕ":"p","á¹—":"p","Æ¥":"p","áµ½":"p","ê‘":"p","ê“":"p","ê•":"p","â“ ":"q","q":"q","É‹":"q","ê—":"q","ê™":"q","â“¡":"r","ï½’":"r","Å•":"r","á¹™":"r","Å™":"r","È‘":"r","È“":"r","á¹›":"r","á¹":"r","Å—":"r","ṟ":"r","É":"r","ɽ":"r","ê›":"r","ê§":"r","êƒ":"r","â“¢":"s","s":"s","ĂŸ":"s","Å›":"s","á¹¥":"s","Å":"s","ṡ":"s","Å¡":"s","ṧ":"s","á¹£":"s","ṩ":"s","È™":"s","ÅŸ":"s","È¿":"s","ê©":"s","ê…":"s","ẛ":"s","â“£":"t","ï½”":"t","ṫ":"t","ẗ":"t","Å¥":"t","á¹­":"t","È›":"t","Å£":"t","á¹±":"t","ṯ":"t","ŧ":"t","Æ­":"t","ʈ":"t","ⱦ":"t","ê‡":"t","ꜩ":"tz","ⓤ":"u","u":"u","Ă¹":"u","Ăº":"u","Ă»":"u","Å©":"u","á¹¹":"u","Å«":"u","á¹»":"u","Å­":"u","Ă¼":"u","Çœ":"u","ǘ":"u","Ç–":"u","Ç":"u","ủ":"u","ů":"u","ű":"u","Ç”":"u","È•":"u","È—":"u","Æ°":"u","ừ":"u","ứ":"u","ữ":"u","á»­":"u","á»±":"u","ụ":"u","á¹³":"u","ų":"u","á¹·":"u","á¹µ":"u","ʉ":"u","â“¥":"v","ï½–":"v","á¹½":"v","ṿ":"v","Ê‹":"v","êŸ":"v","ÊŒ":"v","ê¡":"vy","ⓦ":"w","ï½—":"w","áº":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","â±³":"w","ⓧ":"x","x":"x","ẋ":"x","áº":"x","ⓨ":"y","ï½™":"y","ỳ":"y","Ă½":"y","Å·":"y","ỹ":"y","ȳ":"y","áº":"y","Ă¿":"y","á»·":"y","ẙ":"y","ỵ":"y","Æ´":"y","É":"y","ỿ":"y","â“©":"z","ï½":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","È¥":"z","É€":"z","ⱬ":"z","ê£":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Î":"Ι","Ϊ":"Ι","ÎŒ":"Ο","Î":"Î¥","Ϋ":"Î¥","Î":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","Ï":"ι","Î":"ι","ÏŒ":"ο","Ï":"Ï…","Ï‹":"Ï…","ΰ":"Ï…","ω":"ω","Ï‚":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){ +var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('
          • '),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a(""),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.topf.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"), +this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c}); \ No newline at end of file diff --git a/framework/reon/assets/js/spectrum.js b/framework/reon/assets/js/spectrum.js new file mode 100644 index 0000000..7200978 --- /dev/null +++ b/framework/reon/assets/js/spectrum.js @@ -0,0 +1,2323 @@ +// Spectrum Colorpicker v1.8.0 +// https://github.com/bgrins/spectrum +// Author: Brian Grinstead +// License: MIT + +(function (factory) { + "use strict"; + + if (typeof define === 'function' && define.amd) { // AMD + define(['jquery'], factory); + } + else if (typeof exports == "object" && typeof module == "object") { // CommonJS + module.exports = factory(require('jquery')); + } + else { // Browser + factory(jQuery); + } +})(function($, undefined) { + "use strict"; + + var defaultOpts = { + + // Callbacks + beforeShow: noop, + move: noop, + change: noop, + show: noop, + hide: noop, + + // Options + color: false, + flat: false, + showInput: false, + allowEmpty: false, + showButtons: true, + clickoutFiresChange: true, + showInitial: false, + showPalette: false, + showPaletteOnly: false, + hideAfterPaletteSelect: false, + togglePaletteOnly: false, + showSelectionPalette: true, + localStorageKey: false, + appendTo: "body", + maxSelectionSize: 7, + cancelText: "cancel", + chooseText: "choose", + togglePaletteMoreText: "more", + togglePaletteLessText: "less", + clearText: "Clear Color Selection", + noColorSelectedText: "No Color Selected", + preferredFormat: false, + className: "", // Deprecated - use containerClassName and replacerClassName instead. + containerClassName: "", + replacerClassName: "", + showAlpha: false, + theme: "sp-light", + palette: [["#ffffff", "#000000", "#ff0000", "#ff8000", "#ffff00", "#008000", "#0000ff", "#4b0082", "#9400d3"]], + selectionPalette: [], + disabled: false, + offset: null + }, + spectrums = [], + IE = !!/msie/i.exec( window.navigator.userAgent ), + rgbaSupport = (function() { + function contains( str, substr ) { + return !!~('' + str).indexOf(substr); + } + + var elem = document.createElement('div'); + var style = elem.style; + style.cssText = 'background-color:rgba(0,0,0,.5)'; + return contains(style.backgroundColor, 'rgba') || contains(style.backgroundColor, 'hsla'); + })(), + replaceInput = [ + "
            ", + "
            ", + "
            ", + "
            " + ].join(''), + markup = (function () { + + // IE does not support gradients with multiple stops, so we need to simulate + // that for the rainbow slider with 8 divs that each have a single gradient + var gradientFix = ""; + if (IE) { + for (var i = 1; i <= 6; i++) { + gradientFix += "
            "; + } + } + + return [ + "
            ", + "
            ", + "
            ", + "
            ", + "", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + gradientFix, + "
            ", + "
            ", + "
            ", + "
            ", + "
            ", + "", + "
            ", + "
            ", + "
            ", + "", + "", + "
            ", + "
            ", + "
            " + ].join(""); + })(); + + function paletteTemplate (p, color, className, opts) { + var html = []; + for (var i = 0; i < p.length; i++) { + var current = p[i]; + if(current) { + var tiny = tinycolor(current); + var c = tiny.toHsl().l < 0.5 ? "sp-thumb-el sp-thumb-dark" : "sp-thumb-el sp-thumb-light"; + c += (tinycolor.equals(color, current)) ? " sp-thumb-active" : ""; + var formattedString = tiny.toString(opts.preferredFormat || "rgb"); + var swatchStyle = rgbaSupport ? ("background-color:" + tiny.toRgbString()) : "filter:" + tiny.toFilter(); + html.push(''); + } else { + var cls = 'sp-clear-display'; + html.push($('
            ') + .append($('') + .attr('title', opts.noColorSelectedText) + ) + .html() + ); + } + } + return "
            " + html.join('') + "
            "; + } + + function hideAll() { + for (var i = 0; i < spectrums.length; i++) { + if (spectrums[i]) { + spectrums[i].hide(); + } + } + } + + function instanceOptions(o, callbackContext) { + var opts = $.extend({}, defaultOpts, o); + opts.callbacks = { + 'move': bind(opts.move, callbackContext), + 'change': bind(opts.change, callbackContext), + 'show': bind(opts.show, callbackContext), + 'hide': bind(opts.hide, callbackContext), + 'beforeShow': bind(opts.beforeShow, callbackContext) + }; + + return opts; + } + + function spectrum(element, o) { + + var opts = instanceOptions(o, element), + flat = opts.flat, + showSelectionPalette = opts.showSelectionPalette, + localStorageKey = opts.localStorageKey, + theme = opts.theme, + callbacks = opts.callbacks, + resize = throttle(reflow, 10), + visible = false, + isDragging = false, + dragWidth = 0, + dragHeight = 0, + dragHelperHeight = 0, + slideHeight = 0, + slideWidth = 0, + alphaWidth = 0, + alphaSlideHelperWidth = 0, + slideHelperHeight = 0, + currentHue = 0, + currentSaturation = 0, + currentValue = 0, + currentAlpha = 1, + palette = [], + paletteArray = [], + paletteLookup = {}, + selectionPalette = opts.selectionPalette.slice(0), + maxSelectionSize = opts.maxSelectionSize, + draggingClass = "sp-dragging", + shiftMovementDirection = null; + + var doc = element.ownerDocument, + body = doc.body, + boundElement = $(element), + disabled = false, + container = $(markup, doc).addClass(theme), + pickerContainer = container.find(".sp-picker-container"), + dragger = container.find(".sp-color"), + dragHelper = container.find(".sp-dragger"), + slider = container.find(".sp-hue"), + slideHelper = container.find(".sp-slider"), + alphaSliderInner = container.find(".sp-alpha-inner"), + alphaSlider = container.find(".sp-alpha"), + alphaSlideHelper = container.find(".sp-alpha-handle"), + textInput = container.find(".sp-input"), + paletteContainer = container.find(".sp-palette"), + initialColorContainer = container.find(".sp-initial"), + cancelButton = container.find(".sp-cancel"), + clearButton = container.find(".sp-clear"), + chooseButton = container.find(".sp-choose"), + toggleButton = container.find(".sp-palette-toggle"), + isInput = boundElement.is("input"), + isInputTypeColor = isInput && boundElement.attr("type") === "color" && inputTypeColorSupport(), + shouldReplace = isInput && !flat, + replacer = (shouldReplace) ? $(replaceInput).addClass(theme).addClass(opts.className).addClass(opts.replacerClassName) : $([]), + offsetElement = (shouldReplace) ? replacer : boundElement, + previewElement = replacer.find(".sp-preview-inner"), + initialColor = opts.color || (isInput && boundElement.val()), + colorOnShow = false, + currentPreferredFormat = opts.preferredFormat, + clickoutFiresChange = !opts.showButtons || opts.clickoutFiresChange, + isEmpty = !initialColor, + allowEmpty = opts.allowEmpty && !isInputTypeColor; + + function applyOptions() { + + if (opts.showPaletteOnly) { + opts.showPalette = true; + } + + toggleButton.text(opts.showPaletteOnly ? opts.togglePaletteMoreText : opts.togglePaletteLessText); + + if (opts.palette) { + palette = opts.palette.slice(0); + paletteArray = $.isArray(palette[0]) ? palette : [palette]; + paletteLookup = {}; + for (var i = 0; i < paletteArray.length; i++) { + for (var j = 0; j < paletteArray[i].length; j++) { + var rgb = tinycolor(paletteArray[i][j]).toRgbString(); + paletteLookup[rgb] = true; + } + } + } + + container.toggleClass("sp-flat", flat); + container.toggleClass("sp-input-disabled", !opts.showInput); + container.toggleClass("sp-alpha-enabled", opts.showAlpha); + container.toggleClass("sp-clear-enabled", allowEmpty); + container.toggleClass("sp-buttons-disabled", !opts.showButtons); + container.toggleClass("sp-palette-buttons-disabled", !opts.togglePaletteOnly); + container.toggleClass("sp-palette-disabled", !opts.showPalette); + container.toggleClass("sp-palette-only", opts.showPaletteOnly); + container.toggleClass("sp-initial-disabled", !opts.showInitial); + container.addClass(opts.className).addClass(opts.containerClassName); + + reflow(); + } + + function initialize() { + + if (IE) { + container.find("*:not(input)").attr("unselectable", "on"); + } + + applyOptions(); + + if (shouldReplace) { + boundElement.after(replacer).hide(); + } + + if (!allowEmpty) { + clearButton.hide(); + } + + if (flat) { + boundElement.after(container).hide(); + } + else { + + var appendTo = opts.appendTo === "parent" ? boundElement.parent() : $(opts.appendTo); + if (appendTo.length !== 1) { + appendTo = $("body"); + } + + appendTo.append(container); + } + + updateSelectionPaletteFromStorage(); + + offsetElement.bind("click.spectrum touchstart.spectrum", function (e) { + if (!disabled) { + toggle(); + } + + e.stopPropagation(); + + if (!$(e.target).is("input")) { + e.preventDefault(); + } + }); + + if(boundElement.is(":disabled") || (opts.disabled === true)) { + disable(); + } + + // Prevent clicks from bubbling up to document. This would cause it to be hidden. + container.click(stopPropagation); + + // Handle user typed input + textInput.change(setFromTextInput); + textInput.bind("paste", function () { + setTimeout(setFromTextInput, 1); + }); + textInput.keydown(function (e) { if (e.keyCode == 13) { setFromTextInput(); } }); + + cancelButton.text(opts.cancelText); + cancelButton.bind("click.spectrum", function (e) { + e.stopPropagation(); + e.preventDefault(); + revert(); + hide(); + }); + + clearButton.attr("title", opts.clearText); + clearButton.bind("click.spectrum", function (e) { + e.stopPropagation(); + e.preventDefault(); + isEmpty = true; + move(); + + if(flat) { + //for the flat style, this is a change event + updateOriginalInput(true); + } + }); + + chooseButton.text(opts.chooseText); + chooseButton.bind("click.spectrum", function (e) { + e.stopPropagation(); + e.preventDefault(); + + if (IE && textInput.is(":focus")) { + textInput.trigger('change'); + } + + if (isValid()) { + updateOriginalInput(true); + hide(); + } + }); + + toggleButton.text(opts.showPaletteOnly ? opts.togglePaletteMoreText : opts.togglePaletteLessText); + toggleButton.bind("click.spectrum", function (e) { + e.stopPropagation(); + e.preventDefault(); + + opts.showPaletteOnly = !opts.showPaletteOnly; + + // To make sure the Picker area is drawn on the right, next to the + // Palette area (and not below the palette), first move the Palette + // to the left to make space for the picker, plus 5px extra. + // The 'applyOptions' function puts the whole container back into place + // and takes care of the button-text and the sp-palette-only CSS class. + if (!opts.showPaletteOnly && !flat) { + container.css('left', '-=' + (pickerContainer.outerWidth(true) + 5)); + } + applyOptions(); + }); + + draggable(alphaSlider, function (dragX, dragY, e) { + currentAlpha = (dragX / alphaWidth); + isEmpty = false; + if (e.shiftKey) { + currentAlpha = Math.round(currentAlpha * 10) / 10; + } + + move(); + }, dragStart, dragStop); + + draggable(slider, function (dragX, dragY) { + currentHue = parseFloat(dragY / slideHeight); + isEmpty = false; + if (!opts.showAlpha) { + currentAlpha = 1; + } + move(); + }, dragStart, dragStop); + + draggable(dragger, function (dragX, dragY, e) { + + // shift+drag should snap the movement to either the x or y axis. + if (!e.shiftKey) { + shiftMovementDirection = null; + } + else if (!shiftMovementDirection) { + var oldDragX = currentSaturation * dragWidth; + var oldDragY = dragHeight - (currentValue * dragHeight); + var furtherFromX = Math.abs(dragX - oldDragX) > Math.abs(dragY - oldDragY); + + shiftMovementDirection = furtherFromX ? "x" : "y"; + } + + var setSaturation = !shiftMovementDirection || shiftMovementDirection === "x"; + var setValue = !shiftMovementDirection || shiftMovementDirection === "y"; + + if (setSaturation) { + currentSaturation = parseFloat(dragX / dragWidth); + } + if (setValue) { + currentValue = parseFloat((dragHeight - dragY) / dragHeight); + } + + isEmpty = false; + if (!opts.showAlpha) { + currentAlpha = 1; + } + + move(); + + }, dragStart, dragStop); + + if (!!initialColor) { + set(initialColor); + + // In case color was black - update the preview UI and set the format + // since the set function will not run (default color is black). + updateUI(); + currentPreferredFormat = opts.preferredFormat || tinycolor(initialColor).format; + + addColorToSelectionPalette(initialColor); + } + else { + updateUI(); + } + + if (flat) { + show(); + } + + function paletteElementClick(e) { + if (e.data && e.data.ignore) { + set($(e.target).closest(".sp-thumb-el").data("color")); + move(); + } + else { + set($(e.target).closest(".sp-thumb-el").data("color")); + move(); + updateOriginalInput(true); + if (opts.hideAfterPaletteSelect) { + hide(); + } + } + + return false; + } + + var paletteEvent = IE ? "mousedown.spectrum" : "click.spectrum touchstart.spectrum"; + paletteContainer.delegate(".sp-thumb-el", paletteEvent, paletteElementClick); + initialColorContainer.delegate(".sp-thumb-el:nth-child(1)", paletteEvent, { ignore: true }, paletteElementClick); + } + + function updateSelectionPaletteFromStorage() { + + if (localStorageKey && window.localStorage) { + + // Migrate old palettes over to new format. May want to remove this eventually. + try { + var oldPalette = window.localStorage[localStorageKey].split(",#"); + if (oldPalette.length > 1) { + delete window.localStorage[localStorageKey]; + $.each(oldPalette, function(i, c) { + addColorToSelectionPalette(c); + }); + } + } + catch(e) { } + + try { + selectionPalette = window.localStorage[localStorageKey].split(";"); + } + catch (e) { } + } + } + + function addColorToSelectionPalette(color) { + if (showSelectionPalette) { + var rgb = tinycolor(color).toRgbString(); + if (!paletteLookup[rgb] && $.inArray(rgb, selectionPalette) === -1) { + selectionPalette.push(rgb); + while(selectionPalette.length > maxSelectionSize) { + selectionPalette.shift(); + } + } + + if (localStorageKey && window.localStorage) { + try { + window.localStorage[localStorageKey] = selectionPalette.join(";"); + } + catch(e) { } + } + } + } + + function getUniqueSelectionPalette() { + var unique = []; + if (opts.showPalette) { + for (var i = 0; i < selectionPalette.length; i++) { + var rgb = tinycolor(selectionPalette[i]).toRgbString(); + + if (!paletteLookup[rgb]) { + unique.push(selectionPalette[i]); + } + } + } + + return unique.reverse().slice(0, opts.maxSelectionSize); + } + + function drawPalette() { + + var currentColor = get(); + + var html = $.map(paletteArray, function (palette, i) { + return paletteTemplate(palette, currentColor, "sp-palette-row sp-palette-row-" + i, opts); + }); + + updateSelectionPaletteFromStorage(); + + if (selectionPalette) { + html.push(paletteTemplate(getUniqueSelectionPalette(), currentColor, "sp-palette-row sp-palette-row-selection", opts)); + } + + paletteContainer.html(html.join("")); + } + + function drawInitial() { + if (opts.showInitial) { + var initial = colorOnShow; + var current = get(); + initialColorContainer.html(paletteTemplate([initial, current], current, "sp-palette-row-initial", opts)); + } + } + + function dragStart() { + if (dragHeight <= 0 || dragWidth <= 0 || slideHeight <= 0) { + reflow(); + } + isDragging = true; + container.addClass(draggingClass); + shiftMovementDirection = null; + boundElement.trigger('dragstart.spectrum', [ get() ]); + } + + function dragStop() { + isDragging = false; + container.removeClass(draggingClass); + boundElement.trigger('dragstop.spectrum', [ get() ]); + } + + function setFromTextInput() { + + var value = textInput.val(); + + if ((value === null || value === "") && allowEmpty) { + set(null); + updateOriginalInput(true); + } + else { + var tiny = tinycolor(value); + if (tiny.isValid()) { + set(tiny); + updateOriginalInput(true); + } + else { + textInput.addClass("sp-validation-error"); + } + } + } + + function toggle() { + if (visible) { + hide(); + } + else { + show(); + } + } + + function show() { + var event = $.Event('beforeShow.spectrum'); + + if (visible) { + reflow(); + return; + } + + boundElement.trigger(event, [ get() ]); + + if (callbacks.beforeShow(get()) === false || event.isDefaultPrevented()) { + return; + } + + hideAll(); + visible = true; + + $(doc).bind("keydown.spectrum", onkeydown); + $(doc).bind("click.spectrum", clickout); + $(window).bind("resize.spectrum", resize); + replacer.addClass("sp-active"); + container.removeClass("sp-hidden"); + + reflow(); + updateUI(); + + colorOnShow = get(); + + drawInitial(); + callbacks.show(colorOnShow); + boundElement.trigger('show.spectrum', [ colorOnShow ]); + } + + function onkeydown(e) { + // Close on ESC + if (e.keyCode === 27) { + hide(); + } + } + + function clickout(e) { + // Return on right click. + if (e.button == 2) { return; } + + // If a drag event was happening during the mouseup, don't hide + // on click. + if (isDragging) { return; } + + if (clickoutFiresChange) { + updateOriginalInput(true); + } + else { + revert(); + } + hide(); + } + + function hide() { + // Return if hiding is unnecessary + if (!visible || flat) { return; } + visible = false; + + $(doc).unbind("keydown.spectrum", onkeydown); + $(doc).unbind("click.spectrum", clickout); + $(window).unbind("resize.spectrum", resize); + + replacer.removeClass("sp-active"); + container.addClass("sp-hidden"); + + callbacks.hide(get()); + boundElement.trigger('hide.spectrum', [ get() ]); + } + + function revert() { + set(colorOnShow, true); + } + + function set(color, ignoreFormatChange) { + if (tinycolor.equals(color, get())) { + // Update UI just in case a validation error needs + // to be cleared. + updateUI(); + return; + } + + var newColor, newHsv; + if (!color && allowEmpty) { + isEmpty = true; + } else { + isEmpty = false; + newColor = tinycolor(color); + newHsv = newColor.toHsv(); + + currentHue = (newHsv.h % 360) / 360; + currentSaturation = newHsv.s; + currentValue = newHsv.v; + currentAlpha = newHsv.a; + } + updateUI(); + + if (newColor && newColor.isValid() && !ignoreFormatChange) { + currentPreferredFormat = opts.preferredFormat || newColor.getFormat(); + } + } + + function get(opts) { + opts = opts || { }; + + if (allowEmpty && isEmpty) { + return null; + } + + return tinycolor.fromRatio({ + h: currentHue, + s: currentSaturation, + v: currentValue, + a: Math.round(currentAlpha * 100) / 100 + }, { format: opts.format || currentPreferredFormat }); + } + + function isValid() { + return !textInput.hasClass("sp-validation-error"); + } + + function move() { + updateUI(); + + callbacks.move(get()); + boundElement.trigger('move.spectrum', [ get() ]); + } + + function updateUI() { + + textInput.removeClass("sp-validation-error"); + + updateHelperLocations(); + + // Update dragger background color (gradients take care of saturation and value). + var flatColor = tinycolor.fromRatio({ h: currentHue, s: 1, v: 1 }); + dragger.css("background-color", flatColor.toHexString()); + + // Get a format that alpha will be included in (hex and names ignore alpha) + var format = currentPreferredFormat; + if (currentAlpha < 1 && !(currentAlpha === 0 && format === "name")) { + if (format === "hex" || format === "hex3" || format === "hex6" || format === "name") { + format = "rgb"; + } + } + + var realColor = get({ format: format }), + displayColor = ''; + + //reset background info for preview element + previewElement.removeClass("sp-clear-display"); + previewElement.css('background-color', 'transparent'); + + if (!realColor && allowEmpty) { + // Update the replaced elements background with icon indicating no color selection + previewElement.addClass("sp-clear-display"); + } + else { + var realHex = realColor.toHexString(), + realRgb = realColor.toRgbString(); + + // Update the replaced elements background color (with actual selected color) + if (rgbaSupport || realColor.alpha === 1) { + previewElement.css("background-color", realRgb); + } + else { + previewElement.css("background-color", "transparent"); + previewElement.css("filter", realColor.toFilter()); + } + + if (opts.showAlpha) { + var rgb = realColor.toRgb(); + rgb.a = 0; + var realAlpha = tinycolor(rgb).toRgbString(); + var gradient = "linear-gradient(left, " + realAlpha + ", " + realHex + ")"; + + if (IE) { + alphaSliderInner.css("filter", tinycolor(realAlpha).toFilter({ gradientType: 1 }, realHex)); + } + else { + alphaSliderInner.css("background", "-webkit-" + gradient); + alphaSliderInner.css("background", "-moz-" + gradient); + alphaSliderInner.css("background", "-ms-" + gradient); + // Use current syntax gradient on unprefixed property. + alphaSliderInner.css("background", + "linear-gradient(to right, " + realAlpha + ", " + realHex + ")"); + } + } + + displayColor = realColor.toString(format); + } + + // Update the text entry input as it changes happen + if (opts.showInput) { + textInput.val(displayColor); + } + + if (opts.showPalette) { + drawPalette(); + } + + drawInitial(); + } + + function updateHelperLocations() { + var s = currentSaturation; + var v = currentValue; + + if(allowEmpty && isEmpty) { + //if selected color is empty, hide the helpers + alphaSlideHelper.hide(); + slideHelper.hide(); + dragHelper.hide(); + } + else { + //make sure helpers are visible + alphaSlideHelper.show(); + slideHelper.show(); + dragHelper.show(); + + // Where to show the little circle in that displays your current selected color + var dragX = s * dragWidth; + var dragY = dragHeight - (v * dragHeight); + dragX = Math.max( + -dragHelperHeight, + Math.min(dragWidth - dragHelperHeight, dragX - dragHelperHeight) + ); + dragY = Math.max( + -dragHelperHeight, + Math.min(dragHeight - dragHelperHeight, dragY - dragHelperHeight) + ); + dragHelper.css({ + "top": dragY + "px", + "left": dragX + "px" + }); + + var alphaX = currentAlpha * alphaWidth; + alphaSlideHelper.css({ + "left": (alphaX - (alphaSlideHelperWidth / 2)) + "px" + }); + + // Where to show the bar that displays your current selected hue + var slideY = (currentHue) * slideHeight; + slideHelper.css({ + "top": (slideY - slideHelperHeight) + "px" + }); + } + } + + function updateOriginalInput(fireCallback) { + var color = get(), + displayColor = '', + hasChanged = !tinycolor.equals(color, colorOnShow); + + if (color) { + displayColor = color.toString(currentPreferredFormat); + // Update the selection palette with the current color + addColorToSelectionPalette(color); + } + + if (isInput) { + boundElement.val(displayColor); + } + + if (fireCallback && hasChanged) { + callbacks.change(color); + boundElement.trigger('change', [ color ]); + } + } + + function reflow() { + if (!visible) { + return; // Calculations would be useless and wouldn't be reliable anyways + } + dragWidth = dragger.width(); + dragHeight = dragger.height(); + dragHelperHeight = dragHelper.height(); + slideWidth = slider.width(); + slideHeight = slider.height(); + slideHelperHeight = slideHelper.height(); + alphaWidth = alphaSlider.width(); + alphaSlideHelperWidth = alphaSlideHelper.width(); + + if (!flat) { + container.css("position", "absolute"); + if (opts.offset) { + container.offset(opts.offset); + } else { + container.offset(getOffset(container, offsetElement)); + } + } + + updateHelperLocations(); + + if (opts.showPalette) { + drawPalette(); + } + + boundElement.trigger('reflow.spectrum'); + } + + function destroy() { + boundElement.show(); + offsetElement.unbind("click.spectrum touchstart.spectrum"); + container.remove(); + replacer.remove(); + spectrums[spect.id] = null; + } + + function option(optionName, optionValue) { + if (optionName === undefined) { + return $.extend({}, opts); + } + if (optionValue === undefined) { + return opts[optionName]; + } + + opts[optionName] = optionValue; + + if (optionName === "preferredFormat") { + currentPreferredFormat = opts.preferredFormat; + } + applyOptions(); + } + + function enable() { + disabled = false; + boundElement.attr("disabled", false); + offsetElement.removeClass("sp-disabled"); + } + + function disable() { + hide(); + disabled = true; + boundElement.attr("disabled", true); + offsetElement.addClass("sp-disabled"); + } + + function setOffset(coord) { + opts.offset = coord; + reflow(); + } + + initialize(); + + var spect = { + show: show, + hide: hide, + toggle: toggle, + reflow: reflow, + option: option, + enable: enable, + disable: disable, + offset: setOffset, + set: function (c) { + set(c); + updateOriginalInput(); + }, + get: get, + destroy: destroy, + container: container + }; + + spect.id = spectrums.push(spect) - 1; + + return spect; + } + + /** + * checkOffset - get the offset below/above and left/right element depending on screen position + * Thanks https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.datepicker.js + */ + function getOffset(picker, input) { + var extraY = 0; + var dpWidth = picker.outerWidth(); + var dpHeight = picker.outerHeight(); + var inputHeight = input.outerHeight(); + var doc = picker[0].ownerDocument; + var docElem = doc.documentElement; + var viewWidth = docElem.clientWidth + $(doc).scrollLeft(); + var viewHeight = docElem.clientHeight + $(doc).scrollTop(); + var offset = input.offset(); + offset.top += inputHeight; + + offset.left -= + Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ? + Math.abs(offset.left + dpWidth - viewWidth) : 0); + + offset.top -= + Math.min(offset.top, ((offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ? + Math.abs(dpHeight + inputHeight - extraY) : extraY)); + + return offset; + } + + /** + * noop - do nothing + */ + function noop() { + + } + + /** + * stopPropagation - makes the code only doing this a little easier to read in line + */ + function stopPropagation(e) { + e.stopPropagation(); + } + + /** + * Create a function bound to a given object + * Thanks to underscore.js + */ + function bind(func, obj) { + var slice = Array.prototype.slice; + var args = slice.call(arguments, 2); + return function () { + return func.apply(obj, args.concat(slice.call(arguments))); + }; + } + + /** + * Lightweight drag helper. Handles containment within the element, so that + * when dragging, the x is within [0,element.width] and y is within [0,element.height] + */ + function draggable(element, onmove, onstart, onstop) { + onmove = onmove || function () { }; + onstart = onstart || function () { }; + onstop = onstop || function () { }; + var doc = document; + var dragging = false; + var offset = {}; + var maxHeight = 0; + var maxWidth = 0; + var hasTouch = ('ontouchstart' in window); + + var duringDragEvents = {}; + duringDragEvents["selectstart"] = prevent; + duringDragEvents["dragstart"] = prevent; + duringDragEvents["touchmove mousemove"] = move; + duringDragEvents["touchend mouseup"] = stop; + + function prevent(e) { + if (e.stopPropagation) { + e.stopPropagation(); + } + if (e.preventDefault) { + e.preventDefault(); + } + e.returnValue = false; + } + + function move(e) { + if (dragging) { + // Mouseup happened outside of window + if (IE && doc.documentMode < 9 && !e.button) { + return stop(); + } + + var t0 = e.originalEvent && e.originalEvent.touches && e.originalEvent.touches[0]; + var pageX = t0 && t0.pageX || e.pageX; + var pageY = t0 && t0.pageY || e.pageY; + + var dragX = Math.max(0, Math.min(pageX - offset.left, maxWidth)); + var dragY = Math.max(0, Math.min(pageY - offset.top, maxHeight)); + + if (hasTouch) { + // Stop scrolling in iOS + prevent(e); + } + + onmove.apply(element, [dragX, dragY, e]); + } + } + + function start(e) { + var rightclick = (e.which) ? (e.which == 3) : (e.button == 2); + + if (!rightclick && !dragging) { + if (onstart.apply(element, arguments) !== false) { + dragging = true; + maxHeight = $(element).height(); + maxWidth = $(element).width(); + offset = $(element).offset(); + + $(doc).bind(duringDragEvents); + $(doc.body).addClass("sp-dragging"); + + move(e); + + prevent(e); + } + } + } + + function stop() { + if (dragging) { + $(doc).unbind(duringDragEvents); + $(doc.body).removeClass("sp-dragging"); + + // Wait a tick before notifying observers to allow the click event + // to fire in Chrome. + setTimeout(function() { + onstop.apply(element, arguments); + }, 0); + } + dragging = false; + } + + $(element).bind("touchstart mousedown", start); + } + + function throttle(func, wait, debounce) { + var timeout; + return function () { + var context = this, args = arguments; + var throttler = function () { + timeout = null; + func.apply(context, args); + }; + if (debounce) clearTimeout(timeout); + if (debounce || !timeout) timeout = setTimeout(throttler, wait); + }; + } + + function inputTypeColorSupport() { + return $.fn.spectrum.inputTypeColorSupport(); + } + + /** + * Define a jQuery plugin + */ + var dataID = "spectrum.id"; + $.fn.spectrum = function (opts, extra) { + + if (typeof opts == "string") { + + var returnValue = this; + var args = Array.prototype.slice.call( arguments, 1 ); + + this.each(function () { + var spect = spectrums[$(this).data(dataID)]; + if (spect) { + var method = spect[opts]; + if (!method) { + throw new Error( "Spectrum: no such method: '" + opts + "'" ); + } + + if (opts == "get") { + returnValue = spect.get(); + } + else if (opts == "container") { + returnValue = spect.container; + } + else if (opts == "option") { + returnValue = spect.option.apply(spect, args); + } + else if (opts == "destroy") { + spect.destroy(); + $(this).removeData(dataID); + } + else { + method.apply(spect, args); + } + } + }); + + return returnValue; + } + + // Initializing a new instance of spectrum + return this.spectrum("destroy").each(function () { + var options = $.extend({}, opts, $(this).data()); + var spect = spectrum(this, options); + $(this).data(dataID, spect.id); + }); + }; + + $.fn.spectrum.load = true; + $.fn.spectrum.loadOpts = {}; + $.fn.spectrum.draggable = draggable; + $.fn.spectrum.defaults = defaultOpts; + $.fn.spectrum.inputTypeColorSupport = function inputTypeColorSupport() { + if (typeof inputTypeColorSupport._cachedResult === "undefined") { + var colorInput = $("")[0]; // if color element is supported, value will default to not null + inputTypeColorSupport._cachedResult = colorInput.type === "color" && colorInput.value !== ""; + } + return inputTypeColorSupport._cachedResult; + }; + + $.spectrum = { }; + $.spectrum.localization = { }; + $.spectrum.palettes = { }; + + $.fn.spectrum.processNativeColorInputs = function () { + var colorInputs = $("input[type=color]"); + if (colorInputs.length && !inputTypeColorSupport()) { + colorInputs.spectrum({ + preferredFormat: "hex6" + }); + } + }; + + // TinyColor v1.1.2 + // https://github.com/bgrins/TinyColor + // Brian Grinstead, MIT License + + (function() { + + var trimLeft = /^[\s,#]+/, + trimRight = /\s+$/, + tinyCounter = 0, + math = Math, + mathRound = math.round, + mathMin = math.min, + mathMax = math.max, + mathRandom = math.random; + + var tinycolor = function(color, opts) { + + color = (color) ? color : ''; + opts = opts || { }; + + // If input is already a tinycolor, return itself + if (color instanceof tinycolor) { + return color; + } + // If we are called as a function, call using new instead + if (!(this instanceof tinycolor)) { + return new tinycolor(color, opts); + } + + var rgb = inputToRGB(color); + this._originalInput = color, + this._r = rgb.r, + this._g = rgb.g, + this._b = rgb.b, + this._a = rgb.a, + this._roundA = mathRound(100*this._a) / 100, + this._format = opts.format || rgb.format; + this._gradientType = opts.gradientType; + + // Don't let the range of [0,255] come back in [0,1]. + // Potentially lose a little bit of precision here, but will fix issues where + // .5 gets interpreted as half of the total, instead of half of 1 + // If it was supposed to be 128, this was already taken care of by `inputToRgb` + if (this._r < 1) { this._r = mathRound(this._r); } + if (this._g < 1) { this._g = mathRound(this._g); } + if (this._b < 1) { this._b = mathRound(this._b); } + + this._ok = rgb.ok; + this._tc_id = tinyCounter++; + }; + + tinycolor.prototype = { + isDark: function() { + return this.getBrightness() < 128; + }, + isLight: function() { + return !this.isDark(); + }, + isValid: function() { + return this._ok; + }, + getOriginalInput: function() { + return this._originalInput; + }, + getFormat: function() { + return this._format; + }, + getAlpha: function() { + return this._a; + }, + getBrightness: function() { + var rgb = this.toRgb(); + return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000; + }, + setAlpha: function(value) { + this._a = boundAlpha(value); + this._roundA = mathRound(100*this._a) / 100; + return this; + }, + toHsv: function() { + var hsv = rgbToHsv(this._r, this._g, this._b); + return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a }; + }, + toHsvString: function() { + var hsv = rgbToHsv(this._r, this._g, this._b); + var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100); + return (this._a == 1) ? + "hsv(" + h + ", " + s + "%, " + v + "%)" : + "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")"; + }, + toHsl: function() { + var hsl = rgbToHsl(this._r, this._g, this._b); + return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a }; + }, + toHslString: function() { + var hsl = rgbToHsl(this._r, this._g, this._b); + var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100); + return (this._a == 1) ? + "hsl(" + h + ", " + s + "%, " + l + "%)" : + "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")"; + }, + toHex: function(allow3Char) { + return rgbToHex(this._r, this._g, this._b, allow3Char); + }, + toHexString: function(allow3Char) { + return '#' + this.toHex(allow3Char); + }, + toHex8: function() { + return rgbaToHex(this._r, this._g, this._b, this._a); + }, + toHex8String: function() { + return '#' + this.toHex8(); + }, + toRgb: function() { + return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a }; + }, + toRgbString: function() { + return (this._a == 1) ? + "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" : + "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")"; + }, + toPercentageRgb: function() { + return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a }; + }, + toPercentageRgbString: function() { + return (this._a == 1) ? + "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" : + "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")"; + }, + toName: function() { + if (this._a === 0) { + return "transparent"; + } + + if (this._a < 1) { + return false; + } + + return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false; + }, + toFilter: function(secondColor) { + var hex8String = '#' + rgbaToHex(this._r, this._g, this._b, this._a); + var secondHex8String = hex8String; + var gradientType = this._gradientType ? "GradientType = 1, " : ""; + + if (secondColor) { + var s = tinycolor(secondColor); + secondHex8String = s.toHex8String(); + } + + return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")"; + }, + toString: function(format) { + var formatSet = !!format; + format = format || this._format; + + var formattedString = false; + var hasAlpha = this._a < 1 && this._a >= 0; + var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "name"); + + if (needsAlphaFormat) { + // Special case for "transparent", all other non-alpha formats + // will return rgba when there is transparency. + if (format === "name" && this._a === 0) { + return this.toName(); + } + return this.toRgbString(); + } + if (format === "rgb") { + formattedString = this.toRgbString(); + } + if (format === "prgb") { + formattedString = this.toPercentageRgbString(); + } + if (format === "hex" || format === "hex6") { + formattedString = this.toHexString(); + } + if (format === "hex3") { + formattedString = this.toHexString(true); + } + if (format === "hex8") { + formattedString = this.toHex8String(); + } + if (format === "name") { + formattedString = this.toName(); + } + if (format === "hsl") { + formattedString = this.toHslString(); + } + if (format === "hsv") { + formattedString = this.toHsvString(); + } + + return formattedString || this.toHexString(); + }, + + _applyModification: function(fn, args) { + var color = fn.apply(null, [this].concat([].slice.call(args))); + this._r = color._r; + this._g = color._g; + this._b = color._b; + this.setAlpha(color._a); + return this; + }, + lighten: function() { + return this._applyModification(lighten, arguments); + }, + brighten: function() { + return this._applyModification(brighten, arguments); + }, + darken: function() { + return this._applyModification(darken, arguments); + }, + desaturate: function() { + return this._applyModification(desaturate, arguments); + }, + saturate: function() { + return this._applyModification(saturate, arguments); + }, + greyscale: function() { + return this._applyModification(greyscale, arguments); + }, + spin: function() { + return this._applyModification(spin, arguments); + }, + + _applyCombination: function(fn, args) { + return fn.apply(null, [this].concat([].slice.call(args))); + }, + analogous: function() { + return this._applyCombination(analogous, arguments); + }, + complement: function() { + return this._applyCombination(complement, arguments); + }, + monochromatic: function() { + return this._applyCombination(monochromatic, arguments); + }, + splitcomplement: function() { + return this._applyCombination(splitcomplement, arguments); + }, + triad: function() { + return this._applyCombination(triad, arguments); + }, + tetrad: function() { + return this._applyCombination(tetrad, arguments); + } + }; + + // If input is an object, force 1 into "1.0" to handle ratios properly + // String input requires "1.0" as input, so 1 will be treated as 1 + tinycolor.fromRatio = function(color, opts) { + if (typeof color == "object") { + var newColor = {}; + for (var i in color) { + if (color.hasOwnProperty(i)) { + if (i === "a") { + newColor[i] = color[i]; + } + else { + newColor[i] = convertToPercentage(color[i]); + } + } + } + color = newColor; + } + + return tinycolor(color, opts); + }; + + // Given a string or object, convert that input to RGB + // Possible string inputs: + // + // "red" + // "#f00" or "f00" + // "#ff0000" or "ff0000" + // "#ff000000" or "ff000000" + // "rgb 255 0 0" or "rgb (255, 0, 0)" + // "rgb 1.0 0 0" or "rgb (1, 0, 0)" + // "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1" + // "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1" + // "hsl(0, 100%, 50%)" or "hsl 0 100% 50%" + // "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1" + // "hsv(0, 100%, 100%)" or "hsv 0 100% 100%" + // + function inputToRGB(color) { + + var rgb = { r: 0, g: 0, b: 0 }; + var a = 1; + var ok = false; + var format = false; + + if (typeof color == "string") { + color = stringInputToObject(color); + } + + if (typeof color == "object") { + if (color.hasOwnProperty("r") && color.hasOwnProperty("g") && color.hasOwnProperty("b")) { + rgb = rgbToRgb(color.r, color.g, color.b); + ok = true; + format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb"; + } + else if (color.hasOwnProperty("h") && color.hasOwnProperty("s") && color.hasOwnProperty("v")) { + color.s = convertToPercentage(color.s); + color.v = convertToPercentage(color.v); + rgb = hsvToRgb(color.h, color.s, color.v); + ok = true; + format = "hsv"; + } + else if (color.hasOwnProperty("h") && color.hasOwnProperty("s") && color.hasOwnProperty("l")) { + color.s = convertToPercentage(color.s); + color.l = convertToPercentage(color.l); + rgb = hslToRgb(color.h, color.s, color.l); + ok = true; + format = "hsl"; + } + + if (color.hasOwnProperty("a")) { + a = color.a; + } + } + + a = boundAlpha(a); + + return { + ok: ok, + format: color.format || format, + r: mathMin(255, mathMax(rgb.r, 0)), + g: mathMin(255, mathMax(rgb.g, 0)), + b: mathMin(255, mathMax(rgb.b, 0)), + a: a + }; + } + + + // Conversion Functions + // -------------------- + + // `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from: + // + + // `rgbToRgb` + // Handle bounds / percentage checking to conform to CSS color spec + // + // *Assumes:* r, g, b in [0, 255] or [0, 1] + // *Returns:* { r, g, b } in [0, 255] + function rgbToRgb(r, g, b){ + return { + r: bound01(r, 255) * 255, + g: bound01(g, 255) * 255, + b: bound01(b, 255) * 255 + }; + } + + // `rgbToHsl` + // Converts an RGB color value to HSL. + // *Assumes:* r, g, and b are contained in [0, 255] or [0, 1] + // *Returns:* { h, s, l } in [0,1] + function rgbToHsl(r, g, b) { + + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + + var max = mathMax(r, g, b), min = mathMin(r, g, b); + var h, s, l = (max + min) / 2; + + if(max == min) { + h = s = 0; // achromatic + } + else { + var d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + switch(max) { + case r: h = (g - b) / d + (g < b ? 6 : 0); break; + case g: h = (b - r) / d + 2; break; + case b: h = (r - g) / d + 4; break; + } + + h /= 6; + } + + return { h: h, s: s, l: l }; + } + + // `hslToRgb` + // Converts an HSL color value to RGB. + // *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100] + // *Returns:* { r, g, b } in the set [0, 255] + function hslToRgb(h, s, l) { + var r, g, b; + + h = bound01(h, 360); + s = bound01(s, 100); + l = bound01(l, 100); + + function hue2rgb(p, q, t) { + if(t < 0) t += 1; + if(t > 1) t -= 1; + if(t < 1/6) return p + (q - p) * 6 * t; + if(t < 1/2) return q; + if(t < 2/3) return p + (q - p) * (2/3 - t) * 6; + return p; + } + + if(s === 0) { + r = g = b = l; // achromatic + } + else { + var q = l < 0.5 ? l * (1 + s) : l + s - l * s; + var p = 2 * l - q; + r = hue2rgb(p, q, h + 1/3); + g = hue2rgb(p, q, h); + b = hue2rgb(p, q, h - 1/3); + } + + return { r: r * 255, g: g * 255, b: b * 255 }; + } + + // `rgbToHsv` + // Converts an RGB color value to HSV + // *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] + // *Returns:* { h, s, v } in [0,1] + function rgbToHsv(r, g, b) { + + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + + var max = mathMax(r, g, b), min = mathMin(r, g, b); + var h, s, v = max; + + var d = max - min; + s = max === 0 ? 0 : d / max; + + if(max == min) { + h = 0; // achromatic + } + else { + switch(max) { + case r: h = (g - b) / d + (g < b ? 6 : 0); break; + case g: h = (b - r) / d + 2; break; + case b: h = (r - g) / d + 4; break; + } + h /= 6; + } + return { h: h, s: s, v: v }; + } + + // `hsvToRgb` + // Converts an HSV color value to RGB. + // *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] + // *Returns:* { r, g, b } in the set [0, 255] + function hsvToRgb(h, s, v) { + + h = bound01(h, 360) * 6; + s = bound01(s, 100); + v = bound01(v, 100); + + var i = math.floor(h), + f = h - i, + p = v * (1 - s), + q = v * (1 - f * s), + t = v * (1 - (1 - f) * s), + mod = i % 6, + r = [v, q, p, p, t, v][mod], + g = [t, v, v, q, p, p][mod], + b = [p, p, t, v, v, q][mod]; + + return { r: r * 255, g: g * 255, b: b * 255 }; + } + + // `rgbToHex` + // Converts an RGB color to hex + // Assumes r, g, and b are contained in the set [0, 255] + // Returns a 3 or 6 character hex + function rgbToHex(r, g, b, allow3Char) { + + var hex = [ + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)) + ]; + + // Return a 3 character hex if possible + if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0); + } + + return hex.join(""); + } + // `rgbaToHex` + // Converts an RGBA color plus alpha transparency to hex + // Assumes r, g, b and a are contained in the set [0, 255] + // Returns an 8 character hex + function rgbaToHex(r, g, b, a) { + + var hex = [ + pad2(convertDecimalToHex(a)), + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)) + ]; + + return hex.join(""); + } + + // `equals` + // Can be called with any tinycolor input + tinycolor.equals = function (color1, color2) { + if (!color1 || !color2) { return false; } + return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString(); + }; + tinycolor.random = function() { + return tinycolor.fromRatio({ + r: mathRandom(), + g: mathRandom(), + b: mathRandom() + }); + }; + + + // Modification Functions + // ---------------------- + // Thanks to less.js for some of the basics here + // + + function desaturate(color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.s -= amount / 100; + hsl.s = clamp01(hsl.s); + return tinycolor(hsl); + } + + function saturate(color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.s += amount / 100; + hsl.s = clamp01(hsl.s); + return tinycolor(hsl); + } + + function greyscale(color) { + return tinycolor(color).desaturate(100); + } + + function lighten (color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.l += amount / 100; + hsl.l = clamp01(hsl.l); + return tinycolor(hsl); + } + + function brighten(color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var rgb = tinycolor(color).toRgb(); + rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100)))); + rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100)))); + rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100)))); + return tinycolor(rgb); + } + + function darken (color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.l -= amount / 100; + hsl.l = clamp01(hsl.l); + return tinycolor(hsl); + } + + // Spin takes a positive or negative amount within [-360, 360] indicating the change of hue. + // Values outside of this range will be wrapped into this range. + function spin(color, amount) { + var hsl = tinycolor(color).toHsl(); + var hue = (mathRound(hsl.h) + amount) % 360; + hsl.h = hue < 0 ? 360 + hue : hue; + return tinycolor(hsl); + } + + // Combination Functions + // --------------------- + // Thanks to jQuery xColor for some of the ideas behind these + // + + function complement(color) { + var hsl = tinycolor(color).toHsl(); + hsl.h = (hsl.h + 180) % 360; + return tinycolor(hsl); + } + + function triad(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l }) + ]; + } + + function tetrad(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l }) + ]; + } + + function splitcomplement(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}), + tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l}) + ]; + } + + function analogous(color, results, slices) { + results = results || 6; + slices = slices || 30; + + var hsl = tinycolor(color).toHsl(); + var part = 360 / slices; + var ret = [tinycolor(color)]; + + for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) { + hsl.h = (hsl.h + part) % 360; + ret.push(tinycolor(hsl)); + } + return ret; + } + + function monochromatic(color, results) { + results = results || 6; + var hsv = tinycolor(color).toHsv(); + var h = hsv.h, s = hsv.s, v = hsv.v; + var ret = []; + var modification = 1 / results; + + while (results--) { + ret.push(tinycolor({ h: h, s: s, v: v})); + v = (v + modification) % 1; + } + + return ret; + } + + // Utility Functions + // --------------------- + + tinycolor.mix = function(color1, color2, amount) { + amount = (amount === 0) ? 0 : (amount || 50); + + var rgb1 = tinycolor(color1).toRgb(); + var rgb2 = tinycolor(color2).toRgb(); + + var p = amount / 100; + var w = p * 2 - 1; + var a = rgb2.a - rgb1.a; + + var w1; + + if (w * a == -1) { + w1 = w; + } else { + w1 = (w + a) / (1 + w * a); + } + + w1 = (w1 + 1) / 2; + + var w2 = 1 - w1; + + var rgba = { + r: rgb2.r * w1 + rgb1.r * w2, + g: rgb2.g * w1 + rgb1.g * w2, + b: rgb2.b * w1 + rgb1.b * w2, + a: rgb2.a * p + rgb1.a * (1 - p) + }; + + return tinycolor(rgba); + }; + + + // Readability Functions + // --------------------- + // + + // `readability` + // Analyze the 2 colors and returns an object with the following properties: + // `brightness`: difference in brightness between the two colors + // `color`: difference in color/hue between the two colors + tinycolor.readability = function(color1, color2) { + var c1 = tinycolor(color1); + var c2 = tinycolor(color2); + var rgb1 = c1.toRgb(); + var rgb2 = c2.toRgb(); + var brightnessA = c1.getBrightness(); + var brightnessB = c2.getBrightness(); + var colorDiff = ( + Math.max(rgb1.r, rgb2.r) - Math.min(rgb1.r, rgb2.r) + + Math.max(rgb1.g, rgb2.g) - Math.min(rgb1.g, rgb2.g) + + Math.max(rgb1.b, rgb2.b) - Math.min(rgb1.b, rgb2.b) + ); + + return { + brightness: Math.abs(brightnessA - brightnessB), + color: colorDiff + }; + }; + + // `readable` + // http://www.w3.org/TR/AERT#color-contrast + // Ensure that foreground and background color combinations provide sufficient contrast. + // *Example* + // tinycolor.isReadable("#000", "#111") => false + tinycolor.isReadable = function(color1, color2) { + var readability = tinycolor.readability(color1, color2); + return readability.brightness > 125 && readability.color > 500; + }; + + // `mostReadable` + // Given a base color and a list of possible foreground or background + // colors for that base, returns the most readable color. + // *Example* + // tinycolor.mostReadable("#123", ["#fff", "#000"]) => "#000" + tinycolor.mostReadable = function(baseColor, colorList) { + var bestColor = null; + var bestScore = 0; + var bestIsReadable = false; + for (var i=0; i < colorList.length; i++) { + + // We normalize both around the "acceptable" breaking point, + // but rank brightness constrast higher than hue. + + var readability = tinycolor.readability(baseColor, colorList[i]); + var readable = readability.brightness > 125 && readability.color > 500; + var score = 3 * (readability.brightness / 125) + (readability.color / 500); + + if ((readable && ! bestIsReadable) || + (readable && bestIsReadable && score > bestScore) || + ((! readable) && (! bestIsReadable) && score > bestScore)) { + bestIsReadable = readable; + bestScore = score; + bestColor = tinycolor(colorList[i]); + } + } + return bestColor; + }; + + + // Big List of Colors + // ------------------ + // + var names = tinycolor.names = { + aliceblue: "f0f8ff", + antiquewhite: "faebd7", + aqua: "0ff", + aquamarine: "7fffd4", + azure: "f0ffff", + beige: "f5f5dc", + bisque: "ffe4c4", + black: "000", + blanchedalmond: "ffebcd", + blue: "00f", + blueviolet: "8a2be2", + brown: "a52a2a", + burlywood: "deb887", + burntsienna: "ea7e5d", + cadetblue: "5f9ea0", + chartreuse: "7fff00", + chocolate: "d2691e", + coral: "ff7f50", + cornflowerblue: "6495ed", + cornsilk: "fff8dc", + crimson: "dc143c", + cyan: "0ff", + darkblue: "00008b", + darkcyan: "008b8b", + darkgoldenrod: "b8860b", + darkgray: "a9a9a9", + darkgreen: "006400", + darkgrey: "a9a9a9", + darkkhaki: "bdb76b", + darkmagenta: "8b008b", + darkolivegreen: "556b2f", + darkorange: "ff8c00", + darkorchid: "9932cc", + darkred: "8b0000", + darksalmon: "e9967a", + darkseagreen: "8fbc8f", + darkslateblue: "483d8b", + darkslategray: "2f4f4f", + darkslategrey: "2f4f4f", + darkturquoise: "00ced1", + darkviolet: "9400d3", + deeppink: "ff1493", + deepskyblue: "00bfff", + dimgray: "696969", + dimgrey: "696969", + dodgerblue: "1e90ff", + firebrick: "b22222", + floralwhite: "fffaf0", + forestgreen: "228b22", + fuchsia: "f0f", + gainsboro: "dcdcdc", + ghostwhite: "f8f8ff", + gold: "ffd700", + goldenrod: "daa520", + gray: "808080", + green: "008000", + greenyellow: "adff2f", + grey: "808080", + honeydew: "f0fff0", + hotpink: "ff69b4", + indianred: "cd5c5c", + indigo: "4b0082", + ivory: "fffff0", + khaki: "f0e68c", + lavender: "e6e6fa", + lavenderblush: "fff0f5", + lawngreen: "7cfc00", + lemonchiffon: "fffacd", + lightblue: "add8e6", + lightcoral: "f08080", + lightcyan: "e0ffff", + lightgoldenrodyellow: "fafad2", + lightgray: "d3d3d3", + lightgreen: "90ee90", + lightgrey: "d3d3d3", + lightpink: "ffb6c1", + lightsalmon: "ffa07a", + lightseagreen: "20b2aa", + lightskyblue: "87cefa", + lightslategray: "789", + lightslategrey: "789", + lightsteelblue: "b0c4de", + lightyellow: "ffffe0", + lime: "0f0", + limegreen: "32cd32", + linen: "faf0e6", + magenta: "f0f", + maroon: "800000", + mediumaquamarine: "66cdaa", + mediumblue: "0000cd", + mediumorchid: "ba55d3", + mediumpurple: "9370db", + mediumseagreen: "3cb371", + mediumslateblue: "7b68ee", + mediumspringgreen: "00fa9a", + mediumturquoise: "48d1cc", + mediumvioletred: "c71585", + midnightblue: "191970", + mintcream: "f5fffa", + mistyrose: "ffe4e1", + moccasin: "ffe4b5", + navajowhite: "ffdead", + navy: "000080", + oldlace: "fdf5e6", + olive: "808000", + olivedrab: "6b8e23", + orange: "ffa500", + orangered: "ff4500", + orchid: "da70d6", + palegoldenrod: "eee8aa", + palegreen: "98fb98", + paleturquoise: "afeeee", + palevioletred: "db7093", + papayawhip: "ffefd5", + peachpuff: "ffdab9", + peru: "cd853f", + pink: "ffc0cb", + plum: "dda0dd", + powderblue: "b0e0e6", + purple: "800080", + rebeccapurple: "663399", + red: "f00", + rosybrown: "bc8f8f", + royalblue: "4169e1", + saddlebrown: "8b4513", + salmon: "fa8072", + sandybrown: "f4a460", + seagreen: "2e8b57", + seashell: "fff5ee", + sienna: "a0522d", + silver: "c0c0c0", + skyblue: "87ceeb", + slateblue: "6a5acd", + slategray: "708090", + slategrey: "708090", + snow: "fffafa", + springgreen: "00ff7f", + steelblue: "4682b4", + tan: "d2b48c", + teal: "008080", + thistle: "d8bfd8", + tomato: "ff6347", + turquoise: "40e0d0", + violet: "ee82ee", + wheat: "f5deb3", + white: "fff", + whitesmoke: "f5f5f5", + yellow: "ff0", + yellowgreen: "9acd32" + }; + + // Make it easy to access colors via `hexNames[hex]` + var hexNames = tinycolor.hexNames = flip(names); + + + // Utilities + // --------- + + // `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }` + function flip(o) { + var flipped = { }; + for (var i in o) { + if (o.hasOwnProperty(i)) { + flipped[o[i]] = i; + } + } + return flipped; + } + + // Return a valid alpha value [0,1] with all invalid values being set to 1 + function boundAlpha(a) { + a = parseFloat(a); + + if (isNaN(a) || a < 0 || a > 1) { + a = 1; + } + + return a; + } + + // Take input from [0, n] and return it as [0, 1] + function bound01(n, max) { + if (isOnePointZero(n)) { n = "100%"; } + + var processPercent = isPercentage(n); + n = mathMin(max, mathMax(0, parseFloat(n))); + + // Automatically convert percentage into number + if (processPercent) { + n = parseInt(n * max, 10) / 100; + } + + // Handle floating point rounding errors + if ((math.abs(n - max) < 0.000001)) { + return 1; + } + + // Convert into [0, 1] range if it isn't already + return (n % max) / parseFloat(max); + } + + // Force a number between 0 and 1 + function clamp01(val) { + return mathMin(1, mathMax(0, val)); + } + + // Parse a base-16 hex value into a base-10 integer + function parseIntFromHex(val) { + return parseInt(val, 16); + } + + // Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 + // + function isOnePointZero(n) { + return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1; + } + + // Check to see if string passed in is a percentage + function isPercentage(n) { + return typeof n === "string" && n.indexOf('%') != -1; + } + + // Force a hex value to have 2 characters + function pad2(c) { + return c.length == 1 ? '0' + c : '' + c; + } + + // Replace a decimal with it's percentage value + function convertToPercentage(n) { + if (n <= 1) { + n = (n * 100) + "%"; + } + + return n; + } + + // Converts a decimal to a hex value + function convertDecimalToHex(d) { + return Math.round(parseFloat(d) * 255).toString(16); + } + // Converts a hex value to a decimal + function convertHexToDecimal(h) { + return (parseIntFromHex(h) / 255); + } + + var matchers = (function() { + + // + var CSS_INTEGER = "[-\\+]?\\d+%?"; + + // + var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?"; + + // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome. + var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")"; + + // Actual matching. + // Parentheses and commas are optional, but not required. + // Whitespace can take the place of commas or opening paren + var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; + var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; + + return { + rgb: new RegExp("rgb" + PERMISSIVE_MATCH3), + rgba: new RegExp("rgba" + PERMISSIVE_MATCH4), + hsl: new RegExp("hsl" + PERMISSIVE_MATCH3), + hsla: new RegExp("hsla" + PERMISSIVE_MATCH4), + hsv: new RegExp("hsv" + PERMISSIVE_MATCH3), + hsva: new RegExp("hsva" + PERMISSIVE_MATCH4), + hex3: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex6: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + hex8: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/ + }; + })(); + + // `stringInputToObject` + // Permissive string parsing. Take in a number of formats, and output an object + // based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}` + function stringInputToObject(color) { + + color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase(); + var named = false; + if (names[color]) { + color = names[color]; + named = true; + } + else if (color == 'transparent') { + return { r: 0, g: 0, b: 0, a: 0, format: "name" }; + } + + // Try to match string input using regular expressions. + // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360] + // Just return an object and let the conversion functions handle that. + // This way the result will be the same whether the tinycolor is initialized with string or object. + var match; + if ((match = matchers.rgb.exec(color))) { + return { r: match[1], g: match[2], b: match[3] }; + } + if ((match = matchers.rgba.exec(color))) { + return { r: match[1], g: match[2], b: match[3], a: match[4] }; + } + if ((match = matchers.hsl.exec(color))) { + return { h: match[1], s: match[2], l: match[3] }; + } + if ((match = matchers.hsla.exec(color))) { + return { h: match[1], s: match[2], l: match[3], a: match[4] }; + } + if ((match = matchers.hsv.exec(color))) { + return { h: match[1], s: match[2], v: match[3] }; + } + if ((match = matchers.hsva.exec(color))) { + return { h: match[1], s: match[2], v: match[3], a: match[4] }; + } + if ((match = matchers.hex8.exec(color))) { + return { + a: convertHexToDecimal(match[1]), + r: parseIntFromHex(match[2]), + g: parseIntFromHex(match[3]), + b: parseIntFromHex(match[4]), + format: named ? "name" : "hex8" + }; + } + if ((match = matchers.hex6.exec(color))) { + return { + r: parseIntFromHex(match[1]), + g: parseIntFromHex(match[2]), + b: parseIntFromHex(match[3]), + format: named ? "name" : "hex" + }; + } + if ((match = matchers.hex3.exec(color))) { + return { + r: parseIntFromHex(match[1] + '' + match[1]), + g: parseIntFromHex(match[2] + '' + match[2]), + b: parseIntFromHex(match[3] + '' + match[3]), + format: named ? "name" : "hex" + }; + } + + return false; + } + + window.tinycolor = tinycolor; + })(); + + $(function () { + if ($.fn.spectrum.load) { + $.fn.spectrum.processNativeColorInputs(); + } + }); + +}); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-addon-i18n.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-addon-i18n.js new file mode 100644 index 0000000..15d267c --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-addon-i18n.js @@ -0,0 +1,974 @@ +/*! jQuery Timepicker Addon - v1.6.3 - 2016-04-20 +* http://trentrichardson.com/examples/timepicker +* Copyright (c) 2016 Trent Richardson; Licensed MIT */ + +(function($){ + +// source: src/i18n/jquery-ui-timepicker-af.js +/* Afrikaans translation for the jQuery Timepicker Addon */ +/* Written by Deon Heyns */ + + $.timepicker.regional['af'] = { + timeOnlyTitle: 'Kies Tyd', + timeText: 'Tyd ', + hourText: 'Ure ', + minuteText: 'Minute', + secondText: 'Sekondes', + millisecText: 'Millisekondes', + microsecText: 'Mikrosekondes', + timezoneText: 'Tydsone', + currentText: 'Huidige Tyd', + closeText: 'Klaar', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-am.js +/* Armenian translation for the jQuery Timepicker Addon */ +/* Written by Artavazd Avetisyan artavazda@hotmail.com */ + + $.timepicker.regional['am'] = { + timeOnlyTitle: 'Ô¸Ơ¶Ơ¿Ö€Ơ¥Ö„ ƠªƠ¡Ơ´Ơ¡Ơ¶Ơ¡Ơ¯Ơ¨', + timeText: 'ÔºƠ¡Ơ´Ơ¡Ơ¶Ơ¡Ơ¯Ơ¨', + hourText: 'ÔºƠ¡Ơ´', + minuteText: 'ƠƠ¸ƠºƠ¥', + secondText: 'ƠƠ¡Ö€Ơ¯ƠµƠ¡Ơ¶', + millisecText: 'Ơ„Ơ«Ơ¬Ơ«Ơ¾Ơ¡Ö€Ơ¯ƠµƠ¡Ơ¶', + microsecText: 'Ơ„Ơ«Ơ¯Ö€Ơ¸Ơ¾Ơ¡Ö€Ơ¯ƠµƠ¡Ơ¶', + timezoneText: 'ÔºƠ¡Ơ´Ơ¡ƠµƠ«Ơ¶ Ơ£Ơ¸Ơ¿Ơ«Ơ¶', + currentText: 'Ô±ƠµƠªƠ´', + closeText: 'Ơ“Ơ¡Ơ¯Ơ¥Ơ¬', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-bg.js +/* Bulgarian translation for the jQuery Timepicker Addon */ +/* Written by Plamen Kovandjiev */ + + $.timepicker.regional['bg'] = { + timeOnlyTitle: 'Đ˜Đ·Đ±ĐµÑ€ĐµÑ‚Đµ Đ²Ñ€ĐµĐ¼Đµ', + timeText: 'Đ’Ñ€ĐµĐ¼Đµ', + hourText: 'ЧаÑ', + minuteText: 'ĐœĐ¸Đ½ÑƒÑ‚Đ¸', + secondText: 'Đ¡ĐµĐºÑƒĐ½Đ´Đ¸', + millisecText: 'ĐœĐ¸Đ»Đ¸ÑĐµĐºÑƒĐ½Đ´Đ¸', + microsecText: 'ĐœĐ¸ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Đ¸', + timezoneText: 'ЧаÑĐ¾Đ²Đ¸ Đ¿Đ¾ÑÑ', + currentText: 'Đ¡ĐµĐ³Đ°', + closeText: 'Đ—Đ°Ñ‚Đ²Đ¾Ñ€Đ¸', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-ca.js +/* Catalan translation for the jQuery Timepicker Addon */ +/* Written by Sergi Faber */ + + $.timepicker.regional['ca'] = { + timeOnlyTitle: 'Escollir una hora', + timeText: 'Hora', + hourText: 'Hores', + minuteText: 'Minuts', + secondText: 'Segons', + millisecText: 'Milisegons', + microsecText: 'Microsegons', + timezoneText: 'Fus horari', + currentText: 'Ara', + closeText: 'Tancar', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-cs.js +/* Czech translation for the jQuery Timepicker Addon */ +/* Written by OndÅ™ej VodĂ¡Äek */ + + $.timepicker.regional['cs'] = { + timeOnlyTitle: 'Vyberte Äas', + timeText: 'ÄŒas', + hourText: 'Hodiny', + minuteText: 'Minuty', + secondText: 'VteÅ™iny', + millisecText: 'Milisekundy', + microsecText: 'Mikrosekundy', + timezoneText: 'ÄŒasovĂ© pĂ¡smo', + currentText: 'NynĂ­', + closeText: 'ZavÅ™Ă­t', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['dop.', 'AM', 'A'], + pmNames: ['odp.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-da.js +/* Danish translation for the jQuery Timepicker Addon */ +/* Written by Lars H. Jensen (http://www.larshj.dk) */ + + $.timepicker.regional['da'] = { + timeOnlyTitle: 'Vælg tid', + timeText: 'Tid', + hourText: 'Time', + minuteText: 'Minut', + secondText: 'Sekund', + millisecText: 'Millisekund', + microsecText: 'Mikrosekund', + timezoneText: 'Tidszone', + currentText: 'Nu', + closeText: 'Luk', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['am', 'AM', 'A'], + pmNames: ['pm', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-de.js +/* German translation for the jQuery Timepicker Addon */ +/* Written by Marvin */ + + $.timepicker.regional['de'] = { + timeOnlyTitle: 'Zeit wählen', + timeText: 'Zeit', + hourText: 'Stunde', + minuteText: 'Minute', + secondText: 'Sekunde', + millisecText: 'Millisekunde', + microsecText: 'Mikrosekunde', + timezoneText: 'Zeitzone', + currentText: 'Jetzt', + closeText: 'Fertig', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['vorm.', 'AM', 'A'], + pmNames: ['nachm.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-el.js +/* Hellenic translation for the jQuery Timepicker Addon */ +/* Written by Christos Pontikis */ + + $.timepicker.regional['el'] = { + timeOnlyTitle: 'Επιλογή ÏÏας', + timeText: 'ÎÏα', + hourText: 'ÎÏες', + minuteText: 'Λεπτά', + secondText: 'ΔευτεÏόλεπτα', + millisecText: 'ΧιλιοστοδευτεÏόλεπτα', + microsecText: 'ΜικÏοδευτεÏόλεπτα', + timezoneText: 'ΖÏνη ÏÏας', + currentText: 'ΤÏÏα', + closeText: 'Îλείσιμο', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['Ï€.μ.', 'AM', 'A'], + pmNames: ['μ.μ.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-es.js +/* Spanish translation for the jQuery Timepicker Addon */ +/* Written by IanarĂ© SĂ©vi */ +/* Modified by Carlos MartĂ­nez */ + + $.timepicker.regional['es'] = { + timeOnlyTitle: 'Elegir una hora', + timeText: 'Hora', + hourText: 'Horas', + minuteText: 'Minutos', + secondText: 'Segundos', + millisecText: 'Milisegundos', + microsecText: 'Microsegundos', + timezoneText: 'Uso horario', + currentText: 'Hoy', + closeText: 'Cerrar', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['a.m.', 'AM', 'A'], + pmNames: ['p.m.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-et.js +/* Estonian translation for the jQuery Timepicker Addon */ +/* Written by Karl Sutt (karl@sutt.ee) */ + + $.timepicker.regional['et'] = { + timeOnlyTitle: 'Vali aeg', + timeText: 'Aeg', + hourText: 'Tund', + minuteText: 'Minut', + secondText: 'Sekund', + millisecText: 'Millisekundis', + microsecText: 'Mikrosekundis', + timezoneText: 'Ajavöönd', + currentText: 'Praegu', + closeText: 'Valmis', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-eu.js +/* Basque trannslation for JQuery Timepicker Addon */ +/* Translated by Xabi Fer */ +/* Fixed by Asier Iturralde Sarasola - iametza interaktiboa */ + + $.timepicker.regional['eu'] = { + timeOnlyTitle: 'Aukeratu ordua', + timeText: 'Ordua', + hourText: 'Orduak', + minuteText: 'Minutuak', + secondText: 'Segundoak', + millisecText: 'Milisegundoak', + microsecText: 'Mikrosegundoak', + timezoneText: 'Ordu-eremua', + currentText: 'Orain', + closeText: 'Itxi', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['a.m.', 'AM', 'A'], + pmNames: ['p.m.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-fa.js +/* Persian translation for the jQuery Timepicker Addon */ +/* Written by Meysam Pour Ganji */ + + $.timepicker.regional['fa'] = { + timeOnlyTitle: 'انتخاب زمان', + timeText: 'زمان', + hourText: 'ساعت', + minuteText: 'دقیقه', + secondText: 'ثانیه', + millisecText: 'میلی ثانیه', + microsecText: 'میکرو ثانیه', + timezoneText: 'منطقه زمانی', + currentText: 'الان', + closeText: 'انتخاب', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['قبل ظهر', 'AM', 'A'], + pmNames: ['بعد ظهر', 'PM', 'P'], + isRTL: true + }; + +// source: src/i18n/jquery-ui-timepicker-fi.js +/* Finnish translation for the jQuery Timepicker Addon */ +/* Written by Juga Paazmaya (http://github.com/paazmaya) */ + + $.timepicker.regional['fi'] = { + timeOnlyTitle: 'Valitse aika', + timeText: 'Aika', + hourText: 'Tunti', + minuteText: 'Minuutti', + secondText: 'Sekunti', + millisecText: 'Millisekunnin', + microsecText: 'Mikrosekuntia', + timezoneText: 'Aikavyöhyke', + currentText: 'Nyt', + closeText: 'Sulje', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['ap.', 'AM', 'A'], + pmNames: ['ip.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-fr.js +/* French translation for the jQuery Timepicker Addon */ +/* Written by Thomas LĂ©tĂ© */ + + $.timepicker.regional['fr'] = { + timeOnlyTitle: 'Choisir une heure', + timeText: 'Heure', + hourText: 'Heures', + minuteText: 'Minutes', + secondText: 'Secondes', + millisecText: 'Millisecondes', + microsecText: 'Microsecondes', + timezoneText: 'Fuseau horaire', + currentText: 'Maintenant', + closeText: 'TerminĂ©', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-gl.js +/* Galician translation for the jQuery Timepicker Addon */ +/* Written by David Barral */ + + $.timepicker.regional['gl'] = { + timeOnlyTitle: 'Elixir unha hora', + timeText: 'Hora', + hourText: 'Horas', + minuteText: 'Minutos', + secondText: 'Segundos', + millisecText: 'Milisegundos', + microsecText: 'Microssegundos', + timezoneText: 'Fuso horario', + currentText: 'Agora', + closeText: 'Pechar', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['a.m.', 'AM', 'A'], + pmNames: ['p.m.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-he.js +/* Hebrew translation for the jQuery Timepicker Addon */ +/* Written by Lior Lapid */ + + $.timepicker.regional["he"] = { + timeOnlyTitle: "בחירת ×–×ן", + timeText: "שעה", + hourText: "שעות", + minuteText: "דקות", + secondText: "שניות", + millisecText: "×לפית השנייה", + microsecText: "×יקרו", + timezoneText: "×זור ×–×ן", + currentText: "עכשיו", + closeText:"סגור", + timeFormat: "HH:mm", + timeSuffix: '', + amNames: ['לפנה"צ', 'AM', 'A'], + pmNames: ['××—×”"צ', 'PM', 'P'], + isRTL: true + }; + +// source: src/i18n/jquery-ui-timepicker-hr.js +/* Croatian translation for the jQuery Timepicker Addon */ +/* Written by Mladen */ + + $.timepicker.regional['hr'] = { + timeOnlyTitle: 'Odaberi vrijeme', + timeText: 'Vrijeme', + hourText: 'Sati', + minuteText: 'Minute', + secondText: 'Sekunde', + millisecText: 'Milisekunde', + microsecText: 'Mikrosekunde', + timezoneText: 'Vremenska zona', + currentText: 'Sada', + closeText: 'Gotovo', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['a.m.', 'AM', 'A'], + pmNames: ['p.m.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-hu.js +/* Hungarian translation for the jQuery Timepicker Addon */ +/* Written by Vas GĂ¡bor */ + + $.timepicker.regional['hu'] = { + timeOnlyTitle: 'VĂ¡lasszon idÅ‘pontot', + timeText: 'IdÅ‘', + hourText: 'Ă“ra', + minuteText: 'Perc', + secondText: 'MĂ¡sodperc', + millisecText: 'Milliszekundumos', + microsecText: 'EzredmĂ¡sodperc', + timezoneText: 'IdÅ‘zĂ³na', + currentText: 'Most', + closeText: 'KĂ©sz', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['de.', 'AM', 'A'], + pmNames: ['du.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-id.js +/* Indonesian translation for the jQuery Timepicker Addon */ +/* Written by Nia */ + + $.timepicker.regional['id'] = { + timeOnlyTitle: 'Pilih Waktu', + timeText: 'Waktu', + hourText: 'Pukul', + minuteText: 'Menit', + secondText: 'Detik', + millisecText: 'Milidetik', + microsecText: 'Mikrodetik', + timezoneText: 'Zona Waktu', + currentText: 'Sekarang', + closeText: 'OK', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-it.js +/* Italian translation for the jQuery Timepicker Addon */ +/* Written by Marco "logicoder" Del Tongo */ + + $.timepicker.regional['it'] = { + timeOnlyTitle: 'Scegli orario', + timeText: 'Orario', + hourText: 'Ora', + minuteText: 'Minuti', + secondText: 'Secondi', + millisecText: 'Millisecondi', + microsecText: 'Microsecondi', + timezoneText: 'Fuso orario', + currentText: 'Adesso', + closeText: 'Chiudi', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['m.', 'AM', 'A'], + pmNames: ['p.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-ja.js +/* Japanese translation for the jQuery Timepicker Addon */ +/* Written by Jun Omae */ + + $.timepicker.regional['ja'] = { + timeOnlyTitle: 'æ™‚é–“ă‚’é¸æ', + timeText: '時間', + hourText: '時', + minuteText: '分', + secondText: '秒', + millisecText: 'ăƒŸăƒªç§’', + microsecText: 'ăƒă‚¤ă‚¯ăƒ­ç§’', + timezoneText: 'ă‚¿ă‚¤ăƒ ă‚¾ăƒ¼ăƒ³', + currentText: 'ç¾æ™‚刻', + closeText: 'é–‰ă˜ă‚‹', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['åˆå‰', 'AM', 'A'], + pmNames: ['åˆå¾Œ', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-ko.js +/* Korean translation for the jQuery Timepicker Addon */ +/* Written by Genie */ + + $.timepicker.regional['ko'] = { + timeOnlyTitle: '́‹œê°„ ́„ íƒ', + timeText: '́‹œê°„', + hourText: '́‹œ', + minuteText: '분', + secondText: '́´ˆ', + millisecText: '밀리́´ˆ', + microsecText: '마́´í¬ë¡œ', + timezoneText: 'í‘œ́¤€ ́‹œê°„대', + currentText: '현́¬ ́‹œê°', + closeText: '닫기', + timeFormat: 'tt h:mm', + timeSuffix: '', + amNames: ['́˜¤́ „', 'AM', 'A'], + pmNames: ['́˜¤í›„', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-lt.js +/* Lithuanian translation for the jQuery Timepicker Addon */ +/* Written by Irmantas Å iupÅ¡inskas */ + + $.timepicker.regional['lt'] = { + timeOnlyTitle: 'Pasirinkite laikÄ…', + timeText: 'Laikas', + hourText: 'Valandos', + minuteText: 'MinutÄ—s', + secondText: 'SekundÄ—s', + millisecText: 'MilisekundÄ—s', + microsecText: 'MikrosekundÄ—s', + timezoneText: 'Laiko zona', + currentText: 'Dabar', + closeText: 'Uždaryti', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['prieÅ¡piet', 'AM', 'A'], + pmNames: ['popiet', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-lv.js +/* Latvian translation for the jQuery Timepicker Addon */ +/* Written by Dmitry Bogatykh */ + + $.timepicker.regional['lv'] = { + timeOnlyTitle: 'Ievadiet laiku', + timeText: 'Laiks', + hourText: 'Stundas', + minuteText: 'MinÅ«tes', + secondText: 'Sekundes', + millisecText: 'Milisekundes', + microsecText: 'Mikrosekundes', + timezoneText: 'Laika josla', + currentText: 'Tagad', + closeText: 'AizvÄ“rt', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'AM', 'A'], + pmNames: ['PM', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-mk.js +/* Macedonian cyrilic translation for the jQuery Timepicker Addon */ +/* Written by Vlatko Ristovski */ + + $.timepicker.regional['mk'] = { + timeOnlyTitle: 'ĐĐ´Đ±ĐµÑ€ĐµÑ‚Đµ Đ²Ñ€ĐµĐ¼Đµ', + timeText: 'Đ’Ñ€ĐµĐ¼Đµ', + hourText: 'ЧаÑ', + minuteText: 'ĐœĐ¸Đ½ÑƒÑ‚Đ¸', + secondText: 'Đ¡ĐµĐºÑƒĐ½Đ´Đ¸', + millisecText: 'ĐœĐ¸Đ»Đ¸ÑĐµĐºÑƒĐ½Đ´Đ¸', + microsecText: 'ĐœĐ¸ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Đ¸', + timezoneText: 'Đ’Ñ€ĐµĐ¼ĐµĐ½ÑĐºĐ° Đ·Đ¾Đ½Đ°', + currentText: 'Đ¡ĐµĐ³Đ°', + closeText: 'Đ—Đ°Ñ‚Đ²Đ¾Ñ€Đ¸', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-nl.js +/* Dutch translation for the jQuery Timepicker Addon */ +/* Written by Martijn van der Lee */ + + $.timepicker.regional['nl'] = { + timeOnlyTitle: 'Tijdstip', + timeText: 'Tijd', + hourText: 'Uur', + minuteText: 'Minuut', + secondText: 'Seconde', + millisecText: 'Milliseconde', + microsecText: 'Microseconde', + timezoneText: 'Tijdzone', + currentText: 'Vandaag', + closeText: 'Sluiten', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-no.js +/* Norwegian translation for the jQuery Timepicker Addon */ +/* Written by Morten Hauan (http://hauan.me) */ + + $.timepicker.regional['no'] = { + timeOnlyTitle: 'Velg tid', + timeText: 'Tid', + hourText: 'Time', + minuteText: 'Minutt', + secondText: 'Sekund', + millisecText: 'Millisekund', + microsecText: 'mikrosekund', + timezoneText: 'Tidssone', + currentText: 'NĂ¥', + closeText: 'Lukk', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['am', 'AM', 'A'], + pmNames: ['pm', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-pl.js +/* Polish translation for the jQuery Timepicker Addon */ +/* Written by MichaÅ‚ Pena */ + + $.timepicker.regional['pl'] = { + timeOnlyTitle: 'Wybierz godzinÄ™', + timeText: 'Czas', + hourText: 'Godzina', + minuteText: 'Minuta', + secondText: 'Sekunda', + millisecText: 'Milisekunda', + microsecText: 'Mikrosekunda', + timezoneText: 'Strefa czasowa', + currentText: 'Teraz', + closeText: 'Gotowe', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-pt-BR.js +/* Brazilian Portuguese translation for the jQuery Timepicker Addon */ +/* Written by Diogo Damiani (diogodamiani@gmail.com) */ + + $.timepicker.regional['pt-BR'] = { + timeOnlyTitle: 'Escolha o horĂ¡rio', + timeText: 'HorĂ¡rio', + hourText: 'Hora', + minuteText: 'Minutos', + secondText: 'Segundos', + millisecText: 'Milissegundos', + microsecText: 'Microssegundos', + timezoneText: 'Fuso horĂ¡rio', + currentText: 'Agora', + closeText: 'Fechar', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['a.m.', 'AM', 'A'], + pmNames: ['p.m.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-pt.js +/* Portuguese translation for the jQuery Timepicker Addon */ +/* Written by Luan Almeida */ + + $.timepicker.regional['pt'] = { + timeOnlyTitle: 'Escolha uma hora', + timeText: 'Hora', + hourText: 'Horas', + minuteText: 'Minutos', + secondText: 'Segundos', + millisecText: 'Milissegundos', + microsecText: 'Microssegundos', + timezoneText: 'Fuso horĂ¡rio', + currentText: 'Agora', + closeText: 'Fechar', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['a.m.', 'AM', 'A'], + pmNames: ['p.m.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-ro.js +/* Romanian translation for the jQuery Timepicker Addon */ +/* Written by Romeo Adrian Cioaba */ + + $.timepicker.regional['ro'] = { + timeOnlyTitle: 'AlegeÅ£i o oră', + timeText: 'Timp', + hourText: 'Ore', + minuteText: 'Minute', + secondText: 'Secunde', + millisecText: 'Milisecunde', + microsecText: 'Microsecunde', + timezoneText: 'Fus orar', + currentText: 'Acum', + closeText: 'Ănchide', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-ru.js +/* Russian translation for the jQuery Timepicker Addon */ +/* Written by Trent Richardson */ + + $.timepicker.regional['ru'] = { + timeOnlyTitle: 'Đ’Ñ‹Đ±ĐµÑ€Đ¸Ñ‚Đµ Đ²Ñ€ĐµĐ¼Ñ', + timeText: 'Đ’Ñ€ĐµĐ¼Ñ', + hourText: 'ЧаÑÑ‹', + minuteText: 'ĐœĐ¸Đ½ÑƒÑ‚Ñ‹', + secondText: 'Đ¡ĐµĐºÑƒĐ½Đ´Ñ‹', + millisecText: 'ĐœĐ¸Đ»Đ»Đ¸ÑĐµĐºÑƒĐ½Đ´Ñ‹', + microsecText: 'ĐœĐ¸ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Ñ‹', + timezoneText: 'ЧаÑĐ¾Đ²Đ¾Đ¹ Đ¿Đ¾ÑÑ', + currentText: 'Đ¡ĐµĐ¹Ñ‡Đ°Ñ', + closeText: 'Đ—Đ°ĐºÑ€Ñ‹Ñ‚ÑŒ', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-sk.js +/* Slovak translation for the jQuery Timepicker Addon */ +/* Written by David Vallner */ + + $.timepicker.regional['sk'] = { + timeOnlyTitle: 'Zvoľte Äas', + timeText: 'ÄŒas', + hourText: 'Hodiny', + minuteText: 'MinĂºty', + secondText: 'Sekundy', + millisecText: 'Milisekundy', + microsecText: 'Mikrosekundy', + timezoneText: 'ÄŒasovĂ© pĂ¡smo', + currentText: 'Teraz', + closeText: 'ZavrieÅ¥', + timeFormat: 'H:m', + timeSuffix: '', + amNames: ['dop.', 'AM', 'A'], + pmNames: ['pop.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-sl.js +/* Slovenian translation for the jQuery Timepicker Addon */ +/* Written by Hadalin (https://github.com/hadalin) */ + + $.timepicker.regional['sl'] = { + timeOnlyTitle: 'Izberite Äas', + timeText: 'ÄŒas', + hourText: 'Ura', + minuteText: 'Minute', + secondText: 'Sekunde', + millisecText: 'Milisekunde', + microsecText: 'Mikrosekunde', + timezoneText: 'ÄŒasovni pas', + currentText: 'Sedaj', + closeText: 'Zapri', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['dop.', 'AM', 'A'], + pmNames: ['pop.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-sq.js +/* Albanian translation for the jQuery Timepicker Addon */ +/* Written by Olti Buzi */ + + $.timepicker.regional['sq'] = { + timeOnlyTitle: 'Zgjidh orarin', + timeText: 'Orari', + hourText: 'Ora', + minuteText: 'Minuta', + secondText: 'Sekonda', + millisecText: 'Minisekonda', + microsecText: 'Mikrosekonda', + timezoneText: 'Zona kohore', + currentText: 'Tani', + closeText: 'Mbyll', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['m.', 'AM', 'A'], + pmNames: ['p.', 'PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-sr-RS.js +/* Serbian cyrilic translation for the jQuery Timepicker Addon */ +/* Written by Vladimir Jelovac */ + + $.timepicker.regional['sr-RS'] = { + timeOnlyTitle: 'ĐĐ´Đ°Đ±ĐµÑ€Đ¸Ñ‚Đµ Đ²Ñ€ĐµĐ¼Đµ', + timeText: 'Đ’Ñ€ĐµĐ¼Đµ', + hourText: 'Đ¡Đ°Ñ‚Đ¸', + minuteText: 'ĐœĐ¸Đ½ÑƒÑ‚Đ¸', + secondText: 'Đ¡ĐµĐºÑƒĐ½Đ´Đµ', + millisecText: 'ĐœĐ¸Đ»Đ¸ÑĐµĐºÑƒĐ½Đ´Đµ', + microsecText: 'ĐœĐ¸ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Đµ', + timezoneText: 'Đ’Ñ€ĐµĐ¼ĐµĐ½ÑĐºĐ° Đ·Đ¾Đ½Đ°', + currentText: 'Đ¡Đ°Đ´Đ°', + closeText: 'Đ—Đ°Ñ‚Đ²Đ¾Ñ€Đ¸', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-sr-YU.js +/* Serbian latin translation for the jQuery Timepicker Addon */ +/* Written by Vladimir Jelovac */ + + $.timepicker.regional['sr-YU'] = { + timeOnlyTitle: 'Odaberite vreme', + timeText: 'Vreme', + hourText: 'Sati', + minuteText: 'Minuti', + secondText: 'Sekunde', + millisecText: 'Milisekunde', + microsecText: 'Mikrosekunde', + timezoneText: 'Vremenska zona', + currentText: 'Sada', + closeText: 'Zatvori', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-sv.js +/* Swedish translation for the jQuery Timepicker Addon */ +/* Written by Nevon */ + + $.timepicker.regional['sv'] = { + timeOnlyTitle: 'Välj en tid', + timeText: 'Tid', + hourText: 'Timme', + minuteText: 'Minut', + secondText: 'Sekund', + millisecText: 'Millisekund', + microsecText: 'Mikrosekund', + timezoneText: 'Tidszon', + currentText: 'Nu', + closeText: 'Stäng', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-th.js +/* Thai translation for the jQuery Timepicker Addon */ +/* Written by Yote Wachirapornpongsa */ + + $.timepicker.regional['th'] = { + timeOnlyTitle: 'เลือà¸à¹€à¸§à¸¥à¸²', + timeText: 'เวลา ', + hourText: 'à¸à¸±à¹ˆà¸§à¹‚มง ', + minuteText: 'นาที', + secondText: 'วินาที', + millisecText: 'มิลลิวินาที', + microsecText: 'ไมโคริวินาที', + timezoneText: 'เขตเวลา', + currentText: 'เวลาปัจจุà¸à¸±à¸™', + closeText: 'ปิด', + timeFormat: 'hh:mm tt', + timeSuffix: '' + }; + +// source: src/i18n/jquery-ui-timepicker-tr.js +/* Turkish translation for the jQuery Timepicker Addon */ +/* Written by Fehmi Can Saglam, Edited by Goktug Ozturk */ + + $.timepicker.regional['tr'] = { + timeOnlyTitle: 'Zaman Seçiniz', + timeText: 'Zaman', + hourText: 'Saat', + minuteText: 'Dakika', + secondText: 'Saniye', + millisecText: 'Milisaniye', + microsecText: 'Mikrosaniye', + timezoneText: 'Zaman Dilimi', + currentText: 'Åu an', + closeText: 'Tamam', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['Ă–Ă–', 'Ă–'], + pmNames: ['Ă–S', 'S'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-uk.js +/* Ukrainian translation for the jQuery Timepicker Addon */ +/* Written by Sergey Noskov */ + + $.timepicker.regional['uk'] = { + timeOnlyTitle: 'Đ’Đ¸Đ±ĐµÑ€Ñ–Ñ‚ÑŒ Ñ‡Đ°Ñ', + timeText: 'ЧаÑ', + hourText: 'Đ“Đ¾Đ´Đ¸Đ½Đ¸', + minuteText: 'Đ¥Đ²Đ¸Đ»Đ¸Đ½Đ¸', + secondText: 'Đ¡ĐµĐºÑƒĐ½Đ´Đ¸', + millisecText: 'ĐœÑ–Đ»Ñ–ÑĐµĐºÑƒĐ½Đ´Đ¸', + microsecText: 'ĐœÑ–ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Đ¸', + timezoneText: 'ЧаÑĐ¾Đ²Đ¸Đ¹ Đ¿Đ¾ÑÑ', + currentText: 'Đ—Đ°Ñ€Đ°Đ·', + closeText: 'Đ—Đ°ĐºÑ€Đ¸Ñ‚Đ¸', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-vi.js +/* Vietnamese translation for the jQuery Timepicker Addon */ +/* Written by Nguyen Dinh Trung */ + + $.timepicker.regional['vi'] = { + timeOnlyTitle: 'Chá»n giá»', + timeText: 'Thá»i gian', + hourText: 'Giá»', + minuteText: 'PhĂºt', + secondText: 'GiĂ¢y', + millisecText: 'Mili giĂ¢y', + microsecText: 'MicrĂ´ giĂ¢y', + timezoneText: 'MĂºi giá»', + currentText: 'Hiện thá»i', + closeText: 'ÄĂ³ng', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['SA', 'S'], + pmNames: ['CH', 'C'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-zh-CN.js +/* Simplified Chinese translation for the jQuery Timepicker Addon / +/ Written by Will Lu */ + + $.timepicker.regional['zh-CN'] = { + timeOnlyTitle: '选择时间', + timeText: '时间', + hourText: 'å°æ—¶', + minuteText: '分钟', + secondText: '秒钟', + millisecText: '毫秒', + microsecText: '微秒', + timezoneText: '时区', + currentText: 'ç°åœ¨æ—¶é—´', + closeText: '关闭', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + +// source: src/i18n/jquery-ui-timepicker-zh-TW.js +/* Chinese translation for the jQuery Timepicker Addon */ +/* Written by Alang.lin */ + + $.timepicker.regional['zh-TW'] = { + timeOnlyTitle: 'é¸æ“‡æ™‚分秒', + timeText: '時間', + hourText: '時', + minuteText: '分', + secondText: '秒', + millisecText: '毫秒', + microsecText: '微秒', + timezoneText: '時å€', + currentText: 'ç¾åœ¨æ™‚é–“', + closeText: '確å®', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['ä¸åˆ', 'AM', 'A'], + pmNames: ['下åˆ', 'PM', 'P'], + isRTL: false + }; + +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-addon-i18n.min.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-addon-i18n.min.js new file mode 100644 index 0000000..0f6f4be --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-addon-i18n.min.js @@ -0,0 +1,4 @@ +/*! jQuery Timepicker Addon - v1.6.3 - 2016-04-20 +* http://trentrichardson.com/examples/timepicker +* Copyright (c) 2016 Trent Richardson; Licensed MIT */ +!function(a){a.timepicker.regional.af={timeOnlyTitle:"Kies Tyd",timeText:"Tyd ",hourText:"Ure ",minuteText:"Minute",secondText:"Sekondes",millisecText:"Millisekondes",microsecText:"Mikrosekondes",timezoneText:"Tydsone",currentText:"Huidige Tyd",closeText:"Klaar",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.am={timeOnlyTitle:"Ô¸Ơ¶Ơ¿Ö€Ơ¥Ö„ ƠªƠ¡Ơ´Ơ¡Ơ¶Ơ¡Ơ¯Ơ¨",timeText:"ÔºƠ¡Ơ´Ơ¡Ơ¶Ơ¡Ơ¯Ơ¨",hourText:"ÔºƠ¡Ơ´",minuteText:"ƠƠ¸ƠºƠ¥",secondText:"ƠƠ¡Ö€Ơ¯ƠµƠ¡Ơ¶",millisecText:"Ơ„Ơ«Ơ¬Ơ«Ơ¾Ơ¡Ö€Ơ¯ƠµƠ¡Ơ¶",microsecText:"Ơ„Ơ«Ơ¯Ö€Ơ¸Ơ¾Ơ¡Ö€Ơ¯ƠµƠ¡Ơ¶",timezoneText:"ÔºƠ¡Ơ´Ơ¡ƠµƠ«Ơ¶ Ơ£Ơ¸Ơ¿Ơ«Ơ¶",currentText:"Ô±ƠµƠªƠ´",closeText:"Ơ“Ơ¡Ơ¯Ơ¥Ơ¬",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.bg={timeOnlyTitle:"Đ˜Đ·Đ±ĐµÑ€ĐµÑ‚Đµ Đ²Ñ€ĐµĐ¼Đµ",timeText:"Đ’Ñ€ĐµĐ¼Đµ",hourText:"ЧаÑ",minuteText:"ĐœĐ¸Đ½ÑƒÑ‚Đ¸",secondText:"Đ¡ĐµĐºÑƒĐ½Đ´Đ¸",millisecText:"ĐœĐ¸Đ»Đ¸ÑĐµĐºÑƒĐ½Đ´Đ¸",microsecText:"ĐœĐ¸ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Đ¸",timezoneText:"ЧаÑĐ¾Đ²Đ¸ Đ¿Đ¾ÑÑ",currentText:"Đ¡ĐµĐ³Đ°",closeText:"Đ—Đ°Ñ‚Đ²Đ¾Ñ€Đ¸",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.ca={timeOnlyTitle:"Escollir una hora",timeText:"Hora",hourText:"Hores",minuteText:"Minuts",secondText:"Segons",millisecText:"Milisegons",microsecText:"Microsegons",timezoneText:"Fus horari",currentText:"Ara",closeText:"Tancar",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.cs={timeOnlyTitle:"Vyberte Äas",timeText:"ÄŒas",hourText:"Hodiny",minuteText:"Minuty",secondText:"VteÅ™iny",millisecText:"Milisekundy",microsecText:"Mikrosekundy",timezoneText:"ÄŒasovĂ© pĂ¡smo",currentText:"NynĂ­",closeText:"ZavÅ™Ă­t",timeFormat:"HH:mm",timeSuffix:"",amNames:["dop.","AM","A"],pmNames:["odp.","PM","P"],isRTL:!1},a.timepicker.regional.da={timeOnlyTitle:"Vælg tid",timeText:"Tid",hourText:"Time",minuteText:"Minut",secondText:"Sekund",millisecText:"Millisekund",microsecText:"Mikrosekund",timezoneText:"Tidszone",currentText:"Nu",closeText:"Luk",timeFormat:"HH:mm",timeSuffix:"",amNames:["am","AM","A"],pmNames:["pm","PM","P"],isRTL:!1},a.timepicker.regional.de={timeOnlyTitle:"Zeit wählen",timeText:"Zeit",hourText:"Stunde",minuteText:"Minute",secondText:"Sekunde",millisecText:"Millisekunde",microsecText:"Mikrosekunde",timezoneText:"Zeitzone",currentText:"Jetzt",closeText:"Fertig",timeFormat:"HH:mm",timeSuffix:"",amNames:["vorm.","AM","A"],pmNames:["nachm.","PM","P"],isRTL:!1},a.timepicker.regional.el={timeOnlyTitle:"Επιλογή ÏÏας",timeText:"ÎÏα",hourText:"ÎÏες",minuteText:"Λεπτά",secondText:"ΔευτεÏόλεπτα",millisecText:"ΧιλιοστοδευτεÏόλεπτα",microsecText:"ΜικÏοδευτεÏόλεπτα",timezoneText:"ΖÏνη ÏÏας",currentText:"ΤÏÏα",closeText:"Îλείσιμο",timeFormat:"HH:mm",timeSuffix:"",amNames:["Ï€.μ.","AM","A"],pmNames:["μ.μ.","PM","P"],isRTL:!1},a.timepicker.regional.es={timeOnlyTitle:"Elegir una hora",timeText:"Hora",hourText:"Horas",minuteText:"Minutos",secondText:"Segundos",millisecText:"Milisegundos",microsecText:"Microsegundos",timezoneText:"Uso horario",currentText:"Hoy",closeText:"Cerrar",timeFormat:"HH:mm",timeSuffix:"",amNames:["a.m.","AM","A"],pmNames:["p.m.","PM","P"],isRTL:!1},a.timepicker.regional.et={timeOnlyTitle:"Vali aeg",timeText:"Aeg",hourText:"Tund",minuteText:"Minut",secondText:"Sekund",millisecText:"Millisekundis",microsecText:"Mikrosekundis",timezoneText:"Ajavöönd",currentText:"Praegu",closeText:"Valmis",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.eu={timeOnlyTitle:"Aukeratu ordua",timeText:"Ordua",hourText:"Orduak",minuteText:"Minutuak",secondText:"Segundoak",millisecText:"Milisegundoak",microsecText:"Mikrosegundoak",timezoneText:"Ordu-eremua",currentText:"Orain",closeText:"Itxi",timeFormat:"HH:mm",timeSuffix:"",amNames:["a.m.","AM","A"],pmNames:["p.m.","PM","P"],isRTL:!1},a.timepicker.regional.fa={timeOnlyTitle:"انتخاب زمان",timeText:"زمان",hourText:"ساعت",minuteText:"دقیقه",secondText:"ثانیه",millisecText:"میلی ثانیه",microsecText:"میکرو ثانیه",timezoneText:"منطقه زمانی",currentText:"الان",closeText:"انتخاب",timeFormat:"HH:mm",timeSuffix:"",amNames:["قبل ظهر","AM","A"],pmNames:["بعد ظهر","PM","P"],isRTL:!0},a.timepicker.regional.fi={timeOnlyTitle:"Valitse aika",timeText:"Aika",hourText:"Tunti",minuteText:"Minuutti",secondText:"Sekunti",millisecText:"Millisekunnin",microsecText:"Mikrosekuntia",timezoneText:"Aikavyöhyke",currentText:"Nyt",closeText:"Sulje",timeFormat:"HH:mm",timeSuffix:"",amNames:["ap.","AM","A"],pmNames:["ip.","PM","P"],isRTL:!1},a.timepicker.regional.fr={timeOnlyTitle:"Choisir une heure",timeText:"Heure",hourText:"Heures",minuteText:"Minutes",secondText:"Secondes",millisecText:"Millisecondes",microsecText:"Microsecondes",timezoneText:"Fuseau horaire",currentText:"Maintenant",closeText:"TerminĂ©",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.gl={timeOnlyTitle:"Elixir unha hora",timeText:"Hora",hourText:"Horas",minuteText:"Minutos",secondText:"Segundos",millisecText:"Milisegundos",microsecText:"Microssegundos",timezoneText:"Fuso horario",currentText:"Agora",closeText:"Pechar",timeFormat:"HH:mm",timeSuffix:"",amNames:["a.m.","AM","A"],pmNames:["p.m.","PM","P"],isRTL:!1},a.timepicker.regional.he={timeOnlyTitle:"בחירת ×–×ן",timeText:"שעה",hourText:"שעות",minuteText:"דקות",secondText:"שניות",millisecText:"×לפית השנייה",microsecText:"×יקרו",timezoneText:"×זור ×–×ן",currentText:"עכשיו",closeText:"סגור",timeFormat:"HH:mm",timeSuffix:"",amNames:['לפנה"צ',"AM","A"],pmNames:['××—×”"צ',"PM","P"],isRTL:!0},a.timepicker.regional.hr={timeOnlyTitle:"Odaberi vrijeme",timeText:"Vrijeme",hourText:"Sati",minuteText:"Minute",secondText:"Sekunde",millisecText:"Milisekunde",microsecText:"Mikrosekunde",timezoneText:"Vremenska zona",currentText:"Sada",closeText:"Gotovo",timeFormat:"HH:mm",timeSuffix:"",amNames:["a.m.","AM","A"],pmNames:["p.m.","PM","P"],isRTL:!1},a.timepicker.regional.hu={timeOnlyTitle:"VĂ¡lasszon idÅ‘pontot",timeText:"IdÅ‘",hourText:"Ă“ra",minuteText:"Perc",secondText:"MĂ¡sodperc",millisecText:"Milliszekundumos",microsecText:"EzredmĂ¡sodperc",timezoneText:"IdÅ‘zĂ³na",currentText:"Most",closeText:"KĂ©sz",timeFormat:"HH:mm",timeSuffix:"",amNames:["de.","AM","A"],pmNames:["du.","PM","P"],isRTL:!1},a.timepicker.regional.id={timeOnlyTitle:"Pilih Waktu",timeText:"Waktu",hourText:"Pukul",minuteText:"Menit",secondText:"Detik",millisecText:"Milidetik",microsecText:"Mikrodetik",timezoneText:"Zona Waktu",currentText:"Sekarang",closeText:"OK",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.it={timeOnlyTitle:"Scegli orario",timeText:"Orario",hourText:"Ora",minuteText:"Minuti",secondText:"Secondi",millisecText:"Millisecondi",microsecText:"Microsecondi",timezoneText:"Fuso orario",currentText:"Adesso",closeText:"Chiudi",timeFormat:"HH:mm",timeSuffix:"",amNames:["m.","AM","A"],pmNames:["p.","PM","P"],isRTL:!1},a.timepicker.regional.ja={timeOnlyTitle:"æ™‚é–“ă‚’é¸æ",timeText:"時間",hourText:"時",minuteText:"分",secondText:"秒",millisecText:"ăƒŸăƒªç§’",microsecText:"ăƒă‚¤ă‚¯ăƒ­ç§’",timezoneText:"ă‚¿ă‚¤ăƒ ă‚¾ăƒ¼ăƒ³",currentText:"ç¾æ™‚刻",closeText:"é–‰ă˜ă‚‹",timeFormat:"HH:mm",timeSuffix:"",amNames:["åˆå‰","AM","A"],pmNames:["åˆå¾Œ","PM","P"],isRTL:!1},a.timepicker.regional.ko={timeOnlyTitle:"́‹œê°„ ́„ íƒ",timeText:"́‹œê°„",hourText:"́‹œ",minuteText:"분",secondText:"́´ˆ",millisecText:"밀리́´ˆ",microsecText:"마́´í¬ë¡œ",timezoneText:"í‘œ́¤€ ́‹œê°„대",currentText:"현́¬ ́‹œê°",closeText:"닫기",timeFormat:"tt h:mm",timeSuffix:"",amNames:["́˜¤́ „","AM","A"],pmNames:["́˜¤í›„","PM","P"],isRTL:!1},a.timepicker.regional.lt={timeOnlyTitle:"Pasirinkite laikÄ…",timeText:"Laikas",hourText:"Valandos",minuteText:"MinutÄ—s",secondText:"SekundÄ—s",millisecText:"MilisekundÄ—s",microsecText:"MikrosekundÄ—s",timezoneText:"Laiko zona",currentText:"Dabar",closeText:"Uždaryti",timeFormat:"HH:mm",timeSuffix:"",amNames:["prieÅ¡piet","AM","A"],pmNames:["popiet","PM","P"],isRTL:!1},a.timepicker.regional.lv={timeOnlyTitle:"Ievadiet laiku",timeText:"Laiks",hourText:"Stundas",minuteText:"MinÅ«tes",secondText:"Sekundes",millisecText:"Milisekundes",microsecText:"Mikrosekundes",timezoneText:"Laika josla",currentText:"Tagad",closeText:"AizvÄ“rt",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","AM","A"],pmNames:["PM","PM","P"],isRTL:!1},a.timepicker.regional.mk={timeOnlyTitle:"ĐĐ´Đ±ĐµÑ€ĐµÑ‚Đµ Đ²Ñ€ĐµĐ¼Đµ",timeText:"Đ’Ñ€ĐµĐ¼Đµ",hourText:"ЧаÑ",minuteText:"ĐœĐ¸Đ½ÑƒÑ‚Đ¸",secondText:"Đ¡ĐµĐºÑƒĐ½Đ´Đ¸",millisecText:"ĐœĐ¸Đ»Đ¸ÑĐµĐºÑƒĐ½Đ´Đ¸",microsecText:"ĐœĐ¸ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Đ¸",timezoneText:"Đ’Ñ€ĐµĐ¼ĐµĐ½ÑĐºĐ° Đ·Đ¾Đ½Đ°",currentText:"Đ¡ĐµĐ³Đ°",closeText:"Đ—Đ°Ñ‚Đ²Đ¾Ñ€Đ¸",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.nl={timeOnlyTitle:"Tijdstip",timeText:"Tijd",hourText:"Uur",minuteText:"Minuut",secondText:"Seconde",millisecText:"Milliseconde",microsecText:"Microseconde",timezoneText:"Tijdzone",currentText:"Vandaag",closeText:"Sluiten",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.no={timeOnlyTitle:"Velg tid",timeText:"Tid",hourText:"Time",minuteText:"Minutt",secondText:"Sekund",millisecText:"Millisekund",microsecText:"mikrosekund",timezoneText:"Tidssone",currentText:"NĂ¥",closeText:"Lukk",timeFormat:"HH:mm",timeSuffix:"",amNames:["am","AM","A"],pmNames:["pm","PM","P"],isRTL:!1},a.timepicker.regional.pl={timeOnlyTitle:"Wybierz godzinÄ™",timeText:"Czas",hourText:"Godzina",minuteText:"Minuta",secondText:"Sekunda",millisecText:"Milisekunda",microsecText:"Mikrosekunda",timezoneText:"Strefa czasowa",currentText:"Teraz",closeText:"Gotowe",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional["pt-BR"]={timeOnlyTitle:"Escolha o horĂ¡rio",timeText:"HorĂ¡rio",hourText:"Hora",minuteText:"Minutos",secondText:"Segundos",millisecText:"Milissegundos",microsecText:"Microssegundos",timezoneText:"Fuso horĂ¡rio",currentText:"Agora",closeText:"Fechar",timeFormat:"HH:mm",timeSuffix:"",amNames:["a.m.","AM","A"],pmNames:["p.m.","PM","P"],isRTL:!1},a.timepicker.regional.pt={timeOnlyTitle:"Escolha uma hora",timeText:"Hora",hourText:"Horas",minuteText:"Minutos",secondText:"Segundos",millisecText:"Milissegundos",microsecText:"Microssegundos",timezoneText:"Fuso horĂ¡rio",currentText:"Agora",closeText:"Fechar",timeFormat:"HH:mm",timeSuffix:"",amNames:["a.m.","AM","A"],pmNames:["p.m.","PM","P"],isRTL:!1},a.timepicker.regional.ro={timeOnlyTitle:"AlegeÅ£i o oră",timeText:"Timp",hourText:"Ore",minuteText:"Minute",secondText:"Secunde",millisecText:"Milisecunde",microsecText:"Microsecunde",timezoneText:"Fus orar",currentText:"Acum",closeText:"Ănchide",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.ru={timeOnlyTitle:"Đ’Ñ‹Đ±ĐµÑ€Đ¸Ñ‚Đµ Đ²Ñ€ĐµĐ¼Ñ",timeText:"Đ’Ñ€ĐµĐ¼Ñ",hourText:"ЧаÑÑ‹",minuteText:"ĐœĐ¸Đ½ÑƒÑ‚Ñ‹",secondText:"Đ¡ĐµĐºÑƒĐ½Đ´Ñ‹",millisecText:"ĐœĐ¸Đ»Đ»Đ¸ÑĐµĐºÑƒĐ½Đ´Ñ‹",microsecText:"ĐœĐ¸ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Ñ‹",timezoneText:"ЧаÑĐ¾Đ²Đ¾Đ¹ Đ¿Đ¾ÑÑ",currentText:"Đ¡ĐµĐ¹Ñ‡Đ°Ñ",closeText:"Đ—Đ°ĐºÑ€Ñ‹Ñ‚ÑŒ",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.sk={timeOnlyTitle:"Zvoľte Äas",timeText:"ÄŒas",hourText:"Hodiny",minuteText:"MinĂºty",secondText:"Sekundy",millisecText:"Milisekundy",microsecText:"Mikrosekundy",timezoneText:"ÄŒasovĂ© pĂ¡smo",currentText:"Teraz",closeText:"ZavrieÅ¥",timeFormat:"H:m",timeSuffix:"",amNames:["dop.","AM","A"],pmNames:["pop.","PM","P"],isRTL:!1},a.timepicker.regional.sl={timeOnlyTitle:"Izberite Äas",timeText:"ÄŒas",hourText:"Ura",minuteText:"Minute",secondText:"Sekunde",millisecText:"Milisekunde",microsecText:"Mikrosekunde",timezoneText:"ÄŒasovni pas",currentText:"Sedaj",closeText:"Zapri",timeFormat:"HH:mm",timeSuffix:"",amNames:["dop.","AM","A"],pmNames:["pop.","PM","P"],isRTL:!1},a.timepicker.regional.sq={timeOnlyTitle:"Zgjidh orarin",timeText:"Orari",hourText:"Ora",minuteText:"Minuta",secondText:"Sekonda",millisecText:"Minisekonda",microsecText:"Mikrosekonda",timezoneText:"Zona kohore",currentText:"Tani",closeText:"Mbyll",timeFormat:"HH:mm",timeSuffix:"",amNames:["m.","AM","A"],pmNames:["p.","PM","P"],isRTL:!1},a.timepicker.regional["sr-RS"]={timeOnlyTitle:"ĐĐ´Đ°Đ±ĐµÑ€Đ¸Ñ‚Đµ Đ²Ñ€ĐµĐ¼Đµ",timeText:"Đ’Ñ€ĐµĐ¼Đµ",hourText:"Đ¡Đ°Ñ‚Đ¸",minuteText:"ĐœĐ¸Đ½ÑƒÑ‚Đ¸",secondText:"Đ¡ĐµĐºÑƒĐ½Đ´Đµ",millisecText:"ĐœĐ¸Đ»Đ¸ÑĐµĐºÑƒĐ½Đ´Đµ",microsecText:"ĐœĐ¸ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Đµ",timezoneText:"Đ’Ñ€ĐµĐ¼ĐµĐ½ÑĐºĐ° Đ·Đ¾Đ½Đ°",currentText:"Đ¡Đ°Đ´Đ°",closeText:"Đ—Đ°Ñ‚Đ²Đ¾Ñ€Đ¸",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional["sr-YU"]={timeOnlyTitle:"Odaberite vreme",timeText:"Vreme",hourText:"Sati",minuteText:"Minuti",secondText:"Sekunde",millisecText:"Milisekunde",microsecText:"Mikrosekunde",timezoneText:"Vremenska zona",currentText:"Sada",closeText:"Zatvori",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.sv={timeOnlyTitle:"Välj en tid",timeText:"Tid",hourText:"Timme",minuteText:"Minut",secondText:"Sekund",millisecText:"Millisekund",microsecText:"Mikrosekund",timezoneText:"Tidszon",currentText:"Nu",closeText:"Stäng",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.th={timeOnlyTitle:"เลือà¸à¹€à¸§à¸¥à¸²",timeText:"เวลา ",hourText:"à¸à¸±à¹ˆà¸§à¹‚มง ",minuteText:"นาที",secondText:"วินาที",millisecText:"มิลลิวินาที",microsecText:"ไมโคริวินาที",timezoneText:"เขตเวลา",currentText:"เวลาปัจจุà¸à¸±à¸™",closeText:"ปิด",timeFormat:"hh:mm tt",timeSuffix:""},a.timepicker.regional.tr={timeOnlyTitle:"Zaman Seçiniz",timeText:"Zaman",hourText:"Saat",minuteText:"Dakika",secondText:"Saniye",millisecText:"Milisaniye",microsecText:"Mikrosaniye",timezoneText:"Zaman Dilimi",currentText:"Åu an",closeText:"Tamam",timeFormat:"HH:mm",timeSuffix:"",amNames:["Ă–Ă–","Ă–"],pmNames:["Ă–S","S"],isRTL:!1},a.timepicker.regional.uk={timeOnlyTitle:"Đ’Đ¸Đ±ĐµÑ€Ñ–Ñ‚ÑŒ Ñ‡Đ°Ñ",timeText:"ЧаÑ",hourText:"Đ“Đ¾Đ´Đ¸Đ½Đ¸",minuteText:"Đ¥Đ²Đ¸Đ»Đ¸Đ½Đ¸",secondText:"Đ¡ĐµĐºÑƒĐ½Đ´Đ¸",millisecText:"ĐœÑ–Đ»Ñ–ÑĐµĐºÑƒĐ½Đ´Đ¸",microsecText:"ĐœÑ–ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Đ¸",timezoneText:"ЧаÑĐ¾Đ²Đ¸Đ¹ Đ¿Đ¾ÑÑ",currentText:"Đ—Đ°Ñ€Đ°Đ·",closeText:"Đ—Đ°ĐºÑ€Đ¸Ñ‚Đ¸",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional.vi={timeOnlyTitle:"Chá»n giá»",timeText:"Thá»i gian",hourText:"Giá»",minuteText:"PhĂºt",secondText:"GiĂ¢y",millisecText:"Mili giĂ¢y",microsecText:"MicrĂ´ giĂ¢y",timezoneText:"MĂºi giá»",currentText:"Hiện thá»i",closeText:"ÄĂ³ng",timeFormat:"HH:mm",timeSuffix:"",amNames:["SA","S"],pmNames:["CH","C"],isRTL:!1},a.timepicker.regional["zh-CN"]={timeOnlyTitle:"选择时间",timeText:"时间",hourText:"å°æ—¶",minuteText:"分钟",secondText:"秒钟",millisecText:"毫秒",microsecText:"微秒",timezoneText:"时区",currentText:"ç°åœ¨æ—¶é—´",closeText:"关闭",timeFormat:"HH:mm",timeSuffix:"",amNames:["AM","A"],pmNames:["PM","P"],isRTL:!1},a.timepicker.regional["zh-TW"]={timeOnlyTitle:"é¸æ“‡æ™‚分秒",timeText:"時間",hourText:"時",minuteText:"分",secondText:"秒",millisecText:"毫秒",microsecText:"微秒",timezoneText:"時å€",currentText:"ç¾åœ¨æ™‚é–“",closeText:"確å®",timeFormat:"HH:mm",timeSuffix:"",amNames:["ä¸åˆ","AM","A"],pmNames:["下åˆ","PM","P"],isRTL:!1}}(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-af.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-af.js new file mode 100644 index 0000000..4663fe0 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-af.js @@ -0,0 +1,22 @@ +/* Afrikaans translation for the jQuery Timepicker Addon */ +/* Written by Deon Heyns */ +(function($) { + $.timepicker.regional['af'] = { + timeOnlyTitle: 'Kies Tyd', + timeText: 'Tyd ', + hourText: 'Ure ', + minuteText: 'Minute', + secondText: 'Sekondes', + millisecText: 'Millisekondes', + microsecText: 'Mikrosekondes', + timezoneText: 'Tydsone', + currentText: 'Huidige Tyd', + closeText: 'Klaar', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['af']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-am.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-am.js new file mode 100644 index 0000000..676c8b9 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-am.js @@ -0,0 +1,22 @@ +/* Armenian translation for the jQuery Timepicker Addon */ +/* Written by Artavazd Avetisyan artavazda@hotmail.com */ +(function($) { + $.timepicker.regional['am'] = { + timeOnlyTitle: 'Ô¸Ơ¶Ơ¿Ö€Ơ¥Ö„ ƠªƠ¡Ơ´Ơ¡Ơ¶Ơ¡Ơ¯Ơ¨', + timeText: 'ÔºƠ¡Ơ´Ơ¡Ơ¶Ơ¡Ơ¯Ơ¨', + hourText: 'ÔºƠ¡Ơ´', + minuteText: 'ƠƠ¸ƠºƠ¥', + secondText: 'ƠƠ¡Ö€Ơ¯ƠµƠ¡Ơ¶', + millisecText: 'Ơ„Ơ«Ơ¬Ơ«Ơ¾Ơ¡Ö€Ơ¯ƠµƠ¡Ơ¶', + microsecText: 'Ơ„Ơ«Ơ¯Ö€Ơ¸Ơ¾Ơ¡Ö€Ơ¯ƠµƠ¡Ơ¶', + timezoneText: 'ÔºƠ¡Ơ´Ơ¡ƠµƠ«Ơ¶ Ơ£Ơ¸Ơ¿Ơ«Ơ¶', + currentText: 'Ô±ƠµƠªƠ´', + closeText: 'Ơ“Ơ¡Ơ¯Ơ¥Ơ¬', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['am']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-bg.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-bg.js new file mode 100644 index 0000000..58f076e --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-bg.js @@ -0,0 +1,22 @@ +/* Bulgarian translation for the jQuery Timepicker Addon */ +/* Written by Plamen Kovandjiev */ +(function($) { + $.timepicker.regional['bg'] = { + timeOnlyTitle: 'Đ˜Đ·Đ±ĐµÑ€ĐµÑ‚Đµ Đ²Ñ€ĐµĐ¼Đµ', + timeText: 'Đ’Ñ€ĐµĐ¼Đµ', + hourText: 'ЧаÑ', + minuteText: 'ĐœĐ¸Đ½ÑƒÑ‚Đ¸', + secondText: 'Đ¡ĐµĐºÑƒĐ½Đ´Đ¸', + millisecText: 'ĐœĐ¸Đ»Đ¸ÑĐµĐºÑƒĐ½Đ´Đ¸', + microsecText: 'ĐœĐ¸ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Đ¸', + timezoneText: 'ЧаÑĐ¾Đ²Đ¸ Đ¿Đ¾ÑÑ', + currentText: 'Đ¡ĐµĐ³Đ°', + closeText: 'Đ—Đ°Ñ‚Đ²Đ¾Ñ€Đ¸', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['bg']); +})(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ca.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ca.js new file mode 100644 index 0000000..84fa00e --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ca.js @@ -0,0 +1,22 @@ +/* Catalan translation for the jQuery Timepicker Addon */ +/* Written by Sergi Faber */ +(function($) { + $.timepicker.regional['ca'] = { + timeOnlyTitle: 'Escollir una hora', + timeText: 'Hora', + hourText: 'Hores', + minuteText: 'Minuts', + secondText: 'Segons', + millisecText: 'Milisegons', + microsecText: 'Microsegons', + timezoneText: 'Fus horari', + currentText: 'Ara', + closeText: 'Tancar', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['ca']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-cs.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-cs.js new file mode 100644 index 0000000..26d6ec7 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-cs.js @@ -0,0 +1,22 @@ +/* Czech translation for the jQuery Timepicker Addon */ +/* Written by OndÅ™ej VodĂ¡Äek */ +(function($) { + $.timepicker.regional['cs'] = { + timeOnlyTitle: 'Vyberte Äas', + timeText: 'ÄŒas', + hourText: 'Hodiny', + minuteText: 'Minuty', + secondText: 'VteÅ™iny', + millisecText: 'Milisekundy', + microsecText: 'Mikrosekundy', + timezoneText: 'ÄŒasovĂ© pĂ¡smo', + currentText: 'NynĂ­', + closeText: 'ZavÅ™Ă­t', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['dop.', 'AM', 'A'], + pmNames: ['odp.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['cs']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-da.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-da.js new file mode 100644 index 0000000..5d8072b --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-da.js @@ -0,0 +1,22 @@ +/* Danish translation for the jQuery Timepicker Addon */ +/* Written by Lars H. Jensen (http://www.larshj.dk) */ +(function ($) { + $.timepicker.regional['da'] = { + timeOnlyTitle: 'Vælg tid', + timeText: 'Tid', + hourText: 'Time', + minuteText: 'Minut', + secondText: 'Sekund', + millisecText: 'Millisekund', + microsecText: 'Mikrosekund', + timezoneText: 'Tidszone', + currentText: 'Nu', + closeText: 'Luk', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['am', 'AM', 'A'], + pmNames: ['pm', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['da']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-de.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-de.js new file mode 100644 index 0000000..90c33af --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-de.js @@ -0,0 +1,22 @@ +/* German translation for the jQuery Timepicker Addon */ +/* Written by Marvin */ +(function($) { + $.timepicker.regional['de'] = { + timeOnlyTitle: 'Zeit wählen', + timeText: 'Zeit', + hourText: 'Stunde', + minuteText: 'Minute', + secondText: 'Sekunde', + millisecText: 'Millisekunde', + microsecText: 'Mikrosekunde', + timezoneText: 'Zeitzone', + currentText: 'Jetzt', + closeText: 'Fertig', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['vorm.', 'AM', 'A'], + pmNames: ['nachm.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['de']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-el.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-el.js new file mode 100644 index 0000000..72aec6d --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-el.js @@ -0,0 +1,22 @@ +/* Hellenic translation for the jQuery Timepicker Addon */ +/* Written by Christos Pontikis */ +(function($) { + $.timepicker.regional['el'] = { + timeOnlyTitle: 'Επιλογή ÏÏας', + timeText: 'ÎÏα', + hourText: 'ÎÏες', + minuteText: 'Λεπτά', + secondText: 'ΔευτεÏόλεπτα', + millisecText: 'ΧιλιοστοδευτεÏόλεπτα', + microsecText: 'ΜικÏοδευτεÏόλεπτα', + timezoneText: 'ΖÏνη ÏÏας', + currentText: 'ΤÏÏα', + closeText: 'Îλείσιμο', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['Ï€.μ.', 'AM', 'A'], + pmNames: ['μ.μ.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['el']); +})(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-es.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-es.js new file mode 100644 index 0000000..b19ba11 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-es.js @@ -0,0 +1,23 @@ +/* Spanish translation for the jQuery Timepicker Addon */ +/* Written by IanarĂ© SĂ©vi */ +/* Modified by Carlos MartĂ­nez */ +(function($) { + $.timepicker.regional['es'] = { + timeOnlyTitle: 'Elegir una hora', + timeText: 'Hora', + hourText: 'Horas', + minuteText: 'Minutos', + secondText: 'Segundos', + millisecText: 'Milisegundos', + microsecText: 'Microsegundos', + timezoneText: 'Uso horario', + currentText: 'Hoy', + closeText: 'Cerrar', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['a.m.', 'AM', 'A'], + pmNames: ['p.m.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['es']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-et.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-et.js new file mode 100644 index 0000000..b2bb766 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-et.js @@ -0,0 +1,22 @@ +/* Estonian translation for the jQuery Timepicker Addon */ +/* Written by Karl Sutt (karl@sutt.ee) */ +(function($) { + $.timepicker.regional['et'] = { + timeOnlyTitle: 'Vali aeg', + timeText: 'Aeg', + hourText: 'Tund', + minuteText: 'Minut', + secondText: 'Sekund', + millisecText: 'Millisekundis', + microsecText: 'Mikrosekundis', + timezoneText: 'Ajavöönd', + currentText: 'Praegu', + closeText: 'Valmis', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['et']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-eu.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-eu.js new file mode 100644 index 0000000..7e0c0f3 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-eu.js @@ -0,0 +1,23 @@ +/* Basque trannslation for JQuery Timepicker Addon */ +/* Translated by Xabi Fer */ +/* Fixed by Asier Iturralde Sarasola - iametza interaktiboa */ +(function($) { + $.timepicker.regional['eu'] = { + timeOnlyTitle: 'Aukeratu ordua', + timeText: 'Ordua', + hourText: 'Orduak', + minuteText: 'Minutuak', + secondText: 'Segundoak', + millisecText: 'Milisegundoak', + microsecText: 'Mikrosegundoak', + timezoneText: 'Ordu-eremua', + currentText: 'Orain', + closeText: 'Itxi', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['a.m.', 'AM', 'A'], + pmNames: ['p.m.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['eu']); +})(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-fa.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-fa.js new file mode 100644 index 0000000..25e2403 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-fa.js @@ -0,0 +1,22 @@ +/* Persian translation for the jQuery Timepicker Addon */ +/* Written by Meysam Pour Ganji */ +(function($) { + $.timepicker.regional['fa'] = { + timeOnlyTitle: 'انتخاب زمان', + timeText: 'زمان', + hourText: 'ساعت', + minuteText: 'دقیقه', + secondText: 'ثانیه', + millisecText: 'میلی ثانیه', + microsecText: 'میکرو ثانیه', + timezoneText: 'منطقه زمانی', + currentText: 'الان', + closeText: 'انتخاب', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['قبل ظهر', 'AM', 'A'], + pmNames: ['بعد ظهر', 'PM', 'P'], + isRTL: true + }; + $.timepicker.setDefaults($.timepicker.regional['fa']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-fi.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-fi.js new file mode 100644 index 0000000..4493d4c --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-fi.js @@ -0,0 +1,22 @@ +/* Finnish translation for the jQuery Timepicker Addon */ +/* Written by Juga Paazmaya (http://github.com/paazmaya) */ +(function($) { + $.timepicker.regional['fi'] = { + timeOnlyTitle: 'Valitse aika', + timeText: 'Aika', + hourText: 'Tunti', + minuteText: 'Minuutti', + secondText: 'Sekunti', + millisecText: 'Millisekunnin', + microsecText: 'Mikrosekuntia', + timezoneText: 'Aikavyöhyke', + currentText: 'Nyt', + closeText: 'Sulje', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['ap.', 'AM', 'A'], + pmNames: ['ip.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['fi']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-fr.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-fr.js new file mode 100644 index 0000000..0002517 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-fr.js @@ -0,0 +1,22 @@ +/* French translation for the jQuery Timepicker Addon */ +/* Written by Thomas LĂ©tĂ© */ +(function($) { + $.timepicker.regional['fr'] = { + timeOnlyTitle: 'Choisir une heure', + timeText: 'Heure', + hourText: 'Heures', + minuteText: 'Minutes', + secondText: 'Secondes', + millisecText: 'Millisecondes', + microsecText: 'Microsecondes', + timezoneText: 'Fuseau horaire', + currentText: 'Maintenant', + closeText: 'TerminĂ©', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['fr']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-gl.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-gl.js new file mode 100644 index 0000000..4b9501f --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-gl.js @@ -0,0 +1,22 @@ +/* Galician translation for the jQuery Timepicker Addon */ +/* Written by David Barral */ +(function($) { + $.timepicker.regional['gl'] = { + timeOnlyTitle: 'Elixir unha hora', + timeText: 'Hora', + hourText: 'Horas', + minuteText: 'Minutos', + secondText: 'Segundos', + millisecText: 'Milisegundos', + microsecText: 'Microssegundos', + timezoneText: 'Fuso horario', + currentText: 'Agora', + closeText: 'Pechar', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['a.m.', 'AM', 'A'], + pmNames: ['p.m.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['gl']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-he.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-he.js new file mode 100644 index 0000000..9b78cbd --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-he.js @@ -0,0 +1,22 @@ +/* Hebrew translation for the jQuery Timepicker Addon */ +/* Written by Lior Lapid */ +(function($) { + $.timepicker.regional["he"] = { + timeOnlyTitle: "בחירת ×–×ן", + timeText: "שעה", + hourText: "שעות", + minuteText: "דקות", + secondText: "שניות", + millisecText: "×לפית השנייה", + microsecText: "×יקרו", + timezoneText: "×זור ×–×ן", + currentText: "עכשיו", + closeText:"סגור", + timeFormat: "HH:mm", + timeSuffix: '', + amNames: ['לפנה"צ', 'AM', 'A'], + pmNames: ['××—×”"צ', 'PM', 'P'], + isRTL: true + }; + $.timepicker.setDefaults($.timepicker.regional["he"]); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-hr.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-hr.js new file mode 100644 index 0000000..b60f89a --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-hr.js @@ -0,0 +1,22 @@ +/* Croatian translation for the jQuery Timepicker Addon */ +/* Written by Mladen */ +(function($) { + $.timepicker.regional['hr'] = { + timeOnlyTitle: 'Odaberi vrijeme', + timeText: 'Vrijeme', + hourText: 'Sati', + minuteText: 'Minute', + secondText: 'Sekunde', + millisecText: 'Milisekunde', + microsecText: 'Mikrosekunde', + timezoneText: 'Vremenska zona', + currentText: 'Sada', + closeText: 'Gotovo', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['a.m.', 'AM', 'A'], + pmNames: ['p.m.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['hr']); +})(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-hu.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-hu.js new file mode 100644 index 0000000..6bdb0f4 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-hu.js @@ -0,0 +1,22 @@ +/* Hungarian translation for the jQuery Timepicker Addon */ +/* Written by Vas GĂ¡bor */ +(function($) { + $.timepicker.regional['hu'] = { + timeOnlyTitle: 'VĂ¡lasszon idÅ‘pontot', + timeText: 'IdÅ‘', + hourText: 'Ă“ra', + minuteText: 'Perc', + secondText: 'MĂ¡sodperc', + millisecText: 'Milliszekundumos', + microsecText: 'EzredmĂ¡sodperc', + timezoneText: 'IdÅ‘zĂ³na', + currentText: 'Most', + closeText: 'KĂ©sz', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['de.', 'AM', 'A'], + pmNames: ['du.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['hu']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-id.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-id.js new file mode 100644 index 0000000..9f21f50 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-id.js @@ -0,0 +1,22 @@ +/* Indonesian translation for the jQuery Timepicker Addon */ +/* Written by Nia */ +(function($) { + $.timepicker.regional['id'] = { + timeOnlyTitle: 'Pilih Waktu', + timeText: 'Waktu', + hourText: 'Pukul', + minuteText: 'Menit', + secondText: 'Detik', + millisecText: 'Milidetik', + microsecText: 'Mikrodetik', + timezoneText: 'Zona Waktu', + currentText: 'Sekarang', + closeText: 'OK', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['id']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-it.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-it.js new file mode 100644 index 0000000..540f41a --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-it.js @@ -0,0 +1,22 @@ +/* Italian translation for the jQuery Timepicker Addon */ +/* Written by Marco "logicoder" Del Tongo */ +(function($) { + $.timepicker.regional['it'] = { + timeOnlyTitle: 'Scegli orario', + timeText: 'Orario', + hourText: 'Ora', + minuteText: 'Minuti', + secondText: 'Secondi', + millisecText: 'Millisecondi', + microsecText: 'Microsecondi', + timezoneText: 'Fuso orario', + currentText: 'Adesso', + closeText: 'Chiudi', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['m.', 'AM', 'A'], + pmNames: ['p.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['it']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ja.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ja.js new file mode 100644 index 0000000..cd3f020 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ja.js @@ -0,0 +1,22 @@ +/* Japanese translation for the jQuery Timepicker Addon */ +/* Written by Jun Omae */ +(function($) { + $.timepicker.regional['ja'] = { + timeOnlyTitle: 'æ™‚é–“ă‚’é¸æ', + timeText: '時間', + hourText: '時', + minuteText: '分', + secondText: '秒', + millisecText: 'ăƒŸăƒªç§’', + microsecText: 'ăƒă‚¤ă‚¯ăƒ­ç§’', + timezoneText: 'ă‚¿ă‚¤ăƒ ă‚¾ăƒ¼ăƒ³', + currentText: 'ç¾æ™‚刻', + closeText: 'é–‰ă˜ă‚‹', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['åˆå‰', 'AM', 'A'], + pmNames: ['åˆå¾Œ', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['ja']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ko.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ko.js new file mode 100644 index 0000000..ca85b88 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ko.js @@ -0,0 +1,22 @@ +/* Korean translation for the jQuery Timepicker Addon */ +/* Written by Genie */ +(function($) { + $.timepicker.regional['ko'] = { + timeOnlyTitle: '́‹œê°„ ́„ íƒ', + timeText: '́‹œê°„', + hourText: '́‹œ', + minuteText: '분', + secondText: '́´ˆ', + millisecText: '밀리́´ˆ', + microsecText: '마́´í¬ë¡œ', + timezoneText: 'í‘œ́¤€ ́‹œê°„대', + currentText: '현́¬ ́‹œê°', + closeText: '닫기', + timeFormat: 'tt h:mm', + timeSuffix: '', + amNames: ['́˜¤́ „', 'AM', 'A'], + pmNames: ['́˜¤í›„', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['ko']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-lt.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-lt.js new file mode 100644 index 0000000..97d2b8b --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-lt.js @@ -0,0 +1,22 @@ +/* Lithuanian translation for the jQuery Timepicker Addon */ +/* Written by Irmantas Å iupÅ¡inskas */ +(function($) { + $.timepicker.regional['lt'] = { + timeOnlyTitle: 'Pasirinkite laikÄ…', + timeText: 'Laikas', + hourText: 'Valandos', + minuteText: 'MinutÄ—s', + secondText: 'SekundÄ—s', + millisecText: 'MilisekundÄ—s', + microsecText: 'MikrosekundÄ—s', + timezoneText: 'Laiko zona', + currentText: 'Dabar', + closeText: 'Uždaryti', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['prieÅ¡piet', 'AM', 'A'], + pmNames: ['popiet', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['lt']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-lv.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-lv.js new file mode 100644 index 0000000..0cbd6e6 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-lv.js @@ -0,0 +1,22 @@ +/* Latvian translation for the jQuery Timepicker Addon */ +/* Written by Dmitry Bogatykh */ +(function($) { + $.timepicker.regional['lv'] = { + timeOnlyTitle: 'Ievadiet laiku', + timeText: 'Laiks', + hourText: 'Stundas', + minuteText: 'MinÅ«tes', + secondText: 'Sekundes', + millisecText: 'Milisekundes', + microsecText: 'Mikrosekundes', + timezoneText: 'Laika josla', + currentText: 'Tagad', + closeText: 'AizvÄ“rt', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'AM', 'A'], + pmNames: ['PM', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['lv']); +})(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-mk.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-mk.js new file mode 100644 index 0000000..9857e01 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-mk.js @@ -0,0 +1,22 @@ +/* Macedonian cyrilic translation for the jQuery Timepicker Addon */ +/* Written by Vlatko Ristovski */ +(function($) { + $.timepicker.regional['mk'] = { + timeOnlyTitle: 'ĐĐ´Đ±ĐµÑ€ĐµÑ‚Đµ Đ²Ñ€ĐµĐ¼Đµ', + timeText: 'Đ’Ñ€ĐµĐ¼Đµ', + hourText: 'ЧаÑ', + minuteText: 'ĐœĐ¸Đ½ÑƒÑ‚Đ¸', + secondText: 'Đ¡ĐµĐºÑƒĐ½Đ´Đ¸', + millisecText: 'ĐœĐ¸Đ»Đ¸ÑĐµĐºÑƒĐ½Đ´Đ¸', + microsecText: 'ĐœĐ¸ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Đ¸', + timezoneText: 'Đ’Ñ€ĐµĐ¼ĐµĐ½ÑĐºĐ° Đ·Đ¾Đ½Đ°', + currentText: 'Đ¡ĐµĐ³Đ°', + closeText: 'Đ—Đ°Ñ‚Đ²Đ¾Ñ€Đ¸', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['mk']); +})(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-nl.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-nl.js new file mode 100644 index 0000000..bc71fc1 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-nl.js @@ -0,0 +1,22 @@ +/* Dutch translation for the jQuery Timepicker Addon */ +/* Written by Martijn van der Lee */ +(function($) { + $.timepicker.regional['nl'] = { + timeOnlyTitle: 'Tijdstip', + timeText: 'Tijd', + hourText: 'Uur', + minuteText: 'Minuut', + secondText: 'Seconde', + millisecText: 'Milliseconde', + microsecText: 'Microseconde', + timezoneText: 'Tijdzone', + currentText: 'Vandaag', + closeText: 'Sluiten', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['nl']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-no.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-no.js new file mode 100644 index 0000000..39f32fd --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-no.js @@ -0,0 +1,22 @@ +/* Norwegian translation for the jQuery Timepicker Addon */ +/* Written by Morten Hauan (http://hauan.me) */ +(function($) { + $.timepicker.regional['no'] = { + timeOnlyTitle: 'Velg tid', + timeText: 'Tid', + hourText: 'Time', + minuteText: 'Minutt', + secondText: 'Sekund', + millisecText: 'Millisekund', + microsecText: 'mikrosekund', + timezoneText: 'Tidssone', + currentText: 'NĂ¥', + closeText: 'Lukk', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['am', 'AM', 'A'], + pmNames: ['pm', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['no']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-pl.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-pl.js new file mode 100644 index 0000000..0a67a79 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-pl.js @@ -0,0 +1,22 @@ +/* Polish translation for the jQuery Timepicker Addon */ +/* Written by MichaÅ‚ Pena */ +(function($) { + $.timepicker.regional['pl'] = { + timeOnlyTitle: 'Wybierz godzinÄ™', + timeText: 'Czas', + hourText: 'Godzina', + minuteText: 'Minuta', + secondText: 'Sekunda', + millisecText: 'Milisekunda', + microsecText: 'Mikrosekunda', + timezoneText: 'Strefa czasowa', + currentText: 'Teraz', + closeText: 'Gotowe', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['pl']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-pt-BR.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-pt-BR.js new file mode 100644 index 0000000..0ad06a3 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-pt-BR.js @@ -0,0 +1,22 @@ +/* Brazilian Portuguese translation for the jQuery Timepicker Addon */ +/* Written by Diogo Damiani (diogodamiani@gmail.com) */ +(function ($) { + $.timepicker.regional['pt-BR'] = { + timeOnlyTitle: 'Escolha o horĂ¡rio', + timeText: 'HorĂ¡rio', + hourText: 'Hora', + minuteText: 'Minutos', + secondText: 'Segundos', + millisecText: 'Milissegundos', + microsecText: 'Microssegundos', + timezoneText: 'Fuso horĂ¡rio', + currentText: 'Agora', + closeText: 'Fechar', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['a.m.', 'AM', 'A'], + pmNames: ['p.m.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['pt-BR']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-pt.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-pt.js new file mode 100644 index 0000000..0aa792e --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-pt.js @@ -0,0 +1,22 @@ +/* Portuguese translation for the jQuery Timepicker Addon */ +/* Written by Luan Almeida */ +(function($) { + $.timepicker.regional['pt'] = { + timeOnlyTitle: 'Escolha uma hora', + timeText: 'Hora', + hourText: 'Horas', + minuteText: 'Minutos', + secondText: 'Segundos', + millisecText: 'Milissegundos', + microsecText: 'Microssegundos', + timezoneText: 'Fuso horĂ¡rio', + currentText: 'Agora', + closeText: 'Fechar', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['a.m.', 'AM', 'A'], + pmNames: ['p.m.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['pt']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ro.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ro.js new file mode 100644 index 0000000..4f5f386 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ro.js @@ -0,0 +1,22 @@ +/* Romanian translation for the jQuery Timepicker Addon */ +/* Written by Romeo Adrian Cioaba */ +(function($) { + $.timepicker.regional['ro'] = { + timeOnlyTitle: 'AlegeÅ£i o oră', + timeText: 'Timp', + hourText: 'Ore', + minuteText: 'Minute', + secondText: 'Secunde', + millisecText: 'Milisecunde', + microsecText: 'Microsecunde', + timezoneText: 'Fus orar', + currentText: 'Acum', + closeText: 'Ănchide', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['ro']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ru.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ru.js new file mode 100644 index 0000000..b539a73 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-ru.js @@ -0,0 +1,22 @@ +/* Russian translation for the jQuery Timepicker Addon */ +/* Written by Trent Richardson */ +(function($) { + $.timepicker.regional['ru'] = { + timeOnlyTitle: 'Đ’Ñ‹Đ±ĐµÑ€Đ¸Ñ‚Đµ Đ²Ñ€ĐµĐ¼Ñ', + timeText: 'Đ’Ñ€ĐµĐ¼Ñ', + hourText: 'ЧаÑÑ‹', + minuteText: 'ĐœĐ¸Đ½ÑƒÑ‚Ñ‹', + secondText: 'Đ¡ĐµĐºÑƒĐ½Đ´Ñ‹', + millisecText: 'ĐœĐ¸Đ»Đ»Đ¸ÑĐµĐºÑƒĐ½Đ´Ñ‹', + microsecText: 'ĐœĐ¸ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Ñ‹', + timezoneText: 'ЧаÑĐ¾Đ²Đ¾Đ¹ Đ¿Đ¾ÑÑ', + currentText: 'Đ¡ĐµĐ¹Ñ‡Đ°Ñ', + closeText: 'Đ—Đ°ĐºÑ€Ñ‹Ñ‚ÑŒ', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['ru']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sk.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sk.js new file mode 100644 index 0000000..eee0d0b --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sk.js @@ -0,0 +1,22 @@ +/* Slovak translation for the jQuery Timepicker Addon */ +/* Written by David Vallner */ +(function($) { + $.timepicker.regional['sk'] = { + timeOnlyTitle: 'Zvoľte Äas', + timeText: 'ÄŒas', + hourText: 'Hodiny', + minuteText: 'MinĂºty', + secondText: 'Sekundy', + millisecText: 'Milisekundy', + microsecText: 'Mikrosekundy', + timezoneText: 'ÄŒasovĂ© pĂ¡smo', + currentText: 'Teraz', + closeText: 'ZavrieÅ¥', + timeFormat: 'H:m', + timeSuffix: '', + amNames: ['dop.', 'AM', 'A'], + pmNames: ['pop.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['sk']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sl.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sl.js new file mode 100644 index 0000000..0906b10 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sl.js @@ -0,0 +1,22 @@ +/* Slovenian translation for the jQuery Timepicker Addon */ +/* Written by Hadalin (https://github.com/hadalin) */ +(function($) { + $.timepicker.regional['sl'] = { + timeOnlyTitle: 'Izberite Äas', + timeText: 'ÄŒas', + hourText: 'Ura', + minuteText: 'Minute', + secondText: 'Sekunde', + millisecText: 'Milisekunde', + microsecText: 'Mikrosekunde', + timezoneText: 'ÄŒasovni pas', + currentText: 'Sedaj', + closeText: 'Zapri', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['dop.', 'AM', 'A'], + pmNames: ['pop.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['sl']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sq.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sq.js new file mode 100644 index 0000000..d93d88c --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sq.js @@ -0,0 +1,22 @@ +/* Albanian translation for the jQuery Timepicker Addon */ +/* Written by Olti Buzi */ +(function($) { + $.timepicker.regional['sq'] = { + timeOnlyTitle: 'Zgjidh orarin', + timeText: 'Orari', + hourText: 'Ora', + minuteText: 'Minuta', + secondText: 'Sekonda', + millisecText: 'Minisekonda', + microsecText: 'Mikrosekonda', + timezoneText: 'Zona kohore', + currentText: 'Tani', + closeText: 'Mbyll', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['m.', 'AM', 'A'], + pmNames: ['p.', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['sq']); +})(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sr-RS.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sr-RS.js new file mode 100644 index 0000000..79a9803 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sr-RS.js @@ -0,0 +1,22 @@ +/* Serbian cyrilic translation for the jQuery Timepicker Addon */ +/* Written by Vladimir Jelovac */ +(function($) { + $.timepicker.regional['sr-RS'] = { + timeOnlyTitle: 'ĐĐ´Đ°Đ±ĐµÑ€Đ¸Ñ‚Đµ Đ²Ñ€ĐµĐ¼Đµ', + timeText: 'Đ’Ñ€ĐµĐ¼Đµ', + hourText: 'Đ¡Đ°Ñ‚Đ¸', + minuteText: 'ĐœĐ¸Đ½ÑƒÑ‚Đ¸', + secondText: 'Đ¡ĐµĐºÑƒĐ½Đ´Đµ', + millisecText: 'ĐœĐ¸Đ»Đ¸ÑĐµĐºÑƒĐ½Đ´Đµ', + microsecText: 'ĐœĐ¸ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Đµ', + timezoneText: 'Đ’Ñ€ĐµĐ¼ĐµĐ½ÑĐºĐ° Đ·Đ¾Đ½Đ°', + currentText: 'Đ¡Đ°Đ´Đ°', + closeText: 'Đ—Đ°Ñ‚Đ²Đ¾Ñ€Đ¸', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['sr-RS']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sr-YU.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sr-YU.js new file mode 100644 index 0000000..260881a --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sr-YU.js @@ -0,0 +1,22 @@ +/* Serbian latin translation for the jQuery Timepicker Addon */ +/* Written by Vladimir Jelovac */ +(function($) { + $.timepicker.regional['sr-YU'] = { + timeOnlyTitle: 'Odaberite vreme', + timeText: 'Vreme', + hourText: 'Sati', + minuteText: 'Minuti', + secondText: 'Sekunde', + millisecText: 'Milisekunde', + microsecText: 'Mikrosekunde', + timezoneText: 'Vremenska zona', + currentText: 'Sada', + closeText: 'Zatvori', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['sr-YU']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sv.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sv.js new file mode 100644 index 0000000..7bb0e7e --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-sv.js @@ -0,0 +1,22 @@ +/* Swedish translation for the jQuery Timepicker Addon */ +/* Written by Nevon */ +(function($) { + $.timepicker.regional['sv'] = { + timeOnlyTitle: 'Välj en tid', + timeText: 'Tid', + hourText: 'Timme', + minuteText: 'Minut', + secondText: 'Sekund', + millisecText: 'Millisekund', + microsecText: 'Mikrosekund', + timezoneText: 'Tidszon', + currentText: 'Nu', + closeText: 'Stäng', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['sv']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-th.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-th.js new file mode 100644 index 0000000..4eb93a5 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-th.js @@ -0,0 +1,19 @@ +/* Thai translation for the jQuery Timepicker Addon */ +/* Written by Yote Wachirapornpongsa */ +(function($) { + $.timepicker.regional['th'] = { + timeOnlyTitle: 'เลือà¸à¹€à¸§à¸¥à¸²', + timeText: 'เวลา ', + hourText: 'à¸à¸±à¹ˆà¸§à¹‚มง ', + minuteText: 'นาที', + secondText: 'วินาที', + millisecText: 'มิลลิวินาที', + microsecText: 'ไมโคริวินาที', + timezoneText: 'เขตเวลา', + currentText: 'เวลาปัจจุà¸à¸±à¸™', + closeText: 'ปิด', + timeFormat: 'hh:mm tt', + timeSuffix: '' + }; + $.timepicker.setDefaults($.timepicker.regional['th']); +})(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-tr.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-tr.js new file mode 100644 index 0000000..f426e70 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-tr.js @@ -0,0 +1,22 @@ +/* Turkish translation for the jQuery Timepicker Addon */ +/* Written by Fehmi Can Saglam, Edited by Goktug Ozturk */ +(function($) { + $.timepicker.regional['tr'] = { + timeOnlyTitle: 'Zaman Seçiniz', + timeText: 'Zaman', + hourText: 'Saat', + minuteText: 'Dakika', + secondText: 'Saniye', + millisecText: 'Milisaniye', + microsecText: 'Mikrosaniye', + timezoneText: 'Zaman Dilimi', + currentText: 'Åu an', + closeText: 'Tamam', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['Ă–Ă–', 'Ă–'], + pmNames: ['Ă–S', 'S'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['tr']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-uk.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-uk.js new file mode 100644 index 0000000..285c8ba --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-uk.js @@ -0,0 +1,22 @@ +/* Ukrainian translation for the jQuery Timepicker Addon */ +/* Written by Sergey Noskov */ +(function($) { + $.timepicker.regional['uk'] = { + timeOnlyTitle: 'Đ’Đ¸Đ±ĐµÑ€Ñ–Ñ‚ÑŒ Ñ‡Đ°Ñ', + timeText: 'ЧаÑ', + hourText: 'Đ“Đ¾Đ´Đ¸Đ½Đ¸', + minuteText: 'Đ¥Đ²Đ¸Đ»Đ¸Đ½Đ¸', + secondText: 'Đ¡ĐµĐºÑƒĐ½Đ´Đ¸', + millisecText: 'ĐœÑ–Đ»Ñ–ÑĐµĐºÑƒĐ½Đ´Đ¸', + microsecText: 'ĐœÑ–ĐºÑ€Đ¾ÑĐµĐºÑƒĐ½Đ´Đ¸', + timezoneText: 'ЧаÑĐ¾Đ²Đ¸Đ¹ Đ¿Đ¾ÑÑ', + currentText: 'Đ—Đ°Ñ€Đ°Đ·', + closeText: 'Đ—Đ°ĐºÑ€Đ¸Ñ‚Đ¸', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['uk']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-vi.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-vi.js new file mode 100644 index 0000000..59fddae --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-vi.js @@ -0,0 +1,22 @@ +/* Vietnamese translation for the jQuery Timepicker Addon */ +/* Written by Nguyen Dinh Trung */ +(function($) { + $.timepicker.regional['vi'] = { + timeOnlyTitle: 'Chá»n giá»', + timeText: 'Thá»i gian', + hourText: 'Giá»', + minuteText: 'PhĂºt', + secondText: 'GiĂ¢y', + millisecText: 'Mili giĂ¢y', + microsecText: 'MicrĂ´ giĂ¢y', + timezoneText: 'MĂºi giá»', + currentText: 'Hiện thá»i', + closeText: 'ÄĂ³ng', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['SA', 'S'], + pmNames: ['CH', 'C'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['vi']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-zh-CN.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-zh-CN.js new file mode 100644 index 0000000..a5ca804 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-zh-CN.js @@ -0,0 +1,22 @@ +/* Simplified Chinese translation for the jQuery Timepicker Addon / +/ Written by Will Lu */ +(function($) { + $.timepicker.regional['zh-CN'] = { + timeOnlyTitle: '选择时间', + timeText: '时间', + hourText: 'å°æ—¶', + minuteText: '分钟', + secondText: '秒钟', + millisecText: '毫秒', + microsecText: '微秒', + timezoneText: '时区', + currentText: 'ç°åœ¨æ—¶é—´', + closeText: '关闭', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['zh-CN']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-zh-TW.js b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-zh-TW.js new file mode 100644 index 0000000..762797b --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/i18n/jquery-ui-timepicker-zh-TW.js @@ -0,0 +1,22 @@ +/* Chinese translation for the jQuery Timepicker Addon */ +/* Written by Alang.lin */ +(function($) { + $.timepicker.regional['zh-TW'] = { + timeOnlyTitle: 'é¸æ“‡æ™‚分秒', + timeText: '時間', + hourText: '時', + minuteText: '分', + secondText: '秒', + millisecText: '毫秒', + microsecText: '微秒', + timezoneText: '時å€', + currentText: 'ç¾åœ¨æ™‚é–“', + closeText: '確å®', + timeFormat: 'HH:mm', + timeSuffix: '', + amNames: ['ä¸åˆ', 'AM', 'A'], + pmNames: ['下åˆ', 'PM', 'P'], + isRTL: false + }; + $.timepicker.setDefaults($.timepicker.regional['zh-TW']); +})(jQuery); diff --git a/framework/reon/assets/js/timepicker-addon/jquery-ui-sliderAccess.js b/framework/reon/assets/js/timepicker-addon/jquery-ui-sliderAccess.js new file mode 100644 index 0000000..b075c66 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/jquery-ui-sliderAccess.js @@ -0,0 +1,91 @@ +/* + * jQuery UI Slider Access + * By: Trent Richardson [http://trentrichardson.com] + * Version 0.3 + * Last Modified: 10/20/2012 + * + * Copyright 2011 Trent Richardson + * Dual licensed under the MIT and GPL licenses. + * http://trentrichardson.com/Impromptu/GPL-LICENSE.txt + * http://trentrichardson.com/Impromptu/MIT-LICENSE.txt + * + */ + (function($){ + + $.fn.extend({ + sliderAccess: function(options){ + options = options || {}; + options.touchonly = options.touchonly !== undefined? options.touchonly : true; // by default only show it if touch device + + if(options.touchonly === true && !("ontouchend" in document)){ + return $(this); + } + + return $(this).each(function(i,obj){ + var $t = $(this), + o = $.extend({},{ + where: 'after', + step: $t.slider('option','step'), + upIcon: 'ui-icon-plus', + downIcon: 'ui-icon-minus', + text: false, + upText: '+', + downText: '-', + buttonset: true, + buttonsetTag: 'span', + isRTL: false + }, options), + $buttons = $('<'+ o.buttonsetTag +' class="ui-slider-access">'+ + ''+ + ''+ + ''); + + $buttons.children('button').each(function(j, jobj){ + var $jt = $(this); + $jt.button({ + text: o.text, + icons: { primary: $jt.data('icon') } + }) + .click(function(e){ + var step = $jt.data('step'), + curr = $t.slider('value'), + newval = curr += step*1, + minval = $t.slider('option','min'), + maxval = $t.slider('option','max'), + slidee = $t.slider("option", "slide") || function(){}, + stope = $t.slider("option", "stop") || function(){}; + + e.preventDefault(); + + if(newval < minval || newval > maxval){ + return; + } + + $t.slider('value', newval); + + slidee.call($t, null, { value: newval }); + stope.call($t, null, { value: newval }); + }); + }); + + // before or after + $t[o.where]($buttons); + + if(o.buttonset){ + $buttons.removeClass('ui-corner-right').removeClass('ui-corner-left').buttonset(); + $buttons.eq(0).addClass('ui-corner-left'); + $buttons.eq(1).addClass('ui-corner-right'); + } + + // adjust the width so we don't break the original layout + var bOuterWidth = $buttons.css({ + marginLeft: ((o.where === 'after' && !o.isRTL) || (o.where === 'before' && o.isRTL)? 10:0), + marginRight: ((o.where === 'before' && !o.isRTL) || (o.where === 'after' && o.isRTL)? 10:0) + }).outerWidth(true) + 5; + var tOuterWidth = $t.outerWidth(true); + $t.css('display','inline-block').width(tOuterWidth-bOuterWidth); + }); + } + }); + +})(jQuery); \ No newline at end of file diff --git a/framework/reon/assets/js/timepicker-addon/jquery-ui-timepicker-addon.css b/framework/reon/assets/js/timepicker-addon/jquery-ui-timepicker-addon.css new file mode 100644 index 0000000..586a7f0 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/jquery-ui-timepicker-addon.css @@ -0,0 +1,30 @@ +.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } +.ui-timepicker-div dl { text-align: left; } +.ui-timepicker-div dl dt { float: left; clear:left; padding: 0 0 0 5px; } +.ui-timepicker-div dl dd { margin: 0 10px 10px 40%; } +.ui-timepicker-div td { font-size: 90%; } +.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } +.ui-timepicker-div .ui_tpicker_unit_hide{ display: none; } + +.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input { background: none; color: inherit; border: none; outline: none; border-bottom: solid 1px #555; width: 95%; } +.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus { border-bottom-color: #aaa; } + +.ui-timepicker-rtl{ direction: rtl; } +.ui-timepicker-rtl dl { text-align: right; padding: 0 5px 0 0; } +.ui-timepicker-rtl dl dt{ float: right; clear: right; } +.ui-timepicker-rtl dl dd { margin: 0 40% 10px 10px; } + +/* Shortened version style */ +.ui-timepicker-div.ui-timepicker-oneLine { padding-right: 2px; } +.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time, +.ui-timepicker-div.ui-timepicker-oneLine dt { display: none; } +.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label { display: block; padding-top: 2px; } +.ui-timepicker-div.ui-timepicker-oneLine dl { text-align: right; } +.ui-timepicker-div.ui-timepicker-oneLine dl dd, +.ui-timepicker-div.ui-timepicker-oneLine dl dd > div { display:inline-block; margin:0; } +.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_minute:before, +.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before { content:':'; display:inline-block; } +.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before, +.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before { content:'.'; display:inline-block; } +.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide, +.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before{ display: none; } \ No newline at end of file diff --git a/framework/reon/assets/js/timepicker-addon/jquery-ui-timepicker-addon.js b/framework/reon/assets/js/timepicker-addon/jquery-ui-timepicker-addon.js new file mode 100644 index 0000000..d37bc02 --- /dev/null +++ b/framework/reon/assets/js/timepicker-addon/jquery-ui-timepicker-addon.js @@ -0,0 +1,2291 @@ +/*! jQuery Timepicker Addon - v1.6.3 - 2016-04-20 +* http://trentrichardson.com/examples/timepicker +* Copyright (c) 2016 Trent Richardson; Licensed MIT */ +(function (factory) { + if (typeof define === 'function' && define.amd) { + define(['jquery', 'jquery-ui'], factory); + } else { + factory(jQuery); + } +}(function ($) { + + /* + * Lets not redefine timepicker, Prevent "Uncaught RangeError: Maximum call stack size exceeded" + */ + $.ui.timepicker = $.ui.timepicker || {}; + if ($.ui.timepicker.version) { + return; + } + + /* + * Extend jQueryUI, get it started with our version number + */ + $.extend($.ui, { + timepicker: { + version: "1.6.3" + } + }); + + /* + * Timepicker manager. + * Use the singleton instance of this class, $.timepicker, to interact with the time picker. + * Settings for (groups of) time pickers are maintained in an instance object, + * allowing multiple different settings on the same page. + */ + var Timepicker = function () { + this.regional = []; // Available regional settings, indexed by language code + this.regional[''] = { // Default regional settings + currentText: 'Now', + closeText: 'Done', + amNames: ['AM', 'A'], + pmNames: ['PM', 'P'], + timeFormat: 'HH:mm', + timeSuffix: '', + timeOnlyTitle: 'Choose Time', + timeText: 'Time', + hourText: 'Hour', + minuteText: 'Minute', + secondText: 'Second', + millisecText: 'Millisecond', + microsecText: 'Microsecond', + timezoneText: 'Time Zone', + isRTL: false + }; + this._defaults = { // Global defaults for all the datetime picker instances + showButtonPanel: true, + timeOnly: false, + timeOnlyShowDate: false, + showHour: null, + showMinute: null, + showSecond: null, + showMillisec: null, + showMicrosec: null, + showTimezone: null, + showTime: true, + stepHour: 1, + stepMinute: 1, + stepSecond: 1, + stepMillisec: 1, + stepMicrosec: 1, + hour: 0, + minute: 0, + second: 0, + millisec: 0, + microsec: 0, + timezone: null, + hourMin: 0, + minuteMin: 0, + secondMin: 0, + millisecMin: 0, + microsecMin: 0, + hourMax: 23, + minuteMax: 59, + secondMax: 59, + millisecMax: 999, + microsecMax: 999, + minDateTime: null, + maxDateTime: null, + maxTime: null, + minTime: null, + onSelect: null, + hourGrid: 0, + minuteGrid: 0, + secondGrid: 0, + millisecGrid: 0, + microsecGrid: 0, + alwaysSetTime: true, + separator: ' ', + altFieldTimeOnly: true, + altTimeFormat: null, + altSeparator: null, + altTimeSuffix: null, + altRedirectFocus: true, + pickerTimeFormat: null, + pickerTimeSuffix: null, + showTimepicker: true, + timezoneList: null, + addSliderAccess: false, + sliderAccessArgs: null, + controlType: 'slider', + oneLine: false, + defaultValue: null, + parse: 'strict', + afterInject: null + }; + $.extend(this._defaults, this.regional['']); + }; + + $.extend(Timepicker.prototype, { + $input: null, + $altInput: null, + $timeObj: null, + inst: null, + hour_slider: null, + minute_slider: null, + second_slider: null, + millisec_slider: null, + microsec_slider: null, + timezone_select: null, + maxTime: null, + minTime: null, + hour: 0, + minute: 0, + second: 0, + millisec: 0, + microsec: 0, + timezone: null, + hourMinOriginal: null, + minuteMinOriginal: null, + secondMinOriginal: null, + millisecMinOriginal: null, + microsecMinOriginal: null, + hourMaxOriginal: null, + minuteMaxOriginal: null, + secondMaxOriginal: null, + millisecMaxOriginal: null, + microsecMaxOriginal: null, + ampm: '', + formattedDate: '', + formattedTime: '', + formattedDateTime: '', + timezoneList: null, + units: ['hour', 'minute', 'second', 'millisec', 'microsec'], + support: {}, + control: null, + + /* + * Override the default settings for all instances of the time picker. + * @param {Object} settings object - the new settings to use as defaults (anonymous object) + * @return {Object} the manager object + */ + setDefaults: function (settings) { + extendRemove(this._defaults, settings || {}); + return this; + }, + + /* + * Create a new Timepicker instance + */ + _newInst: function ($input, opts) { + var tp_inst = new Timepicker(), + inlineSettings = {}, + fns = {}, + overrides, i; + + for (var attrName in this._defaults) { + if (this._defaults.hasOwnProperty(attrName)) { + var attrValue = $input.attr('time:' + attrName); + if (attrValue) { + try { + inlineSettings[attrName] = eval(attrValue); + } catch (err) { + inlineSettings[attrName] = attrValue; + } + } + } + } + + overrides = { + beforeShow: function (input, dp_inst) { + if ($.isFunction(tp_inst._defaults.evnts.beforeShow)) { + return tp_inst._defaults.evnts.beforeShow.call($input[0], input, dp_inst, tp_inst); + } + }, + onChangeMonthYear: function (year, month, dp_inst) { + // Update the time as well : this prevents the time from disappearing from the $input field. + // tp_inst._updateDateTime(dp_inst); + if ($.isFunction(tp_inst._defaults.evnts.onChangeMonthYear)) { + tp_inst._defaults.evnts.onChangeMonthYear.call($input[0], year, month, dp_inst, tp_inst); + } + }, + onClose: function (dateText, dp_inst) { + if (tp_inst.timeDefined === true && $input.val() !== '') { + tp_inst._updateDateTime(dp_inst); + } + if ($.isFunction(tp_inst._defaults.evnts.onClose)) { + tp_inst._defaults.evnts.onClose.call($input[0], dateText, dp_inst, tp_inst); + } + } + }; + for (i in overrides) { + if (overrides.hasOwnProperty(i)) { + fns[i] = opts[i] || this._defaults[i] || null; + } + } + + tp_inst._defaults = $.extend({}, this._defaults, inlineSettings, opts, overrides, { + evnts: fns, + timepicker: tp_inst // add timepicker as a property of datepicker: $.datepicker._get(dp_inst, 'timepicker'); + }); + tp_inst.amNames = $.map(tp_inst._defaults.amNames, function (val) { + return val.toUpperCase(); + }); + tp_inst.pmNames = $.map(tp_inst._defaults.pmNames, function (val) { + return val.toUpperCase(); + }); + + // detect which units are supported + tp_inst.support = detectSupport( + tp_inst._defaults.timeFormat + + (tp_inst._defaults.pickerTimeFormat ? tp_inst._defaults.pickerTimeFormat : '') + + (tp_inst._defaults.altTimeFormat ? tp_inst._defaults.altTimeFormat : '')); + + // controlType is string - key to our this._controls + if (typeof(tp_inst._defaults.controlType) === 'string') { + if (tp_inst._defaults.controlType === 'slider' && typeof($.ui.slider) === 'undefined') { + tp_inst._defaults.controlType = 'select'; + } + tp_inst.control = tp_inst._controls[tp_inst._defaults.controlType]; + } + // controlType is an object and must implement create, options, value methods + else { + tp_inst.control = tp_inst._defaults.controlType; + } + + // prep the timezone options + var timezoneList = [-720, -660, -600, -570, -540, -480, -420, -360, -300, -270, -240, -210, -180, -120, -60, + 0, 60, 120, 180, 210, 240, 270, 300, 330, 345, 360, 390, 420, 480, 525, 540, 570, 600, 630, 660, 690, 720, 765, 780, 840]; + if (tp_inst._defaults.timezoneList !== null) { + timezoneList = tp_inst._defaults.timezoneList; + } + var tzl = timezoneList.length, tzi = 0, tzv = null; + if (tzl > 0 && typeof timezoneList[0] !== 'object') { + for (; tzi < tzl; tzi++) { + tzv = timezoneList[tzi]; + timezoneList[tzi] = { value: tzv, label: $.timepicker.timezoneOffsetString(tzv, tp_inst.support.iso8601) }; + } + } + tp_inst._defaults.timezoneList = timezoneList; + + // set the default units + tp_inst.timezone = tp_inst._defaults.timezone !== null ? $.timepicker.timezoneOffsetNumber(tp_inst._defaults.timezone) : + ((new Date()).getTimezoneOffset() * -1); + tp_inst.hour = tp_inst._defaults.hour < tp_inst._defaults.hourMin ? tp_inst._defaults.hourMin : + tp_inst._defaults.hour > tp_inst._defaults.hourMax ? tp_inst._defaults.hourMax : tp_inst._defaults.hour; + tp_inst.minute = tp_inst._defaults.minute < tp_inst._defaults.minuteMin ? tp_inst._defaults.minuteMin : + tp_inst._defaults.minute > tp_inst._defaults.minuteMax ? tp_inst._defaults.minuteMax : tp_inst._defaults.minute; + tp_inst.second = tp_inst._defaults.second < tp_inst._defaults.secondMin ? tp_inst._defaults.secondMin : + tp_inst._defaults.second > tp_inst._defaults.secondMax ? tp_inst._defaults.secondMax : tp_inst._defaults.second; + tp_inst.millisec = tp_inst._defaults.millisec < tp_inst._defaults.millisecMin ? tp_inst._defaults.millisecMin : + tp_inst._defaults.millisec > tp_inst._defaults.millisecMax ? tp_inst._defaults.millisecMax : tp_inst._defaults.millisec; + tp_inst.microsec = tp_inst._defaults.microsec < tp_inst._defaults.microsecMin ? tp_inst._defaults.microsecMin : + tp_inst._defaults.microsec > tp_inst._defaults.microsecMax ? tp_inst._defaults.microsecMax : tp_inst._defaults.microsec; + tp_inst.ampm = ''; + tp_inst.$input = $input; + + if (tp_inst._defaults.altField) { + tp_inst.$altInput = $(tp_inst._defaults.altField); + if (tp_inst._defaults.altRedirectFocus === true) { + tp_inst.$altInput.css({ + cursor: 'pointer' + }).focus(function () { + $input.trigger("focus"); + }); + } + } + + if (tp_inst._defaults.minDate === 0 || tp_inst._defaults.minDateTime === 0) { + tp_inst._defaults.minDate = new Date(); + } + if (tp_inst._defaults.maxDate === 0 || tp_inst._defaults.maxDateTime === 0) { + tp_inst._defaults.maxDate = new Date(); + } + + // datepicker needs minDate/maxDate, timepicker needs minDateTime/maxDateTime.. + if (tp_inst._defaults.minDate !== undefined && tp_inst._defaults.minDate instanceof Date) { + tp_inst._defaults.minDateTime = new Date(tp_inst._defaults.minDate.getTime()); + } + if (tp_inst._defaults.minDateTime !== undefined && tp_inst._defaults.minDateTime instanceof Date) { + tp_inst._defaults.minDate = new Date(tp_inst._defaults.minDateTime.getTime()); + } + if (tp_inst._defaults.maxDate !== undefined && tp_inst._defaults.maxDate instanceof Date) { + tp_inst._defaults.maxDateTime = new Date(tp_inst._defaults.maxDate.getTime()); + } + if (tp_inst._defaults.maxDateTime !== undefined && tp_inst._defaults.maxDateTime instanceof Date) { + tp_inst._defaults.maxDate = new Date(tp_inst._defaults.maxDateTime.getTime()); + } + tp_inst.$input.bind('focus', function () { + tp_inst._onFocus(); + }); + + return tp_inst; + }, + + /* + * add our sliders to the calendar + */ + _addTimePicker: function (dp_inst) { + var currDT = $.trim((this.$altInput && this._defaults.altFieldTimeOnly) ? this.$input.val() + ' ' + this.$altInput.val() : this.$input.val()); + + this.timeDefined = this._parseTime(currDT); + this._limitMinMaxDateTime(dp_inst, false); + this._injectTimePicker(); + this._afterInject(); + }, + + /* + * parse the time string from input value or _setTime + */ + _parseTime: function (timeString, withDate) { + if (!this.inst) { + this.inst = $.datepicker._getInst(this.$input[0]); + } + + if (withDate || !this._defaults.timeOnly) { + var dp_dateFormat = $.datepicker._get(this.inst, 'dateFormat'); + try { + var parseRes = parseDateTimeInternal(dp_dateFormat, this._defaults.timeFormat, timeString, $.datepicker._getFormatConfig(this.inst), this._defaults); + if (!parseRes.timeObj) { + return false; + } + $.extend(this, parseRes.timeObj); + } catch (err) { + $.timepicker.log("Error parsing the date/time string: " + err + + "\ndate/time string = " + timeString + + "\ntimeFormat = " + this._defaults.timeFormat + + "\ndateFormat = " + dp_dateFormat); + return false; + } + return true; + } else { + var timeObj = $.datepicker.parseTime(this._defaults.timeFormat, timeString, this._defaults); + if (!timeObj) { + return false; + } + $.extend(this, timeObj); + return true; + } + }, + + /* + * Handle callback option after injecting timepicker + */ + _afterInject: function() { + var o = this.inst.settings; + if ($.isFunction(o.afterInject)) { + o.afterInject.call(this); + } + }, + + /* + * generate and inject html for timepicker into ui datepicker + */ + _injectTimePicker: function () { + var $dp = this.inst.dpDiv, + o = this.inst.settings, + tp_inst = this, + litem = '', + uitem = '', + show = null, + max = {}, + gridSize = {}, + size = null, + i = 0, + l = 0; + + // Prevent displaying twice + if ($dp.find("div.ui-timepicker-div").length === 0 && o.showTimepicker) { + var noDisplay = ' ui_tpicker_unit_hide', + html = '
            ' + '
            ' + o.timeText + '
            ' + + '
            '; + + // Create the markup + for (i = 0, l = this.units.length; i < l; i++) { + litem = this.units[i]; + uitem = litem.substr(0, 1).toUpperCase() + litem.substr(1); + show = o['show' + uitem] !== null ? o['show' + uitem] : this.support[litem]; + + // Added by Peter Medeiros: + // - Figure out what the hour/minute/second max should be based on the step values. + // - Example: if stepMinute is 15, then minMax is 45. + max[litem] = parseInt((o[litem + 'Max'] - ((o[litem + 'Max'] - o[litem + 'Min']) % o['step' + uitem])), 10); + gridSize[litem] = 0; + + html += '
            ' + o[litem + 'Text'] + '
            ' + + '
            '; + + if (show && o[litem + 'Grid'] > 0) { + html += '
            '; + + if (litem === 'hour') { + for (var h = o[litem + 'Min']; h <= max[litem]; h += parseInt(o[litem + 'Grid'], 10)) { + gridSize[litem]++; + var tmph = $.datepicker.formatTime(this.support.ampm ? 'hht' : 'HH', {hour: h}, o); + html += ''; + } + } + else { + for (var m = o[litem + 'Min']; m <= max[litem]; m += parseInt(o[litem + 'Grid'], 10)) { + gridSize[litem]++; + html += ''; + } + } + + html += '
            ' + tmph + '' + ((m < 10) ? '0' : '') + m + '
            '; + } + html += '
            '; + } + + // Timezone + var showTz = o.showTimezone !== null ? o.showTimezone : this.support.timezone; + html += '
            ' + o.timezoneText + '
            '; + html += '
            '; + + // Create the elements from string + html += '
            '; + var $tp = $(html); + + // if we only want time picker... + if (o.timeOnly === true) { + $tp.prepend('
            ' + '
            ' + o.timeOnlyTitle + '
            ' + '
            '); + $dp.find('.ui-datepicker-header, .ui-datepicker-calendar').hide(); + } + + // add sliders, adjust grids, add events + for (i = 0, l = tp_inst.units.length; i < l; i++) { + litem = tp_inst.units[i]; + uitem = litem.substr(0, 1).toUpperCase() + litem.substr(1); + show = o['show' + uitem] !== null ? o['show' + uitem] : this.support[litem]; + + // add the slider + tp_inst[litem + '_slider'] = tp_inst.control.create(tp_inst, $tp.find('.ui_tpicker_' + litem + '_slider'), litem, tp_inst[litem], o[litem + 'Min'], max[litem], o['step' + uitem]); + + // adjust the grid and add click event + if (show && o[litem + 'Grid'] > 0) { + size = 100 * gridSize[litem] * o[litem + 'Grid'] / (max[litem] - o[litem + 'Min']); + $tp.find('.ui_tpicker_' + litem + ' table').css({ + width: size + "%", + marginLeft: o.isRTL ? '0' : ((size / (-2 * gridSize[litem])) + "%"), + marginRight: o.isRTL ? ((size / (-2 * gridSize[litem])) + "%") : '0', + borderCollapse: 'collapse' + }).find("td").click(function (e) { + var $t = $(this), + h = $t.html(), + n = parseInt(h.replace(/[^0-9]/g), 10), + ap = h.replace(/[^apm]/ig), + f = $t.data('for'); // loses scope, so we use data-for + + if (f === 'hour') { + if (ap.indexOf('p') !== -1 && n < 12) { + n += 12; + } + else { + if (ap.indexOf('a') !== -1 && n === 12) { + n = 0; + } + } + } + + tp_inst.control.value(tp_inst, tp_inst[f + '_slider'], litem, n); + + tp_inst._onTimeChange(); + tp_inst._onSelectHandler(); + }).css({ + cursor: 'pointer', + width: (100 / gridSize[litem]) + '%', + textAlign: 'center', + overflow: 'hidden' + }); + } // end if grid > 0 + } // end for loop + + // Add timezone options + this.timezone_select = $tp.find('.ui_tpicker_timezone').append('').find("select"); + $.fn.append.apply(this.timezone_select, + $.map(o.timezoneList, function (val, idx) { + return $("
            + \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-select2/controls-select2.php b/framework/reon/inc/controls/controls-select2/controls-select2.php new file mode 100644 index 0000000..9a4be43 --- /dev/null +++ b/framework/reon/inc/controls/controls-select2/controls-select2.php @@ -0,0 +1,132 @@ + $field['in_prefix'] . $field['id'] . $field['in_postfix'], + 'data-minimum-input-length' => 0, + 'data-minimum-results-forsearch' => 10, + ); + + if (isset($field['tags'])) { + $attributes['data-tags'] = $field['tags']; + } + + if (isset($field['minimum_input_length'])) { + $attributes['data-minimum-input-length'] = $field['minimum_input_length']; + } + + if (isset($field['minimum_results_forsearch'])) { + $attributes['data-minimum-results-forsearch'] = $field['minimum_results_forsearch']; + } + + if (isset($field['multiple']) && $field['multiple'] == true) { + $attributes['multiple'] = 'multiple'; + } + + if (isset($field['placeholder'])) { + $attributes['data-placeholder'] = $field['placeholder']; + } + + if (isset($field['allow_clear'])) { + $attributes['data-allow-clear'] = $field['allow_clear']; + } + if (isset($field['data']) && $field['data']['ajax'] == true) { + $attributes['data-ajaxsource'] = $field['data']['source']; + + if (isset($field['data']['pagesize'])) { + $attributes['data-ajaxsource_pagesize'] = $field['data']['pagesize']; + } + + if (isset($field['data']['value_col'])) { + $attributes['data-ajaxsource_value_col'] = $field['data']['value_col']; + } + + if (isset($field['data']['value_col_pre'])) { + $attributes['data-ajaxsource_value_col_pre'] = $field['data']['value_col_pre']; + } + + + if (isset($field['data']['show_value'])) { + $attributes['data-ajaxsource_show_value'] = $field['data']['show_value']; + } + + if (isset($field['disabled_list_filter'])) { + $attributes['data-ajaxsource_disabled_filter'] = $field['disabled_list_filter']; + } + } + if (isset($field['dyn_switcher_id'])) { + $attributes['data-dyn_switcher_id'] = $field['dyn_switcher_id']; + } + + if (isset($field['dyn_switcher_width'])) { + $attributes['data-dyn_switcher_width'] = $field['dyn_switcher_width']; + } + + if (isset($field['dyn_switcher_exclude'])) { + $attributes['data-dyn_switcher_exclude'] = $field['dyn_switcher_exclude']; + } + + $box_classes = array('rn-select2'); + if (isset($field['dyn_switcher_id'])) { + $box_classes[] = 'rn-dyn-switcher'; + } + $box_attributes = array('class' => ReonUtil::array_to_classes(apply_filters('reon/control-box-classes', $box_classes, $field))); + + $wrapper_class = array('rn-field-wrapper'); + if (isset($field['grey-parent']) && $field['grey-parent'] == true) { + $wrapper_class[] = 'rn-grey-parent'; + } + if ($field['center_head'] == true) { + $wrapper_class[] = 'rn-center'; + } + + if (isset($field['box_width']) && $field['box_width'] != '') { + $wrapper_class[] = 'rn-fluid-width'; + } + + $wrapper_attr = array( + 'class' => ReonUtil::array_to_classes($wrapper_class) + ); + if (isset($field['dyn_field_id'])) { + $wrapper_attr['data-dyn_field_id'] = $field['dyn_field_id']; + } + + if (isset($field['box_width']) && $field['box_width'] != '') { + $wrapper_attr['style'] = 'width:' . $field['box_width'] . ';'; + } + include 'view.php'; + } + + public static function sanitize($sanitized_option, $raw_option, $field_id, $children) { + if (is_array($raw_option)) { + $r_option = array(); + foreach ($raw_option as $option) { + $r_option[] = sanitize_text_field($option); + } + return $r_option; + } else { + if ($raw_option == '<=' || $raw_option == '<' || $raw_option == '>=' || $raw_option == '>=' || $raw_option == '==' || $raw_option == '!=') { + return $raw_option; + } + + return sanitize_text_field($raw_option); + } + } + + } + + Reon_Controls_Select2::init(); +} \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-select2/view.php b/framework/reon/inc/controls/controls-select2/view.php new file mode 100644 index 0000000..9f15b19 --- /dev/null +++ b/framework/reon/inc/controls/controls-select2/view.php @@ -0,0 +1,86 @@ +
            > +
            > + + + + +
            +
            \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-simple-repeater/controls-simple-repeater.php b/framework/reon/inc/controls/controls-simple-repeater/controls-simple-repeater.php new file mode 100644 index 0000000..63069b9 --- /dev/null +++ b/framework/reon/inc/controls/controls-simple-repeater/controls-simple-repeater.php @@ -0,0 +1,496 @@ + $field['id'], + 'data-repeater-pfx' => '[' . $field['id'] . ']', + ); + + if (isset($field['max_sections'])) { + $attributes['data-max_sections'] = $field['max_sections']; + } + + if (isset($field['max_sections_msg'])) { + $attributes['data-max_sections_msg'] = $field['max_sections_msg']; + } + + + + if (!isset($field['css_class'])) { + $field['css_class'] = array(); + } + $field['css_class'][] = 'rn-repeater'; + $field['css_class'][] = 'rn-simple-repeater'; + $field['css_class'][] = 'rn-repeater-pfx'; + + if (isset($field['white_repeater']) && $field['white_repeater'] == true) { + $field['css_class'][] = 'rn-white-repeater'; + } else { + $field['css_class'][] = 'rn-grey-repeater'; + } + + if (isset($field['repeater_size']) && $field['repeater_size'] == 'small') { + $field['css_class'][] = 'rn-small-repeater'; + } + + if (isset($field['repeater_size']) && $field['repeater_size'] == 'smaller') { + $field['css_class'][] = 'rn-smaller-repeater'; + } + + + $con_classes = 'rn-repeater-sections'; + $connect_with = ''; + if (isset($field['sortable']['enabled']) && $field['sortable']['enabled'] == true) { + $con_classes = $con_classes . ' rn-sortable-repeater'; + } else { + $con_classes = $con_classes . ' rn-no-sortable'; + } + if (isset($field['sortable']['connect_with']) && $field['sortable']['connect_with'] != '') { + $con_classes = $con_classes . ' ' . $field['sortable']['connect_with']; + $connect_with = ' data-sortable-connectwith="' . esc_attr($field['sortable']['connect_with']) . '"'; + } + + if (isset($field['head']['enable']) && $field['head']['enable'] == true) { + + $field['head']['left_width'] = $field['left_width']; + $field['head']['right_width'] = $field['right_width']; + $field['head']['white_spacer'] = ''; + $field['head']['sortable'] = false; + if (isset($field['sortable']['enabled'])) { + $field['head']['sortable'] = $field['sortable']['enabled']; + } + if (isset($field['buttons_box_width'])) { + $field['head']['white_spacer'] = $field['buttons_box_width']; + } + } + + include 'view.php'; + } + + private static function render_section($template, $template_value, $template_args, $in_template = false) { + $args = ReonUtil::get_screen_args_from_field($template_args); + + if (!isset($template['buttons_sep'])) { + $template['buttons_sep'] = $template_args['buttons_sep']; + } + + if (!isset($template['buttons_box_width'])) { + if (isset($template_args['buttons_box_width'])) { + $template['buttons_box_width'] = $template_args['buttons_box_width']; + } + } + + if (!isset($template['delete_button'])) { + $template['delete_button'] = $template_args['delete_button']; + } + + if (!isset($template['clone_button'])) { + $template['clone_button'] = $template_args['clone_button']; + } + + if (!isset($template['empy_button'])) { + $template['empy_button'] = $template_args['empy_button']; + } + + + + include 'view-section.php'; + } + + private static function render_head($head) { + $left_titles = self::get_header_titles($head['titles'], 'left'); + $right_titles = self::get_header_titles($head['titles'], 'right'); + + $left_width = $head['left_width']; + $right_width = $head['right_width']; + + $is_sortable = $head['sortable']; + $white_spacer = $head['white_spacer']; + + include 'view-head.php'; + } + + private static function get_dyn_switcher_field_id($fields) { + foreach ($fields as $field) { + if (isset($field['dyn_switcher_id'])) { + return $field['id']; + } + } + return ''; + } + + private static function get_templates_by_group_id($templates, $static_template_id = array(), $group_id = false) { + $temps = array(); + if ($group_id == false) { + foreach ($templates as $temp) { + if (self::is_static_template($temp['id'], $static_template_id)) { + continue; + } + + if (!isset($temp['group_id'])) { + $temps[] = $temp; + } + } + } else { + foreach ($templates as $temp) { + if (self::is_static_template($temp['id'], $static_template_id)) { + continue; + } + + if (isset($temp['group_id']) && $temp['group_id'] == $group_id) { + $temps[] = $temp; + } + } + } + + return $temps; + } + + private static function get_template_by_id($templates, $template_id) { + foreach ($templates as $template) { + if ($template['id'] == $template_id) { + return $template; + } + } + if (count($templates) > 0) { + return $templates[0]; + } + return array(); + } + + private static function get_fields($fields, $pos) { + $re_fields = array(); + foreach ($fields as $field) { + if ($pos == 'right') { + if (isset($field['position']) && $field['position'] == 'right') { + $re_fields[] = $field; + } + } else { + if (!isset($field['position']) || $field['position'] != 'right') { + $re_fields[] = $field; + } + } + } + return $re_fields; + } + + private static function get_header_titles($cols, $pos) { + $re_cols = array(); + foreach ($cols as $col) { + if ($pos == 'right') { + if (isset($col['position']) && $col['position'] == 'right') { + if (!isset($col['tooltip'])) { + $col['tooltip'] = ''; + } + $re_cols[] = $col; + } + } else { + if (!isset($col['position']) || $col['position'] != 'right') { + if (!isset($col['tooltip'])) { + $col['tooltip'] = ''; + } + $re_cols[] = $col; + } + } + } + return $re_cols; + } + + private static function get_template_args($field) { + $args = ReonUtil::get_screen_args_from_field($field); + $args['repeater_id'] = $field['id']; + $args['filter_id'] = $field['filter_id']; + $args['buttons_sep'] = true; + $args['delete_button'] = true; + $args['empy_button'] = false; + $args['clone_button'] = true; + $args['white_repeater'] = false; + + $args['left_width'] = '100%'; + $args['right_width'] = '0%'; + if (isset($field['left_width'])) { + $args['left_width'] = $field['left_width']; + } + if (isset($field['left_width'])) { + $args['right_width'] = $field['right_width']; + } + + + if (isset($field['new_field_args'])) { + $args['field_args'] = $field['new_field_args']; + } + + if (isset($field['white_repeater']) && $field['white_repeater'] == true) { + $args['white_repeater'] = true; + } + + if (isset($field['buttons_box_width'])) { + $args['buttons_box_width'] = $field['buttons_box_width']; + } + + if (isset($field['buttons_sep'])) { + $args['buttons_sep'] = $field['buttons_sep']; + } + + if (isset($field['delete_button'])) { + $args['delete_button'] = $field['delete_button']; + } + + if (isset($field['empy_button'])) { + $args['empy_button'] = $field['empy_button']; + } + + if (isset($field['clone_button'])) { + $args['clone_button'] = $field['clone_button']; + } + if (isset($field['static_template'])) { + $args['static_template'] = $field['static_template']; + } + + if (isset($field['sortable'])) { + $args['sortable'] = $field['sortable']; + } + if (isset($field['section_type_id'])) { + $args['section_type_id'] = $field['section_type_id']; + } + + + return $args; + } + + private static function is_static_template($template_id, $static_template_ids) { + $stic_ids = $static_template_ids; + if (!is_array($stic_ids)) { + $stic_ids = array($static_template_ids); + } + foreach ($stic_ids as $stic_id) { + if ($stic_id == '') { + return false; + } + if ($stic_id == $template_id) { + return true; + } + } + + return false; + } + + public static function get_css_classes($classes, $field) { + $cls = $classes; + if ($field['type'] == 'simple-repeater') { + $cls[] = 'rn-repeater-ui'; + } + return $cls; + } + + public static function get_attributes($attributes, $field) { + $attrs = array(); + if (isset($field['in_repeater']) && $field['in_repeater'] == true) { + foreach ($attributes as $key => $value) { + + if ($key == 'id' || $key == 'name') { + continue; + } + $attrs[$key] = $value; + } + $attrs['data-repeater-name'] = $field['id']; + return $attrs; + } + return $attributes; + } + + public static function get_children_types($field_types, $rep_field, $field_args) { + + $templates = array(); + if (isset($rep_field['templates'])) { + $templates = $rep_field['templates']; + } + $rep_field['screen'] = $field_args['screen']; + if (isset($field_args['option_name'])) { + $rep_field['option_name'] = $field_args['option_name']; + } + if (isset($field_args['post_id'])) { + $rep_field['post_id'] = $field_args['post_id']; + } + if (isset($field_args['metabox_id'])) { + $rep_field['metabox_id'] = $field_args['metabox_id']; + } + if (!isset($rep_field['filter_id']) || $rep_field['filter_id'] == '') { + $rep_field['filter_id'] = $rep_field['id']; + } + + $args = ReonUtil::get_screen_args_from_field($rep_field); + $template_args = self::get_template_args($rep_field); + $args['filter_id'] = $rep_field['id']; + + if (isset($rep_field['filter_id']) && $rep_field['filter_id'] != '') { + $args['filter_id'] = $rep_field['filter_id']; + } + + $templates = apply_filters('reon/get-simple-repeater-field-' . $args['filter_id'] . '-templates', $templates, $args); + + $fields = array(); + + + + + foreach ($templates as $template) { + + + + if (isset($template['fields'])) { + foreach ($template['fields'] as $t_field) { + $fields[] = $t_field; + } + } + + $args['id'] = $template['id']; + $fields = apply_filters('roen/get-simple-repeater-template-' . $template_args['filter_id'] . '-' . $template['id'] . '-fields', $fields, $args); + + $sec_types = array( + 'id' => $template['id'], + 'type' => 'repeater-section', + ); + + if (isset($rep_field['section_type_id'])) { + $sec_types['section_type_id'] = $rep_field['section_type_id']; + } + foreach ($fields as $field) { + + if (!isset($field['sanitize_type'])) { + $field['sanitize_type'] = $field['type']; + } + + if (isset($field['merge_fields']) && $field['merge_fields'] == false && isset($field['fields'])) { + foreach (ReonUtil::get_controls_field_types($field['fields'], $field_args) as $field_type) { + $fld_tp = array( + 'id' => $field_type['id'], + 'type' => $field_type['type'], + 'sanitize_type' => $field_type['sanitize_type'], + 'screen' => $field_type['screen'], + 'children' => $field_type['children'] + ); + if (isset($field_type['option_name'])) { + $fld_tp['option_name'] = $field_type['option_name']; + } + + if (isset($field_type['post_id'])) { + $fld_tp['post_id'] = $field_type['post_id']; + } + if (isset($field_type['metabox_id'])) { + $fld_tp['metabox_id'] = $field_type['metabox_id']; + } + + $sec_types['children'][] = $fld_tp; + } + } else { + + $fld_tp = array( + 'id' => $field['id'], + 'type' => $field['type'], + 'sanitize_type' => $field['sanitize_type'], + 'screen' => $field_args['screen'], + 'children' => apply_filters('reon/get-' . $field['type'] . '-children-types', array(), $field, $field_args) + ); + if (isset($field_args['option_name'])) { + $fld_tp['option_name'] = $field_args['option_name']; + } + + if (isset($field_args['post_id'])) { + $fld_tp['post_id'] = $field_args['post_id']; + } + if (isset($field_args['metabox_id'])) { + $fld_tp['metabox_id'] = $field_args['metabox_id']; + } + + $sec_types['children'][] = $fld_tp; + } + } + $field_types[] = $sec_types; + } + + + + + + return $field_types; + } + + public static function sanitize($sanitized_option, $raw_option, $field_id, $children) { + $opt = array(); + + if (is_array($raw_option)) { + foreach ($raw_option as $r_option) { + foreach ($children as $sec_type) { + if (isset($sec_type['section_type_id'])) { + $sec_type_id = $sec_type['section_type_id']; + if (isset($r_option[$sec_type_id]) && $r_option[$sec_type_id] == $sec_type['id']) { + $option = array(); + $option[$sec_type_id] = $sec_type['id']; + foreach ($sec_type['children'] as $field_type) { + if (isset($r_option[$field_type['id']])) { + $sanitize_type = $field_type['type']; + if (isset($field_type['sanitize_type'])) { + $sanitize_type = $field_type['sanitize_type']; + } + $option[$field_type['id']] = apply_filters('reon/sanitize-' . $sanitize_type, $r_option[$field_type['id']], $r_option[$field_type['id']], $field_type['id'], $field_type['children']); + } + } + $opt[] = $option; + } + } else { + + $option = array(); + foreach ($sec_type['children'] as $field_type) { + if (isset($r_option[$field_type['id']])) { + $sanitize_type = $field_type['type']; + if (isset($field_type['sanitize_type'])) { + $sanitize_type = $field_type['sanitize_type']; + } + $option[$field_type['id']] = apply_filters('reon/sanitize-' . $sanitize_type, $r_option[$field_type['id']], $r_option[$field_type['id']], $field_type['id'], $field_type['children']); + } + } + $opt[] = $option; + } + } + } + } + + + return $opt; + } + + } + + Reon_Controls_SimpleRepeater::init(); +} \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-simple-repeater/view-head.php b/framework/reon/inc/controls/controls-simple-repeater/view-head.php new file mode 100644 index 0000000..0d964a1 --- /dev/null +++ b/framework/reon/inc/controls/controls-simple-repeater/view-head.php @@ -0,0 +1,68 @@ +
            + +
            + +
            +
            + 0) { + ?>
            + +
            >
            +
            0) { + ?>
            + +
            >
            +
            +
            + +
            + +
            + + +
            \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-simple-repeater/view-section.php b/framework/reon/inc/controls/controls-simple-repeater/view-section.php new file mode 100644 index 0000000..8d4d282 --- /dev/null +++ b/framework/reon/inc/controls/controls-simple-repeater/view-section.php @@ -0,0 +1,209 @@ +
            + + + +
            + +
            +
            + +
            +
            + + +
            + +
            + 0) { + ?> +
            +
            +
            + +
            + + 0) { + ?> +
            +
            + +
            +
            + + +
            + +
            +
            > + + + + + + + + + +
            +
            + +
            +
            > + +
            +
            + +
            +
            +
            \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-simple-repeater/view.php b/framework/reon/inc/controls/controls-simple-repeater/view.php new file mode 100644 index 0000000..f797a91 --- /dev/null +++ b/framework/reon/inc/controls/controls-simple-repeater/view.php @@ -0,0 +1,151 @@ +
            +
            > + +
            > + 0) { + $args = self::get_template_args($field); + foreach ($field['value'] as $section_value) { + + if (count($templates) > 0) { + $template_id = ''; + if (isset($field['section_type_id']) && isset($section_value[$field['section_type_id']])) { + $template_id = $section_value[$field['section_type_id']]; + } + $template = self::get_template_by_id($templates, $template_id); + + self::render_section($template, $section_value, $args); + } + } + } + ?> +
            + +
            + 'Add Section'); + if (isset($field['template_adder'])) { + $template_adder = $field['template_adder']; + } + $adder_position = ''; + if (isset($template_adder['position'])) { + if ($template_adder['position'] == 'right') { + $adder_position = ' class="rn-repeater-adder-right"'; + } + if ($template_adder['position'] == 'center') { + $adder_position = ' class="rn-repeater-adder-center"'; + } + } + ?> + > +
            + +
            + '; + } + ?> + + +
            + +
            +
            + + +
            +
            +
            +
            + + > + +
            + +
            + + diff --git a/framework/reon/inc/controls/controls-sliders/controls-slider.php b/framework/reon/inc/controls/controls-sliders/controls-slider.php new file mode 100644 index 0000000..835dcee --- /dev/null +++ b/framework/reon/inc/controls/controls-sliders/controls-slider.php @@ -0,0 +1,56 @@ + 'text', + 'name' => $field['in_prefix'] . $field['id'] . $field['in_postfix'], + ); + + if (isset($field['placeholder'])) { + $attributes['placeholder'] = $field['placeholder']; + } + + if (isset($field['value'])) { + $attributes['value'] = $field['value']; + } + $box_attributes = array('class' => ReonUtil::array_to_classes(apply_filters('reon/control-box-classes', array('rn-slider'), $field))); + + $wrp_class = array('rn-field-wrapper'); + if ($field['center_head'] == true) { + $wrp_class[] = 'rn-center'; + } + if (isset($field['grey-parent']) && $field['grey-parent'] == true) { + $wrp_class[] = 'rn-grey-parent'; + } + include 'view.php'; + } + + public static function get_css_classes($classes, $field) { + if ($field['type'] == 'slider') { + $classes[] = 'rn-noui-left'; + } + return $classes; + } + + public static function sanitize($sanitized_option, $raw_option, $field_id, $children) { + return sanitize_text_field($raw_option); + } + + } + + Reon_Controls_Slider::init(); +} \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-sliders/view.php b/framework/reon/inc/controls/controls-sliders/view.php new file mode 100644 index 0000000..80d87d1 --- /dev/null +++ b/framework/reon/inc/controls/controls-sliders/view.php @@ -0,0 +1,119 @@ +
            > +
            > + + + /> + + + 'width:100px;', + 'data-empty' => '', + 'data-postfix' => '', + 'data-min' => '0', + 'data-max' => '100', + 'data-step' => '1', + 'data-decimals' => '0', + 'data-connect' => '', //lower or upper + 'data-margin' => '', // no need + 'data-limit' => '', // no need + 'data-behaviour' => '', + ); + + + + + if (isset($field['slider_width'])) { + $slider_attr['style'] = 'width:' . $field['slider_width'] . ';'; + } + + if (isset($field['connect']) && $field['connect'] == 'lower') { + $slider_attr['data-connect'] = 'lower'; + } + if (isset($field['connect']) && $field['connect'] == 'upper') { + $slider_attr['data-connect'] = 'upper'; + } + + if (isset($field['behaviour'])) { + $slider_attr['data-behaviour'] = $field['behaviour']; + } + + if (isset($field['empty_value'])) { + $slider_attr['data-empty'] = $field['empty_value']; + } + + if (isset($field['postfix'])) { + $slider_attr['data-postfix'] = $field['postfix']; + $units[] = trim($field['postfix']); + } + + if (isset($field['min'])) { + $slider_attr['data-min'] = $field['min']; + } + + if (isset($field['max'])) { + $slider_attr['data-max'] = $field['max']; + } + + if (isset($field['step'])) { + $slider_attr['data-step'] = $field['step']; + } + + if (isset($field['decimals'])) { + $slider_attr['data-decimals'] = $field['decimals']; + } + if (isset($field['scales'])) { + foreach ($field['scales'] as $scale) { + + if (isset($scale['postfix'])) { + $pfx = trim($scale['postfix']); + if ($pfx == '%') { + $pfx = 'percent'; + } + + if (isset($scale['min'])) { + $slider_attr['data-min-' . $pfx] = $scale['min']; + } + if (isset($scale['max'])) { + $slider_attr['data-max-' . $pfx] = $scale['max']; + } + + if (isset($scale['step'])) { + $slider_attr['data-step-' . $pfx] = $scale['step']; + } + + if (isset($scale['decimals'])) { + $slider_attr['data-decimals-' . $pfx] = $scale['decimals']; + } + if (!in_array(trim($scale['postfix']), $units)) { + $units[] = trim($scale['postfix']); + } + } else { + if (isset($scale['min'])) { + $slider_attr['data-min'] = $scale['min']; + } + if (isset($scale['max'])) { + $slider_attr['data-max'] = $scale['max']; + } + + if (isset($scale['step'])) { + $slider_attr['data-step'] = $scale['step']; + } + + if (isset($scale['decimals'])) { + $slider_attr['data-decimals'] = $scale['decimals']; + } + } + } + } + if (count($units) > 0) { + $slider_attr['data-units'] = implode(',', $units); + } + ?> + > + +
            +
            \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-spinner/controls-spinner.php b/framework/reon/inc/controls/controls-spinner/controls-spinner.php new file mode 100644 index 0000000..ca0a58f --- /dev/null +++ b/framework/reon/inc/controls/controls-spinner/controls-spinner.php @@ -0,0 +1,85 @@ + 'text', + 'name' => $field['in_prefix'] . $field['id'] . $field['in_postfix'], + ); + + if (isset($field['placeholder'])) { + $attributes['placeholder'] = $field['placeholder']; + } + + if (isset($field['max'])) { + $attributes['data-max'] = $field['max']; + } + + if (isset($field['min'])) { + $attributes['data-min'] = $field['min']; + } + + if (isset($field['step'])) { + $attributes['data-step'] = $field['step']; + } + + if (isset($field['allow_offset_value']) && $field['allow_offset_value'] != true) { + $attributes['data-offset'] = false; + } else { + $attributes['data-offset'] = true; + } + + + + if (isset($field['value'])) { + $attributes['value'] = $field['value']; + } + $box_attributes = array('class' => ReonUtil::array_to_classes(apply_filters('reon/control-box-classes', array('rn-spinner'), $field))); + $wrapper_class = array('rn-field-wrapper'); + if ($field['center_head'] == true) { + $wrapper_class[] = 'rn-center'; + } + + if (isset($field['box_width']) && $field['box_width'] != '') { + $wrapper_class[] = 'rn-fluid-width'; + } + + if (isset($field['grey-parent']) && $field['grey-parent'] == true) { + $wrapper_class[] = 'rn-grey-parent'; + } + + $wrapper_attr = array( + 'class' => ReonUtil::array_to_classes($wrapper_class) + ); + + + + if (isset($field['dyn_field_id'])) { + $wrapper_attr['data-dyn_field_id'] = $field['dyn_field_id']; + } + + if (isset($field['box_width']) && $field['box_width'] != '') { + $wrapper_attr['style'] = 'width:' . $field['box_width'] . ';'; + } + include 'view.php'; + } + + public static function sanitize($sanitized_option, $raw_option, $field_id, $children) { + return sanitize_text_field($raw_option); + } + + } + + Reon_Controls_Spinner::init(); +} \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-spinner/view.php b/framework/reon/inc/controls/controls-spinner/view.php new file mode 100644 index 0000000..2dc585d --- /dev/null +++ b/framework/reon/inc/controls/controls-spinner/view.php @@ -0,0 +1,15 @@ +
            > +
            > + + /> + +
            + +
            \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-switchbutton/controls-switchbutton.php b/framework/reon/inc/controls/controls-switchbutton/controls-switchbutton.php new file mode 100644 index 0000000..992bfb0 --- /dev/null +++ b/framework/reon/inc/controls/controls-switchbutton/controls-switchbutton.php @@ -0,0 +1,52 @@ + 'hidden', + 'name' => $field['in_prefix'] . $field['id'] . $field['in_postfix'], + ); + + if (!isset($field['css_class'])) { + $field['css_class'] = array(); + } + $field['css_class'][] = 'rn-opt-value'; + + $is_on = false; + $attributes['value'] = $field['off_value']; + + if (isset($field['value']) && $field['value'] == $field['on_value']) { + $attributes['value'] = $field['on_value']; + $is_on = true; + } + + $box_attributes = array('class' => ReonUtil::array_to_classes(apply_filters('reon/control-box-classes', array('rn-field', 'rn-btnset', 'rn-button-set'), $field))); + $box_attributes['data-multiple'] = false; + include 'view.php'; + } + + public static function sanitize($sanitized_option, $raw_option, $field_id, $children) { + return sanitize_text_field($raw_option); + } + + } + + Reon_Controls_SwitchButton::init(); +} \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-switchbutton/view.php b/framework/reon/inc/controls/controls-switchbutton/view.php new file mode 100644 index 0000000..797ed9a --- /dev/null +++ b/framework/reon/inc/controls/controls-switchbutton/view.php @@ -0,0 +1,7 @@ +
            > +
            > + + + /> +
            +
            diff --git a/framework/reon/inc/controls/controls-textarea/controls-textarea.php b/framework/reon/inc/controls/controls-textarea/controls-textarea.php new file mode 100644 index 0000000..f48637a --- /dev/null +++ b/framework/reon/inc/controls/controls-textarea/controls-textarea.php @@ -0,0 +1,54 @@ + $field['in_prefix'] . $field['id'] . $field['in_postfix'], + ); + + if (isset($field['placeholder'])) { + $attributes['placeholder'] = $field['placeholder']; + } + + if (isset($field['height'])) { + $attributes['height'] = $field['height']; + } + + if (isset($field['cols'])) { + $attributes['cols'] = $field['cols']; + } + + if (isset($field['rows'])) { + $attributes['rows'] = $field['rows']; + } + + $box_css = array('rn-field-wrapper'); + if ($field['center_head'] == true) { + $box_css[] = 'rn-center'; + } + if (isset($field['grey-parent']) && $field['grey-parent'] == true) { + $box_css[] = 'rn-grey-parent'; + } + include 'view.php'; + } + + public static function sanitize($sanitized_option, $raw_option, $field_id, $children) { + return sanitize_textarea_field($raw_option); + } + + } + + Reon_Controls_TextArea::init(); +} \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-textarea/view.php b/framework/reon/inc/controls/controls-textarea/view.php new file mode 100644 index 0000000..c05df9d --- /dev/null +++ b/framework/reon/inc/controls/controls-textarea/view.php @@ -0,0 +1,3 @@ +
            > + +
            \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-textblock/controls-textblock.php b/framework/reon/inc/controls/controls-textblock/controls-textblock.php new file mode 100644 index 0000000..cab1950 --- /dev/null +++ b/framework/reon/inc/controls/controls-textblock/controls-textblock.php @@ -0,0 +1,76 @@ + 0) { + $box_attributes = array('class' => ReonUtil::array_to_classes(apply_filters('reon/control-box-classes', $css_classes, $field))); + } + + + $wrapper_class = array('rn-field-wrapper'); + if ($field['center_head'] == true) { + $wrapper_class[] = 'rn-center'; + } + + if (isset($field['box_width']) && $field['box_width'] != '') { + $wrapper_class[] = 'rn-fluid-width'; + } + + $wrapper_attr = array( + 'class' => ReonUtil::array_to_classes($wrapper_class) + ); + if (isset($field['dyn_field_id'])) { + $wrapper_attr['data-dyn_field_id'] = $field['dyn_field_id']; + } + + if (isset($field['box_width']) && $field['box_width'] != '') { + $wrapper_attr['style'] = 'width:' . $field['box_width'] . ';'; + } + $text = ''; + if (isset($field['text'])) { + $text = $field['text']; + } + include 'view.php'; + } + + } + + Reon_Controls_TextBlock::init(); +} \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-textblock/view.php b/framework/reon/inc/controls/controls-textblock/view.php new file mode 100644 index 0000000..76cdb0c --- /dev/null +++ b/framework/reon/inc/controls/controls-textblock/view.php @@ -0,0 +1,14 @@ +
            > + +
            > + +
            + + +
            \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-textbox/controls-textbox.php b/framework/reon/inc/controls/controls-textbox/controls-textbox.php new file mode 100644 index 0000000..0940e27 --- /dev/null +++ b/framework/reon/inc/controls/controls-textbox/controls-textbox.php @@ -0,0 +1,69 @@ + 'text', + 'name' => $field['in_prefix'] . $field['id'] . $field['in_postfix'], + ); + + if (isset($field['placeholder'])) { + $attributes['placeholder'] = $field['placeholder']; + } + + if (isset($field['input_type'])) { + $attributes['type'] = $field['input_type']; + } + + if (isset($field['value'])) { + $attributes['value'] = $field['value']; + } + $box_attributes = array('class' => ReonUtil::array_to_classes(apply_filters('reon/control-box-classes', array('rn-field', 'rn-textbox'), $field))); + + + $wrapper_class = array('rn-field-wrapper'); + if (isset($field['grey-parent']) && $field['grey-parent'] == true) { + $wrapper_class[] = 'rn-grey-parent'; + } + if ($field['center_head'] == true) { + $wrapper_class[] = 'rn-center'; + } + + if (isset($field['box_width']) && $field['box_width'] != '') { + $wrapper_class[] = 'rn-fluid-width'; + } + + $wrapper_attr = array( + 'class' => ReonUtil::array_to_classes($wrapper_class) + ); + if (isset($field['dyn_field_id'])) { + $wrapper_attr['data-dyn_field_id'] = $field['dyn_field_id']; + } + + if (isset($field['box_width']) && $field['box_width'] != '') { + $wrapper_attr['style'] = 'width:' . $field['box_width'] . ';'; + } + include 'view.php'; + } + + public static function sanitize($sanitized_option, $raw_option, $field_id, $children) { + + return sanitize_text_field($raw_option); + } + + } + + Reon_Controls_TextBox::init(); +} \ No newline at end of file diff --git a/framework/reon/inc/controls/controls-textbox/view.php b/framework/reon/inc/controls/controls-textbox/view.php new file mode 100644 index 0000000..71215c4 --- /dev/null +++ b/framework/reon/inc/controls/controls-textbox/view.php @@ -0,0 +1,10 @@ +
            > + + +
            \ No newline at end of file diff --git a/framework/reon/inc/controls/controls.php b/framework/reon/inc/controls/controls.php new file mode 100644 index 0000000..d45cef6 --- /dev/null +++ b/framework/reon/inc/controls/controls.php @@ -0,0 +1,21 @@ + 0) { + $field['value'] = $meta_arr; + } + } else { + + $meta_ar = get_post_meta($product_id, $field['id'], false); + if (count($meta_ar) == 0 && isset($field['default'])) { + $field['value'] = $field['default']; + } else if (count($meta_ar) == 1) { + $field['value'] = $meta_ar[0]; + } + } + if ($field['is_hidden'] == true) { + do_action('reon/render-hidden-field', $field); + } else if ($field['type'] == 'heading') { + do_action('reon/render-heading-field', $field); + } else if ($field['type'] == 'paneltitle') { + do_action('reon/render-panel_title', $field); + } else if ($field['full_width'] == true) { + do_action('reon/render-fullwidth-field', $field); + } else if ($field['title'] == '' && $field['desc'] == '') { + do_action('reon/render-fullwidth-field', $field); + } else { + do_action('reon/render-normal-field', $field); + } + $index++; + } + } + +} \ No newline at end of file diff --git a/framework/reon/inc/fields/fields-metabox.php b/framework/reon/inc/fields/fields-metabox.php new file mode 100644 index 0000000..667b724 --- /dev/null +++ b/framework/reon/inc/fields/fields-metabox.php @@ -0,0 +1,70 @@ + 0) { + $field['value'] = $meta_arr; + } + } else { + + $meta_ar = get_post_meta($post_id, $field['id'], false); + if (count($meta_ar) == 0 && isset($field['default'])) { + $field['value'] = $field['default']; + } else if (count($meta_ar) == 1) { + $field['value'] = $meta_ar[0]; + } + } + + if ($field['is_hidden'] == true) { + do_action('reon/render-hidden-field', $field); + } else if ($field['type'] == 'heading') { + do_action('reon/render-heading-field', $field); + } else if ($field['type'] == 'paneltitle') { + do_action('reon/render-panel_title', $field); + } else if ($field['full_width'] == true) { + do_action('reon/render-fullwidth-field', $field); + } else if ($field['title'] == '' && $field['desc'] == '') { + do_action('reon/render-fullwidth-field', $field); + } else { + do_action('reon/render-normal-field', $field); + } + $index++; + } + } + +} \ No newline at end of file diff --git a/framework/reon/inc/fields/fields-option-page.php b/framework/reon/inc/fields/fields-option-page.php new file mode 100644 index 0000000..349b0a0 --- /dev/null +++ b/framework/reon/inc/fields/fields-option-page.php @@ -0,0 +1,56 @@ + esc_attr(ReonUtil::array_to_classes( apply_filters( 'reon/field-classes', $classes, $field )) ) ); + ?> + > + + + + + ReonUtil::array_to_classes( apply_filters( 'reon/field-classes', $classes, $field ) ) ); + ?> + > + > + + + + +
            + + + ReonUtil::array_to_classes( apply_filters( 'reon/field-classes', $classes, $field ) ) ); + ?> + > + + +
            + +
            + + +
            + + + + + ReonUtil::array_to_classes( apply_filters( 'reon/field-classes', $classes, $field ) ) ); + ?> + > + + +
            + +
            + + + +
            + + + + + + +
            + + + +
            + + +

            + +

            + '; + } + if ( isset( $label[ 'single' ] ) && $label[ 'single' ] == true ) { + ?> + + + > + $tooltip ); + } + + if ( '' == $tooltip[ 'title' ] ) { + return; + } + + $is_bottom = false; + + if ( isset( $tooltip[ 'is_bottom' ] ) ) { + + $is_bottom = $tooltip[ 'is_bottom' ]; + } + + + $attrs = array( + 'class' => ($is_bottom) ? 'rn-tips-bottom' : 'rn-tips', + 'title' => $tooltip[ 'title' ], + ); + + if ( isset( $tooltip[ 'position' ] ) && $tooltip[ 'position' ] != '' ) { + + $attrs[ 'data-position' ] = $tooltip[ 'position' ]; + } + + $inner_text = ''; + + if ( $is_bottom ) { + $inner_text = $tooltip[ 'title' ]; + } + ?> + > + $value ) { + $attrs[ $key ] = $value; + } + } + + + + if ( isset( $field[ 'width' ] ) && (!isset( $field[ 'box_width' ] ) || $field[ 'box_width' ] == '') ) { + if ( !isset( $field[ 'style' ] ) ) { + $field[ 'style' ] = array(); + } + $field[ 'style' ][ 'width' ] = $field[ 'width' ]; + } + + + + if ( isset( $field[ 'style' ] ) ) { + foreach ( $field[ 'style' ] as $key => $value ) { + $styles[ $key ] = $value; + } + $attrs[ 'style' ] = ReonUtil::array_to_styles( apply_filters( 'reon/control-styles', $styles, $fld ) ); + } + + + if ( isset( $field[ 'css_class' ] ) ) { + foreach ( $field[ 'css_class' ] as $value ) { + $classes[] = $value; + } + } + + $classes = apply_filters( 'reon/control-classes', $classes, $fld ); + if ( count( $classes ) > 0 ) { + $attrs[ 'class' ] = ReonUtil::array_to_classes( $classes ); + } + + return $attrs; + } + +} + + +add_filter( 'reon/control-box-attributes', 'reon_process_control_box_width_attributes', 10, 2 ); +if ( !function_exists( 'reon_process_control_box_width_attributes' ) ) { + + function reon_process_control_box_width_attributes( $attributes, $field ) { + if ( isset( $field[ 'width' ] ) && isset( $field[ 'box_width' ] ) && $field[ 'box_width' ] != '' ) { + $attributes[ 'style' ] = 'width:' . $field[ 'width' ] . ';'; + $field[ 'style' ][ 'width' ] = $field[ 'width' ]; + } + return $attributes; + } + +} + + + diff --git a/framework/reon/inc/metabox/metabox-page-wc.php b/framework/reon/inc/metabox/metabox-page-wc.php new file mode 100644 index 0000000..02af218 --- /dev/null +++ b/framework/reon/inc/metabox/metabox-page-wc.php @@ -0,0 +1,33 @@ + +
            + + + + + + + + +
            +
            + + +
            + + + + + + + + +
            +
            + + +
            +
            + +
            +
            +
            +
            +
            \ No newline at end of file diff --git a/framework/reon/inc/optionpage/option-page-aside-menu.php b/framework/reon/inc/optionpage/option-page-aside-menu.php new file mode 100644 index 0000000..5499759 --- /dev/null +++ b/framework/reon/inc/optionpage/option-page-aside-menu.php @@ -0,0 +1,96 @@ + 'rn_import_export', + 'title' => $import_export['title'], + 'subsection' => false, + 'group' => 0, + 'fields' => array('') + ); +} +?> +
            +
              + +
            • + id="rn_link_" href=""> + 0) || $section['id'] == 'rn_import_export') { + ?> +
                + +
              • id="rn_link_" href="">
              • + +
              + +
            • + +
            +
            \ No newline at end of file diff --git a/framework/reon/inc/optionpage/option-page-content-footer.php b/framework/reon/inc/optionpage/option-page-content-footer.php new file mode 100644 index 0000000..21df05d --- /dev/null +++ b/framework/reon/inc/optionpage/option-page-content-footer.php @@ -0,0 +1,40 @@ + \ No newline at end of file diff --git a/framework/reon/inc/optionpage/option-page-content-header-title.php b/framework/reon/inc/optionpage/option-page-content-header-title.php new file mode 100644 index 0000000..8c526c1 --- /dev/null +++ b/framework/reon/inc/optionpage/option-page-content-header-title.php @@ -0,0 +1,12 @@ + +

            + + + 0) { + ?> + + 0) { + ?> +
            +
            + +
            + +
            + \ No newline at end of file diff --git a/framework/reon/inc/optionpage/option-page-import-export.php b/framework/reon/inc/optionpage/option-page-import-export.php new file mode 100644 index 0000000..7f34291 --- /dev/null +++ b/framework/reon/inc/optionpage/option-page-import-export.php @@ -0,0 +1,79 @@ + +
            0) ? ' style="' . ReonUtil::array_to_styles($section_styles) . '"' : '';// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>> + + + + + + + +
            +
            +
            +

            + +

            +
            +
            + + +
            +
            + + +
            + +
            +
            +
            +

            + +

            +
            +
            + + + +
            +
            + + +
            +
            +
            + 1 || $page['import_export']['enable'] == true) { + $is_multi_section = true; + } + if (isset($page['page_title']) && $page['page_title'] != '') { + ?> +

            + + class="rn-container rn-option-page " data-repeater-pfx="" data-ajax-save-error="" data-ajax-reset-error="" data-option-name="" style="width:"> + +
            > + + +
            + +
            "> + 0 || count($page['header_buttons']) > 0) { + include 'option-page-content-header.php'; + } + $instance_id = ''; + if (isset($page['instance_id'])) { + $instance_id = $page['instance_id']; + } + ?> +
            +
            + + + 0) { + $section_styles = array(); + if (isset($page['default_min_height'])) { + $section_styles['min-height'] = $page['default_min_height']; + } + if (isset($section['min_height'])) { + $section_styles['min-height'] = $section['min_height']; + } + + + if (isset($page['group']) && $page['group'] == $section['group']) { + ?> +
            0) ? ' style="' . ReonUtil::array_to_styles($section_styles) . '"' : ''; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped?>> + + + + +
            +
            + +
            +
            + 0 || count($page['footer_buttons']) > 0) { + include 'option-page-content-footer.php'; + } + ?> +
            +
            +
            + + + $reon_version, + 'reon_file' => $reon_file + ); + } + + return $package; + } + + //-------------------------------- + //These codes SHOULD NOT be edited + //-------------------------------- + + function load_reon_framework() { + if (defined('REON_VERSION')) { + return; + } + $reon_package = apply_filters('load_reon', array()); + if (isset($reon_package['reon_version']) && isset($reon_package['reon_file'])) { + $reon_version = $reon_package['reon_version']; + require_once $reon_package['reon_file']; + } + } + + } + + WTARS_Shipped_Framework_Loader::init(); +} diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..d6caaf2 --- /dev/null +++ b/readme.txt @@ -0,0 +1,262 @@ +=== Table Rate Shipping Method for WooCommerce by Shipped - WooCommerce Table Rate Shipping === +Contributors: zendcrew, sundayfanz +Donate link: +Tags: table rate, table rate shipping, conditional shipping, free shipping, woocommerce shipping, woocommerce table rate shipping, cart based shipping, weight based shipping, totals based shipping, order based shipping, advanced shipping +Requires at least: 5.8 +Tested up to: 6.0.2 +Stable tag: 1.0 +Requires PHP: 5.6 +License: GPLv2 or later +License URI: https://www.gnu.org/licenses/gpl-2.0.html + +Shipped - WooCommerce Table Rate Shipping a powerful, flexible and easy-to-use shipping plugin for WooCommerce, it can be used to create multiple shipping rates based on product rules and conditions. + +== Description == + += Table Rate Shipping = +[Shipped - WooCommerce Table Rate Shipping](https://codecanyon.net/item/woocommerce-table-rate-shipping/39691473?ref=zendcrew) is a powerful, flexible and easy-to-use shipping plugin for **WooCommerce**, it can be used to create multiple shipping rates based on product rules and conditions. + +This plugin can be used to create a variety of the shipping cost types such as **costs per weight unit**, **cost per item**, **cost per shipping class**, cost per category, and so much more. Package items can also be **grouped by item unit**, **product category**, **shipping classes**, etc, and charged accordingly. + +[TRY LIVE DEMO](https://demo.zendcrew.com/shipped/) | [DOCUMENTATION](https://zencrew.freshdesk.com/support/solutions/51000121629) | [HELP CENTER](https://zencrew.freshdesk.com/support/tickets) + += Unlimited Shipping Methods = + +Create unlimited shipping methods and shipping rates based on combinations of about **35+ product rules** and **89+ conditions**, shipping costs can also be based on these same combinations, some of which include **shipping destination**, **item shipping class**, **weight**, and **cart subtotal**, just to name a few. + += Unlimited Handling Fees = + +In addition to shipping cost calculations, handling fees (or some sort of insurance costs) can also be created either as part of the shipping costs or as separate fees that can be added to the cart. + += Multiple Cart Notifications = + +Create multiple cart notifications based on combinations of any of the parameter types which include weight, package totals and shipping costs. + += Features = + +* Define shipping by countries, states and postcode / ZIP. +* Define shipping by package quantity, cart subtotals, package totals or weight. +* Define shipping by products, product categories, product tags or shipping classes. +* Define shipping by Countries, States and Postcode / ZIP. +* Define shipping by specific customers, logged in customers or all customers. +* Validate shipping based on conditional logic. +* Calculate shipping cost inclusive or exclusive of taxes. +* Supports WooCommerce shipping zones. +* Easy-to-use interface. + + + +== Premium Features == + += Shipping Costs Calculations = + +[Shipped - WooCommerce Table Rate Shipping](https://codecanyon.net/item/woocommerce-table-rate-shipping/39691473?ref=zendcrew) can be used to create dynamic shipping costs (or handling fees) based on product rules and conditions, about 22 shipping cost/fee combinations are included in the plugin: + +* **Shipping Cost Per Order** +* Fixed shipping cost +* Shipping cost per shipping class +* Shipping cost per category +* Shipping cost per tag +* Percentage shipping cost +* **Shipping Cost Per Items** +* Shipping cost per line item +* Shipping cost per item +* Shipping cost per product +* Shipping cost per product variation +* Percentage shipping cost per item +* **Shipping Cost Per Weight** +* Shipping cost per weight +* Shipping cost multiplied by items weight +* **Shipping Cost Per Length** +* Shipping cost per length +* Shipping cost multiplied by items length +* **Shipping Cost Per Width** +* Shipping cost per width +* Shipping cost multiplied by items width +* **Shipping Cost Per Height** +* Shipping cost per height +* Shipping cost multiplied by items height +* **Shipping Cost Per Surface Area** +* Shipping cost per surface area +* Shipping cost multiplied by items surface area +* **Shipping Cost Per Volume** +* Shipping cost per volume +* Shipping cost multiplied by items volume + + += Product Rules Validations = + +With [Shipped - WooCommerce Table Rate Shipping](https://codecanyon.net/item/woocommerce-table-rate-shipping/39691473?ref=zendcrew), package items can be filtered based on combinations of any of the **35+ product rules** included: + +* **Products** +* Specific Products +* Product Variations +* Product Categories +* Product Tags +* Product Attributes +* Product Quantity In Package +* **Product Prices** +* Product Price +* Product Price (excluding tax) +* Discounted Price +* Discounted Price (excluding tax) +* **Product Subtotals** +* Product Subtotal +* Product Subtotal (excluding tax) +* Discounted Subtotal +* Discounted Subtotal (excluding tax) +* **Product Weights** +* Product Weight – Weight +* Product Weight – Volumetric Weight Calculator (based on DIM Factors) +* **Product Dimensions** +* Product Length +* Product Width +* Product Height +* Product Surface Area +* Product Volume +* **Product Properties** +* Product Is Downloadable +* Product Is Featured +* Product Total Number Of Sales +* Product Is On Sale +* Product Stock Status +* Product Stock Quantity +* Product Shipping Class +* Product Is Taxable +* Product Tax Class +* Product Meta Field +* **Product Author (Multi-Vendor)** +* Product Authors +* Product Author’s Role +* Product Author’s Capability +* Product Author’s Meta Fields + += Cart / Package Conditional Logics = + +With [Shipped - WooCommerce Table Rate Shipping](https://codecanyon.net/item/woocommerce-table-rate-shipping/39691473?ref=zendcrew), **shipping costs**, **handling fees** and **cart notifications** can be created based on combinations of any of the **89+ conditional logics**: + +* **Shipping Cost Based On GeoIP Locations** +* GeoIP Continents +* GeoIP Countries +* **Shipping Cost Based On Shipping Address** +* Shipping Continents +* Shipping Countries +* Shipping States +* Shipping Cities +* Shipping Postcode / ZIP +* **Shipping Cost Based On Billing** +* Payment Methods +* **Shipping Cost Based On Billing Address** +* Billing Continents +* Billing Countries +* Billing States +* Billing Cities +* Billing Postcode / ZIP +* **Shipping Cost Based On Cart & Package** +* Cart Total Quantity +* Package Total Quantity +* Number Of Cart Items +* Number Of Package Items +* Applied Coupons +* **Shipping Cost Based On Cart & Package Totals** +* Totals – Cart Subtotals (Dynamically generated based on settings) +* Totals – Package Totals (Dynamically generated based on settings) +* **Shipping Cost Based On Package Weights** +* Package Weight – Weight +* Package Weight – Volumetric Weight Calculator (based on DIM Factors) +* **Shipping Cost Based On Items In Package** +* Products In Package +* Variations In Package +* Categories In Package +* Tags In Package +* Attributes In Package +* Tax Classes In Package +* Shipping Classes In Package +* Product Meta Fields In Package +* **Shipping Cost Based On Package Item Subtotals** +* Products Subtotal +* Variations Subtotal +* Categories Subtotal +* Tags Subtotal +* Attributes Subtotal +* Tax Classes Subtotal +* Shipping Classes Subtotal +* Product Meta Fields Subtotal +* **Shipping Cost Based On Package Item Discounted Totals** +* Products Discounted Total +* Variations Discounted Total +* Categories Discounted Total +* Tags Discounted Total +* Attributes Discounted Total +* Tax Classes Discounted Total +* Shipping Classes Discounted Total +* Product Meta Fields Discounted Total +* **Shipping Cost Based On Package Item Quantities** +* Products Quantity +* Variations Quantity +* Categories Quantity +* Tags Quantity +* Attributes Quantity +* Tax Classes Quantity +* Shipping Classes Quantity +* Product Meta Fields Quantity +* **Shipping Cost Based On Customers** +* Customers +* Customer Is Logged In +* User Roles +* User Capabilities +* User Meta Field +* **Shipping Cost Based On Customer Values** +* Coupons Used +* Totals Spent +* Last Order Date +* Last Order Totals +* Average Per Order +* Maximum Per Order +* Minimum Per Order +* Number Of Order +* Number Of Reviews +* **Shipping Cost Based On Dates & Times** +* Date +* Time +* Date & Time +* Days Of Week +* Days Of Month +* Months Of Year +* **Shipping Cost Based On Purchase History** +* Purchased Products +* Purchased Variations +* Purchased Categories +* Purchased Tags +* Purchased Attributes +* **Shipping Cost Based On Purchase History Subtotals** +* Purchased Products Subtotal +* Purchased Variations Subtotal +* Purchased Categories Subtotal +* Purchased Tags Subtotal +* Purchased Attributes Subtotal +* **Shipping Cost Based On Purchase History Quantities** +* Purchased Products Quantity +* Purchased Variations Quantity +* Purchased Categories Quantity +* Purchased Tags Quantity +* Purchased Attributes Quantity + +== Screenshots == +1. Table Rate Shipping +2. Table Rate Shipping 2 +3. Table Rate Shipping 3 +4. Table Rate Shipping 4 +5. Table Rate Shipping 5 +6. Table Rate Shipping 6 +7. Table Rate Shipping 7 +8. Table Rate Shipping 8 +9. Table Rate Shipping 9 +10. Table Rate Shipping 10 +11. Table Rate Shipping 11 +12. Table Rate Shipping 12 + +== Changelog == + += 1.0 - 19/09/2022 = +Initial Release \ No newline at end of file diff --git a/table-rate-shipping-rates.php b/table-rate-shipping-rates.php new file mode 100644 index 0000000..c4cdd48 --- /dev/null +++ b/table-rate-shipping-rates.php @@ -0,0 +1,78 @@ +

            ' . esc_html__( 'WooCommerce Table Rate Shipping requires WooCommerce to be installed and activated.', 'table-rate-shipping-rates' ) . '

            '; + } + + } + + new WTARS_Shipped_Main(); +} +