diff --git a/functions.php b/functions.php
index 0a631f4..c299b5e 100644
--- a/functions.php
+++ b/functions.php
@@ -30,9 +30,6 @@ require_once dirname( __FILE__ ) . '/includes/widget-areas/widget-areas.php';
// Plugin activation class.
require_once dirname( __FILE__ ) . '/lib/class-tgm-plugin-activation.php';
-// Better Font Awesome Library.
-require_once dirname( __FILE__ ) . '/lib/better-font-awesome-library/better-font-awesome-library.php';
-
// Dev utility functions.
require_once dirname( __FILE__ ) . '/includes/utilities/utilities.php';
@@ -52,7 +49,7 @@ function trestle_theme_setup() {
// Child theme definitions (do not remove).
define( 'TRESTLE_THEME_NAME', 'Trestle' );
define( 'TRESTLE_THEME_URL', 'http://demo.mightyminnow.com/theme/trestle/' );
- define( 'TRESTLE_THEME_VERSION', '2.1.0' );
+ define( 'TRESTLE_THEME_VERSION', '2.2.1' );
define( 'TRESTLE_SETTINGS_FIELD', 'trestle-settings' );
// Setup default theme settings.
diff --git a/includes/admin/admin.php b/includes/admin/admin.php
index 6890870..57fdd88 100755
--- a/includes/admin/admin.php
+++ b/includes/admin/admin.php
@@ -18,20 +18,20 @@ function trestle_settings_defaults() {
// Trestle default key/value pairs.
$trestle_defaults = array(
- 'layout' => 'solid',
- 'logo_url' => '',
- 'logo_url_mobile' => '',
- 'favicon_url' => '',
- 'nav_primary_location' => 'full',
- 'mobile_nav_toggle' => 'small-icon',
- 'search_in_nav' => '',
- 'read_more_text' => __( 'Read More »', 'trestle' ),
- 'revisions_number' => 3,
- 'footer_widgets_number' => 3,
- 'external_link_icons' => 0,
- 'email_link_icons' => 0,
- 'pdf_link_icons' => 0,
- 'doc_link_icons' => 0,
+ 'layout' => 'solid',
+ 'logo_id' => '',
+ 'logo_id_mobile' => '',
+ 'favicon_url' => '',
+ 'nav_primary_location' => 'full',
+ 'mobile_nav_toggle' => 'small-icon',
+ 'search_in_nav' => '',
+ 'read_more_text' => __( 'Read More »', 'trestle' ),
+ 'revisions_number' => 3,
+ 'footer_widgets_number' => 3,
+ 'external_link_icons' => 0,
+ 'email_link_icons' => 0,
+ 'pdf_link_icons' => 0,
+ 'doc_link_icons' => 0,
);
// Populate Trestle settings with default values if they don't yet exist.
@@ -95,6 +95,31 @@ function trestle_admin_actions() {
}
+add_filter( 'tiny_mce_before_init', 'trestle_tiny_mce_before_init' );
+/**
+ * Add custom classes to the body of TinyMCE previews.
+ *
+ * @since 2.2.0
+ */
+function trestle_tiny_mce_before_init( $init_array ) {
+
+ global $post;
+
+ if ( $post ) {
+
+ // Custom post types always use 'post', so we only need to handle pages.
+ $post_type = ( 'page' == $post->post_type ) ? 'page' : 'post';
+
+ $init_array['body_class'] .= sprintf( ' %s-id-%s',
+ $post_type,
+ $post->ID
+ );
+
+ }
+
+ return $init_array;
+}
+
add_action( 'tgmpa_register', 'trestle_register_required_plugins' );
/**
* Loads required & recommended plugins.
@@ -159,12 +184,6 @@ function trestle_register_required_plugins() {
'required' => false,
),
- array(
- 'name' => 'My Page Order',
- 'slug' => 'my-page-order',
- 'required' => false,
- ),
-
array(
'name' => 'Post Thumbnail Editor',
'slug' => 'post-thumbnail-editor',
@@ -183,6 +202,12 @@ function trestle_register_required_plugins() {
'required' => false,
),
+ array(
+ 'name' => 'RICG Responsive Images',
+ 'slug' => 'ricg-responsive-images',
+ 'required' => false,
+ ),
+
array(
'name' => 'Widget Context',
'slug' => 'widget-context',
diff --git a/includes/admin/customizer.php b/includes/admin/customizer.php
index 3416945..4e8b69b 100755
--- a/includes/admin/customizer.php
+++ b/includes/admin/customizer.php
@@ -25,8 +25,8 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_section(
'trestle_settings_section',
array(
- 'title' => __( 'Trestle Settings', 'trestle' ),
- 'priority' => 160,
+ 'title' => __( 'Trestle Settings', 'trestle' ),
+ 'priority' => 160,
)
);
@@ -34,65 +34,67 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[layout]',
array(
- 'default' => trestle_get_option( 'layout' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
+ 'default' => trestle_get_option( 'layout' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
)
);
$wp_customize->add_control(
'trestle_layout_control',
array(
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[layout]',
- 'label' => __( 'Layout', 'trestle' ),
- 'type' => 'radio',
- 'choices' => array(
- 'bubble' => __( 'Bubble', 'trestle' ),
- 'solid' => __( 'Solid', 'trestle' ),
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[layout]',
+ 'label' => __( 'Layout', 'trestle' ),
+ 'type' => 'radio',
+ 'choices' => array(
+ 'bubble' => __( 'Bubble', 'trestle' ),
+ 'solid' => __( 'Solid', 'trestle' ),
)
)
);
// Upload a logo.
$wp_customize->add_setting(
- 'trestle-settings[logo_url]',
+ 'trestle-settings[logo_id]',
array(
- 'default' => trestle_get_option( 'logo_url' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
- 'sanitize_callback' => 'esc_url_raw',
+ 'default' => trestle_get_option( 'logo_id' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
+ 'sanitize_callback' => 'absint',
)
);
$wp_customize->add_control(
- new WP_Customize_Image_Control(
+ new WP_Customize_Media_Control(
$wp_customize,
'trestle_logo_control',
array(
- 'label' => __( 'Upload a logo', 'trestle' ),
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[logo_url]',
+ 'label' => __( 'Upload a logo', 'trestle' ),
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[logo_id]',
+ 'mime_type' => 'image',
)
)
);
// Upload a mobile logo.
$wp_customize->add_setting(
- 'trestle-settings[logo_url_mobile]',
+ 'trestle-settings[logo_id_mobile]',
array(
- 'default' => trestle_get_option( 'logo_url_mobile' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
- 'sanitize_callback' => 'esc_url_raw',
+ 'default' => trestle_get_option( 'logo_id_mobile' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
+ 'sanitize_callback' => 'absint',
)
);
$wp_customize->add_control(
- new WP_Customize_Image_Control(
+ new WP_Customize_Media_Control(
$wp_customize,
'trestle_mobile_logo_control',
array(
- 'label' => __( 'Upload a mobile logo', 'trestle' ),
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[logo_url_mobile]',
+ 'label' => __( 'Upload a mobile logo', 'trestle' ),
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[logo_id_mobile]',
+ 'mime_type' => 'image',
)
)
);
@@ -101,10 +103,10 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[favicon_url]',
array(
- 'default' => trestle_get_option( 'favicon_url' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
- 'sanitize_callback' => 'esc_url_raw',
+ 'default' => trestle_get_option( 'favicon_url' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
+ 'sanitize_callback' => 'esc_url_raw',
)
);
$wp_customize->add_control(
@@ -112,9 +114,9 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize,
'trestle_favicon_control',
array(
- 'label' => __( 'Upload a favicon', 'trestle' ),
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[favicon_url]',
+ 'label' => __( 'Upload a favicon', 'trestle' ),
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[favicon_url]',
)
)
);
@@ -123,21 +125,21 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[nav_primary_location]',
array(
- 'default' => trestle_get_option( 'nav_primary_location' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
+ 'default' => trestle_get_option( 'nav_primary_location' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
)
);
$wp_customize->add_control(
'trestle_nav_primary_location_control',
array(
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[nav_primary_location]',
- 'label' => __( 'Menu style', 'trestle' ),
- 'type' => 'select',
- 'choices' => array(
- 'full' => __( 'Full Width', 'trestle' ),
- 'header' => __( 'Header Right', 'trestle' ),
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[nav_primary_location]',
+ 'label' => __( 'Menu style', 'trestle' ),
+ 'type' => 'select',
+ 'choices' => array(
+ 'full' => __( 'Full Width', 'trestle' ),
+ 'header' => __( 'Header Right', 'trestle' ),
)
)
);
@@ -146,9 +148,9 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[mobile_nav_toggle]',
array(
- 'default' => trestle_get_option( 'mobile_nav_toggle' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
+ 'default' => trestle_get_option( 'mobile_nav_toggle' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
)
);
$wp_customize->add_control(
@@ -159,8 +161,8 @@ function trestle_customizer_controls( $wp_customize ) {
'label' => __( 'Mobile Menu Toggle', 'trestle' ),
'type' => 'select',
'choices' => array(
- 'small-icon' => __( 'Small Icon', 'trestle' ),
- 'big-button' => __( 'Big Button', 'trestle' ),
+ 'small-icon' => __( 'Small Icon', 'trestle' ),
+ 'big-button' => __( 'Big Button', 'trestle' ),
)
)
);
@@ -169,9 +171,9 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[search_in_nav]',
array(
- 'default' => trestle_get_option( 'search_in_nav' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
+ 'default' => trestle_get_option( 'search_in_nav' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
)
);
$wp_customize->add_control(
@@ -180,7 +182,7 @@ function trestle_customizer_controls( $wp_customize ) {
'section' => 'trestle_settings_section',
'settings' => 'trestle-settings[search_in_nav]',
'label' => __( 'Add search to mobile navigation', 'trestle' ),
- 'type' => 'checkbox',
+ 'type' => 'checkbox',
)
);
@@ -188,18 +190,18 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[read_more_text]',
array(
- 'default' => trestle_get_option( 'read_more_text' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
- 'sanitize_callback' => 'wp_kses_post',
+ 'default' => trestle_get_option( 'read_more_text' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
+ 'sanitize_callback' => 'wp_kses_post',
)
);
$wp_customize->add_control(
'trestle_read_more_text_control',
array(
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[read_more_text]',
- 'label' => __( 'Custom read more link text', 'trestle' ),
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[read_more_text]',
+ 'label' => __( 'Custom read more link text', 'trestle' ),
)
);
@@ -207,31 +209,32 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[revisions_number]',
array(
- 'default' => trestle_get_option( 'revisions_number' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
+ 'default' => trestle_get_option( 'revisions_number' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
+ 'sanitize_callback' => 'absint',
)
);
$wp_customize->add_control(
'trestle_revisions_number_control',
array(
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[revisions_number]',
- 'label' => __( 'Number of post revisions', 'trestle' ),
- 'type' => 'select',
- 'choices' => array(
- '-1' => __( 'Unlimited', 'trestle' ),
- '0' => '0',
- '1' => '1',
- '2' => '2',
- '3' => '3',
- '4' => '4',
- '5' => '5',
- '6' => '6',
- '7' => '7',
- '8' => '8',
- '9' => '9',
- '10' => '10',
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[revisions_number]',
+ 'label' => __( 'Number of post revisions', 'trestle' ),
+ 'type' => 'select',
+ 'choices' => array(
+ '-1' => __( 'Unlimited', 'trestle' ),
+ '0' => '0',
+ '1' => '1',
+ '2' => '2',
+ '3' => '3',
+ '4' => '4',
+ '5' => '5',
+ '6' => '6',
+ '7' => '7',
+ '8' => '8',
+ '9' => '9',
+ '10' => '10',
)
)
);
@@ -240,26 +243,26 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[footer_widgets_number]',
array(
- 'default' => trestle_get_option( 'footer_widgets_number' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
+ 'default' => trestle_get_option( 'footer_widgets_number' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
)
);
$wp_customize->add_control(
'trestle_footer_widgets_number_control',
array(
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[footer_widgets_number]',
- 'label' => __( 'Number of footer widgets', 'trestle' ),
- 'type' => 'select',
- 'choices' => array(
- '0' => '0',
- '1' => '1',
- '2' => '2',
- '3' => '3',
- '4' => '4',
- '5' => '5',
- '6' => '6',
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[footer_widgets_number]',
+ 'label' => __( 'Number of footer widgets', 'trestle' ),
+ 'type' => 'select',
+ 'choices' => array(
+ '0' => '0',
+ '1' => '1',
+ '2' => '2',
+ '3' => '3',
+ '4' => '4',
+ '5' => '5',
+ '6' => '6',
)
)
);
@@ -268,17 +271,17 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[link_icons_title]',
array(
- 'default' => '',
- 'type' => 'option',
+ 'default' => '',
+ 'type' => 'option',
)
);
$wp_customize->add_control(
'trestle_link_icons_title',
array(
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[link_icons_title]',
- 'label' => __( 'Icon links', 'trestle' ),
- 'type' => 'hidden',
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[link_icons_title]',
+ 'label' => __( 'Icon links', 'trestle' ),
+ 'type' => 'hidden',
)
);
@@ -286,18 +289,18 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[external_link_icons]',
array(
- 'default' => trestle_get_option( 'external_link_icons' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
+ 'default' => trestle_get_option( 'external_link_icons' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
)
);
$wp_customize->add_control(
'trestle_external_link_icons',
array(
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[external_link_icons]',
- 'label' => __( 'Add icons to external links', 'trestle' ),
- 'type' => 'checkbox',
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[external_link_icons]',
+ 'label' => __( 'Add icons to external links', 'trestle' ),
+ 'type' => 'checkbox',
)
);
@@ -305,18 +308,18 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[email_link_icons]',
array(
- 'default' => trestle_get_option( 'email_link_icons' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
+ 'default' => trestle_get_option( 'email_link_icons' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
)
);
$wp_customize->add_control(
'trestle_email_link_icons',
array(
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[email_link_icons]',
- 'label' => __( 'Add icons to email links', 'trestle' ),
- 'type' => 'checkbox',
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[email_link_icons]',
+ 'label' => __( 'Add icons to email links', 'trestle' ),
+ 'type' => 'checkbox',
)
);
@@ -324,18 +327,18 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[pdf_link_icons]',
array(
- 'default' => trestle_get_option( 'pdf_link_icons' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
+ 'default' => trestle_get_option( 'pdf_link_icons' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
)
);
$wp_customize->add_control(
'trestle_pdf_link_icons',
array(
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[pdf_link_icons]',
- 'label' => __( 'Add icons to .pdf links', 'trestle' ),
- 'type' => 'checkbox',
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[pdf_link_icons]',
+ 'label' => __( 'Add icons to .pdf links', 'trestle' ),
+ 'type' => 'checkbox',
)
);
@@ -343,18 +346,18 @@ function trestle_customizer_controls( $wp_customize ) {
$wp_customize->add_setting(
'trestle-settings[doc_link_icons]',
array(
- 'default' => trestle_get_option( 'doc_link_icons' ),
- 'type' => 'option',
- 'capability' => 'edit_theme_options',
+ 'default' => trestle_get_option( 'doc_link_icons' ),
+ 'type' => 'option',
+ 'capability' => 'edit_theme_options',
)
);
$wp_customize->add_control(
'trestle_doc_link_icons',
array(
- 'section' => 'trestle_settings_section',
- 'settings' => 'trestle-settings[doc_link_icons]',
- 'label' => __( 'Add icons to .doc links', 'trestle' ),
- 'type' => 'checkbox',
+ 'section' => 'trestle_settings_section',
+ 'settings' => 'trestle-settings[doc_link_icons]',
+ 'label' => __( 'Add icons to .doc links', 'trestle' ),
+ 'type' => 'checkbox',
)
);
diff --git a/includes/functions/theme-functions.php b/includes/functions/theme-functions.php
index e5f8b21..ae967a7 100755
--- a/includes/functions/theme-functions.php
+++ b/includes/functions/theme-functions.php
@@ -29,6 +29,9 @@ function trestle_add_theme_support() {
// Add support for footer widgets if specified in Trestle settings.
add_theme_support( 'genesis-footer-widgets', trestle_get_option( 'footer_widgets_number' ) );
+ //* Add Accessibility support
+ add_theme_support( 'genesis-accessibility', array( 'headings', 'drop-down-menu', 'search-form', 'skip-links', 'rems' ) );
+
}
add_action( 'after_setup_theme', 'trestle_remove_genesis_css_enqueue' );
@@ -55,6 +58,9 @@ add_action( 'init', 'trestle_load_bfa' );
*/
function trestle_load_bfa() {
+ // Better Font Awesome Library
+ require_once trailingslashit( get_stylesheet_directory() ) . 'lib/better-font-awesome-library/better-font-awesome-library.php';
+
// Set the library initialization args.
$args = array(
'version' => 'latest',
@@ -192,7 +198,7 @@ function trestle_body_classes( $classes ) {
}
// Add logo class.
- if ( trestle_get_option( 'logo_url' ) || trestle_get_option( 'logo_url_mobile' ) ) {
+ if ( trestle_get_option( 'logo_id' ) || trestle_get_option( 'logo_id_mobile' ) ) {
$classes[] = 'has-logo';
}
@@ -213,46 +219,59 @@ add_filter( 'genesis_seo_title', 'trestle_do_logos', 10, 3 );
*/
function trestle_do_logos( $title, $inside, $wrap ) {
- $logo_url = trestle_get_option( 'logo_url' );
- $logo_url_mobile = trestle_get_option( 'logo_url_mobile' );
+ $logo_id = trestle_get_option( 'logo_id' );
+ $logo_id_mobile = trestle_get_option( 'logo_id_mobile' );
$logo_html = '';
// Regular logo.
- if ( $logo_url ) {
+ if ( $logo_id ) {
- // Default logo class.
- $classes = array('logo-full');
+ // Default logo classes.
+ $classes = array(
+ 'logo',
+ 'logo-full'
+ );
// If no mobile logo is specified, make regular logo act as mobile logo too.
- if( ! $logo_url_mobile )
+ if( ! $logo_id_mobile ) {
$classes[] = 'show';
+ }
- $logo_html .= sprintf( '
',
- implode(' ', $classes),
- esc_attr( get_bloginfo( 'name' ) ),
- $logo_url
+ // Prepare the classes.
+ $logo_attr = array(
+ 'class' => implode( $classes, ' ' ),
);
+
+ // Build the
tag.
+ $logo_html .= wp_get_attachment_image( $logo_id, 'full', false, $logo_attr );
+
}
// Mobile logo.
- if ( $logo_url_mobile ) {
+ if ( $logo_id_mobile ) {
// Default mobile logo class.
- $classes = array('logo-mobile');
+ $classes = array(
+ 'logo',
+ 'logo-mobile'
+ );
// If no regular logo is specified, make mobile logo act as regular logo too.
- if( ! $logo_url )
+ if( ! $logo_id )
$classes[] = 'show';
- $logo_html .= sprintf( '
',
- implode(' ', $classes),
- esc_attr( get_bloginfo( 'name' ) ),
- $logo_url_mobile
+ // Prepare the classes.
+ $logo_attr = array(
+ 'class' => implode( $classes, ' ' ),
);
+
+ // Build the
tag.
+ $logo_html .= wp_get_attachment_image( $logo_id_mobile, 'full', false, $logo_attr );
+
}
if ( $logo_html ) {
- $inside .= sprintf( '%s',
+ $inside .= sprintf( '%s',
trailingslashit( home_url() ),
esc_attr( get_bloginfo( 'name' ) ),
$logo_html
@@ -315,6 +334,26 @@ function trestle_custom_nav_extras( $nav_items, stdClass $menu_args ) {
* Posts & Pages
===========================================*/
+add_filter( 'post_class', 'trestle_post_classes' );
+/**
+ * Add extra classes to posts in certain situations.
+ *
+ * @since 2.2.0
+ *
+ * @param array $classes Post classes.
+ * @return array Updated post classes.
+ */
+function trestle_post_classes( $classes ) {
+
+ // If post doesn't have a featured image.
+ if ( ! has_post_thumbnail() ) {
+ $classes[] = 'no-featured-image';
+ }
+
+ return $classes;
+
+}
+
add_filter( 'wp_revisions_to_keep', 'trestle_update_revisions_number', 10, 2 );
/**
* Sets the number of post revisions.
@@ -382,3 +421,68 @@ function trestle_read_more_link( $default_text ) {
return $default_text;
}
}
+
+
+/*===========================================
+ * Helper Functions
+===========================================*/
+
+/**
+ * Check if image has specified image size.
+ *
+ * @since 2.2.0
+ *
+ * @param int $image_id ID of image to check.
+ * @param string $image_size Slug of image size to check for.
+ *
+ * @return true|false Whether or not the image has the specified size generated.
+ */
+function trestle_image_has_size( $image_id, $image_size = null ) {
+
+ global $_wp_additional_image_sizes;
+
+ // Return with error if no image_size is specified.
+ if ( ! $image_size ) {
+ return new WP_Error( 'no_image_size_specified', __( 'Please specify an image size.', 'trestle' ) );
+ }
+
+ // Get the attributes for the specified image size.
+ $image_size_atts = $_wp_additional_image_sizes[ $image_size ];
+
+ // Get data for specified image ID and size.
+ $img_data = wp_get_attachment_image_src( $image_id, $image_size );
+
+ // Check if the dimensions match.
+ if ( $img_data[1] == $image_size_atts['width'] && $img_data[2] == $image_size_atts['height'] ) {
+ return true;
+ }
+
+ return false;
+
+}
+
+/**
+ * Check if post is, or is a child of, a target post.
+ *
+ * @since 1.0.0
+ *
+ * @param string $post_id Post ID to check.
+ * @param string $target_id Target post ID to check against.
+ *
+ * @return true|false
+ */
+function trestle_is_current_or_descendant_post( $post_id = '', $target_id = '' ) {
+
+ // If the current post is the target post, return true.
+ if ( $post_id == $target_id ) {
+ return true;
+ }
+
+ // If the current post is a descendant of the target post.
+ if ( in_array( $target_id, get_post_ancestors( $post_id ) ) ) {
+ return true;
+ }
+
+ return false;
+
+}
\ No newline at end of file
diff --git a/includes/js/theme-jquery.js b/includes/js/theme-jquery.js
index 36b190b..99fa49f 100755
--- a/includes/js/theme-jquery.js
+++ b/includes/js/theme-jquery.js
@@ -107,8 +107,8 @@ jQuery( document ).ready( function( $ ) {
var openIcon = '-';
// Insert the icons into the nav where appropriate.
- $( '.nav-primary' ).find( '.genesis-nav-menu .parent:not( .current-menu-item, .current_page_item, .current_page_parent, .current_page_ancestor) > a' ).after( '' + closedIcon + '' );
- $( '.nav-primary' ).find( '.genesis-nav-menu .parent.current-menu-item > a, .genesis-nav-menu .parent.current_page_item > a, .genesis-nav-menu .parent.current_page_parent > a, .genesis-nav-menu .parent.current_page_ancestor > a' ).after( '' + openIcon + '' );
+ $( '.nav-primary' ).find( '.genesis-nav-menu .parent:not( [class*="current"] ) > a' ).after( '' + closedIcon + '' );
+ $( '.nav-primary' ).find( '.genesis-nav-menu .parent[class*="current"] > a' ).after( '' + openIcon + '' );
// Mobile navigation expand/contract functionality.
$( '.sub-icon' ).click( function( event ) {
diff --git a/lib/better-font-awesome-library/README.md b/lib/better-font-awesome-library/README.md
old mode 100644
new mode 100755
index fe57314..2185cdd
--- a/lib/better-font-awesome-library/README.md
+++ b/lib/better-font-awesome-library/README.md
@@ -32,54 +32,50 @@ The Better Font Awesome Library contains a [Git submodule](http://git-scm.com/bo
git clone --recursive https://github.com/MickeyKay/better-font-awesome-library.git
```
-Alternately, if you've already cloned the repo and need to add the submodules, you can run the following commands:
+Alternately, if you've already cloned the repo and need to add the submodules, you can run the following command:
```
-// Initialize all submodules.
-git submodule init
-
-// Pull in updated copies of all submodules.
-git submodule update
+// Initialize and update all submodules.
+git submodule update --init --recursive
```
## Usage ##
1. Copy the /better-font-awesome-library folder into your project.
2. Add the following code to your main plugin file or your theme's functions.php file.
- ```
- // Include the main library file. Make sure to modify the path to match your directory structure.
- require_once ( dirname( __FILE__ ) . '/better-font-awesome-library/better-font-awesome-library.php' );
-
- add_action( 'plugins_loaded', 'my_prefix_load_bfa' );
+ ```php
+ add_action( 'init', 'my_prefix_load_bfa' );
/**
* Initialize the Better Font Awesome Library.
*
* (see usage notes below on proper hook priority)
*/
function my_prefix_load_bfa() {
+
+ // Include the main library file. Make sure to modify the path to match your directory structure.
+ require_once ( dirname( __FILE__ ) . '/better-font-awesome-library/better-font-awesome-library.php' );
// Set the library initialization args (defaults shown).
$args = array(
- 'version' => 'latest',
- 'minified' => true,
- 'remove_existing_fa' => false,
- 'load_styles' => true,
- 'load_admin_styles' => true,
- 'load_shortcode' => true,
- 'load_tinymce_plugin' => true,
+ 'version' => 'latest',
+ 'minified' => true,
+ 'remove_existing_fa' => false,
+ 'load_styles' => true,
+ 'load_admin_styles' => true,
+ 'load_shortcode' => true,
+ 'load_tinymce_plugin' => true,
);
// Initialize the Better Font Awesome Library.
Better_Font_Awesome_Library::get_instance( $args );
-
}
```
3. If desired, use the [Better Font Awesome Library object](#the-better-font-awesome-library-object) to manually include Font Awesome CSS, output lists of available icons, create your own shortcodes, and much more.
#### Usage Notes ####
-The Better Font Awesome Library is designed to work in conjunction with the [Better Font Awesome](https://wordpress.org/plugins/better-font-awesome/) WordPress plugin. The plugin initializes this library (with its initialization args) on the `plugins_loaded` hook, priority `5`. When using the Better Font Awesome Library in your project, you have two options:
+The Better Font Awesome Library is designed to work in conjunction with the [Better Font Awesome](https://wordpress.org/plugins/better-font-awesome/) WordPress plugin. The plugin initializes this library (with its initialization args) on the `init` hook, priority `5`. When using the Better Font Awesome Library in your project, you have two options:
-1. Initialize later, to ensure that any Better Font Awesome plugin settings override yours.
+1. Initialize later, to ensure that any Better Font Awesome plugin settings override yours (this is the default behavior, shown above by initializing the library on the `init` hook with default priority `10`.
1. Initialize earlier, to "take over" and prevent Better Font Awesome settings from having an effect.
## Initialization Parameters ($args) ##
@@ -171,7 +167,7 @@ The object has the following public methods:
(array) Returns all library errors, including API and CDN fetch failures.
#### Example: ####
-```
+```php
// Initialize the library with custom args.
Better_Font_Awesome_Library::get_instance( $args );
diff --git a/lib/better-font-awesome-library/better-font-awesome-library.php b/lib/better-font-awesome-library/better-font-awesome-library.php
old mode 100644
new mode 100755
index 27c7b1c..ce1c09d
--- a/lib/better-font-awesome-library/better-font-awesome-library.php
+++ b/lib/better-font-awesome-library/better-font-awesome-library.php
@@ -32,8 +32,8 @@ class Better_Font_Awesome_Library {
/**
* Better Font Awesome Library slug.
*
- * @since 1.0.0
- *
+ * @since 1.0.0
+ *
* @var string
*/
const SLUG = 'bfa';
@@ -42,25 +42,25 @@ class Better_Font_Awesome_Library {
* Better Font Awesome Library version slug.
*
* @since 1.0.0
- *
+ *
* @var string
*/
- const VERSION = '1.0.0';
+ const VERSION = '1.4.0';
/**
* jsDelivr API URL for Font Awesome version info.
*
* @since 1.0.0
- *
+ *
* @var string
*/
const JSDELIVR_API_URL = 'http://api.jsdelivr.com/v1/jsdelivr/libraries/fontawesome/?fields=versions,lastversion';
-
+
/**
* Initialization args.
*
- * @since 1.0.0
- *
+ * @since 1.0.0
+ *
* @var array
*/
private $args;
@@ -69,7 +69,7 @@ class Better_Font_Awesome_Library {
* Default args to use if any $arg isn't specified.
*
* @since 1.0.0
- *
+ *
* @var array
*/
private $default_args = array(
@@ -82,6 +82,15 @@ class Better_Font_Awesome_Library {
'load_tinymce_plugin' => true,
);
+ /**
+ * Root URL of the library.
+ *
+ * @since 1.0.4
+ *
+ * @var string
+ */
+ private $root_url;
+
/**
* Args for wp_remote_get() calls.
*
@@ -90,14 +99,15 @@ class Better_Font_Awesome_Library {
* @var array
*/
private $wp_remote_get_args = array(
- 'timeout' => 10
+ 'timeout' => 10,
+ 'sslverify' => false,
);
/**
* Array to hold the jsDelivr API data.
*
* @since 1.0.0
- *
+ *
* @var string
*/
private $api_data = array();
@@ -106,7 +116,7 @@ class Better_Font_Awesome_Library {
* Version of Font Awesome being used.
*
* @since 1.0.0
- *
+ *
* @var string
*/
private $font_awesome_version;
@@ -115,7 +125,7 @@ class Better_Font_Awesome_Library {
* Font Awesome stylesheet URL.
*
* @since 1.0.0
- *
+ *
* @var string
*/
private $stylesheet_url;
@@ -124,7 +134,7 @@ class Better_Font_Awesome_Library {
* Font Awesome CSS.
*
* @since 1.0.0
- *
+ *
* @var string
*/
private $css;
@@ -133,7 +143,7 @@ class Better_Font_Awesome_Library {
* Data associated with the local fallback version of Font Awesome.
*
* @since 1.0.0
- *
+ *
* @var string
*/
private $fallback_data = array(
@@ -148,7 +158,7 @@ class Better_Font_Awesome_Library {
* Array of available Font Awesome icon slugs.
*
* @since 1.0.0
- *
+ *
* @var string
*/
private $icons = array();
@@ -157,7 +167,7 @@ class Better_Font_Awesome_Library {
* Font Awesome prefix to be used ('icon' or 'fa').
*
* @since 1.0.0
- *
+ *
* @var string
*/
private $prefix;
@@ -166,7 +176,7 @@ class Better_Font_Awesome_Library {
* Array to track errors and wp_remote_get() failures.
*
* @since 1.0.0
- *
+ *
* @var array
*/
private $errors = array();
@@ -189,7 +199,7 @@ class Better_Font_Awesome_Library {
* @return Better_Font_Awesome_Library The BFAL object.
*/
public static function get_instance( $args = array() ) {
-
+
// If the single instance hasn't been set, set it now.
if ( null == self::$instance ) {
self::$instance = new self( $args );
@@ -238,6 +248,12 @@ class Better_Font_Awesome_Library {
// Get stylesheet and generate list of available icons in Font Awesome stylesheet.
$this->setup_stylesheet_data();
+ // Add Font Awesome and/or custom CSS to the editor.
+ $this->add_editor_styles();
+
+ // Output any necessary admin notices.
+ add_action( 'admin_notices', array( $this, 'do_admin_notice' ) );
+
/**
* Remove existing Font Awesome CSS and shortcodes if needed.
*
@@ -247,9 +263,9 @@ class Better_Font_Awesome_Library {
* remove them.
*/
if ( $this->args['remove_existing_fa'] ) {
-
+
add_action( 'wp_enqueue_scripts', array( $this, 'remove_font_awesome_css' ), 15 );
- add_action( 'init', array( $this, 'remove_icon_shortcode' ), 15 );
+ add_action( 'init', array( $this, 'remove_icon_shortcode' ), 20 );
}
@@ -278,24 +294,19 @@ class Better_Font_Awesome_Library {
* Awesome CSS and shortcodes.
*/
if ( $this->args['load_shortcode'] || $this->args['load_tinymce_plugin'] ) {
- add_action( 'init', array( $this, 'add_icon_shortcode' ), 15 );
+ add_action( 'init', array( $this, 'add_icon_shortcode' ), 20 );
}
- // Add Font Awesome and/or custom CSS to the editor.
- add_action( 'init', array( $this, 'add_editor_styles' ) );
-
// Load TinyMCE functionality.
if ( $this->args['load_tinymce_plugin'] ) {
-
- add_action( 'admin_init', array( $this, 'add_tinymce_components' ) );
- add_action( 'admin_head', array( $this, 'output_admin_head_variables' ) );
- add_action( 'admin_enqueue_scripts', array( $this, 'register_custom_admin_css' ), 15 );
+
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
+
+ // Add shortcode insertion button.
+ add_action( 'media_buttons', array( $this, 'add_insert_shortcode_button' ), 99 );
}
- // Output any necessary admin notices.
- add_action( 'admin_notices', array( $this, 'do_admin_notice' ) );
-
}
/**
@@ -355,7 +366,7 @@ class Better_Font_Awesome_Library {
*/
function setup_root_url() {
- // Get BFA directory and theme root directory paths.
+ // Get BFA directory and theme root directory paths.
$bfa_directory = dirname(__FILE__);
$theme_directory = get_stylesheet_directory();
$plugin_dir = plugin_dir_url( __FILE__ );
@@ -383,8 +394,8 @@ class Better_Font_Awesome_Library {
$this->root_url = trailingslashit( plugin_dir_url( __FILE__ ) );
- }
-
+ }
+
}
/**
@@ -446,11 +457,11 @@ class Better_Font_Awesome_Library {
private function fetch_api_data( $url ) {
if ( false === ( $response = get_transient( self::SLUG . '-api-versions' ) ) ) {
-
+
$response = wp_remote_get( $url, $this->wp_remote_get_args );
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
-
+
// Decode the API data and grab the versions info.
$json_data = json_decode( wp_remote_retrieve_body( $response ) );
$response = $json_data[0];
@@ -473,7 +484,7 @@ class Better_Font_Awesome_Library {
$response = '';
} elseif ( isset( $response['response'] ) ) { // Check for 404 and other non-WP_ERROR codes
-
+
$this->set_error( 'api', $response['response']['code'], $response['response']['message'] . " (URL: $url)" );
$response = '';
@@ -538,9 +549,9 @@ class Better_Font_Awesome_Library {
$css_transient_latest_version = $this->get_css_transient_latest_version();
- if ( version_compare( $css_transient_latest_version, $this->fallback_data['version'], '>' ) ) {
+ if ( version_compare( $css_transient_latest_version, $this->fallback_data['version'], '>' ) ) {
return $css_transient_latest_version;
- } else {
+ } else {
return $this->fallback_data['version'];
}
@@ -557,7 +568,7 @@ class Better_Font_Awesome_Library {
private function get_css_transient_latest_version() {
$transient_css_array = get_transient( self::SLUG . '-css' );
-
+
if ( ! empty( $transient_css_array ) ) {
return max( array_keys( $transient_css_array ) );
} else {
@@ -606,14 +617,14 @@ class Better_Font_Awesome_Library {
*
* @return string $response Font Awesome CSS, from either:
* 1. transient,
- * 2. wp_remote_get(), or
+ * 2. wp_remote_get(), or
* 3. fallback CSS.
*/
private function get_css( $url, $version ) {
-
+
// First try getting the transient CSS.
$response = $this->get_transient_css( $version );
-
+
// Next, try fetching the CSS from the remote jsDelivr CDN.
if ( ! $response ) {
$response = $this->get_remote_css( $url, $version );
@@ -663,7 +674,7 @@ class Better_Font_Awesome_Library {
* @return string Transient CSS if it exists, otherwise null.
*/
private function get_transient_css( $version ) {
-
+
$transient_css_array = get_transient( self::SLUG . '-css' );
return isset( $transient_css_array[ $version ] ) ? $transient_css_array[ $version ] : '';
@@ -685,13 +696,13 @@ class Better_Font_Awesome_Library {
// Get the remote Font Awesome CSS.
$url = set_url_scheme( $url );
$response = wp_remote_get( $url, $this->wp_remote_get_args );
-
+
/**
* If fetch was successful, return the remote CSS, and set the CSS
* transient for this version. Otherwise, return a WP_Error object.
*/
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
-
+
$response = wp_remote_retrieve_body( $response );
$this->set_css_transient( $version, $response );
@@ -723,7 +734,7 @@ class Better_Font_Awesome_Library {
* Awesome version.
*/
$transient_css_array = get_transient( self::SLUG . '-css' );
-
+
// Set the new value for the specified Font Awesome version.
$transient_css_array[ $version ] = $value;
@@ -735,7 +746,7 @@ class Better_Font_Awesome_Library {
* @param int Expiration for the CSS transient.
*/
$transient_expiration = apply_filters( 'bfa_css_transient_expiration', 30 * DAY_IN_SECONDS );
-
+
// Set the new CSS array transient.
set_transient( self::SLUG . '-css', $transient_css_array, $transient_expiration );
@@ -762,7 +773,7 @@ class Better_Font_Awesome_Library {
* @return array All available icon names (e.g. adjust, car, pencil).
*/
private function setup_icon_array( $css ) {
-
+
$icons = array();
$hex_codes = array();
@@ -784,7 +795,7 @@ class Better_Font_Awesome_Library {
* Filter the array of available icons.
*
* @since 1.0.0
- *
+ *
* @param array $icons Array of all available icons.
*/
$icons = apply_filters( 'bfa_icon_list', $icons );
@@ -829,12 +840,12 @@ class Better_Font_Awesome_Library {
* @since 1.0.0
*/
public function remove_font_awesome_css() {
-
+
global $wp_styles;
// Loop through all registered styles and remove any that appear to be Font Awesome.
foreach ( $wp_styles->registered as $script => $details ) {
-
+
if ( false !== strpos( $script, 'fontawesome' ) || false !== strpos( $script, 'font-awesome' ) ) {
wp_dequeue_style( $script );
}
@@ -874,15 +885,15 @@ class Better_Font_Awesome_Library {
* @return string $output Icon HTML (e.g. ).
*/
public function render_shortcode( $atts ) {
-
+
extract( shortcode_atts( array(
- 'name' => '',
- 'class' => '',
+ 'name' => '',
+ 'class' => '',
'unprefixed_class' => '',
- 'title' => '', /* For compatibility with other plugins */
- 'size' => '', /* For compatibility with other plugins */
- 'space' => '',
- ), $atts )
+ 'title' => '', /* For compatibility with other plugins */
+ 'size' => '', /* For compatibility with other plugins */
+ 'space' => '',
+ ), $atts )
);
/**
@@ -898,19 +909,27 @@ class Better_Font_Awesome_Library {
// This helps both:
// 1. Incorrect shortcodes (when user includes full class name including prefix)
// 2. Old shortcodes from other plugins that required prefixes
-
+
/**
- * Strip 'icon-' and 'fa-' from $name.
- *
+ * Strip 'icon-' and 'fa-' from the BEGINNING of $name.
+ *
* This corrects for:
* 1. Incorrect shortcodes (when user includes full class name including prefix)
* 2. Old shortcodes from other plugins that required prefixes
*/
- $name = str_replace( 'icon-', '', $name );
+ $prefixes = array( 'icon-', 'fa-' );
+ foreach ( $prefixes as $prefix ) {
+
+ if ( substr( $name, 0, strlen( $prefix ) ) == $prefix ) {
+ $name = substr( $name, strlen( $prefix ) );
+ }
+
+ }
+
$name = str_replace( 'fa-', '', $name );
- // Add the version-specific prefix back on to $name.
- $icon_name = $this->prefix . '-' . $name;
+ // Add the version-specific prefix back on to $name, if it exists.
+ $icon_name = $this->prefix ? $this->prefix . '-' . $name : $name;
// Remove "icon-" and "fa-" from the icon class.
$class = str_replace( 'icon-', '', $class );
@@ -921,7 +940,11 @@ class Better_Font_Awesome_Library {
$class = preg_replace( '/\s{3,}/', ' ', $class );
// Add the version-specific prefix back on to each class.
- $class = $class ? ' ' . $this->prefix . '-' . str_replace( ' ', ' ' . $this->prefix . '-', $class ) : '';
+ $class_array = explode( ' ', $class );
+ foreach ( $class_array as $index => $class ) {
+ $class_array[ $index ] = $this->prefix ? $this->prefix . '-' . $class : $class;
+ }
+ $class = implode( ' ', $class_array );
// Add unprefixed classes.
$class .= $unprefixed_class ? ' ' . $unprefixed_class : '';
@@ -936,9 +959,11 @@ class Better_Font_Awesome_Library {
$class = apply_filters( 'bfa_icon_class', $class, $name );
// Generate the HTML icon element output.
- $output = sprintf( '%s',
+ $output = sprintf( '%s',
$this->prefix,
- $icon_name . $class . $size,
+ $icon_name,
+ $class,
+ $size,
$title,
$space
);
@@ -973,89 +998,54 @@ class Better_Font_Awesome_Library {
add_editor_style( $this->stylesheet_url );
}
- /**
- * Add TinyMCE button functionality.
- *
- * @since 1.0.0
- */
- function add_tinymce_components() {
-
- if ( ! current_user_can( 'edit_posts' ) && ! current_user_can( 'edit_pages' ) ) {
- return;
- }
-
- if ( get_user_option( 'rich_editing' ) == 'true' ) {
-
- add_filter( 'mce_external_plugins', array( $this, 'register_tinymce_plugin' ) );
- add_filter( 'mce_buttons', array( $this, 'add_tinymce_buttons' ) );
-
- }
-
- }
-
- /**
- * Load TinyMCE Font Awesome dropdown plugin.
- *
- * @since 1.0.0
- */
- function register_tinymce_plugin( $plugin_array ) {
-
- global $tinymce_version;
-
- /**
- * Register the correct TinyMCE plugin based on the version of TinyMCE
- * being used.
- */
- if ( version_compare( $tinymce_version, '4000', '>=' ) ) {
- $plugin_array['bfa_plugin'] = $this->root_url . 'js/tinymce-icons.js';
- } else {
- $plugin_array['bfa_plugin'] = $this->root_url . 'js/tinymce-icons-old.js';
- }
-
- return $plugin_array;
-
- }
-
- /**
- * Add the TinyMCE button(s).
- *
- * @since 1.0.0
- */
- function add_tinymce_buttons( $buttons ) {
-
- array_push( $buttons, 'bfaSelect' );
- return $buttons;
-
- }
-
- /**
- * Add PHP variables in HTML for use by TinyMCE JavaScript.
- *
- * @since 1.0.0
- */
- function output_admin_head_variables() {
-
- $icon_list = implode( ",", $this->icons );
- ?>
-
-
-
- root_url . 'css/admin-styles.css' );
+ public function enqueue_admin_scripts() {
+
+ // Check whether to get minified or non-minified files.
+ $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
+
+ // Custom admin CSS.
+ wp_enqueue_style( self::SLUG . '-admin', $this->root_url . 'css/admin-styles.css' );
+
+ // Custom admin JS.
+ wp_enqueue_script( self::SLUG . '-admin', $this->root_url . 'js/admin.js' );
+
+ // Icon picker JS and CSS.
+ wp_enqueue_style( 'fontawesome-iconpicker', $this->root_url . 'lib/fontawesome-iconpicker/css/fontawesome-iconpicker' . $suffix . '.css' );
+ wp_enqueue_script( 'fontawesome-iconpicker', $this->root_url . 'lib/fontawesome-iconpicker/js/fontawesome-iconpicker' . $suffix . '.js' );
+
+ // Output PHP variables to JS.
+ $bfa_vars = array(
+ 'fa_prefix' => $this->prefix,
+ 'fa_icons' => $this->get_icons(),
+ );
+ wp_localize_script( self::SLUG . '-admin', 'bfa_vars', $bfa_vars );
+
+ }
+
+ /**
+ * [add_insert_shortcode_button description]
+ *
+ * @since 1.3.0
+ */
+ public function add_insert_shortcode_button() {
+
+ ob_start();
+ ?>
+
+
+
+
+
+
+
+ errors ) && apply_filters( 'bfa_show_errors', true ) ) :
?>
@@ -1071,13 +1061,13 @@ class Better_Font_Awesome_Library {
-
+
get_error('api') ) ) : ?>
- ' . $this->get_error('api')->get_error_code() . ': ' . $this->get_error('api')->get_error_message() . ''
);
?>
@@ -1088,8 +1078,8 @@ class Better_Font_Awesome_Library {
get_error('css') ) ) : ?>
- ' . $this->get_error('css')->get_error_code() . ': ' . $this->get_error('css')->get_error_message() . '',
'
',
'' . $this->font_awesome_version . ''
@@ -1130,7 +1120,7 @@ class Better_Font_Awesome_Library {
* @return string $contents Content of local file.
*/
private function get_local_file_contents( $file_path ) {
-
+
ob_start();
include $file_path;
$contents = ob_get_clean();
@@ -1159,7 +1149,7 @@ class Better_Font_Awesome_Library {
* @param string $error_type Type of error (api, css, etc).
* @param string $code Error code.
* @param string $message Error message.
- */
+ */
private function set_error( $error_type, $code, $message ) {
$this->errors[ $error_type ] = new WP_Error( $code, $message );
}
@@ -1189,7 +1179,7 @@ class Better_Font_Awesome_Library {
if ( $this->api_data ) {
return true;
} else {
- return false;
+ return false;
}
}
@@ -1204,7 +1194,7 @@ class Better_Font_Awesome_Library {
* @return mixed $value Value associated with specified key.
*/
public function get_api_value( $key ) {
-
+
if ( $this->api_data ) {
$value = $this->api_data->$key;
} else {
diff --git a/lib/better-font-awesome-library/css/admin-styles.css b/lib/better-font-awesome-library/css/admin-styles.css
old mode 100644
new mode 100755
index ae72c46..92f0bdf
--- a/lib/better-font-awesome-library/css/admin-styles.css
+++ b/lib/better-font-awesome-library/css/admin-styles.css
@@ -8,49 +8,53 @@
* @copyright 2014 MIGHTYminnow & Mickey Kay
*/
-/**
- * TinyMCE
- */
-
-/* Override TinyMCE rules blocking these native Font Awesome styles */
-#menu_content_content_bfaSelect_menu .icon-fw,
-#menu_content_content_bfaSelect_menu .fa-fw,
-.mce-stack-layout-item .icon-fw,
-.mce-stack-layout-item .fa-fw {
- display: inline-block;
- width: 1.2857142857142858em;
- text-align: center;
-}
-
-/* Override TinyMCE icon font family */
-.fa {
- font-family: FontAwesome !important;
-}
-
-/* BFA select icon (for versions < TinyMCE 4) */
-[id*="bfaSelect_text"]:before {
- content: "\f024";
- margin-right: .5em;
- font-family: FontAwesome;
-}
-
/**
- * Settings page
+ * TinyMCE Button & Popup
*/
-.bfa-usage-text {
- padding: 20px;
+.bfa-iconpicker .iconpicker-popover {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 160px;
+ padding: 5px 0;
+ margin: 2px 0 0;
+ list-style: none;
+ font-size: 14px;
background-color: #fff;
- border: 1px solid #efefef;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0,0,0,.15);
+ border-radius: 4px;
+ -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
+ box-shadow: 0 6px 12px rgba(0,0,0,.175);
+ background-clip: padding-box;
}
-.bfa-usage-text h3 {
- margin-top: 0;
+.bfa-iconpicker .iconpicker-popover .arrow {
+ display: none !important;
}
-.bfa-usage-text .fa,
-.bfa-usage-text .icon {
- width: 40px;
- text-align: center;
- box-sizing: border-box;
-}
\ No newline at end of file
+.bfa-iconpicker .iconpicker-item {
+ /* Override some unfortunate WP default admin mobile styles */
+ width: 14px !important;
+ height: 14px !important;
+ padding: 14px !important;
+ font-size: 14px !important;
+ line-height: 1 !important;
+ box-shadow: 0 0 0 1px #ddd !important;
+}
+
+.bfa-iconpicker input[type="search"] {
+ width: 100%;
+}
+
+.bfa-iconpicker .iconpicker-popover.popover {
+ width: 253px;
+}
+
+.bfa-iconpicker .iconpicker-component i {
+ display: none;
+}
diff --git a/lib/better-font-awesome-library/js/admin.js b/lib/better-font-awesome-library/js/admin.js
new file mode 100644
index 0000000..383baab
--- /dev/null
+++ b/lib/better-font-awesome-library/js/admin.js
@@ -0,0 +1,43 @@
+/**
+ * Better Font Awesome Library admin JS.
+ *
+ * @since 1.0.3
+ *
+ * @package Better Font Awesome Library
+ */
+
+( function( $ ) {
+
+ $( document ).on( 'ready tinymce-editor-init', function() {
+
+ $( '.bfa-iconpicker' ).not( '.initialized' )
+ .addClass( 'initialized' )
+ .iconpicker({
+ placement: 'bottomLeft',
+ hideOnSelect: true,
+ animation: false,
+ selectedCustomClass: 'selected',
+ icons: bfa_vars.fa_icons,
+ fullClassFormatter: function( val ) {
+ if ( bfa_vars.fa_prefix ) {
+ return bfa_vars.fa_prefix + ' ' + bfa_vars.fa_prefix + '-' + val;
+ } else {
+ return val;
+ }
+ },
+ })
+ .on( 'click', function( e ) {
+ e.preventDefault();
+ $( this ).find( '.iconpicker-search' ).focus();
+ })
+ .on( 'iconpickerSelect', function( e ) {
+ wp.media.editor.insert( icon_shortcode( e.iconpickerItem.context.title.replace( '.', '' ) ) );
+ });
+
+ });
+
+ function icon_shortcode( icon ) {
+ return '[icon name="' + icon + '" class="" unprefixed_class=""]';
+ }
+
+} )( jQuery );
diff --git a/lib/better-font-awesome-library/js/tinymce-icons-old.js b/lib/better-font-awesome-library/js/tinymce-icons-old.js
deleted file mode 100644
index b4e60e6..0000000
--- a/lib/better-font-awesome-library/js/tinymce-icons-old.js
+++ /dev/null
@@ -1,43 +0,0 @@
-(function() {
-
- if( typeof bfa_vars != 'undefined' ) {
- var icons = bfa_vars.fa_icons.split(',');
- var prefix = bfa_vars.fa_prefix;
-
- var icon_i = function(id) {
- return '';
- }
-
- var icon_shortcode = function(id) {
- return '[icon name="' + id + '" class=""]';
- }
-
- var createControl = function(name, controlManager) {
- if (name != 'bfaSelect') return null;
- var listBox = controlManager.createListBox('bfaSelect', {
- title: 'Icons',
- onselect: function(v) {
- var editor = this.control_manager.editor;
- if (v) {
- editor.selection.setContent(icon_shortcode(v));
- }
- return false;
- }
- });
-
- for (var i = 0; i < icons.length; i++) {
- var _id = icons[i];
- listBox.add(icon_i(_id) + ' ' + _id, _id);
- }
-
- return listBox;
- };
-
- tinymce.create('tinymce.plugins.bfa_plugin', {
- createControl: createControl
- });
-
- tinymce.PluginManager.add('bfa_plugin', tinymce.plugins.bfa_plugin);
-
- }
-})();
\ No newline at end of file
diff --git a/lib/better-font-awesome-library/js/tinymce-icons.js b/lib/better-font-awesome-library/js/tinymce-icons.js
deleted file mode 100644
index 2bd0a53..0000000
--- a/lib/better-font-awesome-library/js/tinymce-icons.js
+++ /dev/null
@@ -1,48 +0,0 @@
-( function() {
- "use strict";
-
- var icons = bfa_vars.fa_icons.split(',');
- var prefix = bfa_vars.fa_prefix;
-
- var icon_shortcode = function(id) {
- return '[icon name="' + id + '" class=""]';
- }
-
- var bfaSelect = function( editor, url ) {
- editor.addButton('bfaSelect', function() {
- var values = [];
-
- for (var i = 0; i < icons.length; i++) {
- var _id = icons[i];
- values.push({text: _id, value: _id, icon: ' fa fa-fw icon-fw fa-' + _id + ' icon-' + _id });
- }
-
- return {
- type: 'listbox',
- name: 'bfaSelect',
- tooltip: 'Better Font Awesome Icons',
- icon: ' fa fa-flag icon-flag',
- text: 'Icons',
- label: 'Select :',
- fixedWidth: true,
- values: values,
- onselect: function(e) {
- if (e) {
- editor.insertContent(icon_shortcode(e.control.settings.value));
- }
-
- // Reset back to inital "Icons" text
- this.value(null);
-
- return false;
- },
- onPostRender: function() {
- this.addClass('bfaSelect');
- }
-
- };
- });
-
- };
- tinymce.PluginManager.add( 'bfa_plugin', bfaSelect );
-} )();
\ No newline at end of file
diff --git a/lib/better-font-awesome-library/lib/fallback-font-awesome/.gitignore b/lib/better-font-awesome-library/lib/fallback-font-awesome/.gitignore
new file mode 100644
index 0000000..63dd521
--- /dev/null
+++ b/lib/better-font-awesome-library/lib/fallback-font-awesome/.gitignore
@@ -0,0 +1,32 @@
+*.pyc
+*.egg-info
+*.db
+*.db.old
+*.swp
+*.db-journal
+
+.coverage
+.DS_Store
+.installed.cfg
+_gh_pages/*
+
+.idea/*
+.svn/*
+src/website/static/*
+src/website/media/*
+
+bin
+cfcache
+develop-eggs
+dist
+downloads
+eggs
+parts
+tmp
+.sass-cache
+node_modules
+
+src/website/settingslocal.py
+stunnel.log
+
+.ruby-version
diff --git a/lib/better-font-awesome-library/lib/fallback-font-awesome/README.md b/lib/better-font-awesome-library/lib/fallback-font-awesome/README.md
old mode 100644
new mode 100755
index bc7b1e9..8720a20
--- a/lib/better-font-awesome-library/lib/fallback-font-awesome/README.md
+++ b/lib/better-font-awesome-library/lib/fallback-font-awesome/README.md
@@ -1,7 +1,99 @@
-# Font Awesome #
-This is a custom version of the Font Awesome repo pared down to only include:
-* package.json
-* /css
-* /fonts
+#[Font Awesome v4.4.0](http://fontawesome.io)
+###The iconic font and CSS framework
-It is intended to be as small as possible while still including all of the necessary components to embed Font Awesome in a project.
\ No newline at end of file
+Font Awesome is a full suite of 585 pictographic icons for easy scalable vector graphics on websites,
+created and maintained by [Dave Gandy](http://twitter.com/davegandy).
+Stay up to date with the latest release and announcements on Twitter:
+[@fontawesome](http://twitter.com/fontawesome).
+
+Get started at http://fontawesome.io!
+
+##License
+- The Font Awesome font is licensed under the SIL OFL 1.1:
+ - http://scripts.sil.org/OFL
+- Font Awesome CSS, LESS, and Sass files are licensed under the MIT License:
+ - http://opensource.org/licenses/mit-license.html
+- The Font Awesome documentation is licensed under the CC BY 3.0 License:
+ - http://creativecommons.org/licenses/by/3.0/
+- Attribution is no longer required as of Font Awesome 3.0, but much appreciated:
+ - `Font Awesome by Dave Gandy - http://fontawesome.io`
+- Full details: http://fontawesome.io/license
+
+##Changelog
+- v3.0.0 - all icons redesigned from scratch, optimized for Bootstrap's 14px default
+- v3.0.1 - much improved rendering in webkit, various bug fixes
+- v3.0.2 - much improved rendering and alignment in IE7
+- v3.1.0 - Added 54 icons, icon stacking styles, flipping and rotating icons, removed Sass support
+- [v3.1.1 GitHub milestones](https://github.com/FortAwesome/Font-Awesome/issues?milestone=4&page=1&state=closed)
+- [v3.2.0 GitHub milestones](https://github.com/FortAwesome/Font-Awesome/issues?milestone=3&page=1&state=closed)
+- [v3.2.1 GitHub milestones](https://github.com/FortAwesome/Font-Awesome/issues?milestone=5&page=1&state=closed)
+- [v4.0.0 GitHub milestones](https://github.com/FortAwesome/Font-Awesome/issues?milestone=2&page=1&state=closed)
+- [v4.0.1 GitHub milestones](https://github.com/FortAwesome/Font-Awesome/issues?milestone=7&page=1&state=closed)
+- [v4.0.2 GitHub milestones](https://github.com/FortAwesome/Font-Awesome/issues?milestone=8&page=1&state=closed)
+- [v4.0.3 GitHub milestones](https://github.com/FortAwesome/Font-Awesome/issues?milestone=9&page=1&state=closed)
+- [v4.1.0 GitHub milestones](https://github.com/FortAwesome/Font-Awesome/issues?milestone=6&page=1&state=closed)
+- [v4.2.0 GitHub milestones](https://github.com/FortAwesome/Font-Awesome/issues?milestone=12&page=1&state=closed)
+- [v4.3.0 GitHub milestones](https://github.com/FortAwesome/Font-Awesome/issues?q=milestone%3A4.3.0+is%3Aclosed)
+- [v4.4.0 GitHub milestones](https://github.com/FortAwesome/Font-Awesome/issues?q=milestone%3A4.4.0+is%3Aclosed)
+
+## Contributing
+
+Please read through our [contributing guidelines](https://github.com/FortAwesome/Font-Awesome/blob/master/CONTRIBUTING.md).
+Included are directions for opening issues, coding standards, and notes on development.
+
+##Versioning
+
+Font Awesome will be maintained under the Semantic Versioning guidelines as much as possible. Releases will be numbered
+with the following format:
+
+`..`
+
+And constructed with the following guidelines:
+
+* Breaking backward compatibility bumps the major (and resets the minor and patch)
+* New additions, including new icons, without breaking backward compatibility bumps the minor (and resets the patch)
+* Bug fixes and misc changes bumps the patch
+
+For more information on SemVer, please visit http://semver.org.
+
+##Author
+- Email: dave@fontawesome.io
+- Twitter: http://twitter.com/davegandy
+- GitHub: https://github.com/davegandy
+
+##Component
+To include as a [component](http://github.com/component/component), just run
+
+ $ component install FortAwesome/Font-Awesome
+
+Or add
+
+ "FortAwesome/Font-Awesome": "*"
+
+to the `dependencies` in your `component.json`.
+
+## Hacking on Font Awesome
+
+**Before you can build the project**, you must first have the following installed:
+
+- [Ruby](https://www.ruby-lang.org/en/)
+- Ruby Development Headers
+ - **Ubuntu:** `sudo apt-get install ruby-dev` *(Only if you're __NOT__ using `rbenv` or `rvm`)*
+ - **Windows:** [DevKit](http://rubyinstaller.org/)
+- [Bundler](http://bundler.io/) (Run `gem install bundler` to install).
+- [Node Package Manager (AKA NPM)](https://docs.npmjs.com/getting-started/installing-node)
+- [Less](http://lesscss.org/) (Run `npm install -g less` to install).
+- [Less Plugin: Clean CSS](https://github.com/less/less-plugin-clean-css) (Run `npm install -g less-plugin-clean-css` to install).
+
+From the root of the repository, install the tools used to develop.
+
+ $ bundle install
+ $ npm install
+
+Build the project and documentation:
+
+ $ bundle exec jekyll build
+
+Or serve it on a local server on http://localhost:7998/Font-Awesome/:
+
+ $ bundle exec jekyll -w serve
diff --git a/lib/better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.css b/lib/better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.css
index 4040b3c..880eb82 100755
--- a/lib/better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.css
+++ b/lib/better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.css
@@ -1,13 +1,13 @@
/*!
- * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
+ * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/
/* FONT PATH
* -------------------------- */
@font-face {
font-family: 'FontAwesome';
- src: url('../fonts/fontawesome-webfont.eot?v=4.2.0');
- src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
+ src: url('../fonts/fontawesome-webfont.eot?v=4.4.0');
+ src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
@@ -64,6 +64,19 @@
border: solid 0.08em #eeeeee;
border-radius: .1em;
}
+.fa-pull-left {
+ float: left;
+}
+.fa-pull-right {
+ float: right;
+}
+.fa.fa-pull-left {
+ margin-right: .3em;
+}
+.fa.fa-pull-right {
+ margin-left: .3em;
+}
+/* Deprecated as of 4.4.0 */
.pull-right {
float: right;
}
@@ -80,6 +93,10 @@
-webkit-animation: fa-spin 2s infinite linear;
animation: fa-spin 2s infinite linear;
}
+.fa-pulse {
+ -webkit-animation: fa-spin 1s infinite steps(8);
+ animation: fa-spin 1s infinite steps(8);
+}
@-webkit-keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
@@ -610,6 +627,7 @@
.fa-twitter:before {
content: "\f099";
}
+.fa-facebook-f:before,
.fa-facebook:before {
content: "\f09a";
}
@@ -622,6 +640,7 @@
.fa-credit-card:before {
content: "\f09d";
}
+.fa-feed:before,
.fa-rss:before {
content: "\f09e";
}
@@ -1259,7 +1278,8 @@
.fa-male:before {
content: "\f183";
}
-.fa-gittip:before {
+.fa-gittip:before,
+.fa-gratipay:before {
content: "\f184";
}
.fa-sun-o:before {
@@ -1502,6 +1522,8 @@
.fa-git:before {
content: "\f1d3";
}
+.fa-y-combinator-square:before,
+.fa-yc-square:before,
.fa-hacker-news:before {
content: "\f1d4";
}
@@ -1670,3 +1692,335 @@
.fa-meanpath:before {
content: "\f20c";
}
+.fa-buysellads:before {
+ content: "\f20d";
+}
+.fa-connectdevelop:before {
+ content: "\f20e";
+}
+.fa-dashcube:before {
+ content: "\f210";
+}
+.fa-forumbee:before {
+ content: "\f211";
+}
+.fa-leanpub:before {
+ content: "\f212";
+}
+.fa-sellsy:before {
+ content: "\f213";
+}
+.fa-shirtsinbulk:before {
+ content: "\f214";
+}
+.fa-simplybuilt:before {
+ content: "\f215";
+}
+.fa-skyatlas:before {
+ content: "\f216";
+}
+.fa-cart-plus:before {
+ content: "\f217";
+}
+.fa-cart-arrow-down:before {
+ content: "\f218";
+}
+.fa-diamond:before {
+ content: "\f219";
+}
+.fa-ship:before {
+ content: "\f21a";
+}
+.fa-user-secret:before {
+ content: "\f21b";
+}
+.fa-motorcycle:before {
+ content: "\f21c";
+}
+.fa-street-view:before {
+ content: "\f21d";
+}
+.fa-heartbeat:before {
+ content: "\f21e";
+}
+.fa-venus:before {
+ content: "\f221";
+}
+.fa-mars:before {
+ content: "\f222";
+}
+.fa-mercury:before {
+ content: "\f223";
+}
+.fa-intersex:before,
+.fa-transgender:before {
+ content: "\f224";
+}
+.fa-transgender-alt:before {
+ content: "\f225";
+}
+.fa-venus-double:before {
+ content: "\f226";
+}
+.fa-mars-double:before {
+ content: "\f227";
+}
+.fa-venus-mars:before {
+ content: "\f228";
+}
+.fa-mars-stroke:before {
+ content: "\f229";
+}
+.fa-mars-stroke-v:before {
+ content: "\f22a";
+}
+.fa-mars-stroke-h:before {
+ content: "\f22b";
+}
+.fa-neuter:before {
+ content: "\f22c";
+}
+.fa-genderless:before {
+ content: "\f22d";
+}
+.fa-facebook-official:before {
+ content: "\f230";
+}
+.fa-pinterest-p:before {
+ content: "\f231";
+}
+.fa-whatsapp:before {
+ content: "\f232";
+}
+.fa-server:before {
+ content: "\f233";
+}
+.fa-user-plus:before {
+ content: "\f234";
+}
+.fa-user-times:before {
+ content: "\f235";
+}
+.fa-hotel:before,
+.fa-bed:before {
+ content: "\f236";
+}
+.fa-viacoin:before {
+ content: "\f237";
+}
+.fa-train:before {
+ content: "\f238";
+}
+.fa-subway:before {
+ content: "\f239";
+}
+.fa-medium:before {
+ content: "\f23a";
+}
+.fa-yc:before,
+.fa-y-combinator:before {
+ content: "\f23b";
+}
+.fa-optin-monster:before {
+ content: "\f23c";
+}
+.fa-opencart:before {
+ content: "\f23d";
+}
+.fa-expeditedssl:before {
+ content: "\f23e";
+}
+.fa-battery-4:before,
+.fa-battery-full:before {
+ content: "\f240";
+}
+.fa-battery-3:before,
+.fa-battery-three-quarters:before {
+ content: "\f241";
+}
+.fa-battery-2:before,
+.fa-battery-half:before {
+ content: "\f242";
+}
+.fa-battery-1:before,
+.fa-battery-quarter:before {
+ content: "\f243";
+}
+.fa-battery-0:before,
+.fa-battery-empty:before {
+ content: "\f244";
+}
+.fa-mouse-pointer:before {
+ content: "\f245";
+}
+.fa-i-cursor:before {
+ content: "\f246";
+}
+.fa-object-group:before {
+ content: "\f247";
+}
+.fa-object-ungroup:before {
+ content: "\f248";
+}
+.fa-sticky-note:before {
+ content: "\f249";
+}
+.fa-sticky-note-o:before {
+ content: "\f24a";
+}
+.fa-cc-jcb:before {
+ content: "\f24b";
+}
+.fa-cc-diners-club:before {
+ content: "\f24c";
+}
+.fa-clone:before {
+ content: "\f24d";
+}
+.fa-balance-scale:before {
+ content: "\f24e";
+}
+.fa-hourglass-o:before {
+ content: "\f250";
+}
+.fa-hourglass-1:before,
+.fa-hourglass-start:before {
+ content: "\f251";
+}
+.fa-hourglass-2:before,
+.fa-hourglass-half:before {
+ content: "\f252";
+}
+.fa-hourglass-3:before,
+.fa-hourglass-end:before {
+ content: "\f253";
+}
+.fa-hourglass:before {
+ content: "\f254";
+}
+.fa-hand-grab-o:before,
+.fa-hand-rock-o:before {
+ content: "\f255";
+}
+.fa-hand-stop-o:before,
+.fa-hand-paper-o:before {
+ content: "\f256";
+}
+.fa-hand-scissors-o:before {
+ content: "\f257";
+}
+.fa-hand-lizard-o:before {
+ content: "\f258";
+}
+.fa-hand-spock-o:before {
+ content: "\f259";
+}
+.fa-hand-pointer-o:before {
+ content: "\f25a";
+}
+.fa-hand-peace-o:before {
+ content: "\f25b";
+}
+.fa-trademark:before {
+ content: "\f25c";
+}
+.fa-registered:before {
+ content: "\f25d";
+}
+.fa-creative-commons:before {
+ content: "\f25e";
+}
+.fa-gg:before {
+ content: "\f260";
+}
+.fa-gg-circle:before {
+ content: "\f261";
+}
+.fa-tripadvisor:before {
+ content: "\f262";
+}
+.fa-odnoklassniki:before {
+ content: "\f263";
+}
+.fa-odnoklassniki-square:before {
+ content: "\f264";
+}
+.fa-get-pocket:before {
+ content: "\f265";
+}
+.fa-wikipedia-w:before {
+ content: "\f266";
+}
+.fa-safari:before {
+ content: "\f267";
+}
+.fa-chrome:before {
+ content: "\f268";
+}
+.fa-firefox:before {
+ content: "\f269";
+}
+.fa-opera:before {
+ content: "\f26a";
+}
+.fa-internet-explorer:before {
+ content: "\f26b";
+}
+.fa-tv:before,
+.fa-television:before {
+ content: "\f26c";
+}
+.fa-contao:before {
+ content: "\f26d";
+}
+.fa-500px:before {
+ content: "\f26e";
+}
+.fa-amazon:before {
+ content: "\f270";
+}
+.fa-calendar-plus-o:before {
+ content: "\f271";
+}
+.fa-calendar-minus-o:before {
+ content: "\f272";
+}
+.fa-calendar-times-o:before {
+ content: "\f273";
+}
+.fa-calendar-check-o:before {
+ content: "\f274";
+}
+.fa-industry:before {
+ content: "\f275";
+}
+.fa-map-pin:before {
+ content: "\f276";
+}
+.fa-map-signs:before {
+ content: "\f277";
+}
+.fa-map-o:before {
+ content: "\f278";
+}
+.fa-map:before {
+ content: "\f279";
+}
+.fa-commenting:before {
+ content: "\f27a";
+}
+.fa-commenting-o:before {
+ content: "\f27b";
+}
+.fa-houzz:before {
+ content: "\f27c";
+}
+.fa-vimeo:before {
+ content: "\f27d";
+}
+.fa-black-tie:before {
+ content: "\f27e";
+}
+.fa-fonticons:before {
+ content: "\f280";
+}
diff --git a/lib/better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.css.map b/lib/better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.css.map
new file mode 100755
index 0000000..60763a8
--- /dev/null
+++ b/lib/better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "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",
+"sources": ["../scss/_path.scss","../scss/_core.scss","../scss/_larger.scss","../scss/_fixed-width.scss","../scss/_list.scss","../scss/_variables.scss","../scss/_bordered-pulled.scss","../scss/_animated.scss","../scss/_rotated-flipped.scss","../scss/_mixins.scss","../scss/_stacked.scss","../scss/_icons.scss"],
+"names": [],
+"file": "font-awesome.css"
+}
diff --git a/lib/better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.min.css b/lib/better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.min.css
index ec53d4d..ee4e978 100755
--- a/lib/better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.min.css
+++ b/lib/better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.min.css
@@ -1,4 +1,4 @@
/*!
- * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
+ * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}
\ No newline at end of file
+ */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.4.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}
diff --git a/lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/FontAwesome.otf b/lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/FontAwesome.otf
index 81c9ad9..681bdd4 100755
Binary files a/lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/FontAwesome.otf and b/lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/FontAwesome.otf differ
diff --git a/lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/fontawesome-webfont.eot b/lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/fontawesome-webfont.eot
index 84677bc..a30335d 100755
Binary files a/lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/fontawesome-webfont.eot and b/lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/fontawesome-webfont.eot differ
diff --git a/lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/fontawesome-webfont.svg b/lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/fontawesome-webfont.svg
index d907b25..6fd19ab 100755
--- a/lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/fontawesome-webfont.svg
+++ b/lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/fontawesome-webfont.svg
@@ -1,6 +1,6 @@
-