From e76919b9e836e0e652e15af262d04252d5cb4d4d Mon Sep 17 00:00:00 2001 From: Laury GvR Date: Fri, 3 Oct 2014 09:42:20 -0400 Subject: [PATCH] more deletes --- artificer/404.php | 28 + artificer/README.md | 0 artificer/archive.php | 86 + artificer/changelog.txt | 97 + artificer/comments.php | 74 + artificer/content-search.php | 27 + artificer/content.php | 51 + artificer/css/layout.css | 951 ++++ artificer/css/layout.less | 895 ++++ artificer/css/mixins.less | 203 + artificer/custom.css | 25 + artificer/footer.php | 68 + artificer/functions.php | 53 + artificer/functions/README.md | 2 + artificer/functions/admin-backup.php | 586 ++ artificer/functions/admin-custom-nav.php | 99 + artificer/functions/admin-custom.php | 701 +++ .../admin-express-functions-deprecated.php | 389 ++ .../functions/admin-express-functions.php | 465 ++ .../functions/admin-framework-settings.php | 267 + artificer/functions/admin-functions.php | 3210 +++++++++++ artificer/functions/admin-hooks.php | 252 + artificer/functions/admin-init.php | 59 + artificer/functions/admin-interface.php | 1855 +++++++ .../functions/admin-medialibrary-uploader.php | 340 ++ artificer/functions/admin-sbm.php | 20 + artificer/functions/admin-seo.php | 5 + artificer/functions/admin-setup.php | 325 ++ .../functions/admin-shortcode-generator.php | 272 + artificer/functions/admin-shortcodes.php | 2274 ++++++++ artificer/functions/admin-style.css | 782 +++ .../functions/admin-tumblog-quickpress.php | 1469 ++++++ .../functions/assets/fonts/wooframework.eot | Bin 0 -> 2008 bytes .../functions/assets/fonts/wooframework.svg | 12 + .../functions/assets/fonts/wooframework.ttf | Bin 0 -> 1824 bytes .../functions/assets/fonts/wooframework.woff | Bin 0 -> 1900 bytes .../classes/class-wp-app-store-installer.php | 5 + artificer/functions/css/colorpicker.css | 177 + .../functions/css/jquery-ui-datepicker.css | 347 ++ .../functions/css/shortcode-generator.css | 94 + artificer/functions/css/shortcode-icon.css | 15 + artificer/functions/css/shortcodes.css | 550 ++ artificer/functions/css/tumblog.css | 146 + artificer/functions/css/woo-custom-fields.css | 106 + artificer/functions/functions-changelog.txt | 1521 ++++++ artificer/functions/images/1c.png | Bin 0 -> 138 bytes artificer/functions/images/2cl.png | Bin 0 -> 187 bytes artificer/functions/images/2cr.png | Bin 0 -> 190 bytes artificer/functions/images/3cl.png | Bin 0 -> 198 bytes artificer/functions/images/3cm.png | Bin 0 -> 179 bytes artificer/functions/images/3cr.png | Bin 0 -> 137 bytes artificer/functions/images/ajax-loader.gif | Bin 0 -> 457 bytes .../functions/images/btn-tumblog-audio.png | Bin 0 -> 791 bytes .../functions/images/btn-tumblog-image.png | Bin 0 -> 813 bytes .../functions/images/btn-tumblog-link.png | Bin 0 -> 1206 bytes .../functions/images/btn-tumblog-note.png | Bin 0 -> 622 bytes .../functions/images/btn-tumblog-quote.png | Bin 0 -> 1342 bytes .../functions/images/btn-tumblog-video.png | Bin 0 -> 948 bytes artificer/functions/images/calendar.gif | Bin 0 -> 269 bytes .../functions/images/colorpicker/blank.gif | Bin 0 -> 49 bytes .../colorpicker/colorpicker_background.png | Bin 0 -> 1897 bytes .../images/colorpicker/colorpicker_hex.png | Bin 0 -> 532 bytes .../images/colorpicker/colorpicker_hsb_b.png | Bin 0 -> 970 bytes .../images/colorpicker/colorpicker_hsb_h.png | Bin 0 -> 1012 bytes .../images/colorpicker/colorpicker_hsb_s.png | Bin 0 -> 1171 bytes .../images/colorpicker/colorpicker_indic.gif | Bin 0 -> 86 bytes .../colorpicker/colorpicker_overlay.png | Bin 0 -> 10355 bytes .../images/colorpicker/colorpicker_rgb_b.png | Bin 0 -> 970 bytes .../images/colorpicker/colorpicker_rgb_g.png | Bin 0 -> 1069 bytes .../images/colorpicker/colorpicker_rgb_r.png | Bin 0 -> 1066 bytes .../images/colorpicker/colorpicker_select.gif | Bin 0 -> 78 bytes .../images/colorpicker/colorpicker_submit.png | Bin 0 -> 984 bytes .../functions/images/colorpicker/select.png | Bin 0 -> 3278 bytes .../functions/images/footer-widgets-0.png | Bin 0 -> 138 bytes .../functions/images/footer-widgets-1.png | Bin 0 -> 139 bytes .../functions/images/footer-widgets-2.png | Bin 0 -> 148 bytes .../functions/images/footer-widgets-3.png | Bin 0 -> 146 bytes .../functions/images/footer-widgets-4.png | Bin 0 -> 144 bytes artificer/functions/images/gray-grad.png | Bin 0 -> 98 bytes artificer/functions/images/happy.png | Bin 0 -> 1173 bytes artificer/functions/images/headertile.jpg | Bin 0 -> 392 bytes artificer/functions/images/headingtop.jpg | Bin 0 -> 305 bytes artificer/functions/images/ico-add.png | Bin 0 -> 397 bytes artificer/functions/images/ico-alert.png | Bin 0 -> 563 bytes artificer/functions/images/ico-changelog.png | Bin 0 -> 582 bytes artificer/functions/images/ico-close.png | Bin 0 -> 563 bytes artificer/functions/images/ico-delete.png | Bin 0 -> 662 bytes artificer/functions/images/ico-docs.png | Bin 0 -> 323 bytes .../images/ico-dojo-banner-close.png | Bin 0 -> 1245 bytes .../functions/images/ico-dojo-banner.png | Bin 0 -> 2980 bytes artificer/functions/images/ico-download.png | Bin 0 -> 582 bytes artificer/functions/images/ico-edit.png | Bin 0 -> 751 bytes artificer/functions/images/ico-forum.png | Bin 0 -> 617 bytes artificer/functions/images/ico-info.png | Bin 0 -> 555 bytes artificer/functions/images/ico-note.png | Bin 0 -> 447 bytes .../images/ico-presstrends-banner.png | Bin 0 -> 4708 bytes artificer/functions/images/ico-preview.png | Bin 0 -> 1140 bytes artificer/functions/images/ico-refresh.png | Bin 0 -> 1808 bytes .../functions/images/ico-social-delicious.png | Bin 0 -> 654 bytes .../functions/images/ico-social-facebook.png | Bin 0 -> 692 bytes .../functions/images/ico-social-flickr.png | Bin 0 -> 899 bytes .../images/ico-social-googleplus.png | Bin 0 -> 1643 bytes .../functions/images/ico-social-linkedin.png | Bin 0 -> 965 bytes artificer/functions/images/ico-social-rss.png | Bin 0 -> 1233 bytes .../functions/images/ico-social-twitter.png | Bin 0 -> 638 bytes .../functions/images/ico-social-youtube.png | Bin 0 -> 1297 bytes artificer/functions/images/ico-tick.png | Bin 0 -> 665 bytes artificer/functions/images/ico-viewpage.png | Bin 0 -> 582 bytes artificer/functions/images/icon-32.png | Bin 0 -> 2179 bytes artificer/functions/images/info.png | Bin 0 -> 934 bytes artificer/functions/images/layout-off.png | Bin 0 -> 630 bytes artificer/functions/images/loading-bottom.gif | Bin 0 -> 1180 bytes artificer/functions/images/loading-top.gif | Bin 0 -> 1493 bytes artificer/functions/images/logo.png | Bin 0 -> 7093 bytes .../functions/images/menu-arrow-frame.png | Bin 0 -> 564 bytes artificer/functions/images/menu-shadow.png | Bin 0 -> 131 bytes artificer/functions/images/nicEditorIcons.gif | Bin 0 -> 3514 bytes .../functions/images/option-icon-ads.png | Bin 0 -> 596 bytes .../functions/images/option-icon-audio.png | Bin 0 -> 544 bytes .../functions/images/option-icon-box.png | Bin 0 -> 699 bytes .../functions/images/option-icon-calendar.png | Bin 0 -> 289 bytes .../functions/images/option-icon-cart.png | Bin 0 -> 421 bytes .../functions/images/option-icon-connect.png | Bin 0 -> 719 bytes .../functions/images/option-icon-favorite.png | Bin 0 -> 648 bytes .../functions/images/option-icon-featured.png | Bin 0 -> 528 bytes .../functions/images/option-icon-footer.png | Bin 0 -> 253 bytes .../functions/images/option-icon-general.png | Bin 0 -> 688 bytes .../functions/images/option-icon-header.png | Bin 0 -> 277 bytes .../functions/images/option-icon-homepage.png | Bin 0 -> 439 bytes .../functions/images/option-icon-image.png | Bin 0 -> 610 bytes .../functions/images/option-icon-layout.png | Bin 0 -> 253 bytes .../functions/images/option-icon-listing.png | Bin 0 -> 563 bytes .../functions/images/option-icon-main.png | Bin 0 -> 278 bytes .../functions/images/option-icon-maps.png | Bin 0 -> 605 bytes .../functions/images/option-icon-media.png | Bin 0 -> 767 bytes .../functions/images/option-icon-misc.png | Bin 0 -> 861 bytes .../functions/images/option-icon-nav.png | Bin 0 -> 741 bytes .../images/option-icon-portfolio.png | Bin 0 -> 627 bytes .../functions/images/option-icon-post.png | Bin 0 -> 372 bytes .../images/option-icon-presstrends.png | Bin 0 -> 3094 bytes .../functions/images/option-icon-search.png | Bin 0 -> 582 bytes .../functions/images/option-icon-sidebar.png | Bin 0 -> 262 bytes .../functions/images/option-icon-slider.png | Bin 0 -> 502 bytes .../functions/images/option-icon-styling.png | Bin 0 -> 504 bytes .../functions/images/option-icon-tumblog.png | Bin 0 -> 755 bytes .../images/option-icon-typography.png | Bin 0 -> 404 bytes .../functions/images/option-icon-upload.png | Bin 0 -> 747 bytes .../images/option-icon-woocommerce.png | Bin 0 -> 498 bytes artificer/functions/images/quote.png | Bin 0 -> 615 bytes artificer/functions/images/select.png | Bin 0 -> 205 bytes .../functions/images/shortcode-arrow.png | Bin 0 -> 357 bytes .../functions/images/shortcode-bullet.png | Bin 0 -> 169 bytes .../functions/images/shortcode-green-dot.png | Bin 0 -> 235 bytes artificer/functions/images/shortcode-icon.png | Bin 0 -> 671 bytes .../functions/images/shortcode-red-x.png | Bin 0 -> 392 bytes artificer/functions/images/shortcode-star.png | Bin 0 -> 648 bytes artificer/functions/images/shortcode-tick.png | Bin 0 -> 504 bytes .../images/shortcode-toggle-close.png | Bin 0 -> 295 bytes .../images/shortcode-toggle-open.png | Bin 0 -> 397 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 149 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 147 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 117 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 95 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 143 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 118 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4197 bytes artificer/functions/images/warning.png | Bin 0 -> 857 bytes artificer/functions/images/wf-tab-icons.png | Bin 0 -> 2399 bytes artificer/functions/images/woo-icon.png | Bin 0 -> 657 bytes artificer/functions/js/ajaxupload.js | 606 +++ artificer/functions/js/colorpicker.js | 484 ++ artificer/functions/js/jquery.maskedinput.js | 7 + artificer/functions/js/nicEdit.js | 114 + artificer/functions/js/php.js | 190 + .../js/shortcode-generator/dialog.php | 101 + .../js/shortcode-generator/editor_plugin.js | 185 + .../shortcode-generator/editor_plugin_39.js | 86 + .../shortcode-generator/js/column-control.js | 95 + .../js/shortcode-generator/js/dialog-js.php | 674 +++ .../js/shortcode-generator/js/tab-control.js | 86 + .../preview-shortcode-external.php | 1 + .../js/shortcode-generator/shortcodes/abbr.js | 19 + .../js/shortcode-generator/shortcodes/box.js | 53 + .../shortcode-generator/shortcodes/button.js | 80 + .../shortcode-generator/shortcodes/column.js | 48 + .../shortcodes/contactform.js | 16 + .../js/shortcode-generator/shortcodes/digg.js | 34 + .../shortcode-generator/shortcodes/fblike.js | 68 + .../shortcode-generator/shortcodes/fbshare.js | 29 + .../shortcodes/google_plusone.js | 96 + .../shortcode-generator/shortcodes/ilink.js | 37 + .../shortcodes/linkedin_share.js | 29 + .../shortcodes/ordered_list.js | 32 + .../shortcodes/pinterest.js | 43 + .../shortcode-generator/shortcodes/quote.js | 29 + .../shortcode-generator/shortcodes/related.js | 17 + .../shortcodes/social_icon.js | 60 + .../shortcodes/stumbleupon.js | 38 + .../js/shortcode-generator/shortcodes/tab.js | 96 + .../shortcode-generator/shortcodes/toggle.js | 79 + .../shortcodes/tweetmeme.js | 25 + .../shortcode-generator/shortcodes/twitter.js | 76 + .../shortcodes/twitter_follow.js | 70 + .../shortcodes/typography.js | 43 + .../shortcodes/unordered_list.js | 32 + artificer/functions/js/shortcodes.js | 130 + artificer/functions/js/tumblog-ajax.js | 248 + artificer/functions/js/ui.datepicker.js | 1 + artificer/functions/js/woo-admin-interface.js | 355 ++ artificer/functions/js/woo-custom-fields.js | 192 + .../functions/js/woo-medialibrary-uploader.js | 157 + artificer/functions/js/woo-scripts.js | 27 + .../functions/js/woo-typography-preview.js | 220 + artificer/functions/thumb.php | 1251 +++++ artificer/header.php | 104 + artificer/images/ajax-loader.gif | Bin 0 -> 723 bytes artificer/images/blockquote.png | Bin 0 -> 365 bytes artificer/images/body.gif | Bin 0 -> 105493 bytes artificer/images/body.png | Bin 0 -> 457 bytes artificer/images/comment.png | Bin 0 -> 414 bytes artificer/images/crinkles.png | Bin 0 -> 606466 bytes artificer/images/floral/body.png | Bin 0 -> 12134 bytes artificer/images/home.png | Bin 0 -> 715 bytes artificer/images/honey/body.png | Bin 0 -> 32417 bytes artificer/images/ico-rss.png | Bin 0 -> 644 bytes artificer/images/ico-search.png | Bin 0 -> 795 bytes artificer/images/ico-star-scribbled.png | Bin 0 -> 498 bytes artificer/images/ico-star-small.png | Bin 0 -> 779 bytes artificer/images/ico-star.png | Bin 0 -> 1160 bytes artificer/images/ico-subscribe-social.png | Bin 0 -> 7929 bytes artificer/images/ico-tag.png | Bin 0 -> 554 bytes artificer/images/icons/black-dot.png | Bin 0 -> 601 bytes artificer/images/icons/blue-dot.png | Bin 0 -> 1408 bytes artificer/images/icons/green-dot.png | Bin 0 -> 1384 bytes artificer/images/icons/pink-dot.png | Bin 0 -> 1446 bytes artificer/images/icons/purple-dot.png | Bin 0 -> 1406 bytes artificer/images/icons/red-dot.png | Bin 0 -> 1356 bytes artificer/images/icons/shadow.png | Bin 0 -> 665 bytes artificer/images/icons/teal-dot.png | Bin 0 -> 1450 bytes artificer/images/icons/white-dot.png | Bin 0 -> 1175 bytes artificer/images/icons/yellow-dot.png | Bin 0 -> 1466 bytes artificer/images/industrial/body.png | Bin 0 -> 8802 bytes artificer/images/leather.png | Bin 0 -> 56840 bytes artificer/images/logo.png | Bin 0 -> 2926 bytes artificer/images/nav.gif | Bin 0 -> 700 bytes artificer/images/noise.png | Bin 0 -> 7963 bytes artificer/images/paperclip.png | Bin 0 -> 1254 bytes artificer/images/post.png | Bin 0 -> 1909 bytes artificer/images/scribble.png | Bin 0 -> 1893 bytes artificer/images/sprite.png | Bin 0 -> 11763 bytes artificer/images/string-top.png | Bin 0 -> 1743 bytes artificer/images/string.png | Bin 0 -> 1990 bytes artificer/images/tape.png | Bin 0 -> 4086 bytes artificer/images/twitter.png | Bin 0 -> 1309 bytes artificer/images/woothemes.png | Bin 0 -> 2407 bytes artificer/includes/css/prettyPhoto.css | 170 + .../prettyPhoto/default/default_thumb.png | Bin 0 -> 1537 bytes .../images/prettyPhoto/default/loader.gif | Bin 0 -> 6331 bytes .../images/prettyPhoto/default/sprite.png | Bin 0 -> 6682 bytes .../prettyPhoto/default/sprite_next.png | Bin 0 -> 1358 bytes .../prettyPhoto/default/sprite_prev.png | Bin 0 -> 1376 bytes .../images/prettyPhoto/default/sprite_x.png | Bin 0 -> 1097 bytes .../images/prettyPhoto/default/sprite_y.png | Bin 0 -> 1162 bytes artificer/includes/js/enable-lightbox.js | 3 + artificer/includes/js/general.js | 54 + artificer/includes/js/jquery.prettyPhoto.js | 81 + artificer/includes/js/markers.js | 51 + artificer/includes/js/respond-IE.js | 9 + artificer/includes/js/third-party.js | 75 + artificer/includes/sidebar-init.php | 22 + artificer/includes/theme-actions.php | 403 ++ artificer/includes/theme-comments.php | 76 + artificer/includes/theme-functions.php | 603 +++ artificer/includes/theme-install.php | 38 + artificer/includes/theme-js.php | 33 + artificer/includes/theme-options.php | 853 +++ artificer/includes/theme-widgets.php | 42 + artificer/includes/theme-woocommerce.php | 330 ++ .../includes/widgets/widget-woo-adspace.php | 83 + .../widgets/widget-woo-blogauthor.php | 107 + .../includes/widgets/widget-woo-embed.php | 158 + .../includes/widgets/widget-woo-flickr.php | 114 + .../includes/widgets/widget-woo-search.php | 54 + .../includes/widgets/widget-woo-subscribe.php | 80 + .../includes/widgets/widget-woo-twitter.php | 81 + artificer/index.php | 175 + artificer/lang/en_GB.po | 2655 ++++++++++ artificer/license.txt | 281 + artificer/page.php | 64 + artificer/screenshot.png | Bin 0 -> 107416 bytes artificer/search-form.php | 16 + artificer/search.php | 64 + artificer/sidebar.php | 25 + artificer/single.php | 106 + artificer/style.css | 3720 +++++++++++++ artificer/style.less | 3065 +++++++++++ artificer/styles/blue.css | 4618 ++++++++++++++++ artificer/styles/blue.less | 19 + artificer/styles/brown.css | 4618 ++++++++++++++++ artificer/styles/brown.less | 19 + artificer/styles/default.css | 1 + artificer/styles/floral.css | 4639 ++++++++++++++++ artificer/styles/floral.less | 31 + artificer/styles/green.css | 4618 ++++++++++++++++ artificer/styles/green.less | 19 + artificer/styles/honey.css | 4639 ++++++++++++++++ artificer/styles/honey.less | 31 + artificer/styles/indigo.css | 4618 ++++++++++++++++ artificer/styles/indigo.less | 19 + artificer/styles/industrial.css | 4699 +++++++++++++++++ artificer/styles/industrial.less | 39 + artificer/styles/minimal.css | 4643 ++++++++++++++++ artificer/styles/minimal.less | 27 + artificer/styles/orange.css | 4618 ++++++++++++++++ artificer/styles/orange.less | 19 + artificer/styles/red.css | 4618 ++++++++++++++++ artificer/styles/red.less | 19 + artificer/styles/violet.css | 4618 ++++++++++++++++ artificer/styles/violet.less | 19 + artificer/styles/yellow.css | 4618 ++++++++++++++++ artificer/styles/yellow.less | 19 + artificer/template-archives.php | 82 + artificer/template-blog.php | 103 + artificer/template-contact.php | 228 + artificer/template-fullwidth.php | 53 + artificer/template-imagegallery.php | 56 + artificer/template-sitemap.php | 117 + artificer/template-tags.php | 46 + artificer/template-timeline.php | 110 + artificer/theme_info.txt | 3 + .../typefaces/websymbols-regular-webfont.eot | Bin 0 -> 12596 bytes .../typefaces/websymbols-regular-webfont.svg | 108 + .../typefaces/websymbols-regular-webfont.ttf | Bin 0 -> 12344 bytes .../typefaces/websymbols-regular-webfont.woff | Bin 0 -> 7864 bytes bueno/404.php | 28 + bueno/README.md | 0 bueno/archive.php | 91 + bueno/changelog.txt | 100 + bueno/comments-legacy.php | 164 + bueno/comments.php | 131 + bueno/css/ie6.css | 7 + bueno/css/ie7.css | 5 + bueno/css/reset.css | 66 + bueno/custom.css | 13 + bueno/footer.php | 47 + bueno/functions.php | 29 + bueno/functions/admin-backup.php | 13 + bueno/functions/admin-custom-nav.php | 99 + bueno/functions/admin-custom.php | 4 + .../admin-express-functions-deprecated.php | 5 + bueno/functions/admin-express-functions.php | 5 + bueno/functions/admin-framework-settings.php | 4 + bueno/functions/admin-functions.php | 3684 +++++++++++++ bueno/functions/admin-hooks.php | 252 + bueno/functions/admin-init.php | 98 + bueno/functions/admin-interface.php | 315 ++ .../functions/admin-medialibrary-uploader.php | 340 ++ bueno/functions/admin-sbm.php | 20 + bueno/functions/admin-seo.php | 5 + bueno/functions/admin-setup.php | 302 ++ bueno/functions/admin-shortcode-generator.php | 223 + bueno/functions/admin-shortcodes.php | 2362 +++++++++ bueno/functions/admin-style.css | 784 +++ bueno/functions/admin-tumblog-quickpress.php | 5 + bueno/functions/assets/css/activation.css | 103 + bueno/functions/assets/css/activation.less | 146 + bueno/functions/assets/css/admin.css | 74 + bueno/functions/assets/css/admin.less | 89 + bueno/functions/assets/css/fields.css | 356 ++ bueno/functions/assets/css/fields.less | 222 + bueno/functions/assets/css/lib/chosen.css | 430 ++ bueno/functions/assets/css/lib/chosen.min.css | 3 + bueno/functions/assets/css/menu.css | 14 + bueno/functions/assets/css/menu.less | 18 + bueno/functions/assets/css/mixins.less | 139 + bueno/functions/assets/fonts/wooframework.eot | Bin 0 -> 2008 bytes bueno/functions/assets/fonts/wooframework.svg | 12 + bueno/functions/assets/fonts/wooframework.ttf | Bin 0 -> 1824 bytes .../functions/assets/fonts/wooframework.woff | Bin 0 -> 1900 bytes bueno/functions/assets/images/icon.png | Bin 0 -> 3760 bytes .../assets/images/lib/chosen-sprite.png | Bin 0 -> 646 bytes .../assets/images/lib/chosen-sprite@2x.png | Bin 0 -> 872 bytes bueno/functions/assets/images/logo.png | Bin 0 -> 9595 bytes bueno/functions/assets/images/placeholder.png | Bin 0 -> 1503 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 149 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 147 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 117 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 95 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 143 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 118 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes bueno/functions/assets/js/chosen-selectors.js | 19 + bueno/functions/assets/js/colourpickers.js | 14 + bueno/functions/assets/js/datepickers.js | 10 + bueno/functions/assets/js/image-selectors.js | 15 + .../assets/js/lib/jquery-chosen-rtl.js | 6 + .../assets/js/lib/jquery-chosen-rtl.min.js | 1 + .../functions/assets/js/lib/jquery-chosen.js | 1166 ++++ .../assets/js/lib/jquery-chosen.min.js | 2 + .../assets/js/lib/jquery-masked-input.js | 338 ++ bueno/functions/assets/js/masked-inputs.js | 11 + bueno/functions/assets/js/range-selectors.js | 34 + .../functions/assets/js/typography-preview.js | 219 + bueno/functions/assets/js/typography.js | 30 + bueno/functions/assets/js/uploaders.js | 86 + bueno/functions/classes/class-wf-backup.php | 469 ++ .../classes/class-wf-fields-meta.php | 45 + .../classes/class-wf-fields-settings.php | 133 + bueno/functions/classes/class-wf-fields.php | 1731 ++++++ bueno/functions/classes/class-wf-meta.php | 336 ++ .../classes/class-wf-screen-admin-base.php | 297 ++ .../classes/class-wf-screen-framework.php | 152 + .../classes/class-wf-screen-welcome.php | 152 + bueno/functions/classes/class-wf-screen.php | 83 + bueno/functions/classes/class-wf-settings.php | 355 ++ bueno/functions/classes/class-wf.php | 186 + .../classes/class-wp-app-store-installer.php | 5 + bueno/functions/css/colorpicker.css | 177 + bueno/functions/css/jquery-ui-datepicker.css | 347 ++ bueno/functions/css/shortcode-generator.css | 119 + bueno/functions/css/shortcode-icon.css | 15 + bueno/functions/css/shortcodes.css | 573 ++ bueno/functions/css/tumblog.css | 146 + bueno/functions/css/woo-custom-fields.css | 106 + bueno/functions/deprecated.php | 1372 +++++ bueno/functions/functions-changelog.txt | 1661 ++++++ bueno/functions/images/1c.png | Bin 0 -> 316 bytes bueno/functions/images/2cl.png | Bin 0 -> 187 bytes bueno/functions/images/2cr.png | Bin 0 -> 186 bytes bueno/functions/images/3cl.png | Bin 0 -> 190 bytes bueno/functions/images/3cm.png | Bin 0 -> 190 bytes bueno/functions/images/3cr.png | Bin 0 -> 189 bytes bueno/functions/images/ajax-loader.gif | Bin 0 -> 457 bytes bueno/functions/images/btn-tumblog-audio.png | Bin 0 -> 786 bytes bueno/functions/images/btn-tumblog-image.png | Bin 0 -> 813 bytes bueno/functions/images/btn-tumblog-link.png | Bin 0 -> 1197 bytes bueno/functions/images/btn-tumblog-note.png | Bin 0 -> 622 bytes bueno/functions/images/btn-tumblog-quote.png | Bin 0 -> 1325 bytes bueno/functions/images/btn-tumblog-video.png | Bin 0 -> 940 bytes bueno/functions/images/calendar.gif | Bin 0 -> 269 bytes bueno/functions/images/colorpicker/blank.gif | Bin 0 -> 49 bytes .../colorpicker/colorpicker_background.png | Bin 0 -> 1897 bytes .../images/colorpicker/colorpicker_hex.png | Bin 0 -> 532 bytes .../images/colorpicker/colorpicker_hsb_b.png | Bin 0 -> 970 bytes .../images/colorpicker/colorpicker_hsb_h.png | Bin 0 -> 1012 bytes .../images/colorpicker/colorpicker_hsb_s.png | Bin 0 -> 1171 bytes .../images/colorpicker/colorpicker_indic.gif | Bin 0 -> 86 bytes .../colorpicker/colorpicker_overlay.png | Bin 0 -> 10355 bytes .../images/colorpicker/colorpicker_rgb_b.png | Bin 0 -> 970 bytes .../images/colorpicker/colorpicker_rgb_g.png | Bin 0 -> 1069 bytes .../images/colorpicker/colorpicker_rgb_r.png | Bin 0 -> 1066 bytes .../images/colorpicker/colorpicker_select.gif | Bin 0 -> 78 bytes .../images/colorpicker/colorpicker_submit.png | Bin 0 -> 984 bytes bueno/functions/images/colorpicker/select.png | Bin 0 -> 3278 bytes bueno/functions/images/footer-widgets-0.png | Bin 0 -> 180 bytes bueno/functions/images/footer-widgets-1.png | Bin 0 -> 185 bytes bueno/functions/images/footer-widgets-2.png | Bin 0 -> 191 bytes bueno/functions/images/footer-widgets-3.png | Bin 0 -> 193 bytes bueno/functions/images/footer-widgets-4.png | Bin 0 -> 193 bytes bueno/functions/images/gray-grad.png | Bin 0 -> 89 bytes bueno/functions/images/happy.png | Bin 0 -> 1173 bytes bueno/functions/images/headertile.jpg | Bin 0 -> 373 bytes bueno/functions/images/headingtop.jpg | Bin 0 -> 286 bytes bueno/functions/images/ico-add.png | Bin 0 -> 397 bytes bueno/functions/images/ico-alert.png | Bin 0 -> 563 bytes bueno/functions/images/ico-changelog.png | Bin 0 -> 582 bytes bueno/functions/images/ico-close.png | Bin 0 -> 563 bytes bueno/functions/images/ico-delete.png | Bin 0 -> 662 bytes bueno/functions/images/ico-docs.png | Bin 0 -> 223 bytes .../images/ico-dojo-banner-close.png | Bin 0 -> 1151 bytes bueno/functions/images/ico-dojo-banner.png | Bin 0 -> 2452 bytes bueno/functions/images/ico-download.png | Bin 0 -> 582 bytes bueno/functions/images/ico-edit.png | Bin 0 -> 751 bytes bueno/functions/images/ico-forum.png | Bin 0 -> 617 bytes bueno/functions/images/ico-info.png | Bin 0 -> 555 bytes bueno/functions/images/ico-note.png | Bin 0 -> 447 bytes bueno/functions/images/ico-preview.png | Bin 0 -> 1060 bytes bueno/functions/images/ico-refresh.png | Bin 0 -> 1587 bytes .../functions/images/ico-social-delicious.png | Bin 0 -> 650 bytes .../functions/images/ico-social-facebook.png | Bin 0 -> 686 bytes bueno/functions/images/ico-social-flickr.png | Bin 0 -> 897 bytes .../images/ico-social-googleplus.png | Bin 0 -> 1643 bytes .../functions/images/ico-social-linkedin.png | Bin 0 -> 965 bytes bueno/functions/images/ico-social-rss.png | Bin 0 -> 1233 bytes bueno/functions/images/ico-social-twitter.png | Bin 0 -> 638 bytes bueno/functions/images/ico-social-youtube.png | Bin 0 -> 1297 bytes bueno/functions/images/ico-tick.png | Bin 0 -> 665 bytes bueno/functions/images/ico-viewpage.png | Bin 0 -> 582 bytes bueno/functions/images/icon-32.png | Bin 0 -> 2179 bytes bueno/functions/images/info.png | Bin 0 -> 934 bytes bueno/functions/images/layout-off.png | Bin 0 -> 691 bytes bueno/functions/images/loading-bottom.gif | Bin 0 -> 1180 bytes bueno/functions/images/loading-top.gif | Bin 0 -> 1493 bytes bueno/functions/images/logo.png | Bin 0 -> 7093 bytes bueno/functions/images/menu-arrow-frame.png | Bin 0 -> 357 bytes bueno/functions/images/menu-shadow.png | Bin 0 -> 119 bytes bueno/functions/images/nicEditorIcons.gif | Bin 0 -> 3514 bytes bueno/functions/images/option-icon-ads.png | Bin 0 -> 596 bytes bueno/functions/images/option-icon-audio.png | Bin 0 -> 544 bytes bueno/functions/images/option-icon-box.png | Bin 0 -> 699 bytes .../functions/images/option-icon-calendar.png | Bin 0 -> 289 bytes bueno/functions/images/option-icon-cart.png | Bin 0 -> 421 bytes .../functions/images/option-icon-connect.png | Bin 0 -> 719 bytes .../functions/images/option-icon-favorite.png | Bin 0 -> 648 bytes .../functions/images/option-icon-featured.png | Bin 0 -> 528 bytes bueno/functions/images/option-icon-footer.png | Bin 0 -> 241 bytes .../functions/images/option-icon-general.png | Bin 0 -> 688 bytes bueno/functions/images/option-icon-header.png | Bin 0 -> 277 bytes .../functions/images/option-icon-homepage.png | Bin 0 -> 439 bytes bueno/functions/images/option-icon-image.png | Bin 0 -> 610 bytes bueno/functions/images/option-icon-layout.png | Bin 0 -> 195 bytes .../functions/images/option-icon-listing.png | Bin 0 -> 513 bytes bueno/functions/images/option-icon-main.png | Bin 0 -> 278 bytes bueno/functions/images/option-icon-maps.png | Bin 0 -> 605 bytes bueno/functions/images/option-icon-media.png | Bin 0 -> 767 bytes bueno/functions/images/option-icon-misc.png | Bin 0 -> 861 bytes bueno/functions/images/option-icon-nav.png | Bin 0 -> 741 bytes .../images/option-icon-portfolio.png | Bin 0 -> 627 bytes bueno/functions/images/option-icon-post.png | Bin 0 -> 268 bytes bueno/functions/images/option-icon-search.png | Bin 0 -> 582 bytes .../functions/images/option-icon-sidebar.png | Bin 0 -> 252 bytes bueno/functions/images/option-icon-slider.png | Bin 0 -> 502 bytes .../functions/images/option-icon-styling.png | Bin 0 -> 504 bytes .../functions/images/option-icon-tumblog.png | Bin 0 -> 755 bytes .../images/option-icon-typography.png | Bin 0 -> 404 bytes bueno/functions/images/option-icon-upload.png | Bin 0 -> 737 bytes .../images/option-icon-woocommerce.png | Bin 0 -> 439 bytes bueno/functions/images/quote.png | Bin 0 -> 550 bytes bueno/functions/images/select.png | Bin 0 -> 168 bytes bueno/functions/images/shortcode-arrow.png | Bin 0 -> 357 bytes bueno/functions/images/shortcode-bullet.png | Bin 0 -> 142 bytes .../functions/images/shortcode-green-dot.png | Bin 0 -> 235 bytes bueno/functions/images/shortcode-icon.png | Bin 0 -> 671 bytes bueno/functions/images/shortcode-red-x.png | Bin 0 -> 392 bytes bueno/functions/images/shortcode-star.png | Bin 0 -> 648 bytes bueno/functions/images/shortcode-tick.png | Bin 0 -> 504 bytes .../images/shortcode-toggle-close.png | Bin 0 -> 288 bytes .../images/shortcode-toggle-open.png | Bin 0 -> 397 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 98 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 97 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 113 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 82 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 89 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 115 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 113 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 86 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4197 bytes bueno/functions/images/warning.png | Bin 0 -> 857 bytes bueno/functions/images/wf-tab-icons.png | Bin 0 -> 2304 bytes bueno/functions/images/woo-icon.png | Bin 0 -> 657 bytes bueno/functions/js/ajaxupload.js | 606 +++ bueno/functions/js/colorpicker.js | 484 ++ bueno/functions/js/jquery.maskedinput.js | 7 + bueno/functions/js/nicEdit.js | 114 + bueno/functions/js/php.js | 190 + .../js/shortcode-generator/dialog.php | 101 + .../js/shortcode-generator/editor_plugin.js | 140 + .../shortcode-generator/editor_plugin_39.js | 86 + .../shortcode-generator/js/column-control.js | 95 + .../js/shortcode-generator/js/dialog-js.php | 672 +++ .../js/shortcode-generator/js/tab-control.js | 86 + .../preview-shortcode-external.php | 3 + .../js/shortcode-generator/shortcodes/abbr.js | 19 + .../js/shortcode-generator/shortcodes/box.js | 53 + .../shortcode-generator/shortcodes/button.js | 80 + .../shortcode-generator/shortcodes/column.js | 48 + .../shortcodes/contactform.js | 16 + .../js/shortcode-generator/shortcodes/digg.js | 34 + .../shortcode-generator/shortcodes/fblike.js | 68 + .../shortcode-generator/shortcodes/fbshare.js | 35 + .../shortcodes/google_plusone.js | 96 + .../shortcode-generator/shortcodes/ilink.js | 37 + .../shortcodes/linkedin_share.js | 29 + .../shortcodes/ordered_list.js | 32 + .../shortcodes/pinterest.js | 43 + .../shortcode-generator/shortcodes/quote.js | 29 + .../shortcode-generator/shortcodes/related.js | 17 + .../shortcodes/social_icon.js | 60 + .../shortcodes/stumbleupon.js | 38 + .../js/shortcode-generator/shortcodes/tab.js | 96 + .../shortcode-generator/shortcodes/toggle.js | 79 + .../shortcodes/tweetmeme.js | 25 + .../shortcode-generator/shortcodes/twitter.js | 76 + .../shortcodes/twitter_follow.js | 70 + .../shortcodes/typography.js | 43 + .../shortcodes/unordered_list.js | 32 + bueno/functions/js/shortcodes.js | 114 + bueno/functions/js/tumblog-ajax.js | 248 + bueno/functions/js/ui.datepicker.js | 1 + bueno/functions/js/woo-admin-interface.js | 355 ++ bueno/functions/js/woo-custom-fields.js | 192 + .../functions/js/woo-medialibrary-uploader.js | 157 + bueno/functions/js/woo-scripts.js | 27 + bueno/functions/js/woo-typography-preview.js | 220 + bueno/functions/thumb.php | 1264 +++++ bueno/header.php | 101 + bueno/images/featured.jpg | Bin 0 -> 5013 bytes bueno/images/logo.png | Bin 0 -> 1352 bytes bueno/images/woothemes.png | Bin 0 -> 2570 bytes bueno/includes/js/ChunkFive.font.js | 7 + bueno/includes/js/League_Gothic.font.js | 10 + bueno/includes/js/cufon.js | 7 + bueno/includes/js/general.js | 19 + bueno/includes/js/menu.js | 26 + bueno/includes/js/pngfix.js | 20 + bueno/includes/js/superfish.js | 124 + bueno/includes/sidebar-init.php | 24 + bueno/includes/theme-comments.php | 77 + bueno/includes/theme-functions.php | 16 + bueno/includes/theme-js.php | 11 + bueno/includes/theme-options.php | 245 + bueno/includes/theme-widgets.php | 20 + bueno/includes/widgets/widget-woo-adspace.php | 83 + .../widgets/widget-woo-campaign-monitor.php | 47 + .../includes/widgets/widget-woo-featured.php | 130 + bueno/includes/widgets/widget-woo-flickr.php | 114 + bueno/index.php | 68 + bueno/lang/bueno.po | 731 +++ bueno/lang/woothemes.pot | 1161 ++++ bueno/license.txt | 281 + bueno/page.php | 37 + bueno/psd/bueno-psd.zip | Bin 0 -> 1874978 bytes bueno/screenshot.png | Bin 0 -> 13474 bytes bueno/search.php | 68 + bueno/searchform.php | 12 + bueno/sidebar.php | 6 + bueno/single.php | 70 + bueno/style.css | 371 ++ bueno/styles/blue.css | 143 + bueno/styles/blue/bodytile.jpg | Bin 0 -> 63637 bytes bueno/styles/blue/bullet.png | Bin 0 -> 155 bytes bueno/styles/blue/bullet_hover.png | Bin 0 -> 155 bytes bueno/styles/blue/date.png | Bin 0 -> 1071 bytes bueno/styles/blue/ico-rss.png | Bin 0 -> 395 bytes bueno/styles/brown.css | 145 + bueno/styles/brown/bodytile.jpg | Bin 0 -> 64573 bytes bueno/styles/brown/bullet.png | Bin 0 -> 155 bytes bueno/styles/brown/bullet_hover.png | Bin 0 -> 155 bytes bueno/styles/brown/date.png | Bin 0 -> 1071 bytes bueno/styles/brown/ico-rss.png | Bin 0 -> 406 bytes bueno/styles/default.css | 143 + bueno/styles/default/bodytile.jpg | Bin 0 -> 35272 bytes bueno/styles/default/bullet.png | Bin 0 -> 155 bytes bueno/styles/default/bullet_hover.png | Bin 0 -> 155 bytes bueno/styles/default/date.png | Bin 0 -> 1035 bytes bueno/styles/default/ico-rss.png | Bin 0 -> 399 bytes bueno/styles/green.css | 144 + bueno/styles/green/bodytile.jpg | Bin 0 -> 60371 bytes bueno/styles/green/bullet.png | Bin 0 -> 155 bytes bueno/styles/green/bullet_hover.png | Bin 0 -> 155 bytes bueno/styles/green/date.png | Bin 0 -> 1072 bytes bueno/styles/green/ico-rss.png | Bin 0 -> 404 bytes bueno/styles/grey.css | 144 + bueno/styles/grey/bodytile.jpg | Bin 0 -> 56744 bytes bueno/styles/grey/bullet.png | Bin 0 -> 155 bytes bueno/styles/grey/bullet_hover.png | Bin 0 -> 155 bytes bueno/styles/grey/date.png | Bin 0 -> 1080 bytes bueno/styles/grey/ico-rss.png | Bin 0 -> 390 bytes bueno/styles/purple.css | 144 + bueno/styles/purple/bodytile.jpg | Bin 0 -> 80260 bytes bueno/styles/purple/bullet.png | Bin 0 -> 155 bytes bueno/styles/purple/bullet_hover.png | Bin 0 -> 155 bytes bueno/styles/purple/date.png | Bin 0 -> 1073 bytes bueno/styles/purple/ico-rss.png | Bin 0 -> 401 bytes bueno/styles/red.css | 145 + bueno/styles/red/bodytile.jpg | Bin 0 -> 79068 bytes bueno/styles/red/bullet.png | Bin 0 -> 155 bytes bueno/styles/red/bullet_hover.png | Bin 0 -> 156 bytes bueno/styles/red/date.png | Bin 0 -> 1074 bytes bueno/styles/red/ico-rss.png | Bin 0 -> 402 bytes bueno/template-archives.php | 49 + bueno/template-fullwidth.php | 36 + bueno/template-redirect.php | 34 + bueno/template-sitemap.php | 60 + mystile/404.php | 34 + mystile/README.md | 0 mystile/archive.php | 92 + mystile/changelog.txt | 127 + mystile/comments.php | 80 + mystile/content-search.php | 33 + mystile/content.php | 59 + mystile/css/layout.css | 964 ++++ mystile/css/layout.less | 961 ++++ mystile/css/mixins.less | 162 + mystile/custom.css | 25 + mystile/footer.php | 77 + mystile/functions.php | 59 + mystile/functions/admin-backup.php | 13 + mystile/functions/admin-custom-nav.php | 99 + mystile/functions/admin-custom.php | 4 + .../admin-express-functions-deprecated.php | 5 + mystile/functions/admin-express-functions.php | 5 + .../functions/admin-framework-settings.php | 4 + mystile/functions/admin-functions.php | 3684 +++++++++++++ mystile/functions/admin-hooks.php | 252 + mystile/functions/admin-init.php | 98 + mystile/functions/admin-interface.php | 315 ++ .../functions/admin-medialibrary-uploader.php | 340 ++ mystile/functions/admin-sbm.php | 20 + mystile/functions/admin-seo.php | 5 + mystile/functions/admin-setup.php | 302 ++ .../functions/admin-shortcode-generator.php | 223 + mystile/functions/admin-shortcodes.php | 2362 +++++++++ mystile/functions/admin-style.css | 784 +++ .../functions/admin-tumblog-quickpress.php | 5 + mystile/functions/assets/css/activation.css | 103 + mystile/functions/assets/css/activation.less | 146 + mystile/functions/assets/css/admin.css | 74 + mystile/functions/assets/css/admin.less | 89 + mystile/functions/assets/css/fields.css | 356 ++ mystile/functions/assets/css/fields.less | 222 + mystile/functions/assets/css/lib/chosen.css | 430 ++ .../functions/assets/css/lib/chosen.min.css | 3 + mystile/functions/assets/css/menu.css | 14 + mystile/functions/assets/css/menu.less | 18 + mystile/functions/assets/css/mixins.less | 139 + .../functions/assets/fonts/wooframework.eot | Bin 0 -> 2008 bytes .../functions/assets/fonts/wooframework.svg | 12 + .../functions/assets/fonts/wooframework.ttf | Bin 0 -> 1824 bytes .../functions/assets/fonts/wooframework.woff | Bin 0 -> 1900 bytes mystile/functions/assets/images/icon.png | Bin 0 -> 3760 bytes .../assets/images/lib/chosen-sprite.png | Bin 0 -> 646 bytes .../assets/images/lib/chosen-sprite@2x.png | Bin 0 -> 872 bytes mystile/functions/assets/images/logo.png | Bin 0 -> 9595 bytes .../functions/assets/images/placeholder.png | Bin 0 -> 1503 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 149 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 147 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 117 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 95 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 143 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 118 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../functions/assets/js/chosen-selectors.js | 19 + mystile/functions/assets/js/colourpickers.js | 14 + mystile/functions/assets/js/datepickers.js | 10 + .../functions/assets/js/image-selectors.js | 15 + .../assets/js/lib/jquery-chosen-rtl.js | 6 + .../assets/js/lib/jquery-chosen-rtl.min.js | 1 + .../functions/assets/js/lib/jquery-chosen.js | 1166 ++++ .../assets/js/lib/jquery-chosen.min.js | 2 + .../assets/js/lib/jquery-masked-input.js | 338 ++ mystile/functions/assets/js/masked-inputs.js | 11 + .../functions/assets/js/range-selectors.js | 34 + .../functions/assets/js/typography-preview.js | 219 + mystile/functions/assets/js/typography.js | 30 + mystile/functions/assets/js/uploaders.js | 86 + mystile/functions/classes/class-wf-backup.php | 469 ++ .../classes/class-wf-fields-meta.php | 45 + .../classes/class-wf-fields-settings.php | 133 + mystile/functions/classes/class-wf-fields.php | 1731 ++++++ mystile/functions/classes/class-wf-meta.php | 336 ++ .../classes/class-wf-screen-admin-base.php | 297 ++ .../classes/class-wf-screen-framework.php | 152 + .../classes/class-wf-screen-welcome.php | 152 + mystile/functions/classes/class-wf-screen.php | 83 + .../functions/classes/class-wf-settings.php | 355 ++ mystile/functions/classes/class-wf.php | 186 + .../classes/class-wp-app-store-installer.php | 5 + mystile/functions/css/colorpicker.css | 177 + .../functions/css/jquery-ui-datepicker.css | 347 ++ mystile/functions/css/shortcode-generator.css | 119 + mystile/functions/css/shortcode-icon.css | 15 + mystile/functions/css/shortcodes.css | 573 ++ mystile/functions/css/tumblog.css | 146 + mystile/functions/css/woo-custom-fields.css | 106 + mystile/functions/deprecated.php | 1372 +++++ mystile/functions/functions-changelog.txt | 1661 ++++++ mystile/functions/images/1c.png | Bin 0 -> 316 bytes mystile/functions/images/2cl.png | Bin 0 -> 187 bytes mystile/functions/images/2cr.png | Bin 0 -> 186 bytes mystile/functions/images/3cl.png | Bin 0 -> 190 bytes mystile/functions/images/3cm.png | Bin 0 -> 190 bytes mystile/functions/images/3cr.png | Bin 0 -> 189 bytes mystile/functions/images/ajax-loader.gif | Bin 0 -> 457 bytes .../functions/images/btn-tumblog-audio.png | Bin 0 -> 786 bytes .../functions/images/btn-tumblog-image.png | Bin 0 -> 813 bytes mystile/functions/images/btn-tumblog-link.png | Bin 0 -> 1197 bytes mystile/functions/images/btn-tumblog-note.png | Bin 0 -> 622 bytes .../functions/images/btn-tumblog-quote.png | Bin 0 -> 1325 bytes .../functions/images/btn-tumblog-video.png | Bin 0 -> 940 bytes mystile/functions/images/calendar.gif | Bin 0 -> 269 bytes .../functions/images/colorpicker/blank.gif | Bin 0 -> 49 bytes .../colorpicker/colorpicker_background.png | Bin 0 -> 1897 bytes .../images/colorpicker/colorpicker_hex.png | Bin 0 -> 532 bytes .../images/colorpicker/colorpicker_hsb_b.png | Bin 0 -> 970 bytes .../images/colorpicker/colorpicker_hsb_h.png | Bin 0 -> 1012 bytes .../images/colorpicker/colorpicker_hsb_s.png | Bin 0 -> 1171 bytes .../images/colorpicker/colorpicker_indic.gif | Bin 0 -> 86 bytes .../colorpicker/colorpicker_overlay.png | Bin 0 -> 10355 bytes .../images/colorpicker/colorpicker_rgb_b.png | Bin 0 -> 970 bytes .../images/colorpicker/colorpicker_rgb_g.png | Bin 0 -> 1069 bytes .../images/colorpicker/colorpicker_rgb_r.png | Bin 0 -> 1066 bytes .../images/colorpicker/colorpicker_select.gif | Bin 0 -> 78 bytes .../images/colorpicker/colorpicker_submit.png | Bin 0 -> 984 bytes .../functions/images/colorpicker/select.png | Bin 0 -> 3278 bytes mystile/functions/images/footer-widgets-0.png | Bin 0 -> 180 bytes mystile/functions/images/footer-widgets-1.png | Bin 0 -> 185 bytes mystile/functions/images/footer-widgets-2.png | Bin 0 -> 191 bytes mystile/functions/images/footer-widgets-3.png | Bin 0 -> 193 bytes mystile/functions/images/footer-widgets-4.png | Bin 0 -> 193 bytes mystile/functions/images/gray-grad.png | Bin 0 -> 89 bytes mystile/functions/images/happy.png | Bin 0 -> 1173 bytes mystile/functions/images/headertile.jpg | Bin 0 -> 373 bytes mystile/functions/images/headingtop.jpg | Bin 0 -> 286 bytes mystile/functions/images/ico-add.png | Bin 0 -> 397 bytes mystile/functions/images/ico-alert.png | Bin 0 -> 563 bytes mystile/functions/images/ico-changelog.png | Bin 0 -> 582 bytes mystile/functions/images/ico-close.png | Bin 0 -> 563 bytes mystile/functions/images/ico-delete.png | Bin 0 -> 662 bytes mystile/functions/images/ico-docs.png | Bin 0 -> 223 bytes .../images/ico-dojo-banner-close.png | Bin 0 -> 1151 bytes mystile/functions/images/ico-dojo-banner.png | Bin 0 -> 2452 bytes mystile/functions/images/ico-download.png | Bin 0 -> 582 bytes mystile/functions/images/ico-edit.png | Bin 0 -> 751 bytes mystile/functions/images/ico-forum.png | Bin 0 -> 617 bytes mystile/functions/images/ico-info.png | Bin 0 -> 555 bytes mystile/functions/images/ico-note.png | Bin 0 -> 447 bytes mystile/functions/images/ico-preview.png | Bin 0 -> 1060 bytes mystile/functions/images/ico-refresh.png | Bin 0 -> 1587 bytes .../functions/images/ico-social-delicious.png | Bin 0 -> 650 bytes .../functions/images/ico-social-facebook.png | Bin 0 -> 686 bytes .../functions/images/ico-social-flickr.png | Bin 0 -> 897 bytes .../images/ico-social-googleplus.png | Bin 0 -> 1643 bytes .../functions/images/ico-social-linkedin.png | Bin 0 -> 965 bytes mystile/functions/images/ico-social-rss.png | Bin 0 -> 1233 bytes .../functions/images/ico-social-twitter.png | Bin 0 -> 638 bytes .../functions/images/ico-social-youtube.png | Bin 0 -> 1297 bytes mystile/functions/images/ico-tick.png | Bin 0 -> 665 bytes mystile/functions/images/ico-viewpage.png | Bin 0 -> 582 bytes mystile/functions/images/icon-32.png | Bin 0 -> 2179 bytes mystile/functions/images/info.png | Bin 0 -> 934 bytes mystile/functions/images/layout-off.png | Bin 0 -> 691 bytes mystile/functions/images/loading-bottom.gif | Bin 0 -> 1180 bytes mystile/functions/images/loading-top.gif | Bin 0 -> 1493 bytes mystile/functions/images/logo.png | Bin 0 -> 7093 bytes mystile/functions/images/menu-arrow-frame.png | Bin 0 -> 357 bytes mystile/functions/images/menu-shadow.png | Bin 0 -> 119 bytes mystile/functions/images/nicEditorIcons.gif | Bin 0 -> 3514 bytes mystile/functions/images/option-icon-ads.png | Bin 0 -> 596 bytes .../functions/images/option-icon-audio.png | Bin 0 -> 544 bytes mystile/functions/images/option-icon-box.png | Bin 0 -> 699 bytes .../functions/images/option-icon-calendar.png | Bin 0 -> 289 bytes mystile/functions/images/option-icon-cart.png | Bin 0 -> 421 bytes .../functions/images/option-icon-connect.png | Bin 0 -> 719 bytes .../functions/images/option-icon-favorite.png | Bin 0 -> 648 bytes .../functions/images/option-icon-featured.png | Bin 0 -> 528 bytes .../functions/images/option-icon-footer.png | Bin 0 -> 241 bytes .../functions/images/option-icon-general.png | Bin 0 -> 688 bytes .../functions/images/option-icon-header.png | Bin 0 -> 277 bytes .../functions/images/option-icon-homepage.png | Bin 0 -> 439 bytes .../functions/images/option-icon-image.png | Bin 0 -> 610 bytes .../functions/images/option-icon-layout.png | Bin 0 -> 195 bytes .../functions/images/option-icon-listing.png | Bin 0 -> 513 bytes mystile/functions/images/option-icon-main.png | Bin 0 -> 278 bytes mystile/functions/images/option-icon-maps.png | Bin 0 -> 605 bytes .../functions/images/option-icon-media.png | Bin 0 -> 767 bytes mystile/functions/images/option-icon-misc.png | Bin 0 -> 861 bytes mystile/functions/images/option-icon-nav.png | Bin 0 -> 741 bytes .../images/option-icon-portfolio.png | Bin 0 -> 627 bytes mystile/functions/images/option-icon-post.png | Bin 0 -> 268 bytes .../functions/images/option-icon-search.png | Bin 0 -> 582 bytes .../functions/images/option-icon-sidebar.png | Bin 0 -> 252 bytes .../functions/images/option-icon-slider.png | Bin 0 -> 502 bytes .../functions/images/option-icon-styling.png | Bin 0 -> 504 bytes .../functions/images/option-icon-tumblog.png | Bin 0 -> 755 bytes .../images/option-icon-typography.png | Bin 0 -> 404 bytes .../functions/images/option-icon-upload.png | Bin 0 -> 737 bytes .../images/option-icon-woocommerce.png | Bin 0 -> 439 bytes mystile/functions/images/quote.png | Bin 0 -> 550 bytes mystile/functions/images/select.png | Bin 0 -> 168 bytes mystile/functions/images/shortcode-arrow.png | Bin 0 -> 357 bytes mystile/functions/images/shortcode-bullet.png | Bin 0 -> 142 bytes .../functions/images/shortcode-green-dot.png | Bin 0 -> 235 bytes mystile/functions/images/shortcode-icon.png | Bin 0 -> 671 bytes mystile/functions/images/shortcode-red-x.png | Bin 0 -> 392 bytes mystile/functions/images/shortcode-star.png | Bin 0 -> 648 bytes mystile/functions/images/shortcode-tick.png | Bin 0 -> 504 bytes .../images/shortcode-toggle-close.png | Bin 0 -> 288 bytes .../images/shortcode-toggle-open.png | Bin 0 -> 397 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 98 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 97 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 113 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 82 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 89 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 115 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 113 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 86 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4197 bytes mystile/functions/images/warning.png | Bin 0 -> 857 bytes mystile/functions/images/wf-tab-icons.png | Bin 0 -> 2304 bytes mystile/functions/images/woo-icon.png | Bin 0 -> 657 bytes mystile/functions/js/ajaxupload.js | 606 +++ mystile/functions/js/colorpicker.js | 484 ++ mystile/functions/js/jquery.maskedinput.js | 7 + mystile/functions/js/nicEdit.js | 114 + mystile/functions/js/php.js | 190 + .../js/shortcode-generator/dialog.php | 101 + .../js/shortcode-generator/editor_plugin.js | 140 + .../shortcode-generator/editor_plugin_39.js | 86 + .../shortcode-generator/js/column-control.js | 95 + .../js/shortcode-generator/js/dialog-js.php | 672 +++ .../js/shortcode-generator/js/tab-control.js | 86 + .../preview-shortcode-external.php | 3 + .../js/shortcode-generator/shortcodes/abbr.js | 19 + .../js/shortcode-generator/shortcodes/box.js | 53 + .../shortcode-generator/shortcodes/button.js | 80 + .../shortcode-generator/shortcodes/column.js | 48 + .../shortcodes/contactform.js | 16 + .../js/shortcode-generator/shortcodes/digg.js | 34 + .../shortcode-generator/shortcodes/fblike.js | 68 + .../shortcode-generator/shortcodes/fbshare.js | 35 + .../shortcodes/google_plusone.js | 96 + .../shortcode-generator/shortcodes/ilink.js | 37 + .../shortcodes/linkedin_share.js | 29 + .../shortcodes/ordered_list.js | 32 + .../shortcodes/pinterest.js | 43 + .../shortcode-generator/shortcodes/quote.js | 29 + .../shortcode-generator/shortcodes/related.js | 17 + .../shortcodes/social_icon.js | 60 + .../shortcodes/stumbleupon.js | 38 + .../js/shortcode-generator/shortcodes/tab.js | 96 + .../shortcode-generator/shortcodes/toggle.js | 79 + .../shortcodes/tweetmeme.js | 25 + .../shortcode-generator/shortcodes/twitter.js | 76 + .../shortcodes/twitter_follow.js | 70 + .../shortcodes/typography.js | 43 + .../shortcodes/unordered_list.js | 32 + mystile/functions/js/shortcodes.js | 114 + mystile/functions/js/tumblog-ajax.js | 248 + mystile/functions/js/ui.datepicker.js | 1 + mystile/functions/js/woo-admin-interface.js | 355 ++ mystile/functions/js/woo-custom-fields.js | 192 + .../functions/js/woo-medialibrary-uploader.js | 157 + mystile/functions/js/woo-scripts.js | 27 + .../functions/js/woo-typography-preview.js | 220 + mystile/functions/thumb.php | 1264 +++++ mystile/header.php | 107 + mystile/images/blockquote.png | Bin 0 -> 365 bytes mystile/images/ico-rss.png | Bin 0 -> 644 bytes mystile/images/ico-search.png | Bin 0 -> 795 bytes mystile/images/ico-star-small.png | Bin 0 -> 779 bytes mystile/images/ico-star.png | Bin 0 -> 1160 bytes mystile/images/ico-subscribe-social.png | Bin 0 -> 7929 bytes mystile/images/ico-tag.png | Bin 0 -> 554 bytes mystile/images/icons/black-dot.png | Bin 0 -> 601 bytes mystile/images/icons/blue-dot.png | Bin 0 -> 1408 bytes mystile/images/icons/green-dot.png | Bin 0 -> 1384 bytes mystile/images/icons/pink-dot.png | Bin 0 -> 1446 bytes mystile/images/icons/purple-dot.png | Bin 0 -> 1406 bytes mystile/images/icons/red-dot.png | Bin 0 -> 1356 bytes mystile/images/icons/shadow.png | Bin 0 -> 665 bytes mystile/images/icons/teal-dot.png | Bin 0 -> 1450 bytes mystile/images/icons/white-dot.png | Bin 0 -> 1175 bytes mystile/images/icons/yellow-dot.png | Bin 0 -> 1466 bytes mystile/images/logo.png | Bin 0 -> 5184 bytes mystile/images/woothemes.png | Bin 0 -> 2407 bytes mystile/includes/css/prettyPhoto.css | 170 + .../prettyPhoto/default/default_thumb.png | Bin 0 -> 1537 bytes .../images/prettyPhoto/default/loader.gif | Bin 0 -> 6331 bytes .../images/prettyPhoto/default/sprite.png | Bin 0 -> 6682 bytes .../prettyPhoto/default/sprite_next.png | Bin 0 -> 1358 bytes .../prettyPhoto/default/sprite_prev.png | Bin 0 -> 1376 bytes .../images/prettyPhoto/default/sprite_x.png | Bin 0 -> 1097 bytes .../images/prettyPhoto/default/sprite_y.png | Bin 0 -> 1162 bytes .../integrations/sensei/css/sensei.css | 265 + .../integrations/sensei/css/sensei.less | 298 ++ .../integrations/sensei/functions.php | 50 + .../includes/integrations/sensei/index.php | 2 + .../includes/integrations/sensei/setup.php | 47 + .../includes/integrations/sensei/template.php | 72 + mystile/includes/js/enable-lightbox.js | 14 + mystile/includes/js/general.js | 46 + mystile/includes/js/jquery.prettyPhoto.js | 81 + mystile/includes/js/markers.js | 51 + mystile/includes/js/respond-IE.js | 9 + mystile/includes/js/third-party.js | 118 + mystile/includes/sidebar-init.php | 30 + mystile/includes/theme-actions.php | 411 ++ mystile/includes/theme-comments.php | 80 + mystile/includes/theme-functions.php | 594 +++ mystile/includes/theme-install.php | 38 + mystile/includes/theme-js.php | 47 + mystile/includes/theme-options.php | 884 ++++ .../includes/theme-plugin-integrations.php | 19 + mystile/includes/theme-widgets.php | 39 + mystile/includes/theme-woocommerce.php | 374 ++ .../includes/widgets/widget-woo-adspace.php | 89 + .../widgets/widget-woo-blogauthor.php | 113 + mystile/includes/widgets/widget-woo-embed.php | 164 + .../includes/widgets/widget-woo-flickr.php | 120 + .../includes/widgets/widget-woo-search.php | 60 + .../includes/widgets/widget-woo-subscribe.php | 86 + mystile/index.php | 95 + mystile/lang/en_GB.po | 2962 +++++++++++ mystile/lang/woothemes.pot | 2336 ++++++++ mystile/license.txt | 281 + mystile/page.php | 70 + mystile/screenshot.png | Bin 0 -> 10335 bytes mystile/search-form.php | 23 + mystile/search.php | 70 + mystile/sidebar.php | 33 + mystile/single.php | 107 + mystile/style.css | 3159 +++++++++++ mystile/style.less | 2617 +++++++++ mystile/styles/blue.css | 4123 +++++++++++++++ mystile/styles/blue.less | 11 + mystile/styles/brown.css | 4123 +++++++++++++++ mystile/styles/brown.less | 11 + mystile/styles/default.css | 1 + mystile/styles/green.css | 4123 +++++++++++++++ mystile/styles/green.less | 11 + mystile/styles/grey.css | 4123 +++++++++++++++ mystile/styles/grey.less | 11 + mystile/styles/indigo.css | 4123 +++++++++++++++ mystile/styles/indigo.less | 11 + mystile/styles/red.css | 4123 +++++++++++++++ mystile/styles/red.less | 11 + mystile/styles/violet.css | 4123 +++++++++++++++ mystile/styles/violet.less | 11 + mystile/styles/yellow.css | 4123 +++++++++++++++ mystile/styles/yellow.less | 11 + mystile/template-archives.php | 88 + mystile/template-blog.php | 87 + mystile/template-contact.php | 227 + mystile/template-fullwidth.php | 59 + mystile/template-imagegallery.php | 62 + mystile/template-sitemap.php | 117 + mystile/template-tags.php | 50 + mystile/template-timeline.php | 116 + mystile/theme_info.txt | 3 + mystile/typefaces/icomoon.eot | Bin 0 -> 1644 bytes mystile/typefaces/icomoon.svg | 19 + mystile/typefaces/icomoon.ttf | Bin 0 -> 1480 bytes mystile/typefaces/icomoon.woff | Bin 0 -> 1316 bytes .../typefaces/websymbols-regular-webfont.eot | Bin 0 -> 12596 bytes .../typefaces/websymbols-regular-webfont.svg | 108 + .../typefaces/websymbols-regular-webfont.ttf | Bin 0 -> 12344 bytes .../typefaces/websymbols-regular-webfont.woff | Bin 0 -> 7864 bytes wootique/404.php | 21 + wootique/README.md | 0 wootique/archive.php | 92 + wootique/changelog.txt | 151 + wootique/comments.php | 64 + wootique/css/reset.css | 66 + wootique/custom.css | 10 + wootique/footer.php | 60 + wootique/functions.php | 50 + wootique/functions/admin-backup.php | 13 + wootique/functions/admin-custom-nav.php | 99 + wootique/functions/admin-custom.php | 4 + .../admin-express-functions-deprecated.php | 5 + .../functions/admin-express-functions.php | 5 + .../functions/admin-framework-settings.php | 4 + wootique/functions/admin-functions.php | 3684 +++++++++++++ wootique/functions/admin-hooks.php | 252 + wootique/functions/admin-init.php | 98 + wootique/functions/admin-interface.php | 315 ++ .../functions/admin-medialibrary-uploader.php | 340 ++ wootique/functions/admin-sbm.php | 20 + wootique/functions/admin-seo.php | 5 + wootique/functions/admin-setup.php | 302 ++ .../functions/admin-shortcode-generator.php | 223 + wootique/functions/admin-shortcodes.php | 2362 +++++++++ wootique/functions/admin-style.css | 784 +++ .../functions/admin-tumblog-quickpress.php | 5 + wootique/functions/assets/css/activation.css | 103 + wootique/functions/assets/css/activation.less | 146 + wootique/functions/assets/css/admin.css | 74 + wootique/functions/assets/css/admin.less | 89 + wootique/functions/assets/css/fields.css | 356 ++ wootique/functions/assets/css/fields.less | 222 + wootique/functions/assets/css/lib/chosen.css | 430 ++ .../functions/assets/css/lib/chosen.min.css | 3 + wootique/functions/assets/css/menu.css | 14 + wootique/functions/assets/css/menu.less | 18 + wootique/functions/assets/css/mixins.less | 139 + .../functions/assets/fonts/wooframework.eot | Bin 0 -> 2008 bytes .../functions/assets/fonts/wooframework.svg | 12 + .../functions/assets/fonts/wooframework.ttf | Bin 0 -> 1824 bytes .../functions/assets/fonts/wooframework.woff | Bin 0 -> 1900 bytes wootique/functions/assets/images/icon.png | Bin 0 -> 3760 bytes .../assets/images/lib/chosen-sprite.png | Bin 0 -> 646 bytes .../assets/images/lib/chosen-sprite@2x.png | Bin 0 -> 872 bytes wootique/functions/assets/images/logo.png | Bin 0 -> 9595 bytes .../functions/assets/images/placeholder.png | Bin 0 -> 1503 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 149 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 147 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 117 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 95 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 143 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 118 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../functions/assets/js/chosen-selectors.js | 19 + wootique/functions/assets/js/colourpickers.js | 14 + wootique/functions/assets/js/datepickers.js | 10 + .../functions/assets/js/image-selectors.js | 15 + .../assets/js/lib/jquery-chosen-rtl.js | 6 + .../assets/js/lib/jquery-chosen-rtl.min.js | 1 + .../functions/assets/js/lib/jquery-chosen.js | 1166 ++++ .../assets/js/lib/jquery-chosen.min.js | 2 + .../assets/js/lib/jquery-masked-input.js | 338 ++ wootique/functions/assets/js/masked-inputs.js | 11 + .../functions/assets/js/range-selectors.js | 34 + .../functions/assets/js/typography-preview.js | 219 + wootique/functions/assets/js/typography.js | 30 + wootique/functions/assets/js/uploaders.js | 86 + .../functions/classes/class-wf-backup.php | 469 ++ .../classes/class-wf-fields-meta.php | 45 + .../classes/class-wf-fields-settings.php | 123 + .../functions/classes/class-wf-fields.php | 1716 ++++++ wootique/functions/classes/class-wf-meta.php | 336 ++ .../classes/class-wf-screen-admin-base.php | 297 ++ .../classes/class-wf-screen-framework.php | 152 + .../classes/class-wf-screen-welcome.php | 152 + .../functions/classes/class-wf-screen.php | 83 + .../functions/classes/class-wf-settings.php | 355 ++ wootique/functions/classes/class-wf.php | 186 + .../classes/class-wp-app-store-installer.php | 5 + wootique/functions/config.codekit | 3361 ++++++++++++ wootique/functions/css/colorpicker.css | 177 + .../functions/css/jquery-ui-datepicker.css | 347 ++ .../functions/css/shortcode-generator.css | 119 + wootique/functions/css/shortcode-icon.css | 15 + wootique/functions/css/shortcodes.css | 573 ++ wootique/functions/css/tumblog.css | 146 + wootique/functions/css/woo-custom-fields.css | 106 + wootique/functions/deprecated.php | 1372 +++++ wootique/functions/functions-changelog.txt | 1651 ++++++ wootique/functions/images/1c.png | Bin 0 -> 316 bytes wootique/functions/images/2cl.png | Bin 0 -> 187 bytes wootique/functions/images/2cr.png | Bin 0 -> 186 bytes wootique/functions/images/3cl.png | Bin 0 -> 190 bytes wootique/functions/images/3cm.png | Bin 0 -> 190 bytes wootique/functions/images/3cr.png | Bin 0 -> 189 bytes wootique/functions/images/ajax-loader.gif | Bin 0 -> 457 bytes .../functions/images/btn-tumblog-audio.png | Bin 0 -> 786 bytes .../functions/images/btn-tumblog-image.png | Bin 0 -> 813 bytes .../functions/images/btn-tumblog-link.png | Bin 0 -> 1197 bytes .../functions/images/btn-tumblog-note.png | Bin 0 -> 622 bytes .../functions/images/btn-tumblog-quote.png | Bin 0 -> 1325 bytes .../functions/images/btn-tumblog-video.png | Bin 0 -> 940 bytes wootique/functions/images/calendar.gif | Bin 0 -> 269 bytes .../functions/images/colorpicker/blank.gif | Bin 0 -> 49 bytes .../colorpicker/colorpicker_background.png | Bin 0 -> 1897 bytes .../images/colorpicker/colorpicker_hex.png | Bin 0 -> 532 bytes .../images/colorpicker/colorpicker_hsb_b.png | Bin 0 -> 970 bytes .../images/colorpicker/colorpicker_hsb_h.png | Bin 0 -> 1012 bytes .../images/colorpicker/colorpicker_hsb_s.png | Bin 0 -> 1171 bytes .../images/colorpicker/colorpicker_indic.gif | Bin 0 -> 86 bytes .../colorpicker/colorpicker_overlay.png | Bin 0 -> 10355 bytes .../images/colorpicker/colorpicker_rgb_b.png | Bin 0 -> 970 bytes .../images/colorpicker/colorpicker_rgb_g.png | Bin 0 -> 1069 bytes .../images/colorpicker/colorpicker_rgb_r.png | Bin 0 -> 1066 bytes .../images/colorpicker/colorpicker_select.gif | Bin 0 -> 78 bytes .../images/colorpicker/colorpicker_submit.png | Bin 0 -> 984 bytes .../functions/images/colorpicker/select.png | Bin 0 -> 3278 bytes .../functions/images/footer-widgets-0.png | Bin 0 -> 180 bytes .../functions/images/footer-widgets-1.png | Bin 0 -> 185 bytes .../functions/images/footer-widgets-2.png | Bin 0 -> 191 bytes .../functions/images/footer-widgets-3.png | Bin 0 -> 193 bytes .../functions/images/footer-widgets-4.png | Bin 0 -> 193 bytes wootique/functions/images/gray-grad.png | Bin 0 -> 89 bytes wootique/functions/images/happy.png | Bin 0 -> 1173 bytes wootique/functions/images/headertile.jpg | Bin 0 -> 373 bytes wootique/functions/images/headingtop.jpg | Bin 0 -> 286 bytes wootique/functions/images/ico-add.png | Bin 0 -> 397 bytes wootique/functions/images/ico-alert.png | Bin 0 -> 563 bytes wootique/functions/images/ico-changelog.png | Bin 0 -> 582 bytes wootique/functions/images/ico-close.png | Bin 0 -> 563 bytes wootique/functions/images/ico-delete.png | Bin 0 -> 662 bytes wootique/functions/images/ico-docs.png | Bin 0 -> 223 bytes .../images/ico-dojo-banner-close.png | Bin 0 -> 1151 bytes wootique/functions/images/ico-dojo-banner.png | Bin 0 -> 2452 bytes wootique/functions/images/ico-download.png | Bin 0 -> 582 bytes wootique/functions/images/ico-edit.png | Bin 0 -> 751 bytes wootique/functions/images/ico-forum.png | Bin 0 -> 617 bytes wootique/functions/images/ico-info.png | Bin 0 -> 555 bytes wootique/functions/images/ico-note.png | Bin 0 -> 447 bytes wootique/functions/images/ico-preview.png | Bin 0 -> 1060 bytes wootique/functions/images/ico-refresh.png | Bin 0 -> 1587 bytes .../functions/images/ico-social-delicious.png | Bin 0 -> 650 bytes .../functions/images/ico-social-facebook.png | Bin 0 -> 686 bytes .../functions/images/ico-social-flickr.png | Bin 0 -> 897 bytes .../images/ico-social-googleplus.png | Bin 0 -> 1643 bytes .../functions/images/ico-social-linkedin.png | Bin 0 -> 965 bytes wootique/functions/images/ico-social-rss.png | Bin 0 -> 1233 bytes .../functions/images/ico-social-twitter.png | Bin 0 -> 638 bytes .../functions/images/ico-social-youtube.png | Bin 0 -> 1297 bytes wootique/functions/images/ico-tick.png | Bin 0 -> 665 bytes wootique/functions/images/ico-viewpage.png | Bin 0 -> 582 bytes wootique/functions/images/icon-32.png | Bin 0 -> 2179 bytes wootique/functions/images/info.png | Bin 0 -> 934 bytes wootique/functions/images/layout-off.png | Bin 0 -> 691 bytes wootique/functions/images/loading-bottom.gif | Bin 0 -> 1180 bytes wootique/functions/images/loading-top.gif | Bin 0 -> 1493 bytes wootique/functions/images/logo.png | Bin 0 -> 7093 bytes .../functions/images/menu-arrow-frame.png | Bin 0 -> 357 bytes wootique/functions/images/menu-shadow.png | Bin 0 -> 119 bytes wootique/functions/images/nicEditorIcons.gif | Bin 0 -> 3514 bytes wootique/functions/images/option-icon-ads.png | Bin 0 -> 596 bytes .../functions/images/option-icon-audio.png | Bin 0 -> 544 bytes wootique/functions/images/option-icon-box.png | Bin 0 -> 699 bytes .../functions/images/option-icon-calendar.png | Bin 0 -> 289 bytes .../functions/images/option-icon-cart.png | Bin 0 -> 421 bytes .../functions/images/option-icon-connect.png | Bin 0 -> 719 bytes .../functions/images/option-icon-favorite.png | Bin 0 -> 648 bytes .../functions/images/option-icon-featured.png | Bin 0 -> 528 bytes .../functions/images/option-icon-footer.png | Bin 0 -> 241 bytes .../functions/images/option-icon-general.png | Bin 0 -> 688 bytes .../functions/images/option-icon-header.png | Bin 0 -> 277 bytes .../functions/images/option-icon-homepage.png | Bin 0 -> 439 bytes .../functions/images/option-icon-image.png | Bin 0 -> 610 bytes .../functions/images/option-icon-layout.png | Bin 0 -> 195 bytes .../functions/images/option-icon-listing.png | Bin 0 -> 513 bytes .../functions/images/option-icon-main.png | Bin 0 -> 278 bytes .../functions/images/option-icon-maps.png | Bin 0 -> 605 bytes .../functions/images/option-icon-media.png | Bin 0 -> 767 bytes .../functions/images/option-icon-misc.png | Bin 0 -> 861 bytes wootique/functions/images/option-icon-nav.png | Bin 0 -> 741 bytes .../images/option-icon-portfolio.png | Bin 0 -> 627 bytes .../functions/images/option-icon-post.png | Bin 0 -> 268 bytes .../functions/images/option-icon-search.png | Bin 0 -> 582 bytes .../functions/images/option-icon-sidebar.png | Bin 0 -> 252 bytes .../functions/images/option-icon-slider.png | Bin 0 -> 502 bytes .../functions/images/option-icon-styling.png | Bin 0 -> 504 bytes .../functions/images/option-icon-tumblog.png | Bin 0 -> 755 bytes .../images/option-icon-typography.png | Bin 0 -> 404 bytes .../functions/images/option-icon-upload.png | Bin 0 -> 737 bytes .../images/option-icon-woocommerce.png | Bin 0 -> 439 bytes wootique/functions/images/quote.png | Bin 0 -> 550 bytes wootique/functions/images/select.png | Bin 0 -> 168 bytes wootique/functions/images/shortcode-arrow.png | Bin 0 -> 357 bytes .../functions/images/shortcode-bullet.png | Bin 0 -> 142 bytes .../functions/images/shortcode-green-dot.png | Bin 0 -> 235 bytes wootique/functions/images/shortcode-icon.png | Bin 0 -> 671 bytes wootique/functions/images/shortcode-red-x.png | Bin 0 -> 392 bytes wootique/functions/images/shortcode-star.png | Bin 0 -> 648 bytes wootique/functions/images/shortcode-tick.png | Bin 0 -> 504 bytes .../images/shortcode-toggle-close.png | Bin 0 -> 288 bytes .../images/shortcode-toggle-open.png | Bin 0 -> 397 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 98 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 97 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 113 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 82 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 89 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 115 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 113 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 86 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 4197 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4197 bytes wootique/functions/images/warning.png | Bin 0 -> 857 bytes wootique/functions/images/wf-tab-icons.png | Bin 0 -> 2304 bytes wootique/functions/images/woo-icon.png | Bin 0 -> 657 bytes wootique/functions/js/ajaxupload.js | 606 +++ wootique/functions/js/colorpicker.js | 484 ++ wootique/functions/js/jquery.maskedinput.js | 7 + wootique/functions/js/nicEdit.js | 114 + wootique/functions/js/php.js | 190 + .../js/shortcode-generator/dialog.php | 101 + .../js/shortcode-generator/editor_plugin.js | 140 + .../shortcode-generator/editor_plugin_39.js | 86 + .../shortcode-generator/js/column-control.js | 95 + .../js/shortcode-generator/js/dialog-js.php | 672 +++ .../js/shortcode-generator/js/tab-control.js | 86 + .../preview-shortcode-external.php | 3 + .../js/shortcode-generator/shortcodes/abbr.js | 19 + .../js/shortcode-generator/shortcodes/box.js | 53 + .../shortcode-generator/shortcodes/button.js | 80 + .../shortcode-generator/shortcodes/column.js | 48 + .../shortcodes/contactform.js | 16 + .../js/shortcode-generator/shortcodes/digg.js | 34 + .../shortcode-generator/shortcodes/fblike.js | 68 + .../shortcode-generator/shortcodes/fbshare.js | 35 + .../shortcodes/google_plusone.js | 96 + .../shortcode-generator/shortcodes/ilink.js | 37 + .../shortcodes/linkedin_share.js | 29 + .../shortcodes/ordered_list.js | 32 + .../shortcodes/pinterest.js | 43 + .../shortcode-generator/shortcodes/quote.js | 29 + .../shortcode-generator/shortcodes/related.js | 17 + .../shortcodes/social_icon.js | 60 + .../shortcodes/stumbleupon.js | 38 + .../js/shortcode-generator/shortcodes/tab.js | 96 + .../shortcode-generator/shortcodes/toggle.js | 79 + .../shortcodes/tweetmeme.js | 25 + .../shortcode-generator/shortcodes/twitter.js | 76 + .../shortcodes/twitter_follow.js | 70 + .../shortcodes/typography.js | 43 + .../shortcodes/unordered_list.js | 32 + wootique/functions/js/shortcodes.js | 114 + wootique/functions/js/tumblog-ajax.js | 248 + wootique/functions/js/ui.datepicker.js | 1 + wootique/functions/js/woo-admin-interface.js | 355 ++ wootique/functions/js/woo-custom-fields.js | 192 + .../functions/js/woo-medialibrary-uploader.js | 157 + wootique/functions/js/woo-scripts.js | 27 + .../functions/js/woo-typography-preview.js | 220 + wootique/functions/thumb.php | 1264 +++++ wootique/header.php | 109 + wootique/images/ajax-loader.gif | Bin 0 -> 847 bytes wootique/images/alert-overlay.png | Bin 0 -> 214 bytes wootique/images/arrow-superfish-right.png | Bin 0 -> 169 bytes wootique/images/arrow-superfish.png | Bin 0 -> 209 bytes wootique/images/btn-feat-left.png | Bin 0 -> 2717 bytes wootique/images/btn-feat-right.png | Bin 0 -> 2823 bytes wootique/images/featured-products.png | Bin 0 -> 5798 bytes wootique/images/html.png | Bin 0 -> 46032 bytes wootique/images/ico-alert.png | Bin 0 -> 3352 bytes wootique/images/ico-cart-light.png | Bin 0 -> 377 bytes wootique/images/ico-cart.png | Bin 0 -> 361 bytes wootique/images/ico-checkout-light.png | Bin 0 -> 427 bytes wootique/images/ico-checkout.png | Bin 0 -> 393 bytes wootique/images/ico-cross-small.png | Bin 0 -> 296 bytes wootique/images/ico-download.png | Bin 0 -> 3332 bytes wootique/images/ico-info.png | Bin 0 -> 3272 bytes wootique/images/ico-note.png | Bin 0 -> 3152 bytes wootique/images/ico-rss.png | Bin 0 -> 695 bytes wootique/images/ico-search.png | Bin 0 -> 1789 bytes wootique/images/ico-slider-next.png | Bin 0 -> 1219 bytes wootique/images/ico-slider-prev.png | Bin 0 -> 1217 bytes wootique/images/ico-social-delicious.png | Bin 0 -> 654 bytes wootique/images/ico-social-facebook.png | Bin 0 -> 692 bytes wootique/images/ico-social-flickr.png | Bin 0 -> 899 bytes wootique/images/ico-social-googleplus.png | Bin 0 -> 2195 bytes wootique/images/ico-social-linkedin.png | Bin 0 -> 965 bytes wootique/images/ico-social-rss.png | Bin 0 -> 1233 bytes wootique/images/ico-social-twitter.png | Bin 0 -> 638 bytes wootique/images/ico-social-youtube.png | Bin 0 -> 1297 bytes wootique/images/ico-tag.gif | Bin 0 -> 594 bytes wootique/images/ico-tag.png | Bin 0 -> 554 bytes wootique/images/ico-tick.png | Bin 0 -> 1441 bytes wootique/images/icon-32.png | Bin 0 -> 2304 bytes wootique/images/logo.png | Bin 0 -> 7464 bytes wootique/images/sidebar-left.png | Bin 0 -> 190 bytes wootique/images/sidebar-right.png | Bin 0 -> 188 bytes wootique/images/sprite.png | Bin 0 -> 12033 bytes wootique/images/star-small.png | Bin 0 -> 672 bytes wootique/images/star.png | Bin 0 -> 553 bytes wootique/images/twitter.png | Bin 0 -> 3567 bytes wootique/images/woothemes.png | Bin 0 -> 2407 bytes wootique/includes/images/slides.png | Bin 0 -> 621 bytes wootique/includes/js/general.js | 36 + wootique/includes/js/jquery.jcarousel.min.js | 16 + wootique/includes/js/jquery.uniform.min.js | 1 + .../includes/js/libs/modernizr-2.0.6.min.js | 4 + wootique/includes/js/menu.js | 26 + wootique/includes/js/pngfix.js | 20 + wootique/includes/js/superfish.js | 124 + wootique/includes/js/woo_tabs.js | 31 + wootique/includes/sidebar-init.php | 23 + wootique/includes/theme-actions.php | 321 ++ wootique/includes/theme-comments.php | 70 + wootique/includes/theme-functions.php | 315 ++ wootique/includes/theme-install.php | 32 + wootique/includes/theme-js.php | 23 + wootique/includes/theme-options.php | 710 +++ wootique/includes/theme-widgets.php | 35 + wootique/includes/theme-woocommerce.php | 226 + .../includes/widgets/widget-woo-adspace.php | 83 + .../widgets/widget-woo-blogauthor.php | 107 + .../includes/widgets/widget-woo-embed.php | 158 + .../includes/widgets/widget-woo-flickr.php | 115 + .../includes/widgets/widget-woo-search.php | 54 + .../includes/widgets/widget-woo-subscribe.php | 80 + wootique/includes/widgets/widget-woo-tabs.php | 337 ++ .../includes/widgets/widget-woo-twitter.php | 81 + wootique/index.php | 90 + wootique/lang/en_GB.po | 1479 ++++++ wootique/license.txt | 281 + wootique/page.php | 44 + wootique/screenshot.png | Bin 0 -> 12933 bytes wootique/search-form.php | 7 + wootique/search.php | 45 + wootique/sidebar.php | 16 + wootique/single.php | 72 + wootique/style.css | 2088 ++++++++ wootique/styles/default.css | 1 + wootique/template-archives.php | 62 + wootique/template-blog.php | 81 + wootique/template-contact.php | 190 + wootique/template-fullwidth.php | 43 + wootique/template-imagegallery.php | 44 + wootique/template-sale.php | 106 + wootique/template-sitemap.php | 89 + wootique/template-tags.php | 36 + wootique/template-timeline.php | 97 + wootique/theme_info.txt | 3 + wrk-master.zip | Bin 1026754 -> 0 bytes 1408 files changed, 246888 insertions(+) create mode 100755 artificer/404.php create mode 100644 artificer/README.md create mode 100755 artificer/archive.php create mode 100755 artificer/changelog.txt create mode 100755 artificer/comments.php create mode 100755 artificer/content-search.php create mode 100755 artificer/content.php create mode 100755 artificer/css/layout.css create mode 100755 artificer/css/layout.less create mode 100755 artificer/css/mixins.less create mode 100755 artificer/custom.css create mode 100755 artificer/footer.php create mode 100755 artificer/functions.php create mode 100755 artificer/functions/README.md create mode 100755 artificer/functions/admin-backup.php create mode 100755 artificer/functions/admin-custom-nav.php create mode 100755 artificer/functions/admin-custom.php create mode 100755 artificer/functions/admin-express-functions-deprecated.php create mode 100755 artificer/functions/admin-express-functions.php create mode 100755 artificer/functions/admin-framework-settings.php create mode 100755 artificer/functions/admin-functions.php create mode 100755 artificer/functions/admin-hooks.php create mode 100755 artificer/functions/admin-init.php create mode 100755 artificer/functions/admin-interface.php create mode 100755 artificer/functions/admin-medialibrary-uploader.php create mode 100755 artificer/functions/admin-sbm.php create mode 100755 artificer/functions/admin-seo.php create mode 100755 artificer/functions/admin-setup.php create mode 100755 artificer/functions/admin-shortcode-generator.php create mode 100755 artificer/functions/admin-shortcodes.php create mode 100755 artificer/functions/admin-style.css create mode 100755 artificer/functions/admin-tumblog-quickpress.php create mode 100755 artificer/functions/assets/fonts/wooframework.eot create mode 100755 artificer/functions/assets/fonts/wooframework.svg create mode 100755 artificer/functions/assets/fonts/wooframework.ttf create mode 100755 artificer/functions/assets/fonts/wooframework.woff create mode 100755 artificer/functions/classes/class-wp-app-store-installer.php create mode 100755 artificer/functions/css/colorpicker.css create mode 100755 artificer/functions/css/jquery-ui-datepicker.css create mode 100755 artificer/functions/css/shortcode-generator.css create mode 100755 artificer/functions/css/shortcode-icon.css create mode 100755 artificer/functions/css/shortcodes.css create mode 100755 artificer/functions/css/tumblog.css create mode 100755 artificer/functions/css/woo-custom-fields.css create mode 100755 artificer/functions/functions-changelog.txt create mode 100755 artificer/functions/images/1c.png create mode 100755 artificer/functions/images/2cl.png create mode 100755 artificer/functions/images/2cr.png create mode 100755 artificer/functions/images/3cl.png create mode 100755 artificer/functions/images/3cm.png create mode 100755 artificer/functions/images/3cr.png create mode 100755 artificer/functions/images/ajax-loader.gif create mode 100755 artificer/functions/images/btn-tumblog-audio.png create mode 100755 artificer/functions/images/btn-tumblog-image.png create mode 100755 artificer/functions/images/btn-tumblog-link.png create mode 100755 artificer/functions/images/btn-tumblog-note.png create mode 100755 artificer/functions/images/btn-tumblog-quote.png create mode 100755 artificer/functions/images/btn-tumblog-video.png create mode 100755 artificer/functions/images/calendar.gif create mode 100755 artificer/functions/images/colorpicker/blank.gif create mode 100755 artificer/functions/images/colorpicker/colorpicker_background.png create mode 100755 artificer/functions/images/colorpicker/colorpicker_hex.png create mode 100755 artificer/functions/images/colorpicker/colorpicker_hsb_b.png create mode 100755 artificer/functions/images/colorpicker/colorpicker_hsb_h.png create mode 100755 artificer/functions/images/colorpicker/colorpicker_hsb_s.png create mode 100755 artificer/functions/images/colorpicker/colorpicker_indic.gif create mode 100755 artificer/functions/images/colorpicker/colorpicker_overlay.png create mode 100755 artificer/functions/images/colorpicker/colorpicker_rgb_b.png create mode 100755 artificer/functions/images/colorpicker/colorpicker_rgb_g.png create mode 100755 artificer/functions/images/colorpicker/colorpicker_rgb_r.png create mode 100755 artificer/functions/images/colorpicker/colorpicker_select.gif create mode 100755 artificer/functions/images/colorpicker/colorpicker_submit.png create mode 100755 artificer/functions/images/colorpicker/select.png create mode 100755 artificer/functions/images/footer-widgets-0.png create mode 100755 artificer/functions/images/footer-widgets-1.png create mode 100755 artificer/functions/images/footer-widgets-2.png create mode 100755 artificer/functions/images/footer-widgets-3.png create mode 100755 artificer/functions/images/footer-widgets-4.png create mode 100755 artificer/functions/images/gray-grad.png create mode 100755 artificer/functions/images/happy.png create mode 100755 artificer/functions/images/headertile.jpg create mode 100755 artificer/functions/images/headingtop.jpg create mode 100755 artificer/functions/images/ico-add.png create mode 100755 artificer/functions/images/ico-alert.png create mode 100755 artificer/functions/images/ico-changelog.png create mode 100755 artificer/functions/images/ico-close.png create mode 100755 artificer/functions/images/ico-delete.png create mode 100755 artificer/functions/images/ico-docs.png create mode 100755 artificer/functions/images/ico-dojo-banner-close.png create mode 100755 artificer/functions/images/ico-dojo-banner.png create mode 100755 artificer/functions/images/ico-download.png create mode 100755 artificer/functions/images/ico-edit.png create mode 100755 artificer/functions/images/ico-forum.png create mode 100755 artificer/functions/images/ico-info.png create mode 100755 artificer/functions/images/ico-note.png create mode 100755 artificer/functions/images/ico-presstrends-banner.png create mode 100755 artificer/functions/images/ico-preview.png create mode 100755 artificer/functions/images/ico-refresh.png create mode 100755 artificer/functions/images/ico-social-delicious.png create mode 100755 artificer/functions/images/ico-social-facebook.png create mode 100755 artificer/functions/images/ico-social-flickr.png create mode 100755 artificer/functions/images/ico-social-googleplus.png create mode 100755 artificer/functions/images/ico-social-linkedin.png create mode 100755 artificer/functions/images/ico-social-rss.png create mode 100755 artificer/functions/images/ico-social-twitter.png create mode 100755 artificer/functions/images/ico-social-youtube.png create mode 100755 artificer/functions/images/ico-tick.png create mode 100755 artificer/functions/images/ico-viewpage.png create mode 100755 artificer/functions/images/icon-32.png create mode 100755 artificer/functions/images/info.png create mode 100755 artificer/functions/images/layout-off.png create mode 100755 artificer/functions/images/loading-bottom.gif create mode 100755 artificer/functions/images/loading-top.gif create mode 100755 artificer/functions/images/logo.png create mode 100755 artificer/functions/images/menu-arrow-frame.png create mode 100755 artificer/functions/images/menu-shadow.png create mode 100755 artificer/functions/images/nicEditorIcons.gif create mode 100755 artificer/functions/images/option-icon-ads.png create mode 100755 artificer/functions/images/option-icon-audio.png create mode 100755 artificer/functions/images/option-icon-box.png create mode 100755 artificer/functions/images/option-icon-calendar.png create mode 100755 artificer/functions/images/option-icon-cart.png create mode 100755 artificer/functions/images/option-icon-connect.png create mode 100755 artificer/functions/images/option-icon-favorite.png create mode 100755 artificer/functions/images/option-icon-featured.png create mode 100755 artificer/functions/images/option-icon-footer.png create mode 100755 artificer/functions/images/option-icon-general.png create mode 100755 artificer/functions/images/option-icon-header.png create mode 100755 artificer/functions/images/option-icon-homepage.png create mode 100755 artificer/functions/images/option-icon-image.png create mode 100755 artificer/functions/images/option-icon-layout.png create mode 100755 artificer/functions/images/option-icon-listing.png create mode 100755 artificer/functions/images/option-icon-main.png create mode 100755 artificer/functions/images/option-icon-maps.png create mode 100755 artificer/functions/images/option-icon-media.png create mode 100755 artificer/functions/images/option-icon-misc.png create mode 100755 artificer/functions/images/option-icon-nav.png create mode 100755 artificer/functions/images/option-icon-portfolio.png create mode 100755 artificer/functions/images/option-icon-post.png create mode 100755 artificer/functions/images/option-icon-presstrends.png create mode 100755 artificer/functions/images/option-icon-search.png create mode 100755 artificer/functions/images/option-icon-sidebar.png create mode 100755 artificer/functions/images/option-icon-slider.png create mode 100755 artificer/functions/images/option-icon-styling.png create mode 100755 artificer/functions/images/option-icon-tumblog.png create mode 100755 artificer/functions/images/option-icon-typography.png create mode 100755 artificer/functions/images/option-icon-upload.png create mode 100755 artificer/functions/images/option-icon-woocommerce.png create mode 100755 artificer/functions/images/quote.png create mode 100755 artificer/functions/images/select.png create mode 100755 artificer/functions/images/shortcode-arrow.png create mode 100755 artificer/functions/images/shortcode-bullet.png create mode 100755 artificer/functions/images/shortcode-green-dot.png create mode 100755 artificer/functions/images/shortcode-icon.png create mode 100755 artificer/functions/images/shortcode-red-x.png create mode 100755 artificer/functions/images/shortcode-star.png create mode 100755 artificer/functions/images/shortcode-tick.png create mode 100755 artificer/functions/images/shortcode-toggle-close.png create mode 100755 artificer/functions/images/shortcode-toggle-open.png create mode 100755 artificer/functions/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 artificer/functions/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 artificer/functions/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100755 artificer/functions/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 artificer/functions/images/ui-bg_glass_75_dadada_1x400.png create mode 100755 artificer/functions/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100755 artificer/functions/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 artificer/functions/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100755 artificer/functions/images/ui-icons_222222_256x240.png create mode 100755 artificer/functions/images/ui-icons_2e83ff_256x240.png create mode 100755 artificer/functions/images/ui-icons_454545_256x240.png create mode 100755 artificer/functions/images/ui-icons_888888_256x240.png create mode 100755 artificer/functions/images/ui-icons_cd0a0a_256x240.png create mode 100755 artificer/functions/images/warning.png create mode 100755 artificer/functions/images/wf-tab-icons.png create mode 100755 artificer/functions/images/woo-icon.png create mode 100755 artificer/functions/js/ajaxupload.js create mode 100755 artificer/functions/js/colorpicker.js create mode 100755 artificer/functions/js/jquery.maskedinput.js create mode 100755 artificer/functions/js/nicEdit.js create mode 100755 artificer/functions/js/php.js create mode 100755 artificer/functions/js/shortcode-generator/dialog.php create mode 100755 artificer/functions/js/shortcode-generator/editor_plugin.js create mode 100755 artificer/functions/js/shortcode-generator/editor_plugin_39.js create mode 100755 artificer/functions/js/shortcode-generator/js/column-control.js create mode 100755 artificer/functions/js/shortcode-generator/js/dialog-js.php create mode 100755 artificer/functions/js/shortcode-generator/js/tab-control.js create mode 100755 artificer/functions/js/shortcode-generator/preview-shortcode-external.php create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/abbr.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/box.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/button.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/column.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/contactform.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/digg.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/fblike.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/fbshare.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/google_plusone.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/ilink.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/linkedin_share.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/ordered_list.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/pinterest.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/quote.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/related.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/social_icon.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/stumbleupon.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/tab.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/toggle.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/tweetmeme.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/twitter.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/twitter_follow.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/typography.js create mode 100755 artificer/functions/js/shortcode-generator/shortcodes/unordered_list.js create mode 100755 artificer/functions/js/shortcodes.js create mode 100755 artificer/functions/js/tumblog-ajax.js create mode 100755 artificer/functions/js/ui.datepicker.js create mode 100755 artificer/functions/js/woo-admin-interface.js create mode 100755 artificer/functions/js/woo-custom-fields.js create mode 100755 artificer/functions/js/woo-medialibrary-uploader.js create mode 100755 artificer/functions/js/woo-scripts.js create mode 100755 artificer/functions/js/woo-typography-preview.js create mode 100755 artificer/functions/thumb.php create mode 100755 artificer/header.php create mode 100644 artificer/images/ajax-loader.gif create mode 100755 artificer/images/blockquote.png create mode 100644 artificer/images/body.gif create mode 100644 artificer/images/body.png create mode 100644 artificer/images/comment.png create mode 100644 artificer/images/crinkles.png create mode 100644 artificer/images/floral/body.png create mode 100644 artificer/images/home.png create mode 100644 artificer/images/honey/body.png create mode 100755 artificer/images/ico-rss.png create mode 100755 artificer/images/ico-search.png create mode 100644 artificer/images/ico-star-scribbled.png create mode 100644 artificer/images/ico-star-small.png create mode 100644 artificer/images/ico-star.png create mode 100755 artificer/images/ico-subscribe-social.png create mode 100755 artificer/images/ico-tag.png create mode 100644 artificer/images/icons/black-dot.png create mode 100644 artificer/images/icons/blue-dot.png create mode 100644 artificer/images/icons/green-dot.png create mode 100644 artificer/images/icons/pink-dot.png create mode 100644 artificer/images/icons/purple-dot.png create mode 100644 artificer/images/icons/red-dot.png create mode 100644 artificer/images/icons/shadow.png create mode 100644 artificer/images/icons/teal-dot.png create mode 100644 artificer/images/icons/white-dot.png create mode 100644 artificer/images/icons/yellow-dot.png create mode 100644 artificer/images/industrial/body.png create mode 100644 artificer/images/leather.png create mode 100644 artificer/images/logo.png create mode 100644 artificer/images/nav.gif create mode 100644 artificer/images/noise.png create mode 100644 artificer/images/paperclip.png create mode 100644 artificer/images/post.png create mode 100644 artificer/images/scribble.png create mode 100644 artificer/images/sprite.png create mode 100644 artificer/images/string-top.png create mode 100644 artificer/images/string.png create mode 100644 artificer/images/tape.png create mode 100755 artificer/images/twitter.png create mode 100755 artificer/images/woothemes.png create mode 100644 artificer/includes/css/prettyPhoto.css create mode 100644 artificer/includes/images/prettyPhoto/default/default_thumb.png create mode 100644 artificer/includes/images/prettyPhoto/default/loader.gif create mode 100644 artificer/includes/images/prettyPhoto/default/sprite.png create mode 100644 artificer/includes/images/prettyPhoto/default/sprite_next.png create mode 100644 artificer/includes/images/prettyPhoto/default/sprite_prev.png create mode 100644 artificer/includes/images/prettyPhoto/default/sprite_x.png create mode 100644 artificer/includes/images/prettyPhoto/default/sprite_y.png create mode 100644 artificer/includes/js/enable-lightbox.js create mode 100755 artificer/includes/js/general.js create mode 100644 artificer/includes/js/jquery.prettyPhoto.js create mode 100644 artificer/includes/js/markers.js create mode 100755 artificer/includes/js/respond-IE.js create mode 100755 artificer/includes/js/third-party.js create mode 100755 artificer/includes/sidebar-init.php create mode 100755 artificer/includes/theme-actions.php create mode 100755 artificer/includes/theme-comments.php create mode 100755 artificer/includes/theme-functions.php create mode 100755 artificer/includes/theme-install.php create mode 100755 artificer/includes/theme-js.php create mode 100755 artificer/includes/theme-options.php create mode 100755 artificer/includes/theme-widgets.php create mode 100755 artificer/includes/theme-woocommerce.php create mode 100755 artificer/includes/widgets/widget-woo-adspace.php create mode 100755 artificer/includes/widgets/widget-woo-blogauthor.php create mode 100755 artificer/includes/widgets/widget-woo-embed.php create mode 100755 artificer/includes/widgets/widget-woo-flickr.php create mode 100755 artificer/includes/widgets/widget-woo-search.php create mode 100755 artificer/includes/widgets/widget-woo-subscribe.php create mode 100755 artificer/includes/widgets/widget-woo-twitter.php create mode 100755 artificer/index.php create mode 100755 artificer/lang/en_GB.po create mode 100755 artificer/license.txt create mode 100755 artificer/page.php create mode 100755 artificer/screenshot.png create mode 100755 artificer/search-form.php create mode 100755 artificer/search.php create mode 100755 artificer/sidebar.php create mode 100755 artificer/single.php create mode 100755 artificer/style.css create mode 100755 artificer/style.less create mode 100644 artificer/styles/blue.css create mode 100644 artificer/styles/blue.less create mode 100644 artificer/styles/brown.css create mode 100644 artificer/styles/brown.less create mode 100755 artificer/styles/default.css create mode 100644 artificer/styles/floral.css create mode 100644 artificer/styles/floral.less create mode 100644 artificer/styles/green.css create mode 100644 artificer/styles/green.less create mode 100644 artificer/styles/honey.css create mode 100644 artificer/styles/honey.less create mode 100644 artificer/styles/indigo.css create mode 100644 artificer/styles/indigo.less create mode 100644 artificer/styles/industrial.css create mode 100644 artificer/styles/industrial.less create mode 100644 artificer/styles/minimal.css create mode 100644 artificer/styles/minimal.less create mode 100644 artificer/styles/orange.css create mode 100644 artificer/styles/orange.less create mode 100644 artificer/styles/red.css create mode 100644 artificer/styles/red.less create mode 100644 artificer/styles/violet.css create mode 100644 artificer/styles/violet.less create mode 100644 artificer/styles/yellow.css create mode 100644 artificer/styles/yellow.less create mode 100755 artificer/template-archives.php create mode 100755 artificer/template-blog.php create mode 100755 artificer/template-contact.php create mode 100755 artificer/template-fullwidth.php create mode 100755 artificer/template-imagegallery.php create mode 100755 artificer/template-sitemap.php create mode 100755 artificer/template-tags.php create mode 100755 artificer/template-timeline.php create mode 100644 artificer/theme_info.txt create mode 100755 artificer/typefaces/websymbols-regular-webfont.eot create mode 100755 artificer/typefaces/websymbols-regular-webfont.svg create mode 100755 artificer/typefaces/websymbols-regular-webfont.ttf create mode 100755 artificer/typefaces/websymbols-regular-webfont.woff create mode 100755 bueno/404.php create mode 100644 bueno/README.md create mode 100755 bueno/archive.php create mode 100755 bueno/changelog.txt create mode 100755 bueno/comments-legacy.php create mode 100755 bueno/comments.php create mode 100755 bueno/css/ie6.css create mode 100755 bueno/css/ie7.css create mode 100755 bueno/css/reset.css create mode 100755 bueno/custom.css create mode 100755 bueno/footer.php create mode 100755 bueno/functions.php create mode 100755 bueno/functions/admin-backup.php create mode 100755 bueno/functions/admin-custom-nav.php create mode 100755 bueno/functions/admin-custom.php create mode 100755 bueno/functions/admin-express-functions-deprecated.php create mode 100755 bueno/functions/admin-express-functions.php create mode 100755 bueno/functions/admin-framework-settings.php create mode 100755 bueno/functions/admin-functions.php create mode 100755 bueno/functions/admin-hooks.php create mode 100755 bueno/functions/admin-init.php create mode 100755 bueno/functions/admin-interface.php create mode 100755 bueno/functions/admin-medialibrary-uploader.php create mode 100755 bueno/functions/admin-sbm.php create mode 100755 bueno/functions/admin-seo.php create mode 100755 bueno/functions/admin-setup.php create mode 100755 bueno/functions/admin-shortcode-generator.php create mode 100755 bueno/functions/admin-shortcodes.php create mode 100755 bueno/functions/admin-style.css create mode 100755 bueno/functions/admin-tumblog-quickpress.php create mode 100755 bueno/functions/assets/css/activation.css create mode 100755 bueno/functions/assets/css/activation.less create mode 100755 bueno/functions/assets/css/admin.css create mode 100755 bueno/functions/assets/css/admin.less create mode 100755 bueno/functions/assets/css/fields.css create mode 100755 bueno/functions/assets/css/fields.less create mode 100755 bueno/functions/assets/css/lib/chosen.css create mode 100755 bueno/functions/assets/css/lib/chosen.min.css create mode 100755 bueno/functions/assets/css/menu.css create mode 100755 bueno/functions/assets/css/menu.less create mode 100755 bueno/functions/assets/css/mixins.less create mode 100755 bueno/functions/assets/fonts/wooframework.eot create mode 100755 bueno/functions/assets/fonts/wooframework.svg create mode 100755 bueno/functions/assets/fonts/wooframework.ttf create mode 100755 bueno/functions/assets/fonts/wooframework.woff create mode 100755 bueno/functions/assets/images/icon.png create mode 100755 bueno/functions/assets/images/lib/chosen-sprite.png create mode 100755 bueno/functions/assets/images/lib/chosen-sprite@2x.png create mode 100755 bueno/functions/assets/images/logo.png create mode 100755 bueno/functions/assets/images/placeholder.png create mode 100755 bueno/functions/assets/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 bueno/functions/assets/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 bueno/functions/assets/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100755 bueno/functions/assets/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 bueno/functions/assets/images/ui-bg_glass_75_dadada_1x400.png create mode 100755 bueno/functions/assets/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100755 bueno/functions/assets/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 bueno/functions/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100755 bueno/functions/assets/js/chosen-selectors.js create mode 100755 bueno/functions/assets/js/colourpickers.js create mode 100755 bueno/functions/assets/js/datepickers.js create mode 100755 bueno/functions/assets/js/image-selectors.js create mode 100755 bueno/functions/assets/js/lib/jquery-chosen-rtl.js create mode 100755 bueno/functions/assets/js/lib/jquery-chosen-rtl.min.js create mode 100755 bueno/functions/assets/js/lib/jquery-chosen.js create mode 100755 bueno/functions/assets/js/lib/jquery-chosen.min.js create mode 100755 bueno/functions/assets/js/lib/jquery-masked-input.js create mode 100755 bueno/functions/assets/js/masked-inputs.js create mode 100755 bueno/functions/assets/js/range-selectors.js create mode 100755 bueno/functions/assets/js/typography-preview.js create mode 100755 bueno/functions/assets/js/typography.js create mode 100755 bueno/functions/assets/js/uploaders.js create mode 100755 bueno/functions/classes/class-wf-backup.php create mode 100755 bueno/functions/classes/class-wf-fields-meta.php create mode 100755 bueno/functions/classes/class-wf-fields-settings.php create mode 100755 bueno/functions/classes/class-wf-fields.php create mode 100755 bueno/functions/classes/class-wf-meta.php create mode 100755 bueno/functions/classes/class-wf-screen-admin-base.php create mode 100755 bueno/functions/classes/class-wf-screen-framework.php create mode 100755 bueno/functions/classes/class-wf-screen-welcome.php create mode 100755 bueno/functions/classes/class-wf-screen.php create mode 100755 bueno/functions/classes/class-wf-settings.php create mode 100755 bueno/functions/classes/class-wf.php create mode 100755 bueno/functions/classes/class-wp-app-store-installer.php create mode 100755 bueno/functions/css/colorpicker.css create mode 100755 bueno/functions/css/jquery-ui-datepicker.css create mode 100755 bueno/functions/css/shortcode-generator.css create mode 100755 bueno/functions/css/shortcode-icon.css create mode 100755 bueno/functions/css/shortcodes.css create mode 100755 bueno/functions/css/tumblog.css create mode 100755 bueno/functions/css/woo-custom-fields.css create mode 100755 bueno/functions/deprecated.php create mode 100755 bueno/functions/functions-changelog.txt create mode 100755 bueno/functions/images/1c.png create mode 100755 bueno/functions/images/2cl.png create mode 100755 bueno/functions/images/2cr.png create mode 100755 bueno/functions/images/3cl.png create mode 100755 bueno/functions/images/3cm.png create mode 100755 bueno/functions/images/3cr.png create mode 100755 bueno/functions/images/ajax-loader.gif create mode 100755 bueno/functions/images/btn-tumblog-audio.png create mode 100755 bueno/functions/images/btn-tumblog-image.png create mode 100755 bueno/functions/images/btn-tumblog-link.png create mode 100755 bueno/functions/images/btn-tumblog-note.png create mode 100755 bueno/functions/images/btn-tumblog-quote.png create mode 100755 bueno/functions/images/btn-tumblog-video.png create mode 100755 bueno/functions/images/calendar.gif create mode 100755 bueno/functions/images/colorpicker/blank.gif create mode 100755 bueno/functions/images/colorpicker/colorpicker_background.png create mode 100755 bueno/functions/images/colorpicker/colorpicker_hex.png create mode 100755 bueno/functions/images/colorpicker/colorpicker_hsb_b.png create mode 100755 bueno/functions/images/colorpicker/colorpicker_hsb_h.png create mode 100755 bueno/functions/images/colorpicker/colorpicker_hsb_s.png create mode 100755 bueno/functions/images/colorpicker/colorpicker_indic.gif create mode 100755 bueno/functions/images/colorpicker/colorpicker_overlay.png create mode 100755 bueno/functions/images/colorpicker/colorpicker_rgb_b.png create mode 100755 bueno/functions/images/colorpicker/colorpicker_rgb_g.png create mode 100755 bueno/functions/images/colorpicker/colorpicker_rgb_r.png create mode 100755 bueno/functions/images/colorpicker/colorpicker_select.gif create mode 100755 bueno/functions/images/colorpicker/colorpicker_submit.png create mode 100755 bueno/functions/images/colorpicker/select.png create mode 100755 bueno/functions/images/footer-widgets-0.png create mode 100755 bueno/functions/images/footer-widgets-1.png create mode 100755 bueno/functions/images/footer-widgets-2.png create mode 100755 bueno/functions/images/footer-widgets-3.png create mode 100755 bueno/functions/images/footer-widgets-4.png create mode 100755 bueno/functions/images/gray-grad.png create mode 100755 bueno/functions/images/happy.png create mode 100755 bueno/functions/images/headertile.jpg create mode 100755 bueno/functions/images/headingtop.jpg create mode 100755 bueno/functions/images/ico-add.png create mode 100755 bueno/functions/images/ico-alert.png create mode 100755 bueno/functions/images/ico-changelog.png create mode 100755 bueno/functions/images/ico-close.png create mode 100755 bueno/functions/images/ico-delete.png create mode 100755 bueno/functions/images/ico-docs.png create mode 100755 bueno/functions/images/ico-dojo-banner-close.png create mode 100755 bueno/functions/images/ico-dojo-banner.png create mode 100755 bueno/functions/images/ico-download.png create mode 100755 bueno/functions/images/ico-edit.png create mode 100755 bueno/functions/images/ico-forum.png create mode 100755 bueno/functions/images/ico-info.png create mode 100755 bueno/functions/images/ico-note.png create mode 100755 bueno/functions/images/ico-preview.png create mode 100755 bueno/functions/images/ico-refresh.png create mode 100755 bueno/functions/images/ico-social-delicious.png create mode 100755 bueno/functions/images/ico-social-facebook.png create mode 100755 bueno/functions/images/ico-social-flickr.png create mode 100755 bueno/functions/images/ico-social-googleplus.png create mode 100755 bueno/functions/images/ico-social-linkedin.png create mode 100755 bueno/functions/images/ico-social-rss.png create mode 100755 bueno/functions/images/ico-social-twitter.png create mode 100755 bueno/functions/images/ico-social-youtube.png create mode 100755 bueno/functions/images/ico-tick.png create mode 100755 bueno/functions/images/ico-viewpage.png create mode 100755 bueno/functions/images/icon-32.png create mode 100755 bueno/functions/images/info.png create mode 100755 bueno/functions/images/layout-off.png create mode 100755 bueno/functions/images/loading-bottom.gif create mode 100755 bueno/functions/images/loading-top.gif create mode 100755 bueno/functions/images/logo.png create mode 100755 bueno/functions/images/menu-arrow-frame.png create mode 100755 bueno/functions/images/menu-shadow.png create mode 100755 bueno/functions/images/nicEditorIcons.gif create mode 100755 bueno/functions/images/option-icon-ads.png create mode 100755 bueno/functions/images/option-icon-audio.png create mode 100755 bueno/functions/images/option-icon-box.png create mode 100755 bueno/functions/images/option-icon-calendar.png create mode 100755 bueno/functions/images/option-icon-cart.png create mode 100755 bueno/functions/images/option-icon-connect.png create mode 100755 bueno/functions/images/option-icon-favorite.png create mode 100755 bueno/functions/images/option-icon-featured.png create mode 100755 bueno/functions/images/option-icon-footer.png create mode 100755 bueno/functions/images/option-icon-general.png create mode 100755 bueno/functions/images/option-icon-header.png create mode 100755 bueno/functions/images/option-icon-homepage.png create mode 100755 bueno/functions/images/option-icon-image.png create mode 100755 bueno/functions/images/option-icon-layout.png create mode 100755 bueno/functions/images/option-icon-listing.png create mode 100755 bueno/functions/images/option-icon-main.png create mode 100755 bueno/functions/images/option-icon-maps.png create mode 100755 bueno/functions/images/option-icon-media.png create mode 100755 bueno/functions/images/option-icon-misc.png create mode 100755 bueno/functions/images/option-icon-nav.png create mode 100755 bueno/functions/images/option-icon-portfolio.png create mode 100755 bueno/functions/images/option-icon-post.png create mode 100755 bueno/functions/images/option-icon-search.png create mode 100755 bueno/functions/images/option-icon-sidebar.png create mode 100755 bueno/functions/images/option-icon-slider.png create mode 100755 bueno/functions/images/option-icon-styling.png create mode 100755 bueno/functions/images/option-icon-tumblog.png create mode 100755 bueno/functions/images/option-icon-typography.png create mode 100755 bueno/functions/images/option-icon-upload.png create mode 100755 bueno/functions/images/option-icon-woocommerce.png create mode 100755 bueno/functions/images/quote.png create mode 100755 bueno/functions/images/select.png create mode 100755 bueno/functions/images/shortcode-arrow.png create mode 100755 bueno/functions/images/shortcode-bullet.png create mode 100755 bueno/functions/images/shortcode-green-dot.png create mode 100755 bueno/functions/images/shortcode-icon.png create mode 100755 bueno/functions/images/shortcode-red-x.png create mode 100755 bueno/functions/images/shortcode-star.png create mode 100755 bueno/functions/images/shortcode-tick.png create mode 100755 bueno/functions/images/shortcode-toggle-close.png create mode 100755 bueno/functions/images/shortcode-toggle-open.png create mode 100755 bueno/functions/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 bueno/functions/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 bueno/functions/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100755 bueno/functions/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 bueno/functions/images/ui-bg_glass_75_dadada_1x400.png create mode 100755 bueno/functions/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100755 bueno/functions/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 bueno/functions/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100755 bueno/functions/images/ui-icons_222222_256x240.png create mode 100755 bueno/functions/images/ui-icons_2e83ff_256x240.png create mode 100755 bueno/functions/images/ui-icons_454545_256x240.png create mode 100755 bueno/functions/images/ui-icons_888888_256x240.png create mode 100755 bueno/functions/images/ui-icons_cd0a0a_256x240.png create mode 100755 bueno/functions/images/warning.png create mode 100755 bueno/functions/images/wf-tab-icons.png create mode 100755 bueno/functions/images/woo-icon.png create mode 100755 bueno/functions/js/ajaxupload.js create mode 100755 bueno/functions/js/colorpicker.js create mode 100755 bueno/functions/js/jquery.maskedinput.js create mode 100755 bueno/functions/js/nicEdit.js create mode 100755 bueno/functions/js/php.js create mode 100755 bueno/functions/js/shortcode-generator/dialog.php create mode 100755 bueno/functions/js/shortcode-generator/editor_plugin.js create mode 100755 bueno/functions/js/shortcode-generator/editor_plugin_39.js create mode 100755 bueno/functions/js/shortcode-generator/js/column-control.js create mode 100755 bueno/functions/js/shortcode-generator/js/dialog-js.php create mode 100755 bueno/functions/js/shortcode-generator/js/tab-control.js create mode 100755 bueno/functions/js/shortcode-generator/preview-shortcode-external.php create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/abbr.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/box.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/button.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/column.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/contactform.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/digg.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/fblike.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/fbshare.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/google_plusone.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/ilink.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/linkedin_share.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/ordered_list.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/pinterest.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/quote.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/related.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/social_icon.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/stumbleupon.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/tab.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/toggle.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/tweetmeme.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/twitter.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/twitter_follow.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/typography.js create mode 100755 bueno/functions/js/shortcode-generator/shortcodes/unordered_list.js create mode 100755 bueno/functions/js/shortcodes.js create mode 100755 bueno/functions/js/tumblog-ajax.js create mode 100755 bueno/functions/js/ui.datepicker.js create mode 100755 bueno/functions/js/woo-admin-interface.js create mode 100755 bueno/functions/js/woo-custom-fields.js create mode 100755 bueno/functions/js/woo-medialibrary-uploader.js create mode 100755 bueno/functions/js/woo-scripts.js create mode 100755 bueno/functions/js/woo-typography-preview.js create mode 100755 bueno/functions/thumb.php create mode 100755 bueno/header.php create mode 100644 bueno/images/featured.jpg create mode 100755 bueno/images/logo.png create mode 100755 bueno/images/woothemes.png create mode 100755 bueno/includes/js/ChunkFive.font.js create mode 100755 bueno/includes/js/League_Gothic.font.js create mode 100755 bueno/includes/js/cufon.js create mode 100755 bueno/includes/js/general.js create mode 100755 bueno/includes/js/menu.js create mode 100755 bueno/includes/js/pngfix.js create mode 100755 bueno/includes/js/superfish.js create mode 100755 bueno/includes/sidebar-init.php create mode 100755 bueno/includes/theme-comments.php create mode 100755 bueno/includes/theme-functions.php create mode 100755 bueno/includes/theme-js.php create mode 100755 bueno/includes/theme-options.php create mode 100755 bueno/includes/theme-widgets.php create mode 100644 bueno/includes/widgets/widget-woo-adspace.php create mode 100644 bueno/includes/widgets/widget-woo-campaign-monitor.php create mode 100644 bueno/includes/widgets/widget-woo-featured.php create mode 100644 bueno/includes/widgets/widget-woo-flickr.php create mode 100755 bueno/index.php create mode 100644 bueno/lang/bueno.po create mode 100644 bueno/lang/woothemes.pot create mode 100755 bueno/license.txt create mode 100755 bueno/page.php create mode 100644 bueno/psd/bueno-psd.zip create mode 100755 bueno/screenshot.png create mode 100755 bueno/search.php create mode 100755 bueno/searchform.php create mode 100755 bueno/sidebar.php create mode 100755 bueno/single.php create mode 100755 bueno/style.css create mode 100644 bueno/styles/blue.css create mode 100644 bueno/styles/blue/bodytile.jpg create mode 100755 bueno/styles/blue/bullet.png create mode 100644 bueno/styles/blue/bullet_hover.png create mode 100644 bueno/styles/blue/date.png create mode 100644 bueno/styles/blue/ico-rss.png create mode 100644 bueno/styles/brown.css create mode 100644 bueno/styles/brown/bodytile.jpg create mode 100755 bueno/styles/brown/bullet.png create mode 100644 bueno/styles/brown/bullet_hover.png create mode 100644 bueno/styles/brown/date.png create mode 100644 bueno/styles/brown/ico-rss.png create mode 100755 bueno/styles/default.css create mode 100755 bueno/styles/default/bodytile.jpg create mode 100755 bueno/styles/default/bullet.png create mode 100755 bueno/styles/default/bullet_hover.png create mode 100755 bueno/styles/default/date.png create mode 100755 bueno/styles/default/ico-rss.png create mode 100644 bueno/styles/green.css create mode 100644 bueno/styles/green/bodytile.jpg create mode 100755 bueno/styles/green/bullet.png create mode 100644 bueno/styles/green/bullet_hover.png create mode 100644 bueno/styles/green/date.png create mode 100644 bueno/styles/green/ico-rss.png create mode 100644 bueno/styles/grey.css create mode 100644 bueno/styles/grey/bodytile.jpg create mode 100755 bueno/styles/grey/bullet.png create mode 100644 bueno/styles/grey/bullet_hover.png create mode 100644 bueno/styles/grey/date.png create mode 100644 bueno/styles/grey/ico-rss.png create mode 100644 bueno/styles/purple.css create mode 100644 bueno/styles/purple/bodytile.jpg create mode 100755 bueno/styles/purple/bullet.png create mode 100644 bueno/styles/purple/bullet_hover.png create mode 100644 bueno/styles/purple/date.png create mode 100644 bueno/styles/purple/ico-rss.png create mode 100644 bueno/styles/red.css create mode 100644 bueno/styles/red/bodytile.jpg create mode 100755 bueno/styles/red/bullet.png create mode 100644 bueno/styles/red/bullet_hover.png create mode 100644 bueno/styles/red/date.png create mode 100644 bueno/styles/red/ico-rss.png create mode 100755 bueno/template-archives.php create mode 100755 bueno/template-fullwidth.php create mode 100755 bueno/template-redirect.php create mode 100755 bueno/template-sitemap.php create mode 100644 mystile/404.php create mode 100644 mystile/README.md create mode 100644 mystile/archive.php create mode 100644 mystile/changelog.txt create mode 100644 mystile/comments.php create mode 100644 mystile/content-search.php create mode 100644 mystile/content.php create mode 100644 mystile/css/layout.css create mode 100644 mystile/css/layout.less create mode 100644 mystile/css/mixins.less create mode 100644 mystile/custom.css create mode 100644 mystile/footer.php create mode 100644 mystile/functions.php create mode 100755 mystile/functions/admin-backup.php create mode 100755 mystile/functions/admin-custom-nav.php create mode 100755 mystile/functions/admin-custom.php create mode 100755 mystile/functions/admin-express-functions-deprecated.php create mode 100755 mystile/functions/admin-express-functions.php create mode 100755 mystile/functions/admin-framework-settings.php create mode 100755 mystile/functions/admin-functions.php create mode 100755 mystile/functions/admin-hooks.php create mode 100755 mystile/functions/admin-init.php create mode 100755 mystile/functions/admin-interface.php create mode 100755 mystile/functions/admin-medialibrary-uploader.php create mode 100755 mystile/functions/admin-sbm.php create mode 100755 mystile/functions/admin-seo.php create mode 100755 mystile/functions/admin-setup.php create mode 100755 mystile/functions/admin-shortcode-generator.php create mode 100755 mystile/functions/admin-shortcodes.php create mode 100755 mystile/functions/admin-style.css create mode 100755 mystile/functions/admin-tumblog-quickpress.php create mode 100755 mystile/functions/assets/css/activation.css create mode 100755 mystile/functions/assets/css/activation.less create mode 100755 mystile/functions/assets/css/admin.css create mode 100755 mystile/functions/assets/css/admin.less create mode 100755 mystile/functions/assets/css/fields.css create mode 100755 mystile/functions/assets/css/fields.less create mode 100755 mystile/functions/assets/css/lib/chosen.css create mode 100755 mystile/functions/assets/css/lib/chosen.min.css create mode 100755 mystile/functions/assets/css/menu.css create mode 100755 mystile/functions/assets/css/menu.less create mode 100755 mystile/functions/assets/css/mixins.less create mode 100755 mystile/functions/assets/fonts/wooframework.eot create mode 100755 mystile/functions/assets/fonts/wooframework.svg create mode 100755 mystile/functions/assets/fonts/wooframework.ttf create mode 100755 mystile/functions/assets/fonts/wooframework.woff create mode 100755 mystile/functions/assets/images/icon.png create mode 100755 mystile/functions/assets/images/lib/chosen-sprite.png create mode 100755 mystile/functions/assets/images/lib/chosen-sprite@2x.png create mode 100755 mystile/functions/assets/images/logo.png create mode 100755 mystile/functions/assets/images/placeholder.png create mode 100755 mystile/functions/assets/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 mystile/functions/assets/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 mystile/functions/assets/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100755 mystile/functions/assets/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 mystile/functions/assets/images/ui-bg_glass_75_dadada_1x400.png create mode 100755 mystile/functions/assets/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100755 mystile/functions/assets/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 mystile/functions/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100755 mystile/functions/assets/js/chosen-selectors.js create mode 100755 mystile/functions/assets/js/colourpickers.js create mode 100755 mystile/functions/assets/js/datepickers.js create mode 100755 mystile/functions/assets/js/image-selectors.js create mode 100755 mystile/functions/assets/js/lib/jquery-chosen-rtl.js create mode 100755 mystile/functions/assets/js/lib/jquery-chosen-rtl.min.js create mode 100755 mystile/functions/assets/js/lib/jquery-chosen.js create mode 100755 mystile/functions/assets/js/lib/jquery-chosen.min.js create mode 100755 mystile/functions/assets/js/lib/jquery-masked-input.js create mode 100755 mystile/functions/assets/js/masked-inputs.js create mode 100755 mystile/functions/assets/js/range-selectors.js create mode 100755 mystile/functions/assets/js/typography-preview.js create mode 100755 mystile/functions/assets/js/typography.js create mode 100755 mystile/functions/assets/js/uploaders.js create mode 100755 mystile/functions/classes/class-wf-backup.php create mode 100755 mystile/functions/classes/class-wf-fields-meta.php create mode 100755 mystile/functions/classes/class-wf-fields-settings.php create mode 100755 mystile/functions/classes/class-wf-fields.php create mode 100755 mystile/functions/classes/class-wf-meta.php create mode 100755 mystile/functions/classes/class-wf-screen-admin-base.php create mode 100755 mystile/functions/classes/class-wf-screen-framework.php create mode 100755 mystile/functions/classes/class-wf-screen-welcome.php create mode 100755 mystile/functions/classes/class-wf-screen.php create mode 100755 mystile/functions/classes/class-wf-settings.php create mode 100755 mystile/functions/classes/class-wf.php create mode 100755 mystile/functions/classes/class-wp-app-store-installer.php create mode 100755 mystile/functions/css/colorpicker.css create mode 100755 mystile/functions/css/jquery-ui-datepicker.css create mode 100755 mystile/functions/css/shortcode-generator.css create mode 100755 mystile/functions/css/shortcode-icon.css create mode 100755 mystile/functions/css/shortcodes.css create mode 100755 mystile/functions/css/tumblog.css create mode 100755 mystile/functions/css/woo-custom-fields.css create mode 100755 mystile/functions/deprecated.php create mode 100755 mystile/functions/functions-changelog.txt create mode 100755 mystile/functions/images/1c.png create mode 100755 mystile/functions/images/2cl.png create mode 100755 mystile/functions/images/2cr.png create mode 100755 mystile/functions/images/3cl.png create mode 100755 mystile/functions/images/3cm.png create mode 100755 mystile/functions/images/3cr.png create mode 100755 mystile/functions/images/ajax-loader.gif create mode 100755 mystile/functions/images/btn-tumblog-audio.png create mode 100755 mystile/functions/images/btn-tumblog-image.png create mode 100755 mystile/functions/images/btn-tumblog-link.png create mode 100755 mystile/functions/images/btn-tumblog-note.png create mode 100755 mystile/functions/images/btn-tumblog-quote.png create mode 100755 mystile/functions/images/btn-tumblog-video.png create mode 100755 mystile/functions/images/calendar.gif create mode 100755 mystile/functions/images/colorpicker/blank.gif create mode 100755 mystile/functions/images/colorpicker/colorpicker_background.png create mode 100755 mystile/functions/images/colorpicker/colorpicker_hex.png create mode 100755 mystile/functions/images/colorpicker/colorpicker_hsb_b.png create mode 100755 mystile/functions/images/colorpicker/colorpicker_hsb_h.png create mode 100755 mystile/functions/images/colorpicker/colorpicker_hsb_s.png create mode 100755 mystile/functions/images/colorpicker/colorpicker_indic.gif create mode 100755 mystile/functions/images/colorpicker/colorpicker_overlay.png create mode 100755 mystile/functions/images/colorpicker/colorpicker_rgb_b.png create mode 100755 mystile/functions/images/colorpicker/colorpicker_rgb_g.png create mode 100755 mystile/functions/images/colorpicker/colorpicker_rgb_r.png create mode 100755 mystile/functions/images/colorpicker/colorpicker_select.gif create mode 100755 mystile/functions/images/colorpicker/colorpicker_submit.png create mode 100755 mystile/functions/images/colorpicker/select.png create mode 100755 mystile/functions/images/footer-widgets-0.png create mode 100755 mystile/functions/images/footer-widgets-1.png create mode 100755 mystile/functions/images/footer-widgets-2.png create mode 100755 mystile/functions/images/footer-widgets-3.png create mode 100755 mystile/functions/images/footer-widgets-4.png create mode 100755 mystile/functions/images/gray-grad.png create mode 100755 mystile/functions/images/happy.png create mode 100755 mystile/functions/images/headertile.jpg create mode 100755 mystile/functions/images/headingtop.jpg create mode 100755 mystile/functions/images/ico-add.png create mode 100755 mystile/functions/images/ico-alert.png create mode 100755 mystile/functions/images/ico-changelog.png create mode 100755 mystile/functions/images/ico-close.png create mode 100755 mystile/functions/images/ico-delete.png create mode 100755 mystile/functions/images/ico-docs.png create mode 100755 mystile/functions/images/ico-dojo-banner-close.png create mode 100755 mystile/functions/images/ico-dojo-banner.png create mode 100755 mystile/functions/images/ico-download.png create mode 100755 mystile/functions/images/ico-edit.png create mode 100755 mystile/functions/images/ico-forum.png create mode 100755 mystile/functions/images/ico-info.png create mode 100755 mystile/functions/images/ico-note.png create mode 100755 mystile/functions/images/ico-preview.png create mode 100755 mystile/functions/images/ico-refresh.png create mode 100755 mystile/functions/images/ico-social-delicious.png create mode 100755 mystile/functions/images/ico-social-facebook.png create mode 100755 mystile/functions/images/ico-social-flickr.png create mode 100755 mystile/functions/images/ico-social-googleplus.png create mode 100755 mystile/functions/images/ico-social-linkedin.png create mode 100755 mystile/functions/images/ico-social-rss.png create mode 100755 mystile/functions/images/ico-social-twitter.png create mode 100755 mystile/functions/images/ico-social-youtube.png create mode 100755 mystile/functions/images/ico-tick.png create mode 100755 mystile/functions/images/ico-viewpage.png create mode 100755 mystile/functions/images/icon-32.png create mode 100755 mystile/functions/images/info.png create mode 100755 mystile/functions/images/layout-off.png create mode 100755 mystile/functions/images/loading-bottom.gif create mode 100755 mystile/functions/images/loading-top.gif create mode 100755 mystile/functions/images/logo.png create mode 100755 mystile/functions/images/menu-arrow-frame.png create mode 100755 mystile/functions/images/menu-shadow.png create mode 100755 mystile/functions/images/nicEditorIcons.gif create mode 100755 mystile/functions/images/option-icon-ads.png create mode 100755 mystile/functions/images/option-icon-audio.png create mode 100755 mystile/functions/images/option-icon-box.png create mode 100755 mystile/functions/images/option-icon-calendar.png create mode 100755 mystile/functions/images/option-icon-cart.png create mode 100755 mystile/functions/images/option-icon-connect.png create mode 100755 mystile/functions/images/option-icon-favorite.png create mode 100755 mystile/functions/images/option-icon-featured.png create mode 100755 mystile/functions/images/option-icon-footer.png create mode 100755 mystile/functions/images/option-icon-general.png create mode 100755 mystile/functions/images/option-icon-header.png create mode 100755 mystile/functions/images/option-icon-homepage.png create mode 100755 mystile/functions/images/option-icon-image.png create mode 100755 mystile/functions/images/option-icon-layout.png create mode 100755 mystile/functions/images/option-icon-listing.png create mode 100755 mystile/functions/images/option-icon-main.png create mode 100755 mystile/functions/images/option-icon-maps.png create mode 100755 mystile/functions/images/option-icon-media.png create mode 100755 mystile/functions/images/option-icon-misc.png create mode 100755 mystile/functions/images/option-icon-nav.png create mode 100755 mystile/functions/images/option-icon-portfolio.png create mode 100755 mystile/functions/images/option-icon-post.png create mode 100755 mystile/functions/images/option-icon-search.png create mode 100755 mystile/functions/images/option-icon-sidebar.png create mode 100755 mystile/functions/images/option-icon-slider.png create mode 100755 mystile/functions/images/option-icon-styling.png create mode 100755 mystile/functions/images/option-icon-tumblog.png create mode 100755 mystile/functions/images/option-icon-typography.png create mode 100755 mystile/functions/images/option-icon-upload.png create mode 100755 mystile/functions/images/option-icon-woocommerce.png create mode 100755 mystile/functions/images/quote.png create mode 100755 mystile/functions/images/select.png create mode 100755 mystile/functions/images/shortcode-arrow.png create mode 100755 mystile/functions/images/shortcode-bullet.png create mode 100755 mystile/functions/images/shortcode-green-dot.png create mode 100755 mystile/functions/images/shortcode-icon.png create mode 100755 mystile/functions/images/shortcode-red-x.png create mode 100755 mystile/functions/images/shortcode-star.png create mode 100755 mystile/functions/images/shortcode-tick.png create mode 100755 mystile/functions/images/shortcode-toggle-close.png create mode 100755 mystile/functions/images/shortcode-toggle-open.png create mode 100755 mystile/functions/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 mystile/functions/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 mystile/functions/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100755 mystile/functions/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 mystile/functions/images/ui-bg_glass_75_dadada_1x400.png create mode 100755 mystile/functions/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100755 mystile/functions/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 mystile/functions/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100755 mystile/functions/images/ui-icons_222222_256x240.png create mode 100755 mystile/functions/images/ui-icons_2e83ff_256x240.png create mode 100755 mystile/functions/images/ui-icons_454545_256x240.png create mode 100755 mystile/functions/images/ui-icons_888888_256x240.png create mode 100755 mystile/functions/images/ui-icons_cd0a0a_256x240.png create mode 100755 mystile/functions/images/warning.png create mode 100755 mystile/functions/images/wf-tab-icons.png create mode 100755 mystile/functions/images/woo-icon.png create mode 100755 mystile/functions/js/ajaxupload.js create mode 100755 mystile/functions/js/colorpicker.js create mode 100755 mystile/functions/js/jquery.maskedinput.js create mode 100755 mystile/functions/js/nicEdit.js create mode 100755 mystile/functions/js/php.js create mode 100755 mystile/functions/js/shortcode-generator/dialog.php create mode 100755 mystile/functions/js/shortcode-generator/editor_plugin.js create mode 100755 mystile/functions/js/shortcode-generator/editor_plugin_39.js create mode 100755 mystile/functions/js/shortcode-generator/js/column-control.js create mode 100755 mystile/functions/js/shortcode-generator/js/dialog-js.php create mode 100755 mystile/functions/js/shortcode-generator/js/tab-control.js create mode 100755 mystile/functions/js/shortcode-generator/preview-shortcode-external.php create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/abbr.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/box.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/button.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/column.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/contactform.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/digg.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/fblike.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/fbshare.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/google_plusone.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/ilink.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/linkedin_share.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/ordered_list.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/pinterest.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/quote.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/related.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/social_icon.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/stumbleupon.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/tab.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/toggle.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/tweetmeme.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/twitter.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/twitter_follow.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/typography.js create mode 100755 mystile/functions/js/shortcode-generator/shortcodes/unordered_list.js create mode 100755 mystile/functions/js/shortcodes.js create mode 100755 mystile/functions/js/tumblog-ajax.js create mode 100755 mystile/functions/js/ui.datepicker.js create mode 100755 mystile/functions/js/woo-admin-interface.js create mode 100755 mystile/functions/js/woo-custom-fields.js create mode 100755 mystile/functions/js/woo-medialibrary-uploader.js create mode 100755 mystile/functions/js/woo-scripts.js create mode 100755 mystile/functions/js/woo-typography-preview.js create mode 100755 mystile/functions/thumb.php create mode 100644 mystile/header.php create mode 100644 mystile/images/blockquote.png create mode 100644 mystile/images/ico-rss.png create mode 100644 mystile/images/ico-search.png create mode 100644 mystile/images/ico-star-small.png create mode 100644 mystile/images/ico-star.png create mode 100644 mystile/images/ico-subscribe-social.png create mode 100644 mystile/images/ico-tag.png create mode 100644 mystile/images/icons/black-dot.png create mode 100644 mystile/images/icons/blue-dot.png create mode 100644 mystile/images/icons/green-dot.png create mode 100644 mystile/images/icons/pink-dot.png create mode 100644 mystile/images/icons/purple-dot.png create mode 100644 mystile/images/icons/red-dot.png create mode 100644 mystile/images/icons/shadow.png create mode 100644 mystile/images/icons/teal-dot.png create mode 100644 mystile/images/icons/white-dot.png create mode 100644 mystile/images/icons/yellow-dot.png create mode 100644 mystile/images/logo.png create mode 100644 mystile/images/woothemes.png create mode 100644 mystile/includes/css/prettyPhoto.css create mode 100644 mystile/includes/images/prettyPhoto/default/default_thumb.png create mode 100644 mystile/includes/images/prettyPhoto/default/loader.gif create mode 100644 mystile/includes/images/prettyPhoto/default/sprite.png create mode 100644 mystile/includes/images/prettyPhoto/default/sprite_next.png create mode 100644 mystile/includes/images/prettyPhoto/default/sprite_prev.png create mode 100644 mystile/includes/images/prettyPhoto/default/sprite_x.png create mode 100644 mystile/includes/images/prettyPhoto/default/sprite_y.png create mode 100644 mystile/includes/integrations/sensei/css/sensei.css create mode 100644 mystile/includes/integrations/sensei/css/sensei.less create mode 100644 mystile/includes/integrations/sensei/functions.php create mode 100644 mystile/includes/integrations/sensei/index.php create mode 100644 mystile/includes/integrations/sensei/setup.php create mode 100644 mystile/includes/integrations/sensei/template.php create mode 100644 mystile/includes/js/enable-lightbox.js create mode 100644 mystile/includes/js/general.js create mode 100644 mystile/includes/js/jquery.prettyPhoto.js create mode 100644 mystile/includes/js/markers.js create mode 100644 mystile/includes/js/respond-IE.js create mode 100644 mystile/includes/js/third-party.js create mode 100644 mystile/includes/sidebar-init.php create mode 100644 mystile/includes/theme-actions.php create mode 100644 mystile/includes/theme-comments.php create mode 100644 mystile/includes/theme-functions.php create mode 100644 mystile/includes/theme-install.php create mode 100644 mystile/includes/theme-js.php create mode 100644 mystile/includes/theme-options.php create mode 100644 mystile/includes/theme-plugin-integrations.php create mode 100644 mystile/includes/theme-widgets.php create mode 100644 mystile/includes/theme-woocommerce.php create mode 100644 mystile/includes/widgets/widget-woo-adspace.php create mode 100644 mystile/includes/widgets/widget-woo-blogauthor.php create mode 100644 mystile/includes/widgets/widget-woo-embed.php create mode 100644 mystile/includes/widgets/widget-woo-flickr.php create mode 100644 mystile/includes/widgets/widget-woo-search.php create mode 100644 mystile/includes/widgets/widget-woo-subscribe.php create mode 100644 mystile/index.php create mode 100644 mystile/lang/en_GB.po create mode 100644 mystile/lang/woothemes.pot create mode 100644 mystile/license.txt create mode 100644 mystile/page.php create mode 100644 mystile/screenshot.png create mode 100644 mystile/search-form.php create mode 100644 mystile/search.php create mode 100644 mystile/sidebar.php create mode 100644 mystile/single.php create mode 100644 mystile/style.css create mode 100644 mystile/style.less create mode 100644 mystile/styles/blue.css create mode 100644 mystile/styles/blue.less create mode 100644 mystile/styles/brown.css create mode 100644 mystile/styles/brown.less create mode 100644 mystile/styles/default.css create mode 100644 mystile/styles/green.css create mode 100644 mystile/styles/green.less create mode 100644 mystile/styles/grey.css create mode 100644 mystile/styles/grey.less create mode 100644 mystile/styles/indigo.css create mode 100644 mystile/styles/indigo.less create mode 100644 mystile/styles/red.css create mode 100644 mystile/styles/red.less create mode 100644 mystile/styles/violet.css create mode 100644 mystile/styles/violet.less create mode 100644 mystile/styles/yellow.css create mode 100644 mystile/styles/yellow.less create mode 100644 mystile/template-archives.php create mode 100644 mystile/template-blog.php create mode 100644 mystile/template-contact.php create mode 100644 mystile/template-fullwidth.php create mode 100644 mystile/template-imagegallery.php create mode 100644 mystile/template-sitemap.php create mode 100644 mystile/template-tags.php create mode 100644 mystile/template-timeline.php create mode 100644 mystile/theme_info.txt create mode 100644 mystile/typefaces/icomoon.eot create mode 100644 mystile/typefaces/icomoon.svg create mode 100644 mystile/typefaces/icomoon.ttf create mode 100644 mystile/typefaces/icomoon.woff create mode 100755 mystile/typefaces/websymbols-regular-webfont.eot create mode 100755 mystile/typefaces/websymbols-regular-webfont.svg create mode 100755 mystile/typefaces/websymbols-regular-webfont.ttf create mode 100755 mystile/typefaces/websymbols-regular-webfont.woff create mode 100644 wootique/404.php create mode 100644 wootique/README.md create mode 100644 wootique/archive.php create mode 100644 wootique/changelog.txt create mode 100644 wootique/comments.php create mode 100644 wootique/css/reset.css create mode 100644 wootique/custom.css create mode 100644 wootique/footer.php create mode 100644 wootique/functions.php create mode 100755 wootique/functions/admin-backup.php create mode 100755 wootique/functions/admin-custom-nav.php create mode 100755 wootique/functions/admin-custom.php create mode 100755 wootique/functions/admin-express-functions-deprecated.php create mode 100755 wootique/functions/admin-express-functions.php create mode 100755 wootique/functions/admin-framework-settings.php create mode 100755 wootique/functions/admin-functions.php create mode 100755 wootique/functions/admin-hooks.php create mode 100755 wootique/functions/admin-init.php create mode 100755 wootique/functions/admin-interface.php create mode 100755 wootique/functions/admin-medialibrary-uploader.php create mode 100755 wootique/functions/admin-sbm.php create mode 100755 wootique/functions/admin-seo.php create mode 100755 wootique/functions/admin-setup.php create mode 100755 wootique/functions/admin-shortcode-generator.php create mode 100755 wootique/functions/admin-shortcodes.php create mode 100755 wootique/functions/admin-style.css create mode 100755 wootique/functions/admin-tumblog-quickpress.php create mode 100755 wootique/functions/assets/css/activation.css create mode 100755 wootique/functions/assets/css/activation.less create mode 100755 wootique/functions/assets/css/admin.css create mode 100755 wootique/functions/assets/css/admin.less create mode 100755 wootique/functions/assets/css/fields.css create mode 100755 wootique/functions/assets/css/fields.less create mode 100755 wootique/functions/assets/css/lib/chosen.css create mode 100755 wootique/functions/assets/css/lib/chosen.min.css create mode 100755 wootique/functions/assets/css/menu.css create mode 100755 wootique/functions/assets/css/menu.less create mode 100755 wootique/functions/assets/css/mixins.less create mode 100755 wootique/functions/assets/fonts/wooframework.eot create mode 100755 wootique/functions/assets/fonts/wooframework.svg create mode 100755 wootique/functions/assets/fonts/wooframework.ttf create mode 100755 wootique/functions/assets/fonts/wooframework.woff create mode 100755 wootique/functions/assets/images/icon.png create mode 100755 wootique/functions/assets/images/lib/chosen-sprite.png create mode 100755 wootique/functions/assets/images/lib/chosen-sprite@2x.png create mode 100755 wootique/functions/assets/images/logo.png create mode 100755 wootique/functions/assets/images/placeholder.png create mode 100755 wootique/functions/assets/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 wootique/functions/assets/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 wootique/functions/assets/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100755 wootique/functions/assets/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 wootique/functions/assets/images/ui-bg_glass_75_dadada_1x400.png create mode 100755 wootique/functions/assets/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100755 wootique/functions/assets/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 wootique/functions/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100755 wootique/functions/assets/js/chosen-selectors.js create mode 100755 wootique/functions/assets/js/colourpickers.js create mode 100755 wootique/functions/assets/js/datepickers.js create mode 100755 wootique/functions/assets/js/image-selectors.js create mode 100755 wootique/functions/assets/js/lib/jquery-chosen-rtl.js create mode 100755 wootique/functions/assets/js/lib/jquery-chosen-rtl.min.js create mode 100755 wootique/functions/assets/js/lib/jquery-chosen.js create mode 100755 wootique/functions/assets/js/lib/jquery-chosen.min.js create mode 100755 wootique/functions/assets/js/lib/jquery-masked-input.js create mode 100755 wootique/functions/assets/js/masked-inputs.js create mode 100755 wootique/functions/assets/js/range-selectors.js create mode 100755 wootique/functions/assets/js/typography-preview.js create mode 100755 wootique/functions/assets/js/typography.js create mode 100755 wootique/functions/assets/js/uploaders.js create mode 100755 wootique/functions/classes/class-wf-backup.php create mode 100755 wootique/functions/classes/class-wf-fields-meta.php create mode 100755 wootique/functions/classes/class-wf-fields-settings.php create mode 100755 wootique/functions/classes/class-wf-fields.php create mode 100755 wootique/functions/classes/class-wf-meta.php create mode 100755 wootique/functions/classes/class-wf-screen-admin-base.php create mode 100755 wootique/functions/classes/class-wf-screen-framework.php create mode 100755 wootique/functions/classes/class-wf-screen-welcome.php create mode 100755 wootique/functions/classes/class-wf-screen.php create mode 100755 wootique/functions/classes/class-wf-settings.php create mode 100755 wootique/functions/classes/class-wf.php create mode 100755 wootique/functions/classes/class-wp-app-store-installer.php create mode 100755 wootique/functions/config.codekit create mode 100755 wootique/functions/css/colorpicker.css create mode 100755 wootique/functions/css/jquery-ui-datepicker.css create mode 100755 wootique/functions/css/shortcode-generator.css create mode 100755 wootique/functions/css/shortcode-icon.css create mode 100755 wootique/functions/css/shortcodes.css create mode 100755 wootique/functions/css/tumblog.css create mode 100755 wootique/functions/css/woo-custom-fields.css create mode 100755 wootique/functions/deprecated.php create mode 100755 wootique/functions/functions-changelog.txt create mode 100755 wootique/functions/images/1c.png create mode 100755 wootique/functions/images/2cl.png create mode 100755 wootique/functions/images/2cr.png create mode 100755 wootique/functions/images/3cl.png create mode 100755 wootique/functions/images/3cm.png create mode 100755 wootique/functions/images/3cr.png create mode 100755 wootique/functions/images/ajax-loader.gif create mode 100755 wootique/functions/images/btn-tumblog-audio.png create mode 100755 wootique/functions/images/btn-tumblog-image.png create mode 100755 wootique/functions/images/btn-tumblog-link.png create mode 100755 wootique/functions/images/btn-tumblog-note.png create mode 100755 wootique/functions/images/btn-tumblog-quote.png create mode 100755 wootique/functions/images/btn-tumblog-video.png create mode 100755 wootique/functions/images/calendar.gif create mode 100755 wootique/functions/images/colorpicker/blank.gif create mode 100755 wootique/functions/images/colorpicker/colorpicker_background.png create mode 100755 wootique/functions/images/colorpicker/colorpicker_hex.png create mode 100755 wootique/functions/images/colorpicker/colorpicker_hsb_b.png create mode 100755 wootique/functions/images/colorpicker/colorpicker_hsb_h.png create mode 100755 wootique/functions/images/colorpicker/colorpicker_hsb_s.png create mode 100755 wootique/functions/images/colorpicker/colorpicker_indic.gif create mode 100755 wootique/functions/images/colorpicker/colorpicker_overlay.png create mode 100755 wootique/functions/images/colorpicker/colorpicker_rgb_b.png create mode 100755 wootique/functions/images/colorpicker/colorpicker_rgb_g.png create mode 100755 wootique/functions/images/colorpicker/colorpicker_rgb_r.png create mode 100755 wootique/functions/images/colorpicker/colorpicker_select.gif create mode 100755 wootique/functions/images/colorpicker/colorpicker_submit.png create mode 100755 wootique/functions/images/colorpicker/select.png create mode 100755 wootique/functions/images/footer-widgets-0.png create mode 100755 wootique/functions/images/footer-widgets-1.png create mode 100755 wootique/functions/images/footer-widgets-2.png create mode 100755 wootique/functions/images/footer-widgets-3.png create mode 100755 wootique/functions/images/footer-widgets-4.png create mode 100755 wootique/functions/images/gray-grad.png create mode 100755 wootique/functions/images/happy.png create mode 100755 wootique/functions/images/headertile.jpg create mode 100755 wootique/functions/images/headingtop.jpg create mode 100755 wootique/functions/images/ico-add.png create mode 100755 wootique/functions/images/ico-alert.png create mode 100755 wootique/functions/images/ico-changelog.png create mode 100755 wootique/functions/images/ico-close.png create mode 100755 wootique/functions/images/ico-delete.png create mode 100755 wootique/functions/images/ico-docs.png create mode 100755 wootique/functions/images/ico-dojo-banner-close.png create mode 100755 wootique/functions/images/ico-dojo-banner.png create mode 100755 wootique/functions/images/ico-download.png create mode 100755 wootique/functions/images/ico-edit.png create mode 100755 wootique/functions/images/ico-forum.png create mode 100755 wootique/functions/images/ico-info.png create mode 100755 wootique/functions/images/ico-note.png create mode 100755 wootique/functions/images/ico-preview.png create mode 100755 wootique/functions/images/ico-refresh.png create mode 100755 wootique/functions/images/ico-social-delicious.png create mode 100755 wootique/functions/images/ico-social-facebook.png create mode 100755 wootique/functions/images/ico-social-flickr.png create mode 100755 wootique/functions/images/ico-social-googleplus.png create mode 100755 wootique/functions/images/ico-social-linkedin.png create mode 100755 wootique/functions/images/ico-social-rss.png create mode 100755 wootique/functions/images/ico-social-twitter.png create mode 100755 wootique/functions/images/ico-social-youtube.png create mode 100755 wootique/functions/images/ico-tick.png create mode 100755 wootique/functions/images/ico-viewpage.png create mode 100755 wootique/functions/images/icon-32.png create mode 100755 wootique/functions/images/info.png create mode 100755 wootique/functions/images/layout-off.png create mode 100755 wootique/functions/images/loading-bottom.gif create mode 100755 wootique/functions/images/loading-top.gif create mode 100755 wootique/functions/images/logo.png create mode 100755 wootique/functions/images/menu-arrow-frame.png create mode 100755 wootique/functions/images/menu-shadow.png create mode 100755 wootique/functions/images/nicEditorIcons.gif create mode 100755 wootique/functions/images/option-icon-ads.png create mode 100755 wootique/functions/images/option-icon-audio.png create mode 100755 wootique/functions/images/option-icon-box.png create mode 100755 wootique/functions/images/option-icon-calendar.png create mode 100755 wootique/functions/images/option-icon-cart.png create mode 100755 wootique/functions/images/option-icon-connect.png create mode 100755 wootique/functions/images/option-icon-favorite.png create mode 100755 wootique/functions/images/option-icon-featured.png create mode 100755 wootique/functions/images/option-icon-footer.png create mode 100755 wootique/functions/images/option-icon-general.png create mode 100755 wootique/functions/images/option-icon-header.png create mode 100755 wootique/functions/images/option-icon-homepage.png create mode 100755 wootique/functions/images/option-icon-image.png create mode 100755 wootique/functions/images/option-icon-layout.png create mode 100755 wootique/functions/images/option-icon-listing.png create mode 100755 wootique/functions/images/option-icon-main.png create mode 100755 wootique/functions/images/option-icon-maps.png create mode 100755 wootique/functions/images/option-icon-media.png create mode 100755 wootique/functions/images/option-icon-misc.png create mode 100755 wootique/functions/images/option-icon-nav.png create mode 100755 wootique/functions/images/option-icon-portfolio.png create mode 100755 wootique/functions/images/option-icon-post.png create mode 100755 wootique/functions/images/option-icon-search.png create mode 100755 wootique/functions/images/option-icon-sidebar.png create mode 100755 wootique/functions/images/option-icon-slider.png create mode 100755 wootique/functions/images/option-icon-styling.png create mode 100755 wootique/functions/images/option-icon-tumblog.png create mode 100755 wootique/functions/images/option-icon-typography.png create mode 100755 wootique/functions/images/option-icon-upload.png create mode 100755 wootique/functions/images/option-icon-woocommerce.png create mode 100755 wootique/functions/images/quote.png create mode 100755 wootique/functions/images/select.png create mode 100755 wootique/functions/images/shortcode-arrow.png create mode 100755 wootique/functions/images/shortcode-bullet.png create mode 100755 wootique/functions/images/shortcode-green-dot.png create mode 100755 wootique/functions/images/shortcode-icon.png create mode 100755 wootique/functions/images/shortcode-red-x.png create mode 100755 wootique/functions/images/shortcode-star.png create mode 100755 wootique/functions/images/shortcode-tick.png create mode 100755 wootique/functions/images/shortcode-toggle-close.png create mode 100755 wootique/functions/images/shortcode-toggle-open.png create mode 100755 wootique/functions/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 wootique/functions/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 wootique/functions/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100755 wootique/functions/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 wootique/functions/images/ui-bg_glass_75_dadada_1x400.png create mode 100755 wootique/functions/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100755 wootique/functions/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 wootique/functions/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100755 wootique/functions/images/ui-icons_222222_256x240.png create mode 100755 wootique/functions/images/ui-icons_2e83ff_256x240.png create mode 100755 wootique/functions/images/ui-icons_454545_256x240.png create mode 100755 wootique/functions/images/ui-icons_888888_256x240.png create mode 100755 wootique/functions/images/ui-icons_cd0a0a_256x240.png create mode 100755 wootique/functions/images/warning.png create mode 100755 wootique/functions/images/wf-tab-icons.png create mode 100755 wootique/functions/images/woo-icon.png create mode 100755 wootique/functions/js/ajaxupload.js create mode 100755 wootique/functions/js/colorpicker.js create mode 100755 wootique/functions/js/jquery.maskedinput.js create mode 100755 wootique/functions/js/nicEdit.js create mode 100755 wootique/functions/js/php.js create mode 100755 wootique/functions/js/shortcode-generator/dialog.php create mode 100755 wootique/functions/js/shortcode-generator/editor_plugin.js create mode 100755 wootique/functions/js/shortcode-generator/editor_plugin_39.js create mode 100755 wootique/functions/js/shortcode-generator/js/column-control.js create mode 100755 wootique/functions/js/shortcode-generator/js/dialog-js.php create mode 100755 wootique/functions/js/shortcode-generator/js/tab-control.js create mode 100755 wootique/functions/js/shortcode-generator/preview-shortcode-external.php create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/abbr.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/box.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/button.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/column.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/contactform.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/digg.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/fblike.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/fbshare.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/google_plusone.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/ilink.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/linkedin_share.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/ordered_list.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/pinterest.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/quote.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/related.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/social_icon.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/stumbleupon.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/tab.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/toggle.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/tweetmeme.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/twitter.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/twitter_follow.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/typography.js create mode 100755 wootique/functions/js/shortcode-generator/shortcodes/unordered_list.js create mode 100755 wootique/functions/js/shortcodes.js create mode 100755 wootique/functions/js/tumblog-ajax.js create mode 100755 wootique/functions/js/ui.datepicker.js create mode 100755 wootique/functions/js/woo-admin-interface.js create mode 100755 wootique/functions/js/woo-custom-fields.js create mode 100755 wootique/functions/js/woo-medialibrary-uploader.js create mode 100755 wootique/functions/js/woo-scripts.js create mode 100755 wootique/functions/js/woo-typography-preview.js create mode 100755 wootique/functions/thumb.php create mode 100644 wootique/header.php create mode 100644 wootique/images/ajax-loader.gif create mode 100644 wootique/images/alert-overlay.png create mode 100644 wootique/images/arrow-superfish-right.png create mode 100644 wootique/images/arrow-superfish.png create mode 100644 wootique/images/btn-feat-left.png create mode 100644 wootique/images/btn-feat-right.png create mode 100644 wootique/images/featured-products.png create mode 100644 wootique/images/html.png create mode 100644 wootique/images/ico-alert.png create mode 100644 wootique/images/ico-cart-light.png create mode 100644 wootique/images/ico-cart.png create mode 100644 wootique/images/ico-checkout-light.png create mode 100644 wootique/images/ico-checkout.png create mode 100644 wootique/images/ico-cross-small.png create mode 100644 wootique/images/ico-download.png create mode 100644 wootique/images/ico-info.png create mode 100644 wootique/images/ico-note.png create mode 100644 wootique/images/ico-rss.png create mode 100644 wootique/images/ico-search.png create mode 100644 wootique/images/ico-slider-next.png create mode 100644 wootique/images/ico-slider-prev.png create mode 100644 wootique/images/ico-social-delicious.png create mode 100644 wootique/images/ico-social-facebook.png create mode 100644 wootique/images/ico-social-flickr.png create mode 100644 wootique/images/ico-social-googleplus.png create mode 100644 wootique/images/ico-social-linkedin.png create mode 100644 wootique/images/ico-social-rss.png create mode 100644 wootique/images/ico-social-twitter.png create mode 100644 wootique/images/ico-social-youtube.png create mode 100644 wootique/images/ico-tag.gif create mode 100644 wootique/images/ico-tag.png create mode 100644 wootique/images/ico-tick.png create mode 100644 wootique/images/icon-32.png create mode 100644 wootique/images/logo.png create mode 100644 wootique/images/sidebar-left.png create mode 100644 wootique/images/sidebar-right.png create mode 100644 wootique/images/sprite.png create mode 100644 wootique/images/star-small.png create mode 100644 wootique/images/star.png create mode 100644 wootique/images/twitter.png create mode 100644 wootique/images/woothemes.png create mode 100755 wootique/includes/images/slides.png create mode 100644 wootique/includes/js/general.js create mode 100644 wootique/includes/js/jquery.jcarousel.min.js create mode 100755 wootique/includes/js/jquery.uniform.min.js create mode 100644 wootique/includes/js/libs/modernizr-2.0.6.min.js create mode 100644 wootique/includes/js/menu.js create mode 100644 wootique/includes/js/pngfix.js create mode 100644 wootique/includes/js/superfish.js create mode 100644 wootique/includes/js/woo_tabs.js create mode 100644 wootique/includes/sidebar-init.php create mode 100644 wootique/includes/theme-actions.php create mode 100644 wootique/includes/theme-comments.php create mode 100644 wootique/includes/theme-functions.php create mode 100644 wootique/includes/theme-install.php create mode 100644 wootique/includes/theme-js.php create mode 100644 wootique/includes/theme-options.php create mode 100644 wootique/includes/theme-widgets.php create mode 100644 wootique/includes/theme-woocommerce.php create mode 100644 wootique/includes/widgets/widget-woo-adspace.php create mode 100644 wootique/includes/widgets/widget-woo-blogauthor.php create mode 100644 wootique/includes/widgets/widget-woo-embed.php create mode 100644 wootique/includes/widgets/widget-woo-flickr.php create mode 100644 wootique/includes/widgets/widget-woo-search.php create mode 100644 wootique/includes/widgets/widget-woo-subscribe.php create mode 100644 wootique/includes/widgets/widget-woo-tabs.php create mode 100644 wootique/includes/widgets/widget-woo-twitter.php create mode 100644 wootique/index.php create mode 100644 wootique/lang/en_GB.po create mode 100644 wootique/license.txt create mode 100644 wootique/page.php create mode 100644 wootique/screenshot.png create mode 100644 wootique/search-form.php create mode 100644 wootique/search.php create mode 100644 wootique/sidebar.php create mode 100644 wootique/single.php create mode 100644 wootique/style.css create mode 100644 wootique/styles/default.css create mode 100644 wootique/template-archives.php create mode 100644 wootique/template-blog.php create mode 100644 wootique/template-contact.php create mode 100644 wootique/template-fullwidth.php create mode 100644 wootique/template-imagegallery.php create mode 100644 wootique/template-sale.php create mode 100644 wootique/template-sitemap.php create mode 100644 wootique/template-tags.php create mode 100644 wootique/template-timeline.php create mode 100644 wootique/theme_info.txt delete mode 100644 wrk-master.zip diff --git a/artificer/404.php b/artificer/404.php new file mode 100755 index 0000000..827229a --- /dev/null +++ b/artificer/404.php @@ -0,0 +1,28 @@ + + +
+ + + +
+ +
+ +
+

+
+
+

+
+ +
+ +
+ + + + + +
+ + \ No newline at end of file diff --git a/artificer/README.md b/artificer/README.md new file mode 100644 index 0000000..e69de29 diff --git a/artificer/archive.php b/artificer/archive.php new file mode 100755 index 0000000..11f3373 --- /dev/null +++ b/artificer/archive.php @@ -0,0 +1,86 @@ + + +
+ + + +
+ + + + +
+

|

+ ' . __( "RSS feed for this section", "woothemes" ) . ''; ?> +
+ + +
+

|

+
+ + +
+

|

+
+ + +
+

|

+
+ + +
+

+
+ + +
+

+
+ + + + + +
+ + + + + + + + + + + + +
> +

+
+ + + + + + + +
+ + + + + +
+ + \ No newline at end of file diff --git a/artificer/changelog.txt b/artificer/changelog.txt new file mode 100755 index 0000000..b5b703a --- /dev/null +++ b/artificer/changelog.txt @@ -0,0 +1,97 @@ +*** Artificer Changelog *** + +2014.04.22 - version 1.3.8 + * Fix - Updated fitvids to the latest stable version + includes/js/third-party.js + + * Fix - Removed category exclude option which breaks custom homepages. + includes/theme-functions.php + +2014.02.03 - version 1.3.7 + * Fix - removes query checking a nonexistent option. + index.php + +2013.12.16 - version 1.3.6 + * Fix - removes check of redundant woo_homepage_tweet option. + index.php + +2013.11.08 - version 1.3.5 + * style.css - Fixes an issue with the responsive layout on the contact template. + +2013.08.22 - version 1.3.4 + * includes/theme-woocommerce.php - Tweaked how WooCommerce css is dequeued for 2.1. + +2013.06.25 - version 1.3.3 + * includes/theme-woocommerce.php - WooCommerce CSS is now dequeued in preparation for WooCommerce 2.1. Related products prepared for WooCommerce 2.1. + * style.css + layout.css - Fixed cart layout on handheld devices. + +2013.06.14 - version 1.3.2 + * index.php + includes/theme-options.php + includes/theme-functions.php - Removed Latest Tweet homepage component which is incompatible with Twitter API 1.1 + * includes/theme-options.php - Fixed broken co-ordinates link + +2013.04.25 - version 1.3.1 + * style.css - Fixes stretched images bug on mobile devices. + +2013.04.04 - version 1.3.0 + * Re-added missing lightbox feature + * No longer requires WooCommerce + +2013.03.06 - version 1.2.5 + * style.css - WooCommerce checkout validation + * css/layout.css - WooCommerce tab styling fix + +2013.02.22 - version 1.2.4 + * includes/theme-woocommerce.php - WooCommerce 2.0 pagination preparation + +2013.02.11 - version 1.2.3 + * includes/theme-woocommerce.php - added WooCommerce support flag + +2013-02-06 - version 1.2.2 + * index.php - fixed featured product price bug + +2013-01-29 - version 1.2.1 + * includes/theme-woocommerce.php - Fixed cart fragment bug + * style.css - WooCommerce 2.0 styles (star rating in product archives) + +2013-01-07 - version 1.2 + * style.css + css/layout.css - Styling preparation for WooCommerce 2.0 standardised class names (.woocommerce-). Added demo store notice styling + * includes/theme-woocommerce.php - fixed upsell grid layout + + +2012.12.24 - version 1.1.1 + * index.php - fixed bug where all products had the same price + +2012.12.06 - version 1.1 + * style.css - Styling preparation for WooCommerce 2.0 + * index.php - WC_Product class replaced with get_product + * includes/theme-woocommerce.php - disable WooCommerce lightbox when prettyPhoto is enabled + * style.css + /styles/* - fixed phone/email icons in ie9 + +2012.10.16 - version 1.0.6 + * includes/theme-woocommerce.php - dont hide the admin bar + +2012.07.30 - version 1.0.5 + * images/ico-subscribe-social.png - Updated Twitter Icon + * images/twitter.png - Updated Twitter Icon + * includes/widget/widget-woo-twitter.php - Added "Twitter" text for default widget title + +2012.07.30 - version 1.0.4 + * index.php removed woo_pagenav() + +2012.07.25 - version 1.0.3 + * includes/theme-js.php - changed the way the html5shim is called + +2012.07.01 - version 1.0.2 + * style.css + styles/* - fixed broken typeface URL in alt styles + +2012.07.01 - version 1.0.1 + * css/layout.css - fixed IE9 product tab bug + +2012.06.21 - version 1.0 + * First release! diff --git a/artificer/comments.php b/artificer/comments.php new file mode 100755 index 0000000..02f0d8f --- /dev/null +++ b/artificer/comments.php @@ -0,0 +1,74 @@ + +

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

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

+ +
    + +
+ + + +
+ + + + + +
+
+
+ + + \ No newline at end of file diff --git a/artificer/content-search.php b/artificer/content-search.php new file mode 100755 index 0000000..b12d4df --- /dev/null +++ b/artificer/content-search.php @@ -0,0 +1,27 @@ + + +
> + + + +
+

+ +
+ +
+ +
+ +
\ No newline at end of file diff --git a/artificer/content.php b/artificer/content.php new file mode 100755 index 0000000..f2b13b3 --- /dev/null +++ b/artificer/content.php @@ -0,0 +1,51 @@ + 150, + 'thumb_h' => 150, + 'thumb_align' => 'alignright' + ); + + $settings = woo_get_dynamic_values( $settings ); + +?> + +
> + + + +
+

+ +
+ +
+ +
+ +
+ + + + +
+ +
\ No newline at end of file diff --git a/artificer/css/layout.css b/artificer/css/layout.css new file mode 100755 index 0000000..269add3 --- /dev/null +++ b/artificer/css/layout.css @@ -0,0 +1,951 @@ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + + box-sizing: border-box; + /* Opera/IE 8+ */ + + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + + /* LEVEL 3 */ + + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + + box-sizing: border-box; + /* Opera/IE 8+ */ + + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #504841; + border-bottom: 0.146em dashed #7a6d63; + border-top: 0.327em solid #342e2a; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #423b36, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #423b36; + -moz-box-shadow: 0 0.236em 0 #423b36, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #423b36; + box-shadow: 0 0.236em 0 #423b36, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #423b36; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + + -o-transform: skew(-3deg, -2deg); + /* Opera */ + + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + + -o-transform: skew(3deg, 2deg); + /* Opera */ + + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #392e25; + color: #b0a59c; + } + #top a:hover { + color: #a79984; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + + /* LEVEL 3 */ + + } + #top ul.nav > li a:hover { + background-color: #6c6158; + background-image: -webkit-gradient(linear, left top, left bottom, from(#6c6158), to(#5e544d)); + /* Saf4+, Chrome */ + + background-image: -webkit-linear-gradient(top, #6c6158, #5e544d); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + + background-image: -moz-linear-gradient(top, #6c6158, #5e544d); + /* FF3.6+ */ + + background-image: -ms-linear-gradient(top, #6c6158, #5e544d); + /* IE10 */ + + background-image: -o-linear-gradient(top, #6c6158, #5e544d); + /* Opera 11.10+ */ + + background-image: linear-gradient(to bottom, #6c6158, #5e544d); + } + #top ul.nav > li:hover { + background-color: #6c6158; + background-image: -webkit-gradient(linear, left top, left bottom, from(#6c6158), to(#5e544d)); + /* Saf4+, Chrome */ + + background-image: -webkit-linear-gradient(top, #6c6158, #5e544d); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + + background-image: -moz-linear-gradient(top, #6c6158, #5e544d); + /* FF3.6+ */ + + background-image: -ms-linear-gradient(top, #6c6158, #5e544d); + /* IE10 */ + + background-image: -o-linear-gradient(top, #6c6158, #5e544d); + /* Opera 11.10+ */ + + background-image: linear-gradient(to bottom, #6c6158, #5e544d); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #5e544d; + background-image: -webkit-gradient(linear, left top, left bottom, from(#5e544d), to(#504841)); + /* Saf4+, Chrome */ + + background-image: -webkit-linear-gradient(top, #5e544d, #504841); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + + background-image: -moz-linear-gradient(top, #5e544d, #504841); + /* FF3.6+ */ + + background-image: -ms-linear-gradient(top, #5e544d, #504841); + /* IE10 */ + + background-image: -o-linear-gradient(top, #5e544d, #504841); + /* Opera 11.10+ */ + + background-image: linear-gradient(to bottom, #5e544d, #504841); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + + /* LEVEL 3 */ + + } + #navigation ul.nav > li { + border-right: 1px dotted #dbd4ce; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #967381; + -webkit-box-shadow: inset 0 0.382em 0 0 #967381; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #967381; + -webkit-box-shadow: inset 0 0.382em 0 0 #967381; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #967381; + } + #navigation ul.nav li a:hover { + color: #522f3d; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #74515f; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + + box-sizing: border-box; + /* Opera/IE 8+ */ + + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + + box-sizing: border-box; + /* Opera/IE 8+ */ + + border: 1px dashed #c9a6b4; + background: url("../images/home.png") center no-repeat #967381; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #856270; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + + -moz-transform: rotate(2deg); + /* FF3.5+ */ + + -ms-transform: rotate(2deg); + /* IE9 */ + + -o-transform: rotate(2deg); + /* Opera 10.5 */ + + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + + box-sizing: border-box; + /* Opera/IE 8+ */ + + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(200, 189, 180, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(150, 136, 115, 0.8); + border-bottom: 0.382em solid #968873; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: "Karla", sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #967381; + border-bottom-width: .857em; + background: rgba(150, 115, 129, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + + box-sizing: border-box; + /* Opera/IE 8+ */ + + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: "Cutive", sans-serif; + color: #967381; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #d5d0cc; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #d5d0cc; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #d5d0cc; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #d5d0cc; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #d5d0cc; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #d5d0cc; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #e6e1dd; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + + box-sizing: border-box; + /* Opera/IE 8+ */ + + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #968873; + } + .ie8 ul.featured-products li:hover h3 { + background: #967381; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} diff --git a/artificer/css/layout.less b/artificer/css/layout.less new file mode 100755 index 0000000..9af2709 --- /dev/null +++ b/artificer/css/layout.less @@ -0,0 +1,895 @@ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ + + +/*----------------------*/ + +@import url(mixins.less); +@img_path: "../images"; + +/*----------------------*/ + + +@media only screen and (min-width: 768px) { + + #wrapper { + padding: 0 2.618em; + .borderbox(); + overflow-x: hidden; + } + + blockquote { + padding:1.618em; + } + + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom:0; + li { + position: relative; + float: left; + zoom:1; + list-style: none; + a { + display: block; + padding:.857em 1.387em; + } + &.parent { // Styles applied to all parent list items + a { + &:after { + .iconafter; + content: ";"; + } + } + } + } + /* LEVEL 2 */ + ul { + width:15.379em; + visibility: hidden; + position: absolute; + top:100%; + left: 0; + z-index: 9999; + margin:0; + li { + float: none; + a { + width: 100%; + //display: inline-block; + display: block; + .borderbox(); + &:after { + content: "" !important; + } + } + &.parent { // Styles applied to parent items in level 2 + a { + &:after { + display: inline-block; + content: "]" !important; + float: right; + } + } + } + } + } + /* LEVEL 3 */ + ul ul { + left:100%; + top:0; + li { + a { + &:after { + display: none !important; + } + } + &.parent { // Styles applied to parent items in level 3 + + } + } + } + li:hover > ul { + visibility: visible; + } + } + + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("@{img_path}/noise.png"), url("@{img_path}/leather.png"); + background-color: darken(@color_body,10%); + border-bottom:.146em dashed lighten(@color_body,5%); + border-top:.327em solid darken(@color_body,20%); + font-weight: 700; + -webkit-box-shadow: + 0 .236em 0 darken(@color_body,15%), + 0 .382em 1em rgba(0,0,0,0.25), + inset 0 -1px 0 darken(@color_body,15%); + -moz-box-shadow: + 0 .236em 0 darken(@color_body,15%), + 0 .382em 1em rgba(0,0,0,0.25), + inset 0 -1px 0 darken(@color_body,15%); + box-shadow: + 0 .236em 0 darken(@color_body,15%), + 0 .382em 1em rgba(0,0,0,0.25), + inset 0 -1px 0 darken(@color_body,15%); + .lifted(); + margin: 0 -2.618em; + padding:0 2.618em; + #top-nav { + display: block; + } + a { + .text_shadow(0,-1px,0,@color_body - #333); + color: @color_body + #444; + &:hover { + color: @color_links + #111; + } + } + ul.nav { + font-size:.857em; // this adjusts the scale of the entire navigation and everything just works like magic + > li { // The following styles are applied ONLY to the top level list items + a { + &:hover { + .vertical_gradient(@color_body,darken(@color_body,5%)); + } + } + &:hover { + .vertical_gradient(@color_body,darken(@color_body,5%)); + } + &.logout { + a { + &:after { + .iconafter; + content: "X"; + } + } + } + } + /* LEVEL 2 */ + ul { + .vertical_gradient(darken(@color_body,5%),darken(@color_body,10%)); + .box_shadow(0,1em,1em,0,rgba(0,0,0,0.2)); + li { + a { + } + } + } + /* LEVEL 3 */ + ul ul { + } + li:hover > ul { + } + } + } + + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display:block !important; + ul.nav { + padding:0; + > li { // The following styles are applied ONLY to the top level list items + border-right:1px dotted lighten(@border_main,5%); + a { + &:hover { + background: #fff; + .inset_box_shadow(0,.382em,0,0,@color_theme); + } + } + &:hover, &.current_page_item { + background: #fff; + .inset_box_shadow(0,.382em,0,0,@color_theme); + } + } + li { + a { + padding:1em 1.618em; + color: @color_theme; + &:hover { + color: @color_theme - #444; + } + } + } + // The home link + li.home { + border: 0; + a { + border: .327em solid @color_theme - #222; + padding:0; + .borderbox(); + .border_radius_left(.236em); + span { + padding:.673em 1.618em; + display: inline-block; + .borderbox(); + border:1px dashed @color_theme + #333; + background: url("@{img_path}/home.png") center no-repeat @color_theme; + color:#fff; + text-indent: -999em; + } + &:hover { + -webkit-box-shadow:none !important; + -moz-box-shadow:none !important; + box-shadow:none !important; + span { + background-color: @color_theme - #111; + } + } + } + &:hover, &.current_page_item { + a { + -webkit-box-shadow:none !important; + -moz-box-shadow:none !important; + box-shadow:none !important; + } + } + } + /* LEVEL 2 */ + ul { + background: #fff; + padding:.618em 0; + -webkit-box-shadow: + inset 0 0 0 .382em rgba(255,255,255,0.6), + 0 1px 2px rgba(0,0,0,0.1), + 0 1em 2em rgba(0,0,0,0.1); + -moz-box-shadow: + inset 0 0 0 .382em rgba(255,255,255,0.6), + 0 1px 2px rgba(0,0,0,0.1), + 0 1em 2em rgba(0,0,0,0.1); + box-shadow: + inset 0 0 0 .382em rgba(255,255,255,0.6), + 0 1px 2px rgba(0,0,0,0.1), + 0 1em 2em rgba(0,0,0,0.1); + li { + a { + &:hover { + -webkit-box-shadow:none; + -moz-box-shadow:none; + box-shadow:none; + background: none; + } + } + } + } + /* LEVEL 3 */ + ul ul { + left:100%; + padding:0; + } + li:hover > ul { + } + } + } + // Hide the nav toggle link in desktop orientation + h3.nav-toggle { + display: none; + } + + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, .layout-full #main, .col-full { + max-width:75.998em; + margin:0 auto; + width:100%; + } + #main { + width: 65.4%; // golden ratio + } + #sidebar { + margin-top: 0; + width: 30.75%; // golden ratio + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content { + #main { + float: right; + } + #sidebar { + float: left; + } + } + .layout-full #main, .woocommerce-fullwidth #main { + width: 100%; // full-width template + } + + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php { + .location-twitter { + .col-left { + float: left; + } + #office-location { + width: 48%; + margin: 0; + } + .contact-social { + float: right; + width: 48%; + #twitter { + margin: 0; + } + } + } + } + + .post, .type-page { + padding:3.631em; + .woo-image:first-child { + float:right; + padding:.618em .618em 1.618em; + background: #fff; + border:0; + .box_shadow(0,.077em,.146em, 0, rgba(0,0,0,0.15)); + .border_radius(.236em); + .rotate(2deg); + width:11.089em; + margin-right:0; + margin-left:1.618em; + } + } + + #post-author, #post-entries { + padding:1.618em 3.631em; + } + + .mini-features { + + .mini-feature { + width:30.75%; + margin-right:3.8%; + float: left; + font-size:0.8em; + + &:nth-child(3n) { + margin-right:0; + } + } + } + + // Header + #header { + .clearfix(); + text-align: left; + #logo { + margin-right:1em; + } + hgroup { + float: left; + margin-bottom:1.618em; + .site-description { + clear: left; + } + } + a.cart-button, a.checkout { + float: right; + } + a.checkout { + display: inline-block; + } + } + + // Sidebar + + #sidebar { + margin-bottom:2.618em; + } + + .home { + #sidebar { + .tweet { + ul { + li { + padding:1.618em; + } + } + } + } + } + + // Comments + + #respond { + #reply-title { + small { + float: right; + } + } + } + + /* 5. WOOCOMMERCE */ + + // Homepage + + .home-intro { + .stand-first { + width:46.2%; + padding-left:3.8%; + float: left; + clear: left; + z-index: 99999; + } + } + + ul.featured-products { + margin:0 0 5.874em; + z-index: 99; + clear: both; + padding-top:3.631em; + li { + width:20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + .borderbox(); + position: relative; + word-spacing: 0; + &:after { + content: ""; + position: absolute; + top:0; + left:0; + right:0; + bottom:0; + -webkit-box-shadow: + 0 0 0 2.618em fade(darken(@bg_light,14%),25%), + 0 0 1em rgba(0,0,0,0.1); + z-index: -999999; + } + &:nth-child(4n), &.fourth { + width:39.9%; + margin-top:-20%; + } + &:nth-child(2n), &.second { + float: none; + } + &:nth-child(5n), &.fifth { + margin-left:20%; + } + img { + width:100%; + height: auto; + } + h3 { + position: absolute; + bottom:0; + background: fade(@color_links,80%); + border-bottom:.382em solid @color_links; + color: #fff; + margin:0; + padding:.54em .857em; + left:0; + right:0; + font-family: @sans_google; + font-size:.857em; + .transition(); + .price { + .opacity(0.6); + &:before { + content: "\2014"; + display: inline-block; + padding:0 .382em 0 .236em; + } + } + } + .onsale { + position: absolute; + top:0; + } + a { + &:hover { + h3 { + //padding-bottom:1.387em; + border-color:@color_theme; + border-bottom-width:.857em; + background: fade(@color_theme,85%); + } + } + } + &.go-shopping { + position: relative; + a { + margin:40% 0 0 40%; + } + &:after { + display: none; + } + } + } + } + + .col2-set { + clear: both; + .clearfix(); + + .col-1 { + width:48%; + float: left; + } + + .col-2 { + width:48%; + float: right; + } + } + + .form-row { + width:48%; + float: left; + margin-bottom:2.053em; + + label { + display: block; + padding:.206em 0; + } + + .input-text, select { + width:100%; + *width:90%; + .borderbox(); + } + + input[type=checkbox] { + float: left; + } + + &.notes { + width:100%; + float: none; + + textarea { + width:100%; + *width:90%; + } + } + + &.notes + h3 { + clear: both; + } + } + + .form-row-first { + clear: left; + } + + .form-row-last { + float: right; + } + + .form-row-wide { + float: left; + width:100%; + clear: both; + } + + header.title { + overflow: hidden; + zoom:1; + + h1, h2, h3, h4, h5 { + float: left; + } + + a.edit { + float: right; + font-weight: bold; + } + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products { + .clearfix(); + li.product { + width:30.75%; + float: left; + clear: none; + margin-right:3.8%; + &:nth-child(2n) { + float: left; + clear: none; + } + &.first { + clear: left; + } + } + } + .post-type-archive-product { + ul.products { + &:hover { + li.product { + .img-wrap { + .opacity(0.5); + &:hover { + .opacity(1); + &:before { + display: none; + } + } + } + } + } + } + } + .pagination-wrap { + .woo-pagination, .woocommerce_ordering, .woocommerce-ordering { + width:48%; + float: left; + text-align: left; + padding:0; + } + .woocommerce_ordering, .woocommerce-ordering { + float: right; + text-align: right; + } + } + /* 5.2.1 Single Product */ + .single-product { + .images { + width:30.75%; + float: left; + img { + height: auto; + } + } + .summary { + width:65.4%; + float: right; + .price { + font-family: @serif_google; + color: @color_theme; + } + } + .woocommerce_tabs, .woocommerce-tabs { + clear: both; + + ul.tabs { + width:29.75%; + float: left; + border-top:1px solid @bg_light - #111; + li { + display: block; + margin-right:0; + a { + display: block; + border-bottom:1px solid @bg_light - #111; + padding:.618em 0; + } + &.active { + a:after { + .iconafter(); + content: ">"; + float: right; + margin-right:.857em; + margin-top:.202em; + } + } + } + } + .panel { + width:65.4%; + padding-left:3.8%; + border-left:1px solid @bg_light - #111; + float: right; + margin-bottom:1.618em; + border-top:1px solid @bg_light - #111; + padding-top:1.618em; + + p:last-child { + margin-bottom:0; + } + + &#tab-description { + ul,ol { + margin-left:1.618em; + } + } + &#tab-reviews { + position: relative; + div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top:-1.618em; + right:0; + background-color: @bg_light - #111; + .border_radius_bottom(.202em); + border:.53em solid @bg_light - #111; + } + } + } + } + .related, .upsells { + clear: both; + } + } + /* 5.3 Cart */ + table.cart { + .product-remove, .product-thumbnail, .product-price { + position: static; + } + + .quantity { + .plus, .minus { + display: inline-block !important; + } + } + + td.actions { + text-align: right; + + .coupon { + width:50%; + float: left; + } + + .input-text, .button, .checkout-button { + width:auto !important; + display: inline-block; + margin-bottom:0 !important; + } + .button { + margin-left:.618em; + float: none !important; + } + } + } + .cart-collaterals { + .clearfix(); + + .cross-sells, .cart_totals, .shipping_calculator { + width:48%; + font-size:.857em; + float: left; + } + + .cart_totals { + float: right; + } + + .shipping_calculator { + float: right; + clear: right; + } + } + /* 5.4 Checkout */ + #customer_details { + .col-1, .col-2 { + background: fade(#fff,50%); + border:1px solid @bg_light; + padding:2.244em; + .borderbox; + margin-bottom:1.618em; + width:49%; + } + } + + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account { + form.login { + .button { + margin-right:1em; + } + .clear + .form-row { + width:100%; + } + } + } + /* 5.7 Shortcodes */ + + /* 6. FOOTER WIDGETS */ + #footer-widgets { + .block { + margin-right:3.8%; + float: left; + } + &.col-1 { + .block { + width: 100%; + float: none; + } + .footer-widget-1 { + margin-right:0; + } + } + &.col-2 { + .block { + width: 48%; + } + .footer-widget-2 { + margin-right:0; + } + } + &.col-3 { + .block { + width: 30.75%; + } + .footer-widget-3 { + margin-right:0; + } + } + &.col-4 { + .block { + width: 22.05% + } + .footer-widget-4 { + margin-right:0; + } + } + } + + /* 7. IE FIXES */ + + .ie8 { + ul.featured-products { + li { + h3 { + background: @color_links; + } + &:hover { + h3 { + background: @color_theme; + } + } + } + li.fourth { + width:40%; + margin-top:-20%; + } + li.fifth { + margin-left:20%; + } + } + + } + +} + +@media only screen and (min-width: 1600px) { + body { + font-size:1.6em; + } + #sidebar .widget { + margin-bottom:1em; + } + ul.featured-products li:nth-child(4n), ul.featured-products li.fourth { + width:40%; + } +} \ No newline at end of file diff --git a/artificer/css/mixins.less b/artificer/css/mixins.less new file mode 100755 index 0000000..c9c6489 --- /dev/null +++ b/artificer/css/mixins.less @@ -0,0 +1,203 @@ +// VARIABLES +// Colors +@color_theme: #967381; // Main theme color +@color_links: spin(@color_theme,60); // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF +// Backgrounds +@bg_light: #E6E1DD; +@bg_dark: #d3d3d3; +// Fonts +@sans: sans-serif; +@serif: Georgia, serif; +// Google fonts - These are also defined in Theme Setup (theme-actions.php) +@sans_google: "Karla", sans-serif; +@serif_google: "Cutive", sans-serif; +@handwriting: 'Schoolbell', cursive; + +// Messages +@error: #c67c77; +@success: #a0bd72; +@info: #6ea0b6; +// Images +@img_path: "images"; +@typeface_path: "typefaces"; + +// FUNCTIONS +.iconafter() { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size:.857em; + margin-left:.618em; +} + +.iconbefore() { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size:.857em; + margin-right:.618em; +} + +.lifted() { + position: relative; + &:before, &:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg,-2deg); + -webkit-transform: skew(-3deg,-2deg); /* Safari and Chrome */ + -o-transform: skew(-3deg,-2deg); /* Opera */ + -moz-transform: skew(-3deg,-2deg); /* Firefox */ + bottom: 13px; + .box_shadow(0,10px,5px,0,rgba(0,0,0,0.3)); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + &:after { + -ms-transform: skew(3deg,2deg); /* IE 9 */ + -webkit-transform: skew(3deg,2deg); /* Safari and Chrome */ + -o-transform: skew(3deg,2deg); /* Opera */ + -moz-transform: skew(3deg,2deg); /* Firefox */ + left: auto; + right: 3px; + } +} + +// MIXINS +.clearfix() { + &:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } +} +.border_radius(@radius:10px) +{ + -webkit-border-radius:@radius; + border-radius:@radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_right(@radius:10px) +{ + -webkit-border-top-right-radius: @radius; + -webkit-border-bottom-right-radius: @radius; + border-top-right-radius: @radius; + border-bottom-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_left(@radius:10px) +{ + -webkit-border-top-left-radius: @radius; + -webkit-border-bottom-left-radius: @radius; + border-top-left-radius: @radius; + border-bottom-left-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_bottom(@radius:10px) +{ + -webkit-border-bottom-left-radius: @radius; + -webkit-border-bottom-right-radius: @radius; + border-bottom-left-radius: @radius; + border-bottom-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_top(@radius:10px) +{ + -webkit-border-top-left-radius: @radius; + -webkit-border-top-right-radius: @radius; + border-top-left-radius: @radius; + border-top-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) +{ + box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; + -webkit-box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; +} + +.inset_box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) +{ + box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; + -webkit-box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; +} + +.text_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_color:#fff) +{ + text-shadow:@shadow_x @shadow_y @shadow_rad @shadow_color; +} + +.vertical_gradient(@from: #000, @to: #FFF) { + background-color: @from; + background-image: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, @from, @to); /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, @from, @to); /* FF3.6+ */ + background-image: -ms-linear-gradient(top, @from, @to); /* IE10 */ + background-image: -o-linear-gradient(top, @from, @to); /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, @from, @to); +} + +.transition(@selector:all, @animation:ease-in-out, @duration:.2s) { + -webkit-transition:@selector @animation @duration; + -moz-transition:@selector @animation @duration; + -ms-transition:@selector @animation @duration; + -o-transition:@selector @animation @duration; + transition:@selector @animation @duration; +} + +.opacity(@opacity:0.75) { + opacity: @opacity; + filter:~"alpha(opacity=@opacity * 100)"; +} + +.rotate(@degree:1deg) { + -webkit-transform: rotate(@degree); /* Saf3.1+, Chrome */ + -moz-transform: rotate(@degree); /* FF3.5+ */ + -ms-transform: rotate(@degree); /* IE9 */ + -o-transform: rotate(@degree); /* Opera 10.5 */ + transform: rotate(@degree); + zoom: 1; +} + +.scale(@ratio:1.5){ + -webkit-transform:scale(@ratio); + -moz-transform:scale(@ratio); + -ms-transform:scale(@ratio); + -o-transform:scale(@ratio); + transform:scale(@ratio); +} + +.radial_gradient(@from: #000, @to: #FFF) { + background: @from; + background: -webkit-gradient(radial, 50% 10%, 0, 50% 10%, 1000, from(@from), to(@to)); + background: -moz-radial-gradient(center top, @from 0%, @to 100%); +} + +.borderbox () { + -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; /* Firefox, other Gecko */ + box-sizing: border-box; /* Opera/IE 8+ */ +} + +.horizontal_gradient (@startColor: #000, @endColor: #fff) { + background-color: @endColor; + background-repeat: repeat-x; + background-image: -khtml-gradient(linear, left top, right top, from(@startColor), to(@endColor)); /* Konqueror */ + background-image: -moz-linear-gradient(left, @startColor, @endColor); /* FF 3.6+ */ + background-image: -ms-linear-gradient(left, @startColor, @endColor); /* IE10 */ + background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, @startColor), color-stop(100%, @endColor)); /* Safari 4+, Chrome 2+ */ + background-image: -webkit-linear-gradient(left, @startColor, @endColor); /* Safari 5.1+, Chrome 10+ */ + background-image: -o-linear-gradient(left, @startColor, @endColor); /* Opera 11.10 */ + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@startColor,@endColor)); /* IE6 & IE7 */ + -ms-filter: %("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@startColor,@endColor); /* IE8+ */ + background-image: linear-gradient(left, @startColor, @endColor); /* the standard */ +} \ No newline at end of file diff --git a/artificer/custom.css b/artificer/custom.css new file mode 100755 index 0000000..fde238d --- /dev/null +++ b/artificer/custom.css @@ -0,0 +1,25 @@ +/* +WOO CUSTOM STYLESHEET +--------------------- + +Instructions: + +Add your custom styles in this file instead of style.css so it +is easier to update the theme. Simply copy an existing style +from style.css to this file, and modify it to your liking. */ + + +/* +GLOBAL STYLES +---------------- +Add styles beneath this line that you want to be applied across your entire site */ + + +/* +DESKTOP STYLES +----------------- +Add styles inside the media query below that you only want to be applied to the desktop layout of your site */ + +@media only screen and (min-width: 768px) { + /* Desktop styles go here */ +} \ No newline at end of file diff --git a/artificer/footer.php b/artificer/footer.php new file mode 100755 index 0000000..096a61b --- /dev/null +++ b/artificer/footer.php @@ -0,0 +1,68 @@ + 0 ) { + +?> + + + + + + + + + + + + \ No newline at end of file diff --git a/artificer/functions.php b/artificer/functions.php new file mode 100755 index 0000000..5d4c0a6 --- /dev/null +++ b/artificer/functions.php @@ -0,0 +1,53 @@ + \ No newline at end of file diff --git a/artificer/functions/README.md b/artificer/functions/README.md new file mode 100755 index 0000000..12f5373 --- /dev/null +++ b/artificer/functions/README.md @@ -0,0 +1,2 @@ +wooframework +============ \ No newline at end of file diff --git a/artificer/functions/admin-backup.php b/artificer/functions/admin-backup.php new file mode 100755 index 0000000..1dafa5d --- /dev/null +++ b/artificer/functions/admin-backup.php @@ -0,0 +1,586 @@ + +admin_page = ''; + $this->token = 'woothemes-backup'; + } // End __construct() + + /** + * init() + * + * Initialize the class. + * + * @since 1.0.0 + */ + + public function init () { + if ( is_admin() && ( get_option( 'framework_woo_backupmenu_disable' ) != 'true' ) ) { + // Register the admin screen. + add_action( 'admin_menu', array( &$this, 'register_admin_screen' ), 20 ); + add_action( 'admin_menu', array( &$this, 'move_admin_menu' ), 99 ); + } + } // End init() + + /** + * register_admin_screen() + * + * Register the admin screen within WordPress. + * + * @since 1.0.0 + */ + + public function register_admin_screen () { + + $this->admin_page = add_submenu_page('woothemes', __( 'WooThemes Settings Backup', 'woothemes' ), __( 'Backup Settings', 'woothemes' ), 'manage_options', $this->token, array( &$this, 'admin_screen' ) ); + + // Admin screen logic. + add_action( 'load-' . $this->admin_page, array( &$this, 'admin_screen_logic' ) ); + + // Add contextual help. + add_action( 'contextual_help', array( &$this, 'admin_screen_help' ), 10, 3 ); + + add_action( 'admin_notices', array( &$this, 'admin_notices' ), 10 ); + + } // End register_admin_screen() + + /** + * admin_screen() + * + * Load the admin screen. + * + * @since 1.0.0 + */ + + public function admin_screen () { + + $export_type = 'all'; + + if ( isset( $_POST['export-type'] ) ) { + $export_type = esc_attr( $_POST['export-type'] ); + } +?> +
+ +

+ +

+ +

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

+ +

+

+ +
+ +

+

+ +

+

+ + + +
+ +
+id + + if ( $this->admin_page == $screen->id ) { + + $contextual_help = + '

' . __( 'Welcome to the WooThemes Backup Manager.', 'woothemes' ) . '

' . + '

' . __( 'Here are a few notes on using this screen.', 'woothemes' ) . '

' . + '

' . __( 'The backup manager allows you to backup or restore your "Theme Options" and other settings to or from a text file.', 'woothemes' ) . '

' . + '

' . __( 'To create a backup, simply select the setting type you\'d like to backup (or "All Settings") and hit the "Download Export File" button.', 'woothemes' ) . '

' . + '

' . __( 'To restore your settings from a backup, browse your computer for the file (under the "Import Settings" heading) and hit the "Upload File and Import" button. This will restore only the settings that have changed since the backup.', 'woothemes' ) . '

' . + + '

' . __( 'Please note that only valid backup files generated through the WooThemes Backup Manager should be imported.', 'woothemes' ) . '

' . + + '

' . __( 'Looking for assistance?', 'woothemes' ) . '

' . + '

' . sprintf( __( 'Please post your query on the %sWooThemes Support Desk%s where we will do our best to assist you further.', 'woothemes' ), '', '' ) . '

'; + + } // End IF Statement + + return $contextual_help; + + } // End admin_screen_help() + + /** + * admin_notices() + * + * Display admin notices when performing backup/restore. + * + * @since 1.0.0 + */ + + public function admin_notices () { + + if ( ! isset( $_GET['page'] ) || ( $_GET['page'] != $this->token ) ) { return; } + + echo '

' . sprintf( __( 'Please note that this backup manager backs up only your settings and not your content. To backup your content, please use the %sWordPress Export Tool%s.', 'woothemes' ), '', '' ) . '

' . "\n"; + + if ( isset( $_GET['error'] ) && $_GET['error'] == 'true' ) { + echo '

' . __( 'There was a problem importing your settings. Please Try again.', 'woothemes' ) . '

'; + } else if ( isset( $_GET['error-export'] ) && $_GET['error-export'] == 'true' ) { + echo '

' . __( 'There was a problem exporting your settings. Please Try again.', 'woothemes' ) . '

'; + } else if ( isset( $_GET['invalid'] ) && $_GET['invalid'] == 'true' ) { + echo '

' . __( 'The import file you\'ve provided is invalid. Please try again.', 'woothemes' ) . '

'; + } else if ( isset( $_GET['imported'] ) && $_GET['imported'] == 'true' ) { + echo '

' . sprintf( __( 'Settings successfully imported. | Return to %sTheme Options%s', 'woothemes' ), '', '' ) . '

'; + } // End IF Statement + + } // End admin_notices() + + /** + * admin_screen_logic() + * + * The processing code to generate the backup or restore from a previous backup. + * + * @since 1.0.0 + */ + + public function admin_screen_logic () { + + if ( ! isset( $_POST['woothemes-backup-export'] ) && isset( $_POST['woothemes-backup-import'] ) && ( $_POST['woothemes-backup-import'] == true ) ) { + $this->import(); + } + + if ( ! isset( $_POST['woothemes-backup-import'] ) && isset( $_POST['woothemes-backup-export'] ) && ( $_POST['woothemes-backup-export'] == true ) ) { + $this->export(); + } + + } // End admin_screen_logic() + + /** + * move_admin_menu() + * + * Reposition admin menu. + * + * @since 1.0.0 + */ + + public function move_admin_menu () { + global $submenu; + + if ( ! array_key_exists( 'woothemes', $submenu ) ) { return ; } + + $items_to_move = array(); + $first_item = array(); + $below_items = array(); + + foreach ( $submenu['woothemes'] as $k => $s ) { + if ( in_array( $s[2], array( 'woothemes-backup' ) ) ) { + $items_to_move[] = $s; + unset( $submenu['woothemes'][$k] ); + } + + if ( in_array( $s[2], array( 'woothemes_themes', 'woothemes_timthumb_update' ) ) ) { + $below_items[] = $s; + unset( $submenu['woothemes'][$k] ); + } + + if ( $k == 0 ) { $first_item[] = $s; unset( $submenu['woothemes'][$k]); } + } + + sort( $items_to_move ); + + $remaining_items = $submenu['woothemes']; + + // Grab the first item and unset it from the main array. + $submenu['woothemes'] = array_merge( $first_item, $remaining_items, $items_to_move, $below_items ); + } // End move_admin_menu() + + /** + * import() + * + * Import settings from a backup file. + * + * @since 1.0.0 + */ + + public function import() { + check_admin_referer( 'woothemes-backup-import' ); // Security check. + + if ( ! isset( $_FILES['woothemes-import-file'] ) ) { return; } // We can't import the settings without a settings file. + + // Extract file contents + $upload = file_get_contents( $_FILES['woothemes-import-file']['tmp_name'] ); + + // Decode the JSON from the uploaded file + $options = json_decode( $upload, true ); + + // Check for errors + if ( ! $options || $_FILES['woothemes-import-file']['error'] ) { + wp_redirect( admin_url( 'admin.php?page=' . $this->token . '&error=true' ) ); + exit; + } + + // Make sure this is a valid backup file. + if ( ! isset( $options['woothemes-backup-validator'] ) ) { + wp_redirect( admin_url( 'admin.php?page=' . $this->token . '&invalid=true' ) ); + exit; + } else { + unset( $options['woothemes-backup-validator'] ); // Now that we've checked it, we don't need the field anymore. + } + + // Make sure the options are saved to the global options collection as well. + $woo_options = get_option( 'woo_options' ); + + $has_updated = false; // If this is set to true at any stage, we update the main options collection. + + // Cycle through data, import settings + foreach ( (array)$options as $key => $settings ) { + + $settings = maybe_unserialize( $settings ); // Unserialize serialized data before inserting it back into the database. + + // We can run checks using get_option(), as the options are all cached. See wp-includes/functions.php for more information. + if ( get_option( $key ) != $settings ) { + update_option( $key, $settings ); + } + + if ( is_array( $woo_options ) ) { + if ( isset( $woo_options[$key] ) && $woo_options[$key] != $settings ) { + $woo_options[$key] = $settings; + $has_updated = true; + } + } + } + + if ( $has_updated == true ) { + update_option( 'woo_options', $woo_options ); + } + + // Redirect, add success flag to the URI + wp_redirect( admin_url( 'admin.php?page=' . $this->token . '&imported=true' ) ); + exit; + + } // End import() + + /** + * export() + * + * Export settings to a backup file. + * + * @since 1.0.0 + * @uses global $wpdb + */ + + public function export() { + global $wpdb; + check_admin_referer( 'woothemes-backup-export' ); // Security check. + + $export_options = array( 'all', 'theme', 'framework' ); + + if ( ! in_array( strip_tags( $_POST['export-type'] ), $export_options ) ) { return; } // No invalid exports, please. + + $export_type = esc_attr( strip_tags( $_POST['export-type'] ) ); + + $settings = array(); + + $query = $this->construct_database_query( $export_type ); + + // Error trapping for the export. + if ( $query == '' ) { + wp_redirect( admin_url( 'admin.php?page=' . $this->token . '&error-export=true' ) ); + return; + } + + // If we get to this stage, all is safe so run the query. + $results = $wpdb->get_results( $query ); + + foreach ( $results as $result ) { + + $settings[$result->option_name] = $result->option_value; + + } // End FOREACH Loop + + // Remove the "blogname" and "blogdescription" fields + unset( $settings['blogname'] ); + unset( $settings['blogdescription'] ); + + if ( ! $settings ) { return; } + + // Add our custom marker, to ensure only valid files are imported successfully. + $settings['woothemes-backup-validator'] = date( 'Y-m-d h:i:s' ); + + // Generate the export file. + $output = json_encode( (array)$settings ); + + header( 'Content-Description: File Transfer' ); + header( 'Cache-Control: public, must-revalidate' ); + header( 'Pragma: hack' ); + header( 'Content-Type: text/plain' ); + header( 'Content-Disposition: attachment; filename="' . $this->token . '-' . date( 'Ymd-His' ) . '.json"' ); + header( 'Content-Length: ' . strlen( $output ) ); + echo $output; + exit; + + } // End export() + + /** + * add_to_export_query() + * + * Loop through an array of options and add them to the MySQL SELECT query string. + * + * @since 1.0.0 + * @param $options array + * @param $count int + * @return $query array ( string, count ) + */ + + public function add_to_export_query ( $options, $count ) { + $query = array(); + $query_inner = ''; + + foreach( $options as $option ) { + + if( isset( $option['id'] ) ) { + $count++; + $option_id = $option['id']; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + if( $count > 1 ) { $query_inner .= ' OR '; } + $query_inner .= "option_name = '$option_id'"; + + // Width/Height-type fields + if ( is_array( $option['type'] ) ) { + foreach ( $option['type'] as $o ) { + if( $count > 1 ){ $query_inner .= ' OR '; } + if ( isset( $o['id'] ) ) { + $option_id = $o['id']; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + $query_inner .= "option_name = '$option_id'"; + } + } + } + + // Multicheck fields + if ( ! is_array( $option['type'] ) && $option['type'] == 'multicheck' ) { + foreach ( $option['options'] as $k => $v ) { + if( $count > 1 ){ $query_inner .= ' OR '; } + if ( ! is_numeric( $k ) ) { + $option_id = $option['id'] . '_' . $k; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + $query_inner .= "option_name = '$option_id'"; + } + } + } + } + } + + $query['string'] = $query_inner; + $query['count'] = $count; + + return $query; + } // End add_to_export_query() + + /** + * add_single_to_export_query() + * + * Add a single item to the MySQL SELECT query string. + * + * @since 1.0.0 + * @param $option_id string + * @param $count int + * @return $query array ( string, count ) + */ + + public function add_single_to_export_query ( $option_id, $count ) { + $query = array(); + $query_inner = ''; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + if( $count > 1 ) { $query_inner .= ' OR '; } + $query_inner .= "option_name = '$option_id'"; + + $query['string'] = $query_inner; + $query['count'] = $count; + + return $query; + } // End add_single_to_export_query() + + /** + * construct_database_query() + * + * Constructs the database query based on the export type. + * + * @since 1.0.0 + * @param $export_type string + * @uses global $wpdb + */ + + public function construct_database_query ( $export_type ) { + global $wpdb; + + $query = ''; + $query_inner = ''; + $count = 0; + + // Begin populating settings to be exported. + switch ( $export_type ) { + + // All Settings + case 'all': + + // Theme Options + $options = get_option( 'woo_template' ); + + if ( is_array( $options ) ) { + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + + // Framework Settings + $options = get_option( 'woo_framework_template' ); + + if ( is_array( $options ) ) { + // Remove the "framework_woo_export_options" and "framework_woo_import_options" items before constructing the query. + foreach ( (array) $options as $k => $v ) { + if ( isset( $options[$k]['id'] ) && in_array( $options[$k]['id'], array( 'framework_woo_import_options', 'framework_woo_export_options' ) ) ) { + unset( $options[$k] ); + } + } + + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + break; + + // Theme Options + case 'theme': + + $options = get_option( 'woo_template' ); + + if ( is_array( $options ) ) { + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + + break; + + // Framework Settings + case 'framework': + + $options = get_option( 'woo_framework_template' ); + + if ( is_array( $options ) ) { + // Remove the "framework_woo_export_options" and "framework_woo_import_options" items before constructing the query. + foreach ( (array) $options as $k => $v ) { + if ( isset( $options[$k]['id'] ) && in_array( $options[$k]['id'], array( 'framework_woo_import_options', 'framework_woo_export_options' ) ) ) { + unset( $options[$k] ); + } + } + + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + + break; + } + + // Allow child themes/plugins to add their own data to the exporter. + $query_inner = apply_filters( 'wooframework_export_query_inner', $query_inner ); + + if ( $query_inner != '' ) { + $query = 'SELECT option_name, option_value FROM ' . $wpdb->options . ' WHERE ' . $query_inner; + } + + return $query; + + } // End construct_database_query() +} // End Class + +/** + * Create $woo_backup Object. + * + * @since 1.0.0 + * @uses WooThemes_Backup + */ + +$woo_backup = new WooThemes_Backup(); +$woo_backup->init(); +?> \ No newline at end of file diff --git a/artificer/functions/admin-custom-nav.php b/artificer/functions/admin-custom-nav.php new file mode 100755 index 0000000..9f60354 --- /dev/null +++ b/artificer/functions/admin-custom-nav.php @@ -0,0 +1,99 @@ + +deprecated since version %2$s of the WooFramework! Use %3$s instead.', 'woothemes' ), $function, '5.4', __( 'WordPress Menu Management', 'woothemes' ) ) ); +} + +/*-----------------------------------------------------------------------------------*/ +/* Woothemes Custom Navigation Menu Setup +/* Setup of the Menu +/* Add Menu Item to the theme +/* Scripts - JS and CSS +/*-----------------------------------------------------------------------------------*/ + +function woo_custom_navigation_setup() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +function woo_custom_nav_reset() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +function woo_custom_navigation_menu() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +function woo_custom_nav_scripts() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + + +/*-----------------------------------------------------------------------------------*/ +/* Woothemes Custom Navigation Menu Interface +/* woo_custom_navigation() is the main function for the Custom Navigation +/* See functions in admin-functions.php +/*-----------------------------------------------------------------------------------*/ + +function woo_custom_navigation() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +/*-----------------------------------------------------------------------------------*/ +/* WooThemes Custom Navigation Functions */ +/* woo_custom_navigation_output() displays the menu in the back/frontend +/* woo_custom_navigation_sub_items() is a recursive sub menu item function +/* woo_get_pages() +/* woo_get_categories() +/* woo_custom_navigation_default_sub_items() is a recursive sub menu item function +/*-----------------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------------*/ +/* Main Output Function +/* args list +/* type - frontend or backend +/* name - name of your menu +/* id - id of menu in db +/* desc - 1 = show descriptions, 2 = dont show descriptions +/* before_title - html before title is outputted in tag +/* after_title - html after title is outputted in tag +/*-----------------------------------------------------------------------------------*/ + +function woo_custom_navigation_output($args = array()) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); wp_list_pages( 'sort_column=menu_order&depth=6&title_li=&exclude=' ); } + +//RECURSIVE Sub Menu Items +function woo_custom_navigation_sub_items($post_id,$type,$table_name,$output_type,$menu_id = 0,$depth = 0,$depth_counter = 0) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//Checks if any of parent menu items children are the current page +function woo_child_is_current($parent_id, $menu_id, $table_name, $queried_id, $type_settings, $full_web_address) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//Outputs All Pages and Sub Items +function woo_get_pages($counter,$type) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//Outputs All Categories and Sub Items +function woo_get_categories($counter, $type) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//RECURSIVE Sub Menu Items of default categories and pages +function woo_custom_navigation_default_sub_items($childof, $intCounter, $parentli, $type, $output_type) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +/*-----------------------------------------------------------------------------------*/ +/* Recursive get children */ +/*-----------------------------------------------------------------------------------*/ + +function get_children_menu_elements($childof, $intCounter, $parentli, $type, $menu_id, $table_name) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +?> \ No newline at end of file diff --git a/artificer/functions/admin-custom.php b/artificer/functions/admin-custom.php new file mode 100755 index 0000000..8859219 --- /dev/null +++ b/artificer/functions/admin-custom.php @@ -0,0 +1,701 @@ +' . "\n"; + + $output .= '' . "\n"; + } + + if ( $display_general_fields ) { + $output .= woothemes_metabox_create_fields( $woo_metaboxes, $callback, 'general' ); + + } + + // Allow themes/plugins to add tabs to WooFramework custom fields. + $output = apply_filters( 'wooframework_custom_field_tab_content', $output ); + + $output .= '' . "\n"; + + echo $output; +} // End woothemes_metabox_create() + +/** + * woothemes_metabox_create_fields() + * + * Create markup for custom fields based on the given arguments. + * + * @access public + * @since 5.3.0 + * @param array $metaboxes + * @param array $callback + * @param string $token (default: 'general') + * @return string $output + */ +function woothemes_metabox_create_fields ( $metaboxes, $callback, $token = 'general' ) { + global $post; + + if ( ! is_array( $metaboxes ) ) { return; } + + // $template_to_show = $callback['args']; + $template_to_show = $token; + + $output = ''; + + $output .= '
' . "\n"; + $output .= ''."\n"; + foreach ( $metaboxes as $k => $woo_metabox ) { + + // Setup CSS classes to be added to each table row. + $row_css_class = 'woo-custom-field'; + if ( ( $k + 1 ) == count( $metaboxes ) ) { $row_css_class .= ' last'; } + + $woo_id = 'woothemes_' . $woo_metabox['name']; + $woo_name = $woo_metabox['name']; + + if ( function_exists( 'woothemes_content_builder_menu' ) ) { + $metabox_post_type_restriction = $woo_metabox['cpt'][$post->post_type]; + } else { + $metabox_post_type_restriction = 'undefined'; + } + + if ( ( $metabox_post_type_restriction != '' ) && ( $metabox_post_type_restriction == 'true' ) ) { + $type_selector = true; + } elseif ( $metabox_post_type_restriction == 'undefined' ) { + $type_selector = true; + } else { + $type_selector = false; + } + + $woo_metaboxvalue = ''; + + if ( $type_selector ) { + + if( isset( $woo_metabox['type'] ) && ( in_array( $woo_metabox['type'], woothemes_metabox_fieldtypes() ) ) ) { + + $woo_metaboxvalue = get_post_meta($post->ID,$woo_name,true); + + } + + // Make sure slashes are stripped before output. + foreach ( array( 'label', 'desc', 'std' ) as $k ) { + if ( isset( $woo_metabox[$k] ) && ( $woo_metabox[$k] != '' ) ) { + $woo_metabox[$k] = stripslashes( $woo_metabox[$k] ); + } + } + + if ( $woo_metaboxvalue == '' && isset( $woo_metabox['std'] ) ) { + + $woo_metaboxvalue = $woo_metabox['std']; + } + + // Add a dynamic CSS class to each row in the table. + $row_css_class .= ' woo-field-type-' . strtolower( $woo_metabox['type'] ); + + if( $woo_metabox['type'] == 'info' ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + elseif( $woo_metabox['type'] == 'text' ) { + + $add_class = ''; $add_counter = ''; + if($template_to_show == 'seo'){$add_class = 'words-count'; $add_counter = '0 characters, 0 words';} + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + + elseif ( $woo_metabox['type'] == 'textarea' ) { + + $add_class = ''; $add_counter = ''; + if( $template_to_show == 'seo' ){ $add_class = 'words-count'; $add_counter = '0 characters, 0 words'; } + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + + elseif ( $woo_metabox['type'] == 'calendar' ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + + elseif ( $woo_metabox['type'] == 'time' ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + + elseif ( $woo_metabox['type'] == 'time_masked' ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + + elseif ( $woo_metabox['type'] == 'select' ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + } + elseif ( $woo_metabox['type'] == 'select2' ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + } + + elseif ( $woo_metabox['type'] == 'checkbox' ){ + + if( $woo_metaboxvalue == 'true' ) { $checked = ' checked="checked"'; } else { $checked=''; } + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + } + + elseif ( $woo_metabox['type'] == 'radio' ) { + + $array = $woo_metabox['options']; + + if( $array ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + } + } elseif ( $woo_metabox['type'] == 'images' ) { + + $i = 0; + $select_value = ''; + $layout = ''; + + foreach ( $woo_metabox['options'] as $key => $option ) { + $i++; + + $checked = ''; + $selected = ''; + if( $woo_metaboxvalue != '' ) { + if ( $woo_metaboxvalue == $key ) { $checked = ' checked'; $selected = 'woo-meta-radio-img-selected'; } + } + else { + if ( isset( $option['std'] ) && $key == $option['std'] ) { $checked = ' checked'; } + elseif ( $i == 1 ) { $checked = ' checked'; $selected = 'woo-meta-radio-img-selected'; } + else { $checked = ''; } + + } + + $layout .= '
'; + $layout .= ''; + $layout .= ' ' . esc_html($key) . '
'; + $layout .= ''; + } + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + + elseif( $woo_metabox['type'] == 'upload' ) + { + if( isset( $woo_metabox['default'] ) ) $default = $woo_metabox['default']; + else $default = ''; + + // Add support for the WooThemes Media Library-driven Uploader Module // 2010-11-09. + if ( function_exists( 'woothemes_medialibrary_uploader' ) ) { + + $_value = $default; + + $_value = get_post_meta( $post->ID, $woo_metabox['name'], true ); + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } else { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + } + + // Timestamp field. + elseif ( $woo_metabox['type'] == 'timestamp' ) { + $woo_metaboxvalue = get_post_meta($post->ID,$woo_name,true); + + // Default to current UNIX timestamp. + if ( $woo_metaboxvalue == '' ) { + $woo_metaboxvalue = time(); + } + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + } // End IF Statement + } + + $output .= '
'.$woo_metabox['desc'].'
'; + $output .= ''.$woo_metabox['desc'] .' '. $add_counter .'
'; + $output .= ''.$woo_metabox['desc'] .' '. $add_counter.'
'; + $output .= "\t\t" . ''; + $output .= ''.$woo_metabox['desc'].'
'; + $output .= '' . $woo_metabox['desc'] . '
'; + $output .= '' . $woo_metabox['desc'] . '
' . $woo_metabox['desc'] . '
'.$woo_metabox['desc'].'
'; + $output .= ''.$woo_metabox['desc'].'
'; + + foreach ( $array as $id => $option ) { + if($woo_metaboxvalue == $id) { $checked = ' checked'; } else { $checked=''; } + + $output .= ''; + $output .= ''. $option .'
'; + } + $output .= "\t".'
'; + $output .= $layout; + $output .= '' . $woo_metabox['desc'] . '
'. woothemes_medialibrary_uploader( $woo_metabox['name'], $_value, 'postmeta', $woo_metabox['desc'], $post->ID ); + $output .= '
'. woothemes_uploader_custom_fields( $post->ID, $woo_name, $default, $woo_metabox['desc'] ); + $output .= '
'; + + $output .= ' ' . __( '@', 'woothemes' ) . ' '; + + $output .= '' . "\n"; + + $output .= '' . "\n"; + /* + $output .= '' . "\n"; + */ + $output .= ''.$woo_metabox['desc'].'
'."\n\n"; + $output .= '
' . "\n\n"; + + return $output; +} // End woothemes_metabox_create_fields() + +/** + * woothemes_metabox_handle() + * + * Handle the saving of the custom fields. + * + * @access public + * @param int $post_id + * @return void + */ +function woothemes_metabox_handle( $post_id ) { + $pID = ''; + global $globals, $post; + + if ( 'page' == $_POST['post_type'] ) { + if ( ! current_user_can( 'edit_page', $post_id ) ) { + return $post_id; + } + } else { + if ( ! current_user_can( 'edit_post', $post_id ) ) { + return $post_id; + } + } + + $woo_metaboxes = get_option( 'woo_custom_template', array() ); + + // Sanitize post ID. + if( isset( $_POST['post_ID'] ) ) { + $pID = intval( $_POST['post_ID'] ); + } + + // Don't continue if we don't have a valid post ID. + if ( $pID == 0 ) return; + + $upload_tracking = array(); + + if ( isset( $_POST['action'] ) && $_POST['action'] == 'editpost' ) { + if ( ( get_post_type() != '' ) && ( get_post_type() != 'nav_menu_item' ) && wp_verify_nonce( $_POST['wooframework-custom-fields-nonce'], 'wooframework-custom-fields' ) ) { + foreach ( $woo_metaboxes as $k => $woo_metabox ) { // On Save.. this gets looped in the header response and saves the values submitted + if( isset( $woo_metabox['type'] ) && ( in_array( $woo_metabox['type'], woothemes_metabox_fieldtypes() ) ) ) { + $var = $woo_metabox['name']; + + // Get the current value for checking in the script. + $current_value = ''; + $current_value = get_post_meta( $pID, $var, true ); + + if ( isset( $_POST[$var] ) ) { + // Sanitize the input. + $posted_value = ''; + $posted_value = $_POST[$var]; + + // If it doesn't exist, add the post meta. + if(get_post_meta( $pID, $var ) == "") { + add_post_meta( $pID, $var, $posted_value, true ); + } + // Otherwise, if it's different, update the post meta. + elseif( $posted_value != get_post_meta( $pID, $var, true ) ) { + update_post_meta( $pID, $var, $posted_value ); + } + // Otherwise, if no value is set, delete the post meta. + elseif($posted_value == "") { + delete_post_meta( $pID, $var, get_post_meta( $pID, $var, true ) ); + } // End IF Statement + } elseif ( ! isset( $_POST[$var] ) && $woo_metabox['type'] == 'checkbox' ) { + update_post_meta( $pID, $var, 'false' ); + } else { + delete_post_meta( $pID, $var, $current_value ); // Deletes check boxes OR no $_POST + } // End IF Statement + + } else if ( $woo_metabox['type'] == 'timestamp' ) { + // Timestamp save logic. + + // It is assumed that the data comes back in the following format: + // date: month/day/year + // hour: int(2) + // minute: int(2) + // second: int(2) + + $var = $woo_metabox['name']; + + // Format the data into a timestamp. + $date = $_POST[$var]['date']; + + $hour = $_POST[$var]['hour']; + $minute = $_POST[$var]['minute']; + // $second = $_POST[$var]['second']; + $second = '00'; + + $day = substr( $date, 3, 2 ); + $month = substr( $date, 0, 2 ); + $year = substr( $date, 6, 4 ); + + $timestamp = mktime( $hour, $minute, $second, $month, $day, $year ); + + update_post_meta( $pID, $var, $timestamp ); + } elseif( isset( $woo_metabox['type'] ) && $woo_metabox['type'] == 'upload' ) { // So, the upload inputs will do this rather + $id = $woo_metabox['name']; + $override['action'] = 'editpost'; + + if(!empty($_FILES['attachement_'.$id]['name'])){ //New upload + $_FILES['attachement_'.$id]['name'] = preg_replace( '/[^a-zA-Z0-9._\-]/', '', $_FILES['attachement_'.$id]['name']); + $uploaded_file = wp_handle_upload($_FILES['attachement_' . $id ],$override); + $uploaded_file['option_name'] = $woo_metabox['label']; + $upload_tracking[] = $uploaded_file; + update_post_meta( $pID, $id, $uploaded_file['url'] ); + } elseif ( empty( $_FILES['attachement_'.$id]['name'] ) && isset( $_POST[ $id ] ) ) { + // Sanitize the input. + $posted_value = ''; + $posted_value = $_POST[$id]; + + update_post_meta($pID, $id, $posted_value); + } elseif ( $_POST[ $id ] == '' ) { + delete_post_meta( $pID, $id, get_post_meta( $pID, $id, true ) ); + } // End IF Statement + + } // End IF Statement + + // Error Tracking - File upload was not an Image + update_option( 'woo_custom_upload_tracking', $upload_tracking ); + } // End FOREACH Loop + } + } +} // End woothemes_metabox_handle() + +/** + * woothemes_metabox_add() + * + * Add meta boxes for the WooFramework's custom fields. + * + * @access public + * @since 1.0.0 + * @return void + */ +function woothemes_metabox_add () { + $woo_metaboxes = get_option( 'woo_custom_template', array() ); + if ( function_exists( 'add_meta_box' ) ) { + if ( function_exists( 'get_post_types' ) ) { + $custom_post_list = get_post_types(); + // Get the theme name for use in multiple meta boxes. + $theme_name = get_option( 'woo_themename' ); + + foreach ( $custom_post_list as $type ) { + + $settings = array( + 'id' => 'woothemes-settings', + 'title' => sprintf( __( '%s Custom Settings', 'woothemes' ), $theme_name ), + 'callback' => 'woothemes_metabox_create', + 'page' => $type, + 'priority' => 'normal', + 'callback_args' => '' + ); + + // Allow child themes/plugins to filter these settings. + $settings = apply_filters( 'woothemes_metabox_settings', $settings, $type, $settings['id'] ); + add_meta_box( $settings['id'], $settings['title'], $settings['callback'], $settings['page'], $settings['priority'], $settings['callback_args'] ); + // if(!empty($woo_metaboxes)) Temporarily Removed + } + } else { + add_meta_box( 'woothemes-settings', sprintf( __( '%s Custom Settings', 'woothemes' ), $theme_name ), 'woothemes_metabox_create', 'post', 'normal' ); + add_meta_box( 'woothemes-settings', sprintf( __( '%s Custom Settings', 'woothemes' ), $theme_name ), 'woothemes_metabox_create', 'page', 'normal' ); + } + } +} // End woothemes_metabox_add() + +/** + * woothemes_metabox_fieldtypes() + * + * Return a filterable array of supported field types. + * + * @access public + * @author Matty + * @return void + */ +function woothemes_metabox_fieldtypes() { + return apply_filters( 'woothemes_metabox_fieldtypes', array( 'text', 'calendar', 'time', 'time_masked', 'select', 'select2', 'radio', 'checkbox', 'textarea', 'images' ) ); +} // End woothemes_metabox_fieldtypes() + +/** + * woothemes_uploader_custom_fields() + * + * Create markup for outputting the custom upload field as a custom field. + * + * @access public + * @param int $pID + * @param string $id + * @param string $std + * @param string $desc + * @return void + */ +function woothemes_uploader_custom_fields( $pID, $id, $std, $desc ) { + $upload = get_post_meta( $pID, $id, true ); + $href = cleanSource( $upload ); + $uploader = ''; + $uploader .= ''; + $uploader .= '
'."\n"; + $uploader .= ''; + $uploader .= ''; + if ( $href ) + $uploader .= '' . $desc . '' . "\n" . ''; + +return $uploader; +} // End woothemes_uploader_custom_fields() + +if ( ! function_exists( 'woo_custom_enqueue' ) ) { +/** + * woo_custom_enqueue() + * + * Enqueue JavaScript files used with the custom fields. + * + * @access public + * @param string $hook + * @since 2.6.0 + * @return void + */ +function woo_custom_enqueue ( $hook ) { + wp_register_script( 'jquery-ui-datepicker', get_template_directory_uri() . '/functions/js/ui.datepicker.js', array( 'jquery-ui-core' ) ); + wp_register_script( 'jquery-input-mask', get_template_directory_uri() . '/functions/js/jquery.maskedinput.js', array( 'jquery' ), '1.3' ); + wp_register_script( 'woo-custom-fields', get_template_directory_uri() . '/functions/js/woo-custom-fields.js', array( 'jquery', 'jquery-ui-tabs' ) ); + + if ( in_array( $hook, array( 'post.php', 'post-new.php', 'page-new.php', 'page.php' ) ) ) { + wp_enqueue_script( 'jquery-ui-datepicker' ); + wp_enqueue_script( 'jquery-input-mask' ); + wp_enqueue_script( 'woo-custom-fields' ); + } +} // End woo_custom_enqueue() +} + +if ( ! function_exists( 'woo_custom_enqueue_css' ) ) { +/** + * woo_custom_enqueue_css() + * + * Enqueue CSS files used with the custom fields. + * + * @access public + * @author Matty + * @since 4.8.0 + * @return void + */ +function woo_custom_enqueue_css () { + global $pagenow; + wp_register_style( 'woo-custom-fields', get_template_directory_uri() . '/functions/css/woo-custom-fields.css' ); + wp_register_style( 'jquery-ui-datepicker', get_template_directory_uri() . '/functions/css/jquery-ui-datepicker.css' ); + + if ( in_array( $pagenow, array( 'post.php', 'post-new.php', 'page-new.php', 'page.php' ) ) ) { + wp_enqueue_style( 'woo-custom-fields' ); + wp_enqueue_style( 'jquery-ui-datepicker' ); + } +} // End woo_custom_enqueue_css() +} + +/** + * Specify action hooks for the functions above. + * + * @access public + * @since 1.0.0 + * @return void + */ +add_action( 'admin_enqueue_scripts', 'woo_custom_enqueue', 10, 1 ); +add_action( 'admin_print_styles', 'woo_custom_enqueue_css', 10 ); +add_action( 'edit_post', 'woothemes_metabox_handle', 10 ); +add_action( 'admin_menu', 'woothemes_metabox_add', 10 ); // Triggers woothemes_metabox_create() +?> \ No newline at end of file diff --git a/artificer/functions/admin-express-functions-deprecated.php b/artificer/functions/admin-express-functions-deprecated.php new file mode 100755 index 0000000..578e164 --- /dev/null +++ b/artificer/functions/admin-express-functions-deprecated.php @@ -0,0 +1,389 @@ + + '', 'taxonomy' => '' ) + */ +function set_new_taxonomy_tag($post_id, $fields) { + $post_id = (int) $post_id; + + foreach ( (array) $fields as $tax ) { + if ( isset($tax['id']) ) { + $tax['id'] = (int) $tax['id']; + + if ( isset($tax['taxonomy']) ) { + wp_set_post_terms($tax['id'], $tax['tags'], $tax['taxonomy']); + } + } + elseif ($post_id != '') { + if ( isset($tax['taxonomy']) ) { + wp_set_post_terms($post_id, $tax['tags'], $tax['taxonomy']); + } + } + } +} + + +/* + * Express version + * + * Returns the API version number for future compatibility consideration + * + */ + +function express_version() { + return "1.0"; +} + + +/* + * Get Posts With Offset + * + * Returns in a specific range to enable paging. + * + */ + +function express_getPostsWithOffset($args){ + global $wpdb; + global $wp_xmlrpc_server; + + $wp_xmlrpc_server->escape($args); + + $blog_ID = (int) $args[0]; + $username = $args[1]; + $password = $args[2]; + $num_posts = (int) $args[3]; + $offset = (int) $args[4]; + $status = $args[5]; + + if ( !$user = $wp_xmlrpc_server->login($username, $password) ) + return $wp_xmlrpc_server->error; + + do_action( 'xmlrpc_call', 'metaWeblog.getRecentPosts' ); + + // -- Added code + if ($status == '') $statuses = "'draft', 'publish', 'future', 'pending', 'private'"; + else { + $status_array = explode( ",", $status); + $statuses = "'".implode( "','",$status_array)."'"; + } + + $sql = "SELECT * FROM $wpdb->posts WHERE post_type = 'post' AND post_status IN ( $statuses ) ORDER BY post_date DESC LIMIT $offset,$num_posts"; + $result = $wpdb->get_results($sql, ARRAY_A); + $posts_list = $result ? $result : array(); + // End added code -- + + if (!$posts_list) { + return array( ); + } + + foreach ($posts_list as $entry) { + if( !current_user_can( 'edit_post', $entry['ID'] ) ) + continue; + + $post_date = mysql2date( 'Ymd\TH:i:s', $entry['post_date'], false); + $post_date_gmt = mysql2date( 'Ymd\TH:i:s', $entry['post_date_gmt'], false); + + // For drafts use the GMT version of the date + if ( $entry['post_status'] == 'draft' ) { + $post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_date'] ), 'Ymd\TH:i:s' ); + } + + $categories = array(); + $catids = wp_get_post_categories($entry['ID']); + foreach($catids as $catid) { + $categories[] = get_cat_name($catid); + } + + $tagnames = array(); + $tags = wp_get_post_tags( $entry['ID'] ); + if ( !empty( $tags ) ) { + foreach ( $tags as $tag ) { + $tagnames[] = $tag->name; + } + $tagnames = implode( ', ', $tagnames ); + } else { + $tagnames = ''; + } + + $post = get_extended($entry['post_content']); + $link = post_permalink($entry['ID']); + + // Get the post author info. + $author = get_userdata($entry['post_author']); + + $allow_comments = ( 'open' == $entry['comment_status']) ? 1 : 0; + $allow_pings = ( 'open' == $entry['ping_status']) ? 1 : 0; + + // Consider future posts as published + if( $entry['post_status'] === 'future' ) { + $entry['post_status'] = 'publish'; + } + + $struct[] = array( + 'dateCreated' => new IXR_Date($post_date), + 'userid' => $entry['post_author'], + 'postid' => $entry['ID'], + 'description' => $post['main'], + 'title' => $entry['post_title'], + 'link' => $link, + 'permaLink' => $link, + // commented out because no other tool seems to use this + // 'content' => $entry['post_content'], + 'categories' => $categories, + 'mt_excerpt' => $entry['post_excerpt'], + 'mt_text_more' => $post['extended'], + 'mt_allow_comments' => $allow_comments, + 'mt_allow_pings' => $allow_pings, + 'mt_keywords' => $tagnames, + 'wp_slug' => $entry['post_name'], + 'wp_password' => $entry['post_password'], + 'wp_author_id' => $author->ID, + 'wp_author_display_name' => $author->display_name, + 'date_created_gmt' => new IXR_Date($post_date_gmt), + 'post_status' => $entry['post_status'], + 'custom_fields' => $wp_xmlrpc_server->get_custom_fields($entry['ID']) + ); + + } + + $recent_posts = array(); + for ($j=0; $jescape($args[1]); + $password = $wpdb->escape($args[2]); + $data = $args[3]; + + $name = sanitize_file_name( $data['name'] ); + $type = $data['type']; + $bits = $data['bits']; + + logIO( 'O', '(MW) Received '.strlen($bits).' bytes' ); + + if ( !$user = $wp_xmlrpc_server->login($username, $password) ) + return $wp_xmlrpc_server->error; + + do_action( 'xmlrpc_call', 'metaWeblog.newMediaObject' ); + + if ( !current_user_can( 'upload_files') ) { + logIO( 'O', '(MW) User does not have upload_files capability' ); + return new IXR_Error(401, __( 'You are not allowed to upload files to this site.', 'woothemes')); + } + + if ( $upload_err = apply_filters( "pre_upload_error", false ) ) + return new IXR_Error(500, $upload_err); + + if(!empty($data["overwrite"]) && ($data["overwrite"] == true)) { + // Get postmeta info on the object. + $old_file = $wpdb->get_row( " + SELECT ID + FROM {$wpdb->posts} + WHERE post_title = '{$name}' + AND post_type = 'attachment' + " ); + + // Delete previous file. + wp_delete_attachment($old_file->ID); + + // Make sure the new name is different by pre-pending the + // previous post id. + $filename = preg_replace( "/^wpid\d+-/", "", $name); + $name = "wpid{$old_file->ID}-{$filename}"; + } + + $upload = wp_upload_bits($name, $type, $bits); + if ( ! empty($upload['error']) ) { + $errorString = sprintf(__( 'Could not write file %1$s (%2$s)', 'woothemes'), $name, $upload['error']); + logIO( 'O', '(MW) ' . $errorString); + return new IXR_Error(500, $errorString); + } + // Construct the attachment array + // attach to post_id 0 + $post_id = 0; + $attachment = array( + 'post_title' => $name, + 'post_content' => '', + 'post_type' => 'attachment', + 'post_parent' => $post_id, + 'post_mime_type' => $type, + 'guid' => $upload[ 'url' ] + ); + + // Save the data + $id = wp_insert_attachment( $attachment, $upload[ 'file' ], $post_id ); + wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $upload['file'] ) ); + + return apply_filters( 'wp_handle_upload', array( 'file' => $name, 'url' => $upload[ 'url' ], 'type' => $type , 'id' => $id ) ); +} + + +/* + * Woo taxonomy + * + * Set the proper taxonomy + * + */ + +function express_woo_taxonomy($args) { + $content_struct = $args[3]; + + // Re-assign the taxonomies so they are compatible with WooThemes themes + $taxonomies = $content_struct['taxonomy']; + if (is_array($taxonomies)) { + $new_taxonomy = array(); + $woo_tags = array(); + foreach ($taxonomies as $taxonomy) { + if ($taxonomy['taxonomy'] == 'tumblog') { + foreach ($taxonomy['tags'] as $tag) { + switch (strtolower($tag)) { + case 'note': + $woo_tags[] = get_option( 'woo_articles_term_id' ); + break; + case 'link': + $woo_tags[] = get_option( 'woo_links_term_id' ); + break; + case 'quote': + $woo_tags[] = get_option( 'woo_quotes_term_id' ); + break; + case 'image': + $woo_tags[] = get_option( 'woo_images_term_id' ); + break; + default: + $woo_tags[] = $tag; + break; + } + } + $taxonomy['tags'] = implode( ',', $woo_tags); + } + $new_taxonomy[] = $taxonomy; + } + $content_struct['taxonomy'] = $new_taxonomy; + $args[3] = $content_struct; + } + + return $args; +} + + +/* + * New post + * + * Sets post attachements if specified + * Sets post custom taxonomy + * + */ + +function express_newPost($args) { + global $wp_xmlrpc_server; + + $args = express_woo_taxonomy($args); + + $result = $wp_xmlrpc_server->mw_newPost($args); + $post_ID = intval($result); + if ($post_ID == 0) return $result; + + $content_struct = $args[3]; + + // Insert taxonomies + if ( isset($content_struct['taxonomy']) ) { + set_new_taxonomy_tag($post_ID, $content_struct['taxonomy']); + } + + // Add new attachments + $attachments = $content_struct['attachments']; + if (is_array($attachments)) { + foreach ($attachments as $attachment_ID) { + $attachment_post = get_post($attachment_ID,ARRAY_A); + extract($attachment_post, EXTR_SKIP); + $post_parent = $post_ID; + $postdata = compact( 'ID', 'post_parent', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt' ); + wp_update_post($postdata); + } + } + + return $result; +} + + +/* + * Edit post + * + * Sets post attachements if specified + * Sets post custom taxonomy + * + */ + +function express_editPost($args) { + global $wp_xmlrpc_server; + + $args = express_woo_taxonomy($args); + + $result = $wp_xmlrpc_server->mw_editPost($args); + if ($result == false) return false; + + // Insert taxonomies + if ( isset($content_struct['taxonomy']) ) { + set_new_taxonomy_tag($post_ID, $content_struct['taxonomy']); + } + + // TODO: Remove old attachments + + + // Add new attachments + $post_ID = (int)$args[0]; + $content_struct = $args[3]; + $attachments = $content_struct['attachments']; + if (is_array($attachments)) { + foreach ($attachments as $attachment_ID) { + $attachment_post = get_post($attachment_ID,ARRAY_A); + extract($attachment_post, EXTR_SKIP); + $post_parent = $post_ID; + $postdata = compact( 'ID', 'post_parent', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt' ); + wp_update_post($postdata); + } + } + + return true; +} + + +add_filter( 'xmlrpc_methods', 'attach_express_methods' ); + +function attach_express_methods($methods) { + $methods['express.version'] = 'express_version'; + $methods['express.getPostsWithOffset'] = 'express_getPostsWithOffset'; + $methods['express.uploadFile'] = 'express_uploadFile'; + $methods['express.newPost'] = 'express_newPost'; + $methods['express.editPost'] = 'express_editPost'; + return $methods; +} + +?> \ No newline at end of file diff --git a/artificer/functions/admin-express-functions.php b/artificer/functions/admin-express-functions.php new file mode 100755 index 0000000..0faa3ab --- /dev/null +++ b/artificer/functions/admin-express-functions.php @@ -0,0 +1,465 @@ + + '', 'taxonomy' => '' ) + */ +function set_new_taxonomy_tag($post_id, $fields) { + $post_id = (int) $post_id; + + foreach ( (array) $fields as $tax ) { + if ( isset($tax['id']) ) { + $tax['id'] = (int) $tax['id']; + + if ( isset($tax['taxonomy']) ) { + wp_set_post_terms($tax['id'], $tax['tags'], $tax['taxonomy']); + } + } + elseif ($post_id != '') { + if ( isset($tax['taxonomy']) ) { + wp_set_post_terms($post_id, $tax['tags'], $tax['taxonomy']); + } + } + } +} + + +/* + * Express version + * + * Returns the API version number for future compatibility consideration + * + */ + +function express_version() { + return "1.0"; +} + + +/* + * Get Posts With Offset + * + * Returns in a specific range to enable paging. + * + */ + +function express_getPostsWithOffset($args){ + global $wpdb; + global $wp_xmlrpc_server; + + $wp_xmlrpc_server->escape($args); + + $blog_ID = (int) $args[0]; + $username = $args[1]; + $password = $args[2]; + $num_posts = (int) $args[3]; + $offset = (int) $args[4]; + $status = $args[5]; + + if ( !$user = $wp_xmlrpc_server->login($username, $password) ) + return $wp_xmlrpc_server->error; + + do_action('xmlrpc_call', 'metaWeblog.getRecentPosts'); + + // -- Added code + if ($status == '') $statuses = "'draft', 'publish', 'future', 'pending', 'private'"; + else { + $status_array = explode(",", $status); + $statuses = "'".implode("','",$status_array)."'"; + } + + $sql = "SELECT * FROM $wpdb->posts WHERE post_type = 'post' AND post_status IN ( $statuses ) ORDER BY post_date DESC LIMIT $offset,$num_posts"; + $result = $wpdb->get_results($sql, ARRAY_A); + $posts_list = $result ? $result : array(); + // End added code -- + + if (!$posts_list) { + return array( ); + } + + foreach ($posts_list as $entry) { + if( !current_user_can( 'edit_post', $entry['ID'] ) ) + continue; + + $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false); + $post_date_gmt = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt'], false); + + // For drafts use the GMT version of the date + if ( $entry['post_status'] == 'draft' ) { + $post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_date'] ), 'Ymd\TH:i:s' ); + } + + $categories = array(); + $catids = wp_get_post_categories($entry['ID']); + foreach($catids as $catid) { + $categories[] = get_cat_name($catid); + } + + $tagnames = array(); + $tags = wp_get_post_tags( $entry['ID'] ); + if ( !empty( $tags ) ) { + foreach ( $tags as $tag ) { + $tagnames[] = $tag->name; + } + $tagnames = implode( ', ', $tagnames ); + } else { + $tagnames = ''; + } + + $post = get_extended($entry['post_content']); + $link = post_permalink($entry['ID']); + + // Get the post author info. + $author = get_userdata($entry['post_author']); + + $allow_comments = ('open' == $entry['comment_status']) ? 1 : 0; + $allow_pings = ('open' == $entry['ping_status']) ? 1 : 0; + + // Consider future posts as published + if( $entry['post_status'] === 'future' ) { + $entry['post_status'] = 'publish'; + } + + $struct[] = array( + 'dateCreated' => new IXR_Date($post_date), + 'userid' => $entry['post_author'], + 'postid' => $entry['ID'], + 'description' => $post['main'], + 'title' => $entry['post_title'], + 'link' => $link, + 'permaLink' => $link, + // commented out because no other tool seems to use this + // 'content' => $entry['post_content'], + 'categories' => $categories, + 'mt_excerpt' => $entry['post_excerpt'], + 'mt_text_more' => $post['extended'], + 'mt_allow_comments' => $allow_comments, + 'mt_allow_pings' => $allow_pings, + 'mt_keywords' => $tagnames, + 'wp_slug' => $entry['post_name'], + 'wp_password' => $entry['post_password'], + 'wp_author_id' => $author->ID, + 'wp_author_display_name' => $author->display_name, + 'date_created_gmt' => new IXR_Date($post_date_gmt), + 'post_status' => $entry['post_status'], + 'custom_fields' => $wp_xmlrpc_server->get_custom_fields($entry['ID']) + ); + + } + + $recent_posts = array(); + for ($j=0; $jescape($args[1]); + $password = $wpdb->escape($args[2]); + $data = $args[3]; + + $name = sanitize_file_name( $data['name'] ); + $type = $data['type']; + $bits = $data['bits']; + + logIO('O', '(MW) Received '.strlen($bits).' bytes'); + + if ( !$user = $wp_xmlrpc_server->login($username, $password) ) + return $wp_xmlrpc_server->error; + + do_action('xmlrpc_call', 'metaWeblog.newMediaObject'); + + if ( !current_user_can('upload_files') ) { + logIO('O', '(MW) User does not have upload_files capability'); + return new IXR_Error(401, __('You are not allowed to upload files to this site.', 'woothemes')); + } + + if ( $upload_err = apply_filters( "pre_upload_error", false ) ) + return new IXR_Error(500, $upload_err); + + if(!empty($data["overwrite"]) && ($data["overwrite"] == true)) { + // Get postmeta info on the object. + $old_file = $wpdb->get_row(" + SELECT ID + FROM {$wpdb->posts} + WHERE post_title = '{$name}' + AND post_type = 'attachment' + "); + + // Delete previous file. + wp_delete_attachment($old_file->ID); + + // Make sure the new name is different by pre-pending the + // previous post id. + $filename = preg_replace("/^wpid\d+-/", "", $name); + $name = "wpid{$old_file->ID}-{$filename}"; + } + + $upload = wp_upload_bits($name, $type, $bits); + if ( ! empty($upload['error']) ) { + $errorString = sprintf(__('Could not write file %1$s (%2$s)', 'woothemes'), $name, $upload['error']); + logIO('O', '(MW) ' . $errorString); + return new IXR_Error(500, $errorString); + } + // Construct the attachment array + // attach to post_id 0 + $post_id = 0; + $attachment = array( + 'post_title' => $name, + 'post_content' => '', + 'post_type' => 'attachment', + 'post_parent' => $post_id, + 'post_mime_type' => $type, + 'guid' => $upload[ 'url' ] + ); + + // Save the data + $id = wp_insert_attachment( $attachment, $upload[ 'file' ], $post_id ); + wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $upload['file'] ) ); + + return apply_filters( 'wp_handle_upload', array( 'file' => $name, 'url' => $upload[ 'url' ], 'type' => $type , 'id' => $id ) ); +} + + +/* + * Woo taxonomy + * + * Set the proper taxonomy + * + */ + +function express_woo_taxonomy($args) { + $content_struct = $args[3]; + + // Re-assign the taxonomies so they are compatible with WooThemes themes + $taxonomies = $content_struct['taxonomy']; + if (is_array($taxonomies)) { + $new_taxonomy = array(); + $woo_tags = array(); + foreach ($taxonomies as $taxonomy) { + if ($taxonomy['taxonomy'] == 'tumblog') { + foreach ($taxonomy['tags'] as $tag) { + switch (strtolower($tag)) { + case 'note': + $woo_tags[] = get_option('woo_articles_term_id'); + break; + case 'link': + $woo_tags[] = get_option('woo_links_term_id'); + break; + case 'quote': + $woo_tags[] = get_option('woo_quotes_term_id'); + break; + case 'image': + $woo_tags[] = get_option('woo_images_term_id'); + break; + default: + $woo_tags[] = $tag; + break; + } + } + $taxonomy['tags'] = implode(',', $woo_tags); + } + $new_taxonomy[] = $taxonomy; + } + $content_struct['taxonomy'] = $new_taxonomy; + $args[3] = $content_struct; + } + + return $args; +} + + +/* + * Woo Post Formats + * + * Set the proper post format + * + */ + +function express_woo_post_format($args) { + $content_struct = $args[3]; + + // Convert the taxonomies to post formats + $taxonomies = $content_struct['taxonomy']; + if (is_array($taxonomies)) { + $post_format = ''; + foreach ($taxonomies as $taxonomy) { + if ($taxonomy['taxonomy'] == 'tumblog') { + foreach ($taxonomy['tags'] as $tag) { + switch (strtolower($tag)) { + case 'note': + $post_format = 'aside'; + break; + case 'link': + $post_format = 'link'; + break; + case 'quote': + $post_format = 'quote'; + break; + case 'image': + $post_format = 'image'; + break; + default: + $post_format = 'default'; + break; + } + } + } + } + $content_struct['taxonomy'] = ''; + $content_struct['wp_post_format'] = $post_format; + $args[3] = $content_struct; + } + + return $args; +} + + +/* + * New post + * + * Sets post attachements if specified + * Sets post custom taxonomy or post format + * + */ + +function express_newPost($args) { + global $wp_xmlrpc_server; + + if (get_option('woo_tumblog_content_method') == 'post_format') { + $args = express_woo_post_format($args); + } + else { + $args = express_woo_taxonomy($args); + } + + $result = $wp_xmlrpc_server->mw_newPost($args); + $post_ID = intval($result); + if ($post_ID == 0) return $result; + + $content_struct = $args[3]; + + // Insert taxonomies + if (get_option('woo_tumblog_content_method') != 'post_format') { + if ( isset($content_struct['taxonomy']) ) { + set_new_taxonomy_tag($post_ID, $content_struct['taxonomy']); + } + } + + // Add new attachments + $attachments = $content_struct['attachments']; + if (is_array($attachments)) { + foreach ($attachments as $attachment_ID) { + $attachment_post = get_post($attachment_ID,ARRAY_A); + extract($attachment_post, EXTR_SKIP); + $post_parent = $post_ID; + $postdata = compact('ID', 'post_parent', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt'); + wp_update_post($postdata); + } + } + + return $result; +} + + +/* + * Edit post + * + * Sets post attachements if specified + * Sets post custom taxonomy or post format + * + */ + +function express_editPost($args) { + global $wp_xmlrpc_server; + + if (get_option('woo_tumblog_content_method') == 'post_format') { + $args = express_woo_post_format($args); + } + else { + $args = express_woo_taxonomy($args); + } + + $result = $wp_xmlrpc_server->mw_editPost($args); + if ($result == false) return false; + + // Insert taxonomies + if (get_option('woo_tumblog_content_method') != 'post_format') { + if ( isset($content_struct['taxonomy']) ) { + set_new_taxonomy_tag($post_ID, $content_struct['taxonomy']); + } + } + + // TODO: Remove old attachments + + + // Add new attachments + $post_ID = (int)$args[0]; + $content_struct = $args[3]; + $attachments = $content_struct['attachments']; + if (is_array($attachments)) { + foreach ($attachments as $attachment_ID) { + $attachment_post = get_post($attachment_ID,ARRAY_A); + extract($attachment_post, EXTR_SKIP); + $post_parent = $post_ID; + $postdata = compact('ID', 'post_parent', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt'); + wp_update_post($postdata); + } + } + + return true; +} + + +add_filter('xmlrpc_methods', 'attach_express_methods'); + +function attach_express_methods($methods) { + $methods['express.version'] = 'express_version'; + $methods['express.getPostsWithOffset'] = 'express_getPostsWithOffset'; + $methods['express.uploadFile'] = 'express_uploadFile'; + $methods['express.newPost'] = 'express_newPost'; + $methods['express.editPost'] = 'express_editPost'; + return $methods; +} + +?> \ No newline at end of file diff --git a/artificer/functions/admin-framework-settings.php b/artificer/functions/admin-framework-settings.php new file mode 100755 index 0000000..1e5ba7e --- /dev/null +++ b/artificer/functions/admin-framework-settings.php @@ -0,0 +1,267 @@ + + __( 'Admin Settings', 'woothemes' ), + 'icon' => 'general', + 'type' => 'heading' ); + + $framework_options[] = array( 'name' => __( 'Super User (username)', 'woothemes' ), + 'desc' => sprintf( __( 'Enter your %s to hide the Framework Settings and Update Framework from other users. Can be reset from the %s under %s.', 'woothemes' ), '' . __( 'username', 'woothemes' ) . '', '' . __( 'WP options page', 'woothemes' ) . '', 'framework_woo_super_user' ), + 'id' => $shortname . '_super_user', + 'std' => '', + 'class' => 'text', + 'type' => 'text' ); + + $framework_options[] = array( 'name' => __( 'Disable Backup Settings Menu Item', 'woothemes' ), + 'desc' => sprintf( __( 'Disable the %s menu item in the theme menu.', 'woothemes' ), '' . __( 'Backup Settings', 'woothemes' ) . '' ), + 'id' => $shortname . '_backupmenu_disable', + 'std' => '', + 'type' => 'checkbox' ); + + $framework_options[] = array( 'name' => __( 'Theme Update Notification', 'woothemes' ), + 'desc' => __( 'This will enable notices on your theme options page that there is an update available for your theme.', 'woothemes' ), + 'id' => $shortname . '_theme_version_checker', + 'std' => '', + 'type' => 'checkbox' ); + + $framework_options[] = array( 'name' => __( 'WooFramework Update Notification', 'woothemes' ), + 'desc' => __( 'This will enable notices on your theme options page that there is an update available for the WooFramework.', 'woothemes' ), + 'id' => $shortname . '_framework_version_checker', + 'std' => '', + 'type' => 'checkbox' ); + + $framework_options[] = array( 'name' => __( 'Theme Settings', 'woothemes' ), + 'icon' => 'general', + 'type' => 'heading' ); + + $framework_options[] = array( 'name' => __( 'Remove Generator Meta Tags', 'woothemes' ), + 'desc' => __( 'This disables the output of generator meta tags in the HEAD section of your site.', 'woothemes' ), + 'id' => $shortname . '_disable_generator', + 'std' => '', + 'type' => 'checkbox' ); + + $framework_options[] = array( 'name' => __( 'Image Placeholder', 'woothemes' ), + 'desc' => __( 'Set a default image placeholder for your thumbnails. Use this if you want a default image to be shown if you haven\'t added a custom image to your post.', 'woothemes' ), + 'id' => $shortname . '_default_image', + 'std' => '', + 'type' => 'upload' ); + + $framework_options[] = array( 'name' => __( 'Disable Shortcodes Stylesheet', 'woothemes' ), + 'desc' => __( 'This disables the output of shortcodes.css in the HEAD section of your site.', 'woothemes' ), + 'id' => $shortname . '_disable_shortcodes', + 'std' => '', + 'type' => 'checkbox' ); + + $framework_options[] = array( 'name' => __( 'Output "Tracking Code" Option in Header', 'woothemes' ), + 'desc' => sprintf( __( 'This will output the %s option in your header instead of the footer of your website.', 'woothemes' ), '' . __( 'Tracking Code', 'woothemes' ) . '' ), + 'id' => $shortname . '_move_tracking_code', + 'std' => 'false', + 'type' => 'checkbox' ); + + $framework_options[] = array( 'name' => __( 'Branding', 'woothemes' ), + 'icon' => 'misc', + 'type' => 'heading' ); + + $framework_options[] = array( 'name' => __( 'Options panel header', 'woothemes' ), + 'desc' => __( 'Change the header image for the WooThemes Backend.', 'woothemes' ), + 'id' => $shortname . '_backend_header_image', + 'std' => '', + 'type' => 'upload' ); + + $framework_options[] = array( 'name' => __( 'Options panel icon', 'woothemes' ), + 'desc' => __( 'Change the icon image for the WordPress backend sidebar.', 'woothemes' ), + 'id' => $shortname . '_backend_icon', + 'std' => '', + 'type' => 'upload' ); + + $framework_options[] = array( 'name' => __( 'WordPress login logo', 'woothemes' ), + 'desc' => __( 'Change the logo image for the WordPress login page.', 'woothemes' ) . '

' . __( 'Optimal logo size is 274x63px', 'woothemes' ), + 'id' => $shortname . '_custom_login_logo', + 'std' => '', + 'type' => 'upload' ); + + $framework_options[] = array( 'name' => __( 'WordPress login URL', 'woothemes' ), + 'desc' => __( 'Change the URL that the logo image on the WordPress login page links to.', 'woothemes' ), + 'id' => $shortname . '_custom_login_logo_url', + 'std' => '', + 'class' => 'text', + 'type' => 'text' ); + + $framework_options[] = array( 'name' => __( 'WordPress login logo Title', 'woothemes' ), + 'desc' => __( 'Change the title of the logo image on the WordPress login page.', 'woothemes' ), + 'id' => $shortname . '_custom_login_logo_title', + 'std' => '', + 'class' => 'text', + 'type' => 'text' ); + +/* + $framework_options[] = array( 'name' => __( 'Font Stacks (Beta)', 'woothemes' ), + 'icon' => 'typography', + 'type' => 'heading' ); + + $framework_options[] = array( 'name' => __( 'Font Stack Builder', 'woothemes' ), + 'desc' => __( 'Use the font stack builder to add your own custom font stacks to your theme. + To create a new stack, fill in the name and a CSS ready font stack. + Once you have added a stack you can select it from the font menu on any of the + Typography settings in your theme options.', 'woothemes' ), + 'id' => $shortname . '_font_stack', + 'std' => 'Added Font Stacks', + 'type' => 'string_builder" ); +*/ + + global $wp_version; + + if ( $wp_version >= '3.1' ) { + + $framework_options[] = array( 'name' => __( 'WordPress Toolbar', 'woothemes' ), + 'icon' => 'header', + 'type' => 'heading' ); + + $framework_options[] = array( 'name' => __( 'Disable WordPress Toolbar', 'woothemes' ), + 'desc' => __( 'Disable the WordPress Toolbar.', 'woothemes' ), + 'id' => $shortname . '_admin_bar_disable', + 'std' => '', + 'type' => 'checkbox' ); + + $framework_options[] = array( 'name' => __( 'Enable the WooFramework Toolbar enhancements', 'woothemes' ), + 'desc' => __( 'Enable several WooFramework-specific enhancements to the WordPress Toolbar, such as custom navigation items for "Theme Options".', 'woothemes' ), + 'id' => $shortname . '_admin_bar_enhancements', + 'std' => '', + 'type' => 'checkbox' ); + + } + + // PressTrends Integration + if ( defined( 'WOO_PRESSTRENDS_THEMEKEY' ) ) { + $framework_options[] = array( 'name' => __( 'PressTrends', 'woothemes' ), + 'icon' => 'presstrends', + 'type' => 'heading' ); + + $framework_options[] = array( 'name' => __( 'Enable PressTrends Tracking', 'woothemes' ), + 'desc' => __( 'Enable sending of usage data to PressTrends.', 'woothemes' ), + 'id' => $shortname . '_presstrends_enable', + 'std' => 'false', + 'type' => 'checkbox' ); + + $framework_options[] = array( 'name' => __( 'What is PressTrends?', 'woothemes' ), + 'desc' => '', + 'id' => $shortname . '_presstrends_info', + 'std' => sprintf( __( 'PressTrends is a simple usage tracker that allows us to see how our customers are using WooThemes themes - so that we can help improve them for you. %sNone%s of your personal data is sent to PressTrends.%sFor more information, please view the PressTrends %s.', 'woothemes' ), '', '', '

', '' . __( 'privacy policy', 'woothemes' ) . '' ), + 'type' => 'info' ); + } + + update_option( 'woo_framework_template', $framework_options ); + + ?> + +
+ +
+
+
+ + + + + + +
+
+
    + +
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
+ + +
+ +
+
+ \ No newline at end of file diff --git a/artificer/functions/admin-functions.php b/artificer/functions/admin-functions.php new file mode 100755 index 0000000..a5659eb --- /dev/null +++ b/artificer/functions/admin-functions.php @@ -0,0 +1,3210 @@ + +ID; + } + + $thumb_id = esc_html( get_post_meta( $id, '_thumbnail_id', true ) ); + + // Set alignment + if ( $alignment == '' ) + $alignment = esc_html( get_post_meta( $id, '_image_alignment', true ) ); + + // Get standard sizes + if ( ! $width && ! $height ) { + $width = '100'; + $height = '100'; + } + + // Cast $width and $height to integer + $width = intval( $width ); + $height = intval( $height ); + + /* ------------------------------------------------------------------------- */ + /* FIND IMAGE TO USE */ + /* ------------------------------------------------------------------------- */ + + // When a custom image is sent through + if ( $src != '' ) { + $custom_field = esc_url( $src ); + $link = 'img'; + + // WP 2.9 Post Thumbnail support + } elseif ( get_option( 'woo_post_image_support' ) == 'true' && ! empty( $thumb_id ) ) { + + if ( get_option( 'woo_pis_resize' ) == 'true' ) { + + if ( 0 == $height ) { + $img_data = wp_get_attachment_image_src( $thumb_id, array( intval( $width ), 9999 ) ); + $height = $img_data[2]; + } + + // Dynamically resize the post thumbnail + $vt_crop = get_option( 'woo_pis_hard_crop' ); + if ($vt_crop == 'true' ) $vt_crop = true; else $vt_crop = false; + $vt_image = vt_resize( $thumb_id, '', $width, $height, $vt_crop ); + + // Set fields for output + $custom_field = esc_url( $vt_image['url'] ); + $width = $vt_image['width']; + $height = $vt_image['height']; + + } else { + // Use predefined size string + if ( $size ) + $thumb_size = $size; + else + $thumb_size = array( $width, $height ); + + $img_link = get_the_post_thumbnail( $id, $thumb_size, array( 'class' => 'woo-image ' . esc_attr( $class ) ) ); + } + + // Grab the image from custom field + } else { + $custom_field = esc_url( get_post_meta( $id, $key, true ) ); + } + + // Automatic Image Thumbs - get first image from post attachment + if ( empty( $custom_field ) && get_option( 'woo_auto_img' ) == 'true' && empty( $img_link ) && ! ( is_singular() && in_the_loop() && $link == 'src' ) ) { + + if( $offset >= 1 ) + $repeat = $repeat + $offset; + + $attachments = get_children( array( 'post_parent' => $id, + 'numberposts' => $repeat, + 'post_type' => 'attachment', + 'post_mime_type' => 'image', + 'order' => 'DESC', + 'orderby' => 'menu_order date') + ); + + // Search for and get the post attachment + if ( ! empty( $attachments ) ) { + $counter = -1; + foreach ( $attachments as $att_id => $attachment ) { + $counter++; + if ( $counter < $offset ) + continue; + + if ( get_option( 'woo_post_image_support' ) == 'true' && get_option( 'woo_pis_resize' ) == 'true' ) { + // Dynamically resize the post thumbnail + $vt_crop = get_option( 'woo_pis_hard_crop' ); + if ( $vt_crop == 'true' ) $vt_crop = true; else $vt_crop = false; + $vt_image = vt_resize( $att_id, '', $width, $height, $vt_crop ); + + // Set fields for output + $custom_field = esc_url( $vt_image['url'] ); + $width = $vt_image['width']; + $height = $vt_image['height']; + } else { + $src = wp_get_attachment_image_src( $att_id, 'large', true ); + $custom_field = esc_url( $src[0] ); + $attachment_id[] = $att_id; + $src_arr[] = $custom_field; + } + $thumb_id = $att_id; + $is_auto_image = true; + } + + // Get the first img tag from content + } else { + + $first_img = ''; + $post = get_post( $id ); + ob_start(); + ob_end_clean(); + $output = preg_match_all( '//i', $post->post_content, $matches ); + if ( !empty($matches[1][0]) ) { + + // Save Image URL + $custom_field = esc_url( $matches[1][0] ); + + // Search for ALT tag + $output = preg_match_all( '//i', $post->post_content, $matches ); + if ( !empty($matches[1][0]) ) { + $alt = esc_attr( $matches[1][0] ); + } + } + + } + + } + + // Check if there is YouTube embed + if ( empty( $custom_field ) && empty( $img_link ) ) { + $embed = esc_html( get_post_meta( $id, 'embed', true ) ); + if ( $embed ) + $custom_field = esc_url( woo_get_video_image( $embed ) ); + } + + // Return if there is no attachment or custom field set + if ( empty( $custom_field ) && empty( $img_link ) ) { + + // Check if default placeholder image is uploaded + $placeholder = get_option( 'framework_woo_default_image' ); + if ( $placeholder && !(is_singular() && in_the_loop()) ) { + $custom_field = esc_url( $placeholder ); + + // Resize the placeholder if + if ( get_option( 'woo_post_image_support' ) == 'true' && get_option( 'woo_pis_resize' ) == 'true' ) { + // Dynamically resize the post thumbnail + $vt_crop = get_option( 'woo_pis_hard_crop' ); + if ($vt_crop == 'true' ) $vt_crop = true; else $vt_crop = false; + $vt_image = vt_resize( '', $placeholder, $width, $height, $vt_crop ); + + // Set fields for output + $custom_field = esc_url( $vt_image['url'] ); + $width = $vt_image['width']; + $height = $vt_image['height']; + } + } else { + return; + } + } + + if(empty( $src_arr ) && empty( $img_link ) ) { $src_arr[] = $custom_field; } + + /* ------------------------------------------------------------------------- */ + /* BEGIN OUTPUT */ + /* ------------------------------------------------------------------------- */ + + $output = ''; + + // Set output height and width + $set_width = ' width="' . esc_attr( $width ) . '" '; + $set_height = ''; + + if ( ! $noheight && 0 < $height ) + $set_height = ' height="' . esc_attr( $height ) . '" '; + + // Set standard class + if ( $class ) $class = 'woo-image ' . esc_attr( $class ); else $class = 'woo-image'; + + // Do check to verify if images are smaller then specified. + if($force == true){ $set_width = ''; $set_height = ''; } + + // WP Post Thumbnail + if( ! empty( $img_link ) ) { + + if( $link == 'img' ) { // Output the image without anchors + $output .= wp_kses_post( $before ); + $output .= $img_link; + $output .= wp_kses_post( $after ); + } elseif( $link == 'url' ) { // Output the large image + $src = wp_get_attachment_image_src( $thumb_id, 'large', true ); + $custom_field = esc_url( $src[0] ); + $output .= $custom_field; + } else { // Default - output with link + if ( ( is_single() || is_page() ) && $single == false ) { + $rel = 'rel="lightbox"'; + $href = false; + } else { + $href = get_permalink( $id ); + $rel = ''; + } + + $title = 'title="' . esc_attr( get_the_title( $id ) ) .'"'; + + $output .= wp_kses_post( $before ); + if($href == false){ + $output .= $img_link; + } else { + $output .= '' . $img_link . ''; + } + + $output .= wp_kses_post( $after ); + } + } + + // Use thumb.php to resize. Skip if image has been natively resized with vt_resize. + elseif ( get_option( 'woo_resize') == 'true' && empty( $vt_image['url'] ) ) { + + foreach( $src_arr as $key => $custom_field ) { + + // Clean the image URL + $href = esc_url( $custom_field ); + $custom_field = cleanSource( $custom_field ); + + // Check if WPMU and set correct path AND that image isn't external + if ( function_exists( 'get_current_site') ) { + get_current_site(); + //global $blog_id; Breaks with WP3 MS + if ( !$blog_id ) { + global $current_blog; + $blog_id = $current_blog->blog_id; + } + if ( isset($blog_id) && $blog_id > 0 ) { + $imageParts = explode( 'files/', $custom_field ); + if ( isset( $imageParts[1] ) ) + $custom_field = '/blogs.dir/' . $blog_id . '/files/' . $imageParts[1]; + } + } + + //Set the ID to the Attachment's ID if it is an attachment + if($is_auto_image == true){ + $quick_id = $attachment_id[$key]; + } else { + $quick_id = $id; + } + + //Set custom meta + if ($meta) { + $alt = $meta; + $title = 'title="' . esc_attr( $meta ) . '"'; + } else { + if ( ( $alt != '' ) || ! ( $alt = get_post_meta( $thumb_id, '_wp_attachment_image_alt', true ) ) ) { + $alt = esc_attr( get_post_meta( $thumb_id, '_wp_attachment_image_alt', true ) ); + } else { + $alt = esc_attr( get_the_title( $quick_id ) ); + } + $title = 'title="'. esc_attr( get_the_title( $quick_id ) ) .'"'; + } + + // Set alignment parameter + if ( $alignment != '' ) + $alignment = '&a=' . urlencode( $alignment ); + + $img_url = esc_url( get_template_directory_uri() . '/functions/thumb.php?src=' . $custom_field . '&w=' . $width . '&h=' . $height . '&zc=1&q=' . $quality . $alignment ); + $img_link = '' . esc_attr( $alt ) . ''; + + if( $link == 'img' ) { // Just output the image + $output .= wp_kses_post( $before ); + $output .= $img_link; + $output .= wp_kses_post( $after ); + + } elseif( $link == 'url' ) { // Output the image without anchors + + if($is_auto_image == true){ + $src = wp_get_attachment_image_src($thumb_id, 'large', true); + $custom_field = esc_url( $src[0] ); + } + $output .= $href; + + } else { // Default - output with link + + if ( ( is_single() || is_page() ) && $single == false ) { + $rel = 'rel="lightbox"'; + } else { + $href = get_permalink( $id ); + $rel = ''; + } + + $output .= wp_kses_post( $before ); + $output .= '' . $img_link . ''; + $output .= wp_kses_post( $after ); + } + } + + // No dynamic resizing + } else { + foreach( $src_arr as $key => $custom_field ) { + + //Set the ID to the Attachment's ID if it is an attachment + if( $is_auto_image == true && isset( $attachment_id[$key] ) ){ + $quick_id = $attachment_id[$key]; + } else { + $quick_id = $id; + } + + //Set custom meta + if ($meta) { + $alt = esc_attr( $meta ); + $title = 'title="'. esc_attr( $meta ) .'"'; + } else { + if ($alt == '') $alt = esc_attr( get_post_meta( $thumb_id, '_wp_attachment_image_alt', true ) ); + $title = 'title="'. esc_attr( get_the_title( $quick_id ) ) .'"'; + } + + $img_link = '' . esc_attr( $alt ) . ''; + + if ( $link == 'img' ) { // Just output the image + $output .= wp_kses_post( $before ); + $output .= $img_link; + $output .= wp_kses_post( $after ); + + } elseif( $link == 'url' ) { // Output the URL to original image + if ( $vt_image['url'] || $is_auto_image ) { + $src = wp_get_attachment_image_src( $thumb_id, 'full', true ); + $custom_field = esc_url( $src[0] ); + } + $output .= $custom_field; + + } else { // Default - output with link + + if ( ( is_single() || is_page() ) && $single == false ) { + + // Link to the large image if single post + if ( $vt_image['url'] || $is_auto_image ) { + $src = wp_get_attachment_image_src( $thumb_id, 'full', true ); + $custom_field = esc_url( $src[0] ); + } + + $href = $custom_field; + $rel = 'rel="lightbox"'; + } else { + $href = get_permalink( $id ); + $rel = ''; + } + + $output .= wp_kses_post( $before ); + $output .= '' . $img_link . ''; + $output .= wp_kses_post( $after ); + } + } + } + + // Remove no height attribute - IE fix when no height is set + $output = str_replace( 'height=""', '', $output ); + $output = str_replace( 'height="0"', '', $output ); + + // Return or echo the output + if ( $return == TRUE ) + return $output; + else + echo $output; // Done + +} +} + +/* Get thumbnail from Video Embed code */ +if ( ! function_exists( 'woo_get_video_image' ) ) { +function woo_get_video_image( $embed ) { + $video_thumb = ''; + + // YouTube - get the video code if this is an embed code (old embed) + preg_match( '/youtube\.com\/v\/([\w\-]+)/', $embed, $match ); + + // YouTube - if old embed returned an empty ID, try capuring the ID from the new iframe embed + if( ! isset( $match[1] ) ) + preg_match( '/youtube\.com\/embed\/([\w\-]+)/', $embed, $match ); + + // YouTube - if it is not an embed code, get the video code from the youtube URL + if( ! isset( $match[1] ) ) + preg_match( '/v\=(.+)&/', $embed, $match ); + + // YouTube - get the corresponding thumbnail images + if( isset( $match[1] ) ) + $video_thumb = "http://img.youtube.com/vi/" . urlencode( $match[1] ) . "/0.jpg"; + + // return whichever thumbnail image you would like to retrieve + return $video_thumb; +} // End woo_get_video_image() +} + + +/*-----------------------------------------------------------------------------------*/ +/* vt_resize - Resize images dynamically using wp built in functions +/*-----------------------------------------------------------------------------------*/ +/* + * Resize images dynamically using wp built in functions + * Victor Teixeira + * + * php 5.2+ + * + * Exemplo de uso: + * + * + * + * + * @param int $attach_id + * @param string $img_url + * @param int $width + * @param int $height + * @param bool $crop + * @return array + */ +if ( ! function_exists( 'vt_resize' ) ) { + function vt_resize( $attach_id = null, $img_url = null, $width, $height, $crop = false ) { + + // Cast $width and $height to integer + $width = intval( $width ); + $height = intval( $height ); + + // this is an attachment, so we have the ID + if ( $attach_id ) { + $image_src = wp_get_attachment_image_src( $attach_id, 'full' ); + $file_path = get_attached_file( $attach_id ); + // this is not an attachment, let's use the image url + } else if ( $img_url ) { + $file_path = parse_url( esc_url( $img_url ) ); + $file_path = $_SERVER['DOCUMENT_ROOT'] . $file_path['path']; + + //$file_path = ltrim( $file_path['path'], '/' ); + //$file_path = rtrim( ABSPATH, '/' ).$file_path['path']; + + $orig_size = getimagesize( $file_path ); + + $image_src[0] = $img_url; + $image_src[1] = $orig_size[0]; + $image_src[2] = $orig_size[1]; + } + + $file_info = pathinfo( $file_path ); + + // check if file exists + if ( !isset( $file_info['dirname'] ) && !isset( $file_info['filename'] ) && !isset( $file_info['extension'] ) ) + return; + + $base_file = $file_info['dirname'].'/'.$file_info['filename'].'.'.$file_info['extension']; + if ( !file_exists($base_file) ) + return; + + $extension = '.'. $file_info['extension']; + + // the image path without the extension + $no_ext_path = $file_info['dirname'].'/'.$file_info['filename']; + + $cropped_img_path = $no_ext_path.'-'.$width.'x'.$height.$extension; + + // checking if the file size is larger than the target size + // if it is smaller or the same size, stop right here and return + if ( $image_src[1] > $width ) { + // the file is larger, check if the resized version already exists (for $crop = true but will also work for $crop = false if the sizes match) + if ( file_exists( $cropped_img_path ) ) { + $cropped_img_url = str_replace( basename( $image_src[0] ), basename( $cropped_img_path ), $image_src[0] ); + + $vt_image = array ( + 'url' => $cropped_img_url, + 'width' => $width, + 'height' => $height + ); + return $vt_image; + } + + // $crop = false or no height set + if ( $crop == false OR !$height ) { + // calculate the size proportionaly + $proportional_size = wp_constrain_dimensions( $image_src[1], $image_src[2], $width, $height ); + $resized_img_path = $no_ext_path.'-'.$proportional_size[0].'x'.$proportional_size[1].$extension; + + // checking if the file already exists + if ( file_exists( $resized_img_path ) ) { + $resized_img_url = str_replace( basename( $image_src[0] ), basename( $resized_img_path ), $image_src[0] ); + + $vt_image = array ( + 'url' => $resized_img_url, + 'width' => $proportional_size[0], + 'height' => $proportional_size[1] + ); + return $vt_image; + } + } + + // check if image width is smaller than set width + $img_size = getimagesize( $file_path ); + if ( $img_size[0] <= $width ) $width = $img_size[0]; + + // Check if GD Library installed + if ( ! function_exists ( 'imagecreatetruecolor' ) ) { + echo 'GD Library Error: imagecreatetruecolor does not exist - please contact your webhost and ask them to install the GD library'; + return; + } + + // no cache files - let's finally resize it + if ( function_exists( 'wp_get_image_editor' ) ) { + $image = wp_get_image_editor( $file_path ); + if ( ! is_wp_error( $image ) ) { + $image->resize( $width, $height, $crop ); + $save_data = $image->save(); + if ( isset( $save_data['path'] ) ) $new_img_path = $save_data['path']; + } + } else { + $new_img_path = image_resize( $file_path, $width, $height, $crop ); + } + + $new_img_size = getimagesize( $new_img_path ); + $new_img = str_replace( basename( $image_src[0] ), basename( $new_img_path ), $image_src[0] ); + + // resized output + $vt_image = array ( + 'url' => $new_img, + 'width' => $new_img_size[0], + 'height' => $new_img_size[1] + ); + + return $vt_image; + } + + // default output - without resizing + $vt_image = array ( + 'url' => $image_src[0], + 'width' => $width, + 'height' => $height + ); + + return $vt_image; + } +} + +/*-----------------------------------------------------------------------------------*/ +/* Depreciated - woo_get_image - Get Image from custom field */ +/*-----------------------------------------------------------------------------------*/ + +// Depreciated +function woo_get_image($key = 'image', $width = null, $height = null, $class = "thumbnail", $quality = 90,$id = null,$link = 'src',$repeat = 1,$offset = 0,$before = '', $after = '',$single = false, $force = false, $return = false) { + // Run new function + woo_image( 'key='.$key.'&width='.$width.'&height='.$height.'&class='.$class.'&quality='.$quality.'&id='.$id.'&link='.$link.'&repeat='.$repeat.'&offset='.$offset.'&before='.$before.'&after='.$after.'&single='.$single.'&fore='.$force.'&return='.$return ); + return; +} // End woo_get_image() + +/*-----------------------------------------------------------------------------------*/ +/* woo_embed - Get Video embed code from custom field */ +/*-----------------------------------------------------------------------------------*/ + +/* +Get Video +This function gets the embed code from the custom field +Parameters: + $key = Custom field key eg. "embed" + $width = Set width manually without using $type + $height = Set height manually without using $type + $class = Custom class to apply to wrapping div + $id = ID from post to pull custom field from +*/ + +if ( ! function_exists( 'woo_embed' ) ) { +function woo_embed($args) { + //Defaults + $key = 'embed'; + $width = null; + $height = null; + $class = 'video'; + $id = null; + + if ( ! is_array( $args ) ) + parse_str( $args, $args ); + + extract( $args ); + + if( empty( $id ) ) { + global $post; + $id = $post->ID; + } + +// Cast $width and $height to integer +$width = intval( $width ); +$height = intval( $height ); + +$custom_field = esc_textarea( get_post_meta( $id, $key, true ) ); + +if ($custom_field) : + $custom_field = html_entity_decode( $custom_field ); // Decode HTML entities. + + $org_width = $width; + $org_height = $height; + $calculated_height = ''; + $embed_width = ''; + $embed_height = ''; + + // Get custom width and height + $custom_width = esc_html( get_post_meta( $id, 'width', true ) ); + $custom_height = esc_html( get_post_meta( $id, 'height', true ) ); + + //Dynamic Height Calculation + if ($org_height == '' && $org_width != '') { + $raw_values = explode( ' ', $custom_field); + + foreach ( $raw_values as $raw ) { + $embed_params = explode( '=', $raw ); + if ( $embed_params[0] == 'width' ) { + $embed_width = preg_replace( '/[^0-9]/', '', $embed_params[1]); + } + elseif ( $embed_params[0] == 'height' ) { + $embed_height = preg_replace( '/[^0-9]/', '', $embed_params[1]); + } + } + + $float_width = floatval( $embed_width ); + $float_height = floatval( $embed_height ); + @$float_ratio = $float_height / $float_width; + $calculated_height = intval( $float_ratio * $width ); + } + + // Set values: width="XXX", height="XXX" + if ( ! $custom_width ) $width = 'width="' . esc_attr( $width ) . '"'; else $width = 'width="' . esc_attr( $custom_width ) . '"'; + if ( $height == '' ) { $height = 'height="' . esc_attr( $calculated_height ) . '"'; } else { if ( ! $custom_height ) { $height = 'height="' . esc_attr( $height ) . '"'; } else { $height = 'height="' . esc_attr( $custom_height ) . '"'; } } + $custom_field = stripslashes($custom_field); + $custom_field = preg_replace( '/width="([0-9]*)"/' , $width , $custom_field ); + $custom_field = preg_replace( '/height="([0-9]*)"/' , $height, $custom_field ); + + // Set values: width:XXXpx, height:XXXpx + if ( ! $custom_width ) $width = 'width:' . esc_attr( $org_width ) . 'px'; else $width = 'width:' . esc_attr( $custom_width ) . 'px'; + if ( $height == '' ) { $height = 'height:' . esc_attr( $calculated_height ) . 'px'; } else { if ( ! $custom_height ) { $height = 'height:' . esc_attr( $org_height ) . 'px'; } else { $height = 'height:' . esc_attr( $custom_height ) . 'px'; } } + $custom_field = stripslashes($custom_field); + $custom_field = preg_replace( '/width:([0-9]*)px/' , $width , $custom_field ); + $custom_field = preg_replace( '/height:([0-9]*)px/' , $height, $custom_field ); + + // Suckerfish menu hack + $custom_field = str_replace( '' . $custom_field . ''; + + return apply_filters( 'woo_embed', $output ); +else : + return false; +endif; +} +} + +/*-----------------------------------------------------------------------------------*/ +/* Add default filters to woo_embed() */ +/*-----------------------------------------------------------------------------------*/ + +add_filter( 'woo_embed', 'do_shortcode' ); + +/*-----------------------------------------------------------------------------------*/ +/* Depreciated - woo_get_embed - Get Video embed code from custom field */ +/*-----------------------------------------------------------------------------------*/ +// Depreciated +function woo_get_embed($key = 'embed', $width, $height, $class = 'video', $id = null) { + // Run new function + return woo_embed( 'key='.$key.'&width='.$width.'&height='.$height.'&class='.$class.'&id='.$id ); + +} + +/*-----------------------------------------------------------------------------------*/ +/* Woo Show Page Menu */ +/*-----------------------------------------------------------------------------------*/ +// Show menu in header.php +// Exlude the pages from the slider +function woo_show_pagemenu( $exclude = '' ) { + // Split the featured pages from the options, and put in an array + if ( get_option( 'woo_ex_featpages') ) { + $menupages = get_option( 'woo_featpages' ); + $exclude = $menupages . ',' . $exclude; + } + + $pages = wp_list_pages( 'sort_column=menu_order&title_li=&echo=0&depth=1&exclude=' . $exclude ); + $pages = preg_replace( '%]+)>%U','', $pages ); + $pages = str_replace( '','', $pages ); + echo $pages; +} // End woo_show_pagemenu() + +/*-----------------------------------------------------------------------------------*/ +/* Get the style path currently selected */ +/*-----------------------------------------------------------------------------------*/ +function woo_style_path() { + $return = ''; + + $style = $_REQUEST['style']; + + // Sanitize request input. + $style = esc_attr( strtolower( trim( strip_tags( $style ) ) ) ); + + if ( $style != '' ) { + $style_path = $style; + } else { + $stylesheet = esc_attr( get_option( 'woo_alt_stylesheet' ) ); + + // Prevent against an empty return to $stylesheet. + if ( $stylesheet == '' ) { + $stylesheet = 'default.css'; + } + + $style_path = str_replace( '.css', '', $stylesheet ); + } + + if ( $style_path == 'default' ) { + $return = 'images'; + } else { + $return = 'styles/' . $style_path; + } + + echo esc_html( $return ); +} // End woo_style_path() + + +/*-----------------------------------------------------------------------------------*/ +/* Get page ID */ +/*-----------------------------------------------------------------------------------*/ +function get_page_id( $page_slug ) { + $page_id = get_page_by_path( $page_slug ); + if ($page_id) { + return $page_id->ID; + } else { + return null; + } +} // End get_page_id() + +/*-----------------------------------------------------------------------------------*/ +/* Tidy up the image source url */ +/*-----------------------------------------------------------------------------------*/ +function cleanSource( $src ) { + // remove slash from start of string + if(strpos($src, "/") == 0) { + $src = substr($src, -(strlen($src) - 1)); + } + + // Check if same domain so it doesn't strip external sites + $host = str_replace( 'www.', '', $_SERVER['HTTP_HOST'] ); + if ( ! strpos( $src, $host ) ) + return $src; + + + $regex = "/^((ht|f)tp(s|):\/\/)(www\.|)" . $host . "/i"; + $src = preg_replace ( $regex, '', $src ); + $src = htmlentities ( $src ); + + // remove slash from start of string + if ( strpos( $src, '/' ) === 0 ) { + $src = substr ( $src, -( strlen( $src ) - 1 ) ); + } + + return $src; +} // End cleanSource() + +/*-----------------------------------------------------------------------------------*/ +/* Show image in RSS feed */ +/* Original code by Justin Tadlock */ +/*-----------------------------------------------------------------------------------*/ +if ( get_option( 'woo_rss_thumb' ) == 'true' ) { + if ( get_option( 'rss_use_excerpt' ) ) + add_filter( 'the_excerpt_rss', 'add_image_RSS' ); + else + add_filter( 'the_content', 'add_image_RSS' ); +} + +function add_image_RSS( $content ) { + + global $post, $id; + $blog_key = substr( md5( home_url( '/' ) ), 0, 16 ); + if ( ! is_feed() ) return $content; + + // Get the "image" from custom field + //$image = get_post_meta($post->ID, 'image', $single = true); + $image = woo_image( 'return=true&link=url' ); + $image_width = '240'; + + // If there's an image, display the image with the content + if( $image != '' ) { + $content = '

+ +

' . $content; + return $content; + } else { + // If there's not an image, just display the content + $content = $content; + return $content; + } +} // End add_image_RSS() + + + +/*-----------------------------------------------------------------------------------*/ +/* Show analytics code in footer */ +/*-----------------------------------------------------------------------------------*/ +function woo_analytics(){ + $output = get_option( 'woo_google_analytics' ); + if ( $output != '' ) + echo stripslashes( $output ) . "\n"; +} // End woo_analytics() +add_action( 'wp_footer','woo_analytics' ); + + + +/*-----------------------------------------------------------------------------------*/ +/* Browser detection body_class() output */ +/*-----------------------------------------------------------------------------------*/ +add_filter( 'body_class','browser_body_class' ); +function browser_body_class( $classes ) { + global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone; + + if($is_lynx) $classes[] = 'lynx'; + elseif($is_gecko) $classes[] = 'gecko'; + elseif($is_opera) $classes[] = 'opera'; + elseif($is_NS4) $classes[] = 'ns4'; + elseif($is_safari) $classes[] = 'safari'; + elseif($is_chrome) $classes[] = 'chrome'; + elseif($is_IE) { + $browser = $_SERVER['HTTP_USER_AGENT']; + $browser = substr( "$browser", 25, 8); + if ($browser == "MSIE 7.0" ) { + $classes[] = 'ie7'; + $classes[] = 'ie'; + } elseif ($browser == "MSIE 6.0" ) { + $classes[] = 'ie6'; + $classes[] = 'ie'; + } elseif ($browser == "MSIE 8.0" ) { + $classes[] = 'ie8'; + $classes[] = 'ie'; + } elseif ($browser == "MSIE 9.0" ) { + $classes[] = 'ie9'; + $classes[] = 'ie'; + } else { + $classes[] = 'ie'; + } + } + else $classes[] = 'unknown'; + + if( $is_iphone ) $classes[] = 'iphone'; + + // Alternative style body class. + $style = get_option( 'woo_alt_stylesheet', 'default' ); + $style = str_replace( '.css', '', $style ); + if ( '' != $style ) { + $classes[] = 'alt-style-' . esc_attr( $style ); + } + return $classes; +} // End browser_body_class() + +/*-----------------------------------------------------------------------------------*/ +/* Twitter's Blogger.js output for Twitter widgets */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_twitter_script' ) ) { + function woo_twitter_script($unique_id,$username,$limit) { + ?> + + + deprecated since version %2$s of the WooFramework! Please upgrade your Theme to the latest version.', 'woothemes' ), 'woo_active_template', '5.4' ) ); + return false; // No $filename argument was set + +} // End woo_active_template() + +/*-----------------------------------------------------------------------------------*/ +/* WooFramework Update Page */ +/*-----------------------------------------------------------------------------------*/ + +function woothemes_framework_update_page() { + + // Clear transients. + delete_transient( 'woo_framework_critical_update' ); + delete_transient( 'woo_framework_critical_update_data' ); + delete_transient( 'wooframework_version_data' ); + + $method = get_filesystem_method(); + + $to = ABSPATH . 'wp-content/themes/' . get_option( 'template' ) . '/functions/'; + if(isset($_POST['password'])){ + + $cred = $_POST; + $filesystem = WP_Filesystem($cred); + + } + elseif(isset($_POST['woo_ftp_cred'])){ + + $cred = unserialize(base64_decode($_POST['woo_ftp_cred'])); + $filesystem = WP_Filesystem($cred); + + } else { + + $filesystem = WP_Filesystem(); + + }; + $url = admin_url( 'admin.php?page=woothemes_framework_update' ); + ?> +
+ + +

Framework Update

+ +
+ + + +

A new version of WooFramework is available.

+

This updater will download and extract the latest WooFramework files to your current theme's functions folder.

+

We recommend backing up your theme files and updating WordPress to latest version before proceeding.

+

Your version:

+ +

Current Version:

+ + + +

You have the latest version of WooFramework

+

Your version:

+ + + + +
+ +
+

Failed: Filesystem preventing downloads. ( ". $method .")

"; + } + add_action( 'admin_notices', 'woothemes_framework_update_filesystem_warning' ); + return; + } + if(isset($_REQUEST['woo_update_save'])){ + + // Sanitize action being requested. + $_action = esc_attr( $_REQUEST['woo_update_save'] ); + + if( $_action == 'save' ) { + + $temp_file_addr = download_url( esc_url( 'http://www.woothemes.com/updates/framework.zip' ) ); + + if ( is_wp_error($temp_file_addr) ) { + + $error = esc_html( $temp_file_addr->get_error_code() ); + + if( $error == 'http_no_url' ) { + //The source file was not found or is invalid + function woothemes_framework_update_missing_source_warning() { + echo "

Failed: Invalid URL Provided

"; + } + add_action( 'admin_notices', 'woothemes_framework_update_missing_source_warning' ); + } else { + function woothemes_framework_update_other_upload_warning() { + echo "

Failed: Upload - $error

"; + } + add_action( 'admin_notices', 'woothemes_framework_update_other_upload_warning' ); + + } + + return; + + } + //Unzip it + global $wp_filesystem; + $to = $wp_filesystem->wp_content_dir() . "/themes/" . get_option( 'template' ) . "/functions/"; + + $dounzip = unzip_file($temp_file_addr, $to); + + unlink($temp_file_addr); // Delete Temp File + + if ( is_wp_error($dounzip) ) { + + //DEBUG + $error = esc_html( $dounzip->get_error_code() ); + $data = $dounzip->get_error_data($error); + //echo $error. ' - '; + //print_r($data); + + if($error == 'incompatible_archive') { + //The source file was not found or is invalid + function woothemes_framework_update_no_archive_warning() { + echo "

Failed: Incompatible archive

"; + } + add_action( 'admin_notices', 'woothemes_framework_update_no_archive_warning' ); + } + if($error == 'empty_archive') { + function woothemes_framework_update_empty_archive_warning() { + echo "

Failed: Empty Archive

"; + } + add_action( 'admin_notices', 'woothemes_framework_update_empty_archive_warning' ); + } + if($error == 'mkdir_failed') { + function woothemes_framework_update_mkdir_warning() { + echo "

Failed: mkdir Failure

"; + } + add_action( 'admin_notices', 'woothemes_framework_update_mkdir_warning' ); + } + if($error == 'copy_failed') { + function woothemes_framework_update_copy_fail_warning() { + echo "

Failed: Copy Failed

"; + } + add_action( 'admin_notices', 'woothemes_framework_update_copy_fail_warning' ); + } + + return; + + } + + function woothemes_framework_updated_success() { + echo "

New framework successfully downloaded, extracted and updated.

"; + } + + add_action( 'admin_notices', 'woothemes_framework_updated_success' ); + + } + } + } //End user input save part of the update + } +} + +add_action( 'admin_head', 'woothemes_framework_update_head' ); + +/*-----------------------------------------------------------------------------------*/ +/* WooFramework Version Getter */ +/*-----------------------------------------------------------------------------------*/ + +function woo_get_fw_version( $url = '', $check_if_critical = false ) { + + if( ! empty( $url ) ) { + $fw_url = $url; + } else { + $fw_url = 'http://www.woothemes.com/updates/functions-changelog.txt'; + } + + $output = array( 'version' => '', 'is_critical' => false ); + + $version_data = get_transient( 'wooframework_version_data' ); + + if ( $version_data != '' && $check_if_critical == false ) { return $version_data; } + + $temp_file_addr = download_url( $fw_url ); + if( ! is_wp_error( $temp_file_addr ) && $file_contents = file( $temp_file_addr ) ) { + foreach ( $file_contents as $line_num => $line ) { + $current_line = $line; + + if( $line_num > 1 ) { // Not the first or second... dodgy :P + + if ( preg_match( '/^[0-9]/', $line ) ) { + + // Do critical update check. + if ( $check_if_critical && ( strtolower( trim( substr( $line, -10 ) ) ) == 'critical' ) ) { + $output['is_critical'] = true; + } + + $current_line = stristr( $current_line, 'version' ); + $current_line = preg_replace( '~[^0-9,.]~','',$current_line ); + $output['version'] = $current_line; + break; + } + } + } + unlink( $temp_file_addr ); + } else { + $output['version'] = get_option( 'woo_framework_version' ); + } + + // Set the transient containing the latest version number. + set_transient( 'wooframework_version_data', $output , 60*60*24 ); + + return $output; +} // End woo_get_fw_version() + + +/*-----------------------------------------------------------------------------------*/ +/* WooFramework Version Checker */ +/*-----------------------------------------------------------------------------------*/ + +function woo_framework_version_checker( $local_version, $check_if_critical = false ) { + $data = array( 'is_update' => false, 'version' => '1.0.0', 'status' => 'none' ); + + if ( ! $local_version ) { return $data; } + + $version_data = woo_get_fw_version( '', $check_if_critical ); + + $check = version_compare( $version_data['version'], $local_version ); // Returns 1 if there is an update available. + + if ( $check == 1 ) { + $data['is_update'] = true; + $data['version'] = $version_data['version']; + $data['is_critical'] = $version_data['is_critical']; + } + + return $data; +} // End woo_framework_version_checker() + +/*-----------------------------------------------------------------------------------*/ +/* Woo URL shortener */ +/*-----------------------------------------------------------------------------------*/ + +function woo_short_url($url) { + $service = get_option( 'woo_url_shorten' ); + $bitlyapilogin = get_option( 'woo_bitly_api_login' );; + $bitlyapikey = get_option( 'woo_bitly_api_key' );; + if (isset($service)) { + switch ($service) + { + case 'TinyURL': + $shorturl = getTinyUrl($url); + break; + case 'Bit.ly': + if (isset($bitlyapilogin) && isset($bitlyapikey) && ($bitlyapilogin != '') && ($bitlyapikey != '')) { + $shorturl = make_bitly_url($url,$bitlyapilogin,$bitlyapikey,'json' ); + } + else { + $shorturl = getTinyUrl($url); + } + break; + case 'Off': + $shorturl = $url; + break; + default: + $shorturl = $url; + break; + } + } + else { + $shorturl = $url; + } + return $shorturl; +} + +//TinyURL +function getTinyUrl($url) { + $tinyurl = file_get_contents_curl( "http://tinyurl.com/api-create.php?url=".$url); + return $tinyurl; +} + +//Bit.ly +function make_bitly_url($url,$login,$appkey,$format = 'xml',$version = '2.0.1') +{ + //create the URL + $bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$appkey.'&format='.$format; + + //get the url + //could also use cURL here + $response = file_get_contents_curl($bitly); + + //parse depending on desired format + if(strtolower($format) == 'json') + { + $json = @json_decode($response,true); + return $json['results'][$url]['shortUrl']; + } + else //xml + { + $xml = simplexml_load_string($response); + return 'http://bit.ly/'.$xml->results->nodeKeyVal->hash; + } +} + +//Alternative CURL function +function file_get_contents_curl($url) { + if ( $url == '' || $url == null ) { return ''; } + $data = ''; + + $response = wp_remote_get( $url ); + + if ( is_wp_error( $response ) ) { + $data = $url; + } else { + $data = $response['body']; + } + + return $data; +} // End file_get_contents_curl() + +// Checks for presence of the cURL extension. +function _iscurlinstalled() { + if (in_array ( 'curl', get_loaded_extensions())) { + if (function_exists( 'curl_init')) { + return true; + } else { + return false; + } + } + else{ + if (function_exists( 'curl_init')) { + return true; + } else { + return false; + } + } +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_title() */ +/*-----------------------------------------------------------------------------------*/ + +function woo_title () { + $sep = '|'; + $raw_title = wp_title( $sep, false, 'right' ); + $title = $raw_title . get_bloginfo( 'name' ); + + // Allow child themes/plugins to filter the title value. + $title = apply_filters( 'woo_title', $title, $sep, $raw_title ); + + // Display the formatted title. + echo $title; +} // End woo_title() + +/*-----------------------------------------------------------------------------------*/ +/* woo_meta() */ +/*-----------------------------------------------------------------------------------*/ + +function woo_meta () { + echo '' . "\n"; + + do_action( 'woo_meta' ); +} // End woo_meta() + +/*-----------------------------------------------------------------------------------*/ +/* Woo Text Trimmer */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_text_trim' ) ) { + function woo_text_trim( $text, $words = 50 ) { + $matches = preg_split( "/\s+/", $text, $words + 1); + $sz = count($matches); + if ($sz > $words) + { + unset($matches[$sz-1]); + return implode( ' ',$matches)." ..."; + } + return $text; + } // End woo_text_trim() +} + +/*-----------------------------------------------------------------------------------*/ +/* Google Webfonts Array */ +/* Documentation: +/* +/* name: The name of the Google Font. +/* variant: The Google Font API variants available for the font. +/*-----------------------------------------------------------------------------------*/ + +// Available Google webfont names +$google_fonts = array( array( 'name' => "Cantarell", 'variant' => ':r,b,i,bi'), + array( 'name' => "Cardo", 'variant' => ''), + array( 'name' => "Crimson Text", 'variant' => ''), + array( 'name' => "Droid Sans", 'variant' => ':r,b'), + array( 'name' => "Droid Sans Mono", 'variant' => ''), + array( 'name' => "Droid Serif", 'variant' => ':r,b,i,bi'), + array( 'name' => "IM Fell DW Pica", 'variant' => ':r,i'), + array( 'name' => "Inconsolata", 'variant' => ''), + array( 'name' => "Josefin Sans", 'variant' => ':400,400italic,700,700italic'), + array( 'name' => "Josefin Slab", 'variant' => ':r,b,i,bi'), + array( 'name' => "Lobster", 'variant' => ''), + array( 'name' => "Molengo", 'variant' => ''), + array( 'name' => "Nobile", 'variant' => ':r,b,i,bi'), + array( 'name' => "OFL Sorts Mill Goudy TT", 'variant' => ':r,i'), + array( 'name' => "Old Standard TT", 'variant' => ':r,b,i'), + array( 'name' => "Reenie Beanie", 'variant' => ''), + array( 'name' => "Tangerine", 'variant' => ':r,b'), + array( 'name' => "Vollkorn", 'variant' => ':r,b'), + array( 'name' => "Yanone Kaffeesatz", 'variant' => ':r,b'), + array( 'name' => "Cuprum", 'variant' => ''), + array( 'name' => "Neucha", 'variant' => ''), + array( 'name' => "Neuton", 'variant' => ''), + array( 'name' => "PT Sans", 'variant' => ':r,b,i,bi'), + array( 'name' => "PT Sans Caption", 'variant' => ':r,b'), + array( 'name' => "PT Sans Narrow", 'variant' => ':r,b'), + array( 'name' => "Philosopher", 'variant' => ''), + array( 'name' => "Allerta", 'variant' => ''), + array( 'name' => "Allerta Stencil", 'variant' => ''), + array( 'name' => "Arimo", 'variant' => ':r,b,i,bi'), + array( 'name' => "Arvo", 'variant' => ':r,b,i,bi'), + array( 'name' => "Bentham", 'variant' => ''), + array( 'name' => "Coda", 'variant' => ':800'), + array( 'name' => "Cousine", 'variant' => ''), + array( 'name' => "Covered By Your Grace", 'variant' => ''), + array( 'name' => "Geo", 'variant' => ''), + array( 'name' => "Just Me Again Down Here", 'variant' => ''), + array( 'name' => "Puritan", 'variant' => ':r,b,i,bi'), + array( 'name' => "Raleway", 'variant' => ':100'), + array( 'name' => "Tinos", 'variant' => ':r,b,i,bi'), + array( 'name' => "UnifrakturCook", 'variant' => ':bold'), + array( 'name' => "UnifrakturMaguntia", 'variant' => ''), + array( 'name' => "Mountains of Christmas", 'variant' => ''), + array( 'name' => "Lato", 'variant' => ':400,700,400italic'), + array( 'name' => "Orbitron", 'variant' => ':r,b,i,bi'), + array( 'name' => "Allan", 'variant' => ':bold'), + array( 'name' => "Anonymous Pro", 'variant' => ':r,b,i,bi'), + array( 'name' => "Copse", 'variant' => ''), + array( 'name' => "Kenia", 'variant' => ''), + array( 'name' => "Ubuntu", 'variant' => ':r,b,i,bi'), + array( 'name' => "Vibur", 'variant' => ''), + array( 'name' => "Sniglet", 'variant' => ':800'), + array( 'name' => "Syncopate", 'variant' => ''), + array( 'name' => "Cabin", 'variant' => ':400,400italic,700,700italic,'), + array( 'name' => "Merriweather", 'variant' => ''), + array( 'name' => "Maiden Orange", 'variant' => ''), + array( 'name' => "Just Another Hand", 'variant' => ''), + array( 'name' => "Kristi", 'variant' => ''), + array( 'name' => "Corben", 'variant' => ':b'), + array( 'name' => "Gruppo", 'variant' => ''), + array( 'name' => "Buda", 'variant' => ':light'), + array( 'name' => "Lekton", 'variant' => ''), + array( 'name' => "Luckiest Guy", 'variant' => ''), + array( 'name' => "Crushed", 'variant' => ''), + array( 'name' => "Chewy", 'variant' => ''), + array( 'name' => "Coming Soon", 'variant' => ''), + array( 'name' => "Crafty Girls", 'variant' => ''), + array( 'name' => "Fontdiner Swanky", 'variant' => ''), + array( 'name' => "Permanent Marker", 'variant' => ''), + array( 'name' => "Rock Salt", 'variant' => ''), + array( 'name' => "Sunshiney", 'variant' => ''), + array( 'name' => "Unkempt", 'variant' => ''), + array( 'name' => "Calligraffitti", 'variant' => ''), + array( 'name' => "Cherry Cream Soda", 'variant' => ''), + array( 'name' => "Homemade Apple", 'variant' => ''), + array( 'name' => "Irish Growler", 'variant' => ''), + array( 'name' => "Kranky", 'variant' => ''), + array( 'name' => "Schoolbell", 'variant' => ''), + array( 'name' => "Slackey", 'variant' => ''), + array( 'name' => "Walter Turncoat", 'variant' => ''), + array( 'name' => "Radley", 'variant' => ''), + array( 'name' => "Meddon", 'variant' => ''), + array( 'name' => "Kreon", 'variant' => ':r,b'), + array( 'name' => "Dancing Script", 'variant' => ''), + array( 'name' => "Goudy Bookletter 1911", 'variant' => ''), + array( 'name' => "PT Serif Caption", 'variant' => ':r,i'), + array( 'name' => "PT Serif", 'variant' => ':r,b,i,bi'), + array( 'name' => "Astloch", 'variant' => ':b'), + array( 'name' => "Bevan", 'variant' => ''), + array( 'name' => "Anton", 'variant' => ''), + array( 'name' => "Expletus Sans", 'variant' => ':b'), + array( 'name' => "VT323", 'variant' => ''), + array( 'name' => "Pacifico", 'variant' => ''), + array( 'name' => "Candal", 'variant' => ''), + array( 'name' => "Architects Daughter", 'variant' => ''), + array( 'name' => "Indie Flower", 'variant' => ''), + array( 'name' => "League Script", 'variant' => ''), + array( 'name' => "Quattrocento", 'variant' => ''), + array( 'name' => "Amaranth", 'variant' => ''), + array( 'name' => "Irish Grover", 'variant' => ''), + array( 'name' => "Oswald", 'variant' => ':400,300,700'), + array( 'name' => "EB Garamond", 'variant' => ''), + array( 'name' => "Nova Round", 'variant' => ''), + array( 'name' => "Nova Slim", 'variant' => ''), + array( 'name' => "Nova Script", 'variant' => ''), + array( 'name' => "Nova Cut", 'variant' => ''), + array( 'name' => "Nova Mono", 'variant' => ''), + array( 'name' => "Nova Oval", 'variant' => ''), + array( 'name' => "Nova Flat", 'variant' => ''), + array( 'name' => "Terminal Dosis Light", 'variant' => ''), + array( 'name' => "Michroma", 'variant' => ''), + array( 'name' => "Miltonian", 'variant' => ''), + array( 'name' => "Miltonian Tattoo", 'variant' => ''), + array( 'name' => "Annie Use Your Telescope", 'variant' => ''), + array( 'name' => "Dawning of a New Day", 'variant' => ''), + array( 'name' => "Sue Ellen Francisco", 'variant' => ''), + array( 'name' => "Waiting for the Sunrise", 'variant' => ''), + array( 'name' => "Special Elite", 'variant' => ''), + array( 'name' => "Quattrocento Sans", 'variant' => ''), + array( 'name' => "Smythe", 'variant' => ''), + array( 'name' => "The Girl Next Door", 'variant' => ''), + array( 'name' => "Aclonica", 'variant' => ''), + array( 'name' => "News Cycle", 'variant' => ''), + array( 'name' => "Damion", 'variant' => ''), + array( 'name' => "Wallpoet", 'variant' => ''), + array( 'name' => "Over the Rainbow", 'variant' => ''), + array( 'name' => "MedievalSharp", 'variant' => ''), + array( 'name' => "Six Caps", 'variant' => ''), + array( 'name' => "Swanky and Moo Moo", 'variant' => ''), + array( 'name' => "Bigshot One", 'variant' => ''), + array( 'name' => "Francois One", 'variant' => ''), + array( 'name' => "Sigmar One", 'variant' => ''), + array( 'name' => "Carter One", 'variant' => ''), + array( 'name' => "Holtwood One SC", 'variant' => ''), + array( 'name' => "Paytone One", 'variant' => ''), + array( 'name' => "Monofett", 'variant' => ''), + array( 'name' => "Rokkitt", 'variant' => ':400,700'), + array( 'name' => "Megrim", 'variant' => ''), + array( 'name' => "Judson", 'variant' => ':r,ri,b'), + array( 'name' => "Didact Gothic", 'variant' => ''), + array( 'name' => "Play", 'variant' => ':r,b'), + array( 'name' => "Ultra", 'variant' => ''), + array( 'name' => "Metrophobic", 'variant' => ''), + array( 'name' => "Mako", 'variant' => ''), + array( 'name' => "Shanti", 'variant' => ''), + array( 'name' => "Caudex", 'variant' => ':r,b,i,bi'), + array( 'name' => "Jura", 'variant' => ''), + array( 'name' => "Ruslan Display", 'variant' => ''), + array( 'name' => "Brawler", 'variant' => ''), + array( 'name' => "Nunito", 'variant' => ''), + array( 'name' => "Wire One", 'variant' => ''), + array( 'name' => "Podkova", 'variant' => ''), + array( 'name' => "Muli", 'variant' => ''), + array( 'name' => "Maven Pro", 'variant' => ':400,500,700'), + array( 'name' => "Tenor Sans", 'variant' => ''), + array( 'name' => "Limelight", 'variant' => ''), + array( 'name' => "Playfair Display", 'variant' => ''), + array( 'name' => "Artifika", 'variant' => ''), + array( 'name' => "Lora", 'variant' => ''), + array( 'name' => "Kameron", 'variant' => ':r,b'), + array( 'name' => "Cedarville Cursive", 'variant' => ''), + array( 'name' => "Zeyada", 'variant' => ''), + array( 'name' => "La Belle Aurore", 'variant' => ''), + array( 'name' => "Shadows Into Light", 'variant' => ''), + array( 'name' => "Lobster Two", 'variant' => ':r,b,i,bi'), + array( 'name' => "Nixie One", 'variant' => ''), + array( 'name' => "Redressed", 'variant' => ''), + array( 'name' => "Bangers", 'variant' => ''), + array( 'name' => "Open Sans Condensed", 'variant' => ':300italic,400italic,700italic,400,300,700'), + array( 'name' => "Open Sans", 'variant' => ':r,i,b,bi'), + array( 'name' => "Varela", 'variant' => ''), + array( 'name' => "Goblin One", 'variant' => ''), + array( 'name' => "Asset", 'variant' => ''), + array( 'name' => "Gravitas One", 'variant' => ''), + array( 'name' => "Hammersmith One", 'variant' => ''), + array( 'name' => "Stardos Stencil", 'variant' => ''), + array( 'name' => "Love Ya Like A Sister", 'variant' => ''), + array( 'name' => "Loved by the King", 'variant' => ''), + array( 'name' => "Bowlby One SC", 'variant' => ''), + array( 'name' => "Forum", 'variant' => ''), + array( 'name' => "Patrick Hand", 'variant' => ''), + array( 'name' => "Varela Round", 'variant' => ''), + array( 'name' => "Yeseva One", 'variant' => ''), + array( 'name' => "Give You Glory", 'variant' => ''), + array( 'name' => "Modern Antiqua", 'variant' => ''), + array( 'name' => "Bowlby One", 'variant' => ''), + array( 'name' => "Tienne", 'variant' => ''), + array( 'name' => "Istok Web", 'variant' => ':r,b,i,bi'), + array( 'name' => "Yellowtail", 'variant' => ''), + array( 'name' => "Pompiere", 'variant' => ''), + array( 'name' => "Unna", 'variant' => ''), + array( 'name' => "Rosario", 'variant' => ''), + array( 'name' => "Leckerli One", 'variant' => ''), + array( 'name' => "Snippet", 'variant' => ''), + array( 'name' => "Ovo", 'variant' => ''), + array( 'name' => "IM Fell English", 'variant' => ':r,i'), + array( 'name' => "IM Fell English SC", 'variant' => ''), + array( 'name' => "Gloria Hallelujah", 'variant' => ''), + array( 'name' => "Kelly Slab", 'variant' => ''), + array( 'name' => "Black Ops One", 'variant' => ''), + array( 'name' => "Carme", 'variant' => ''), + array( 'name' => "Aubrey", 'variant' => ''), + array( 'name' => "Federo", 'variant' => ''), + array( 'name' => "Delius", 'variant' => ''), + array( 'name' => "Rochester", 'variant' => ''), + array( 'name' => "Rationale", 'variant' => ''), + array( 'name' => "Abel", 'variant' => ''), + array( 'name' => "Marvel", 'variant' => ':r,b,i,bi'), + array( 'name' => "Actor", 'variant' => ''), + array( 'name' => "Delius Swash Caps", 'variant' => ''), + array( 'name' => "Smokum", 'variant' => ''), + array( 'name' => "Tulpen One", 'variant' => ''), + array( 'name' => "Coustard", 'variant' => ':r,b'), + array( 'name' => "Andika", 'variant' => ''), + array( 'name' => "Alice", 'variant' => ''), + array( 'name' => "Questrial", 'variant' => ''), + array( 'name' => "Comfortaa", 'variant' => ':r,b'), + array( 'name' => "Geostar", 'variant' => ''), + array( 'name' => "Geostar Fill", 'variant' => ''), + array( 'name' => "Volkhov", 'variant' => ''), + array( 'name' => "Voltaire", 'variant' => ''), + array( 'name' => "Montez", 'variant' => ''), + array( 'name' => "Short Stack", 'variant' => ''), + array( 'name' => "Vidaloka", 'variant' => ''), + array( 'name' => "Aldrich", 'variant' => ''), + array( 'name' => "Numans", 'variant' => ''), + array( 'name' => "Days One", 'variant' => ''), + array( 'name' => "Gentium Book Basic", 'variant' => ''), + array( 'name' => "Monoton", 'variant' => ''), + array( 'name' => "Alike", 'variant' => ''), + array( 'name' => "Delius Unicase", 'variant' => ''), + array( 'name' => "Abril Fatface", 'variant' => ''), + array( 'name' => "Dorsa", 'variant' => ''), + array( 'name' => "Antic", 'variant' => ''), + array( 'name' => "Passero One", 'variant' => ''), + array( 'name' => "Fanwood Text", 'variant' => ''), + array( 'name' => "Prociono", 'variant' => ''), + array( 'name' => "Merienda One", 'variant' => ''), + array( 'name' => "Changa One", 'variant' => ''), + array( 'name' => "Julee", 'variant' => ''), + array( 'name' => "Prata", 'variant' => ''), + array( 'name' => "Adamina", 'variant' => ''), + array( 'name' => "Sorts Mill Goudy", 'variant' => ''), + array( 'name' => "Terminal Dosis", 'variant' => ''), + array( 'name' => "Sansita One", 'variant' => ''), + array( 'name' => "Chivo", 'variant' => ''), + array( 'name' => "Spinnaker", 'variant' => ''), + array( 'name' => "Poller One", 'variant' => ''), + array( 'name' => "Alike Angular", 'variant' => ''), + array( 'name' => "Gochi Hand", 'variant' => ''), + array( 'name' => "Poly", 'variant' => ''), + array( 'name' => "Andada", 'variant' => ''), + array( 'name' => "Federant", 'variant' => ''), + array( 'name' => "Ubuntu Condensed", 'variant' => ''), + array( 'name' => "Ubuntu Mono", 'variant' => ''), + array( 'name' => "Sancreek", 'variant' => ''), + array( 'name' => "Coda", 'variant' => ''), + array( 'name' => "Rancho", 'variant' => ''), + array( 'name' => "Satisfy", 'variant' => ''), + array( 'name' => "Pinyon Script", 'variant' => ''), + array( 'name' => "Vast Shadow", 'variant' => ''), + array( 'name' => "Marck Script", 'variant' => ''), + array( 'name' => "Salsa", 'variant' => ''), + array( 'name' => "Amatic SC", 'variant' => ''), + array( 'name' => "Quicksand", 'variant' => ''), + array( 'name' => "Linden Hill", 'variant' => ''), + array( 'name' => "Corben", 'variant' => ''), + array( 'name' => "Creepster Caps", 'variant' => ''), + array( 'name' => "Butcherman Caps", 'variant' => ''), + array( 'name' => "Eater Caps", 'variant' => ''), + array( 'name' => "Nosifer Caps", 'variant' => ''), + array( 'name' => "Atomic Age", 'variant' => ''), + array( 'name' => "Contrail One", 'variant' => ''), + array( 'name' => "Jockey One", 'variant' => ''), + array( 'name' => "Cabin Sketch", 'variant' => ':r,b'), + array( 'name' => "Cabin Condensed", 'variant' => ':r,b'), + array( 'name' => "Fjord One", 'variant' => ''), + array( 'name' => "Rametto One", 'variant' => ''), + array( 'name' => "Mate", 'variant' => ':r,i'), + array( 'name' => "Mate SC", 'variant' => ''), + array( 'name' => "Arapey", 'variant' => ':r,i'), + array( 'name' => "Supermercado One", 'variant' => ''), + array( 'name' => "Petrona", 'variant' => ''), + array( 'name' => "Lancelot", 'variant' => ''), + array( 'name' => "Convergence", 'variant' => ''), + array( 'name' => "Cutive", 'variant' => ''), + array( 'name' => "Karla", 'variant' => ':400,400italic,700,700italic'), + array( 'name' => "Bitter", 'variant' => ':r,i,b'), + array( 'name' => "Asap", 'variant' => ':400,700,400italic,700italic'), + array( 'name' => "Bree Serif", 'variant' => '') + +); + + +/*-----------------------------------------------------------------------------------*/ +/* Google Webfonts Stylesheet Generator */ +/*-----------------------------------------------------------------------------------*/ +/* +INSTRUCTIONS: Needs to be loaded for the Google Fonts options to work for font options. Add this to +the specific themes includes/theme-actions.php or functions.php: + +add_action( 'wp_head', 'woo_google_webfonts' ); +*/ + +if ( ! function_exists( 'woo_google_webfonts' ) ) { + function woo_google_webfonts() { + global $google_fonts; + $fonts = ''; + $output = ''; + + // Setup Woo Options array + global $woo_options; + + // Go through the options + if ( !empty($woo_options) ) { + foreach ( $woo_options as $option ) { + // Check if option has "face" in array + if ( is_array($option) && isset($option['face']) ) { + // Go through the google font array + foreach ($google_fonts as $font) { + // Check if the google font name exists in the current "face" option + if ( $option['face'] == $font['name'] AND !strstr($fonts, $font['name']) ) { + // Add google font to output + $fonts .= $font['name'].$font['variant']."|"; + } // End If Statement + } // End Foreach Loop + } // End If Statement + } // End Foreach Loop + + // Output google font css in header + if ( $fonts ) { + $fonts = str_replace( " ","+",$fonts); + $output .= "\n\n"; + $output .= ''."\n"; + $output = str_replace( '|"','"',$output); + + echo $output; + } + } + } // End woo_google_webfonts() +} + + +/*-----------------------------------------------------------------------------------*/ +/* Enable Home link in WP Menus +/*-----------------------------------------------------------------------------------*/ +if ( !function_exists( 'woo_home_page_menu_args' ) ) { + function woo_home_page_menu_args( $args ) { + $args['show_home'] = true; + return $args; + } // End woo_home_page_menu_args() + add_filter( 'wp_page_menu_args', 'woo_home_page_menu_args' ); +} + +/*---------------------------------------------------------------------------------*/ +/* Detects the Charset of String and Converts it to UTF-8 */ +/*---------------------------------------------------------------------------------*/ +if ( !function_exists( 'woo_encoding_convert') ) { + function woo_encoding_convert($str_to_convert) { + if ( function_exists( 'mb_detect_encoding') ) { + $str_lang_encoding = mb_detect_encoding($str_to_convert); + //if no encoding detected, assume UTF-8 + if (!$str_lang_encoding) { + //UTF-8 assumed + $str_lang_converted_utf = $str_to_convert; + } else { + //Convert to UTF-8 + $str_lang_converted_utf = mb_convert_encoding($str_to_convert, 'UTF-8', $str_lang_encoding); + } + } else { + $str_lang_converted_utf = $str_to_convert; + } + + return $str_lang_converted_utf; + } +} + +/*---------------------------------------------------------------------------------*/ +/* WP Login logo */ +/*---------------------------------------------------------------------------------*/ +if ( !function_exists( 'woo_custom_login_logo' ) ) { + function woo_custom_login_logo() { + $logo = get_option( 'framework_woo_custom_login_logo' ); + $dimensions = @getimagesize( $logo ); + $background_size = 'background-size: auto;'; + if ( 0 >= $dimensions[1] ) { + $dimensions[1] = '67'; + $background_size = ''; + } + + echo ''; + } // End woo_custom_login_logo() + if ( '' != get_option( 'framework_woo_custom_login_logo') ) { + add_action( 'login_head', 'woo_custom_login_logo' ); + } +} + +/*---------------------------------------------------------------------------------*/ +/* WP Login logo URL */ +/*---------------------------------------------------------------------------------*/ +if ( ! function_exists( 'woo_custom_login_logo_url' ) ) { + function woo_custom_login_logo_url( $text ) { + return get_option( 'framework_woo_custom_login_logo_url' ); // Escaping via esc_url() is done in wp-login.php. + } // End woo_custom_login_logo_url() + + if ( '' != get_option( 'framework_woo_custom_login_logo_url' ) ) { + add_filter( 'login_headerurl', 'woo_custom_login_logo_url', 10 ); + } +} + +/*---------------------------------------------------------------------------------*/ +/* WP Login logo title */ +/*---------------------------------------------------------------------------------*/ +if ( ! function_exists( 'woo_custom_login_logo_title' ) ) { + function woo_custom_login_logo_title( $text ) { + return get_option( 'framework_woo_custom_login_logo_title' ); // Escaping via esc_attr() is done in wp-login.php. + } // End woo_custom_login_logo_title() + + if ( '' != get_option( 'framework_woo_custom_login_logo_title' ) ) { + add_filter( 'login_headertitle', 'woo_custom_login_logo_title', 10 ); + } +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_pagination() - Custom loop pagination function */ +/*-----------------------------------------------------------------------------------*/ +/* +/* Additional documentation: http://codex.wordpress.org/Function_Reference/paginate_links +/* +/* Params: +/* +/* Arguments Array: +/* +/* 'base' (optional) - The query argument on which to determine the pagination (for advanced users) +/* 'format' (optional) - The format in which the query argument is formatted in it's raw format (for advanced users) +/* 'total' (optional) - The total amount of pages +/* 'current' (optional) - The current page number +/* 'prev_next' (optional) - Whether to include the previous and next links in the list or not. +/* 'prev_text' (optional) - The previous page text. Works only if 'prev_next' argument is set to true. +/* 'next_text' (optional) - The next page text. Works only if 'prev_next' argument is set to true. +/* 'show_all' (optional) - If set to True, then it will show all of the pages instead of a short list of the pages near the current page. By default, the 'show_all' is set to false and controlled by the 'end_size' and 'mid_size' arguments. +/* 'end_size' (optional) - How many numbers on either the start and the end list edges. +/* 'mid_size' (optional) - How many numbers to either side of current page, but not including current page. +/* 'add_fragment' (optional) - An array of query args to add using add_query_arg(). +/* 'type' (optional) - Controls format of the returned value. Possible values are: + 'plain' - A string with the links separated by a newline character. + 'array' - An array of the paginated link list to offer full control of display. + 'list' - Unordered HTML list. +/* 'before' (optional) - The HTML to display before the paginated links. +/* 'after' (optional) - The HTML to display after the paginated links. +/* 'echo' (optional) - Whether or not to display the paginated links (alternative is to "return"). +/* 'use_search_permastruct' (optiona;) - Whether or not to use the "pretty" URL permastruct for search URLs. +/* +/* Query Parameter (optional) - Specify a custom query which you'd like to paginate. +/* +/*-----------------------------------------------------------------------------------*/ +/** + * woo_pagination() is used for paginating the various archive pages created by WordPress. This is not + * to be used on single.php or other single view pages. + * + * @since 3.7.0 + * @uses paginate_links() Creates a string of paginated links based on the arguments given. + * @param array $args Arguments to customize how the page links are output. + * @param object $query An optional custom query to paginate. + */ + +if ( ! function_exists( 'woo_pagination' ) ) { + function woo_pagination( $args = array(), $query = '' ) { + global $wp_rewrite, $wp_query; + + do_action( 'woo_pagination_start' ); + + if ( $query ) { + + $wp_query = $query; + + } // End IF Statement + + /* If there's not more than one page, return nothing. */ + if ( 1 >= $wp_query->max_num_pages ) + return; + + /* Get the current page. */ + $current = ( get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1 ); + + /* Get the max number of pages. */ + $max_num_pages = intval( $wp_query->max_num_pages ); + + /* Set up some default arguments for the paginate_links() function. */ + $defaults = array( + 'base' => add_query_arg( 'paged', '%#%' ), + 'format' => '', + 'total' => $max_num_pages, + 'current' => $current, + 'prev_next' => true, + 'prev_text' => __( '← Previous', 'woothemes' ), // Translate in WordPress. This is the default. + 'next_text' => __( 'Next →', 'woothemes' ), // Translate in WordPress. This is the default. + 'show_all' => false, + 'end_size' => 1, + 'mid_size' => 1, + 'add_fragment' => '', + 'type' => 'plain', + 'before' => '', + 'echo' => true, + 'use_search_permastruct' => true + ); + + /* Allow themes/plugins to filter the default arguments. */ + $defaults = apply_filters( 'woo_pagination_args_defaults', $defaults ); + + /* Add the $base argument to the array if the user is using permalinks. */ + if( $wp_rewrite->using_permalinks() && ! is_search() ) + $defaults['base'] = user_trailingslashit( trailingslashit( get_pagenum_link() ) . 'page/%#%' ); + + /* Force search links to use raw permastruct for more accurate multi-word searching. */ + if ( is_search() ) + $defaults['use_search_permastruct'] = false; + + /* If we're on a search results page, we need to change this up a bit. */ + if ( is_search() ) { + /* If we're in BuddyPress, or the user has selected to do so, use the default "unpretty" URL structure. */ + if ( class_exists( 'BP_Core_User' ) || $defaults['use_search_permastruct'] == false ) { + $search_query = get_query_var( 's' ); + $paged = get_query_var( 'paged' ); + $base = add_query_arg( 's', urlencode( $search_query ) ); + $base = add_query_arg( 'paged', '%#%' ); + $defaults['base'] = $base; + } else { + $search_permastruct = $wp_rewrite->get_search_permastruct(); + if ( ! empty( $search_permastruct ) ) { + $base = get_search_link(); + $base = add_query_arg( 'paged', '%#%', $base ); + $defaults['base'] = $base; + } + } + } + + /* Merge the arguments input with the defaults. */ + $args = wp_parse_args( $args, $defaults ); + + /* Allow developers to overwrite the arguments with a filter. */ + $args = apply_filters( 'woo_pagination_args', $args ); + + /* Don't allow the user to set this to an array. */ + if ( 'array' == $args['type'] ) + $args['type'] = 'plain'; + + /* Make sure raw querystrings are displayed at the end of the URL, if using pretty permalinks. */ + $pattern = '/\?(.*?)\//i'; + + preg_match( $pattern, $args['base'], $raw_querystring ); + + if( $wp_rewrite->using_permalinks() && $raw_querystring ) + $raw_querystring[0] = str_replace( '', '', $raw_querystring[0] ); + @$args['base'] = str_replace( $raw_querystring[0], '', $args['base'] ); + @$args['base'] .= substr( $raw_querystring[0], 0, -1 ); + + /* Get the paginated links. */ + $page_links = paginate_links( $args ); + + /* Remove 'page/1' from the entire output since it's not needed. */ + $page_links = str_replace( array( '&paged=1\'', '/page/1\'' ), '\'', $page_links ); + + /* Wrap the paginated links with the $before and $after elements. */ + $page_links = $args['before'] . $page_links . $args['after']; + + /* Allow devs to completely overwrite the output. */ + $page_links = apply_filters( 'woo_pagination', $page_links ); + + do_action( 'woo_pagination_end' ); + + /* Return the paginated links for use in themes. */ + if ( $args['echo'] ) + echo $page_links; + else + return $page_links; + } // End woo_pagination() +} // End IF Statement + +/*-----------------------------------------------------------------------------------*/ +/* woo_breadcrumbs() - Custom breadcrumb generator function */ +/* +/* Params: +/* +/* Arguments Array: +/* +/* 'separator' - The character to display between the breadcrumbs. +/* 'before' - HTML to display before the breadcrumbs. +/* 'after' - HTML to display after the breadcrumbs. +/* 'front_page' - Include the front page at the beginning of the breadcrumbs. +/* 'show_home' - If $show_home is set and we're not on the front page of the site, link to the home page. +/* 'echo' - Specify whether or not to echo the breadcrumbs. Alternative is "return". +/* 'show_posts_page' - If a static front page is set and there is a posts page, toggle whether or not to display that page's tree. +/* +/*-----------------------------------------------------------------------------------*/ +/** + * The code below is inspired by Justin Tadlock's Hybrid Core. + * + * woo_breadcrumbs() shows a breadcrumb for all types of pages. Themes and plugins can filter $args or input directly. + * Allow filtering of only the $args using get_the_breadcrumb_args. + * + * @since 3.7.0 + * @param array $args Mixed arguments for the menu. + * @return string Output of the breadcrumb menu. + */ +function woo_breadcrumbs( $args = array() ) { + global $wp_query, $wp_rewrite; + + /* Create an empty variable for the breadcrumb. */ + $breadcrumb = ''; + + /* Create an empty array for the trail. */ + $trail = array(); + $path = ''; + + /* Set up the default arguments for the breadcrumb. */ + $defaults = array( + 'separator' => '>', + 'before' => '' . __( 'You are here:', 'woothemes' ) . '', + 'after' => false, + 'front_page' => true, + 'show_home' => __( 'Home', 'woothemes' ), + 'echo' => true, + 'show_posts_page' => true + ); + + /* Allow singular post views to have a taxonomy's terms prefixing the trail. */ + if ( is_singular() ) + $defaults["singular_{$wp_query->post->post_type}_taxonomy"] = false; + + /* Apply filters to the arguments. */ + $args = apply_filters( 'woo_breadcrumbs_args', $args ); + + /* Parse the arguments and extract them for easy variable naming. */ + extract( wp_parse_args( $args, $defaults ) ); + + /* If $show_home is set and we're not on the front page of the site, link to the home page. */ + if ( !is_front_page() && $show_home ) + $trail[] = '' . esc_html( $show_home ) . ''; + + /* If viewing the front page of the site. */ + if ( is_front_page() ) { + if ( !$front_page ) + $trail = false; + elseif ( $show_home ) + $trail['trail_end'] = "{$show_home}"; + } + + /* If viewing the "home"/posts page. */ + elseif ( is_home() ) { + $home_page = get_page( $wp_query->get_queried_object_id() ); + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( $home_page->post_parent, '' ) ); + $trail['trail_end'] = get_the_title( $home_page->ID ); + } + + /* If viewing a singular post (page, attachment, etc.). */ + elseif ( is_singular() ) { + + /* Get singular post variables needed. */ + $post = $wp_query->get_queried_object(); + $post_id = absint( $wp_query->get_queried_object_id() ); + $post_type = $post->post_type; + $parent = $post->post_parent; + + /* If a custom post type, check if there are any pages in its hierarchy based on the slug. */ + if ( 'page' !== $post_type && 'post' !== $post_type ) { + + $post_type_object = get_post_type_object( $post_type ); + + /* If $front has been set, add it to the $path. */ + if ( 'post' == $post_type || 'attachment' == $post_type || ( $post_type_object->rewrite['with_front'] && $wp_rewrite->front ) ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If there's a slug, add it to the $path. */ + if ( !empty( $post_type_object->rewrite['slug'] ) ) + $path .= $post_type_object->rewrite['slug']; + + /* If there's a path, check for parents. */ + if ( !empty( $path ) && '/' != $path ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* If there's an archive page, add it to the trail. */ + if ( !empty( $post_type_object->has_archive ) && function_exists( 'get_post_type_archive_link' ) ) + $trail[] = '' . $post_type_object->labels->name . ''; + } + + /* If the post type path returns nothing and there is a parent, get its parents. */ + if ( empty( $path ) && 0 !== $parent || 'attachment' == $post_type ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( $parent, '' ) ); + + /* Toggle the display of the posts page on single blog posts. */ + if ( 'post' == $post_type && $show_posts_page == true && 'page' == get_option( 'show_on_front' ) ) { + $posts_page = get_option( 'page_for_posts' ); + if ( $posts_page != '' && is_numeric( $posts_page ) ) { + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( $posts_page, '' ) ); + } + } + + /* Display terms for specific post type taxonomy if requested. */ + if ( isset( $args["singular_{$post_type}_taxonomy"] ) && $terms = get_the_term_list( $post_id, $args["singular_{$post_type}_taxonomy"], '', ', ', '' ) ) + $trail[] = $terms; + + /* End with the post title. */ + $post_title = get_the_title( $post_id ); // Force the post_id to make sure we get the correct page title. + if ( !empty( $post_title ) ) + $trail['trail_end'] = $post_title; + } + + /* If we're viewing any type of archive. */ + elseif ( is_archive() ) { + + /* If viewing a taxonomy term archive. */ + if ( is_tax() || is_category() || is_tag() ) { + + /* Get some taxonomy and term variables. */ + $term = $wp_query->get_queried_object(); + $taxonomy = get_taxonomy( $term->taxonomy ); + + /* Get the path to the term archive. Use this to determine if a page is present with it. */ + if ( is_category() ) + $path = get_option( 'category_base' ); + elseif ( is_tag() ) + $path = get_option( 'tag_base' ); + else { + if ( $taxonomy->rewrite['with_front'] && $wp_rewrite->front ) + $path = trailingslashit( $wp_rewrite->front ); + $path .= $taxonomy->rewrite['slug']; + } + + /* Get parent pages by path if they exist. */ + if ( $path ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* If the taxonomy is hierarchical, list its parent terms. */ + if ( is_taxonomy_hierarchical( $term->taxonomy ) && $term->parent ) + $trail = array_merge( $trail, woo_breadcrumbs_get_term_parents( $term->parent, $term->taxonomy ) ); + + /* Add the term name to the trail end. */ + $trail['trail_end'] = $term->name; + } + + /* If viewing a post type archive. */ + elseif ( function_exists( 'is_post_type_archive' ) && is_post_type_archive() ) { + + /* Get the post type object. */ + $post_type_object = get_post_type_object( get_query_var( 'post_type' ) ); + + /* If $front has been set, add it to the $path. */ + if ( $post_type_object->rewrite['with_front'] && $wp_rewrite->front ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If there's a slug, add it to the $path. */ + if ( !empty( $post_type_object->rewrite['archive'] ) ) + $path .= $post_type_object->rewrite['archive']; + + /* If there's a path, check for parents. */ + if ( !empty( $path ) && '/' != $path ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* Add the post type [plural] name to the trail end. */ + $trail['trail_end'] = $post_type_object->labels->name; + } + + /* If viewing an author archive. */ + elseif ( is_author() ) { + + /* If $front has been set, add it to $path. */ + if ( !empty( $wp_rewrite->front ) ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If an $author_base exists, add it to $path. */ + if ( !empty( $wp_rewrite->author_base ) ) + $path .= $wp_rewrite->author_base; + + /* If $path exists, check for parent pages. */ + if ( !empty( $path ) ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* Add the author's display name to the trail end. */ + $trail['trail_end'] = get_the_author_meta( 'display_name', get_query_var( 'author' ) ); + } + + /* If viewing a time-based archive. */ + elseif ( is_time() ) { + + if ( get_query_var( 'minute' ) && get_query_var( 'hour' ) ) + $trail['trail_end'] = get_the_time( __( 'g:i a', 'woothemes' ) ); + + elseif ( get_query_var( 'minute' ) ) + $trail['trail_end'] = sprintf( __( 'Minute %1$s', 'woothemes' ), get_the_time( __( 'i', 'woothemes' ) ) ); + + elseif ( get_query_var( 'hour' ) ) + $trail['trail_end'] = get_the_time( __( 'g a', 'woothemes' ) ); + } + + /* If viewing a date-based archive. */ + elseif ( is_date() ) { + + /* If $front has been set, check for parent pages. */ + if ( $wp_rewrite->front ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $wp_rewrite->front ) ); + + if ( is_day() ) { + $trail[] = '' . get_the_time( __( 'Y', 'woothemes' ) ) . ''; + $trail[] = '' . get_the_time( __( 'F', 'woothemes' ) ) . ''; + $trail['trail_end'] = get_the_time( __( 'j', 'woothemes' ) ); + } + + elseif ( get_query_var( 'w' ) ) { + $trail[] = '' . get_the_time( __( 'Y', 'woothemes' ) ) . ''; + $trail['trail_end'] = sprintf( __( 'Week %1$s', 'woothemes' ), get_the_time( esc_attr__( 'W', 'woothemes' ) ) ); + } + + elseif ( is_month() ) { + $trail[] = '' . get_the_time( __( 'Y', 'woothemes' ) ) . ''; + $trail['trail_end'] = get_the_time( __( 'F', 'woothemes' ) ); + } + + elseif ( is_year() ) { + $trail['trail_end'] = get_the_time( __( 'Y', 'woothemes' ) ); + } + } + } + + /* If viewing search results. */ + elseif ( is_search() ) + $trail['trail_end'] = sprintf( __( 'Search results for "%1$s"', 'woothemes' ), esc_attr( get_search_query() ) ); + + /* If viewing a 404 error page. */ + elseif ( is_404() ) + $trail['trail_end'] = __( '404 Not Found', 'woothemes' ); + + /* Allow child themes/plugins to filter the trail array. */ + $trail = apply_filters( 'woo_breadcrumbs_trail', $trail, $args ); + + /* Connect the breadcrumb trail if there are items in the trail. */ + if ( is_array( $trail ) ) { + + /* Open the breadcrumb trail containers. */ + $breadcrumb = ''; + } + + /* Allow developers to filter the breadcrumb trail HTML. */ + $breadcrumb = apply_filters( 'woo_breadcrumbs', $breadcrumb ); + + /* Output the breadcrumb. */ + if ( $echo ) + echo $breadcrumb; + else + return $breadcrumb; +} // End woo_breadcrumbs() + +/*-----------------------------------------------------------------------------------*/ +/* woo_breadcrumbs_get_parents() - Retrieve the parents of the current page/post */ +/*-----------------------------------------------------------------------------------*/ +/** + * Gets parent pages of any post type or taxonomy by the ID or Path. The goal of this function is to create + * a clear path back to home given what would normally be a "ghost" directory. If any page matches the given + * path, it'll be added. But, it's also just a way to check for a hierarchy with hierarchical post types. + * + * @since 3.7.0 + * @param int $post_id ID of the post whose parents we want. + * @param string $path Path of a potential parent page. + * @return array $trail Array of parent page links. + */ +function woo_breadcrumbs_get_parents( $post_id = '', $path = '' ) { + /* Set up an empty trail array. */ + $trail = array(); + + /* If neither a post ID nor path set, return an empty array. */ + if ( empty( $post_id ) && empty( $path ) ) + return $trail; + + /* If the post ID is empty, use the path to get the ID. */ + if ( empty( $post_id ) ) { + + /* Get parent post by the path. */ + $parent_page = get_page_by_path( $path ); + + /* ******************************************************************** + Modification: The above line won't get the parent page if + the post type slug or parent page path is not the full path as required + by get_page_by_path. By using get_page_with_title, the full parent + trail can be obtained. This may still be buggy for page names that use + characters or long concatenated names. + Author: Byron Rode + Date: 06 June 2011 + ******************************************************************* */ + + if( empty( $parent_page ) ) + // search on page name (single word) + $parent_page = get_page_by_title ( $path ); + + if( empty( $parent_page ) ) + // search on page title (multiple words) + $parent_page = get_page_by_title ( str_replace( array('-', '_'), ' ', $path ) ); + + /* End Modification */ + + /* If a parent post is found, set the $post_id variable to it. */ + if ( !empty( $parent_page ) ) + $post_id = $parent_page->ID; + } + + /* If a post ID and path is set, search for a post by the given path. */ + if ( $post_id == 0 && !empty( $path ) ) { + + /* Separate post names into separate paths by '/'. */ + $path = trim( $path, '/' ); + preg_match_all( "/\/.*?\z/", $path, $matches ); + + /* If matches are found for the path. */ + if ( isset( $matches ) ) { + + /* Reverse the array of matches to search for posts in the proper order. */ + $matches = array_reverse( $matches ); + + /* Loop through each of the path matches. */ + foreach ( $matches as $match ) { + + /* If a match is found. */ + if ( isset( $match[0] ) ) { + + /* Get the parent post by the given path. */ + $path = str_replace( $match[0], '', $path ); + $parent_page = get_page_by_path( trim( $path, '/' ) ); + + /* If a parent post is found, set the $post_id and break out of the loop. */ + if ( !empty( $parent_page ) && $parent_page->ID > 0 ) { + $post_id = $parent_page->ID; + break; + } + } + } + } + } + + /* While there's a post ID, add the post link to the $parents array. */ + while ( $post_id ) { + /* Get the post by ID. */ + $page = get_page( $post_id ); + + /* Add the formatted post link to the array of parents. */ + $parents[] = '' . esc_html( get_the_title( $post_id ) ) . ''; + + /* Set the parent post's parent to the post ID. */ + $post_id = $page->post_parent; + } + + /* If we have parent posts, reverse the array to put them in the proper order for the trail. */ + if ( isset( $parents ) ) + $trail = array_reverse( $parents ); + + /* Return the trail of parent posts. */ + return $trail; +} // End woo_breadcrumbs_get_parents() + +/*-----------------------------------------------------------------------------------*/ +/* woo_breadcrumbs_get_term_parents() - Retrieve the parents of the current term */ +/*-----------------------------------------------------------------------------------*/ +/** + * Searches for term parents of hierarchical taxonomies. This function is similar to the WordPress + * function get_category_parents() but handles any type of taxonomy. + * + * @since 3.7.0 + * @param int $parent_id The ID of the first parent. + * @param object|string $taxonomy The taxonomy of the term whose parents we want. + * @return array $trail Array of links to parent terms. + */ +function woo_breadcrumbs_get_term_parents( $parent_id = '', $taxonomy = '' ) { + /* Set up some default arrays. */ + $trail = array(); + $parents = array(); + + /* If no term parent ID or taxonomy is given, return an empty array. */ + if ( empty( $parent_id ) || empty( $taxonomy ) ) + return $trail; + + /* While there is a parent ID, add the parent term link to the $parents array. */ + while ( $parent_id ) { + + /* Get the parent term. */ + $parent = get_term( $parent_id, $taxonomy ); + + /* Add the formatted term link to the array of parent terms. */ + $parents[] = '' . $parent->name . ''; + + /* Set the parent term's parent as the parent ID. */ + $parent_id = $parent->parent; + } + + /* If we have parent terms, reverse the array to put them in the proper order for the trail. */ + if ( !empty( $parents ) ) + $trail = array_reverse( $parents ); + + /* Return the trail of parent terms. */ + return $trail; +} // End woo_breadcrumbs_get_term_parents() + +/*-----------------------------------------------------------------------------------*/ +/* WordPress Admin Bar-related */ +/*-----------------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------------*/ +/* Disable WordPress Admin Bar */ +/*-----------------------------------------------------------------------------------*/ + +$woo_admin_bar_disable = get_option( 'framework_woo_admin_bar_disable' ); + +if ( $woo_admin_bar_disable == 'true' ) { + add_filter( 'show_admin_bar', '__return_false' ); + + add_action( 'admin_print_scripts-profile.php', 'woo_hide_admin_bar_prefs' ); + + function woo_hide_admin_bar_prefs () { ?> + + user_login; + $super_user = get_option( 'framework_woo_super_user' ); + + $theme_data = wooframework_get_theme_version_data(); + + $menu_label = __( 'WooThemes', 'woothemes' ); + + // Customise menu label to the child theme's name. + if ( is_array( $theme_data ) && array_key_exists( 'theme_name', $theme_data ) ) { + $menu_label = $theme_data['theme_name']; + } + + // Main WooThemes Menu Item + $wp_admin_bar->add_menu( array( 'id' => 'woothemes', 'title' => $menu_label, 'href' => admin_url('admin.php?page=woothemes') ) ); + + // Theme Options + $wp_admin_bar->add_menu( array( 'parent' => 'woothemes', 'id' => 'woothemes-theme-options', 'title' => __( 'Theme Options', 'woothemes' ), 'href' => admin_url( 'admin.php?page=woothemes' ) ) ); + + if ( ( $super_user == $current_user_id ) || empty( $super_user ) ) { + $wp_admin_bar->add_group( array( 'parent' => 'woothemes', 'id' => 'woothemes-super-user', 'meta' => array( 'class' => 'ab-sub-secondary' ) ) ); + + // Framework Settings + $wp_admin_bar->add_menu( array( 'parent' => 'woothemes-super-user', 'id' => 'woothemes-framework-settings', 'title' => __( 'Framework Settings', 'woothemes' ), 'href' => admin_url( 'admin.php?page=woothemes_framework_settings' ) ) ); + + // Update Framework + $wp_admin_bar->add_menu( array( 'parent' => 'woothemes-super-user', 'id' => 'woothemes-update-framework', 'title' => __( 'Update Framework', 'woothemes' ), 'href' => admin_url( 'admin.php?page=woothemes_framework_update' ) ) ); + + // Theme Version Data Display + if ( true == $theme_data['is_child'] ) { + $child_theme_name = sprintf( __( 'Child Theme: %s %s', 'woothemes' ), $theme_data['child_theme_name'], $theme_data['child_theme_version'] ); + $wp_admin_bar->add_menu( array( 'parent' => 'woothemes-super-user', 'id' => 'woothemes-child-theme-version-data', 'title' => $child_theme_name ) ); + } + + $theme_name = sprintf( __( 'Theme: %s %s', 'woothemes' ), $theme_data['theme_name'], $theme_data['theme_version'] ); + $wp_admin_bar->add_menu( array( 'parent' => 'woothemes-super-user', 'id' => 'woothemes-theme-version-data', 'title' => $theme_name ) ); + + $framework_version = sprintf( __( 'WooFramework: %s', 'woothemes' ), $theme_data['framework_version'] ); + $wp_admin_bar->add_menu( array( 'parent' => 'woothemes-super-user', 'id' => 'woothemes-framework-version-data', 'title' => $framework_version ) ); + } // End IF Statement +} // End woo_admin_bar_menu() + +/*-----------------------------------------------------------------------------------*/ +/* woo_prepare_category_ids_from_option() + * + * Setup an array of category IDs, from a given theme option. + * Attempt to transform category slugs into ID values as well. + * + * Params: String $option + * Return: Array $cats +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_prepare_category_ids_from_option' ) ) { + function woo_prepare_category_ids_from_option ( $option ) { + $cats = array(); + + $stored_cats = get_option( $option ); + + $cats_raw = explode( ',', $stored_cats ); + + if ( is_array( $cats_raw ) && ( count( $cats_raw ) > 0 ) ) { + foreach ( $cats_raw as $k => $v ) { + $value = trim( $v ); + + if ( is_numeric( $value ) ) { + $cats_raw[$k] = $value; + } else { + $cat_obj = get_category_by_slug( $value ); + if ( isset( $cat_obj->term_id ) ) { + $cats_raw[$k] = $cat_obj->term_id; + } + } + + $cats = $cats_raw; + } + } + + return $cats; + } // End woo_prepare_category_ids_from_option() +} + +/*-----------------------------------------------------------------------------------*/ +/* Move tracking code from footer to header */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'init', 'woo_move_tracking_code', 20 ); + +function woo_move_tracking_code () { + $move_code = get_option( 'framework_woo_move_tracking_code' ); + + if ( ! is_admin() && isset( $move_code ) && ( $move_code == 'true' ) ) { + remove_action( 'wp_footer', 'woo_analytics' ); + add_action( 'wp_head', 'woo_analytics', 10 ); + } +} // End woo_move_tracking_code() + + +/*-----------------------------------------------------------------------------------*/ +/* woo_get_dynamic_value() */ +/* Replace values in a provided array with theme options, if available. */ +/* +/* $settings array should resemble: $settings = array( 'theme_option_without_woo_' => 'default_value' ); +/* +/* @since 4.4.4 */ +/*-----------------------------------------------------------------------------------*/ + +function woo_get_dynamic_values ( $settings ) { + global $woo_options; + + if ( is_array( $woo_options ) ) { + foreach ( $settings as $k => $v ) { + if ( isset( $woo_options['woo_' . $k] ) && ( $woo_options['woo_' . $k] != '' ) ) { $settings[$k] = $woo_options['woo_' . $k]; } + } + } + + return $settings; +} // End woo_get_dynamic_values() + +/*-----------------------------------------------------------------------------------*/ +/* woo_get_posts_by_taxonomy() +/* +/* Selects posts based on specified taxonomies. +/* +/* @since 4.5.0 +/* @param array $args +/* @return array $posts +/*-----------------------------------------------------------------------------------*/ + + function woo_get_posts_by_taxonomy ( $args = null ) { + global $wp_query; + + $posts = array(); + + /* Parse arguments, and declare individual variables for each. */ + + $defaults = array( + 'limit' => 5, + 'post_type' => 'any', + 'taxonomies' => 'post_tag, category', + 'specific_terms' => '', + 'relationship' => 'OR', + 'order' => 'DESC', + 'orderby' => 'date', + 'operator' => 'IN', + 'exclude' => '' + ); + + $args = wp_parse_args( $args, $defaults ); + + extract( $args, EXTR_SKIP ); + + // Make sure the order value is safe. + if ( ! in_array( $order, array( 'ASC', 'DESC' ) ) ) { $order = $defaults['order']; } + + // Make sure the orderby value is safe. + if ( ! in_array( $orderby, array( 'none', 'id', 'author', 'title', 'date', 'modified', 'parent', 'rand', 'comment_count', 'menu_order' ) ) ) { $orderby = $defaults['orderby']; } + + // Make sure the operator value is safe. + if ( ! in_array( $operator, array( 'IN', 'NOT IN', 'AND' ) ) ) { $orderby = $defaults['operator']; } + + // Convert our post types to an array. + if ( ! is_array( $post_type ) ) { $post_type = explode( ',', $post_type ); } + + // Convert our taxonomies to an array. + if ( ! is_array( $taxonomies ) ) { $taxonomies = explode( ',', $taxonomies ); } + + // Convert exclude to an array. + if ( ! is_array( $exclude ) && ( $exclude != '' ) ) { $exclude = explode( ',', $exclude ); } + + if ( ! count( (array)$taxonomies ) ) { return; } + + // Clean up our taxonomies for use in the query. + if ( count( $taxonomies ) ) { + foreach ( $taxonomies as $k => $v ) { + $taxonomies[$k] = trim( $v ); + } + } + + // Determine which terms we're going to relate to this entry. + $related_terms = array(); + + foreach ( $taxonomies as $t ) { + $terms = get_terms( $t, 'orderby=id&hide_empty=1' ); + + if ( ! empty( $terms ) ) { + foreach ( $terms as $k => $v ) { + $related_terms[$t][$v->term_id] = $v->slug; + } + } + } + + // If specific terms are available, use those. + if ( ! is_array( $specific_terms ) ) { $specific_terms = explode( ',', $specific_terms ); } + + if ( count( $specific_terms ) ) { + foreach ( $specific_terms as $k => $v ) { + $specific_terms[$k] = trim( $v ); + } + } + + // Look for posts with the same terms. + + // Setup query arguments. + $query_args = array(); + + if ( $post_type ) { $query_args['post_type'] = $post_type; } + + if ( $limit ) { + $query_args['posts_per_page'] = $limit; + // $query_args['nopaging'] = true; + } + + // Setup specific posts to exclude. + if ( count( $exclude ) > 0 ) { + $query_args['post__not_in'] = $exclude; + } + + $query_args['order'] = $order; + $query_args['orderby'] = $orderby; + + $query_args['tax_query'] = array(); + + // Setup for multiple taxonomies. + + if ( count( $related_terms ) > 1 ) { + $query_args['tax_query']['relation'] = $args['relationship']; + } + + // Add the taxonomies to the query arguments. + + foreach ( (array)$related_terms as $k => $v ) { + $terms_for_search = array_values( $v ); + + if ( count( $specific_terms ) ) { + $specific_terms_by_tax = array(); + + foreach ( $specific_terms as $i => $j ) { + if ( in_array( $j, array_values( $v ) ) ) { + $specific_terms_by_tax[] = $j; + } + } + + if ( count( $specific_terms_by_tax ) ) { + $terms_for_search = $specific_terms_by_tax; + } + } + + $query_args['tax_query'][] = array( + 'taxonomy' => $k, + 'field' => 'slug', + 'terms' => $terms_for_search, + 'operator' => $operator + ); + } + + if ( empty( $query_args['tax_query'] ) ) { return; } + + $query_saved = $wp_query; + + $query = new WP_Query( $query_args ); + + if ( $query->have_posts() ) { + while( $query->have_posts() ) { + $query->the_post(); + + $posts[] = $query->post; + } + } + + $query = $query_saved; + + wp_reset_query(); + + return $posts; + } // End woo_get_posts_by_taxonomy() + +/*-----------------------------------------------------------------------------------*/ +/* If the user has specified a "posts page", load the "Blog" page template there */ +/*-----------------------------------------------------------------------------------*/ + +add_filter( 'template_include', 'woo_load_posts_page_blog_template', 10 ); + +if ( ! function_exists( 'woo_load_posts_page_blog_template' ) ) { + function woo_load_posts_page_blog_template ( $template ) { + if ( 'page' == get_option( 'show_on_front' ) && ( '' != get_option( 'page_for_posts' ) ) && is_home() ) { + $tpl = locate_template( array( 'template-blog.php' ) ); + if ( $tpl != '' ) { $template = $tpl; } + } + return $template; + } // End woo_load_posts_page_blog_template() +} + +/*-----------------------------------------------------------------------------------*/ +/* PressTrends API Integration */ +/*-----------------------------------------------------------------------------------*/ + +/** + * woo_presstrends function. + * + * @description Send data to the PressTrends API. + * @access public + * @return void + */ + +if ( defined( 'WOO_PRESSTRENDS_THEMEKEY' ) ) { + if ( get_option( 'framework_woo_presstrends_enable', 'false' ) == 'true' ) { + add_action( 'admin_footer', 'woo_presstrends', 100 ); + } +} + +function woo_presstrends () { + if ( ! defined( 'WOO_PRESSTRENDS_THEMEKEY' ) ) { return; } + + // Add your PressTrends API Keys + $api_key = 'ypvilflyjb7yyht8as1u2k0no3rxbgl2p4a9'; + $auth = WOO_PRESSTRENDS_THEMEKEY; + + // Check if we have cached data. + $data = get_transient( 'woo_presstrends_data' ); + + if ( ! $data || $data == '' ) { + global $wpdb; + + // Don't edit below + $api_base = 'http://api.presstrends.io/index.php/api/sites/add/auth/'; + $url = $api_base . $auth . '/api/' . $api_key . '/'; + + $count_posts = wp_count_posts(); + $count_pages = wp_count_posts( 'page' ); + $comments_count = wp_count_comments(); + + // Custom WooFramework way of getting theme data. + $theme_data = wooframework_get_theme_version_data(); + $theme_name = $theme_data['theme_name']; + $theme_version = $theme_data['theme_version']; + + $plugin_name = '&'; + foreach ( get_plugins() as $plugin_info ) { + $plugin_name .= $plugin_info['Name'] . '&'; + } + $posts_with_comments = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts WHERE post_type='post' AND comment_count > 0" ); + $data = array( + 'url' => stripslashes( str_replace( array( 'http://', '/', ':' ), '', site_url() ) ), + 'posts' => $count_posts->publish, + 'pages' => $count_pages->publish, + 'comments' => $comments_count->total_comments, + 'approved' => $comments_count->approved, + 'spam' => $comments_count->spam, + 'pingbacks' => $wpdb->get_var( "SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_type = 'pingback'" ), + 'post_conversion' => ( $count_posts->publish > 0 && $posts_with_comments > 0 ) ? number_format( ( $posts_with_comments / $count_posts->publish ) * 100, 0, '.', '' ) : 0, + 'theme_version' => $theme_version, + 'theme_name' => $theme_name, + 'site_name' => str_replace( ' ', '', get_bloginfo( 'name' ) ), + 'plugins' => count( get_option( 'active_plugins' ) ), + 'plugin' => urlencode( $plugin_name ), + 'wpversion' => get_bloginfo( 'version' ), + 'api_version' => '2.4' + ); + + foreach ( $data as $k => $v ) { + $url .= $k . '/' . $v . '/'; + } + + // Perform the remote request. + $response = wp_remote_get( $url ); + + if ( is_wp_error( $response ) || wp_remote_retrieve_response_code( $response ) != 200 ) { + // Silence is golden. + } else { + set_transient( 'woo_presstrends_data', $data, 60*60*24 ); + } + } +} // End woo_presstrends() + +/*-----------------------------------------------------------------------------------*/ +/* THE END */ +/*-----------------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------------*/ +/* WooDojo Download Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'install_plugins' ) && ! class_exists( 'WooDojo' ) ) { + add_action( 'wooframework_container_inside', 'wooframework_add_woodojo_banner' ); +} + +if ( defined( 'WOO_PRESSTRENDS_THEMEKEY' ) && is_admin() && current_user_can( 'switch_themes' ) && isset( $_GET['activated'] ) && ( $_GET['activated'] == 'true' ) ) { + add_action( 'wooframework_container_inside', 'wooframework_add_presstrends_banner' ); +} + +add_action( 'wp_ajax_wooframework_banner_close', 'wooframework_ajax_banner_close' ); + +/** + * Add a WooDojo banner on the Theme Options screen. + * @since 5.3.4 + * @return void + */ +function wooframework_add_woodojo_banner () { + if ( get_user_setting( 'wooframeworkhidebannerwoodojo', '0' ) == '1' ) { return; } + + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=woodojo' ), 'wooframework_banner_close' ); + $html = ''; + + $html .= '
' . "\n"; + $html .= '' . __( 'Enhance your theme with WooDojo.', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'WooDojo is a powerful WooThemes features suite for enhancing your website. Learn more.', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'Get WooDojo', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
' . "\n"; + + echo $html; +} // End wooframework_add_woodojo_banner() + +/** + * Add a PressTrends banner on the Theme Options screen on first activation. + * @since 5.3.4 + * @return void + */ +function wooframework_add_presstrends_banner () { + if ( get_user_setting( 'wooframeworkhidebannerpresstrends', '0' ) == '1' ) { return; } + + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=presstrends' ), 'wooframework_banner_close' ); + $html = ''; + + $html .= '
' . "\n"; + $html .= '' . __( 'Enable PressTrends', 'woothemes' ) . '' . "\n"; + $html .= '' . sprintf( __( 'PressTrends is a simple usage tracker that allows us to see how our customers are using WooThemes themes - so that we can help improve them for you. %sNone%s of your personal data is sent to PressTrends.', 'woothemes' ), '
', '' ) . '
' . "\n"; + $html .= '' . __( 'Enable PressTrends', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
' . "\n"; + + echo $html; +} // End wooframework_add_presstrends_banner() + +/** + * wooframework_ajax_banner_close function. + * + * @access public + * @since 1.0.0 + */ +function wooframework_ajax_banner_close () { + if( ! current_user_can( 'install_plugins' ) ) wp_die( __( 'You do not have sufficient permissions to access this page.', 'woothemes' ) ); + + if( ! check_admin_referer( 'wooframework_banner_close' ) ) wp_die( __( 'You have taken too long. Please go back and retry.', 'woothemes' ) ); + + $banner = ( isset( $_GET['banner'] ) ) ? $_GET['banner'] : ''; + + if( ! $banner ) die; + + // Run the update. + $response = set_user_setting( 'wooframeworkhidebanner' . $banner, '1' ); + + $sendback = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'ids' ), wp_get_referer() ); + wp_safe_redirect( $sendback ); + exit; +} // End toggle_notifications_status() + +/*-----------------------------------------------------------------------------------*/ +/* WooSEO Deprecation Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'install_plugins' ) && isset( $_GET['page'] ) && ( $_GET['page'] == 'woothemes' || $_GET['page'] == 'woothemes_framework_settings' ) ) { + add_action( 'wooframework_container_inside', 'wooframework_add_wooseosbm_banner' ); + add_action( 'wooframework_wooframeworksettings_container_inside', 'wooframework_add_wooseosbm_banner' ); +} + +/** + * Add a WooSEO Deprecation banner on the WooSEO Options screen. + * @since 5.4.0 + * @return void + */ +function wooframework_add_wooseosbm_banner () { + if ( get_user_setting( 'wooframeworkhidebannerwooseosbmremoved', '0' ) == '1' ) { return; } + + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=wooseosbmremoved' ), 'wooframework_banner_close' ); + $html = ''; + + $html .= '
' . "\n"; + $html .= '' . __( 'WooSEO and Sidebar Manager have been removed from version 5.5.0 of the WooFramework.', 'woothemes' ) . '' . "\n"; + $html .= '' . sprintf( __( 'For your SEO needs, we encourage you to use the %1$s.', 'woothemes' ), '' . __( 'WordPress SEO Plugin', 'woothemes' ) . '' ) . '' . __( 'If you need help moving your existing SEO data, WordPress SEO has a built-in importer to move your data over.', 'woothemes' ) . '' . "\n"; + $html .= '

' . sprintf( __( 'While the Sidebar Manager has been removed, we encourage you to download %1$s in our free plugin, %2$s. There is also a Sidebar Manager to WooSidebars Converter plugin, available through WooDojo.', 'woothemes' ), '' . __( 'WooSidebars', 'woothemes' ) . '', '' . __( 'WooDojo', 'woothemes' ) . '' ) . '' . "\n"; + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
' . "\n"; + + echo $html; +} // End wooframework_add_wooseosbm_banner() + +/*-----------------------------------------------------------------------------------*/ +/* Timthumb Detection Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'install_plugins' ) ) { + add_action( 'wooframework_wooframeworksettings_container_inside', 'wooframework_add_wootimthumb_banner' ); + add_action( 'wooframework_container_inside', 'wooframework_add_wootimthumb_banner' ); +} + +/** + * Add a Timthumb Detection banner on all WooThemes Options screens. + * @since 5.4.0 + * @return void + */ +function wooframework_add_wootimthumb_banner () { + if ( get_user_setting( 'wooframeworkhidebannerwootimthumb', '0' ) == '1' ) { return; } + + // Test for old timthumb scripts + $thumb_php_test = file_exists( get_template_directory() . '/thumb.php' ); + $timthumb_php_test = file_exists( get_template_directory() . '/timthumb.php' ); + + if ( $thumb_php_test || $timthumb_php_test ) { + $theme_dir = str_replace( WP_CONTENT_DIR, '', get_template_directory() ); + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=wootimthumb' ), 'wooframework_banner_close' ); + $html = ''; + + $html .= '
' . "\n"; + $html .= '' . __( 'ATTENTION: Insecure Version of Timthumb Image Resize Script Detected', 'woothemes' ) . '' . "\n"; + $html .= '' . __( "A possible old version of the TimThumb script was detected in your theme folder. Please remove the following files from your theme as a security precaution", 'woothemes' ) . ':' . "\n"; + if ( $thumb_php_test ) { $html .= '- thumb.php ( found at ' . $theme_dir . '/thumb.php' . ' )' . "\n"; } + if ( $timthumb_php_test ) { $html .= '- timthumb.php ( found at ' . $theme_dir . '/timthumb.php' . ' )' . "\n"; } + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
' . "\n"; + + echo $html; + } else { + return; + } + +} // End wooframework_add_wootimthumb_banner() + +/*-----------------------------------------------------------------------------------*/ +/* Static Front Page Detection Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'manage_options' ) && ( 0 < intval( get_option( 'page_on_front' ) ) ) ) { + add_action( 'wooframework_container_inside', 'wooframework_add_static_front_page_banner' ); +} + +/** + * Add a Static Front Page Detection banner on all WooThemes Options screens. + * @since 5.5.2 + * @return void + */ +function wooframework_add_static_front_page_banner () { + if ( get_user_setting( 'wooframeworkhidebannerstaticfrontpage', '0' ) == '1' ) { return; } + $theme_data = wooframework_get_theme_version_data(); + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=staticfrontpage' ), 'wooframework_banner_close' ); + $html = ''; + $html .= '
' . "\n"; + $html .= '' . sprintf( __( 'You have setup a static front page in %1$sSettings > Reading%2$s. Please set it to show "Your latest posts" if you want to display the default homepage in %3$s.', 'woothemes' ), '', '', $theme_data['theme_name'], '', '' ) . '' . "\n"; + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
' . "\n"; + + echo $html; +} // End wooframework_add_static_front_page_banner() + +/** + * Get the version data for the currently active theme. + * @since 5.4.2 + * @return array [theme_version, theme_name, framework_version, is_child, child_theme_version, child_theme_name] + */ +if ( ! function_exists( 'wooframework_get_theme_version_data' ) ) { +function wooframework_get_theme_version_data () { + $response = array( + 'theme_version' => '', + 'theme_name' => '', + 'framework_version' => get_option( 'woo_framework_version' ), + 'is_child' => is_child_theme(), + 'child_theme_version' => '', + 'child_theme_name' => '' + ); + + if ( function_exists( 'wp_get_theme' ) ) { + $theme_data = wp_get_theme(); + if ( true == $response['is_child'] ) { + $response['theme_version'] = $theme_data->parent()->Version; + $response['theme_name'] = $theme_data->parent()->Name; + + $response['child_theme_version'] = $theme_data->Version; + $response['child_theme_name'] = $theme_data->Name; + } else { + $response['theme_version'] = $theme_data->Version; + $response['theme_name'] = $theme_data->Name; + } + } else { + $theme_data = get_theme_data( get_template_directory() . '/style.css' ); + $response['theme_version'] = $theme_data['Version']; + $response['theme_name'] = $theme_data['Name']; + + if ( true == $response['is_child'] ) { + $theme_data = get_theme_data( get_stylesheet_directory() . '/style.css' ); + $response['child_theme_version'] = $theme_data['Version']; + $response['child_theme_name'] = $theme_data['Name']; + } + } + + return $response; +} // End wooframework_get_theme_version_data() +} + +if ( ! function_exists( 'wooframework_display_theme_version_data' ) ) { +/** + * Display the version data for the currently active theme. + * @since 5.4.2 + * @return void + */ +function wooframework_display_theme_version_data ( $echo = true ) { + $data = wooframework_get_theme_version_data(); + $html = ''; + + // Theme Version + if ( true == $data['is_child'] ) { + $html .= '' . esc_html( $data['child_theme_name'] . ' ' . $data['child_theme_version'] ) . '' . "\n"; + $html .= '' . esc_html( $data['theme_name'] . ' ' . $data['theme_version'] ) . '' . "\n"; + } else { + $html .= '' . esc_html( $data['theme_name'] . ' ' . $data['theme_version'] ) . '' . "\n"; + } + + // Framework Version + $html .= '' . esc_html( sprintf( __( 'Framework %s', 'woothemes' ), $data['framework_version'] ) ) . '' . "\n"; + + if ( true == $echo ) { echo $html; } else { return $html; } +} // End wooframework_display_theme_version_data() +} + +if ( ! function_exists( 'wooframework_load_google_fonts' ) ) { +function wooframework_load_google_fonts() { + global $woo_used_google_fonts; + + if( $woo_used_google_fonts && is_array( $woo_used_google_fonts ) ) { + $fonts = ''; + $c = 0; + foreach( $woo_used_google_fonts as $font ) { + if( $c > 0 ) { + $fonts .= '|'; + } else { + ++$c; + } + $fonts .= $font; + } + + if( '' != $fonts ) { + woo_shortcode_typography_loadgooglefonts( $fonts , 'woo-used-google-fonts' ); + } + } +} // End wooframework_load_google_fonts() +} +add_action( 'wp_footer' , 'wooframework_load_google_fonts' ); +?> \ No newline at end of file diff --git a/artificer/functions/admin-hooks.php b/artificer/functions/admin-hooks.php new file mode 100755 index 0000000..973d1c2 --- /dev/null +++ b/artificer/functions/admin-hooks.php @@ -0,0 +1,252 @@ +context has been set, don't run through the conditionals again. Just return the variable. */ + if ( is_object( $query_context ) && isset( $query_context->context ) && is_array( $query_context->context ) ) { + return $query_context->context; + } + + unset( $query_context ); + $query_context = new stdClass(); + $query_context->context = array(); + + /* Front page of the site. */ + if ( is_front_page() ) { + $query_context->context[] = 'home'; + } + + /* Blog page. */ + if ( is_home() && ! is_front_page() ) { + $query_context->context[] = 'blog'; + + /* Singular views. */ + } elseif ( is_singular() ) { + $query_context->context[] = 'singular'; + $query_context->context[] = "singular-{$wp_query->post->post_type}"; + + /* Page Templates. */ + if ( is_page_template() ) { + $to_skip = array( 'page', 'post' ); + + $page_template = basename( get_page_template() ); + $page_template = str_replace( '.php', '', $page_template ); + $page_template = str_replace( '.', '-', $page_template ); + + if ( $page_template && ! in_array( $page_template, $to_skip ) ) { + $query_context->context[] = $page_template; + } + } + + $query_context->context[] = "singular-{$wp_query->post->post_type}-{$wp_query->post->ID}"; + } + + /* Archive views. */ + elseif ( is_archive() ) { + $query_context->context[] = 'archive'; + + /* Taxonomy archives. */ + if ( is_tax() || is_category() || is_tag() ) { + $term = $wp_query->get_queried_object(); + $query_context->context[] = 'taxonomy'; + $query_context->context[] = $term->taxonomy; + $query_context->context[] = "{$term->taxonomy}-" . sanitize_html_class( $term->slug, $term->term_id ); + } + + /* User/author archives. */ + elseif ( is_author() ) { + $query_context->context[] = 'user'; + $query_context->context[] = 'user-' . sanitize_html_class( get_the_author_meta( 'user_nicename', get_query_var( 'author' ) ), $wp_query->get_queried_object_id() ); + } + + /* Time/Date archives. */ + else { + if ( is_date() ) { + $query_context->context[] = 'date'; + if ( is_year() ) + $query_context->context[] = 'year'; + if ( is_month() ) + $query_context->context[] = 'month'; + if ( get_query_var( 'w' ) ) + $query_context->context[] = 'week'; + if ( is_day() ) + $query_context->context[] = 'day'; + } + if ( is_time() ) { + $query_context->context[] = 'time'; + if ( get_query_var( 'hour' ) ) + $query_context->context[] = 'hour'; + if ( get_query_var( 'minute' ) ) + $query_context->context[] = 'minute'; + } + } + } + + /* Search results. */ + elseif ( is_search() ) { + $query_context->context[] = 'search'; + /* Error 404 pages. */ + } elseif ( is_404() ) { + $query_context->context[] = 'error-404'; + } + + return $query_context->context; +} // End woo_get_query_context() +} +?> \ No newline at end of file diff --git a/artificer/functions/admin-init.php b/artificer/functions/admin-init.php new file mode 100755 index 0000000..009e98e --- /dev/null +++ b/artificer/functions/admin-init.php @@ -0,0 +1,59 @@ +\n"; + if ( isset( $data['is_child'] ) && true == $data['is_child'] ) echo '' ."\n"; + echo '' ."\n"; + echo '' ."\n"; +} // End woo_version() + +// Add or remove Generator meta tags +if ( ! is_admin() && get_option( 'framework_woo_disable_generator' ) == 'true' ) { + remove_action( 'wp_head', 'wp_generator' ); +} else { + add_action( 'wp_head', 'woo_version', 10 ); +} +/*-----------------------------------------------------------------------------------*/ +/* Load the required Framework Files */ +/*-----------------------------------------------------------------------------------*/ + +$functions_path = get_template_directory() . '/functions/'; +$classes_path = $functions_path . 'classes/'; + +require_once ( $functions_path . 'admin-functions.php' ); // Custom functions and plugins +require_once ( $functions_path . 'admin-setup.php' ); // Options panel variables and functions +require_once ( $functions_path . 'admin-custom.php' ); // Custom fields +require_once ( $functions_path . 'admin-interface.php' ); // Admin Interfaces (options,framework, seo) +require_once ( $functions_path . 'admin-framework-settings.php' ); // Framework Settings +require_once ( $functions_path . 'admin-seo.php' ); // Framework SEO controls +require_once ( $functions_path . 'admin-sbm.php' ); // Framework Sidebar Manager +require_once ( $functions_path . 'admin-medialibrary-uploader.php' ); // Framework Media Library Uploader Functions // 2010-11-05. +require_once ( $functions_path . 'admin-hooks.php' ); // Definition of WooHooks + +if ( get_option( 'framework_woo_woonav' ) == 'true' ) { + require_once ( $functions_path . 'admin-custom-nav.php' ); // Woo Custom Navigation +} + +require_once ( $functions_path . 'admin-shortcodes.php' ); // Woo Shortcodes + +// Load certain files only in the WordPress admin. +if ( is_admin() ) { + require_once ( $functions_path . 'admin-shortcode-generator.php' ); // Framework Shortcode generator // 2011-01-21. + require_once ( $functions_path . 'admin-backup.php' ); // Theme Options Backup // 2011-08-26. +} +?> \ No newline at end of file diff --git a/artificer/functions/admin-interface.php b/artificer/functions/admin-interface.php new file mode 100755 index 0000000..8193554 --- /dev/null +++ b/artificer/functions/admin-interface.php @@ -0,0 +1,1855 @@ + +user_login; + $super_user = get_option( 'framework_woo_super_user' ); + + $themename = get_option( 'woo_themename' ); + $shortname = get_option( 'woo_shortname' ); + + // Reset the settings, sanitizing the various requests made. + // Use a SWITCH to determine which settings to update. + + /* Make sure we're making a request. + ------------------------------------------------------------*/ + + if ( isset( $_REQUEST['page'] ) ) { + + // Sanitize page being requested. + $_page = ''; + + $_page = strtolower( trim( strip_tags( $_REQUEST['page'] ) ) ); + + // Sanitize action being requested. + $_action = ''; + + if ( isset( $_REQUEST['woo_save'] ) ) { + + $_action = strtolower( trim( strip_tags( $_REQUEST['woo_save'] ) ) ); + + } // End IF Statement + + // If the action is "reset", run the SWITCH. + + /* Perform settings reset. + ------------------------------------------------------------*/ + + if ( $_action == 'reset' ) { + + // Add nonce security check. + if ( function_exists( 'check_ajax_referer' ) ) { + if ( $_page == 'woothemes_seo' ) { + check_ajax_referer( 'wooframework-seo-options-reset', '_ajax_nonce' ); + } else { + check_ajax_referer( 'wooframework-theme-options-reset', '_ajax_nonce' ); + } + } // End IF Statement + + switch ( $_page ) { + + case 'woothemes': + + $options = get_option( 'woo_template' ); + woo_reset_options( $options, 'woothemes' ); + header( "Location: admin.php?page=woothemes&reset=true" ); + die; + + break; + + case 'woothemes_framework_settings': + + $options = get_option( 'woo_framework_template' ); + woo_reset_options( $options ); + header( "Location: admin.php?page=woothemes_framework_settings&reset=true" ); + die; + + break; + + case 'woothemes_seo': + + $options = get_option( 'woo_seo_template' ); + woo_reset_options( $options ); + header( "Location: admin.php?page=woothemes_seo&reset=true" ); + die; + + break; + + case 'woothemes_sbm': + + delete_option( 'sbm_woo_sbm_options' ); + header( "Location: admin.php?page=woothemes_sbm&reset=true" ); + die; + + break; + + } // End SWITCH Statement + + } // End IF Statement + + } // End IF Statement + + // Check all the Options, then if the no options are created for a relative sub-page... it's not created. + if( get_option( 'framework_woo_backend_icon' ) ) { $icon = get_option( 'framework_woo_backend_icon' ); } + else { $icon = get_template_directory_uri() . '/functions/images/woo-icon.png'; } + + if( function_exists( 'add_object_page' ) ) { + add_object_page ( 'Page Title', $themename, 'manage_options', 'woothemes', 'woothemes_options_page', $icon ); + } else { + add_menu_page ( 'Page Title', $themename, 'manage_options', 'woothemes_home', 'woothemes_options_page', $icon ); + } + $woopage = add_submenu_page( 'woothemes', $themename, __( 'Theme Options', 'woothemes' ), 'manage_options', 'woothemes', 'woothemes_options_page' ); // Default + + // Framework Settings Menu Item + $wooframeworksettings = ''; + if( $super_user == $current_user_id || empty( $super_user ) ) { + $wooframeworksettings = add_submenu_page( 'woothemes', __( 'Framework Settings', 'woothemes' ), __( 'Framework Settings', 'woothemes' ), 'manage_options', 'woothemes_framework_settings', 'woothemes_framework_settings_page' ); + } + + // Woothemes Content Builder + if ( function_exists( 'woothemes_content_builder_menu' ) ) { + woothemes_content_builder_menu(); + } + + // Update Framework Menu Item + if( $super_user == $current_user_id || empty( $super_user ) ) { + $woothemepage = add_submenu_page( 'woothemes', 'WooFramework Update', 'Update Framework', 'manage_options', 'woothemes_framework_update', 'woothemes_framework_update_page' ); + } + + // Add framework functionaily to the head individually + add_action( "admin_print_scripts-$woopage", 'woo_load_only' ); + add_action( "admin_print_scripts-$wooframeworksettings", 'woo_load_only' ); + + // Load Framework CSS Files + add_action( "admin_print_styles-$woopage", 'woo_framework_load_css' ); + add_action( "admin_print_styles-$wooframeworksettings", 'woo_framework_load_css' ); + + // Add the non-JavaScript "save" to the load of each of the screens. + add_action( "load-$woopage", 'woo_nonajax_callback' ); + add_action( "load-$wooframeworksettings", 'woo_nonajax_callback' ); + } +} + +add_action( 'admin_menu', 'woothemes_add_admin', 10 ); + +/*-----------------------------------------------------------------------------------*/ +/* WooThemes Reset Function - woo_reset_options */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_reset_options' ) ) { + function woo_reset_options( $options, $page = '' ) { + + $excludes = array( 'blogname' , 'blogdescription' ); + + foreach( $options as $option ) { + + if( isset( $option['id'] ) ) { + $option_id = $option['id']; + $option_type = $option['type']; + + //Skip assigned id's + if( in_array( $option_id, $excludes ) ) { continue; } + + if( $option_type == 'multicheck' ) { + foreach( $option['options'] as $option_key => $option_option ) { + $del = $option_id . "_" . $option_key; + delete_option( $del ); + } + } else if( is_array( $option_type ) ) { + foreach( $option_type as $inner_option ) { + $option_id = $inner_option['id']; + $del = $option_id; + delete_option( $option_id ); + } + } else { + delete_option( $option_id ); + } + } + } + //When Theme Options page is reset - Add the woo_options option + if( $page == 'woothemes' ) { + delete_option( 'woo_options' ); + } + } +} + +/*-----------------------------------------------------------------------------------*/ +/* Framework options panel - woothemes_options_page */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_options_page' ) ) { + function woothemes_options_page() { + global $pagenow; + + $options = get_option( 'woo_template' ); + $shortname = get_option( 'woo_shortname' ); + $manualurl = get_option( 'woo_manual' ); + + //GET themes update RSS feed and do magic + include_once( ABSPATH . WPINC . '/feed.php' ); + + $pos = strpos( $manualurl, 'documentation' ); + $theme_slug = str_replace( "/", "", substr( $manualurl, ( $pos + 13 ) ) ); //13 for the word documentation + + //add filter to make the rss read cache clear every 4 hours + //add_filter( 'wp_feed_cache_transient_lifetime', create_function( '$a', 'return 14400;' ) ); +?> +
+ +
+
+
+ + + + + + +
+ +
+
+ +
    + +
+ +
+
+ +
+
+ +
+
+
    +
  • +
    +
  • +
+
+
+
+ +
+
+
+ +
+
+ + + + + +
+ + + + + + + +
+ +
+ +
+
+ + + + $options_value ) { + + $multicheck_id = $id . "_" . $options_id; + + if( !isset( $output[$multicheck_id] ) ) { + update_option( $multicheck_id, 'false' ); + } + else{ + update_option( $multicheck_id, 'true' ); + } + } + } + elseif( $type == 'typography' ) { + $typography_array = array(); + + foreach ( array( 'size', 'unit', 'face', 'style', 'color' ) as $v ) { + $value = ''; + $value = $output[$option_array['id'] . '_' . $v]; + if ( $v == 'face' ) { + $typography_array[$v] = stripslashes( $value ); + } else { + $typography_array[$v] = $value; + } + } + + update_option( $id, $typography_array ); + + } + elseif( $type == 'border' ) { + + $border_array = array(); + + $border_array['width'] = $output[$option_array['id'] . '_width']; + $border_array['style'] = $output[$option_array['id'] . '_style']; + $border_array['color'] = $output[$option_array['id'] . '_color']; + + update_option( $id, $border_array ); + + } else if ( $type == 'timestamp' ) { + // It is assumed that the data comes back in the following format: + // date: month/day/year + // hour: int(2) + // minute: int(2) + // second: int(2) + + // Format the data into a timestamp. + $date = $output[$option_array['id']]['date']; + + $hour = $output[$option_array['id']]['hour']; + $minute = $output[$option_array['id']]['minute']; + // $second = $output[$option_array['id']]['second']; + $second = '00'; + + $day = substr( $date, 3, 2 ); + $month = substr( $date, 0, 2 ); + $year = substr( $date, 6, 4 ); + + $timestamp = mktime( $hour, $minute, $second, $month, $day, $year ); + + update_option( $id, stripslashes( $timestamp ) ); + + } else { + + update_option( $id, stripslashes( $new_value ) ); + } + } + } + + // Assume that all has been completed and set $status to true. + $status = true; + } + + + if( $save_type == 'options' || $save_type == 'framework' ) { + /* Create, Encrypt and Update the Saved Settings */ + $woo_options = array(); + $data = array(); + if( $save_type == 'framework' ) { + $options = get_option( 'woo_template' ); + } + $count = 0; + foreach( $options as $option ) { + if( isset( $option['id'] ) ) { + $count++; + $option_id = $option['id']; + $option_type = $option['type']; + + if( is_array( $option_type ) ) { + $type_array_count = 0; + foreach( $option_type as $inner_option ) { + $option_id = $inner_option['id']; + if ( isset( $data[$option_id] ) ) + $data[$option_id] .= get_option( $option_id ); + else + $data[$option_id] = get_option( $option_id ); + } + } + else { + $data[$option_id] = get_option( $option_id ); + } + } + } + + $output = "
    "; + + foreach ( $data as $name => $value ) { + + if( is_serialized( $value ) ) { + + $value = unserialize( $value ); + $woo_array_option = $value; + $temp_options = ''; + foreach( $value as $v ) { + if( isset( $v ) ) + $temp_options .= $v . ','; + + } + $value = $temp_options; + $woo_array[$name] = $woo_array_option; + } else { + $woo_array[$name] = $value; + } + + $output .= '
  • ' . esc_html( $name ) . ' - ' . esc_html( $value ) . '
  • '; + } + $output .= "
"; + + update_option( 'woo_options', $woo_array ); + + // Assume that all has been completed and set $status to true. + $status = true; + } + + return $status; +} // End woo_options_save() + +/*-----------------------------------------------------------------------------------*/ +/* Non-AJAX Save Action - woo_nonajax_callback() +/* +/* This action is hooked on load of the various screens. +/* The hook is done when the pages are registered. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_nonajax_callback' ) ) { + function woo_nonajax_callback() { + if ( isset( $_POST['_ajax_nonce'] ) && isset( $_POST['woo_save'] ) && ( $_POST['woo_save'] == 'save' ) ) { + + $nonce_key = 'wooframework-theme-options-update'; + + switch ( $_REQUEST['page'] ) { + case 'woothemes': + $type = 'options'; + $nonce_key = 'wooframework-theme-options-update'; + break; + + case 'woothemes_framework_settings': + $type = 'framework'; + $nonce_key = 'wooframework-framework-options-update'; + break; + + case 'woothemes_seo': + $type = 'seo'; + $nonce_key = 'wooframework-seo-options-update'; + break; + + case 'woothemes_tumblog': + $type = 'tumblog'; + break; + + default: + $type = ''; + } + + // check security with nonce. + if ( function_exists( 'check_admin_referer' ) ) { check_admin_referer( $nonce_key, '_ajax_nonce' ); } // End IF Statement + + // Remove non-options fields from the $_POST. + $fields_to_remove = array( '_wpnonce', '_wp_http_referer', '_ajax_nonce', 'woo_save' ); + + $data = array(); + + foreach ( $_POST as $k => $v ) { + if ( in_array( $k, $fields_to_remove ) ) {} else { + $data[$k] = $v; + } + } + + $status = woo_options_save( $type, $data ); + + if ( $status ) { + add_action( 'admin_notices', 'woo_admin_message_success', 0 ); + } else { + add_action( 'admin_notices', 'woo_admin_message_error', 0 ); + } + + } // End IF Statement + } // End woo_nonajax_callback() +} + +/*-----------------------------------------------------------------------------------*/ +/* AJAX Save Action - woo_ajax_callback() */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'wp_ajax_woo_ajax_post_action', 'woo_ajax_callback' ); + +if ( ! function_exists( 'woo_ajax_callback' ) ) { + function woo_ajax_callback() { + // check security with nonce. + if ( function_exists( 'check_ajax_referer' ) ) { check_ajax_referer( 'wooframework-theme-options-update', '_ajax_nonce' ); } // End IF Statement + + $data = maybe_unserialize( $_POST['data'] ); + + woo_options_save( $_POST['type'], $data ); + + die(); + } // End woo_ajax_callback() +} + +/*-----------------------------------------------------------------------------------*/ +/* Admin Messages */ +/*-----------------------------------------------------------------------------------*/ + +function woo_admin_message_success () { + echo '

' . __( 'Options Saved Successfully', 'woothemes' ) . '

' . "\n"; +} // End woo_admin_message_success() + +function woo_admin_message_error () { + echo '

' . __( 'There was an error while saving your options. Please try again.', 'woothemes' ) . '

' . "\n"; +} // End woo_admin_message_error() + +function woo_admin_message_reset () { + echo '

' . __( 'Options Reset Successfully', 'woothemes' ) . '

' . "\n"; +} // End woo_admin_message_reset() + +/*-----------------------------------------------------------------------------------*/ +/* Generates The Options - woothemes_machine */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_machine' ) ) { + function woothemes_machine( $options ) { + $counter = 0; + $menu = ''; + $output = ''; + + // Create an array of menu items - multi-dimensional, to accommodate sub-headings. + $menu_items = array(); + $headings = array(); + + foreach ( $options as $k => $v ) { + if ( $v['type'] == 'heading' || $v['type'] == 'subheading' ) { + $headings[] = $v; + } + } + + $prev_heading_key = 0; + + foreach ( $headings as $k => $v ) { + $token = 'woo-option-' . preg_replace( '/[^a-zA-Z0-9\s]/', '', strtolower( trim( str_replace( ' ', '', $v['name'] ) ) ) ); + + // Capture the token. + $v['token'] = $token; + + if ( $v['type'] == 'heading' ) { + $menu_items[$token] = $v; + $prev_heading_key = $token; + } + + if ( $v['type'] == 'subheading' ) { + $menu_items[$prev_heading_key]['children'][] = $v; + } + } + + // Loop through the options. + foreach ( $options as $k => $value ) { + + $counter++; + $val = ''; + //Start Heading + if ( $value['type'] != 'heading' && $value['type'] != 'subheading' ) { + $class = ''; if( isset( $value['class'] ) ) { $class = ' ' . $value['class']; } + $output .= '
'."\n"; + $output .= '

'. esc_html( $value['name'] ) .'

'."\n"; + $output .= '
'."\n" . '
'."\n"; + + } + //End Heading + + $select_value = ''; + switch ( $value['type'] ) { + + case 'text': + $val = $value['std']; + $std = esc_html( get_option( $value['id'] ) ); + if ( $std != "" ) { $val = $std; } + $val = stripslashes( $val ); // Strip out unwanted slashes. + $output .= ''; + break; + + case 'select': + $output .= '
'; + + break; + + case 'select2': + $output .= '
' . "\n"; + + if ( is_array( $value['options'] ) ) { + $output .= '' . "\n"; + } + + $output .= '
'; + + break; + + case 'calendar': + $val = $value['std']; + $std = get_option( $value['id'] ); + if ( $std != "" ) { $val = $std; } + $output .= ''; + $output .= ''; + + break; + + case 'time': + $val = $value['std']; + $std = get_option( $value['id'] ); + if ( $std != "" ) { $val = $std; } + $output .= ''; + break; + + case 'time_masked': + $val = $value['std']; + $std = get_option( $value['id'] ); + if ( $std != "" ) { $val = $std; } + $output .= ''; + break; + + case 'textarea': + $cols = '8'; + $ta_value = ''; + + if( isset( $value['std'] ) ) { + + $ta_value = $value['std']; + + if( isset( $value['options'] ) ) { + $ta_options = $value['options']; + if( isset( $ta_options['cols'] ) ) { + $cols = $ta_options['cols']; + } else { $cols = '8'; } + } + + } + $std = get_option( $value['id'] ); + if( $std != "" ) { $ta_value = stripslashes( $std ); } + $output .= ''; + + + break; + + case "radio": + $select_value = get_option( $value['id'] ); + + if ( is_array( $value['options'] ) ) { + foreach ( $value['options'] as $key => $option ) { + + $checked = ''; + if( $select_value != '' ) { + if ( $select_value == $key ) { $checked = ' checked'; } + } else { + if ( $value['std'] == $key ) { $checked = ' checked'; } + } + $output .= '
'; + + } + } + + break; + + case "checkbox": + $std = $value['std']; + + $saved_std = get_option( $value['id'] ); + + $checked = ''; + + if( ! empty( $saved_std ) ) { + if( $saved_std == 'true' ) { + $checked = 'checked="checked"'; + } else { + $checked = ''; + } + } + elseif( $std == 'true' ) { + $checked = 'checked="checked"'; + } + else { + $checked = ''; + } + $output .= ''; + + break; + + case "multicheck": + $std = $value['std']; + + if ( is_array( $value['options'] ) ) { + foreach ( $value['options'] as $key => $option ) { + + $woo_key = $value['id'] . '_' . $key; + $saved_std = get_option( $woo_key ); + + if ( ! empty( $saved_std ) ) { + if ( $saved_std == 'true' ) { + $checked = 'checked="checked"'; + } else { + $checked = ''; + } + } elseif ( $std == $key ) { + $checked = 'checked="checked"'; + } else { + $checked = ''; + } + $output .= '
'; + + } + } + break; + + case "multicheck2": + $std = explode( ',', $value['std'] ); + + if ( is_array( $value['options'] ) ) { + foreach ( $value['options'] as $key => $option ) { + + $woo_key = $value['id'] . '_' . $key; + $saved_std = get_option( $woo_key ); + + if( ! empty( $saved_std ) ) + { + if( $saved_std == 'true' ) { + $checked = 'checked="checked"'; + } else { + $checked = ''; + } + } + elseif ( in_array( $key, $std ) ) { + $checked = 'checked="checked"'; + } else { + $checked = ''; + } + $output .= '
'; + + } + } + break; + + case "upload": + $output .= woothemes_medialibrary_uploader( $value['id'], $value['std'], null ); // New AJAX Uploader using Media Library + break; + + case "upload_min": + $output .= woothemes_medialibrary_uploader( $value['id'], $value['std'], 'min' ); // New AJAX Uploader using Media Library + break; + + case "color": + $val = $value['std']; + $stored = get_option( $value['id'] ); + if ( $stored != "" ) { $val = $stored; } + $output .= '
'; + $output .= ''; + break; + + case "typography": + $default = $value['std']; + $typography_stored = get_option( $value['id'] ); + + if ( ! is_array( $typography_stored ) || empty( $typography_stored ) ) { + $typography_stored = $default; + } + + /* Font Size */ + $val = $default['size']; + if ( $typography_stored['size'] != '' ) { + $val = $typography_stored['size']; + } + if ( $typography_stored['unit'] == 'px' ) { + $show_px = ''; + $show_em = ' style="display:none" '; + $name_px = ' name="'. esc_attr( $value['id'].'_size') . '" '; + $name_em = ''; + } else if ( $typography_stored['unit'] == 'em' ) { + $show_em = ''; + $show_px = 'style="display:none"'; + $name_em = ' name="'. esc_attr( $value['id'].'_size') . '" '; + $name_px = ''; + } else { + $show_px = ''; + $show_em = ' style="display:none" '; + $name_px = ' name="'. esc_attr( $value['id'].'_size') . '" '; + $name_em = ''; + } + $output .= ''; + + $output .= ''; + + /* Font Unit */ + $val = $default['unit']; + if ( $typography_stored['unit'] != '' ) { $val = $typography_stored['unit']; } + $em = ''; $px = ''; + if( $val == 'em' ) { $em = 'selected="selected"'; } + if( $val == 'px' ) { $px = 'selected="selected"'; } + $output .= ''; + + /* Font Face */ + $val = $default['face']; + if ( $typography_stored['face'] != "" ) + $val = $typography_stored['face']; + + $font01 = ''; + $font02 = ''; + $font03 = ''; + $font04 = ''; + $font05 = ''; + $font06 = ''; + $font07 = ''; + $font08 = ''; + $font09 = ''; + $font10 = ''; + $font11 = ''; + $font12 = ''; + $font13 = ''; + $font14 = ''; + $font15 = ''; + $font16 = ''; + $font17 = ''; + + if ( strpos( $val, 'Arial, sans-serif' ) !== false ) { $font01 = 'selected="selected"'; } + if ( strpos( $val, 'Verdana, Geneva' ) !== false ) { $font02 = 'selected="selected"'; } + if ( strpos( $val, 'Trebuchet' ) !== false ) { $font03 = 'selected="selected"'; } + if ( strpos( $val, 'Georgia' ) !== false ) { $font04 = 'selected="selected"'; } + if ( strpos( $val, 'Times New Roman' ) !== false ) { $font05 = 'selected="selected"'; } + if ( strpos( $val, 'Tahoma, Geneva' ) !== false ) { $font06 = 'selected="selected"'; } + if ( strpos( $val, 'Palatino' ) !== false ) { $font07 = 'selected="selected"'; } + if ( strpos( $val, 'Helvetica' ) !== false ) { $font08 = 'selected="selected"'; } + if ( strpos( $val, 'Calibri' ) !== false ) { $font09 = 'selected="selected"'; } + if ( strpos( $val, 'Myriad' ) !== false ) { $font10 = 'selected="selected"'; } + if ( strpos( $val, 'Lucida' ) !== false ) { $font11 = 'selected="selected"'; } + if ( strpos( $val, 'Arial Black' ) !== false ) { $font12 = 'selected="selected"'; } + if ( strpos( $val, 'Gill' ) !== false ) { $font13 = 'selected="selected"'; } + if ( strpos( $val, 'Geneva, Tahoma' ) !== false ) { $font14 = 'selected="selected"'; } + if ( strpos( $val, 'Impact' ) !== false ) { $font15 = 'selected="selected"'; } + if ( strpos( $val, 'Courier' ) !== false ) { $font16 = 'selected="selected"'; } + if ( strpos( $val, 'Century Gothic' ) !== false ) { $font17 = 'selected="selected"'; } + + $output .= ''; + + /* Font Weight */ + $val = $default['style']; + if ( $typography_stored['style'] != "" ) { $val = $typography_stored['style']; } + $thin = ''; $thinitalic = ''; $normal = ''; $italic = ''; $bold = ''; $bolditalic = ''; + if( $val == '300' ) { $thin = 'selected="selected"'; } + if( $val == '300 italic' ) { $thinitalic = 'selected="selected"'; } + if( $val == 'normal' ) { $normal = 'selected="selected"'; } + if( $val == 'italic' ) { $italic = 'selected="selected"'; } + if( $val == 'bold' ) { $bold = 'selected="selected"'; } + if( $val == 'bold italic' ) { $bolditalic = 'selected="selected"'; } + + $output .= ''; + + /* Font Color */ + $val = $default['color']; + if ( $typography_stored['color'] != "" ) { $val = $typography_stored['color']; } + $output .= '
'; + $output .= ''; + + break; + + case "border": + $default = $value['std']; + $border_stored = get_option( $value['id'] ); + + /* Border Width */ + $val = $default['width']; + if ( $border_stored['width'] != "" ) { $val = $border_stored['width']; } + $output .= ''; + + /* Border Style */ + $val = $default['style']; + if ( $border_stored['style'] != "" ) { $val = $border_stored['style']; } + $solid = ''; $dashed = ''; $dotted = ''; + if( $val == 'solid' ) { $solid = 'selected="selected"'; } + if( $val == 'dashed' ) { $dashed = 'selected="selected"'; } + if( $val == 'dotted' ) { $dotted = 'selected="selected"'; } + + $output .= ''; + + /* Border Color */ + $val = $default['color']; + if ( $border_stored['color'] != "" ) { $val = $border_stored['color']; } + $output .= '
'; + $output .= ''; + + break; + + case "images": + $i = 0; + $select_value = get_option( $value['id'] ); + + foreach ( $value['options'] as $key => $option ) { + $i++; + + $checked = ''; + $selected = ''; + if( $select_value != '' ) { + if ( $select_value == $key ) { $checked = ' checked'; $selected = 'woo-radio-img-selected'; } + } else { + if ( $value['std'] == $key ) { $checked = ' checked'; $selected = 'woo-radio-img-selected'; } + elseif ( $i == 1 && !isset( $select_value ) ) { $checked = ' checked'; $selected = 'woo-radio-img-selected'; } + elseif ( $i == 1 && $value['std'] == '' ) { $checked = ' checked'; $selected = 'woo-radio-img-selected'; } + else { $checked = ''; } + } + + $output .= ''; + $output .= ''; + $output .= ''. esc_html( $key ) .''; + $output .= ''; + $output .= ''; + + } + + break; + + case "info": + $default = $value['std']; + $output .= $default; + break; + + // Timestamp field. + case 'timestamp': + $val = get_option( $value['id'] ); + + if ( $val == '' ) { + $val = time(); + } + + $output .= '' . "\n"; + + $output .= '' . "\n"; + $output .= ' ' . __( '@', 'woothemes' ) . ' '; + + $output .= '' . "\n"; + + $output .= '' . "\n"; + /* + $output .= '' . "\n"; + */ + + $output .= '' . "\n"; + + $output .= ''; + break; + + case 'slider': + $val = $value['std']; + $std = get_option( $value['id'] ); + if ( $std != "" ) { $val = $std; } + $val = stripslashes( $val ); // Strip out unwanted slashes. + $output .= '
'; + $output .= ''; + break; + + case "heading": + if( $counter >= 2 ) { + $output .= '
'."\n"; + } + $jquery_click_hook = preg_replace( '/[^a-zA-Z0-9\s]/', '', strtolower( $value['name'] ) ); + // $jquery_click_hook = preg_replace( '/[^\p{L}\p{N}]/u', '', strtolower( $value['name'] ) ); // Regex for UTF-8 languages. + $jquery_click_hook = str_replace( ' ', '', $jquery_click_hook ); + + $jquery_click_hook = "woo-option-" . $jquery_click_hook; + $menu .= '
  • '. esc_html( $value['name'] ) .'
  • '; + $output .= '

    '. esc_html( $value['name'] ) .'

    '."\n"; + break; + + case "subheading": + if( $counter >= 2 ) { + $output .= '
    '."\n"; + } + $jquery_click_hook = preg_replace( '/[^a-zA-Z0-9\s]/', '', strtolower( $value['name'] ) ); + // $jquery_click_hook = preg_replace( '/[^\p{L}\p{N}]/u', '', strtolower( $value['name'] ) ); // Regex for UTF-8 languages. + $jquery_click_hook = str_replace( ' ', '', $jquery_click_hook ); + + $jquery_click_hook = "woo-option-" . $jquery_click_hook; + $menu .= '
  • ' . esc_html( $value['name'] ) . '
  • '; + $output .= '

    '. esc_html( $value['name'] ).'

    '."\n"; + break; + } + + // if TYPE is an array, formatted into smaller inputs... ie smaller values + if ( is_array( $value['type'] ) ) { + foreach( $value['type'] as $array ) { + + $id = $array['id']; + $std = $array['std']; + $saved_std = get_option( $id ); + if( $saved_std != $std ) {$std = $saved_std;} + $meta = $array['meta']; + + if( $array['type'] == 'text' ) { // Only text at this point + + $output .= ''; + $output .= ''. esc_html( $meta ) .''; + } + } + } + if ( $value['type'] != "heading" && $value['type'] != "subheading" ) { + if ( $value['type'] != "checkbox" ) + { + $output .= '
    '; + } + $explain_value = ( isset( $value['desc'] ) ) ? $value['desc'] : ''; + if ( !current_user_can( 'unfiltered_html' ) && isset( $value['id'] ) && in_array( $value['id'], woo_disabled_if_not_unfiltered_html_option_keys() ) ) + $explain_value .= '

    ' . esc_html( __( 'You are not able to update this option because you lack the unfiltered_html capability.', 'woothemes' ) ) . ''; + $output .= '
    '. $explain_value .'
    '."\n"; + $output .= '
    '."\n"; + } + + } + + //Checks if is not the Content Builder page + if ( isset( $_REQUEST['page'] ) && $_REQUEST['page'] != 'woothemes_content_builder' ) { + $output .= ''; + } + + // Override the menu with a new multi-level menu. + if ( count( $menu_items ) > 0 ) { + $menu = ''; + foreach ( $menu_items as $k => $v ) { + $class = ''; + if ( isset( $v['icon'] ) && ( $v['icon'] != '' ) ) { + $class = $v['icon']; + } + + if ( isset( $v['children'] ) && ( count( $v['children'] ) > 0 ) ) { + $class .= ' has-children'; + } + + $menu .= '
  • ' . "\n" . '
    '; + if ( isset( $v['icon'] ) && ( $v['icon'] != '' ) ) + $menu .= ''; + $menu .= '' . esc_html( $v['name'] ) . '' . "\n"; + + if ( isset( $v['children'] ) && ( count( $v['children'] ) > 0 ) ) { + $menu .= '' . "\n"; + } + $menu .= '
  • ' . "\n"; + + } + } + + return array( $output, $menu, $menu_items ); + } // End woothemes_machine() +} + +/*-----------------------------------------------------------------------------------*/ +/* WooThemes Uploader - woothemes_uploader_function */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_uploader_function' ) ) { + function woothemes_uploader_function( $id, $std, $mod ) { + return woothemes_medialibrary_uploader( $id, $std, $mod ); + } // End woothemes_uploader_function() +} + +/*-----------------------------------------------------------------------------------*/ +/* Woothemes Theme Version Checker - woothemes_version_checker */ +/* @local_version is the installed theme version number */ +/*-----------------------------------------------------------------------------------*/ + +function woothemes_do_not_cache_feeds( &$feed ) { $feed->enable_cache( false ); } // End woothemes_do_not_cache_feeds() +function woothemes_http_request_args( $r ) { $r['timeout'] = 15; return $r; } // End woothemes_http_request_args() +function woothemes_http_api_curl( $handle ) { curl_setopt( $handle, CURLOPT_CONNECTTIMEOUT, 15 ); curl_setopt( $handle, CURLOPT_TIMEOUT, 15 ); } // End woothemes_http_api_curl() + +if ( ! function_exists( 'woothemes_version_checker' ) ) { + function woothemes_version_checker ( $local_version ) { + add_action( 'wp_feed_options', 'woothemes_do_not_cache_feeds' ); + add_filter( 'http_request_args', 'woothemes_http_request_args', 100, 1 ); + add_action( 'http_api_curl', 'woothemes_http_api_curl', 100, 1 ); + + // Get a SimplePie feed object from the specified feed source. + $theme_name = str_replace( "-", "", strtolower( get_option( 'woo_themename' ) ) ); + + // Use a transient to store the current theme version data for 24 hours. + $latest_version_via_rss = ''; + + $version_data = get_transient( $theme_name . '_version_data' ); + + if( $version_data ) { + $latest_version_via_rss = $version_data; + } + + // If the transient has expired, run the check. + if ( $latest_version_via_rss == '' ) { + $feed_url = 'http://www.woothemes.com/?feed=updates&theme=' . $theme_name; + + $rss = fetch_feed( $feed_url ); + + // Of the RSS is failed somehow. + if ( is_wp_error( $rss ) ) { + // Return without notification + // return; + $latest_version_via_rss = $local_version; + } else { + //Figure out how many total items there are, but limit it to 5. + $maxitems = $rss->get_item_quantity( 5 ); + + // Build an array of all the items, starting with element 0 (first element). + $rss_items = $rss->get_items( 0, $maxitems ); + if ( $maxitems == 0 ) { $latest_version_via_rss = 0; } + else { + // Loop through each feed item and display each item as a hyperlink. + foreach ( $rss_items as $item ) : + $latest_version_via_rss = $item->get_title(); + break; // Take only the first version number. Break away when we have it. + endforeach; + } + } + } // End Version Check + + // Set the transient containing the latest version number. + set_transient( $theme_name . '_version_data', $latest_version_via_rss , 60*60*24 ); + + //Check if version is the latest - assume standard structure x.x.x + $pieces_rss = array(); + if ( isset( $latest_version_via_rss['version'] ) ) $pieces_rss = explode( '.', $latest_version_via_rss['version'] ); + $pieces_local = explode( '.', $local_version ); + + //account for null values in second position x.2.x + if( isset( $pieces_rss[0] ) && $pieces_rss[0] != 0 ) { + if ( ! isset( $pieces_rss[1] ) ) + $pieces_rss[1] = '0'; + + if ( ! isset( $pieces_local[1] ) ) + $pieces_local[1] = '0'; + + //account for null values in third position x.x.3 + if ( ! isset( $pieces_rss[2] ) ) + $pieces_rss[2] = '0'; + + if ( ! isset( $pieces_local[2] ) ) + $pieces_local[2] = '0'; + + //do the comparisons + $version_sentinel = false; + $status = 'bugfix'; + + // Setup update statuses + $statuses = array( + 'new_version' => __( 'New Version', 'woothemes' ), + 'new_feature' => __( 'New Feature', 'woothemes' ), + 'bugfix' => __( 'Bugfix', 'woothemes' ) + ); + + // New version + if ( $pieces_rss[0] > $pieces_local[0] ) { + $version_sentinel = true; + $status = 'new_version'; + } + // New feature + if ( ( $pieces_rss[1] > $pieces_local[1] ) && ( $version_sentinel == false ) && ( $pieces_rss[0] == $pieces_local[0] ) ) { + $version_sentinel = true; + $status = 'new_feature'; + } + // Bugfix + if ( ( $pieces_rss[2] > $pieces_local[2] ) && ( $version_sentinel == false ) && ( $pieces_rss[0] == $pieces_local[0] ) && ( $pieces_rss[1] == $pieces_local[1] ) ) { + $version_sentinel = true; + $status = 'bugfix'; + } + + return array( 'is_update' => $version_sentinel, 'version' => $latest_version_via_rss, 'status' => $statuses[$status], 'theme_name' => $theme_name ); + + + //set version checker message + if ( $version_sentinel == true ) { + $update_message = '
    ' . __( 'Theme update is available', 'woothemes' ) . ' (v.' . $latest_version_via_rss['version'] . ') - ' . __( 'Get the new version', 'woothemes' ) . '.

    ' . sprintf( __( 'Update Type: %s', 'woothemes' ), $statuses[$status] ) . '

    '; + } + else { + $update_message = ''; + } + } else { + $update_message = ''; + } + return $update_message; + } +} // End woothemes_version_checker() + +/*-----------------------------------------------------------------------------------*/ +/* Woothemes Thumb Detection Notice - woo_thumb_admin_notice */ +/*-----------------------------------------------------------------------------------*/ +function woo_thumb_admin_notice() { + + if ( get_user_setting( 'wooframeworkhidebannerwootimthumb', '0' ) == '1' ) { return; } + global $current_user; + $current_user_id = $current_user->user_login; + $super_user = get_option( 'framework_woo_super_user' ); + if( $super_user == $current_user_id || empty( $super_user ) ) { + // Test for old timthumb scripts + $thumb_php_test = file_exists( get_template_directory() . '/thumb.php' ); + $timthumb_php_test = file_exists( get_template_directory() . '/timthumb.php' ); + + if ( $thumb_php_test || $timthumb_php_test ) { + echo '
    +

    ' . __( 'ATTENTION: A possible old version of the TimThumb script was detected in your theme folder. Please remove the following files from your theme as a security precaution', 'woothemes' ) . ':

    '; + if ( $thumb_php_test ) { echo '

    - thumb.php

    '; } + if ( $timthumb_php_test ) { echo '

    - timthumb.php

    '; } + echo '
    '; + + } + } // End If Statement +} // End woo_thumb_admin_notice() + +add_action( 'admin_notices', 'woo_thumb_admin_notice' ); + +/*-----------------------------------------------------------------------------------*/ +/* WooThemes Theme Update Admin Notice - woo_theme_update_notice */ +/*-----------------------------------------------------------------------------------*/ + +global $pagenow; +if ( $pagenow == 'admin.php' && isset( $_GET['page'] ) && $_GET['page'] == 'woothemes' ) { + if ( get_option( 'framework_woo_theme_version_checker' ) == 'true' ) { add_action( 'admin_notices', 'woo_theme_update_notice', 10 ); } + if ( get_option( 'framework_woo_framework_version_checker' ) == 'true' ) { add_action( 'admin_notices', 'woo_framework_update_notice', 10 ); } + + add_action( 'admin_notices', 'woo_framework_critical_update_notice', 8 ); // Periodically check for critical WooFramework updates. +} + +/** + * woo_theme_update_notice() + * + * Notify users of theme updates, if necessary. + * + * @since 4.7.0 + */ +if ( ! function_exists( 'woo_theme_update_notice' ) ) { + function woo_theme_update_notice () { + $data = wooframework_get_theme_version_data(); + $local_version = $data['theme_version']; + $update_data = woothemes_version_checker( $local_version ); + + if ( ! isset( $update_data['version'] ) || ! is_string( $update_data['version'] ) ) { return; } + + $html = ''; + + if ( is_array( $update_data ) && $update_data['is_update'] == true ) { + $html = '

    ' . sprintf( __( 'Theme update is available (v%s). %sDownload new version%s (%sSee Changelog%s)', 'woothemes' ), $update_data['version'], '', '', '', '' ) . '

    '; + } + + if ( $html != '' ) { echo $html; } + } // End woo_theme_update_notice() +} + +/*-----------------------------------------------------------------------------------*/ +/* WooThemes Framework Update Notice - woo_framework_update_notice */ +/*-----------------------------------------------------------------------------------*/ +/** + * woo_framework_update_notice function. + * + * @description Notify users of framework updates, if necessary. + * @since 4.8.0 + * @access public + * @return void + */ +if ( ! function_exists( 'woo_framework_update_notice' ) ) { + function woo_framework_update_notice () { + $local_version = get_option( 'woo_framework_version' ); + if ( $local_version == '' ) { return; } + $update_data = woo_framework_version_checker( $local_version ); + + $html = ''; + + if ( is_array( $update_data ) && $update_data['is_update'] == true ) { + $html = '

    ' . sprintf( __( 'WooFramework update is available (v%s). %sDownload new version%s (%sSee Changelog%s)', 'woothemes' ), $update_data['version'], '', '', '', '' ) . '

    '; + } + + if ( $html != '' ) { echo $html; } + } // End woo_framework_update_notice() +} + +/*-----------------------------------------------------------------------------------*/ +/* WooThemes Framework Critical Update Notice - woo_framework_critical_update_notice */ +/*-----------------------------------------------------------------------------------*/ +/** + * woo_framework_critical_update_notice function. + * + * @description Notify users of critical framework updates, if necessary. + * @since 4.8.0 + * @access public + * @return void + */ +if ( ! function_exists( 'woo_framework_critical_update_notice' ) ) { + function woo_framework_critical_update_notice () { + // Determine if the check has happened. + $critical_update = get_transient( 'woo_framework_critical_update' ); + $critical_update_data = get_transient( 'woo_framework_critical_update_data' ); + + if ( ! $critical_update || ! is_array( $critical_update_data ) ) { + + $local_version = get_option( 'woo_framework_version' ); + if ( $local_version == '' ) { return; } + + $update_data = woo_framework_version_checker( $local_version, true ); + + // Set this to "has been checked" for 2 weeks. + set_transient( 'woo_framework_critical_update', true, 60*60*336 ); + + // Cache the data as well. + set_transient( 'woo_framework_critical_update_data', $update_data, 60*60*336 ); + } else { + $update_data = $critical_update_data; + } + + $html = ''; + + // Generate output based on returned/stored data. + if ( is_array( $update_data ) && $update_data['is_update'] == true && $update_data['is_critical'] == true ) { + + // Remove the generic update notice. + remove_action( 'admin_notices', 'woo_framework_update_notice', 10 ); + + $html = '

    ' . sprintf( __( 'An important WooFramework update is available (v%s). %sDownload new version%s (%sSee Changelog%s)', 'woothemes' ), $update_data['version'], '', '', '', '' ) . '

    '; + } + + if ( $html != '' ) { echo $html; } + } // End woo_framework_critical_update_notice() +} +?> \ No newline at end of file diff --git a/artificer/functions/admin-medialibrary-uploader.php b/artificer/functions/admin-medialibrary-uploader.php new file mode 100755 index 0000000..be52f7c --- /dev/null +++ b/artificer/functions/admin-medialibrary-uploader.php @@ -0,0 +1,340 @@ + + array( + 'name' => __( 'WooFramework Internal Container', 'woothemes' ), + ), + 'public' => true, + 'show_ui' => false, + 'capability_type' => 'post', + 'hierarchical' => false, + 'rewrite' => false, + 'supports' => array( 'title', 'editor' ), + 'query_var' => false, + 'can_export' => true, + 'show_in_nav_menus' => false + ) ); + } // End woothemes_mlu_init() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_css */ +/* +/* Add the Thickbox CSS file and specific loading and button images to the header +/* on the pages where this function is called. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_css' ) ) { + function woothemes_mlu_css () { + $_html = ''; + $_html .= '' . "\n"; + $_html .= '' . "\n"; + + echo $_html; + } // End woothemes_mlu_css() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_js */ +/* +/* Register and enqueue (load) the necessary JavaScript file for working with the +/* Media Library-driven AJAX File Uploader Module. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_js' ) ) { + function woothemes_mlu_js () { + // Register custom scripts for the Media Library AJAX uploader. + wp_register_script( 'woo-medialibrary-uploader', get_template_directory_uri() . '/functions/js/woo-medialibrary-uploader.js', array( 'jquery', 'thickbox' ) ); + wp_enqueue_script( 'woo-medialibrary-uploader' ); + wp_enqueue_script( 'media-upload' ); + } // End woothemes_mlu_js() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_medialibrary_uploader */ +/* +/* WooThemes Uploader Using the WordPress Media Library. +/* +/* Parameters: +/* - string $_id - A token to identify this field (the name). +/* - string $_value - The value of the field, if present. +/* - string $_mode - The display mode of the field. +/* - string $_desc - An optional description of the field. +/* - int $_postid - An optional post id (used in the meta boxes). +/* +/* Dependencies: +/* - woothemes_mlu_get_silentpost() +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_medialibrary_uploader' ) ) { + function woothemes_medialibrary_uploader ( $_id, $_value, $_mode = 'full', $_desc = '', $_postid = 0 ) { + $output = ''; + + $id = ''; + $class = ''; + $int = ''; + $value = ''; + + $id = strip_tags( strtolower( $_id ) ); + + // If a post id is present, use it. Otherwise, search for one based on the $_id. + if ( $_postid != 0 ) { + $int = $_postid; + } else { + $int = woothemes_mlu_get_silentpost( $id ); // Change for each field, using a "silent" post. If no post is present, one will be created. + } + + // If we're on a post add/edit screen, call the post meta value. + if ( $_mode == 'postmeta' ) { + $value = get_post_meta( $_postid, $id, true ); + } else { + $value = get_option( $id ); + } + + // If a value is passed and we don't have a stored value, use the value that's passed through. + if ( $_value != '' && $value == '' ) { + $value = $_value; + } + + if ( $value ) { $class = ' has-file'; } // End IF Statement + + // Hide the input field for "minimal" upload fields. + $field_type = 'text'; + if ( $_mode == 'min' ) { $field_type = 'hidden'; } + + $output .= '' . "\n"; + $output .= '' . "\n"; + + if ( $_desc != '' ) { + $output .= '' . $_desc . '' . "\n"; + } + + $output .= '
    ' . "\n"; + + if ( $value != '' ) { + $remove = 'Remove'; + + $image = preg_match( '/(^.*\.jpg|jpeg|png|gif|ico*)/i', $value ); + + if ( $image ) { + $output .= ''.$remove.''; + } else { + $parts = explode( "/", $value ); + + for( $i = 0; $i < sizeof( $parts ); ++$i ) { + $title = $parts[$i]; + } // End FOR Loop + + // No output preview if it's not an image. + $output .= ''; + + // Standard generic output if it's not an image. + $title = __( 'View File', 'woothemes' ); + + $output .= '
    '.$title.'' . $remove . '
    '; + + } // End IF Statement + } // End IF Statement + + $output .= '
    ' . "\n"; + + return $output; + } // End woothemes_medialibrary_uploader() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_get_silentpost */ +/* +/* Use "silent" posts in the database to store relationships for images. +/* This also creates the facility to collect galleries of, for example, logo images. +/* +/* Return: $_postid. +/* +/* If no "silent" post is present, one will be created with the type "wooframework" +/* and the post_name of "woo-wf-$_token". +/* +/* Example Usage: +/* woothemes_mlu_get_silentpost ( 'woo_logo' ); +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_get_silentpost' ) ) { + function woothemes_mlu_get_silentpost ( $_token ) { + global $wpdb; + + $_id = 0; + + // Check if the token is valid against a whitelist. + + // $_whitelist = array( 'woo_logo', 'woo_custom_favicon', 'woo_body_img', 'woo_ad_top_image' ); + + // Sanitise the token. + + $_token = strtolower( str_replace( ' ', '_', $_token ) ); + + // if ( in_array( $_token, $_whitelist ) ) { + + if ( $_token ) { + // Tell the function what to look for in a post. + $_args = array( 'post_parent' => '0', 'post_type' => 'wooframework', 'post_name' => 'woo-wf-' . $_token, 'post_status' => 'draft', 'comment_status' => 'closed', 'ping_status' => 'closed' ); + + // Look in the database for a "silent" post that meets our criteria. + $_posts = get_post( $_args ); + + // If we've got a post, loop through and get it's ID. + if ( count( $_posts ) ) { + $_id = $_posts->ID; + } else { + // If no post is present, insert one. + // Prepare some additional data to go with the post insertion. + $_words = explode( '_', $_token ); + $_title = join( ' ', $_words ); + $_title = ucwords( $_title ); + $_post_data = array( 'post_title' => $_title ); + $_post_data = array_merge( $_post_data, $_args ); + + $_id = wp_insert_post( $_post_data ); + } // End IF Statement + } + + return $_id; + } // End woothemes_mlu_get_silentpost() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_insidepopup */ +/* +/* Trigger code inside the Media Library popup. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_insidepopup' ) ) { + function woothemes_mlu_insidepopup () { + if ( isset( $_REQUEST['is_woothemes'] ) && $_REQUEST['is_woothemes'] == 'yes' ) { + add_action( 'admin_head', 'woothemes_mlu_js_popup' ); + add_filter( 'media_upload_tabs', 'woothemes_mlu_modify_tabs' ); + } + } // End woothemes_mlu_insidepopup() +} + +if ( ! function_exists( 'woothemes_mlu_js_popup' ) ) { + function woothemes_mlu_js_popup () { + $_woo_title = 'file'; + + if ( isset( $_REQUEST['woo_title'] ) ) { $_woo_title = $_REQUEST['woo_title']; } // End IF Statement +?> + + \ No newline at end of file diff --git a/artificer/functions/admin-sbm.php b/artificer/functions/admin-sbm.php new file mode 100755 index 0000000..c5e1b98 --- /dev/null +++ b/artificer/functions/admin-sbm.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/artificer/functions/admin-seo.php b/artificer/functions/admin-seo.php new file mode 100755 index 0000000..8d3ef95 --- /dev/null +++ b/artificer/functions/admin-seo.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/artificer/functions/admin-setup.php b/artificer/functions/admin-setup.php new file mode 100755 index 0000000..ff28999 --- /dev/null +++ b/artificer/functions/admin-setup.php @@ -0,0 +1,325 @@ +' . "\n"; + // If we're using the query variable, be sure to check for /css/layout.css as well. + if ( $style != '' ) { + if ( strtolower( $style ) == 'default' ) { + if ( file_exists( get_template_directory() . '/css/layout.css' ) ) { + echo '' . "\n"; + } + echo '' . "\n"; + } else { + echo '' . "\n"; + } + } else { + $style = get_option( 'woo_alt_stylesheet' ); + $style = esc_attr( strtolower( strip_tags( trim( $style ) ) ) ); + if( $style != '' ) { + echo '' . "\n"; + } else { + echo '' . "\n"; + } + } +} // End woo_output_alt_stylesheet() +} + +if ( ! function_exists( 'woo_output_custom_favicon' ) ) { +/** + * Output the favicon HTML. + * @since 2.0.0 + * @return void + */ +function woo_output_custom_favicon () { + $favicon = apply_filters( 'woo_custom_favicon', get_option( 'woo_custom_favicon', '' ) ); + if( '' != $favicon ) echo "\n" . '' . "\n" . '' . "\n"; +} // End woo_output_custom_favicon() +} + +if ( ! function_exists( 'woo_load_textdomain' ) ) { +/** + * Load the theme's textdomain, as well as an optional child theme textdomain. + * @since 2.0.0 + * @return void + */ +function woo_load_textdomain () { + load_theme_textdomain( 'woothemes' ); + load_theme_textdomain( 'woothemes', get_template_directory() . '/lang' ); + if ( function_exists( 'load_child_theme_textdomain' ) ) + load_child_theme_textdomain( 'woothemes' ); +} // End woo_load_textdomain() +} + +add_action( 'init', 'woo_load_textdomain', 10 ); + +if ( ! function_exists( 'woo_head_css' ) ) { +/** + * Output CSS from standardized theme options. + * @since 2.0.0 + * @return void + */ +function woo_head_css () { + $output = ''; + $text_title = get_option( 'woo_texttitle' ); + $tagline = get_option( 'woo_tagline' ); + $custom_css = get_option( 'woo_custom_css' ); + + $template = get_option( 'woo_template' ); + if ( is_array( $template ) ) { + foreach( $template as $option ) { + if( isset( $option['id'] ) ) { + if( $option['id'] == 'woo_texttitle' ) { + // Add CSS to output + if ( $text_title == 'true' ) { + $output .= '#logo img { display:none; } .site-title { display:block !important; }' . "\n"; + if ( $tagline == 'false' ) + $output .= '.site-description { display:none !important; }' . "\n"; + else + $output .= '.site-description { display:block !important; }' . "\n"; + } + } + } + } + } + + if ( $custom_css != '' ) { + $output .= $custom_css . "\n"; + } + + // Output styles + if ( $output != '' ) { + $output = strip_tags($output); + echo '' . "\n"; + $output = "\n\n"; + echo stripslashes( $output ); + } +} // End woo_head_css() +} + +if ( ! function_exists( 'woo_output_custom_css' ) ) { +/** + * Output the HTML for the "custom.css" file. + * @since 2.0.0 + * @return void + */ +function woo_output_custom_css() { + $theme_dir = get_template_directory_uri(); + if ( is_child_theme() && file_exists( get_stylesheet_directory() . '/custom.css' ) ) + $theme_dir = get_stylesheet_directory_uri(); + + echo "\n" . '' . "\n" . '' . "\n"; +} // End woo_output_custom_css() +} + +/** + * Add theme support for post thumbnails, and integrate the size settings. + * @since 4.0.0 + */ +if( function_exists( 'add_theme_support' ) ) { + if( get_option( 'woo_post_image_support' ) == 'true' ) { + add_theme_support( 'post-thumbnails' ); + // set height, width and crop if dynamic resize functionality isn't enabled + if ( get_option( 'woo_pis_resize' ) != 'true' ) { + $thumb_width = get_option( 'woo_thumb_w' ); + $thumb_height = get_option( 'woo_thumb_h' ); + $single_width = get_option( 'woo_single_w' ); + $single_height = get_option( 'woo_single_h' ); + $hard_crop = get_option( 'woo_pis_hard_crop' ); + if($hard_crop == 'true') { $hard_crop = true; } else { $hard_crop = false; } + set_post_thumbnail_size( $thumb_width, $thumb_height, $hard_crop ); // Normal post thumbnails + add_image_size( 'single-post-thumbnail', $single_width, $single_height, $hard_crop ); + } + } +} + +if ( ! function_exists( 'woo_comment_reply' ) ) { +/** + * Enqueue the comment reply JavaScript on singular entry screens. + * @since 3.0.0 + * @return void + */ +function woo_comment_reply() { + if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); +} // End woo_comment_reply() +} + +add_action( 'get_header', 'woo_comment_reply', 10 ); +?> \ No newline at end of file diff --git a/artificer/functions/admin-shortcode-generator.php b/artificer/functions/admin-shortcode-generator.php new file mode 100755 index 0000000..74963ca --- /dev/null +++ b/artificer/functions/admin-shortcode-generator.php @@ -0,0 +1,272 @@ + +framework_url() . 'js/colorpicker.js' ), array( 'jquery' ), '3.6', true ); // Loaded into the footer. + wp_enqueue_script( 'woo-colourpicker' ); + + // Register the colourpicker CSS. + wp_register_style( 'woo-colourpicker', esc_url( $this->framework_url() . 'css/colorpicker.css' ) ); + wp_enqueue_style( 'woo-colourpicker' ); + + wp_register_style( 'woo-shortcode-icon', esc_url( $this->framework_url() . 'css/shortcode-icon.css' ) ); + wp_enqueue_style( 'woo-shortcode-icon' ); + + // Register the custom CSS styles. + wp_register_style( 'woo-shortcode-generator', esc_url( $this->framework_url() . 'css/shortcode-generator.css' ) ); + wp_enqueue_style( 'woo-shortcode-generator' ); + + } // End IF Statement + + } // End init() + +/*----------------------------------------------------------------------------------- + filter_mce_buttons() + + * Add our new button to the tinyMCE editor. +-----------------------------------------------------------------------------------*/ + + function filter_mce_buttons( $buttons ) { + + array_push( $buttons, '|', 'woothemes_shortcodes_button' ); + + return $buttons; + + } // End filter_mce_buttons() + +/*----------------------------------------------------------------------------------- + filter_mce_external_plugins() + + * Add functionality to the tinyMCE editor as an external plugin. +-----------------------------------------------------------------------------------*/ + + function filter_mce_external_plugins( $plugins ) { + global $wp_version; + $suffix = ''; + if ( '3.9' <= $wp_version ) { + $suffix = '_39'; + } + $plugins['WooThemesShortcodes'] = wp_nonce_url( esc_url( $this->framework_url() . 'js/shortcode-generator/editor_plugin' . $suffix . '.js' ), 'wooframework-shortcode-generator' ); + + return $plugins; + + } // End filter_mce_external_plugins() + +/*----------------------------------------------------------------------------------- + Utility Functions + + * Helper functions for this class. +-----------------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------------- + framework_url() + + * Returns the full URL of the WooFramework, including trailing slash. +-----------------------------------------------------------------------------------*/ + +function framework_url() { + return esc_url( trailingslashit( get_template_directory_uri() . '/' . basename( dirname( __FILE__ ) ) ) ); +} // End framework_url() + +/*----------------------------------------------------------------------------------- + ajax_action_check_url() + + * Checks if a given url (via GET or POST) exists. + * Returns JSON. + * + * NOTE: For users that are not logged in this is not called. + * The client recieves -1 in that case. +-----------------------------------------------------------------------------------*/ + +function ajax_action_check_url() { + $hadError = true; + + $url = isset( $_REQUEST['url'] ) ? $_REQUEST['url'] : ''; + + if ( strlen( $url ) > 0 && function_exists( 'get_headers' ) ) { + $url = esc_url( $url ); + $file_headers = @get_headers( $url ); + $exists = $file_headers && $file_headers[0] != 'HTTP/1.1 404 Not Found'; + $hadError = false; + } + + echo '{ "exists": '. ($exists ? '1' : '0') . ($hadError ? ', "error" : 1 ' : '') . ' }'; + + die(); +} // End ajax_action_check_url() + +/*----------------------------------------------------------------------------------- + ajax_action_generate_nonce() + + * Generate a nonce. + * + * NOTE: For users that are not logged in this is not called. + * The client recieves -1 in that case. +-----------------------------------------------------------------------------------*/ + +function ajax_action_generate_nonce() { + echo wp_create_nonce( 'wooframework-shortcode-generator' ); + die(); +} // End ajax_action_generate_nonce() + + + /** + * Output the HTML markup for the dialog box. + * @access public + * @since 5.5.6 + * @return void + */ + public function output_dialog_markup () { + $woo_framework_url = $this->framework_url(); + $woo_framework_version = get_option( 'woo_framework_version' ); + + $MIN_VERSION = '2.9'; + + $meetsMinVersion = version_compare($woo_framework_version, $MIN_VERSION) >= 0; + + $isWooTheme = true; +?> + + \ No newline at end of file diff --git a/artificer/functions/admin-shortcodes.php b/artificer/functions/admin-shortcodes.php new file mode 100755 index 0000000..a0ca14a --- /dev/null +++ b/artificer/functions/admin-shortcodes.php @@ -0,0 +1,2274 @@ + +\n"; + echo ''."\n"; + } // End woo_shortcode_stylesheet() +} + +// Replace WP autop formatting +if ( ! function_exists( 'woo_remove_wpautop' ) ) { + function woo_remove_wpautop( $content ) { + $content = do_shortcode( shortcode_unautop( $content ) ); + $content = preg_replace( '#^<\/p>|^
    |

    $#', '', $content ); + return $content; + } // End woo_remove_wpautop() +} + +/*-----------------------------------------------------------------------------------*/ +/* 1.1 Output shortcode JS in footer */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'wp_print_scripts', 'woo_register_shortcode_js', 10 ); + +function woo_register_shortcode_js () { + wp_register_script( 'woo-shortcodes', get_template_directory_uri() . '/functions/js/shortcodes.js', array( 'jquery', 'jquery-ui-tabs' ), '5.0.0' ); +} // End woo_register_shortcode_js() + +add_action( 'wp_footer', 'woo_enqueue_shortcode_js', 10 ); + +function woo_enqueue_shortcode_js () { + if ( ! is_admin() && defined( 'WOO_SHORTCODE_JS' ) ) { + wp_enqueue_script( 'woo-shortcodes' ); + + global $wp_scripts; + $wp_scripts->to_do = array( 'woo-shortcodes' ); + + wp_print_scripts(); + } +} // End woo_enqueue_shortcode_js() + +/*-----------------------------------------------------------------------------------*/ +/* 2. Boxes - box +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - type: info, alert, tick, download, note + - size: medium, large + - style: rounded + - border: none, full + - icon: none OR full URL to a custom icon + +*/ +function woo_shortcode_box( $atts, $content = null ) { + extract( shortcode_atts( array( 'type' => 'normal', + 'size' => '', + 'style' => '', + 'border' => '', + 'icon' => '' ), $atts ) ); + + $custom = ''; + if ( $icon == 'none' ) + $custom = ' style="padding-left:15px;background-image:none;"'; + elseif ( $icon ) + $custom = ' style="padding-left:50px;background-image:url( ' . esc_attr( esc_url( $icon ) ) . ' ); background-repeat:no-repeat; background-position:20px 45%;"'; + + return '

    ' . wp_kses_post( do_shortcode( woo_remove_wpautop( $content ) ) ) . '
    '; +} // End woo_shortcode_box() + +add_shortcode( 'box', 'woo_shortcode_box' ); + +/*-----------------------------------------------------------------------------------*/ +/* 3. Buttons - button +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - size: small, large + - style: info, alert, tick, download, note + - color: red, green, black, grey OR custom hex color (e.g #000000) + - border: border color (e.g. red or #000000) + - text: black (for light color background on button) + - class: custom class + - link: button link (e.g http://www.woothemes.com) + - window: true/false + +*/ +function woo_shortcode_button( $atts, $content = null ) { + extract( shortcode_atts( array( 'size' => '', + 'style' => '', + 'bg_color' => '', + 'color' => '', + 'border' => '', + 'text' => '', + 'class' => '', + 'link' => '#', + 'window' => '' ), $atts ) ); + + + // Set custom background and border color + $color_output = ''; + if ( $color ) { + $preset_colors = array( 'red', 'orange', 'green', 'aqua', 'teal', 'purple', 'pink', 'silver' ); + if ( in_array( $color, $preset_colors ) ) { + $class .= ' ' . $color; + } else { + if ( $border ){ + $border_out = $border; + } else { + $border_out = $color; + } + + $color_output = 'style="background:' . esc_attr( $color ) . ';border-color:' . esc_attr( $border_out ) . '"'; + + // add custom class + $class .= ' custom'; + } + } else { + if ( $border ) + $border_out = $border; + else + $border_out = $bg_color; + + $color_output = 'style="background:' . esc_attr( $bg_color ) . ';border-color:' . esc_attr( $border_out ) . '"'; + + // add custom class + $class .= ' custom'; + } + + $class_output = ''; + + // Set text color + if ( $text ) $class_output .= ' dark'; + // Set class + if ( $class ) $class_output .= ' '.$class; + // Set Size + if ( $size ) $class_output .= ' '.$size; + // Set window target + if ( $window ) $window = 'target="_blank" '; + + $output = '' . wp_kses_post( woo_remove_wpautop( $content ) ) . ''; + return $output; +} // End woo_shortcode_button() + +add_shortcode( 'button', 'woo_shortcode_button' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 4. Related Posts - related_posts +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - limit: number of posts to show (default: 5) + - image: thumbnail size, 0 = off (default: 0) +*/ + +function woo_shortcode_related_posts ( $atts ) { + global $post, $wp_version; + + wp_reset_query(); // Make sure we have a fresh query before we start. + + $defaults = array( + 'limit' => 5, + 'image' => 0, + 'float' => 'none' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + // This function requires at least WordPress Version 3.1. + if ( $wp_version < 3.1 ) { + return _dep_woo_shortcode_related_posts( $atts ); + } else { + + // Sanitize float attribute. + if ( isset( $atts['float'] ) && ! in_array( $atts['float'], array( 'none', 'left', 'right' ) ) ) { $atts['float'] = 'none'; } + + // Float translation array. + $floats = array( 'none' => '', 'left' => 'fl', 'right' => 'fr' ); + + $css_class = 'woo-sc-related-posts'; + + extract( $atts ); + + if ( $float != 'none' ) { $css_class .= ' ' . $floats[$float]; } + + $output = ''; + + $post_type = get_post_type( $post->ID ); + + $post_type_obj = get_post_type_object( $post_type ); + + $taxonomies_string = 'post_tag, category'; + $taxonomies = array( 'post_tag', 'category' ); + + if ( isset( $post_type_obj->taxonomies ) && count( $post_type_obj->taxonomies ) > 0 ) { + $taxonomies_string = join( ', ', $post_type_obj->taxonomies ); + $taxonomies = $post_type_obj->taxonomies; + } + + // Clean up our taxonomies for use in the query. + if ( count( $taxonomies ) ) { + foreach ( $taxonomies as $k => $v ) { + $taxonomies[$k] = trim( $v ); + } + } + + // Determine which terms we're going to relate to this entry. + $related_terms = array(); + + foreach ( $taxonomies as $t ) { + $terms = get_the_terms( $post->ID, $t ); + + if ( ! empty( $terms ) ) { + foreach ( $terms as $k => $v ) { + $related_terms[$t][$v->term_id] = $v->slug; + } + } + } + + $specific_terms = array(); + foreach ( $related_terms as $k => $v ) { + foreach ( $v as $i => $j ) { + $specific_terms[] = $j; + } + } + + $query_args = array( + 'limit' => $atts['limit'], + 'post_type' => $post_type, + 'taxonomies' => $taxonomies_string, + 'specific_terms' => $specific_terms, + 'order' => 'DESC', + 'orderby' => 'date', + 'exclude' => array( $post->ID ) + ); + + $posts = woo_get_posts_by_taxonomy( $query_args ); + + if ( count( (array)$posts ) ) { + + $output .= '
    ' . "\n"; + + $output .= '' . "\n"; + $output .= '
    ' . "\n"; + $output .= '
    '; + } + + wp_reset_postdata(); + + return apply_filters( 'woo_shortcode_related_posts', $output, $atts ); + + } // End IF Statement (version check) +} // End woo_shortcode_related_posts() + +add_shortcode( 'related_posts', 'woo_shortcode_related_posts' ); + +/*-----------------------------------------------------------------------------------*/ +/* Deprecated: Related Posts Shortcode. +/* +/* Used for WordPress version 3.0 or less. +/*-----------------------------------------------------------------------------------*/ + +function _dep_woo_shortcode_related_posts( $atts ) { trigger_error( sprintf( __( '%1$s is deprecated since version %2$s of the WooFramework! Please upgrade your WordPress to the latest version to use the latest functionality.', 'woothemes' ), '_dep_woo_shortcode_related_posts', '5.4' ) ); } + +/*-----------------------------------------------------------------------------------*/ +/* 5. Tweetmeme button - tweetmeme +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://help.tweetmeme.com/2009/04/06/tweetmeme-button/ + +Optional arguments: + - link: specify URL directly + - style: compact + - source: username + - float: none, left, right (default: left) + +*/ +function woo_shortcode_tweetmeme($atts, $content = null) { + extract(shortcode_atts(array( 'link' => '', + 'style' => '', + 'source' => '', + 'float' => 'left'), $atts)); + $output = ''; + + if ( $link == '' ) { + global $post; + $link = get_permalink( $post->ID ); + } + + if ( $link ) + $output .= "tweetmeme_url = '" . esc_url( $link ) . "';"; + + if ( $style ) + $output .= "tweetmeme_style = 'compact';"; + + if ( $source ) + $output .= "tweetmeme_source = '" . esc_attr( $source ) . "';"; + + if ( $link OR $style ) + $output = ''; + + $output .= '
    '; + return $output; + +} // End woo_shortcode_tweetmeme() + +add_shortcode( 'tweetmeme', 'woo_shortcode_tweetmeme' ); + +/*-----------------------------------------------------------------------------------*/ +/* 6. Twitter button - twitter +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://twitter.com/goodies/tweetbutton + +Optional arguments: + - style: vertical, horizontal, none ( default: vertical ) + - url: specify URL directly + - source: username to mention in tweet + - related: related account + - text: optional tweet text (default: title of page) + - float: none, left, right (default: left) + - lang: fr, de, es, js (default: english) + - use_post_url: automatically retrieve the URL to the specific post (useful on archive screens) +*/ +function woo_shortcode_twitter($atts, $content = null) { + global $post; + extract(shortcode_atts(array( 'url' => '', + 'style' => '', + 'source' => '', + 'text' => '', + 'related' => '', + 'lang' => '', + 'float' => 'left', + 'use_post_url' => 'false', + 'recommend' => '', + 'hashtag' => '', + 'size' => '', + ), $atts)); + $output = ''; + + if ( $url ) + $output .= ' data-url="' . esc_url( $url ) . '"'; + + if ( $source ) + $output .= ' data-via="' . esc_attr( $source ) . '"'; + + if ( $text ) + $output .= ' data-text="' . esc_attr( $text ) . '"'; + + if ( $related ) + $output .= ' data-related="' . esc_attr( $related ) . '"'; + + if ( $hashtag ) + $output .= ' data-hashtags="' . esc_attr( $hashtag ) . '"'; + + if ( $size ) + $output .= ' data-size="' . esc_attr( $size ) . '"'; + + if ( $lang ) + $output .= ' data-lang="' . esc_attr( $lang ) . '"'; + + if ( $style != '' ) { + $output .= 'data-count="' . esc_attr( $style ) . '"'; + } + + if ( $use_post_url == 'true' && $url == '' ) { + $output .= ' data-url="' . get_permalink( $post->ID ) . '"'; + } + + $output = ''; + return $output; + +} // End woo_shortcode_twitter() + +add_shortcode( 'twitter', 'woo_shortcode_twitter' ); + +/*-----------------------------------------------------------------------------------*/ +/* 7. Digg Button - digg +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://about.digg.com/button + +Optional arguments: + - link: specify URL directly + - title: specify a title (must add link also) + - style: medium, large, compact, icon (default: medium) + - float: none, left, right (default: left) +*/ +function woo_shortcode_digg($atts, $content = null) { + extract(shortcode_atts(array( 'link' => '', + 'title' => '', + 'style' => 'medium', + 'float' => 'left' ), $atts)); + $output = " + + "; + + // Add custom URL + if ( $link ) { + // Add custom title + if ( $title ) + $title = '&title=' . $title; + + $link = ' href="' . esc_url( 'http://digg.com/submit?url='. $link . $title ) . '"'; + } + + if ( $link == '' ) { + global $post; + $link = get_permalink( $post->ID ); + } + + if ( $style == "large" ) + $style = "Large"; + elseif ( $style == "compact" ) + $style = "Compact"; + elseif ( $style == "icon" ) + $style = "Icon"; + else + $style = "Medium"; + + $output .= '
    '; + return $output; + +} // End woo_shortcode_digg() + +add_shortcode( 'digg', 'woo_shortcode_digg' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 8. Facebook Like Button - fblike +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://developers.facebook.com/docs/reference/plugins/like + +Optional arguments: + - float: none (default), left, right + - url: link you want to share (default: current post ID) + - style: standard (default), button + - showfaces: true or false (default) + - width: 450 + - verb: like (default) or recommend + - colorscheme: light (default), dark + - font: arial (default), lucida grande, segoe ui, tahoma, trebuchet ms, verdana + +*/ +function woo_shortcode_fblike($atts, $content = null) { + extract(shortcode_atts(array( 'float' => 'none', + 'url' => '', + 'style' => 'standard', + 'showfaces' => 'false', + 'width' => '450', + 'verb' => 'like', + 'colorscheme' => 'light', + 'font' => 'arial', + 'locale' => 'en_US' ), $atts)); + + global $post; + + if ( ! $post ) { + $post = new stdClass(); + $post->ID = 0; + } + + $allowed_styles = array( 'standard', 'button_count', 'box_count' ); + + if ( ! in_array( $style, $allowed_styles ) ) { $style = 'standard'; } // End IF Statement + + if ( ! $url ) { + $url = get_permalink( $post->ID ); + } + + $height = '65'; + if ( $showfaces == 'true') + $height = '100'; + + if ( ! $width || ! is_numeric( $width ) ) { $width = 450; } // End IF Statement + + // Set the width to "auto" if "showfaces" is off and the default width is still set. + $widthpx = $width . 'px'; + if ( $width == 450 && $showfaces == 'false' ) { $widthpx = 'auto'; } + + // Set the height to 20 if "showfaces" is disabled and the style is either "standard" or "button_count". + if ( $showfaces == 'false' && ( $style != 'box_count' ) ) { $height = 25; } + + switch ( $float ) { + case 'left': + $float = 'fl'; + break; + + case 'right': + $float = 'fr'; + break; + + default: + break; + } + + $src_url = 'http://www.facebook.com/plugins/like.php?href=' . esc_url( $url ) . '&layout=' . urlencode( $style ) . '&show_faces=' . urlencode( $showfaces ) . '&width=' . urlencode( $width ) . '&action=' . urlencode( $verb ) . '&colorscheme=' . urlencode( $colorscheme ) . '&font=' . urlencode( $font ) . '&locale=' . urlencode( $locale ) . ''; + $output = ' +
    + +
    + '; + return $output; +} // End woo_shortcode_fblike() + +add_shortcode( 'fblike', 'woo_shortcode_fblike' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 9. Columns +/*-----------------------------------------------------------------------------------*/ +/* + +Description: + +Columns are named with this convention Xcol_Y where X is the total number of columns and Y is +the number of columns you want this column to span. Add _last behind the shortcode if it is the +last column. + +*/ + +/* ============= Two Columns ============= */ + +function woo_shortcode_twocol_one($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'twocol_one', 'woo_shortcode_twocol_one' ); + +function woo_shortcode_twocol_one_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'twocol_one_last', 'woo_shortcode_twocol_one_last' ); + + +/* ============= Three Columns ============= */ + +function woo_shortcode_threecol_one($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'threecol_one', 'woo_shortcode_threecol_one' ); + +function woo_shortcode_threecol_one_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'threecol_one_last', 'woo_shortcode_threecol_one_last' ); + +function woo_shortcode_threecol_two($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'threecol_two', 'woo_shortcode_threecol_two' ); + +function woo_shortcode_threecol_two_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'threecol_two_last', 'woo_shortcode_threecol_two_last' ); + +/* ============= Four Columns ============= */ + +function woo_shortcode_fourcol_one($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fourcol_one', 'woo_shortcode_fourcol_one' ); + +function woo_shortcode_fourcol_one_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fourcol_one_last', 'woo_shortcode_fourcol_one_last' ); + +function woo_shortcode_fourcol_two($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fourcol_two', 'woo_shortcode_fourcol_two' ); + +function woo_shortcode_fourcol_two_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fourcol_two_last', 'woo_shortcode_fourcol_two_last' ); + +function woo_shortcode_fourcol_three($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fourcol_three', 'woo_shortcode_fourcol_three' ); + +function woo_shortcode_fourcol_three_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fourcol_three_last', 'woo_shortcode_fourcol_three_last' ); + +/* ============= Five Columns ============= */ + +function woo_shortcode_fivecol_one($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_one', 'woo_shortcode_fivecol_one' ); + +function woo_shortcode_fivecol_one_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_one_last', 'woo_shortcode_fivecol_one_last' ); + +function woo_shortcode_fivecol_two($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_two', 'woo_shortcode_fivecol_two' ); + +function woo_shortcode_fivecol_two_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_two_last', 'woo_shortcode_fivecol_two_last' ); + +function woo_shortcode_fivecol_three($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_three', 'woo_shortcode_fivecol_three' ); + +function woo_shortcode_fivecol_three_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_three_last', 'woo_shortcode_fivecol_three_last' ); + +function woo_shortcode_fivecol_four($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_four', 'woo_shortcode_fivecol_four' ); + +function woo_shortcode_fivecol_four_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_four_last', 'woo_shortcode_fivecol_four_last' ); + + +/* ============= Six Columns ============= */ + +function woo_shortcode_sixcol_one($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_one', 'woo_shortcode_sixcol_one' ); + +function woo_shortcode_sixcol_one_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_one_last', 'woo_shortcode_sixcol_one_last' ); + +function woo_shortcode_sixcol_two($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_two', 'woo_shortcode_sixcol_two' ); + +function woo_shortcode_sixcol_two_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_two_last', 'woo_shortcode_sixcol_two_last' ); + +function woo_shortcode_sixcol_three($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_three', 'woo_shortcode_sixcol_three' ); + +function woo_shortcode_sixcol_three_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_three_last', 'woo_shortcode_sixcol_three_last' ); + +function woo_shortcode_sixcol_four($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_four', 'woo_shortcode_sixcol_four' ); + +function woo_shortcode_sixcol_four_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_four_last', 'woo_shortcode_sixcol_four_last' ); + +function woo_shortcode_sixcol_five($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_five', 'woo_shortcode_sixcol_five' ); + +function woo_shortcode_sixcol_five_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_five_last', 'woo_shortcode_sixcol_five_last' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 10. Horizontal Rule / Divider - hr - divider +/*-----------------------------------------------------------------------------------*/ +/* +Description: Use to separate text. +*/ +function woo_shortcode_hr($atts, $content = null) { + return '
    '; +} // End woo_shortcode_hr() +add_shortcode( 'hr', 'woo_shortcode_hr' ); + +function woo_shortcode_divider($atts, $content = null) { + return '
    '; +} // End woo_shortcode_divider() +add_shortcode( 'divider', 'woo_shortcode_divider' ); + +function woo_shortcode_divider_flat($atts, $content = null) { + return '
    '; +} // End woo_shortcode_divider_flat() +add_shortcode( 'divider_flat', 'woo_shortcode_divider_flat' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 11. Quote - quote +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - style: boxed + - float: left, right + +*/ +function woo_shortcode_quote($atts, $content = null) { + extract(shortcode_atts(array( 'style' => '', + 'float' => ''), $atts)); + $class = ''; + if ( $style ) + $class .= ' '.$style; + if ( $float ) + $class .= ' '.$float; + + return '

    ' . woo_remove_wpautop($content) . '

    '; +} // End woo_shortcode_quote() +add_shortcode( 'quote', 'woo_shortcode_quote' ); + +/*-----------------------------------------------------------------------------------*/ +/* 12. Icon links - ilink +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - style: download, note, tick, info, alert + - url: the url for your link + - icon: add an url to a custom icon + - title: optional title attribute + +*/ +function woo_shortcode_ilink( $atts, $content = null ) { + extract( shortcode_atts( array( 'style' => 'info', 'url' => '', 'icon' => '', 'title' => '' ), $atts ) ); + + $atts = ''; + if ( $icon != '' ) { + $atts .= ' style="background: url( ' . esc_url( $icon ) . ') no-repeat left 40%;"'; + } + if ( $title != '' ) { + $atts .= ' title="' . esc_attr( $title ) . '"'; + } + + return '' . woo_remove_wpautop( $content ) . ''; +} // End woo_shortcode_ilink() +add_shortcode( 'ilink', 'woo_shortcode_ilink' ); + +/*-----------------------------------------------------------------------------------*/ +/* 13. jQuery Toggle +/*-----------------------------------------------------------------------------------*/ +/* + +} + +Optional arguments: + - title: The text in the main trigger + - hide: Hide the toggle box on load + - display_main_trigger: Display the main trigger on the toggle + +*/ +function woo_shortcode_toggle ( $atts, $content = null ) { + // Instruct the shortcode JavaScript to load. + if ( ! defined( 'WOO_SHORTCODE_JS' ) ) { define( 'WOO_SHORTCODE_JS', 'load' ); } + + $defaults = array( + 'title_open' => __( 'Hide the Content', 'woothemes' ), + 'title_closed' => __( 'Show the Content', 'woothemes' ), + 'hide' => 'yes', + 'display_main_trigger' => 'yes', + 'style' => 'default', + 'border' => 'yes', + 'excerpt_length' => '0', + 'include_excerpt_html' => 'no', + 'read_more_text' => __( 'Read More', 'woothemes' ), + 'read_less_text' => __( 'Read Less', 'woothemes' ) + ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $title = ''; + $class = ''; + + $class_open = ' toggle-' . sanitize_title( $title_open ); + + $class_closed = ' toggle-' . sanitize_title( $title_closed ); + + if ( $hide == 'yes' ) { + $class .= $class_closed . ' closed'; $title = $title_closed; + } else { + $class .= $class_open . ' open'; $title = $title_open; + } // End IF Statement + + $main_trigger = ''; + + if ( $display_main_trigger == 'yes' ) { + + $main_trigger = '

    ' . $title . '

    ' . "\n"; + + } // End IF Statement + + // Add the alternate style to the CSS class. + $class .= ' ' . $style; + + // Add the border class, if necessary. + if ( $border == 'yes' ) { $class .= ' border'; } // End IF Statement + + // If the excerpt length is greater than 0, apply the excerpt logic. + $excerpt_length = intval( $excerpt_length ); + + if ( $excerpt_length > 0 ) { + $orig_content = $content; + + if ( $include_excerpt_html == 'no' ) { + $content = strip_tags( $content ); + } + + $excerpt = substr( $content, 0, $excerpt_length ); + + $more_link = '' . $read_more_text . ''; + + $content = '' . $excerpt . '' . "\n" . $more_link . "\n" . '' . substr( $content, $excerpt_length, strlen( $content ) ) . '' . "\n"; + } + + return '
    ' . $main_trigger . '
    ' . do_shortcode( $content ) . '
    ' . "\n" . '' . '
    '; +} // End woo_shortcode_toggle() + +add_shortcode( 'toggle', 'woo_shortcode_toggle', 99 ); + +/*-----------------------------------------------------------------------------------*/ +/* 14. Facebook Share Button - fbshare +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://developers.facebook.com/docs/share + +Optional arguments: + - type: box_count, button_count, button (default), icon_link, or icon + - float: none, left, right (default: left) + +*/ +function woo_shortcode_fbshare($atts, $content = null) { + extract( shortcode_atts( array( 'url' => '', 'type' => 'button', 'float' => 'left' ), $atts ) ); + + global $post; + + if ( isset( $url ) && $url == '' && isset( $post ) ) { $url = get_permalink( $post->ID ); } // End IF Statement + + $output = ' + + '; + return $output; +} // End woo_shortcode_fbshare() +add_shortcode( 'fbshare', 'woo_shortcode_fbshare' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 15. Advanced Contact Form - contact_form +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - email: The e-mail address to which the form will send (defaults to woo_contactform_email). + - subject: The subject of the e-mail (defaults to "Message via the contact form". + - button_text: Optionally change the text of the "submit" button. + + - Advanced form fields functionality, for creating dynamic form fields: + --- Text Input: text_fieldname="Text Field Label|Optional Default Text" + --- Select Box: select_fieldname="Select Box Label|key=value,key=value,key=value" + --- Textarea Input: textarea_fieldname="Textarea Field Label|Optional Default Text|Optional Number of Rows|Optional Number of Columns" + --- Checkbox Input: checkbox_fieldname="Checkbox Field Label|Value of the Checkbox|Checked By Default" + --- Radio Button Input: radio_fieldname="Radio Field Label|key=value,key=value,key=value|Optional Default Value" + +*/ + +function woo_shortcode_contactform ( $atts, $content = null ) { + $defaults = array( + 'email' => get_option( 'woo_contactform_email'), + 'subject' => __( 'Message via the contact form', 'woothemes' ), + 'button_text' => apply_filters( 'woo_contact_form_button_text', __( 'Submit', 'woothemes' ) ), + 'show_default_fields' => 'yes' + ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // Extract the dynamic fields as well, if they don't have a value in $defaults. + $html = ''; + $dynamic_atts = array(); + $formatted_dynamic_atts = array(); + $error_messages = array(); + + if ( is_array( $atts ) ) { + foreach ( $atts as $k => $v ) { + ${$k} = $v; + + $dynamic_atts[$k] = ${$k}; + } + } + + // Parse dynamic fields. + if ( count( $dynamic_atts ) ) { + foreach ( $dynamic_atts as $k => $v ) { + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // The default value. + if ( array_key_exists( 2, $params ) ) { $default_value = $params[2]; } else { $default_value = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options, 'default_value' => $default_value ); + + } // End IF Statement + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // The default value. + if ( array_key_exists( 2, $params ) ) { $default_value = $params[2]; } else { $default_value = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options, 'default_value' => $default_value ); + + } // End IF Statement + + /* Parse the checkbox inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'checkbox_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The value of the checkbox. + if ( array_key_exists( 1, $params ) ) { $value = $params[1]; } else { $value = ''; } // End IF Statement + + // Checked by default? + if ( array_key_exists( 1, $params ) ) { $checked = $params[2]; } else { $checked = ''; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'value' => $value, 'checked' => $checked ); + + } // End IF Statement + + /* Parse the text inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 5 ) == 'text_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The default text. + if ( array_key_exists( 1, $params ) ) { $default_text = $params[1]; } else { $default_text = ''; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'default_text' => $default_text ); + + } // End IF Statement + + /* Parse the select boxes. + --------------------------------------------------*/ + + if ( substr( $k, 0, 7 ) == 'select_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options ); + + } // End IF Statement + + /* Parse the textarea inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'textarea_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The default text. + if ( array_key_exists( 1, $params ) ) { $default_text = $params[1]; } else { $default_text = ''; } // End IF Statement + + // The number of rows. + if ( array_key_exists( 2, $params ) ) { $number_of_rows = $params[2]; } else { $number_of_rows = 10; } // End IF Statement + + // The number of columns. + if ( array_key_exists( 3, $params ) ) { $number_of_columns = $params[3]; } else { $number_of_columns = 10; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'default_text' => $default_text, 'number_of_rows' => $number_of_rows, 'number_of_columns' => $number_of_columns ); + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + /*-------------------------------------------------- + * Form Processing. + * + * Here is where we validate the POST'ed data and + * format it for sending in an e-mail. + * + * We then send the e-mail and notify the user. + --------------------------------------------------*/ + + $emailSent = false; + + if ( ( count( $_POST ) > 2 ) && isset( $_POST['submitted'] ) ) { + + $fields_to_skip = array( 'checking', 'submitted', 'sendCopy' ); + $default_fields = array( 'contactName' => '', 'contactEmail' => '', 'contactMessage' => '' ); + $error_responses = array( + 'contactName' => __( 'Please enter your name', 'woothemes' ), + 'contactEmail' => __( 'Please enter your email address (and please make sure it\'s valid)', 'woothemes' ), + 'contactMessage' => __( 'Please enter your message', 'woothemes' ) + ); + + $posted_data = $_POST; + + // Check if we're using the default fields. + if ( $show_default_fields != 'no' ) { + // Check for errors. + foreach ( array_keys( $default_fields ) as $d ) { + if ( !isset ( $_POST[$d] ) || $_POST[$d] == '' || ( $d == 'contactEmail' && ! is_email( $_POST[$d] ) ) ) { + $error_messages[$d] = esc_html( $error_responses[$d] ); + } // End IF Statement + } // End FOREACH Loop + } else { + $default_fields = array( 'contactName' => get_bloginfo( 'name' ), 'contactEmail' => get_bloginfo( 'admin_email' ), 'contactMessage' => '' ); + } + + // If we have errors, don't do anything. Otherwise, run the processing code. + + if ( count( $error_messages ) ) {} else { + // Setup e-mail variables. + $message_fromname = $default_fields['contactName']; + $message_fromemail = strtolower( $default_fields['contactEmail'] ); + $message_subject = $subject; + $message_body = $default_fields['contactMessage'] . "\n\r\n\r"; + + // Filter out skipped fields and assign default fields. + foreach ( $posted_data as $k => $v ) { + if ( in_array( $k, $fields_to_skip ) ) { + unset( $posted_data[$k] ); + } // End IF Statement + + if ( in_array( $k, array_keys( $default_fields ) ) ) { + $default_fields[$k] = $v; + + unset( $posted_data[$k] ); + } // End IF Statement + } // End FOREACH Loop + + // Okay, so now we're left with only the dynamic fields. Assign to a fresh variable. + $dynamic_fields = $posted_data; + + // Format the default fields into the $message_body. + + foreach ( $default_fields as $k => $v ) { + if ( $v == '' ) {} else { + $message_body .= str_replace( 'contact', '', $k ) . ': ' . $v . "\n\r"; + } // End IF Statement + } // End FOREACH Loop + + // Format the dynamic fields into the $message_body. + + foreach ( $dynamic_fields as $k => $v ) { + if ( $v == '' ) {} else { + $value = ''; + + if ( substr( $k, 0, 7 ) == 'select_' || substr( $k, 0, 6 ) == 'radio_' ) { + $message_body .= $formatted_dynamic_atts[$k]['label'] . ': ' . $formatted_dynamic_atts[$k]['options'][$v] . "\n\r"; + } else { + $message_body .= $formatted_dynamic_atts[$k]['label'] . ': ' . $v . "\n\r"; + } // End IF Statement + } // End IF Statement + } // End FOREACH Loop + + // Send the e-mail. + $headers = __( 'From: ', 'woothemes') . $default_fields['contactName'] . ' <' . $default_fields['contactEmail'] . '>' . "\r\n" . __( 'Reply-To: ', 'woothemes' ) . $default_fields['contactEmail']; + + $emailSent = wp_mail($email, $subject, $message_body, $headers); + + // Send a copy of the e-mail to the sender, if specified. + if ( isset( $_POST['sendCopy'] ) && $_POST['sendCopy'] == 'true' ) { + $headers = __( 'From: ', 'woothemes') . $default_fields['contactName'] . ' <' . $default_fields['contactEmail'] . '>' . "\r\n" . __( 'Reply-To: ', 'woothemes' ) . $default_fields['contactEmail']; + + $emailSent = wp_mail($default_fields['contactEmail'], $subject, $message_body, $headers); + } // End IF Statement + + } // End IF Statement ( count( $error_messages ) ) + + } // End IF Statement + + /* Generate the form HTML. + --------------------------------------------------*/ + + $html .= '
    ' . "\n"; + + /* Display message HTML if necessary. + --------------------------------------------------*/ + + // Success messages + if( isset( $emailSent ) && $emailSent == true ) { + $html .= do_shortcode( '[box type="tick"]' . __( 'Your email was successfully sent.', 'woothemes' ) . '[/box]' ); + $html .= '' . "\n"; + } + + // Error messages + if( count( $error_messages ) ) { + $html .= do_shortcode( '[box type="alert"]' . __( 'There were one or more errors while submitting the form.', 'woothemes' ) . '[/box]' ); + } + + // No e-mail address supplied. + if( $email == '' ) { + $html .= do_shortcode( '[box type="alert"]' . __( 'E-mail has not been setup properly. Please add your contact e-mail!', 'woothemes' ) . '[/box]' ); + } + + if ( $email == '' ) {} else { + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + + /* Parse the "static" form fields. + --------------------------------------------------*/ + if ( $show_default_fields != 'no' ) { + $contactName = ''; + if( isset( $_POST['contactName'] ) ) { $contactName = $_POST['contactName']; } + + $contactEmail = ''; + if( isset( $_POST['contactEmail'] ) ) { $contactEmail = $_POST['contactEmail']; } + + $contactMessage = ''; + if( isset( $_POST['contactMessage'] ) ) { $contactMessage = stripslashes( $_POST['contactMessage'] ); } + + $html .= '

    ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactName', $error_messages ) ) { + $html .= '' . esc_html( $error_messages['contactName'] ) . '' . "\n"; + } + + $html .= '

    ' . "\n"; + + $html .= '

    ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactEmail', $error_messages ) ) { + $html .= '' . esc_html( $error_messages['contactEmail'] ) . '' . "\n"; + } + + $html .= '

    ' . "\n"; + + $html .= '

    ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactMessage', $error_messages ) ) { + $html .= '' . esc_html( $error_messages['contactMessage'] ) . '' . "\n"; + } + + $html .= '

    ' . "\n"; + } // End static fields check + + /* Parse dynamic fields into HTML. + --------------------------------------------------*/ + + if ( count( $formatted_dynamic_atts ) ) { + + foreach ( $formatted_dynamic_atts as $k => $v ) { + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + /* Generate Select Box Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_value']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

    ' . "\n"; + + $html .= '' . "\n"; + + foreach ( $v['options'] as $value => $label ) { + $html .= ' ' . esc_html( $label ) . '
    ' . "\n"; + } + + $html .= '
    ' . "\n"; + } + + /* Parse the checkbox inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'checkbox_' ) { + /* Generate Checkbox Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['value']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $checked = 0; + if ( array_key_exists( 'checked', $v ) && $v['checked'] == 'yes' ) { $checked = ${$k}; } + + $html .= '

    ' . "\n"; + $html .= '' . "\n"; + $html .= '

    ' . "\n"; + } + + /* Parse the text inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 5 ) == 'text_' ) { + /* Generate Text Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_text']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

    ' . "\n"; + $html .= '

    ' . "\n"; + } + + /* Parse the select boxes. + --------------------------------------------------*/ + + if ( substr( $k, 0, 7 ) == 'select_' ) { + /* Generate Select Box Field HTML. + ----------------------------------------------*/ + + ${$k} = ''; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

    ' . "\n"; + $html .= '

    ' . "\n"; + } + + /* Parse the textarea inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'textarea_' ) { + /* Generate Textarea Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_text']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

    ' . "\n"; + $html .= '

    ' . "\n"; + + } + } // End FOREACH Loop + } // End IF Statement + + /* The end of the form. + ----------------------------------------------*/ + + $sendCopy = ''; + if(isset($_POST['sendCopy']) && $_POST['sendCopy'] == true) { + $sendCopy = ' checked="checked"'; + } + + $html .= '

    ' . "\n"; + + $checking = ''; + if(isset($_POST['checking'])) { + $checking = $_POST['checking']; + } + + $html .= '

    ' . "\n"; + $html .= '

    '; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + } // End IF Statement ( $email == '' ) + + return $html; +} // End woo_shortcode_contactform() + +add_shortcode( 'contact_form', 'woo_shortcode_contactform' ); + +/*-----------------------------------------------------------------------------------*/ +/* 16. Tabs - [tabs][/tabs] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_tabs ( $atts, $content = null ) { + // Instruct the shortcode JavaScript to load. + if ( ! defined( 'WOO_SHORTCODE_JS' ) ) { define( 'WOO_SHORTCODE_JS', 'load' ); } + + $defaults = array( 'style' => 'default', 'title' => '', 'css' => '', 'id' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // If no unique ID is set, set the ID as a random number between 1 and 100 (to make sure each tab group is unique). + if ( $id == '' ) { $id = rand( 1, 100 ); } + if ( $css != '' ) { $css = ' ' . $css; } + + // Extract the tab titles for use in the tabber widget. + preg_match_all( '/tab title="([^\"]+)"/i', $content, $matches, PREG_OFFSET_CAPTURE ); + + $tab_titles = array(); + $tabs_class = 'tab_titles'; + + if ( isset( $matches[1] ) ) { $tab_titles = $matches[1]; } // End IF Statement + + $titles_html = ''; + + if ( count( $tab_titles ) ) { + if ( $title ) { $titles_html .= '

    ' . esc_html( $title ) . '

    '; $tabs_class .= ' has_title'; } // End IF Statement + + $titles_html .= '
      ' . "\n"; + + $counter = 1; + + foreach ( $tab_titles as $t ) { + $titles_html .= '' . "\n"; + $counter++; + } // End FOREACH Loop + + $titles_html .= '
    ' . "\n"; + } // End IF Statement + + return '
    ' . $titles_html . do_shortcode( $content ) . "\n" . '
    ' . "\n" . '
    '; +} // End woo_shortcode_tabs() + +add_shortcode( 'tabs', 'woo_shortcode_tabs', 90 ); + +/*-----------------------------------------------------------------------------------*/ +/* 16.1 A Single Tab - [tab title="The title goes here"][/tab] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_tab_single ( $atts, $content = null ) { + $defaults = array( 'title' => 'Tab' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $class = ''; + + if ( $title != 'Tab' ) { + $class = ' tab-' . sanitize_title( $title ); + } + + return '
    ' . do_shortcode( $content ) . '
    '; +} // End woo_shortcode_tab_single() + +add_shortcode( 'tab', 'woo_shortcode_tab_single', 99 ); + +/*-----------------------------------------------------------------------------------*/ +/* 17. Dropcap - [dropcap][/dropcap] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_dropcap ( $atts, $content = null ) { + $defaults = array(); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; +} // End woo_shortcode_dropcap() + +add_shortcode( 'dropcap', 'woo_shortcode_dropcap' ); + +/*-----------------------------------------------------------------------------------*/ +/* 18. Highlight - [highlight][/highlight] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_highlight ( $atts, $content = null ) { + $defaults = array(); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; +} // End woo_shortcode_highlight() + +add_shortcode( 'highlight', 'woo_shortcode_highlight' ); + +/*-----------------------------------------------------------------------------------*/ +/* 19. Abbreviation - [abbr][/abbr] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_abbreviation ( $atts, $content = null ) { + $defaults = array( 'title' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; +} // End woo_shortcode_abbreviation() + +add_shortcode( 'abbr', 'woo_shortcode_abbreviation' ); + +/*-----------------------------------------------------------------------------------*/ +/* 20. Typography - [typography font="" size="" color=""][/typography] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_typography ( $atts, $content = null ) { + global $google_fonts, $woo_used_google_fonts; + + // Get just the names of the Google fonts. + $google_font_names = array(); + + if ( count( $google_fonts ) ) { + foreach ( $google_fonts as $g ) { + $google_font_names[] = $g['name']; + } // End FOREACH Loop + } // End IF Statement + + // Build array of usable typefaces. + $fonts_whitelist = array( + 'Arial, Helvetica, sans-serif', + 'Verdana, Geneva, sans-serif', + '|Trebuchet MS|, Tahoma, sans-serif', + 'Georgia, |Times New Roman|, serif', + 'Tahoma, Geneva, Verdana, sans-serif', + 'Palatino, |Palatino Linotype|, serif', + '|Helvetica Neue|, Helvetica, sans-serif', + 'Calibri, Candara, Segoe, Optima, sans-serif', + '|Myriad Pro|, Myriad, sans-serif', + '|Lucida Grande|, |Lucida Sans Unicode|, |Lucida Sans|, sans-serif', + '|Arial Black|, sans-serif', + '|Gill Sans|, |Gill Sans MT|, Calibri, sans-serif', + 'Geneva, Tahoma, Verdana, sans-serif', + 'Impact, Charcoal, sans-serif' + ); + + $fonts_whitelist = array(); // Temporarily remove the default fonts. + + $defaults = array( 'font' => 'Arial, Helvetica, sans-serif', 'size' => '12', 'color' => '#000000', 'size_format' => 'px' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // Run checks to make sure it's an allowed font stack. + if ( in_array( $font, $fonts_whitelist ) || in_array( $font, $google_font_names ) ) { + if ( in_array( $font, $google_font_names ) ) { + + // Set up global array of used Google fonts for processing later + if( ! $woo_used_google_fonts ) { $woo_used_google_fonts = array(); } + + // Add to array of used Google fonts + if ( ! in_array( $font, $woo_used_google_fonts ) ) { + $woo_used_google_fonts[] = $font; + } // End IF Statement + + $font = "'" . $font . "'"; + } // End IF Statement + } else { + $font = 'Arial, Helvetica, sans-serif'; + } // End IF Statement + + // $font = str_replace( '|', '"', $font ); + + return '' . do_shortcode( $content ) . ''; +} // End woo_shortcode_typography() + +add_shortcode( 'typography', 'woo_shortcode_typography' ); + +add_action( 'wp_head', 'woo_shortcode_typography_loadgooglefonts', 0 ); + +function woo_shortcode_typography_loadgooglefonts ( $font = false , $id = false ) { + if ( $font ) { + // If a specific font is requested, just enqueue that font. + $variations = array( + 'Raleway' => ':100', + 'Coda' => ':800', + 'UnifrakturCook' => ':bold', + 'Allan' => ':bold', + 'Sniglet' => ':800', + 'Cabin' => ':bold', + 'Corben' => ':bold', + 'Buda' => ':light' + ); + + $f = $font; + + $f = str_replace( ' ', '+', $f ); + + $f_include = $f; + + if ( in_array( $f, array_keys( $variations ) ) ) { + $f_include = $f . $variations[$f]; + } // End IF Statement + + if( ! $id ) { + $id = 'woo-googlefont-' . sanitize_title( $f ); + } + + wp_enqueue_style( $id , 'http'. ( is_ssl() ? 's' : '' ) .'://fonts.googleapis.com/css?family=' . $f_include . '' , array() , '3.6' , 'screen' ); + } // End IF Statement +} // End woo_shortcode_typography_loadgooglefonts() + +/*-----------------------------------------------------------------------------------*/ +/* 21. List Styles - Unordered List - [unordered_list style=""][/unordered_list] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_unorderedlist ( $atts, $content = null ) { + $defaults = array( 'style' => 'default' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '
    ' . do_shortcode( $content ) . '
    ' . "\n"; +} // End woo_shortcode_unorderedlist() + +add_shortcode( 'unordered_list', 'woo_shortcode_unorderedlist' ); + +/*-----------------------------------------------------------------------------------*/ +/* 22. List Styles - Ordered List - [ordered_list style=""][/ordered_list] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_orderedlist ( $atts, $content = null ) { + $defaults = array( 'style' => 'default' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '
    ' . do_shortcode( $content ) . '
    ' . "\n"; +} // End woo_shortcode_orderedlist() + +add_shortcode( 'ordered_list', 'woo_shortcode_orderedlist' ); + +/*-----------------------------------------------------------------------------------*/ +/* 23. Social Icon - [social_icon url="" float="" icon_url="" title="" profile_type="" window=""] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_socialicon ( $atts, $content = null ) { + $defaults = array( 'url' => '', 'float' => 'none', 'icon_url' => '', 'title' => '', 'profile_type' => '', 'window' => 'no', 'rel' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + if ( ! $url ) { return; } // End IF Statement - Don't run the shortcode if no URL has been supplied. + + // Attempt to determine the location of the social profile. + // If no location is found, a default icon will be used. + + $_default_icon = ''; + + $_supported_profiles = array( + 'facebook' => 'facebook.com', + 'twitter' => 'twitter.com', + 'youtube' => 'youtube.com', + 'delicious' => 'delicious.com', + 'flickr' => 'flickr.com', + 'linkedin' => 'linkedin.com', + 'googleplus' => 'plus.google.com' + ); + + $_profile_to_display = ''; + $_alt_text = ''; + $_classes = 'social-icon'; + + $_profile_match = false; + + // If they've specified an icon, skip the automation. + + if ( $profile_type != '' ) { + $_profile_match = true; + $_profile_to_display = $profile_type; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $_profile_to_display ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + $_profile_class = ' social-icon-' . $_profile_to_display; + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + } + } // End IF Statement + + // Create a special scenario for use with the RSS feed for this website. + if ( $url == 'feed' ) { + $_profile_match = true; + $_profile_to_display = 'rss'; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = __( 'Subscribe to our RSS feed', 'woothemes' ); } // End IF Statement + $_classes .= ' social-icon-subscribe'; + $url = get_bloginfo( 'rss2_url' ); + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + } + } else { + foreach ( $_supported_profiles as $k => $v ) { + if ( $_profile_match == true ) { break; } // End IF Statement - Break out of the loop if we already have a match. + + // Get host name from URL + preg_match( '@^(?:http://)?([^/]+)@i', $url, $matches ); + $host = $matches[1]; + + if ( $host == $v ) { + + $_profile_match = true; + $_profile_to_display = $k; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $_profile_to_display ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + $_profile_class = ' social-icon-' . $_profile_to_display; + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + } + } else { + $_profile_to_display = 'default'; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $matches[1] ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + + $_host_bits = explode( '.', $matches[1] ); + $_profile_class = ' social-icon-' . $_host_bits[0]; + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + + // Check if an image has been added for this social icon. + if ( file_exists( trailingslashit( get_stylesheet_directory() ) . 'images/ico-social-' . $_host_bits[0] . '.png' ) ) { + $_img_url = trailingslashit( get_stylesheet_directory_uri() ) . 'images/ico-social-' . $_host_bits[0] . '.png'; + } + } // End IF Statement + } // End IF Statement + } // End FOREACH Loop + + $_classes .= $_profile_class; + + // Determine the floating CSS class to be used. + switch ( $float ) { + case 'left': + $_classes .= ' fl'; + break; + + case 'right': + $_classes .= ' fr'; + break; + + default: + break; + } + } // End IF Statement + + $target = ''; + if ( $window == 'yes' ) { $target = ' target="_blank"'; } // End IF Statement + if ( $rel != '' ) { $rel = ' rel="' . esc_attr( $rel ) . '"'; } + + return '' . esc_attr( $_alt_text ) . '' . "\n"; +} // End woo_shortcode_socialicon() + +add_shortcode( 'social_icon', 'woo_shortcode_socialicon' ); + +/*-----------------------------------------------------------------------------------*/ +/* 24. LinkedIn Button - [linkedin_share url="" style=""] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_linkedin_share ( $atts, $content = null ) { + + $defaults = array( 'url' => '', 'style' => 'none', 'float' => 'none' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $allowed_floats = array( 'left' => 'fl', 'right' => 'fr', 'none' => '' ); + $allowed_styles = array( 'top' => ' data-counter="top"', 'right' => ' data-counter="right"', 'none' => '' ); + + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + if ( ! in_array( $style, array_keys( $allowed_styles ) ) ) { $style = 'none'; } + + if ( $url ) { $url = ' data-url="' . esc_url( $url ) . '"'; } + + $output = ''; + + if ( $float == 'none' ) {} else { $output .= '
    ' . "\n"; } + + $output .= '' . "\n"; + + if ( $float == 'none' ) {} else { $output .= '
    ' . "\n"; } + + // Enqueue the LinkedIn button JavaScript from their API. + add_action( 'wp_footer', 'woo_shortcode_linkedin_js' ); + add_action( 'woo_shortcode_generator_preview_footer', 'woo_shortcode_linkedin_js' ); + + return $output . "\n"; +} // End woo_shortcode_linkedin_share() + +add_shortcode( 'linkedin_share', 'woo_shortcode_linkedin_share' ); + +/*-----------------------------------------------------------------------------------*/ +/* 24.1 Load Javascript for LinkedIn Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_linkedin_js () { + echo '' . "\n"; +} // End woo_shortcode_linkedin_js() + +/*-----------------------------------------------------------------------------------*/ +/* 25. Google +1 Button - [google_plusone] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_google_plusone ( $atts, $content = null ) { + global $post; + + $defaults = array( + 'size' => '', + 'language' => '', + 'count' => '', + 'href' => '', + 'callback' => '', + 'float' => 'none', + 'annotation' => 'none' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $params = array(); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + if ( ! in_array( $annotation, array( 'bubble', 'inline', 'none' ) ) ) { $annotation = 'none'; } + + // A friendly-looking array of supported languages, along with their codes. + $supported_languages = array( + 'ar' => 'Arabic', + 'bg' => 'Bulgarian', + 'ca' => 'Catalan', + 'zh-CN' => 'Chinese (Simplified)', + 'zh-TW' => 'Chinese (Traditional)', + 'hr' => 'Croatian', + 'cs' => 'Czech', + 'da' => 'Danish', + 'nl' => 'Dutch', + 'en-US' => 'English (US)', + 'en-GB' => 'English (UK)', + 'et' => 'Estonian', + 'fil' => 'Filipino', + 'fi' => 'Finnish', + 'fr' => 'French', + 'de' => 'German', + 'el' => 'Greek', + 'iw' => 'Hebrew', + 'hi' => 'Hindi', + 'hu' => 'Hungarian', + 'id' => 'Indonesian', + 'it' => 'Italian', + 'ja' => 'Japanese', + 'ko' => 'Korean', + 'lv' => 'Latvian', + 'lt' => 'Lithuanian', + 'ms' => 'Malay', + 'no' => 'Norwegian', + 'fa' => 'Persian', + 'pl' => 'Polish', + 'pt-BR' => 'Portuguese (Brazil)', + 'pt-PT' => 'Portuguese (Portugal)', + 'ro' => 'Romanian', + 'ru' => 'Russian', + 'sr' => 'Serbian', + 'sv' => 'Swedish', + 'sk' => 'Slovak', + 'sl' => 'Slovenian', + 'es' => 'Spanish', + 'es-419' => 'Spanish (Latin America)', + 'th' => 'Thai', + 'tr' => 'Turkish', + 'uk' => 'Ukrainian', + 'vi' => 'Vietnamese' + ); + + $output = ''; + $tag_atts = ''; + + // Make sure we only have Google +1 attributes in our array, after parsing the "float" parameter. + unset( $atts['float'] ); + + if ( $atts['href'] == '' & isset( $post->ID ) ) { + $atts['href'] = get_permalink( $post->ID ); + } + + foreach ( $atts as $k => $v ) { + if ( ${$k} != '' ) { + $tag_atts .= ' data-' . esc_attr( $k ) . '="' . esc_attr( ${$k} ) . '"'; + } + } + + $output = '
    ' . "\n"; + + // Parameters to pass to Google PlusOne JavaScript. + if ( in_array( $atts['language'] , array_values( $supported_languages ) ) ) { + $language = ''; + + foreach ( $supported_languages as $k => $v ) { + if ( $v == $atts['language'] ) { + $language = $k; + break; + } + } + + $params = array( 'language' => $language ); + } + + // Enqueue the Google +1 button JavaScript from their API. + woo_shortcode_google_plusone_js( $params ); + + return $output . "\n"; +} // End woo_shortcode_google_plusone() + +add_shortcode( 'google_plusone', 'woo_shortcode_google_plusone' ); + +/*-----------------------------------------------------------------------------------*/ +/* 25.1 Load Javascript for Google +1 Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_google_plusone_js ( $params ) { + echo '' . "\n"; + echo '' . "\n"; +} // End woo_shortcode_google_plusone_js() + +/*-----------------------------------------------------------------------------------*/ +/* 26. Twitter Follow Button - [twitter_follow] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_twitter_follow ( $atts, $content = null ) { + + global $post; + + if ( ! isset( $atts['username'] ) || ( $atts['username'] == '' ) ) { return; } // We can't continue without the username. + + $defaults = array( + 'username' => '', + 'button_color' => 'blue', + 'text_color' => '', + 'link_color' => '', + 'width' => '', + 'align' => '', + 'language' => '', + 'count' => '', + 'float' => 'none', + 'show_screen_name' => 'true', + 'size' => 'medium' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $allowed_langs = array( 'en', 'fr', 'de', 'it', 'es', 'ko', 'ja' ); + if ( ! in_array( $language, array_keys( $allowed_langs ) ) ) { $language = ''; } + + $output = ''; + $tag_atts = ''; + + // Make sure we only have Google +1 attributes in our array, after parsing the "float" parameter. + unset( $atts['float'] ); + unset( $atts['username'] ); + + // Setup array of attributes and the value keys containing the data for each. + $att_keys = array( + 'button_color' => 'data-button', + 'text_color' => 'data-text-color', + 'link_color' => 'data-link-color', + 'width' => 'data-width', + 'align' => 'data-align', + 'language' => 'data-lang', + 'count' => 'data-show-count', + 'show_screen_name' => 'data-show-screen-name', + 'size' => 'data-size' + ); + + foreach ( $atts as $k => $v ) { + if ( ${$k} != '' ) { + $tag_atts .= ' ' . esc_attr( $att_keys[$k] ) . '="' . esc_attr( ${$k} ) . '"'; + } + } + + $output = '
    ' . "\n"; + $output .= '' . "\n"; + $output .= woo_shortcode_twitter_follow_js( false ); + $output .= '
    ' . "\n"; + + return $output . "\n"; +} // End woo_shortcode_twitter_follow() + +add_shortcode( 'twitter_follow', 'woo_shortcode_twitter_follow' ); + +/*-----------------------------------------------------------------------------------*/ +/* 26.1 Load Javascript for Twitter Follow Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_twitter_follow_js ( $echo = true ) { + $html = '' . "\n"; + if ( true == $echo ) { echo $html; } else { return $html; } +} // End woo_shortcode_twitter_follow_js() + +/*-----------------------------------------------------------------------------------*/ +/* 27. StumbleUpon Badge - [stumbleupon] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_stumbleupon ( $atts, $content = null ) { + global $post; + + $defaults = array( + 'design' => 'horizontal_large', + 'float' => 'none', + 'url' => '', + 'use_post' => 'false' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $allowed_designs = array( 'horizontal_large' => '1', 'horizontal_medium' => '2', 'horizontal_small' => '3', 'icon_small' => '4', 'vertical_count' => '5', 'icon_large' => '6' ); + if ( ! in_array( $design, array_keys( $allowed_designs ) ) ) { $design = 'horizontal_large'; } + + $output = ''; + + $url_call = ''; + + // Use the custom URL, if it has been specified. + if ( $atts['url'] != '' ) { + $url_call = '&r=' . esc_url( $url ); + } + + // Use the URL to the current $post in the loop, if no custom URL is set and if instructed to do so. + if ( $url_call == '' && $atts['use_post'] == 'true' ) { + $url_call = '&r=' . esc_url( get_permalink( $post ) ); + } + + $output = apply_filters( 'woo_shortcode_stumbleupon', '
    ' . "\n", $atts ); + + return $output . "\n"; +} // End woo_shortcode_stumbleupon() + +add_shortcode( 'stumbleupon', 'woo_shortcode_stumbleupon' ); + +/*-----------------------------------------------------------------------------------*/ +/* 28. Pinterest "Pin It" Button [pinterest] */ +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_pinterest ( $atts, $content = null ) { + global $post; + + $defaults = array( + 'count' => 'horizontal', + 'float' => 'none', + 'url' => '', + 'image_url' => '', + 'description' => '', + 'use_post' => 'false' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $allowed_counts = array( 'horizontal', 'vertical', 'none' ); + if ( ! in_array( $count, array_keys( $allowed_counts ) ) ) { $count = 'horizontal'; } + + $output = ''; + + // Use the custom URL, if it has been specified. + if ( $atts['url'] != '' ) { + $url = esc_url( $atts['url'] ); + } else { + // Use the URL to the current $post in the loop. + $url = esc_url( get_permalink( $post ) ); + } + + // Use the custom image URL, if it has been specified. + if ( $atts['image_url'] != '' ) { + $image_url = esc_url( $atts['image_url'] ); + } else { + // Use the image of the current $post in the loop. + $image_url = esc_url( woo_image( 'link=url&return=true' ) ); + } + + // Use the custom description, if it has been specified. + if ( $atts['description'] != '' ) { + $description = esc_attr( $atts['description'] ); + } else { + // Use the excerpt of the current $post in the loop, if no description is set and if instructed to do so. + if ( $atts['use_post'] == 'true' ) { + $description = esc_attr( strip_shortcodes( apply_filters( 'get_the_excerpt', $post->post_excerpt ) ) ); + } + } + + $output = apply_filters( 'woo_shortcode_pinterest', '' . "\n", $atts ); + + // Enqueue the Pinterest button JavaScript from their API. + add_action( 'wp_footer', 'woo_shortcode_pinterest_javascript' ); + add_action( 'woo_shortcode_generator_preview_footer', 'woo_shortcode_pinterest_javascript' ); + + return $output . "\n"; +} // End woo_shortcode_pinterest() + +add_shortcode( 'pinterest', 'woo_shortcode_pinterest' ); + +/*-----------------------------------------------------------------------------------*/ +/* 28.1 Load Javascript for Pinterest Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_pinterest_javascript () { + echo '' . "\n"; +} // End woo_shortcode_pinterest_javascript() + +/*-----------------------------------------------------------------------------------*/ +/* THE END */ +/*-----------------------------------------------------------------------------------*/ +?> \ No newline at end of file diff --git a/artificer/functions/admin-style.css b/artificer/functions/admin-style.css new file mode 100755 index 0000000..3eae5b0 --- /dev/null +++ b/artificer/functions/admin-style.css @@ -0,0 +1,782 @@ +/*-------------------------------------------------------------------------------------------*/ +/* WooThemes admin styles */ +/*-------------------------------------------------------------------------------------------*/ + +/* UI SLIDER */ +#woo_container .section-slider .controls .ui-slider { float: left; margin: 0; top: 8px; width: 268px; border: 1px solid red; border: 1px solid #DDD; background: #EEE; color: #333;position: relative; text-align: left;height: .8em; } +#woo_container .section-slider .controls .ui-slider .ui-slider-handle { border: 1px solid #CCC; cursor: pointer; background: #F6F6F6; font-weight: bold; color: #1C94C4; outline: none; position: absolute; z-index: 2; width: 14px; height: 14px; cursor: pointer; top: -3px; margin-left: -7px; } +#woo_container .section-slider .controls .woo-input { float: right; width: 40px; } + +.updated, .error { display: none !important; } /* disable the admin notices */ +#wooframework_important_update.error { display: block !important; } +#wooframework_update.updated { display: block !important; } +#theme_update.updated { display: block !important; } /* Except for the theme update notifier */ + +#woo_container { margin-top: 15px; width: 827px; position:relative; z-index: 0 } + +/* WOOSEO AND WOOSIDEBARS DEPRECATION BANNER */ +#woodeprecate-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 15px; border: 1px solid #C00; background: #FFEBE8; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#woodeprecate-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#woodeprecate-banner span.main { margin-top: 2px; font-weight: bold; font-size: 16px; } +#woodeprecate-banner .button-primary { position: absolute; right: 20px; top: 27px; } +#woodeprecate-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#woodeprecate-banner .close-banner:hover { opacity: 1; } +#woodeprecate-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + +/* WOODOJO DOWNLOAD BANNER */ +#woodojo-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 90px; border: 1px solid #d9d9d9; background: #f5f5f5 url(images/ico-dojo-banner.png) no-repeat 14px 11px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#woodojo-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#woodojo-banner span.main { margin-top: 2px; font-weight: bold; font-size: 16px; } +#woodojo-banner .button-primary { position: absolute; right: 20px; top: 27px; } +#woodojo-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#woodojo-banner .close-banner:hover { opacity: 1; } +#woodojo-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + +/* PRESSTRENDS ENABLE BANNER */ +#presstrends-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 90px; border: 1px solid #d9d9d9; background: #f5f5f5 url(images/ico-presstrends-banner.png) no-repeat 14px 30px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#presstrends-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#presstrends-banner span.main { margin-top: 2px; font-weight: bold; font-size: 16px; margin-bottom: 5px; } +#presstrends-banner span.info { margin-right: 160px; line-height: 18px; } +#presstrends-banner .button-primary { position: absolute; right: 20px; top: 45px; } +#presstrends-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#presstrends-banner .close-banner:hover { opacity: 1; } +#presstrends-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + +/* STATIC FRONT PAGE BANNER */ +#staticfrontpage-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 15px; border: 1px solid #d9d9d9; background: #f5f5f5; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#staticfrontpage-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#staticfrontpage-banner span.main { margin-top: 2px; font-weight: normal; font-size: 14px; } +#staticfrontpage-banner span.subtext { font-size: 12px; } +#staticfrontpage-banner .button-primary { position: absolute; right: 20px; top: 27px; } +#staticfrontpage-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#staticfrontpage-banner .close-banner:hover { opacity: 1; } +#staticfrontpage-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + + +#woo_container #header { height: 80px; background: url(images/headertile.jpg) repeat-x left top; border: 1px solid #a4bbcd; border-top-left-radius: 15px; -moz-border-radius-topleft: 15px; -webkit-border-top-left-radius: 15px; -webkit-border-top-right-radius: 15px; border-top-right-radius: 15px; -moz-border-radius-topright: 15px; +/*INSET SHADOW*/ +-webkit-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +-moz-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +} + +#woo_container #header .logo { float: left; margin: 24px 0 0 25px; height: 35px; } +#woo_container #header .theme-info { float: right; margin: 26px 25px 0 0; } +#woo_container #header .theme-info span { display: block; line-height: 15px; text-transform: uppercase; text-align: right; color: #4e4e4e; text-shadow: 1px 1px 0 #fff; } +#woo_container #header .theme-info .theme { font-size: 15px; font-weight: bold; } +#woo_container #header .theme-info .framework { font-size: 12px; } +#woo_container #header .theme-info b { font-size: 11px; text-transform: none; color: #444; font-weight: 100; } + +#woo_container #support-links { height: 32px; padding: 0 0 0 15px; background-color: #d7e6f2; border-top: 1px solid #f1f6fa; border-bottom: 1px solid #a4bbcd; border-left: 1px solid #d8d8d8; border-right: 1px solid #d8d8d8; } +#woo_container #support-links ul { margin: 0; } +#woo_container #support-links ul li { display: inline; margin: 0 6px 0 0; } +#woo_container #support-links ul li a:link, #support-links ul li a:visited { line-height: 32px; font-size: 10px; font-weight: bold; text-transform: uppercase; text-decoration: none; color: #21759b; text-shadow: 1px 1px 0 #fff; } +#woo_container #support-links ul li a:hover { color: #155876; } +#woo_container #support-links ul li.changelog { padding: 2px 0 2px 20px; background: url(images/ico-changelog.png) no-repeat left center; } +#woo_container #support-links ul li.docs { padding: 1px 0 1px 20px; background: url(images/ico-docs.png) no-repeat left top; } +#woo_container #support-links ul li.forum { padding: 1px 0 1px 20px; background: url(images/ico-forum.png) no-repeat left top; } +#woo_container #support-links ul li.right { float:right; margin-right:15px} + +#woo_container #main { background-color: #f1f1f1; border-left: 1px solid #d8d8d8; border-right: 1px solid #d8d8d8; border-bottom: 1px solid #d8d8d8; } + +#woo_container #main #content { position: relative; margin-left: 189px; } + +#woo_container #woo-nav-shadow { width: 50px; position: absolute; top: 0; bottom: 0; right: 0; background: transparent url(images/menu-shadow.png) repeat-y top right; width: 6px; z-index: 999;} + +#woo_container #wooform { position: relative; } +#woo_container #woo-nav { float: left; position: absolute; top: 116px; bottom: 47px; z-index: 9999; width: 190px; } +#woo_container.add #wooform-content-builder #woo-nav, #woo_container.edit #wooform-content-builder #woo-nav { top: 150px; } +#woo_container #woo-nav ul { margin:0; } +#woo_container #woo-nav li { margin-bottom:0; position: relative;} +#woo_container #woo-nav ul li a:link, #woo-nav ul li a:visited { display: block; padding: 7px 10px 7px 10px; font:bold 12px/18px sans-serif; text-decoration: none; color: #797979; border-bottom: 1px solid #d8d8d8; border-top:1px solid #fff; text-shadow: 0 1px 0 #fff; } +#woo_container #woo-nav ul li.current a:link, #woo_container #woo-nav ul li.current a:visited { + color: #21759b; + margin-left: -1px; + background-color: #777; + background-image: -ms-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -moz-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -o-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080)); + background-image: -webkit-linear-gradient(bottom,#6d6d6d,#808080); + background-image: linear-gradient(bottom,#6d6d6d,#808080); + text-shadow: 0 -1px 0 #333; + color: white; + border-top-color: gray; + border-bottom-color: #6D6D6D; +} +body.js #woo_container #woo-nav li.current ul.sub-menu, body.js #woo_container #woo-nav li.current ul.sub-menu li a { margin-left:0; } + +#woo-nav li .arrow { + display: none; + top: 1px; + cursor: auto; + position: absolute; + left: -1000px; + margin: 0; + height: 32px; + width: 6px; + -moz-transform: translate(146px); + -webkit-transform: translate(146px); + -o-transform: translate(146px); + -ms-transform: translate(146px); + transform: translate(146px); +} + + +#woo-nav li .arrow div { + position: absolute; + -moz-transform: matrix(-0.6,1,0.6,1,0,0); + -webkit-transform: matrix(-0.6,1,0.6,1,0,0); + -o-transform: matrix(-0.6,1,0.6,1,0,0); + -ms-transform: matrix(-0.6,1,0.6,1,0,0); + transform: matrix(-0.6,1,0.6,1,0,0); + height: 17px; + width: 17px; + top: 7px; + left: -2px; + border-width: 0 0 1px 1px; + border-style: solid; + background: #E4E4E4; + border-color: #CCC; +} +#woo-nav li.has-children:hover .arrow { + display: block; + z-index: 9999; + -moz-transform: translate(1183px); + -webkit-transform: translate(1183px); + -o-transform: translate(1183px); + -ms-transform: translate(1183px); + transform: translate(1183px); + background: #E4E4E4; + border-color: #CCC; +} + +#woo-nav li.current .arrow, #woo-nav li.has-children.current .arrow { + display: block; + z-index: 9997; + -moz-transform: translate(1184px); + -webkit-transform: translate(1184px); + -o-transform: translate(1184px); + -ms-transform: translate(1184px); + transform: translate(1184px); + background-color: #777; + background-image: -ms-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -moz-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -o-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080)); + background-image: -webkit-linear-gradient(bottom,#6d6d6d,#808080); + background-image: linear-gradient(bottom,#6d6d6d,#808080); +} + +#woo_container #woo-nav ul li.current .arrow div { + border: none; + background-color: #777; + background-image: -ms-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: -moz-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: -o-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: -webkit-gradient(linear,right bottom,left top,from(#6d6d6d),to(#808080)); + background-image: -webkit-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: linear-gradient(right bottom,#6d6d6d,#808080); +} + +.admin-color-classic #woo_container #woo-nav ul li.current a:link, #woo_container #woo-nav ul li.current a:visited { + border-top-color: #5A8FAD; + border-bottom-color: #5589AA; + background-color: #5589AA; + background-image: -ms-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -moz-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -o-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb)); + background-image: -webkit-linear-gradient(bottom,#5589AA,#619bbb); + background-image: linear-gradient(bottom,#5589AA,#619bbb); +} +.admin-color-classic #woo-nav li.current .arrow, .admin-color-classic #woo-nav li.has-children.current .arrow { + background-color: #5589AA; + background-image: -ms-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -moz-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -o-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb)); + background-image: -webkit-linear-gradient(bottom,#5589AA,#619bbb); + background-image: linear-gradient(bottom,#5589AA,#619bbb); +} + +.admin-color-classic #woo_container #woo-nav ul li.current .arrow div { + border: none; + background-color: #5589AA; + background-image: -ms-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -moz-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -o-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb)); + background-image: -webkit-linear-gradient(bottom,#5589AA,#619bbb); + background-image: linear-gradient(bottom,#5589AA,#619bbb); +} + +#woo_container #woo-nav ul li a:hover { color: #D54E21; background-color: #e4e4e4; } +#woo_container #woo-nav ul li.current a:hover { color: #fff; } + +#woo_container #woo-nav li ul { background: #fff; border-bottom: 1px solid #DFDFDF; padding:5px 0; } +#woo_container #woo-nav li ul li { border: none; } + +/*-------------------------------------------------------------------------------------------*/ +/* Sub-Menu Navigation */ +/*-------------------------------------------------------------------------------------------*/ + +body.js #woo_container #woo-nav ul.sub-menu { display: none; margin: 0 1px; } +#wpwrap #woo_container #woo-nav li.top-level:hover { background-color: #e4e4e4; } +#wpwrap #woo_container #woo-nav li.top-level:hover .flyout-menu { display: block; } +#wpwrap #woo_container #woo-nav li.top-level.open:hover .flyout-menu { display: none; } +body.js #woo_container #woo-nav .flyout-menu { z-index: 9998; display: none; position: absolute; left: 190px; margin-top: -35px; width: 150px; background: #FFFFFF; border: 1px solid #EBEBEB; box-shadow: 5px 5px 10px rgba( 0, 0, 0, 0.4 ); } +body.js #woo_container #woo-nav .flyout-menu ul { border: none; padding:5px 0;} +#wpwrap #woo_container #woo-nav .flyout-menu li a { padding-left: 20px; } +body.js #woo_container #woo-nav li.open .flyout-menu { display: none; } +#wpwrap #woo_container #woo-nav .sub-menu a, #wpwrap #woo_container #woo-nav .flyout-menu a { background-color: #FFFFFF; background-image: none; border-bottom: 0; padding: 3px 5px 3px 15px; font-weight: normal; border: none; color: #21759B; text-shadow: none; } +#wpwrap #woo_container #woo-nav .sub-menu a:hover { background-color: #eaf2fa; color: #333; } +#wpwrap #woo_container #woo-nav .flyout-menu a:hover { background-color: none; color: #333; } +#wpwrap #woo_container #woo-nav .sub-menu .active a, #wpwrap #woo_container #woo-nav .flyout-menu .active a { color: #333333; font-weight: bold; } + +#woo_container #content { float: left; min-height: 650px; width: 595px; margin-left: -1px; padding: 0 20px; font-family: sans-serif; background-color: #fff; border-left: 1px solid #d8d8d8; } + +#woo_container #content .group h1 { display:none; padding: 20px 0; margin: 0 0 20px; font-size: 23px; color:#464646; font-weight:normal; border-bottom: 1px solid #e0e0e0; } + +#woo_container #content .section { margin-bottom: 10px; border-bottom: 1px solid #E7E7E7; padding-bottom:15px; } +#woo_container #content .section h3.heading { font-size:1.1em; margin: 15px 0 5px; padding: 7px 0px; } +#woo_container #content .section.section-info { border-bottom: none; margin:0; padding:0; } +#woo_container #content .section .controls { float: left; width: 345px; margin: 0 15px 0 0; } +#woo_container #content .section .explain { float: left; width: 235px; padding: 0 0 0 0; font-size: 11px; color: #999999; font-family: sans-serif; } + +#woo_container #content .section-checkbox .controls { width:25px} +#woo_container #content .section-checkbox .explain { width:540px} + +#woo_container #content .section-color .controls { width:125px} +#woo_container #content .section-color .explain { width:440px} + +#woo_container #content .section-info h3.heading { + font-size: 12px; font-weight: 100; border: 0; margin-top: 20px; letter-spacing: 1px; border-top: 1px solid #FFF298; margin-bottom: 0; background:#EFE186; padding: 10px 20px; } +#woo_container #content .section-info .controls { margin: 0 0 10px; padding: 15px 20px; width: auto; line-height: 1.5em; font-size: 14px; font-style: italic; font-family: Georgia, serif; background: #FFF298; border:1px solid #ECD852; color:#424242;} +#woo_container #content .section-info .controls small { font-size: 12px} + +#woo_container #content .section-info h3.heading { + -moz-border-radius-topleft:4px; + -moz-border-radius-topright:4px; +} +#woo_container #content .section-info .controls{ + float:none; + -moz-border-radius-bottomleft:4px; + -moz-border-radius-bottomright:4px; +} + +#woo_container textarea, #woo_container input, #woo_container select { + -moz-border-radius:4px; + -webkit-border-radius:4px; + -border-radius:4px; + border-style:solid; + border-width:1px; +} + +#woo_container input[type="checkbox"], #woo_container input[type="radio"] { + vertical-align: baseline; +} + +#woo_container .controls input,#woo_container .controls select,#woo_container .controls textarea { + margin-bottom: 9px !important; + background-color: #fafafa; + border: 1px solid; + border-color: #CCCCCC #EEEEEE #EEEEEE #CCCCCC; + width: 340px; + padding: 5px; + font-family: sans-serif; + font-size: 12px; + color:#555; +} +#woo_container .controls input:hover,#woo_container .controls select:hover,#woo_container .controls textarea:hover { color:#333; background: #fff;} + +#woo_container .controls input.upload { width:279px; padding-bottom:6px; } +#woo_container .controls input.upload_button { font-size: 12px; float: right; width: 55px; height: 28px; border-color: #BBBBBB; cursor: pointer; padding: 0; margin: 0; margin-top: 1px; padding-top: 1px; } +#woo_container .controls input.upload_button:hover { border-color: #999999; color: #000000; } + +body.version-3-4-1 #woo_container .controls input.upload_button, +body.version-3-4-2 #woo_container .controls input.upload_button { height: 25px; } + +#woo_container .section-upload_min .controls input.upload_button { float: left; } + +#woo_container .screenshot { + float:left; + margin-left:1px; + position:relative; + width:344px; + margin-top:3px; + z-index: 1; +} + +#woo_container .screenshot img { + -moz-border-radius:4px; + -webkit-border-radius:4px; + -border-radius:4px; + background:#FAFAFA; + border-color:#CCCCCC #EEEEEE #EEEEEE #CCCCCC; + border-style:solid; + border-width:1px; + float:left; + max-width:334px; + padding:4px; +} + +#woo_container .screenshot .mlu_remove, #woo_container .typography-preview-container .preview_remove { + + background:url( "images/ico-delete.png") no-repeat; + border:medium none; + bottom:-4px; + display:block; + float:left; + height:16px; + padding:0; + position:absolute; + left:-4px; + text-indent:-9999px; + width:16px; +} + +#woo_container .screenshot .no_image .file_link { + margin-left: 20px; +} + +#woo_container .screenshot .no_image .mlu_remove { + bottom: 0px; +} + + +/* SELECT DROPDOWN */ +#woo_container #content select.woo-input { + cursor:pointer; + height:28px; + margin:0; + opacity:0; + padding:0; + position:relative; + width:inherit; + z-index:4; +} + +#woo_container #content .select_wrapper { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + font-family: sans-serif; + font-size: 12px; + background: #fafafa url(images/select.png) no-repeat right center; + border-color: #ccc #eee #eee #ccc; + border-style: solid; + border-width: 1px; + float: left; + height: 26px; + width: 344px; + margin: 0; + margin-bottom: 9px !important; + width: 344px; + display: block; + color: #555; +} +#woo_container #content .option-type .select_wrapper { + background-color: #fff; +} +#woo_container #content .select_wrapper:hover { + background-color: #fff; + border-color: #bbb #eee #eee #bbb; + color: #333; +} +#woo_container #content .select_wrapper span { + height: 26px; + line-height: 26px; + position: absolute; + z-index: 2; + padding-left: 6px; +} + + +#woo_container .colorSelector { margin-top:1px; } +#woo_container .colorSelector:hover { cursor:pointer; } +#woo_container .controls select { padding: 6px 4px; width: 340px } +#woo_container .controls select:hover { cursor: pointer;} +#woo_container .controls textarea {width: 345px; } + +#woo_container input[type=text], #woo_container select { height:28px; } +#woo_container input[type=text] { width: 340px; } + +#woo_container input.woo-input-calendar { width: 320px; } + +#woo_container input.checkbox { width: 30px; } +#woo_container input.woo-radio { width: 30px; } +#woo_container .controls .radio-wrapper { margin: 0 0 10px 0; } +#woo_container .controls .radio-wrapper input { margin-bottom: 0!important; } + +#woo_container .controls .input-text-small { width: 60px; margin-right:10px} +#woo_container .meta-two { margin-right:10px} + +#woo_container .controls .woo-color {float:left; width: 70px; margin-left:5px; /* font-size:20px; height:34px;*/} + +#woo_container #content .section-typography .controls { width:440px } +#woo_container #content .section-typography .explain { width:140px } + +#woo_container .controls .woo-typography-size { width:50px; float:left} +#woo_container .controls .woo-typography-unit { width:50px; float:left} +#woo_container .controls .woo-typography-face { width:100px; float:left} +#woo_container .controls .woo-typography-style { width:80px; float:left} +#woo_container .controls .woo-typography-preview-button { float: left; margin: 3px 0 0 5px; padding-top: 3px; } +#woo_container .controls .woo-typography-preview-button span { background: transparent url(images/ico-preview.png) no-repeat center center; display: block; text-indent: -9999px; width: 14px; height: 16px; } +#woo_container .controls .woo-typography-preview-button span.refresh { background-image: url(images/ico-refresh.png); } +#woo_container .typography-preview-container { clear: both; } +#woo_container .typography-preview-container .preview_remove { position: relative; float: right; margin-bottom: -10px; margin-right: -10px; z-index: 99; } +#woo_container .typography-preview { word-wrap: break-word; clear: both; padding: 20px; border: 1px solid #CCCCCC; background: #FDFDFD; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } + +.wf-loading #woo_container .typography-preview.current { background: #FDFDFD url(images/loading-bottom.gif) no-repeat 560px center; } /* Class is dynamically added to the "html" tag. */ + +#woo_container .controls .woo-radio-img-img { border:3px solid #dedede; margin:0 5px 10px 0; display:none; cursor:pointer; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } +#woo_container .controls .woo-radio-img-selected { border:3px solid #aaa; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px;} + +#woo_container .controls .woo-border-width { width:80px; float:left} +#woo_container .controls .woo-border-style { width:120px; float:left} + +#woo_container .section-timestamp .controls .ui-datepicker-trigger { float: left; position: relative; top: 7px; } +#woo_container .section-timestamp .woo-timestamp-at { position: relative; top: 2px; margin: 0 5px; } +#woo_container .section-timestamp .controls input.woo-input-calendar { width: 195px; float: right; } +#woo_container .section-timestamp .controls .time-selectors { float: right; } +#woo_container .controls select.woo-select-timestamp { width: 50px; } + +#woo_container .group { padding-bottom: 20px; } + +#woo_container input:focus,#woo_container select:focus, #woo_container textarea:focus { background:#fff;} + +#woo_container .happy { + background: #DBF6BE no-repeat 10px center; + border: solid #9BBF65; + border-width: 0px 1px 1px 1px; + color: #060; + font-weight: bold; + padding: 10px; + text-align: center; +} + +#woo_container .warning { + background: #ffeeee no-repeat 10px center;; + border: solid #dfbfbf; + border-width: 0px 1px 1px 1px; + color: #333; + font-weight: bold; + padding: 10px; + text-align: center; +} +#woo_container .update_available { + + background: #FFFEEB no-repeat 10px center;; + border: solid #CCCCCC; + border-width: 0px 1px 1px 1px; + color: #333; + font-weight: bold; + padding: 10px; + text-align: center; + + + +} + +#woo_container .woo-save-popup { position:absolute; -moz-border-radius:12px; background:rgba(0,0,0,0.4); color:#fff; font-size:24px; text-align:center; display:none; z-index: 10; } + +#woo_container .woo-save-save { background:url(images/happy.png) 20px 50% no-repeat; padding:30px 30px 30px 70px} +#woo_container .woo-save-reset { background:url(images/warning.png) 20px 50% no-repeat; padding:30px 30px 30px 70px} + +.upload_button_div { margin-bottom: 10px;} +.upload_button_div .button { padding:4px 14px; +} +.upload_button_div .image_reset_button { margin-left:10px} + +.upload-error { float:left;color:#666; font-size:10px; font-weight:bold; text-decoration:none; text-shadow:1px 1px 0 #FFFFFF; + margin: 0 10px 0 0; padding:3px 10px; background:#FFDFEC; -moz-border-radius:4px} + +.reset-button { color:#c77!important;text-shadow:0 1px 0 #fff !important;} +.reset-button:hover { border-color:#c77!important;} +.save_bar_top { background: #f3f3f3; border:solid #ccc; border-width:0px 1px 1px 1px; padding: 10px 20px 0px 20px; height: 35px; text-align: right; +/*INSET SHADOW*/ +-webkit-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +-moz-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +} +#wooform-reset { float: left; } + +.hide { display: none; } + +.ajax-loading-img-top { margin: 8px 4px 0; float: left; } +.ajax-loading-img-bottom {} + +.woo-option-image { max-width: 340px; } + +#woo_container .mini .controls select, #woo_container #content .section .mini .controls { width: 70px; } +#woo_container .mini .controls input, #woo_container #content .mini .controls { width: 70px; } + +#woo_container #content .mini .explain { width:500px; } + +.woo-notice { background: #ffd1d1 ; border:1px solid #DFA8A7; -moz-border-radius:8px; text-align: center; margin-bottom: 15px } + +#woo_container h3 { margin: 0 0 10px 0} +#woo_container h3 span { font-size: 10px; color: #ccc} + +/* Nav Menu - From wordpress */ +#menu-container .inside { padding-bottom: 10px; } + +.menu { + padding-top:1em; +} + +#menu-to-edit { + padding: 1em 0; +} + +.menu ul { + width: 100%; +} +.menu ul.sub-menu { +} +.menu li { + margin-bottom: 0; + position:relative; +} +.menu-item-bar { + clear:both; + line-height:1.5em; + position:relative; + margin-top: 13px; +} +.menu-item-handle { + border: 1px solid #E6E6E6; + position: relative; + padding-left: 10px; + height: auto; + width: 400px; + line-height: 35px; + text-shadow: 0 1px 0 #FFFFFF; + font-weight:bold; + overflow: hidden; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -khtml-border-radius: 6px; + word-wrap: break-word; +} +.menu-item-edit-active .menu-item-handle { + -moz-border-radius: 6px 6px 0 0; + -webkit-border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 0; + -khtml-border-bottom-right-radius: 0; + -khtml-border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.no-js .menu-item-edit-active .item-edit { + display: none; +} +.js .menu-item-handle { + cursor: move; +} +.menu li.deleting .menu-item-handle { + background-color: #f66; + background-image: none; + text-shadow: 0 0 0 #ccc; +} + +.menu-item-handle .item-title { + padding: 7px 0; + line-height: 20px; + display:block; + margin-right:13em; +} + +.item-type { text-transform: uppercase; font-size: 11px; color: #999999; padding-right: 10px; } +.item-controls { font-size: 11px; position: absolute; right: 20px; top: -1px; } +.item-controls a { text-decoration: none; } +.item-controls a:hover { cursor: pointer; } +.item-controls .item-order { padding-right: 10px;} +.item-controls .item-order a { + font-weight:bold; +} + +body.js .item-order { + display:none; +} + +.item-controls .menu-item-delete:hover { color: #ff0000; } + +.item-edit { + background: url( "../../../../wp-admin/images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -105px; + position: absolute; + right: -20px; + top: 0; + display: block; + width: 23px; + height: 36px; + overflow: hidden; + text-indent:-999em; + border-bottom: 1px solid #eee; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + -khtml-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; +} + +/* Menu editing */ +.menu-instructions-inactive { + display: none; +} +.menu-item-settings { + background: #F9F9F9; + display:block; + width: 492px; + padding: 10px 0 10px 10px; + border: solid #E6E6E6; + border-width: 0 1px 1px 1px; + -moz-border-radius: 0 0 6px 6px; + -webkit-border-bottom-right-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -khtml-border-bottom-right-radius: 6px; + -khtml-border-bottom-left-radius: 6px; +} + + +.menu-item-settings:after { + clear: both; + content: '.'; + display: block; + height: 0px; + visibility: hidden; +} +.menu-item-settings input { width: 100%!important} + +.menu-item-edit-active .menu-item-settings { + display:block; +} + +.menu-item-edit-inactive .menu-item-settings { + display:none; +} + +.add-menu-item-pagelinks { + margin:.5em auto; + text-align:center; +} + +.link-to-original { + display: block; + margin: 0 0 10px; + padding: 3px 5px 5px; + font-size: 11px; + color: #777; + font-style: italic; + border: 1px solid #dfdfdf; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -khtml-border-radius: 6px; +} + .link-to-original a { + padding-left: 4px; + font-style: normal; + } + +.hidden-field { + display: none; +} + +.menu-item-settings .description-thin, +.menu-item-settings .description-wide { + margin-right: 10px; + float: left; +} +.description-thin { + width: 190px; + height: 40px; +} +.description-wide { + width: 390px; +} + +.menu-item-actions { + padding-top: 15px; +} + +#cancel-save { cursor: pointer; } +#cancel-save:hover { color: #fff !important; } +#update-menu-item { color: #fff !important; } +#update-menu-item:hover, +#update-menu-item:active, +#update-menu-item:focus { color: #eaf2fa !important; border-color: #13455b !important; } + +/*-------------------------------------------------------------------------------------------*/ +/* Icons Option panel */ +/*-------------------------------------------------------------------------------------------*/ + +#woo_container #woo-nav ul li span.icon { + background-position: 0 center; + background-repeat: no-repeat; + display: block; + float: left; + height: 16px; + width: 16px; + margin-left: 10px; + padding: 16px 0 0 9px; +} + +#woo_container #woo-nav ul li.general span.icon { background-image:url(images/option-icon-general.png); } +#woo_container #woo-nav ul li.styling span.icon { background-image:url(images/option-icon-styling.png); } +#woo_container #woo-nav ul li.typography span.icon { background-image:url(images/option-icon-typography.png); } +#woo_container #woo-nav ul li.image span.icon { background-image:url(images/option-icon-image.png); } +#woo_container #woo-nav ul li.ads span.icon { background-image:url(images/option-icon-ads.png); } +#woo_container #woo-nav ul li.homepage span.icon { background-image:url(images/option-icon-homepage.png); } +#woo_container #woo-nav ul li.woocommerce span.icon { background-image:url(images/option-icon-woocommerce.png); } +#woo_container #woo-nav ul li.media span.icon { background-image:url(images/option-icon-media.png); } +#woo_container #woo-nav ul li.calendar span.icon { background-image:url(images/option-icon-calendar.png); } +#woo_container #woo-nav ul li.slider span.icon { background-image:url(images/option-icon-slider.png); } +#woo_container #woo-nav ul li.box span.icon { background-image:url(images/option-icon-box.png); } +#woo_container #woo-nav ul li.layout span.icon { background-image:url(images/option-icon-layout.png); } +#woo_container #woo-nav ul li.header span.icon { background-image:url(images/option-icon-header.png); } +#woo_container #woo-nav ul li.featured span.icon { background-image:url(images/option-icon-featured.png); } +#woo_container #woo-nav ul li.main span.icon { background-image:url(images/option-icon-main.png); } +#woo_container #woo-nav ul li.sidebar span.icon { background-image:url(images/option-icon-sidebar.png); } +#woo_container #woo-nav ul li.footer span.icon { background-image:url(images/option-icon-footer.png); } +#woo_container #woo-nav ul li.portfolio span.icon { background-image:url(images/option-icon-portfolio.png); } +#woo_container #woo-nav ul li.tumblog span.icon { background-image:url(images/option-icon-tumblog.png); } +#woo_container #woo-nav ul li.nav span.icon { background-image:url(images/option-icon-nav.png); } +#woo_container #woo-nav ul li.audio span.icon { background-image:url(images/option-icon-audio.png); } +#woo_container #woo-nav ul li.misc span.icon { background-image:url(images/option-icon-misc.png); } +#woo_container #woo-nav ul li.maps span.icon { background-image:url(images/option-icon-maps.png); } +#woo_container #woo-nav ul li.searchoption span.icon { background-image:url(images/option-icon-search.png); } +#woo_container #woo-nav ul li.upload span.icon { background-image:url(images/option-icon-upload.png); } +#woo_container #woo-nav ul li.favorite span.icon { background-image:url(images/option-icon-favorite.png); } +#woo_container #woo-nav ul li.listing span.icon { background-image:url(images/option-icon-listing.png); } +#woo_container #woo-nav ul li.post span.icon { background-image:url(images/option-icon-post.png); } +#woo_container #woo-nav ul li.connect span.icon { background-image:url(images/option-icon-connect.png); } +#woo_container #woo-nav ul li.wpsc_presentation span.icon { background-image:url(images/option-icon-cart.png); } +#woo_container #woo-nav ul li.presstrends span.icon { background-image:url(images/option-icon-presstrends.png); } + +/*-------------------------------------------------------------------------------------------*/ +/* GENERAL STYLES */ +/*-------------------------------------------------------------------------------------------*/ + +/* http://sonspring.com/journal/clearing-floats */ + +html body * span.clear, +html body * div.clear, +html body * li.clear, +html body * dd.clear +{ + background: none; + border: 0; + clear: both; + display: block; + float: none; + font-size: 0; + list-style: none; + margin: 0; + padding: 0; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; +} \ No newline at end of file diff --git a/artificer/functions/admin-tumblog-quickpress.php b/artificer/functions/admin-tumblog-quickpress.php new file mode 100755 index 0000000..57ff0a6 --- /dev/null +++ b/artificer/functions/admin-tumblog-quickpress.php @@ -0,0 +1,1469 @@ + + $normal_dashboard['woo_tumblog_dashboard_widget']); + unset($normal_dashboard['woo_tumblog_dashboard_widget']); + // Merge the two arrays together so tumblog widget is at the beginning + $sorted_dashboard = array_merge($woo_tumblog_widget_backup, $normal_dashboard); + // Save the sorted array back into the original metaboxes + $wp_meta_boxes['dashboard']['normal']['core'] = $sorted_dashboard; +} + +//Loads Tumblog javascript and php js functions +function woo_load_tumblog_libraries() { + wp_enqueue_script( 'newscript', get_template_directory_uri() . '/functions/js/tumblog-ajax.js', array( 'jquery', 'jquery-form')); + wp_enqueue_script( 'nicedit', get_template_directory_uri() . '/functions/js/nicEdit.js' ); + wp_enqueue_script( 'phpjs', get_template_directory_uri() . '/functions/js/php.js' ); + wp_enqueue_script( 'datepicker', get_template_directory_uri() . '/functions/js/ui.datepicker.js',array( 'jquery')); +} + +//Load Tumblog CSS +function woo_load_tumblog_css($hook) { + if ($hook == 'post.php' OR $hook == 'post-new.php' OR $hook == 'page-new.php' OR $hook == 'page.php') { + } + else { + echo ""; + echo ""; + } + +} + +/*-----------------------------------------------------------------------------------*/ +/* AJAX Callback Functions +/*-----------------------------------------------------------------------------------*/ + +//Handles AJAX Form Post from Woo QuickPress +function woo_tumblog_ajax_post() { + //Publish Article + if ($_POST['tumblog-type'] == 'article') + { + $data = $_POST; + $type = 'note'; + woo_tumblog_publish($type, $data); + die ( 'OK' ); + } + //Publish Video + elseif ($_POST['tumblog-type'] == 'video') + { + $data = $_POST; + $type = 'video'; + woo_tumblog_publish($type, $data); + die ( 'OK' ); + } + //Publish Image + elseif ($_POST['tumblog-type'] == 'image') + { + $data = $_POST; + $type = 'image'; + woo_tumblog_publish($type, $data); + die ( 'OK' ); + } + //Publish Link + elseif ($_POST['tumblog-type'] == 'link') + { + $data = $_POST; + $type = 'link'; + woo_tumblog_publish($type, $data); + die ( 'OK' ); + } + //Publish Quote + elseif ($_POST['tumblog-type'] == 'quote') + { + $data = $_POST; + $type = 'quote'; + woo_tumblog_publish($type, $data); + die ( 'OK' ); + } + //Publish Audio + elseif ($_POST['tumblog-type'] == 'audio') + { + $data = $_POST; + $type = 'audio'; + woo_tumblog_publish($type, $data); + die ( 'OK' ); + } + //Default + else { + die ( 'OK' ); + } +} + +//Publishes the Tumblog Item +function woo_tumblog_publish($type, $data) { + global $current_user; + //Gets the current user's info + get_currentuserinfo(); + + $content_method = get_option( 'woo_tumblog_content_method' ); + + //Set custom fields + $tumblog_custom_fields = array( 'video-embed' => 'video-embed', + 'quote-copy' => 'quote-copy', + 'quote-author' => 'quote-author', + 'quote-url' => 'quote-url', + 'link-url' => 'link-url', + 'image-url' => 'image', + 'audio-url' => 'audio' + ); + //get term ids + $tumblog_items = array( 'articles' => get_option( 'woo_articles_term_id'), + 'images' => get_option( 'woo_images_term_id'), + 'audio' => get_option( 'woo_audio_term_id'), + 'video' => get_option( 'woo_video_term_id'), + 'quotes' => get_option( 'woo_quotes_term_id'), + 'links' => get_option( 'woo_links_term_id') + ); + //Set date formatting + $php_formatting = "Y-m-d H:i:s"; + //default post settings + $tumbl_note = array(); + $tumbl_note['post_status'] = 'publish'; + $browser = $_SERVER['HTTP_USER_AGENT'] . "\n\n"; + $safari_check = substr_count( strtolower( $browser ) , strtolower( 'safari' ) ); + if ($safari_check > 0) { + $data['tumblog-content'] = str_ireplace(array( '
    ','
    '),array( '','
    '),$data['tumblog-content']); + $data['tumblog-content'] = str_ireplace(array( '


    '),array( '

    '),$data['tumblog-content']); + $data['tumblog-content'] = str_ireplace(array( ' '), array( ' '),$data['tumblog-content']); + } + //Handle Tumblog Types + switch ($type) + { + case 'note': + //Create post object + $tumbl_note['post_title'] = $data['note-title']; + $tumbl_note['post_content'] = $data['tumblog-content']; + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($data['tumblog-status'] != '') { + $tumbl_note['post_status'] = $data['tumblog-status']; + } + //Hours and Mins + $original_hours = (int)$data['original-tumblog-hours']; + $original_mins = (int)$data['original-tumblog-mins']; + $original_date = strtotime($data['original-tumblog-date']); + $posted_date = strtotime($data['tumblog-date']); + $note_hours = (int)$data['tumblog-hours']; + if ($note_hours == 0) { $note_hours = 12; } + elseif ($note_hours >= 24) { $note_hours = 0; } + $note_mins = (int)$data['tumblog-mins']; + if ($note_mins == 0) { $note_mins = 0; } + elseif ($note_mins >= 60) { $note_mins = 0; } + //Convert to Y-m-d H:i:s + //if everything is unchanged + if ( ($note_hours == $original_hours) && ($note_mins == $original_mins) && ($posted_date == $original_date) ) { + $time_now_hours = date_i18n( "H" ); + $time_now_mins = date_i18n( "i" ); + $date_raw = date( "Y").'-'.date( "m").'-'.date( "d").' '.$time_now_hours.':'.$time_now_mins.':00'; + } else { + $date_raw = date( "Y",strtotime($data['tumblog-date'])).'-'.date( "m",strtotime($data['tumblog-date'])).'-'.date( "d",strtotime($data['tumblog-date'])).' '.$note_hours.':'.$note_mins.':00'; + } + $date_formatted = date($php_formatting, strtotime($date_raw)); + $tumbl_note['post_date'] = $date_formatted; + // DEPRECATED + // } + $tumbl_note['post_author'] = $current_user->ID; + $tumbl_note['tags_input'] = $data['tumblog-tags']; + + // DEPRECATED + // Get Category from Theme Options + /* + if (get_option( 'tumblog_woo_tumblog_upgraded') != 'true') { + $category_id = get_cat_ID( get_option( 'woo_articles_category') ); + $categories = array($category_id); + } else { + $categories = array(); + } + */ + + $categories = array(); + + $post_cat_array = $data['post_category']; + if(empty($post_cat_array)) + { + //Do nothing + } else { + $N = count($post_cat_array); + for($i=0; $i < $N; $i++) { + array_push($categories, $post_cat_array[$i]); + } + } + $tumbl_note['post_category'] = $categories; + //Insert the note into the database + $post_id = wp_insert_post($tumbl_note); + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + + if ($content_method == 'post_format') { + set_post_format( $post_id, 'aside' ); + } else { + //update posts taxonomies + $taxonomy_data = $data['tax_input']; + if ( !empty($taxonomy_data) ) { + foreach ( $taxonomy_data as $taxonomy => $tags ) { + $taxonomy_obj = get_taxonomy($taxonomy); + if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. + $tags = array_filter($tags); + if ( current_user_can($taxonomy_obj->cap->assign_terms) ) + array_push($tags, $tumblog_items['articles']); + } + } else { + $tags[0] = $tumblog_items['articles']; + } + wp_set_post_terms( $post_id, $tags, 'tumblog' ); + } + + // DEPRECATED + // } + + break; + case 'video': + //Create post object + $tumbl_note['post_title'] = $data['video-title']; + $tumbl_note['post_content'] = $data['tumblog-content']; + // DEPRECATED + //if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($data['tumblog-status'] != '') { + $tumbl_note['post_status'] = $data['tumblog-status']; + } + //Hours and Mins + $original_hours = (int)$data['original-tumblog-hours']; + $original_mins = (int)$data['original-tumblog-mins']; + $original_date = strtotime($data['original-tumblog-date']); + $posted_date = strtotime($data['tumblog-date']); + $note_hours = (int)$data['tumblog-hours']; + if ($note_hours == 0) { $note_hours = 12; } + elseif ($note_hours >= 24) { $note_hours = 0; } + $note_mins = (int)$data['tumblog-mins']; + if ($note_mins == 0) { $note_mins = 0; } + elseif ($note_mins >= 60) { $note_mins = 0; } + //Convert to Y-m-d H:i:s + //if everything is unchanged + if ( ($note_hours == $original_hours) && ($note_mins == $original_mins) && ($posted_date == $original_date) ) { + $time_now_hours = date_i18n( "H" ); + $time_now_mins = date_i18n( "i" ); + $date_raw = date( "Y").'-'.date( "m").'-'.date( "d").' '.$time_now_hours.':'.$time_now_mins.':00'; + } else { + $date_raw = date( "Y",strtotime($data['tumblog-date'])).'-'.date( "m",strtotime($data['tumblog-date'])).'-'.date( "d",strtotime($data['tumblog-date'])).' '.$note_hours.':'.$note_mins.':00'; + } + $date_formatted = date($php_formatting, strtotime($date_raw)); + $tumbl_note['post_date'] = $date_formatted; + // DEPRECATED + // } + $tumbl_note['post_author'] = $current_user->ID; + $tumbl_note['tags_input'] = $data['tumblog-tags']; + + // DEPRECATED + //Get Category from Theme Options + /* + if (get_option( 'tumblog_woo_tumblog_upgraded') != 'true') { + $category_id = get_cat_ID( get_option( 'woo_videos_category') ); + $categories = array($category_id); + } else { + $categories = array(); + } + */ + + $categories = array(); + + $post_cat_array = $data['post_category']; + if(empty($post_cat_array)) + { + //Do nothing + } else { + $N = count($post_cat_array); + for($i=0; $i < $N; $i++) { + array_push($categories, $post_cat_array[$i]); + } + } + $tumbl_note['post_category'] = $categories; + //Insert the note into the database + $post_id = wp_insert_post($tumbl_note); + //Add Custom Field Data to the Post + add_post_meta($post_id, $tumblog_custom_fields['video-embed'], $data['video-embed'], true); + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + + if ($content_method == 'post_format') { + set_post_format( $post_id, 'video' ); + } else { + //update posts taxonomies + $taxonomy_data = $data['tax_input']; + if ( !empty($taxonomy_data) ) { + foreach ( $taxonomy_data as $taxonomy => $tags ) { + $taxonomy_obj = get_taxonomy($taxonomy); + if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. + $tags = array_filter($tags); + if ( current_user_can($taxonomy_obj->cap->assign_terms) ) + array_push($tags, $tumblog_items['video']); + } + } else { + $tags[0] = $tumblog_items['video']; + } + wp_set_post_terms( $post_id, $tags, 'tumblog' ); + } + + // DEPRECATED + // } + + break; + case 'image': + //Create post object + $tumbl_note['post_title'] = $data['image-title']; + $tumbl_note['post_content'] = $data['tumblog-content']; + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($data['tumblog-status'] != '') { + $tumbl_note['post_status'] = $data['tumblog-status']; + } + //Hours and Mins + $original_hours = (int)$data['original-tumblog-hours']; + $original_mins = (int)$data['original-tumblog-mins']; + $original_date = strtotime($data['original-tumblog-date']); + $posted_date = strtotime($data['tumblog-date']); + $note_hours = (int)$data['tumblog-hours']; + if ($note_hours == 0) { $note_hours = 12; } + elseif ($note_hours >= 24) { $note_hours = 0; } + $note_mins = (int)$data['tumblog-mins']; + if ($note_mins == 0) { $note_mins = 0; } + elseif ($note_mins >= 60) { $note_mins = 0; } + //Convert to Y-m-d H:i:s + //if everything is unchanged + if ( ($note_hours == $original_hours) && ($note_mins == $original_mins) && ($posted_date == $original_date) ) { + $time_now_hours = date_i18n( "H" ); + $time_now_mins = date_i18n( "i" ); + $date_raw = date( "Y").'-'.date( "m").'-'.date( "d").' '.$time_now_hours.':'.$time_now_mins.':00'; + } else { + $date_raw = date( "Y",strtotime($data['tumblog-date'])).'-'.date( "m",strtotime($data['tumblog-date'])).'-'.date( "d",strtotime($data['tumblog-date'])).' '.$note_hours.':'.$note_mins.':00'; + } + $date_formatted = date($php_formatting, strtotime($date_raw)); + $tumbl_note['post_date'] = $date_formatted; + + // DEPRECATED + // } + $tumbl_note['post_author'] = $current_user->ID; + $tumbl_note['tags_input'] = $data['tumblog-tags']; + + // DEPRECATED + //Get Category from Theme Options + /* + if (get_option( 'tumblog_woo_tumblog_upgraded') != 'true') { + $category_id = get_cat_ID( get_option( 'woo_images_category') ); + $categories = array($category_id); + } else { + $categories = array(); + } + */ + + $categories = array(); + + $post_cat_array = $data['post_category']; + if(empty($post_cat_array)) + { + //Do nothing + } else { + $N = count($post_cat_array); + for($i=0; $i < $N; $i++) { + array_push($categories, $post_cat_array[$i]); + } + } + $tumbl_note['post_category'] = $categories; + //Insert the note into the database + $post_id = wp_insert_post($tumbl_note); + //Add Custom Field Data to the Post + if ($data['image-id'] > 0) { + $my_post = array(); + $my_post['ID'] = $data['image-id']; + $my_post['post_parent'] = $post_id; + //Update the post into the database + wp_update_post( $my_post ); + add_post_meta($post_id, $tumblog_custom_fields['image-url'], $data['image-upload'], true); + } + else { + add_post_meta($post_id, $tumblog_custom_fields['image-url'], $data['image-url'], true); + } + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + + if ($content_method == 'post_format') { + set_post_format( $post_id, 'image' ); + } else { + //update posts taxonomies + $taxonomy_data = $data['tax_input']; + if ( !empty($taxonomy_data) ) { + foreach ( $taxonomy_data as $taxonomy => $tags ) { + $taxonomy_obj = get_taxonomy($taxonomy); + if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. + $tags = array_filter($tags); + if ( current_user_can($taxonomy_obj->cap->assign_terms) ) + array_push($tags, $tumblog_items['images']); + } + } else { + $tags[0] = $tumblog_items['images']; + } + wp_set_post_terms( $post_id, $tags, 'tumblog' ); + } + + // DEPRECATED + // } + + break; + case 'link': + //Create post object + $tumbl_note['post_title'] = $data['link-title']; + $tumbl_note['post_content'] = $data['tumblog-content']; + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($data['tumblog-status'] != '') { + $tumbl_note['post_status'] = $data['tumblog-status']; + } + //Hours and Mins + $original_hours = (int)$data['original-tumblog-hours']; + $original_mins = (int)$data['original-tumblog-mins']; + $original_date = strtotime($data['original-tumblog-date']); + $posted_date = strtotime($data['tumblog-date']); + $note_hours = (int)$data['tumblog-hours']; + if ($note_hours == 0) { $note_hours = 12; } + elseif ($note_hours >= 24) { $note_hours = 0; } + $note_mins = (int)$data['tumblog-mins']; + if ($note_mins == 0) { $note_mins = 0; } + elseif ($note_mins >= 60) { $note_mins = 0; } + //Convert to Y-m-d H:i:s + //if everything is unchanged + if ( ($note_hours == $original_hours) && ($note_mins == $original_mins) && ($posted_date == $original_date) ) { + $time_now_hours = date_i18n( "H" ); + $time_now_mins = date_i18n( "i" ); + $date_raw = date( "Y").'-'.date( "m").'-'.date( "d").' '.$time_now_hours.':'.$time_now_mins.':00'; + } else { + $date_raw = date( "Y",strtotime($data['tumblog-date'])).'-'.date( "m",strtotime($data['tumblog-date'])).'-'.date( "d",strtotime($data['tumblog-date'])).' '.$note_hours.':'.$note_mins.':00'; + } + $date_formatted = date($php_formatting, strtotime($date_raw)); + $tumbl_note['post_date'] = $date_formatted; + // DEPRECATED + // } + $tumbl_note['post_author'] = $current_user->ID; + $tumbl_note['tags_input'] = $data['tumblog-tags']; + + // DEPRECATED + //Get Category from Theme Options + /* + if (get_option( 'tumblog_woo_tumblog_upgraded') != 'true') { + $category_id = get_cat_ID( get_option( 'woo_links_category') ); + $categories = array($category_id); + } else { + $categories = array(); + } + */ + + $categories = array(); + + $post_cat_array = $data['post_category']; + if(empty($post_cat_array)) + { + //Do nothing + } else { + $N = count($post_cat_array); + for($i=0; $i < $N; $i++) { + array_push($categories, $post_cat_array[$i]); + } + } + $tumbl_note['post_category'] = $categories; + //Insert the note into the database + $post_id = wp_insert_post($tumbl_note); + //Add Custom Field Data to the Post + add_post_meta($post_id, $tumblog_custom_fields['link-url'], $data['link-url'], true); + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + + if ($content_method == 'post_format') { + set_post_format( $post_id, 'link' ); + } else { + //update posts taxonomies + $taxonomy_data = $data['tax_input']; + if ( !empty($taxonomy_data) ) { + foreach ( $taxonomy_data as $taxonomy => $tags ) { + $taxonomy_obj = get_taxonomy($taxonomy); + if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. + $tags = array_filter($tags); + if ( current_user_can($taxonomy_obj->cap->assign_terms) ) + array_push($tags, $tumblog_items['links']); + } + } else { + $tags[0] = $tumblog_items['links']; + } + wp_set_post_terms( $post_id, $tags, 'tumblog' ); + } + // DEPRECATED + // } + + break; + case 'quote': + //Create post object + $tumbl_note['post_title'] = $data['quote-title']; + $tumbl_note['post_content'] = $data['tumblog-content']; + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($data['tumblog-status'] != '') { + $tumbl_note['post_status'] = $data['tumblog-status']; + } + //Hours and Mins + $original_hours = (int)$data['original-tumblog-hours']; + $original_mins = (int)$data['original-tumblog-mins']; + $original_date = strtotime($data['original-tumblog-date']); + $posted_date = strtotime($data['tumblog-date']); + $note_hours = (int)$data['tumblog-hours']; + if ($note_hours == 0) { $note_hours = 12; } + elseif ($note_hours >= 24) { $note_hours = 0; } + $note_mins = (int)$data['tumblog-mins']; + if ($note_mins == 0) { $note_mins = 0; } + elseif ($note_mins >= 60) { $note_mins = 0; } + //Convert to Y-m-d H:i:s + //if everything is unchanged + if ( ($note_hours == $original_hours) && ($note_mins == $original_mins) && ($posted_date == $original_date) ) { + $time_now_hours = date_i18n( "H" ); + $time_now_mins = date_i18n( "i" ); + $date_raw = date( "Y").'-'.date( "m").'-'.date( "d").' '.$time_now_hours.':'.$time_now_mins.':00'; + } else { + $date_raw = date( "Y",strtotime($data['tumblog-date'])).'-'.date( "m",strtotime($data['tumblog-date'])).'-'.date( "d",strtotime($data['tumblog-date'])).' '.$note_hours.':'.$note_mins.':00'; + } + $date_formatted = date($php_formatting, strtotime($date_raw)); + $tumbl_note['post_date'] = $date_formatted; + // DEPRECATED + // } + $tumbl_note['post_author'] = $current_user->ID; + $tumbl_note['tags_input'] = $data['tumblog-tags']; + + // DEPRECATED + //Get Category from Theme Options + /* + if (get_option( 'tumblog_woo_tumblog_upgraded') != 'true') { + $category_id = get_cat_ID( get_option( 'woo_quotes_category') ); + $categories = array($category_id); + } else { + $categories = array(); + } + */ + + $categories = array(); + + $post_cat_array = $data['post_category']; + if(empty($post_cat_array)) + { + //Do nothing + } else { + $N = count($post_cat_array); + for($i=0; $i < $N; $i++) { + array_push($categories, $post_cat_array[$i]); + } + } + $tumbl_note['post_category'] = $categories; + //Insert the note into the database + $post_id = wp_insert_post($tumbl_note); + //Add Custom Field Data to the Post + add_post_meta($post_id, $tumblog_custom_fields['quote-copy'], $data['quote-copy'], true); + add_post_meta($post_id, $tumblog_custom_fields['quote-author'], $data['quote-author'], true); + add_post_meta($post_id, $tumblog_custom_fields['quote-url'], $data['quote-url'], true); + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + + if ($content_method == 'post_format') { + set_post_format( $post_id, 'quote' ); + } else { + //update posts taxonomies + $taxonomy_data = $data['tax_input']; + if ( !empty($taxonomy_data) ) { + foreach ( $taxonomy_data as $taxonomy => $tags ) { + $taxonomy_obj = get_taxonomy($taxonomy); + if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. + $tags = array_filter($tags); + if ( current_user_can($taxonomy_obj->cap->assign_terms) ) + array_push($tags, $tumblog_items['quotes']); + } + } else { + $tags[0] = $tumblog_items['quotes']; + } + wp_set_post_terms( $post_id, $tags, 'tumblog' ); + } + // DEPRECATED + // } + + break; + case 'audio': + //Create post object + $tumbl_note['post_title'] = $data['audio-title']; + $tumbl_note['post_content'] = $data['tumblog-content']; + + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($data['tumblog-status'] != '') { + $tumbl_note['post_status'] = $data['tumblog-status']; + } + //Hours and Mins + $original_hours = (int)$data['original-tumblog-hours']; + $original_mins = (int)$data['original-tumblog-mins']; + $original_date = strtotime($data['original-tumblog-date']); + $posted_date = strtotime($data['tumblog-date']); + $note_hours = (int)$data['tumblog-hours']; + if ($note_hours == 0) { $note_hours = 12; } + elseif ($note_hours >= 24) { $note_hours = 0; } + $note_mins = (int)$data['tumblog-mins']; + if ($note_mins == 0) { $note_mins = 0; } + elseif ($note_mins >= 60) { $note_mins = 0; } + //Convert to Y-m-d H:i:s + //if everything is unchanged + if ( ($note_hours == $original_hours) && ($note_mins == $original_mins) && ($posted_date == $original_date) ) { + $time_now_hours = date_i18n( "H" ); + $time_now_mins = date_i18n( "i" ); + $date_raw = date( "Y").'-'.date( "m").'-'.date( "d").' '.$time_now_hours.':'.$time_now_mins.':00'; + } else { + $date_raw = date( "Y",strtotime($data['tumblog-date'])).'-'.date( "m",strtotime($data['tumblog-date'])).'-'.date( "d",strtotime($data['tumblog-date'])).' '.$note_hours.':'.$note_mins.':00'; + } + $date_formatted = date($php_formatting, strtotime($date_raw)); + $tumbl_note['post_date'] = $date_formatted; + + // DEPRECATED + // } + $tumbl_note['post_author'] = $current_user->ID; + $tumbl_note['tags_input'] = $data['tumblog-tags']; + + // DEPRECATED + //Get Category from Theme Options + /* + if (get_option( 'tumblog_woo_tumblog_upgraded') != 'true') { + $category_id = get_cat_ID( get_option( 'woo_audio_category') ); + $categories = array($category_id); + } else { + $categories = array(); + } + */ + + $categories = array(); + + $post_cat_array = $data['post_category']; + if(empty($post_cat_array)) + { + //Do nothing + } else { + $N = count($post_cat_array); + for($i=0; $i < $N; $i++) { + array_push($categories, $post_cat_array[$i]); + } + } + $tumbl_note['post_category'] = $categories; + //Insert the note into the database + $post_id = wp_insert_post($tumbl_note); + //Add Custom Field Data to the Post + if ($data['audio-id'] > 0) { + $my_post = array(); + $my_post['ID'] = $data['audio-id']; + $my_post['post_parent'] = $post_id; + //Update the post into the database + wp_update_post( $my_post ); + add_post_meta($post_id, $tumblog_custom_fields['audio-url'], $data['audio-upload'], true); + } + else { + add_post_meta($post_id, $tumblog_custom_fields['audio-url'], $data['audio-url'], true); + } + // DEPRECATED + // if (get_option( 'tumblog_woo_tumblog_upgraded') == 'true') { + if ($content_method == 'post_format') { + set_post_format( $post_id, 'audio' ); + } else { + //update posts taxonomies + $taxonomy_data = $data['tax_input']; + if ( !empty($taxonomy_data) ) { + foreach ( $taxonomy_data as $taxonomy => $tags ) { + $taxonomy_obj = get_taxonomy($taxonomy); + if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical. + $tags = array_filter($tags); + if ( current_user_can($taxonomy_obj->cap->assign_terms) ) + array_push($tags, $tumblog_items['audio']); + } + } else { + $tags[0] = $tumblog_items['audio']; + } + wp_set_post_terms( $post_id, $tags, 'tumblog' ); + } + // DEPRECATED + // } + + break; + default: + break; + } +} + +//Handles AJAX Post +function woo_tumblog_file_upload() { + global $wpdb; + //Upload overrides + $filename = $_FILES['userfile']; // [name] [tmp_name] + $override['test_form'] = false; + $override['action'] = 'wp_handle_upload'; + //Handle Uploaded File + $uploaded_file = wp_handle_upload($filename, $override); // [file] [url] [type] + //Create Attachment Object + $attachment['post_title'] = $filename['name']; //post_title, post_content (the value for this key should be the empty string), post_status and post_mime_type + $attachment['post_content'] = ''; + $attachment['post_status'] = 'inherit'; + $attachment['post_mime_type'] = $uploaded_file['type']; + $attachment['guid'] = $uploaded_file['url']; + //Prepare file attachment + $wud = wp_upload_dir(); // [path] [url] [subdir] [basedir] [baseurl] [error] + $filename_attach = $wud['basedir'].$uploaded_file['file']; + //Insert Attachment + $attach_id = wp_insert_attachment( $attachment, $filename_attach, 0 ); + $attach_data = wp_generate_attachment_metadata( $attach_id, $filename_attach ); + wp_update_attachment_metadata( $attach_id, $attach_data ); + //Handle Errors and Response + if(!empty($uploaded_file['error'])) {echo 'Upload Error: ' . $uploaded_file['error']; } + else { echo $uploaded_file['url'].'|'.$attach_id.'|'; } // Is the Response +} + +/*-----------------------------------------------------------------------------------*/ +/* Dashboard Widget +/*-----------------------------------------------------------------------------------*/ + +// Tumblog Dashboard Widget Output +function woo_tumblog_dashboard_widget_output() { + //security check + if (current_user_can( 'publish_posts')) { + $tumblog_items = array( 'articles' => get_option( 'woo_articles_term_id'), + 'images' => get_option( 'woo_images_term_id'), + 'audio' => get_option( 'woo_audio_term_id'), + 'video' => get_option( 'woo_video_term_id'), + 'quotes' => get_option( 'woo_quotes_term_id'), + 'links' => get_option( 'woo_links_term_id') + ); + ?> + + +
    + +
    "> + + + +
    + +
    + Article + Image + Link + Audio + Video + Quote +
    + +
    +

    +
    + +
    +
    + +
    +

    +
    + +
    +

    + +
    + +
    +

    +
    + +
    + +
    +

    |

    +
    + +
    +
    + +
    + + + +
    +

    +
    + +
    +

    + +

    +
    + +
    +

    +
    + +
    +
    + +
    +

    +
    + +
    + +
    +

    |

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

    View Advanced Options

    +
    + +
    +

    + + +

    +

    + + + + + @ : + +

    +
    +
    + + + +
    + +
      + $taxonomy ) ); ?> + +
    + +
    +
    + +
    + + + +
    + +
      + $taxonomy ) ); ?> + +
    + +
    +
    + +
    + +
    +

    +
    + +
    +
    + +
    + + +
    + +
    + +
    + + \ No newline at end of file diff --git a/artificer/functions/assets/fonts/wooframework.eot b/artificer/functions/assets/fonts/wooframework.eot new file mode 100755 index 0000000000000000000000000000000000000000..6c075ec8bbfa77079d69a65c9f75424f45038b6f GIT binary patch literal 2008 zcmaJ?ON6Esgvnx>O&JWr=#5YPeONjghY(9J^< z(VLLW(*nHq${a+lY_1-+XM3Oe`KR7TLd?lZUgoX!0F~&YS{vr<;p&*vqfLi@@`>=O%xhMuHB zd_^Y{pNStJ`6QwI7Y(taO`ckeZ7*NjDZb0{RtrCQi?%OUBD!AsFm=WdZ(XU73|b4S zK=n~0LaPNF-=$Wo^;=oAtsnr^n)GAbj@5WU2Z494^{u=wZzA40+JPgxPIurkTo<)K z7Q%{XL}Oy40c@=agccOXlvq+eTPwM9RNfvBmv=&Q?GSQjJ1(2U9AXhjri zQ1x&iwHl$@q%O6ERu?O>I2cxVD6!TMnnpzyO!!%As&%d*CX#56!kE-5F)mEs339F} zl;@;!p7|Xs&xOFy)Q4c{XlY|LpRaB#@f#O8dIXlrBJG!I-9p()`uUW_$x@lFN*KkV zdp(s2SeTZT?JZ?k6nbLc&GiCg%$|=B`RbG3T;ru&cVI%oa0H$E$3<%3*K4v~;#q z?+uwRT;MhqA0_zV;c#@Is)I{2Q^;9tyBW((2Nrj)Dp8CW znSr#5f$Xccd!tQo+M~l`JT!>jK{td^7@_kt)XlMGOtjgL%NzPoI9-h{K7_Iqo)+AD z_~$(qQ=BiOXhK?^S03yyvAKG~Kp|DirC6o((L3q1^j+6>Jl7WZSH1Otte^KRHkE5D zb_;8JytF4--b5pnm)$v>3Zo85|2D|`N7fjwtvVow3L3l z{q@-=wDYxM=Cvn+R%jng4#FV7%E|jred$`#QRo2zi=2MiQkS>zZE!lTLBC)Y=%vk` zT>)L|#AFQd#6w#K^j=3UA+L9M1N>r#H*pb!Y45kUcvW3$2W<&(pB}}m(mK>=VoUo=Jm{D-c2WPLGEi`tuyTkJX`l=_+QVO^(O!T literal 0 HcmV?d00001 diff --git a/artificer/functions/assets/fonts/wooframework.svg b/artificer/functions/assets/fonts/wooframework.svg new file mode 100755 index 0000000..2d736a5 --- /dev/null +++ b/artificer/functions/assets/fonts/wooframework.svg @@ -0,0 +1,12 @@ + + + +Generated by IcoMoon + + + + + + + + \ No newline at end of file diff --git a/artificer/functions/assets/fonts/wooframework.ttf b/artificer/functions/assets/fonts/wooframework.ttf new file mode 100755 index 0000000000000000000000000000000000000000..02204367c4622014ece4486c5f7d6bd4e0883de4 GIT binary patch literal 1824 zcmZ`(ON^z9#&Pl$LO_^!Fu$`WJ_{542>ZvNuzjmocpe3D3h zdS<3IP1kPB5t-1@>cJU8Dy-Qqh8n>i2eF0@vcaF(CI zSHY9T*22t%v+sD|AECzVQhVhb&WUB|M?%sdzN(9fkHvS;e3(l9oyOSFE{`n6u^(T% zDY?t?RtG=2BIbMx!c^rQVvt z(yYp&i8yORt-*EVL=hcPoRZokriJM{LBTbJ@|;Y;GrwWwxlkBd`cSN$C~vKWVQp)f zU%AZjKV+>UvVOVVFO;pMA7(60m&)~3qd1A&>zQ1@!nCaXU^&O4IFR^m&bQfcY?DpT z5w@k+u#{!$KoJiluH%CUQz@yk<;ZfC-we4mvS&C>ummvqrpab?R>d07%^YE#9c1lOZkIi(d0-?CzocfSg_c3 zbC#P8EbiY_MulQ^Q(=`yo;y%EC|!jkZ{ImCd1B`%^YE69GM*S8GE~;ZEl6q0zO9W$ zMG8YsK0C&o3uDs>OR=YRzqk`6EZ1I*$G0c&Wg!b;WU}%D$Ikl>57hfT<}j&8y0^r` z-da!is=^vxWT>iQY_QZE9L3v}ljxMqoYaQQKw70h4%NE7(G_^xljBo7Hj3UsH$-t1 zqw_S?&9Pxhbm0e;Ekn3CeH(pz6xULGRB`XYZ}(Wtb6CNp32Av=WpudA=K3uo#Z0-7 zVU^LZ-pOXA@4B|*xwgQ+8f=W@{m`@6RIaVqEp8m}vYupl6OB|^d%J>`x_nt<@vg?d zh<($Gn^&xiYwbUFNEt65KhS)Bms)@1VAJr6c}JodhW74xVOSW3A=KeFUW%)U>sM>F zoPBEPxPi{n_oY8bYw30I&A2 zNikUJugIspJ?vt3UDcD!aG=pSQ=H~Zahfy5Y0eay=Da{{{AOvHTC_kj zr1>(PrB{KMX$2FmO^cM!Hk@}`*ZM!+7uxOFWj*uT%V(eDgSs;`N9WPoEo6RD-F@&{ g?AC74Iml_$K1CPt+)t-*mV?;(MCo+b_xgnOH>|qg6951J literal 0 HcmV?d00001 diff --git a/artificer/functions/assets/fonts/wooframework.woff b/artificer/functions/assets/fonts/wooframework.woff new file mode 100755 index 0000000000000000000000000000000000000000..d9d556a403973efe153417225ea7aba8c22f2c21 GIT binary patch literal 1900 zcmZ`)O^g&(5UzT!`}Obi{PfT4%(6}ItjjD2v#@`I1UHxn2!bRaCWIIq*gs`=hwOs8 z1Y$gR@+WfjVB*082Se}zdIA$qY793Mj0You7!wXA9y}~#Rri39!0S|3eP7k9>UmvV zvvO$99zdXF%!8BagzryVhmH)70H8^}w^+Qd<@2W&T4#uxBfOL4$G@we&$gDC`;sun zvJ__L&(9F|6@dJL<$CoF%uTnZ0Q3XopGf7(_1QThiTi-?b1cSH`ODnG*;V2$6E3jW z#Lu@+aojhA34)Ecar;7RmFnu>6HZcb;J3xr!ZdMrs5aN1SvmclbEds~mVPhS&Eh0k zQUkmMI)M00{6zTEOygfLiWcF=7xH5~v35an7v;?kUGgUEdcv1gp~S>;rGW03Y7K@+ zE1=Tkr3{@8;p8rKI-TFEB8?(~G<))oaGI<60w*VS~PqLd*r>Y@2g5Bj#rBVEw5zj zLOE8h_r)-DliCn{TNzF*r?!PhTh^bo97Mc%E{dxbKUbp4!x*;0j`IEa$K zzLqO^D0IUp_E!oh!oI|{3$BTpW$LIqmM{&4nxPDxH;Sk)u`QQ?(3O%ZUkMCbNqnDb zRHZVEZVf@9*sT#-B9a9^hZw~b9sRI`*b~PJu~f{Hxvp2rV!1%>WSxnZG3akp*3MNL z{Q=^I3z%Z@QHCEJ3nqqZoLuUKuwk3B7GH$(f)F?e}vwyoS;tGgh_2c z_oPwwV_Z+BI-Pb+#DMwMQVOh-8?`C$EVSQN9kC?$BBCn z{=A1`9{nmEnvjO$R7VCYsIT8V9Of#e9I70@dMlrou5Fu^W1E70Rexi+==zRCAK;98M7>mXx(|JKiFT>uT^T%>rHzv!c&BSi;u~FCBYU-L>ktvj;uW~i{kNd0I|P?_l4%xsIcH{PIWs%U znb}#+%+7LVwxYdoE6}EE29}@&3os3gm*6zKLG}_X(}ZioA|$Yto_A~NeM \ No newline at end of file diff --git a/artificer/functions/css/colorpicker.css b/artificer/functions/css/colorpicker.css new file mode 100755 index 0000000..8f66acc --- /dev/null +++ b/artificer/functions/css/colorpicker.css @@ -0,0 +1,177 @@ +.colorpicker { + width: 356px; + height: 176px; + overflow: hidden; + position: absolute; + background: url(../images/colorpicker/colorpicker_background.png); + font-family: Arial, Helvetica, sans-serif; + display: none; +} +.colorpicker_color { + width: 150px; + height: 150px; + left: 14px; + top: 13px; + position: absolute; + background: #f00; + overflow: hidden; + cursor: crosshair; +} +.colorpicker_color div { + position: absolute; + top: 0; + left: 0; + width: 150px; + height: 150px; + background: url(../images/colorpicker/colorpicker_overlay.png); +} +.colorpicker_color div div { + position: absolute; + top: 0; + left: 0; + width: 11px; + height: 11px; + overflow: hidden; + background: url(../images/colorpicker/colorpicker_select.gif); + margin: -5px 0 0 -5px; +} +.colorpicker_hue { + position: absolute; + top: 13px; + left: 171px; + width: 35px; + height: 150px; + cursor: n-resize; +} +.colorpicker_hue div { + position: absolute; + width: 35px; + height: 9px; + overflow: hidden; + background: url(../images/colorpicker/colorpicker_indic.gif) left top; + margin: -4px 0 0 0; + left: 0px; +} +.colorpicker_new_color { + position: absolute; + width: 60px; + height: 30px; + left: 213px; + top: 13px; + background: #f00; +} +.colorpicker_current_color { + position: absolute; + width: 60px; + height: 30px; + left: 283px; + top: 13px; + background: #f00; +} +.colorpicker input { + background-color: transparent; + border: 1px solid transparent; + position: absolute; + font-size: 10px; + font-family: Arial, Helvetica, sans-serif; + color: #898989; + top: 4px; + right: 11px; + text-align: right; + margin: 0; + padding: 0; + height: 12px; +} +.colorpicker_hex { + position: absolute; + width: 72px; + height: 22px; + background: url(../images/colorpicker/colorpicker_hex.png) top; + left: 212px; + top: 142px; +} +.colorpicker_hex input { + right: 6px; +} +.colorpicker_field { + height: 22px; + width: 62px; + background-position: top; + position: absolute; +} +.colorpicker_field span { + position: absolute; + width: 12px; + height: 22px; + overflow: hidden; + top: 0; + right: 0; + cursor: n-resize; +} +.colorpicker_rgb_r { + background-image: url(../images/colorpicker/colorpicker_rgb_r.png); + top: 52px; + left: 212px; +} +.colorpicker_rgb_g { + background-image: url(../images/colorpicker/colorpicker_rgb_g.png); + top: 82px; + left: 212px; +} +.colorpicker_rgb_b { + background-image: url(../images/colorpicker/colorpicker_rgb_b.png); + top: 112px; + left: 212px; +} +.colorpicker_hsb_h { + background-image: url(../images/colorpicker/colorpicker_hsb_h.png); + top: 52px; + left: 282px; +} +.colorpicker_hsb_s { + background-image: url(../images/colorpicker/colorpicker_hsb_s.png); + top: 82px; + left: 282px; +} +.colorpicker_hsb_b { + background-image: url(../images/colorpicker/colorpicker_hsb_b.png); + top: 112px; + left: 282px; +} +.colorpicker_submit { + position: absolute; + width: 22px; + height: 22px; + background: url(../images/colorpicker/colorpicker_submit.png) top; + left: 322px; + top: 142px; + overflow: hidden; +} +.colorpicker_focus { + background-position: center; +} +.colorpicker_hex.colorpicker_focus { + background-position: bottom; +} +.colorpicker_submit.colorpicker_focus { + background-position: bottom; +} +.colorpicker_slider { + background-position: bottom; +} + +.colorSelector { + position: relative; + width: 27px; + height: 27px; + background: url(../images/colorpicker/select.png); + float:left; +} +.colorSelector div { + position: absolute; + top: 4px; + left: 3px; + width: 21px; + height: 19px; + background: url(../images/colorpicker/select.png) center; +} \ No newline at end of file diff --git a/artificer/functions/css/jquery-ui-datepicker.css b/artificer/functions/css/jquery-ui-datepicker.css new file mode 100755 index 0000000..cdca788 --- /dev/null +++ b/artificer/functions/css/jquery-ui-datepicker.css @@ -0,0 +1,347 @@ +/* +* jQuery UI CSS Framework +* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +*/ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + + +/* +* jQuery UI CSS Framework +* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px +*/ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; } +.ui-widget-content a { color: #222222; } +.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; } +.ui-widget-header a { color: #222222; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(../images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; outline: none; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; outline: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #999999; background: #dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; } +.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; outline: none; } +.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; outline: none; text-decoration: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; } +.ui-state-error a, .ui-widget-content .ui-state-error a { color: #cd0a0a; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd0a0a; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(../images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(../images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(../images/ui-icons_222222_256x240.png); } +.ui-state-default .ui-icon { background-image: url(../images/ui-icons_888888_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(../images/ui-icons_454545_256x240.png); } +.ui-state-active .ui-icon {background-image: url(../images/ui-icons_454545_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(../images/ui-icons_2e83ff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(../images/ui-icons_cd0a0a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; } +.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; } +.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; } +.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; } +.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; }/* Datepicker +----------------------------------*/ +.ui-datepicker { width: 17em; padding: .2em .2em 0; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; } +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +} + +/* Icon Cursor Mouseover */ +img.ui-datepicker-trigger { cursor:pointer; } \ No newline at end of file diff --git a/artificer/functions/css/shortcode-generator.css b/artificer/functions/css/shortcode-generator.css new file mode 100755 index 0000000..d621a59 --- /dev/null +++ b/artificer/functions/css/shortcode-generator.css @@ -0,0 +1,94 @@ +/*----------------------------------------------------------------------------------- + +FILE INFORMATION + +Description: WooThemes shortcode generator CSS. +Date Created: 2011-01-21. +Author: Based on the work of the Shortcode Ninja plugin by VisualShortcodes.com. +Integration and Addons: Matty. +Since: 3.5.0 +Copyright 2010 (c) VisualShortcodes.com + + +TABLE OF CONTENTS + +1. Layout +2. Attributes Table +3. Validation +4. Column Control +5. Form Elements +-5.1 Colour Picker + +-----------------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------------- + 1. Layout +-----------------------------------------------------------------------------------*/ + +#woo-options-buttons { margin: -3px -15px 0; background: #EDEDED; padding: 12px 20px 8px; border-bottom: 1px solid #ddd; } +#woo-options {float: left; width: 380px; margin-right: 20px; position: relative; z-index: 2; } +#woo-options.shortcode-related, #woo-options.shortcode-column, #woo-options.shortcode-tab { width: 100%; } +#woo-options h3, #woo-preview h3, #woo-options-error h3 { border-bottom: 1px solid #E7E7E7; font-size: 13px; margin: 10px 0; padding: 7px 0; } +#woo-preview { width: 225px; position: relative; z-index: 2; } +#woo-preloader { position: absolute; } +.woo-loading { background: url( "../images/loading-bottom.gif") no-repeat scroll right center transparent; padding-right: 15px; } +#woo-options.shortcode-contactform { width: 100%; display: block; } +#woo-preview.shortcode-contactform { width: 100%; margin-top: -20px; display: block; } +#woo-preview.shortcode-contactform iframe { height: 530px!important; } + +/*----------------------------------------------------------------------------------- + 2. Attributes Table +-----------------------------------------------------------------------------------*/ + +#woo-options-table { border: 0px solid #DFDFDF; width: 100%; margin-bottom: 8px; } +#woo-options-table th { padding-top: 0.2em; } +#woo-options.shortcode-column th, #woo-options.shortcode-tab th { width: 20px; vertical-align: top; } +#woo-options-table td { vertical-align: middle; padding: 0 5px 10px 0; } +.woo-input-help { font-size: 11px; color: #999; font-style: italic; font-family: sans-serif; display: block; clear: both; } +.woo-input-help p { margin: 0; color: #888; font-size: 11px; } +abbr.woo-required { color: #FF0000; } + +/*----------------------------------------------------------------------------------- + 3. Validation +-----------------------------------------------------------------------------------*/ + +#woo-options-error p { margin: 0; } +#woo-options-error h4 { margin: 1.33em 0 0.8em 0; } +input.woo-required {} +.woo-validating { background: url( "../images/loading-bottom.gif") no-repeat scroll right center transparent; padding-right: 18px; } +.woo-validated { background: url( "../images/happy.png") no-repeat scroll right center transparent; padding-right: 15px; } +.woo-validation-error { background: url( "../images/ico-alert.png") no-repeat scroll right center transparent; padding-right: 15px; } + +/*----------------------------------------------------------------------------------- + 4. Column Control +-----------------------------------------------------------------------------------*/ + +div.column-button { border: 1px solid #333333; width: 100px; margin: 4px 0; text-align: center; } +input.column-button[disabled], input.column-button[disabled]:hover { background-color: #fff !important; color: #aaa; border: 1px solid #eee; } +input.column-button { float: left; clear: left; margin-top: 2px; border: 1px solid #777777; background-color: #EEEEEE !important; } +.rounded5p { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; } +#woo-column-text { border: 1px solid #AAAAAA; font-size: 22px; font-family: Sans-serif; padding: 5px 40px 5px 5px; } + +/*----------------------------------------------------------------------------------- + 5. Form Elements +-----------------------------------------------------------------------------------*/ + +#woo-options input[type=text], #woo-options select { margin-bottom: 4px; border-color: #CCCCCC #EEEEEE #EEEEEE #CCCCCC; border-style: solid; border-width: 1px; background-color: #FAFAFA; font-family: "Lucida Grande",Verdana,sans-serif;height: 28px; width: 280px; color: #555555; font-size: 12px; } +#woo-options.shortcode-related input[type=text] { width: 560px; } +#woo-options.shortcode-contactform label { width: 130px; } +#woo-options.shortcode-column label {} +#woo-options.shortcode-contactform input[type=text] { width: 483px; } +#woo-options input[type=text] { padding: 5px; -moz-border-radius: 4px 4px 4px 4px; } +#woo-options select { cursor: pointer; opacity: 0; padding: 0; position: relative; z-index: 4; padding: 5px; } +#woo-options-table label { width: 89px; text-align: right; padding: 6px 6px 0 0; font-weight: bold; font-size: 11px; line-height: 12px; color: #333333; display: block; } +label.woo-required span.required {padding: 0 0 0 2px; margin-top: -4px; font-size: smaller; color: #FF0000; } +#woo-options .select_wrapper { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; font-family: "Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif; font-size: 12px; background: #fafafa url(../images/select.png) no-repeat right center; border-color: #ccc #eee #eee #ccc; border-style: solid; border-width: 1px; float: left; height: 26px; width: 280px; margin: 0 0 4px; display: block; } +#woo-options .select_wrapper span { height: 26px; line-height: 26px; padding-left: 6px; position: absolute; z-index: 2; } + +/*----------------------------------------------------------------------------------- + -5.1 Colour Picker +-----------------------------------------------------------------------------------*/ + +#woo-options .woo-marker-colourpicker-control .colorSelector { margin-top: 1px; } +#woo-options .woo-marker-colourpicker-control input.input-colourpicker { float: right; width: 248px; } +#woo-options .woo-marker-colourpicker-control br { clear: both; } \ No newline at end of file diff --git a/artificer/functions/css/shortcode-icon.css b/artificer/functions/css/shortcode-icon.css new file mode 100755 index 0000000..a64e55a --- /dev/null +++ b/artificer/functions/css/shortcode-icon.css @@ -0,0 +1,15 @@ +/* Icon Font */ +@font-face { + font-family: 'wooframework'; + src: url('../assets/fonts/wooframework.eot'); + src: url('../assets/fonts/wooframework.eot?#iefix') format('embedded-opentype'), url('../assets/fonts/wooframework.woff') format('woff'), url('../assets/fonts/wooframework.ttf') format('truetype'), url('../assets/fonts/wooframework.svg#wooframework') format('svg'); + font-weight: normal; + font-style: normal; +} +.mce-i-wf-shortcode-icon:before { + font-family: 'wooframework' !important; + content: "\e601"; + font-size: 1.1em !important; + position: relative; + top: 1px; +} \ No newline at end of file diff --git a/artificer/functions/css/shortcodes.css b/artificer/functions/css/shortcodes.css new file mode 100755 index 0000000..d5ce9ee --- /dev/null +++ b/artificer/functions/css/shortcodes.css @@ -0,0 +1,550 @@ +/*----------------------------------------------------------------------------------- + +TABLE OF CONTENTS: + +1. Info Boxes +2. Buttons +3. Columns +4. Tweetmeme +5. Twitter +6. Digg +7. Related Posts +8. Horizontal Rule +9. Quote +10. Icon Links +11. Facebook +12. Contact Form +13. Tabber +-13.1 Tabber Alternate Style - Boxed +-13.2 Tabber Alternate Style - Vertical +14. Dropcap +15. Content Toggle +-15.1 Toggle Alternate Style - White +16. Highlight and Abbreviation +17. List Styles - Unordered List +18. List Styles - Ordered List +19. Social Icon + +-----------------------------------------------------------------------------------*/ + +/*-------------------------------------------------------------------------------------------*/ +/* 1. Info Boxes */ +/*-------------------------------------------------------------------------------------------*/ +p.woo-sc-box, div.woo-sc-box {margin:1em 0 1.5em 0; padding:9px 10px 9px 50px; border-width:1px 0 1px 0; border-style:solid;color:#555;text-shadow:none;} +.woo-sc-box.none {border-width:0;} +.woo-sc-box.full {border-width:1px;} +.woo-sc-box.medium {padding:18px 20px 18px 50px; font-size:1.1em;} +.woo-sc-box.large {padding:25px 27px 25px 50px; font-size:1.2em; } +.woo-sc-box.rounded { -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; } +.woo-sc-box.alert { border-color:#f0baa2; background:#ffd9c8 url(../images/ico-alert.png) no-repeat 20px 45%; } +.woo-sc-box.download { border-color:#d4ebaf; background:#edfcd5 url(../images/ico-download.png) no-repeat 20px 45%; } +.woo-sc-box.tick { border-color:#d4ebaf; background:#edfcd5 url(../images/ico-tick.png) no-repeat 20px 45%; } +.woo-sc-box.info { border-color:#ccc; background:#eee url(../images/ico-info.png) no-repeat 20px 45%; } +.woo-sc-box.note { border-color:#efe3ae; background:#fef6d2 url(../images/ico-note.png) no-repeat 20px 45%; } +.woo-sc-box.normal { border-color:#ccc; background:#eee; padding:9px 15px;} + + +/*-------------------------------------------------------------------------------------------*/ +/* 2. Buttons */ +/*-------------------------------------------------------------------------------------------*/ +a.woo-sc-button { + font-family: sans-serif; + display: inline-block; + line-height: 1em; + padding: 6px 13px; + margin:0 .6em 1.5em 0; + border: 1px solid #4081af; + border-bottom-color: #20559a; + color: white !important; + text-align: center; + text-shadow: 0 -1px 0 hsla(0,0%,0%,.3); + text-decoration: none !important; + + /*Border radius*/ + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + + /*Background*/ + background-color: #237fd7; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #52a8e8), + color-stop(1, #2e76cf) + ); + background: -moz-linear-gradient( + center top, + #52a8e8 20%, + #2e76cf 100% + ); + + /*Box shadow*/ + -webkit-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + -moz-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; +} + +a.woo-sc-button.small { padding:2px 10px; font-size:0.9em;} +a.woo-sc-button.large { padding:7px 16px; font-size:1.4em;} +a.woo-sc-button.xl { padding:9px 20px; font-size:1.8em;} + +a.woo-sc-button:hover, +a.woo-sc-button.hover, +a.woo-sc-button.active { + text-decoration: none !important; + /*Background*/ + background: #0073d2; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #3e9ee5), + color-stop(1, #1666ca) + ); + background: -moz-linear-gradient( + center top, + #3e9ee5 20%, + #1666ca 100% + ); +} + +a.woo-sc-button:active, +a.woo-sc-button.active { + border-color: #20559a; + + /*Box shadow*/ + -webkit-box-shadow: inset 0 0 7px hsla(0,0%,0%,.3) /*Shine*/, + 0 1px 0 hsla(0, 100%, 100%, 1) /*Shadow*/; + -moz-box-shadow: inset 0 0 7px hsla(0,0%,0%,.3) /*Shine*/, + 0 1px 0 hsla(0, 100%, 100%, 1) /*Shadow*/; + box-shadow: inset 0 0 7px hsla(0,0%,0%,.3) /*Shine*/, + 0 1px 0 hsla(0, 100%, 100%, 1) /*Shadow*/; +} + +a.woo-sc-button.dark span { color:#555; text-shadow:0 1px #fff;} +a.woo-sc-button.custom:hover { opacity:0.85; } + +a.woo-sc-button span { line-height:1.2em; min-height: 16px; } +a.woo-sc-button span.woo-info { background:url( "../images/ico-info.png") no-repeat 0 45%; padding-left:25px; display:block; } +a.woo-sc-button span.woo-download { background:url( "../images/ico-download.png") no-repeat 0 45%; padding-left:25px; display:block; } +a.woo-sc-button span.woo-tick { background:url( "../images/ico-tick.png") no-repeat 0 45%; padding-left:25px; display:block; } +a.woo-sc-button span.woo-note { background:url( "../images/ico-note.png") no-repeat 0 45%; padding-left:25px; display:block; } +a.woo-sc-button span.woo-alert { background:url( "../images/ico-alert.png") no-repeat 0 45%; padding-left:25px; display:block; } + +a.woo-sc-button.red { + border-color: #af4040; border-bottom-color: #9a2020; background-color: #d72323; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e85252),color-stop(1, #cf2e2e)); + background: -moz-linear-gradient(center top,#e85252 20%,#cf2e2e 100%); +} +a.woo-sc-button.red:hover { + background: #d20000; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e53e3e),color-stop(1, #ca1616)); + background: -moz-linear-gradient(center top,#e53e3e 20%,#ca1616 100%); +} + +a.woo-sc-button.orange { + border-color: #af7440; border-bottom-color: #9a5420; background-color: #d76b23; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e88e52),color-stop(1, #cf6e2e)); + background: -moz-linear-gradient(center top,#e88e52 20%,#cf6e2e 100%); +} +a.woo-sc-button.orange:hover { + background: #d25e00; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e57d3e),color-stop(1, #ca5116)); + background: -moz-linear-gradient(center top,#e57d3e 20%,#ca5116 100%); +} + +a.woo-sc-button.green { + border-color: #87bf00; border-bottom-color: #7ca122; background-color: #8dc11e; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #ace53e),color-stop(1, #8dca16)); + background: -moz-linear-gradient(center top,#ace53e 20%,#6bca16 100%); +} +a.woo-sc-button.green:hover { + background: #87c000; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #a0d53a),color-stop(1, #60b513)); + background: -moz-linear-gradient(center top,#a0d53a 20%,#60b513 100%); +} + +a.woo-sc-button.aqua { + border-color: #40af96; border-bottom-color: #209a82; background-color: #23d7af; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #52e8c6),color-stop(1, #2ecfab)); + background: -moz-linear-gradient(center top,#52e8c6 20%,#2ecfab 100%); +} +a.woo-sc-button.aqua:hover { + background: #00d2a8; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #3ee5c0),color-stop(1, #16ca9e)); + background: -moz-linear-gradient(center top,#3ee5c0 20%,#16ca9e 100%); +} + +a.woo-sc-button.teal { + border-color: #23a6d6; border-bottom-color: #20799a; background-color: #23abd7; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #52c3e8),color-stop(1, #2eabcf)); + background: -moz-linear-gradient(center top,#52c3e8 20%,#2eabcf 100%); +} +a.woo-sc-button.teal:hover { + background: #009ed2; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #3ebce5),color-stop(1, #16a2ca)); + background: -moz-linear-gradient(center top,#3ebce5 20%,#16a2ca 100%); +} + +a.woo-sc-button.purple { + border-color: #234dd6; border-bottom-color: #20489a; background-color: #2356d7; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #526ee8),color-stop(1, #2e58cf)); + background: -moz-linear-gradient(center top,#526ee8 20%,#2e58cf 100%); +} +a.woo-sc-button.purple:hover { + background: #0036d2; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #3e5ae5),color-stop(1, #1638ca)); + background: -moz-linear-gradient(center top,#3e5ae5 20%,#1638ca 100%); +} + +a.woo-sc-button.pink { + border-color: #d623cb; border-bottom-color: #9a2096; background-color: #d723d5; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e852e6),color-stop(1, #cd2ecf)); + background: -moz-linear-gradient(center top,#e852e6 20%,#cd2ecf 100%); +} +a.woo-sc-button.pink:hover { + background: #bc00d2; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #c83ee5),color-stop(1, #ae16ca)); + background: -moz-linear-gradient(center top,#c83ee5 20%,#ae16ca 100%); +} + +a.woo-sc-button.silver { + color: #444 !important; + text-shadow:0 1px #fff; + border-color: #bbb; border-bottom-color: #999; background-color: #d8d8d8; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e9e9e9),color-stop(1, #ccc)); + background: -moz-linear-gradient(center top,#e9e9e9 20%,#ccc 100%); +} +a.woo-sc-button.silver:hover { + background: #ccc; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e0e0e0),color-stop(1, #bebebe)); + background: -moz-linear-gradient(center top,#e0e0e0 20%,#bebebe 100%); +} + + +/*-------------------------------------------------------------------------------------------*/ +/* 3. Columns */ +/*-------------------------------------------------------------------------------------------*/ +.twocol-one{width:48%;} +.threecol-one{width:30.66%;} +.threecol-two{width:65.33%;} +.fourcol-one{width:22%;} +.fourcol-two{width:48%;} +.fourcol-three{width:74%;} +.fivecol-one{width:16.8%;} +.fivecol-two{width:37.6%;} +.fivecol-three{width:58.4%;} +.fivecol-four{width:67.2%;} +.sixcol-one{width:13.33%;} +.sixcol-two{width:30.66%;} +.sixcol-three{width:47.99%;} +.sixcol-four{width:65.33%;} +.sixcol-five{width:82.67%;} +.twocol-one,.threecol-one,.threecol-two,.fourcol-one,.fourcol-two,.fourcol-three,.fivecol-one,.fivecol-two,.fivecol-three,.fivecol-four,.sixcol-one,.sixcol-two,.sixcol-three,.sixcol-four,.sixcol-five{float:left;margin-right:4%;margin-bottom:4%;position:relative;} +.last{clear:right;margin-right:0 !important;} +@media only screen and (max-width: 768px) { + .twocol-one,.threecol-one,.threecol-two,.fourcol-one,.fourcol-two,.fourcol-three,.fivecol-one,.fivecol-two,.fivecol-three,.fivecol-four,.sixcol-one,.sixcol-two,.sixcol-three,.sixcol-four,.sixcol-five{margin-right: 0; width: 100% !important;} +} + +/*-------------------------------------------------------------------------------------------*/ +/* 4. Tweetmeme */ +/*-------------------------------------------------------------------------------------------*/ +.woo-tweetmeme.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-tweetmeme.none { margin:0 0 1.5em 0; } +.woo-tweetmeme.right { margin:0 0 1.5em 1.5em; float:right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 5. Twitter */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-twitter.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-sc-twitter.none { margin:0 0 1.5em 0; } +.woo-sc-twitter.right { margin:0 0 1.5em 1.5em; float:right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 6. Digg */ +/*-------------------------------------------------------------------------------------------*/ +.woo-digg.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-digg.none { margin:0 0 1.5em 0; } +.woo-digg.right { margin:0 0 1.5em 1.5em; float:right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 7. Related posts */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-related-posts .thumbnail { float:left; margin:0 1em 1em 0;} +.woo-sc-related-posts li { clear:both; } + +/*-------------------------------------------------------------------------------------------*/ +/* 8. Horizontal Rule */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-hr { border-bottom:1px solid #e6e6e6; } +.woo-sc-hr, .woo-sc-divider { clear:both; display:block; margin-bottom:20px; padding-top:20px; width:100%; } +.woo-sc-divider.flat { padding:0; margin:0; } + +/*-------------------------------------------------------------------------------------------*/ +/* 9. Quote */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-quote p { margin: 1em 20px; padding: 0 0 0 55px; background: url(../images/quote.png) no-repeat 0 3px; font-family: serif; font-size: 1.2em; font-style: italic; color:#777; min-height: 32px; } +.woo-sc-quote.left { float:left; width:30%;} +.woo-sc-quote.right { float:right; width:30%;} +.woo-sc-quote.boxed { background: #f5f5f5; border-radius:6px;-moz-border-radius:6px;-webkit-border-radius:6px;} +.woo-sc-quote.boxed.left { margin: 0 1.5em 1em 0;} +.woo-sc-quote.boxed.right { margin: 0 0 1em 1.5em;} + +/*-------------------------------------------------------------------------------------------*/ +/* 10. Icon Links */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-ilink { padding:0 0.3em; } +.woo-sc-ilink a { padding-left:20px; text-decoration: underline; display: inline-block; } +.woo-sc-ilink a:hover { text-decoration: none; } +.woo-sc-ilink .download { background: url(../images/ico-download.png) no-repeat left 40%; } +.woo-sc-ilink .tick { background: url(../images/ico-tick.png) no-repeat left 40%; } +.woo-sc-ilink .info { background: url(../images/ico-info.png) no-repeat left 40%; } +.woo-sc-ilink .note { background: url(../images/ico-note.png) no-repeat left 40%; } +.woo-sc-ilink .alert { background: url(../images/ico-alert.png) no-repeat left 40%; } + +/*-------------------------------------------------------------------------------------------*/ +/* 11. Facebook */ +/*-------------------------------------------------------------------------------------------*/ +.woo-fbshare.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-fbshare.none { margin:0 0 1.5em 0; } +.woo-fbshare.right { margin:0 0 1.5em 1.5em; float:right; } + +.woo-fblike.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-fblike.none { margin:0 0 1.5em 0; } +.woo-fblike.right { margin:0 0 1.5em 1.5em; float:right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 12. Contact Form */ +/*-------------------------------------------------------------------------------------------*/ + +.contact-form .screenReader { left: -9999px; position: absolute; top: -9999px; } +.contact-form .forms {float:left;list-style:none;width:100%;margin:10px 0 0;} +.contact-form .forms p {clear:both;float:left;margin-bottom:18px;position:relative;width:100%} +.contact-form .forms label{cursor:pointer;display:block;float:left;font-weight:700;padding-right:20px;width:100px;} +.contact-form .forms input.txt{width:214px;} +.contact-form .forms input#sendCopy{border:none;} +.contact-form .forms textarea{height:300px;width:400px;} +.contact-form .forms .error{font-size:12px;display:block;margin-left:120px;color:red;} +.contact-form .forms .textarea .error{display:block; margin-left:120px} +.contact-form .forms .screenReader{margin-bottom:0;} +.contact-form .forms .buttons .submit{margin: 15px 0 0 120px; cursor:pointer; } +.contact-form .forms .inline input{width:auto;margin-left:120px;} +.contact-form .forms .inline label{display:inline;float:none;width:auto;} +.entry .contact-form ol.forms li { list-style: none; } /* Added to accomodate the contact form shortcode */ + +.contact-form .submit { + display: inline-block; + margin: 5px; + padding: 3px 13px; + border: 1px solid #4081af; + border-bottom-color: #20559a; + color: white !important; + text-align: center; + text-shadow: 0 -1px 0 hsla(0,0%,0%,.3); + text-decoration: none; + + /*Border radius*/ + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + + /*Background*/ + background: #237fd7; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #52a8e8), + color-stop(1, #2e76cf) + ); + background: -moz-linear-gradient( + center top, + #52a8e8 20%, + #2e76cf 100% + ); + + /*Box shadow*/ + -webkit-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + -moz-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; +} + +.contact-form .submit:hover { + text-decoration: none !important; + /*Background*/ + background: #0073d2; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #3e9ee5), + color-stop(1, #1666ca) + ); + background: -moz-linear-gradient( + center top, + #3e9ee5 20%, + #1666ca 100% + ); +} + +/*-------------------------------------------------------------------------------------------*/ +/* 13. Tabber */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-tabs { background:#f0f0f0; background:rgba(0,0,0,.05); clear: both; height:auto; display: block; padding:5px; margin-bottom:30px; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; } +.shortcode-tabs ul.tab_titles { padding:0px; background:none; border:none; margin:0;} +.shortcode-tabs ul.tab_titles li.nav-tab { background:none; padding:0; float: left; display:inline; color: #ffffff; margin:0px; cursor: pointer; } +.shortcode-tabs ul.tab_titles li.nav-tab.ui-tabs-selected a, .shortcode-tabs ul.tab_titles li.nav-tab a:hover { background:#fff; text-decoration:none; } +.shortcode-tabs ul.tab_titles li.nav-tab a { color:#777; display: block;float: left;padding: 8px; text-transform:uppercase; font:11px/18px sans-serif; } +.shortcode-tabs ul.tab_titles li.nav-tab.ui-tabs-selected a, .shortcode-tabs ul.tab_titles li.nav-tab a:hover { -moz-border-radius-topright:3px; -moz-border-radius-topleft:3px;-webkit-border-top-right-radius: 3px; -webkit-border-top-left-radius:3px; border-top-right-radius:3px; border-top-left-radius:3px; } +.shortcode-tabs .tab { background:#fff; padding:10px; text-align: left; clear: both; } +.shortcode-tabs .tab li.nav-tab { background:#fff; } +.shortcode-tabs .tab ul.tab_titles { margin:0; border: 1px solid #e6e6e6; border-width:1px 0 1px 0; } +.shortcode-tabs .tab li.nav-tab { border:1px solid #e6e6e6; border-width:0 1px 1px 1px; padding:10px; } +.shortcode-tabs .tab li.nav-tab a { color:#555; font:bold 12px/18px sans-serif; } +.shortcode-tabs .tab a:hover {} +.shortcode-tabs .ui-tabs-hide { display: none; } + +/*-------------------------------------------------------------------------------------------*/ +/* -13.1 Tabber Alternate Style - Boxed */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-tabs.boxed { background: #FFFFFF; } + .shortcode-tabs.boxed ul.tab_titles { clear: both; float: left; background:none; border:none; border-left: 1px solid #EBEBEB; margin-bottom: 0px; position: relative; z-index: 2; } + .shortcode-tabs.boxed ul.tab_titles li { background:none; padding:0; border-top: 1px solid #EBEBEB; border-right: 1px solid #EBEBEB; } + .shortcode-tabs.boxed ul.tab_titles li.ui-state-active { border-bottom: 1px solid #FFFFFF; } + .shortcode-tabs.boxed .tab { border: 1px solid #EBEBEB; top: -2px; position: relative; z-index: 1; } + +/*-------------------------------------------------------------------------------------------*/ +/* -13.2 Tabber Alternate Style - Vertical */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-tabs.vertical { background: #FFFFFF; } + .shortcode-tabs.vertical .tab_header { border: 1px solid #F0F0F0; border-bottom: 0px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; width: 25%; float: left; margin-bottom: -5px; color:#555; font:bold 12px/18px sans-serif; } + .shortcode-tabs.vertical .tab_header { + + /* Gradient Background */ + background: #f5f5f5; + background: -moz-linear-gradient(100% 100% 90deg, #f5f5f5, #fff); + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#f5f5f5)); + + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + -moz-border-radius-bottomright: 0px; + -moz-border-radius-bottomleft: 0px; + -webkit-border-bottom-left-radius: 0px; + -webkit-border-bottom-right-radius: 0px; + + } + .shortcode-tabs.vertical .tab_header span { display: block; padding: 8px 8px 12px 8px; border: 1px solid #EBEBEB; } + .shortcode-tabs.vertical ul.tab_titles { clear: left; float: left; background:none; border: 1px solid #F0F0F0; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; margin-bottom: 0px; position: relative; z-index: 2; width: 25%; } + .shortcode-tabs.vertical ul.tab_titles.has_title { border-top: 0px !important; margin-top: 5px; } + .shortcode-tabs.vertical ul.tab_titles.has_title { + + border-top-left-radius: 0px; + border-top-right-radius: 0px; + -moz-border-radius-topright: 0px; + -moz-border-radius-topleft: 0px; + -webkit-border-top-left-radius: 0px; + -webkit-border-top-right-radius: 0px; + + } + .shortcode-tabs.vertical ul.tab_titles li { clear: both; background:none; padding:0; border-bottom: 1px solid #EBEBEB; border-left: 1px solid #EBEBEB; border-right: 1px solid #EBEBEB; display: block !important; float: none !important; } + .shortcode-tabs.vertical ul.tab_titles li.ui-state-active {} + .shortcode-tabs.vertical ul.tab_titles li.ui-state-active a { background: #F0F0F0; background: rgba(0,0,0,.05); } + .shortcode-tabs.vertical ul.tab_titles li a:link { display: block; float: none !important; } + .shortcode-tabs.vertical ul.tab_titles li a:hover { background: #F0F0F0; background: rgba(0,0,0,.05); } + .shortcode-tabs.vertical .tab { clear: right !important; top: 5px; position: relative; z-index: 1; margin-left: 30%; padding: 0px; } + +/*-------------------------------------------------------------------------------------------*/ +/* 14. Dropcap */ +/*-------------------------------------------------------------------------------------------*/ + +span.dropcap { font-size: 300%; font-weight: bold; float: left; position: relative; margin:5px 7px 0 0; line-height: 0.7em; } + +/*-------------------------------------------------------------------------------------------*/ +/* 15. Content Toggle */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-toggle { margin: 0 0 1.2em;} +.shortcode-toggle h4 {margin: 0;} +.shortcode-toggle h4 a { display: block; padding: 3px 0 3px 10px; background: #f3f3f3 url(../images/shortcode-toggle-close.png) no-repeat 99% center; } +.shortcode-toggle.closed h4 a { background-image: url(../images/shortcode-toggle-open.png); } +.shortcode-toggle .toggle-content { padding: 10px 10px; background: #f9f9f9; } +.shortcode-toggle.closed .toggle-content, .shortcode-toggle .more-text.closed { display: none; } +.shortcode-toggle .more-text.open { display: block; } +.shortcode-toggle.border { border: 1px solid #EBEBEB; } + +/*-------------------------------------------------------------------------------------------*/ +/* -15.1 Content Toggle Alternate Style - White */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-toggle.white h4 a { background-color: #FFFFFF; } +.shortcode-toggle.white .toggle-content { background-color: #FFFFFF; } + +/*-------------------------------------------------------------------------------------------*/ +/* 16. Highlight and Abbreviation */ +/*-------------------------------------------------------------------------------------------*/ + +span.shortcode-highlight { background: #FFFFAA; padding: 3px 3px 1px; } + +abbr { border-bottom: 1px dashed #999999; cursor: help; } + +/*-------------------------------------------------------------------------------------------*/ +/* 17. List Styles - Unordered List */ +/*-------------------------------------------------------------------------------------------*/ + +.entry .shortcode-unorderedlist ul li, .shortcode-unorderedlist ul li, .entry .shortcode-unorderedlist ul li ul, .shortcode-unorderedlist ul li ul { + list-style-type: none; + padding-left:25px; + background: url() no-repeat scroll left top; +} + +.entry .shortcode-unorderedlist.tick ul li, .shortcode-unorderedlist.tick ul li { background: url(../images/shortcode-tick.png) no-repeat left top; } +.entry .shortcode-unorderedlist.red-x ul li, .shortcode-unorderedlist.red-x ul li { background: url(../images/shortcode-red-x.png) no-repeat left top; } +.entry .shortcode-unorderedlist.bullet ul li, .shortcode-unorderedlist.bullet ul li { background: url(../images/shortcode-bullet.png) no-repeat left top; } +.entry .shortcode-unorderedlist.green-dot ul li, .shortcode-unorderedlist.green-dot ul li { background: url(../images/shortcode-green-dot.png) no-repeat left top; } +.entry .shortcode-unorderedlist.arrow ul li, .shortcode-unorderedlist.arrow ul li { background: url(../images/shortcode-arrow.png) no-repeat left top; } +.entry .shortcode-unorderedlist.star ul li, .shortcode-unorderedlist.star ul li { background: url(../images/shortcode-star.png) no-repeat left top; } + +/*-------------------------------------------------------------------------------------------*/ +/* 18. List Styles - Ordered List */ +/*-------------------------------------------------------------------------------------------*/ + +.entry .shortcode-orderedlist ol li, .entry .shortcode-orderedlist ol li ol, .shortcode-orderedlist ol li { + list-style-type: none; + margin-left: 25px; + background: url() no-repeat scroll left top; +} + +.entry .shortcode-orderedlist.armenian ol li, .shortcode-orderedlist.armenian ol li { list-style-type: armenian; } +.entry .shortcode-orderedlist.decimal ol li, .shortcode-orderedlist.decimal ol li { list-style-type: decimal; } +.entry .shortcode-orderedlist.decimal-leading-zero ol li, .shortcode-orderedlist.decimal-leading-zero ol li { list-style-type: decimal-leading-zero; } +.entry .shortcode-orderedlist.georgian ol li, .shortcode-orderedlist.georgian ol li { list-style-type: georgian; } +.entry .shortcode-orderedlist.lower-alpha ol li, .shortcode-orderedlist.lower-alpha ol li { list-style-type: lower-alpha; } +.entry .shortcode-orderedlist.lower-greek ol li, .shortcode-orderedlist.lower-greek ol li { list-style-type: lower-greek; } +.entry .shortcode-orderedlist.lower-latin ol li, .shortcode-orderedlist.lower-latin ol li { list-style-type: lower-latin; } +.entry .shortcode-orderedlist.lower-roman ol li, .shortcode-orderedlist.lower-roman ol li { list-style-type: lower-roman; } +.entry .shortcode-orderedlist.upper-alpha ol li, .shortcode-orderedlist.upper-alpha ol li { list-style-type: upper-alpha; } +.entry .shortcode-orderedlist.upper-latin ol li, .shortcode-orderedlist.upper-latin ol li { list-style-type: upper-latin; } +.entry .shortcode-orderedlist.upper-roman ol li, .shortcode-orderedlist.upper-roman ol li { list-style-type: upper-roman; } + +/*-------------------------------------------------------------------------------------------*/ +/* 19. Social Icon */ +/*-------------------------------------------------------------------------------------------*/ + +img.social-icon { border: none; } \ No newline at end of file diff --git a/artificer/functions/css/tumblog.css b/artificer/functions/css/tumblog.css new file mode 100755 index 0000000..9a25114 --- /dev/null +++ b/artificer/functions/css/tumblog.css @@ -0,0 +1,146 @@ +/* +* Tumblog CSS +*/ + +/* Editor Styling +----------------------------------*/ + +#tumblog-menu { margin: 10px 0 0; padding: 0 0 0 0; } +#tumblog-menu a { margin: 0 5px 5px 0; background-color: #f1f1f1!important; border:1px solid #dcdcdc; line-height: 40px; padding: 6px 10px 6px 0; -moz-border-radius-bottomleft:4px; -moz-border-radius-bottomright:4px; -moz-border-radius-topleft:4px; -moz-border-radius-topright:4px; } +#tumblog-menu a:hover { background-color: #e7e7e7!important; } +#tumblog-menu #articles-menu-button { padding-left: 33px; background: url(../images/btn-tumblog-note.png) no-repeat 10px center; } +#tumblog-menu #images-menu-button { padding-left: 39px; background: url(../images/btn-tumblog-image.png) no-repeat 10px center; } +#tumblog-menu #links-menu-button { padding-left: 44px; background: url(../images/btn-tumblog-link.png) no-repeat 10px center; } +#tumblog-menu #audio-menu-button { padding-left: 28px; background: url(../images/btn-tumblog-audio.png) no-repeat 10px center; } +#tumblog-menu #videos-menu-button { padding-left: 36px; background: url(../images/btn-tumblog-video.png) no-repeat 10px center; } +#tumblog-menu #quotes-menu-button { padding-left: 41px; background: url(../images/btn-tumblog-quote.png) no-repeat 10px center; } +#tumblog-menu #chat-menu-button { padding-left: 26px; display: none; } + +#tumblog-post { position: relative; } +#tumblog-post h4 { font-family: "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif; font-weight: bold; } +#article-fields, #video-fields, #image-fields, #link-fields, #audio-fields, #quote-fields, #tag-fields { margin: 15px 0 0 0; } +#article-fields input, #video-fields input, #image-fields input, #link-fields input, #audio-fields input, #quote-fields input, +#article-fields textarea, #video-fields textarea, #image-fields textarea, #link-fields textarea, #audio-fields textarea, #quote-fields textarea, #tag-fields input { +margin: 4px 0 13px 0; cursor: pointer; +-moz-border-radius-bottomleft:4px; +-moz-border-radius-bottomright:4px; +-moz-border-radius-topleft:4px; +-moz-border-radius-topright:4px; border: 1px solid #DFDFDF!important; +width: 100%; } + +#article-fields input, #video-fields input, #image-fields input, #link-fields input, #audio-fields input, #quote-fields input, #tag-fields input { padding-top: 6px; padding-bottom: 3px; } + +#tumblog-post h4 label { padding: 0 20px 0 0; } +#tumblog-post h4 #image-url-button, #tumblog-post h4 #image-upload-button, #tumblog-post h4 #audio-url-button, #tumblog-post h4 #audio-upload-button { padding: 0 0 0 20px; font-family: Georgia, serif; font-style: italic; font-weight: normal;} + +#ajax-loader { position: absolute; top: 10px; right: 10px; } +#tumblog-post .error { display: block; padding-top: 8px; padding-bottom: 8px; font-weight: bold; } +#tumblog-post .success { -moz-border-radius-bottomleft:3px; +-moz-border-radius-bottomright:3px; +-moz-border-radius-topleft:3px; +-moz-border-radius-topright:3px; background-color: #c5f0bf; border: 1px solid #2b931d; display: block; padding-left: 10px; padding-top: 8px; padding-bottom: 8px; font-weight: bold; } + +#content-fields { margin: 0 0 10px 0; } + +#image_upload_button, #audio_upload_button { +cursor: pointer!important; width: 200px!important; +} + +.hide-fields { +display: none; +} + +#quicktags { +background-color:#DFDFDF; +border-color:#DFDFDF; +} +#ed_toolbar input { +border-color:#C3C3C3; +} +#ed_toolbar input:hover { +-moz-background-clip:border; +-moz-background-inline-policy:continuous; +-moz-background-origin:padding; +background:#DDDDDD none repeat scroll 0 0; +border-color:#AAAAAA; +} +#content-fields .wp_themeSkin .mceStatusbar { +border-color:#EDEDED; +} +#content-fields #edButtonPreview, #content-fields #edButtonHTML { +background-color:#F1F1F1; +border-color:#DFDFDF; +color:#999999; +} +#content-fields #editor-toolbar .active { +background-color:#E9E9E9; +border-bottom-color:#E9E9E9; +color:#333333; +} + +#content-fields #add-media-button { +float:right; +margin:7px 0 0; +position:relative; +right:10px; +} +#content-fields #editor-toolbar { +height:30px; +} +.wp_themeSkin tr.mceFirst td.mceToolbar { +border-style:none none solid; +border-width:0 0 1px; +} +#edButtonPreview, #edButtonHTML { +-moz-border-radius-bottomleft:0; +-moz-border-radius-bottomright:0; +-moz-border-radius-topleft:3px; +-moz-border-radius-topright:3px; +border-style:solid; +border-width:1px; +cursor:pointer; +float:right; +height:18px; +margin:5px 5px 0 0; +padding:4px 5px 2px; +} +.js .theEditor { +color:white; +} +#content-fields #edButtonHTML { +margin-right:15px; +} +#media-buttons { +cursor:default; +padding:8px 8px 0; +} +#media-buttons a { +cursor:pointer; +padding:0 0 5px 10px; +} +#media-buttons img, #submitpost #ajax-loading { +vertical-align:middle; +} + +.tumblog-title { +-moz-border-radius-bottomleft:6px; +-moz-border-radius-bottomright:6px; +-moz-border-radius-topleft:6px; +-moz-border-radius-topright:6px; +border-style:solid; +border-width:1px; +font-size:1.7em; +outline-color:-moz-use-text-color; +outline-style:none; +outline-width:medium; +padding:3px 4px; +width:100%; +} + +.editorwidth { width:100% !important; } + +.hide-cat { display:none; } + +#advanced-options-toggle { float:right; cursor:pointer; } + +.tumblog-time { width:30px; } \ No newline at end of file diff --git a/artificer/functions/css/woo-custom-fields.css b/artificer/functions/css/woo-custom-fields.css new file mode 100755 index 0000000..fee10a1 --- /dev/null +++ b/artificer/functions/css/woo-custom-fields.css @@ -0,0 +1,106 @@ +/*------------------------------------------------------------------------------------- + +TABLE OF CONTENTS + +0. Tab Styling +0.1 Tab Icons +1. General Field Styling +2. Fields Table Layout +3. "Image" Selectors +4. "DatePicker" Fields +5. "Upload" Fields +6. "Timestamp" Fields + +-------------------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------------*/ +/* 0. Tab Styling */ +/*-----------------------------------------------------------------------------------*/ + +.wooframework-tabs, +#woothemes-settings .ui-tabs.ui-widget-content, +#woothemes-settings .ui-tabs-panel.ui-widget-content, +#woothemes-settings .ui-tabs .ui-state-default, +#woothemes-settings .ui-tabs .ui-widget-content .ui-state-default { border: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } +.wooframework-tabs .ui-tabs-nav li { display: inline; margin: 5px 0; padding: 5px; } +#woothemes-settings .ui-tabs-hide { display: none !important; } +#woothemes-settings .wooframework-tabs .ui-tabs-nav { background:#eaeaea;padding:3px 9px 0;margin:0;overflow:hidden;zoom:1;line-height:1em;-webkit-box-shadow:inset 0 -1px 0 0 #d5d5d5;-moz-box-shadow:inset 0 -1px 0 0 x #d5d5d5;box-shadow:inset 0 -1px 0 0 #d5d5d5; } +.wooframework-tabs .ui-tabs-nav li { float:left;padding:0;margin:0 5px 0 0; } +.wooframework-tabs .ui-tabs-nav li a { padding:0;margin:0;border:0;border:1px solid #d5d5d5;border-bottom:0;float:left;padding:9px 9px;text-decoration:none;color:#555;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;-webkit-box-shadow:inset 0 1px 0 1px rgba(255, 255, 255, 0.5);-moz-box-shadow:inset 0 1px 0 1px rgba(255, 255, 255, 0.5);box-shadow:inset 0 1px 0 1px rgba(255, 255, 255, 0.5); } +.wooframework-tabs .ui-tabs-nav li.ui-state-active {} +#woothemes-settings .wooframework-tabs .ui-tabs-nav li.ui-state-active a { background-color:#F8F8F8;color:#555; } +#woothemes-settings.postbox .inside, .ui-tabs .ui-widget-content { background: #F8F8F8; padding: 0; margin: 0; } + +/*-----------------------------------------------------------------------------------*/ +/* 0.1 Tab Icons */ +/*-----------------------------------------------------------------------------------*/ + +#woothemes-settings .wooframework-tabs .tabber li a { background-image: url(../images/wf-tab-icons.png); background-color: #ececec; background-repeat: no-repeat; background-position: 9px 9px; } +#woothemes-settings .wooframework-tabs .tabber li.wf-tab-general a { background-position: 9px 9px; padding-left: 30px; } +#woothemes-settings .wooframework-tabs .tabber li.wf-tab-seo a { background-position: -289px -40px; padding-left: 30px; } + +/*-----------------------------------------------------------------------------------*/ +/* 1. General Field Styling */ +/*-----------------------------------------------------------------------------------*/ + +.woo_input_text { margin: 0 0 10px 0; background: #f4f4f4; color: #444; width: 80%; font-size: 11px; padding: 5px; } +.woo_input_select { margin: 0 0 10px 0; background: #f4f4f4; color: #444; width: 60%; font-size: 11px; padding: 5px; } +.woo_input_checkbox { margin: 0 10px 0 0; } +.woo_input_radio { margin: 0 10px 0 0; } +.woo_input_radio_desc { font-size: 12px; color: #666; } +.woo_input_calendar { margin: 0 0 10px 0; } +.woo_input_textarea { width: 80%; height: 120px; margin: 0 0 10px 0; background: #f0f0f0; color: #444;font-size: 11px; padding: 5px; } + +/*-----------------------------------------------------------------------------------*/ +/* 2. Fields Table Layout */ +/*-----------------------------------------------------------------------------------*/ + +.woo_spacer { display: block; height: 5px; } +.woo_metabox_desc { font-size: 10px; color: #aaa; display: block; } +.woo_metaboxes_table{ border-collapse: collapse; width: 100%; } +.woo_metaboxes_table th { font-size: 12px; font-family: sans-serif; color: #222222; } +.woo_metaboxes_table th, +.woo_metaboxes_table td { border-bottom: 1px solid #ddd; padding: 10px 10px; text-align: left; vertical-align: top; } +.woo_metaboxes_table .last th, .woo_metaboxes_table .last td { border: 0; } +.woo_metabox_names { width: 20%; } +.woo_metabox_fields { width: 70%; } + +/*-----------------------------------------------------------------------------------*/ +/* 3. "Image" Selectors */ +/*-----------------------------------------------------------------------------------*/ + +.woo-meta-radio-img-img { border: 3px solid #dedede; margin: 0 5px 10px 0; display: none; cursor: pointer; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } +.woo-meta-radio-img-img:hover, .woo-meta-radio-img-selected { border: 3px solid #aaa; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } +.woo-meta-radio-img-label { font-size: 12px; } +.woo_metabox_desc span.counter { color: green !important; } +.woo_metabox_image { text-align: right; } +.woo_red_note { margin-left: 5px; color: #c77; font-size: 10px; } + +/*-----------------------------------------------------------------------------------*/ +/* 4. "DatePicker" Fields */ +/*-----------------------------------------------------------------------------------*/ + +.woo-field-type-calendar img.ui-datepicker-trigger { margin: 0 0 0 5px; top: 3px; position: relative; } + +/*-----------------------------------------------------------------------------------*/ +/* 5. "Upload" Fields */ +/*-----------------------------------------------------------------------------------*/ + +.woo_metabox_fields .controls input.upload { width: 280px; padding-bottom: 6px; } +.woo_metabox_fields .controls input.upload_button { float: right; width: auto; border-color: #BBBBBB; cursor: pointer; height: 16px; } +.woo_metabox_fields .controls input.upload_button:hover { width: auto; border-color: #666666; color: #000; } +.woo_metabox_fields .screenshot { margin: 10px 0; float: left; margin-left: 1px; position: relative; width: 344px; } +.woo_metabox_fields .screenshot img { -moz-border-radius: 4px; -webkit-border-radius: 4px; -border-radius: 4px; background: #FAFAFA; float: left; max-width: 334px; border-color: #CCC #EEE #EEE #CCC; border-style: solid; border-width: 1px; padding: 4px; } +.woo_metabox_fields .screenshot .mlu_remove{ background: url( '../images/ico-delete.png' ) no-repeat scroll 0 0 transparent; border: medium none; bottom: -4px; display: block; float: left; height: 16px; position: absolute; left: -4px; text-indent: -9999px; width: 16px; padding: 0; } +.woo_metabox_fields .upload { background: none repeat scroll 0 0 #F4F4F4; color: #444444; font-size: 11px; margin: 0 0 10px; padding: 5px; width: 70%; } +.woo_metabox_fields .upload_button { -moz-border-radius: 4px; -webkit-border-radius: 4px;-border-radius: 4px; } +.woo_metabox_fields .screenshot .no_image .file_link { margin-left: 20px; } +.woo_metabox_fields .screenshot .no_image .mlu_remove { bottom: 0px; } + +/*-----------------------------------------------------------------------------------*/ +/* 6. "Timestamp" Fields */ +/*-----------------------------------------------------------------------------------*/ + +.woo-field-type-timestamp img.ui-datepicker-trigger { margin: 0 0 0 5px; top: 6px; right: 6px; position: relative; float: left; } +.woo-field-type-timestamp .woo_metabox_desc { margin-top: 5px; } +.woo-field-type-timestamp .woo-timestamp-at { position: relative; top: 2px; } \ No newline at end of file diff --git a/artificer/functions/functions-changelog.txt b/artificer/functions/functions-changelog.txt new file mode 100755 index 0000000..694613e --- /dev/null +++ b/artificer/functions/functions-changelog.txt @@ -0,0 +1,1521 @@ +*** WooThemes Framework Changelog ** + +2014.04.17 - version 5.5.6 + * Fix - Adds support for TinyMCE 4.0 in WordPress 3.9, on the shortcode generator. + admin-shortcode-generator.php + /js/shortcode-generator/editor_plugin_39.js + /js/shortcode-generator/js/dialog-js.php + +2013.03.05 - version 5.5.5 + * admin-functions.php - Improved function to process all used Google fonts and output single link tag for all of them + +2013.02.06 - version 5.5.4 + * admin-shortcodes.php - Added global variable for storing used Google fonts and removed preg_match for custom typography in each post + * admin-functions.php - Added function to process all used Google fonts and output single link tag for all of them + +2012.12.20 - version 5.5.3 + * admin-interface.php - Added Thin and Thin/Italic to typography options. + * admin-style.css - Fixed styling of typography preview button. + * admin-init.php - Code clean-up and maintenance. woo_version() function now uses wooframework_get_theme_version_data() to retrieve theme data, and outputs a "generator" tag for the child theme as well, if one is in use. Load the shortcode generator and backup manager only in the WordPress admin. + * admin-framework-settings.php - Remove legacy logic that retrieved theme name and version data. + * admin-interface.php - Remove legacy logic that retrieved theme name and version data. + * admin-express-functions.php, + admin-express-functions-deprecated.php - Replace deprecated calls to wp_get_single_post() with get_post(). + * admin-functions.php - Use wp_get_image_editor() for image resizing if using vt_resize() with WordPress 3.5. + * thumb.php - TimThumb version 2.8.11 + +2012.12.06 - version 5.5.2 + * admin-setup.php - Updated docblocking to standard formatting. Overall code clean-up and optimisation. Fixed "undefined index 'id'" notice in PHP 5.4.x. + * admin-interface.php - Fixed "illegal offset 'version'" notice in PHP 5.4.x. Added time_masked field. + * admin-hooks.php - Fixed "Creating default object from empty value" notice in PHP 5.4.x. Code clean-up and optimisation. Updated docblocking to standard formatting. + * admin-custom.php - Updated docblocking to standard formatting. Added capability check when saving custom fields. Added time_masked field. + * admin-functions.php - Add notice banner to "Theme Options" screen if a static front page is in use. Add "alt-style-X" body CSS class for the current alt style in use. + * admin-style.css - Adds styling for the "static front page" notice banner. + * /js/woo-custom-fields.js - changed the selector from time to time_masked for the legacy time field + +2012.11.22 - version 5.5.1 + * admin-functions.php - Adjust woo_image() to better calculate the height of an attached image, if no height is specified. + * admin-style.css - Updated styling of the "Upload" button for WordPress 3.5 compatibility. + +2012.11.05 - version 5.5.0 + * /classes/class-wp-app-store-installer.php - Remove WP App Store installer bridge. + * admin-init.php - Remove call to WP App Store installer bridge. + * admin-functions.php - Fix woo_pagination() for search queries and for taxonomy archives, to ensure query is preserved correctly. Fix over-escaping in cleanSource(). Fix grammer error in WooDojo notice in theme options. + * admin-seo.php - Removed all logic for WooSEO admin screen. + * admin-sbm.php - Remove all logic for the Sidebar Manager admin screen. Make sure "woo_sidebar()" returns "dynamic_sidebar()". + * admin-interface.php - Remove "SEO" admin menu screen for WooSEO and "Sidebar Manager" admin menu screen for Sidebar Manager. + * admin-framework-settings.php - Remove "Disable SEO Menu Item" and "Disable Sidebar Manager Menu Item" settings. + * admin-style.css - Remove Sidebar Manager CSS styles. + * admin-backup.php - Code maintenance. Remove "Sidebar Manager" and "SEO" from backed up data. Add scope to each class property and method. + +2012.09.12 - version 5.4.2 + * admin-init.php - Fix theme version display in meta tag hooked onto wp_head. + * admin-interface.php - Fix theme version display in admin interface header. Fix version number in theme update check when using a child theme. + * admin-sbm.php - Fix theme version display in admin interface header. + * admin-seo.php - Fix theme version display in admin interface header. + * admin-framework-settings.php - Fix theme version display in admin interface header. + * admin-setup.php - Escape stylesheet URLs in the woo_output_custom_css() and woo_output_alt_stylesheet() functions. + * admin-functions.php - Adjust escaping logic inside woo_image(). Fixes display of the "title" attribute. Add functions to retrieve and display the theme version data in the admin interface header. Clarify where in the theme the "thumb.php" file can be found and removed from. Set default login logo height to 67 if the height dimension isn't calculated correctly. Make sure vt_resize() doesn't try to sanitize the full image path as if it were a filename. + * admin-shortcodes.php - Fix custom background and border colour options in the [button] shortcode, and the icon="none" option in the [box] shortcode. Fix [twitter] shortcode to ensure attributes are applied correctly. Examine all shortcodes and remove over-escaping on attribute groups. + +2012.09.10 - version 5.4.1 + * admin-functions.php - Fixed bug for Google Analytics output. + +2012.08.31 - version 5.4.0 + * - SECURITY UPDATE - Sucuri Security Code Audit update + * - Various security checks and improvements were made including attribute escaping, direct file access prevention, code optimization and deprecation. + * *.php - Added direct file access security check for all php files. + * admin-custom.php - Security improvements. + * admin-custom-nav.php - Deprecated old functionality including WooNav and all related assets. + * admin-framework-settings.php - Deprecated old functionality. + * admin-functions.php - Added additional fonts, general cleanup of code, retired WooNav and all related assets, fixed all error notices, security improvements,. + * admin-hooks.php - Fixed error notice for undefined object for $query_context + * admin-init.php - Deprecated old functionality. + * admin-interface.php - Deprecated old functionality including WooNav and all related assets, security improvements. + * admin-sbm.php - Deprecated old functionality, security improvements. + * admin-seo.php - Deprecated old functionality, security improvements. + * admin-shortcodes.php - Security improvements. Fixed bug in Twitter Follow shortcode to resolve display of the Twitter button. + * admin-style.css - Deprecation notices styles. + * css/shortcodes.css - Made column shortcodes responsive. + * classes/class-wp-app-store-installer.php - added WP App Store installer class + * js/jquery.maskedinput.js - Security improvements. + * js/shortcode-generator/dialog.php - Security improvements. + * js/shortcode-generator/js/dialog.js.php - Security improvements. + +2012.04.29 - version 5.3.12 - critical + * - SECURITY UPDATE - Make sure the shortcode preview file's code is removed correctly upon WooFramework upgrade. + * admin-setup.php - Add extra sanitization to the alternate styles loader. + * /js/shortcode-generator/preview-shortcode-external.php - Make sure the file is empty (aside from a short error message) and that all vulnerable code is removed successfully. + * admin-functions.php - added "Bitter" Google font + +2012.04.29 - version 5.3.11 - critical + * - SECURITY UPDATE - Shortcode preview feature removed in previous version due to potential exploit. + * admin-functions.php - Make sure PressTrends banner displays only for PressTrends-enabled themes. + +2012.04.25 - version 5.3.10 + * /images/ico-presstrends-banner.png - Logo for the PressTrends banner. + * admin-interface.php - Bump version number of admin-style.css enqueue to 5.3.10. + * admin-functions.php - Add PressTrends banner, displayed upon first activation of a theme with a PressTrends key. + * admin-style.css - Add styling for the PressTrends banner. + +2012.04.24 - version 5.3.9 - critical + * admin-custom.php - Make sure to check if a post type is set before running the nonce check in the custom fields saving logic (this fixes the conflict on the WordPress Menus screen). + +2012.04.23 - version 5.3.8 - critical + * /js/shortcode-generator/js/dialog-js.php - Removed all functionality relating to the shortcode preview. + * /js/shortcode-generator/editor_plugin.js - Remove non-required woo_js_querystring() functionality and add extra security layer to the dialog popup. + * /js/shortcode-generator/dialog.php - Add extra security layer to the dialog popup window. + * /js/shortcode-generator/preview-shortcode-external.php - REMOVED + * admin-shortcode-generator.php - Removed non-essential testing method (not previously used) and added extra security layer. + * admin-custom.php - Add extra security layer to the custom fields meta box. Make sure it's possilbe to display the "SEO" fields, even if there are no "General Settings" fields for a post type. Remove check on 0-indexed array key. + +2012.04.16 - version 5.3.7 - critical + * /js/shortcode-generator/preview-shortcode-external.php - Escape URLs to JavaScript files and update jQuery in use to V1.7.2. + * /js/shortcode-generator/dialog.php - Escape URLs to JavaScript files. + * admin-setup.php - Make sure, when loading an alternate style via the query variable, to include /css/layout.css if the current theme contains the file, when loading the "default" alternate style. + +2012.04.16 - version 5.3.6 + * thumb.php - updated TimThumb 2.8.10 + +2012.04.12 - version 5.3.5 + * admin-interface.php - Add jquery ui slider as a theme option control + * admin-style.css - Added styling for the jquery ui slider. + * /js/woo-admin-interface.js - Add jquery ui slider as a theme option control + +2012.04.02 - version 5.3.4 + * admin-setup.php - Add "activated=true" to the theme activation redirect URL. + * admin-interface.php - Add custom "wooframework_container_inside" action to the admin interface straight inside #woo_container. + * admin-functions.php - Add WooDojo banner advert logic for the Theme Options screen. + * admin-style.css - Added styling for the WooDojo banner. + * /js/woo-admin-interface.js - Add confirmation popup on banner "close" button. + +2012.03.16 - version 5.3.3 + * admin-functions.php - Cater for static front pages that use the /page/ permastruct for pagination, when determining the page number to display inside woo_title(). + +2012.03.12 - version 5.3.2 + * admin-custom.php - Make sure the SEO custom fields don't display if the "use 3rd party plugin data" checkbox is checked. Prevent foreach() error message. + * admin-shortcodes.php - Add "show_default_fields" setting to the [contact_form] shortcode, to disable the default Name, E-mail and Message fields. + +2012.03.06 - version 5.3.1 + * thumb.php - fixed timthumb-config.php path to look in theme root folder. + +2012.02.22 - version 5.3.0 + * admin-interface.php - Make sure that selected theme options aren't updated if the user doesn't have the "unfiltered_html" capability. + * admin-custom.php - Add tabbing to custom fields meta box. Move "SEO" fields into a tab instead of their own meta box. + * /css/woo-custom-fields.css - Add styling for custom fields tabs. + * /images/wf-tab-icons.png - Add image for tab icons. + * /js/woo-custom-fields.js - Add JavaScript logic for custom field tabs. + +2012.02.21 - version 5.2.3 + * admin-shortcodes.php - Added locale field to fblike shortcode. + * /js/shortcode-generator/shortcodes/fblike.js - Added locale field to fblike shortcode generator. + +2012.02.17 - version 5.2.2 + * thumb.php - TimThumb version 2.8.5 revert since 2.8.7 failed to work for many. + +2012.02.13 - version 5.2.1 + * admin-shortcodes.php - Update twitter and twitter_follow shortcodes with adjustments to the Twitter buttons API. + * /js/shortcode-generator/shortcodes/twitter.js - Update generator for the twitter shortcode to include new options and remove legacy options no longer supported by Twitter. + * /js/shortcode-generator/shortcodes/twitter_follow.js - Update generator for the twitter shortcode to include new options and remove legacy options no longer supported by Twitter. + * thumb.php - TimThumb version 2.8.7 + +2012.02.09 - version 5.2.0 + * admin-shortcodes.php - Add Pinterest "Pin It" button shortcode. + * /js/shortcode-generator/editor_plugin.js - Add Pinterest shortcode to the dropdown menu. + * /js/shortcode-generator/shortcodes/pinterest.js - Add generator function for the Pinterest "Pin It" button shortcode. + +2012.02.08 - version 5.1.8 + * admin-interface.php - Fix bug in theme update notification where full version number was not being returned correctly. + +2012.02.07 - version 5.1.7 + * admin-functions.php - Replace the_content filter in woo_embed() with woo_embed filter and apply the do_shortcode function to it. Convert PHP strings in the Twitter JavaScript code to use esc_attr_e() instead of _e(). + +2012.02.04 - version 5.1.6 + * admin-functions.php - Make sure woo_breadcrumbs() doesn't try to find the parent trail items if the path is '/'. Adjust the CSS of the login logo to override custom logos set by default in some themes. + +2012.01.28 - version 5.1.5 + * admin-interface.php - Remove trailing slash from "Update Framework" link in the Framework update admin notice. + * admin-functions.php - Force raw permastruct in woo_pagination() when on search results screens, to make multi-word search links more accurate. + +2012.01.24 - version 5.1.4 + * admin-custom.php - Optimise the layout of the "timestamp" custom field. + * /js/woo-custom-fields.js - Optimise the datepicker initialization logic for the custom fields. + * /js/woo-admin-interface.js - Fix bug in typography field unit switching when switching from "em" to "px". Added Century Gothic font. + * /css/woo-custom-fields.css - Adjust the CSS for the "timestamp" custom field. + * admin-interface.php - Optimise the layout of the "timestamp" field type. Make sure the "typography" field type takes the default settings if none are stored. Optimise how typography data is constructed before save. + * admin-style.css - Optimise styling for the "timestamp" field type. + * admin-functions.php - Output title using wp_title() with WP SEO plugin + * admin-style.css - fixed radio button styling + +2012.01.19 - version 5.1.3 + * admin-functions.php - woo_image() added fix to remove height="" so images show in IE + +2012.01.18 - version 5.1.2 + * thumb.php - new version of TimThumb 2.8.5 + +2012.01.17 - version 5.1.1 + * admin-functions.php - Revert WooFramework update checker to previous version of the code (from V4.9.0). + +2012.01.12 - version 5.1.0 + * admin-framework-settings.php - Added options under "Branding" to customise the URL and image title on the WordPress login screen. Gettext all Framework Settings and interface strings. + * admin-functions.php - Added logic to customise the URL and image title on the WordPress login screen. + * admin-setup.php - Check for and use custom.css from the child theme if it's present. + * admin-interface.php - Added div around radio button option to style + * admin-style.css - Fixed radio button label alignment bug + +2011.12.22 - version 5.0.3 + * admin-functions.php - changed wp_title() to use same code as TwentyEleven for outputting title when using 3rd party SEO. + * admin-interface.php - removed trailing slash from framework update notification URL + * admin-interface.php, + admin-style.css - tweaked new options styling to look better with no icon and two line heading + +2011.12.15 - version 5.0.2 + * admin-functions.php - Revise styling of custom login logo for WordPress 3.3. + * admin-style.css - Options panel left menu positioning fix. Tweak padding on left menu items. + * admin-shortcodes.css - fixed typo topkeft + +2011.12.13 - version 5.0.1 + * admin-style.css - Resolve styling conflict between new theme options interface and the Sidebar Manager. + * admin-interface.php - Removed $value['icon'] call from subheadings. + * admin-seo.php, admin-functions.php - Changed the default meta value to 'follow' instead of 'nofollow'. + +2011.12.07 - version 5.0.0 + * admin-functions.php - Replaced get_the_content() with $post->post_content in woo_meta(), to avoid additional injected logic being displayed. Wrap it in strip_tags() and strip_shortcodes(). Refined woo_get_fw_version() with better error handling. Added urlencode() around the search query in woo_pagination when using the default "raw" search permastruct. Added variants to the "Rokkit" Google WebFont. + * admin-interface.php - Refined woothemes_version_checker() with better error handling. Adjusted WooThemes Machine to build a multi-dimensional array of the menu items for the interface navigation. Changed version number of interface JavaScript to 5.0.0 to force refresh to latest version of the file. First version of the "timestamp" field type. + * admin-shortcodes.php - Added [stumbleupon] shortcode. Added optional unique ID parameter to tabber shortcode. + * admin-custom.php - Added first version of the "timestamp" custom field type. + * /css/woo-custom-fields.css - Added styling for the "timestamp" field type. + * /js/shortcodes.js - Added "tab auto-selection via hash" logic to tabber shortcode JavaScript. Uses #tab-id on the URL to automatically select the specified tab (unique ID required on tabber). + * /js/shortcode-generator/shortcodes/stumbleupon.js - Added generator for the [stumbleupon] shortcode. + * /js/shortcode-generator/shortcodes/tab.js - Added "unique ID" parameter to tabber shortcode generator. + * /js/shortcode-generator/editor_plugin.js - Added [stumbleupon] shortcode to the shortcodes menu. + * /js/woo-admin-interface.js - Added JavaScript logic to handle the sub-menus, as well as fly-out menus for closed menus with sub-menu items. + * admin-style.css - Added basic styling for hiding fly-out menus when not applicable, as well as positioning the fly-out menus. + * thumb.php - latest version of TimThumb 2.8.4 + * admin-framework-settings.php - Updated "Admin Bar" text to read "WordPress Toolbar". + +2011.11.25 - version 4.9.2 + * admin-custom.php - Resolved "undefined variable" issue on $current_value when attempting to remove custom meta. + +2011.11.24 - version 4.9.1 + * admin-functions.php - fixed bug with getting youtube images + +2011.11.22 - version 4.9.0 + * admin-interface.php - Removed legacy String Builder and AJAX uploader JavaScripts. + * admin-functions.php - Integrate PressTrends logic. Remove base64 function calls. Added option to woo_pagination() to use a raw search URL permastruct, as well as a filter for the default arguments. + * admin-framework-settings.php - Add PressTrends menus if PressTrends is in use. + * admin-medialibrary-uploader.php - Refine "Use this Image" button gettext logic. + * admin-custom-nav.php - Code adjustments after "Theme Check" audit. + * admin-express-functions.php - Add "woothemes" textdomain to translatable strings. + * admin-express-functions-deprecated.php - Add "woothemes" textdomain to translatable strings. + * admin-style.css - Added styling for "PressTrends" Framework Settings menu icon. + * /js/nicEdit.js - Fixed line-endings to all be in the same format (not either DOS or UNIX). + * /images/option-icon-presstrends.png - Added option icon for "PressTrends" Framework Settings menu. + +2011.11.18 - version 4.8.5 + * thumb.php - TimThumb - added latest version 2.8.2 + +2011.11.09 - version 4.8.4 + * admin-functions.php - woo_image() added new variable $noheight = Don't output the height on img tag (for responsive designs) + * admin-functions.php - added latest Google Fonts + * admin-functions.php - fixed notice errors in woo_get_video_image() + +2011.11.02 - version 4.8.3 + * admin-interface.php - Revert regular expression used to generate the admin interface menu in woothemes_machine(). + +2011.11.01 - version 4.8.2 + * admin-functions.php - woo_image/vt_image fixed bug with no height being set in woo_image and image was re-created on each load + * admin-functions.php - added new google fonts. + +2011.10.27 - version 4.8.1 + * admin-functions.php - woo_image/vt_image improved error handling when using WP post thumbnail + +2011.10.25 - version 4.8.0 + * admin-interface.php - Added logic for WooFramework update checker and notification. Code optimisation and maintenance. + * admin-functions.php - woo_breadcrumbs() shouldn't check for parent entries of the page is '/'. Add function to check for WooFramework updates. Added "theme" screen icon to "Buy Themes" screen. + * admin-framework-settings.php - Add option to enable WooFramework update notifications. + * admin-custom.php - Resolve "undefined index" errors when handling metabox field data. Add field-specific CSS classes to each table row in the meta box table. Remove legacy upload tracking. + * admin-medialibrary-uploader.php - Code maintenance. Added support for custom titles on "image" fields in the post meta box. Added support for hiding the URL input field for fields of type "upload_min". + * admin-shortcode-generator.php - Make sure the shortcode generator JavaScript is loaded only on the post/page "Add" and "Edit" screens. + * admin-style.css - Tweaked CSS of .info on "Buy Themes" screen to add margin-top of 10px. Added styling to reposition the "Upload" button for fields of type "upload_min". + * /js/woo-medialibrary-uploader.js - Added support for custom titles on "image" fields in the post meta box. + * /js/woo-custom-fields.js - ADDED - Moved JavaScript from admin-custom.php into it's own file and streamlined. + * /js/woo-admin-interface.js - ADDED - Moved JavaScript from admin-interface.php into it's own file and streamlined. + * /css/woo-custom-fields.css - ADDED - Moved CSS from admin-custom.php into it's own file and streamlined. + +2011.10.20 - version 4.7.2 + * admin-functions-php - added wmode="transparent" to iframe in woo_embed() + * admin-setup.php - fixed text-title bug + +2011.10.11 - version 4.7.1 + * admin-shortcodes.php - Adjusted Google +1 Shortcode to use updated attribute keys for HTML5 valid syntax. Added "annotation" attribute to replace "count". + * js/shortcode-generator/shortcodes/google_plusone.js - Replaced "count" attribute with "annotation" per Google's update to the +1 button. + * admin-style.css - Updated styling and fonts. + * admin-functions.php - If the user has set a "posts page", load the "Blog" page template for that page, if the template file exists. Fixed google font: open sans condensed. + * admin-medialibrary-uploader.php - Added contextually accurate "insert" button labels, as well as modified "Gallery" tab to "Previously Uploaded" when on an "Image" custom field. + * /js/woo-medialibrary-uploader.js - Pass is_woothemes and title parameters through to the uploader popup. + +2011.10.10 - version 4.7.0 + * /js/woo-typography-preview.js - Typography preview engine. + * admin-interface.php - Register and enqueue typography preview engine JavaScript on "Theme Options" screen. + * admin-style.css - Style the typography preview engine. + * /images/ico-preview.png, + /images/ico-refresh.png - Added icons for use in the typography preview engine. + * admin-functions.php - Add urldecode() to search link in woo_pagination(), if the "nice search" permastruct is in use. Fixed spelling errors in certain Google Fonts to prevent errors when loading. + * admin-shortcodes.php - Added auto-adjusting width and height values to the fbshare shortcode (set width to auto and height to fit in appropriate cases, when "showfaces" is off), and fixed "undefined index" error on fblike shortcode when no $post variable is available and no custom URL is set. Make sure shortcodes.js only loads when required. + +2011.10.06 - version 4.6.3 + * admin-interface.php - Make sure the theme version checker receives the correct theme version number when a child theme is in use. + * admin-functions.php - added is_ssl to google font loader. Added more google fonts. + * admin-shortcodes.php - added is_ssl to google font loader + +2011.10.05 - version 4.6.2 + * admin-sbm.php - Replaced call to is_attach() function with call to is_attachment(). + * admin-shortcodes.php - Added optional "title" attribute to the icon link shortcode. + * /js/shortcode-generator/shortcodes/ilink.js - Added generator field for optional "title" attribute in the icon link shortcode generator. + * admin-functions.php - Pass $args array through to "woo_breadcrumbs_trail" filter as a second parameter (filter now accepts $trail and $args). + * admin-backup.php - Added is_array() checks to each $options call in the backup manager, to prevent "foreach" warning messages. + * admin-style.css - Adjusted CSS to display the theme update notifier update notice. + * admin-setup.php - Remove rewrite rules flush in admin_head on each load (now only flush rewrite rules on theme activation and on theme options save). + * admin-interface.php - Added transient (set for 24 hours) to theme version checker, and converted theme update notifier to a WordPress admin notice at the top of the "Theme Options" screen. Flush rewrite rules when saving the "theme Options". + +2011.09.30 - version 4.6.1 + * admin-functions.php - added new Google webfonts + +2011.09.22 - version 4.6.0 + * admin-functions.php - Modified post type archives support and fixed "double 'posts' page link" issue in woo_breadcrumbs(). Make "less than a minute ago" and "about a minute ago" strings translatable in Twitter widget JavaScript. + * admin-interface.php - Move save logic for theme options into a separate function and add support for non-JavaScript saving of theme options, framework settings and SEO settings. + * admin-framework-settings.php, + admin-seo.php - Make sure "woo_save" field is present, as well as form method is set to "post". + * admin-shortcodes.php - Added support for "language" parameter to Google +1 shortcode and it's generator. Adjusted the shortcode to use HTML5 valid syntax, instead of tags. + * /js/shortcode-generator/shortcodes/google_plusone.js - Added language selector to generator. + +2011.09.16 - version 4.5.4 + * admin-interface.php - Adjust theme update notification links to point to the new theme "Downloads" page in the WooThemes Account Dashboard. + +2011.09.07 - version 4.5.3 + * admin-interface.php - Fixed bug in theme update notification checker, to retrieve only the latest version number. + +2011.09.05 - version 4.5.2 + * admin-shortcodes.php - Fixed "only first thumbnail displays in related posts shortcode" issue. + +2011.08.30 - version 4.5.1 + * admin-backup.php - Make sure the export tool notice displays only on the "Backup Settings" screen. + +2011.08.26 - version 4.5.0 + * admin-backup.php - Revamped theme options backup functionality. + * admin-shortcodes.php - Make sure Digg and TweetMeme shortcodes use the current $post permalink if no custom URL is specified. + * admin-functions.php - Added woo_get_posts_by_taxonomy() function, for retrieving posts by taxonomy. + * admin-interface.php - Fixed nonce check on WooSEO reset logic. + * admin-framework-settings.php - Removed legacy backup script. + +2011.08.25 - version 4.4.4 + * admin-functions.php - Twitter "time ago" strings are now translatable on the "woothemes" textdomain. Added argument to woo_breadcrumbs() to display the path to the posts page, if a posts page and static front page are set. + * admin-medialibrary-uploader.php - Added "woothemes" textdomain to several translatable strings. + * admin-sbm.php - Fixed undefined index error when searching through custom taxonomy sidebars. + +2011.08.19 - version 4.4.3 + * admin-sbm.php - Adjusted Sidebar Manager dependencies logic to resolve dependencies issues, notified after V4.3.7. + +2011.08.18 - version 4.4.2 + * thumb.php - version 2.8 and fixed cache folder to use the old one in theme folder. + +2011.08.18 - version 4.4.1 + * admin-functions.php - adds timthumb update function + * admin-interface.php - adds timthumb update function menu item and admin notice + +2011.08.15 - version 4.4.0 + * thumb.php - added TimThumb to WooFramework + * admin-functions.php - change woo_image() to use thumb.php in functions folder instead + * admin-custom.php - fixed thumb.php path + +2011.08.12 - version 4.3.8 + * admin-setup.php - Added woo_theme_activate action and moved theme options redirect to an action on woo_theme_activate. Added flush_rewrite_rules to admin_head on theme activation. + * admin-interface.php - Made "Options Saved", "Options Reset" and text in the nav bar (theme docs, changelog, etc) translatable. + +2011.08.11 - version 4.3.7 + * admin-sbm.php - Reverted to V4.3.1 of the Sidebar Manager and made additional fixes from there, regarding sidebar dependencies. + * admin-shortcodes.php - Added "use_post_url" attribute to Twitter shortcode, to enable automatic retrieval of post URLs when used with archive screens. + * /js/shortcode-generator/shortcodes/twitter.js - Added "use_post_url" option to Shortcode Generator for the Twitter shortcode. + +2011.08.08 - version 4.3.6 + * admin-functions.php - Added new Google Fonts + * admin-sbm.php - Resolved sidebar dependencies logic issue with custom post types, post type archives and custom taxonomies. + +2011.08.03 - version 4.3.5 + * admin-functions.php - Updated regular expression used in woo_embed to get/set width and height of embedded video. + +2011.08.01 - version 4.3.4 + * admin-interface.php - Optimised and resolved preg_replace() bug in the display of certain theme options tabs. + +2011.07.31 - version 4.3.3 + * admin-interface.php - fixed preg_replace bug + +2011.07.31 - version 4.3.2 + * admin-functions.php, + admin-interface.php = Replaced ereg() with preg_match() and ereg_replace() with preg_replace() to fix deprecated notice in PHP 5.3.0. + +2011.07.28 - version 4.3.1 + * admin-sbm.php - Added support for post type archive custom sidebars. + * admin-framework-settings.php - Split "Framework Settings" into "Theme Settings" and "Admin Settings", and added theme option to move tracking code from footer to header. + * admin-functions.php - Added logic to move tracking code from footer to header. + +2011.07.27 - version 4.3.0 + * admin-shortcodes.php - Added Twitter Follow Button shortcode. Added Google Plus support to Social Profile Icon shortcode. + * js/shortcode-generator/shortcodes/twitter_follow.js - Shortcode generator screen for Twitter Follow Button shortcode. + * js/shortcode-generator/shortcodes/social_icon.js - Added Google Plus support to Social Profile Icon generator. + * js/shortcode-generator/editor_plugin.js - Added Twitter Follow Button link to shortcode generator popup. + +2011.07.25 - version 4.2.6 + * admin-functions.php - fixed thumbnail in RSS to be shown when also when rss excerpt is selected. Fixed woo_image to output full image link with $link arg + +2011.07.24 - version 4.2.5 + * images/ajax-loader.gif - added missing image for tumblog + * admin-functions.php - added new google fonts + +2011.07.23 - version 4.2.4 + * admin-setup.php - added stripslashes to Custom CSS output + +2011.07.21 - version 4.2.3 + * admin-functions.php - SEO: Added custom setting for Post Types and Taxonomy Archive pages for setting robots to "noindex" + * admin-seo.php - SEO: Added custom setting for Post Types and Taxonomy Archive pages for setting robots to "noindex" + * admin-custom.php - Strip slashes from label, description and default value before displaying the post meta fields. + +2011.07.19 - version 4.2.2 + * admin-interface.php - Integrated options sanitization functions from security audit. + +2011.07.19 - version 4.2.1 + * admin-functions.php - updated Google webfonts list + * admin-interface.php - Added theme options preparatory and sanitization functions. + +2011.07.06 - version 4.2.0 + * admin-init.php, + admin-functions.php, + admin-custom.php, + admin-medialibrary-uploader.php, + admin-shortcodes.php, + admin-sbm.php, + admin-seo.php, + admin-framework-settings.php, + admin-custom-nav.php, + admin-setup.php, + admin-interface.php, + admin-tumblog-quickpress.php - Security fixes, enhancements, and error suppression from Mark Jaquith. + * admin-custom.php - Fixed conflict between WooSEO word-count fields and WordPress V3.2. + * /js/shortcode-generator/js/dialog-js.php - Fixed conflict between the Columns shortcode generator and WordPress V3.2. + +2011.07.02 - version 4.1.8 + * admin-functions.php - Made woo_image and woo_embed pluggable + +2011.07.01 - version 4.1.7 + * admin-functions.php - added more google fonts + +2011.06.27 - version 4.1.6 + * admin-custom.php - Optimised database queries surrounding the call to add_meta_box() and added filter to meta box settings. + * admin-functions.php - Fixed logic error surrounding the "use third party data" setting. Added woo_prepare_category_ids_from_option() function. + * admin-functions.php - Added new Google fonts + * admin-interface.php - Added Courier font, applied filter to the WooThemes options machine + * admin-style.css - Added additional options styling + * admin-functions.php - do_shortcode on output in woo_embed so shortcodes work in embed field + +2011.06.20 - version 4.1.5 + * /js/shortcode-generator/js/dialog-js.php - Preserve line breaks when using a textarea in the Shortcode Generator screens. + +2011.06.13 - version 4.1.4 + * admin-shortcodes.php - Added Google +1 Button shortcode. + * js/shortcode-generator/editor_plugin.js - Added Google +1 Button to shortcodes menu. + * js/shortcode-generator/shortcodes/google_plusone.js - Added Google +1 Button generator screen. + * admin-functions.php - Added modification to woo_breadcrumbs() to use get_page_by_title() if the parent page isn't found using get_page_by_path(). + +2011.05.31 - version 4.1.3 + * admin-sbm.php - Adjusted array of custom sidebars to be ordered in a specific fashion, and not by the order in which they were created. + +2011.06.10 - version 4.1.2 + * admin-functions.php - new google fonts + +2011.05.30 - version 4.1.1 + * admin-interface.php - Removed console.log to fix "theme options not saving" issue. + * admin-shortcodes.php - Adjusted HTML outputted by button shortcode to pass W3C validation. + +2011.05.21 - version 4.1.0 + * admin-functions.php - Added new Google Fonts. + * admin-interface.php - Solved bug where typography options were being set to 9px on all typography options. + * admin-functions.php - tweaked woo_image auto image tests, and vt_resize width checks + * admin-setup.php - changed $woo_options to get_option to work with older themes that don't load $woo_options + +2011.05.20 - version 4.0.9 + * admin-setup.php - removed notices from texttitle and tagline options if not set + +2011.05.12 - version 4.0.8 + * admin-functions.php - fixed get_theme_data() in woo_admin_bar_menu() + +2011.05.11 - version 4.0.7 + * admin-functions.php - added new google fonts + +2011.05.10 - version 4.0.6 + * admin-sbm.php - Fixed bug with taxonomy terms that have children not displaying the correct sidebar widgets. + +2011.05.09 - version 4.0.5 + * admin-shortcodes.php - Fixed warning message if no attributes are set in the contact form shortcode, as well as adding support for checkbox and radio button field types. + +2011.05.05 - version 4.0.4 + * admin-setup.php - Moved woo_load_textdomain() call to fire on "init". + * admin-custom-nav.php, + admin-custom.php, + admin-framework-settings.php, + admin-functions.php, + admin-interface.php, + admin-medialibrary-uploader.php, + admin-sbm.php, + admin-seo.php, + admin-setup.php, + admin-shortcodes.php, + admin-tumblog-quickpress.php - Code clean-up and consistency checks. Replaced calls to bloginfo( 'template_directory' ) and bloginfo( 'template_url' ) with get_template_directory_uri(). + +2011.05.04 - version 4.0.3 + * admin-interface.php - Fixed bug in save logic where arbitrary integers were being inserted into "Subscribe and Connect" text input fields. + * admin-setup.php - fixed bug where site description wasn't showing on older themes that don't have the new site description option. + +2011.05.03 - version 4.0.2 + * admin-interface.php - Make sure slashes are stripped from "text" field type values on save. + * admin-functions.php - Make sure slashes are stripped from all instances of the page title output (woo_title, wp_title and admin_title). + * admin-functions.php - Added generic "ie" body class to all Internet Explorer body classes, as well as an "ie9" body class for use with Internet Explorer 9. + * admin-shortcodes.php - Added optional CSS class field ("css") to the "tabs" shortcode. + * /shortcode-generator/shortcodes/tab.js - Updated "tab" shortcode generator with the new "css" field. + * admin-framework-settings.php - Added support to the exporter for values in "type" fields that are setup as arrays. + * admin-functions.php - vt_resize: Use set width from woo_image when returning image that hasn't been resized. Image will be stretched to fit. Fixes issues where image uploaded is smaller than width of slider etc. + +2011.05.02 - version 4.0.1 + * admin-functions.php - Added new Google webfonts. + +2011.04.25 - version 4.0.0 + * admin-init.php - Version bump. + * admin-setup.php - added option for tagline CSS output from options + +2011.04.25 - version 3.10.1 + * css/tumblog.css - Removed redundant Tumblog style. + +2011.04.20 - version 3.10.0 + * admin-shortcodes.php - Added optional excerpt length, with "read more" link options, to the content toggle shortcode. Added "Share via LinkedIn" shortcode. + * /js/shortcodes.js - Added logic for the excerpt "read more" link in the content toggle shortcode. + * /js/shortcode-generator/shortcodes/toggle.js - Added new shortcode attributes to content toggle shortcode generator screen. + * /js/shortcode-generator/js/dialog-js.php - Added defaultValue logic for text input fields on shortcode generator screens. + * /css/shortcodes.css - Added base CSS styles for the "more text" used if using the optional excerpt in the content toggle shortcode. + * /js/shortcode-generator/js/editor_plugin.js - Added "Share via LinkedIn" shortcode to the Generator menu. + * /js/shortcode-generator/preview-shortcode-external.php - Added custom action hook in the footer, to enable the loading of custom scripts without requiring wp_footer(). + +2011.04.18 - version 3.9.0 + * admin-seo.php - Added support for WordPress SEO by Yoast to WooSEO. + * admin-functions.php - Added support for WordPress SEO by Yoast to WooSEO. + * admin-hooks.php - Added context function and woo_*_atomic() functions for use in hooks, as well as implemented woo_do_atomic() in the various woo hooks. + * admin-functions.php - added new Google fonts + +2011.04.09 - version 3.8.2 + * admin-functions.php - added new google fonts + +2011.04.07 - version 3.8.1 + * admin-functions.php - Added filtering mechanism to woo_title() and adjusted woo_pagination() to always move the raw query string to the end of the pagination links. + +2011.03.30 - version 3.8.0 + * admin-framework-settings.php - Added options to disable WordPress Admin Bar and enable WooFramework admin bar enhancements. + * admin-functions.php - Logic to either disable the WordPress Admin Bar or add WooFramework enhanced navigation menu items. + +2011.03.28 - version 3.7.14 + * admin-shortcodes.php - Corrected new line characters in contact form shortcode. Added "rel" option to social icon shortcode. + * /js/shortcode-generator/shortcodes/social_icon.js - Added field for the "rel" option to the social icon shortcode generator. + +2011.03.18 - version 3.7.13 + * admin-init.php, admin-setup.php, admin-shortcodes.php - made all HEAD output neat + * admin-functions.php - added more google fonts + +2011.03.17 - version 3.7.12 + * admin-functions.php - modified vt_resize to not resize if the width and height of original image are smaller than resized area. + +2011.03.16 - version 3.7.11 + * admin-functions.php - added @ to omit PHP warning message in woo_custom_login_logo() + +2011.03.14 - version 3.7.10 + * admin-express-functions.php - upgraded to use post formats functionality + +2011.03.09 - version 3.7.09 + * admin-interface.php - changed wording on Reset Options button + +2011.03.05 - version 3.7.08 + * admin-shortcodes.php - Allow shortcodes to be added inside the "info box" shortcode. + * admin-sbm.php - Fixed "array_key_exists" warning message after resetting the Sidebar Manager. + +2011.03.02 - version 3.7.07 + * admin-functions.php - Added support for BuddyPress search to woo_pagination(). + * admin-tumblog-quickpress.php - Only load tumblog styles on dashboard + +2011.03.01 - version 3.7.06 + * admin-tumblog-quickpress.php - added additional editor handling + +2011.02.28 - version 3.7.05 + * admin-tumblog-quickpress.php - added safari editor fix + +2011.02.27 - version 3.7.04 + * admin-setup.php - moved woothemes_wp_head() content into seperate pluggable functions + +2011.02.26 - version 3.7.03 + * admin-sbm.php - Fixed conflict between custom page template-based and category-based sidebars. + * admin-sbm.php - Fixed Sidebar Manager reset functionality. + +2011.02.24 - version 3.7.02 + * admin-interface.php - removed deprecated tumblog functions + * admin-tumblog-quickpress.php - upgraded tumblog functions to use post formats functionality + * admin-express-functions-deprecated.php - created deprecated functions file + * admin-express-functions.php - upgraded to use post formats functionality + * /js/shortcode-generator/editor_plugin.js - Changed the method by which we detect the editor button icon. + * /js/shortcode-generator/js/dialog-js.php - Added fixes for supporting Windows-based web servers. + * admin-shortcodes.php - Added code to prevent the warning message in the shortcode preview for the custom typography shortcode. + +2011.02.23 - version 3.7.01 + * admin-functions.php - woo_image(): Added alt tag to custom field images (the_title) + +2011.02.22 - version 3.7.00 + * admin-functions.php - Added woo_pagination() and woo_breadcrumbs() functions. + * admin-shortcodes.php - Added optional tabber title to the tabber shortcode. + * /js/shortcode-generator/shortcodes/tab.js - Added "vertical" alternate style. + * /js/shortcode-generator/js/dialog-js.php - Increased total allowed tabs to 10 in the tabber controller in the shortcode generator. + * /css/shortcodes.css - Added "vertical" alternate style to the tabber shortcode. + + +2011.02.19 - version 3.6.09 + * admin-functions.php - fixed vt_resize() to not remove 1px if the image width is same as resize width + +2011.02.19 - version 3.6.08 + * admin-shortcodes.php - Changed "info box" shortcode to use DIV tag instead of P tag. Removed trailing slash on URLs in the "social icon" shortcode. + * css/shortcodes.css - Updated "info box" style to use DIV tag instead of P tag. + +2011.02.18 - version 3.6.07 + * admin-shortcodes.php - Added "nav-tab" class to tab navigation items in the tabber shortcode. + * js/shortcodes.js - Refined tabber JavaScript. + * css/shortcodes.css - Cleaned up tabber shortcode CSS to support nested unordered and ordered lists. + +2011.02.18 - version 3.6.06 + * admin-functions.php - Fixed bug where Twitter widget was intermittently generating incorrect links to tweets. + * admin-functions.php - added some more Google Fonts + +2011.02.17 - version 3.6.05 + * admin-sbm.php - Added functionality to display the category custom sidebar on single posts in that category in the Sidebar Manager. + * admin-sbm.php - Added a note explaining how the new "category sidebar on single posts" functionality works. + +2011.02.16 - version 3.6.04 + * admin-functions.php - Added fix for using custom post ID in woo_image(). + * admin-shortcodes.php - Added option to use pre-defined colour scheme in button shortcode, open in new window in social icon shortcode and tweaked options in fblike shortcode. + * /js/shortcode-generator/shortcodes/button.js - Added pre-defined colour scheme selection option. + * /js/shortcode-generator/shortcodes/fblike.js - Tweaked options to make sure all options display correctly. + * /js/shortcode-generator/shortcodes/social_icon.js - Added option to open the link in a new window. + * admin-framework-settings.php - Added Sidebar Manager data to the import/export function. + +2011.02.15 - version 3.6.03 + * admin-functions.php - vt_resize() added file_exists check + * admin-functions.php - fixed image placeholder to not show in_the_loop on singular pages + +2011.02.14 - version 3.6.02 + * admin-shortcodes.php - Added social_icon shortcode and restructured contact form shortcode to work within tabber. + * /js/shortcode-generator/shortcodes/social_icon.js - Generator controller for social_icon shortcode. + * /js/shortcode-generator/editor_plugin.js - Added link on the shortcode generator menu for the social_icon. + * /css/shortcodes.css - Adjusted contact form shortcode CSS to accommodate the new code structure. + * admin-functions.php - Tested Google Fonts and fixed several that weren't displaying. + +2011.02.11 - version 3.6.01 + * admin-functions.php - Fixed woo_twitter_script to include retweets + +2011.02.08 - version 3.6.00 + * admin-functions.php - Added support in woo_embed() for html_entity_decode. Fixed spelling mistake on "Kristi" Google Webfont. Fixed seo_follow meta custom field to switch depending on the default option. + * admin-shortcodes.php - New shortcodes ( Dropcap, Text highlight, Abbreviated text, Custom Typography (using Google Fonts), Alt-style support for the tabber, Content Toggle, Ordered and Unordered List Generators, with various alt styles for the bullets). + * admin-shortcode-generator.php - Enqueued colorpicker CSS and JavaScript files for use in the generator. + * admin-style.css - Fixed z-index issue in options screen. + * /css/shortcode-generator.css - Updated styling for shortcode generator. + * /css/shortcodes.css - Added CSS for new shortcodes. + * /images/shortcode-*.png - New images for unordered list style shortcode. + * /js/shortcode-generator/editor-plugin.js - Added additional shortcodes to menu, and new "skip lightbox" functionality for simple shortcodes. + * /js/shortcode-generator/preview-shortcode-external.php - Updated preview to include call to Google Fonts. + * /js/shortcode-generator/shortcodes/* - Added control files for new shortcodes. + * /js/shortcode-generator/js/dialog-js.php - Added additional form field controls. Integrated setup function for the colorpicker. + * /js/shortcodes.js - Added JavaScript for content toggle shortcode. + * admin-shortcodes.php - Refined and tested custom typography shortcode and font loader. + * /js/shortcode-generator/shortcodes/unordered_list.js - Refined functionality to remove list items textarea. + * /js/shortcode-generator/shortcodes/ordered_list.js - Refined functionality to remove list items textarea. + * /js/shortcode-generator/shortcodes/typography.js - Integrated colorpicker. + * /js/shortcode-generator/shortcodes/button.js - Integrated colorpicker. + +2011.02.07 - version 3.5.7 + * admin-shortcode-generator.php - Made shortcode icon available to Authors + +2011.02.05 - version 3.5.6 + * admin-functions.php - Added new google fonts. Fixed issue with auto image thumbnails in related posts shortcode on single post page + +2011.02.02 - version 3.5.5 + * admin-functions.php - fixed woo_image using wrong image in WooTabs on single posts + +2011.02.02 - version 3.5.4 + * admin-framework-settings - commented out Font Stack Beta since not functioning properly and Google Fonts better alternative than non-websafe fonts. + * admin-functions.php - fixed woo_image using wrong image in WooTabs on single posts + * admin-interface.php - fixed SBM hide option + +2011.02.01 - version 3.5.3 + * admin-custom.php - SEO fix for Content Builder. + * admin-tumblog-quickpress.php - Safari dashboard widget editor bugfix. + +2011.01.31 - version 3.5.2 + * admin-functions.php - added new function woo_get_youtube_video_image() to work with new YouTube iframe embed code + * css/admin-shortcodes.css - fixed sixcol_four width + +2011.01.28 - version 3.5.1 + * admin-functions.php - woo_image() added native resizing to placeholder image if it is enabled. Made sure auto thumbs don't show on single posts. + * admin-framework-settings.php - removed reset button as it doesn't work. + * admin-shortcodes.php - Updated tabber shortcode CSS class to "shortcode-tabs". Added optional "URL" field to fbshare shortcode. + * /includes/css/shortcodes.css - Updated tabber CSS class. Added "clear" to tabber container CSS. + * /includes/js/shortcodes.js - Updated tabber JavaScript to reflect new CSS class. + * /includes/js/shortcode-generator/shortcodes/fbshare.js - Controller for the "fbshare" shortcode in the generator. + * /includes/js/shortcode-generator/editor_plugin.js - Added menu item for the "fbshare" shortcode to the generator menu. + +2011.01.21 - version 3.5.0 + * /admin-shortcode-generator.php - Functionality for the shortcode generator. + * /admin-init.php - Require functionality for the shortcode generator. + * /js/shortcode-generator/* - JavaScript and related functionality for the shortcode generator. + * /css/shortcode-generator.css - CSS styles for the shortcode generator dialog box. + * /images/shortcode-icon.png - Icon for the shortcode button on the tinyMCE editor. + * admin-tumblog-quickpress.php - fix to make JS used for tumblog only load in admin area, not in theme. + * admin-shortcodes.php - Added tabber shortcode and enqueue function for shortcodes.js file. + * includes/js/shortcodes.js - Added JavaScript for use in shortcodes. + * includes/css/shortcodes.css - Added styling for contact form shortcode. + +2011.01.20 - version 3.4.14 + * admin-functions.php - output proper alt tag woo_image() + +2011.01.18 - version 3.4.13 + * /js/woo-medialibrary-uploader.js - The "Link URL" field is no longer required to have a value (prevent white screen error). + * admin-custom.php - Removed "mysql_real_escape_string()" calls in order to debug and resolve several issues with custom field data on save. + +2011.01.13 - version 3.4.12 + * admin-functions.php - Added framework settings function for setting custom logo on WP login page. Added function_exists to a few functions. + * admin-framework-settings.php, admin-seo.php - Cleaned up options and added a few more disable menu item options. Added icons. + +2011.01.11 - version 3.4.11 + * admin-functions.php - SEO: Added custom setting in post/page for setting robots to "noindex" + +2011.01.11 - version 3.4.10 + * admin-functions.php - added new google fonts http://code.google.com/webfonts?subset=latin&sort=added + * admin-shortcodes.php - added option to open button shortcode link in new window + +2011.01.10 - version 3.4.09 + * admin-framework-settings.php - Fixed bug in export code generator. + +2011.01.08 - version 3.4.08 + * admin-interface.php - Fixed nonce bug with Font Stacks (beta). + +2011.01.07 - version 3.4.07 + * admin-functions.php - Fixed Coda Google Font + +2011.01.03 - version 3.4.06 + * admin-functions.php - Added woo_encoding_convert() + * admin-custom-nav.php - Removed woo_encoding_convert() + +2010.12.31 - version 3.4.05 + * admin-functions.php - Added 1 new google font + +2010.12.30 - version 3.4.04 + * admin-custom.php - added stripslashes to textarea custom field + +2010.12.28 - version 3.4.03 + * admin-shortcodes.php - added extra height to fblike button with showfaces set to true + +2010.12.26 - version 3.4.02 + * admin-functions.php - Added support for encoding certain HTML entities in SEO META description field, for successful W3C validation. + +2010.12.23 - version 3.4.01 + * admin-init.php - check if WooNav option is enabled in framework settings + * admin-interface.php - removed old WooNav check + +2010.12.20 - version 3.4.00 + * admin-init.php - added content builder support + * admin-custom.php - added content builder support + * admin-interface.php - added content builder support + * admin-style.css - added content builder support + * /images/option-icon-search.png - added image icon + * /images/option-icon-favorite.png - added image icon + * /images/option-icon-upload.png - added image icon + * /images/option-icon-listing.png - added image icon + +2010.12.18 - version 3.3.08 + * admin-functions.php, admin-interface.php - Improved Google Fonts functions. Added more fonts. + +2010.12.15 - version 3.3.07 + * admin-custom.php - Resolved issue with saving of custom meta fields on existing posts. + +2010.12.11 - version 3.3.06 + * admin-functions.php, admin-interface.php - Added new google fonts + +2010.12.11 - version 3.3.05 + * admin-medialibrary-uploader.php - Fixed bug in Media Library uploader on post admin pages. + +2010.12.10 - version 3.3.04 + * admin-functions.php - updated framework updater page styling and copy. + +2010.12.10 - version 3.3.03 + * admin-setup.php - fixed alt stylesheet bug + +2010.12.09 - version 3.3.02 + * admin-functions.php - Fixed issue with html_entity_decode() function in PHP4. + +2010.12.08 - version 3.3.01 + * admin-custom.php - Sanitised $_REQUESTs. + * admin-framework-settings.php - Sanitised $_REQUESTs. Added nonce (carries over through other options pages). + * admin-functions.php - Sanitised $_REQUESTs. Sanitised woo_style_path() GET/POST variables. + * admin-interface.php - Sanitised $_REQUESTs. Added nonce to save and reset functions. + * admin-medialibrary-uploader.php - Sanitised $_REQUESTs. + * admin-sbm.php - Sanitised $_REQUESTs and $_POST'ed values. + * admin-seo.php - Sanitised $_REQUESTs. + * admin-setup.php - Sanitised $_REQUESTs. + * js/woo-scripts.js - Resolved JavaScript selector issue, causing label on image width/height fields to hide on save. + +2010.12.06 - version 3.3.00 + * admin-interface.php - removed Custom Navigation menu item, and added option to enable it in Framework Settings + * admin-framework-settings.php - removed Custom Navigation menu item, and added option to enable it in Framework Settings + * admin-functions.php - fix in woo_image for WPBundle post thumbnails + +2010.12.06 - version 3.2.13 + * admin-functions.php - woo_image links to full image if single post instead of natively resized WP Thumbnail + +2010.12.01 - version 3.2.12 + * js/woo-medialibrary-uploader.js - Added additional support for non-image files. + * admin-setup.php - added if function_exists to load_child_theme_textdomain + +2010.11.30 - version 3.2.11 + * admin-functions.php - fixed bug with native image resizer image width equal to specified width + +2010.11.29 - version 3.2.10 + * admin-sbm.php - Fixed bug in sidebar generation for post tags (test case: "video" tag). + * admin-shortcodes.php, css/shortcodes.css - added alert icon link + +2010.11.25 - version 3.2.09 + * admin-sbm.php - Added support for custom post types in the Sidebar Manager. + * admin-functions.php - added ie7 and ie6 classes to browser_body_class + +2010.11.23 - version 3.2.08 + * admin-functions.php - woo_image() native resize check and set width of image before resize to avoid error + +2010.11.22 - version 3.2.07 + * admin-sbm.php - Fixed bug in sidebar determination logic with archives and static posts page. Added logic to pull sidebar data from parent sidebar, instead of as static XHTML tags. + * admin-setup.php - added load_textdomain to look in /lang folder of parent theme and child theme + +2010.11.19 - version 3.2.06 + * admin-medialibrary-uploader.php - Fixed bug with standard values (std) logic. Removed preview if the file isn't an image. + * js/woo-medialibrary-uploader.js - Neatened up call to Media Library thickbox. Removed preview if the file isn't an image. + * admin-functions.php - Changed to using html_entity_decode() function on meta description to allow special characters (user request). + +2010.11.16 - version 3.2.05 + * admin-sbm.php - Resolved conflict between specific category and template hierarchy sidebars. + +2010.11.15 - version 3.2.04 + * admin-interface.php - made functions pluggable + * admin-functions.php - removed unused function (debug output) + * admin-framework-settings.php - removed unused function (debug output) + * admin-style.css - fixed position of screenshot + +2010.11.13 - version 3.2.03 + * admin-setup - added check for non-existing array in woo_head_css() + +2010.11.12 - version 3.2.02 + * admin-setup.php - improved/cleaned up code + * admin-theme-page.php - REMOVED FILE + * admin-functions.php - added Buy Themes page function + * admin-init.php - removed admin-theme-page.php require + * admin-init.php - Bumped to new version + * js/woo-medialibrary-uploader.js - Fixed bug with send_to_editor + +2010.11.10 - version 3.2.01 + * admin-functions.php - fixed update version checker + * admin-interface.php - added select box styling + * admin-style.css - added select box styling + * includes/js/woo-scripts.php - added select box styling + +2010.11.10 - version 3.2.00 + * admin-init.php - Updated framework version. Require the Media Library-driven uploader functions. + * admin-interface.php - Added support for the Media Library-driven uploader. + * admin-medialibrary-uploader.php - The functions for the Media Library-driven uploader. + * admin-style.css - Updated styles for Media Library-driven uploader. + * admin-custom.php - Updated styles for Media Library-driven uploader. + * js/woo-medialibrary-uploader.js - JavaScript code for the Media Library-driven uploader. + * admin-functions.php - updated woo_image 'url' function + +2010.11.09 - version 3.1.11 + * admin-functions.php - Improved logic with new native resize. Added option for Post URL ( 'url') to the link parameter + +2010.11.08 - version 3.1.10 + * admin-style.css - styling updates for options panel + * admin-shortcodes.php - Fixed fbshare url, added more params to fblike + * admin-functions.php - Added support for native resize of WP post thumbnails + * admin-setup.php - modified WP post thumbnail setup + +2010.11.04 - version 3.1.09 + * admin-tumblog-quickpress.php - Added handler for ajax date and time posting to allow correct values. + +2010.11.03 - version 3.1.08 + * admin-sbm.php - Added fix for custom taxonomies sbm frontend output. + +2010.11.02 - version 3.1.07 + * admin-functions.php - fixed html_entities in woo_meta (line 1529) + * admin-shortcodes.php - added facebook share button. added fourcol_two columns. + * css/shortcodes.css - column shortcode + +2010.11.01 - version 3.1.06 + * admin-style.css - Fixed SBM IE styling bugs + +2010.10.28 - version 3.1.05 + * admin-sbm.php - Added patch to jQuery for IE .live( 'submit') issue. + +2010.10.27 - version 3.1.04 + * admin-functions.php - updated the woo_get_fw_version() function with a new mothod + +2010.10.25 - version 3.1.03 + * admin-functions.php - added fallback to woo_title() if output is empty (CPT fallback) + * admin-functions.php - added "-" in search for youtube thumbnail video ID + * admin-functions.php - updated logic in woothemes_framework_update_page() + +2010.10.24 - version 3.1.02 + * admin-functions.php - added classes to woo_twitter_script() + +2010.10.21 - version 3.1.01 + * admin-functions.php - fix on YouTube thumbnail generation logic in woo_image() + +2010.10.21 - version 3.1.00 + * admin-interface.php - Added icon option to headings in option panel. + * admin-style.css - Added basic options icons. Tweaked options styling. + * /images/ - Added new basic options icons + +2010.10.21 - version 3.0.13 + * admin-functions.php - added automatic youtube thumbnails to woo_image + +2010.10.20 - version 3.0.12 + * admin-interface.php - added unit option to typography. + * admin-style.css - updated styling for typography. + +2010.10.18 - version 3.0.11 + * admin-custom.php - Removed code segment that check for empty fields for Custom Settings boxes + +2010.10.18 - version 3.0.10 + * admin-interface.php, admin-functions.php - Added new google fonts + +2010.10.12 - version 3.0.09 + * admin-sbm.php - Fixed a syntax error in the woo_active_sidebar() function. + +2010.10.11 - version 3.0.08 + * admin-functions.php - Removed Robots when third party SEO plugins are activated + +2010.10.08 - version 3.0.07 + * admin-interface.php - Removed all wpdb queries and replaced with alternative functions. + * admin-functions.php - Removed all wpdb queries and replaced with alternative functions. Removed "insert page" shortcode. + +2010.10.07 - version 3.0.06 + * admin-sbm.php - Bug fix regarding some categories and not returning data for creating sidebars. + * admin-functions.php - woo_image: removed force get_options + +2010.10.06 - version 3.0.05 + * admin-sbm.php - Added check for sidebars only being called with integers. + +2010.10.06 - version 3.0.04 + * admin-functions.php - fixed bug in woo_image where $single was always true + +2010.10.05 - version 3.0.03 + * admin-sbm.php - Added default parameter to the woo_sidebar() function. + +2010.10.04 - version 3.0.02 + * admin-interface.php - Added string builder logic. + * admin-style.css - Added styles for string builder + * admin-framework-settings.php - Added new Font Stack Builder option, + +2010.09.30 - version 3.0.01 + * admin-interface.php - Added reset function for SBM. + * admin-sbm.php - Added reset and error checking functions. + +2010.09.17 - version 3.0.00 + * admin-sbm.php - Added new files for Sidebar Manager + * admin-interface.php - Enabled the Sidebar Manager in the backend + * admin-style.css - Added CSS for new Sidebar Manager + * Added preliminary stack builder source. + +2010.09.14 - version 2.9.28 + * admin-functions.php - Added fix in woo_image to not apply WM Multisite url fix if external image url is sent through. Added crop alignment option to woo_image + +2010.09.14 - version 2.9.27 + * admin-functions.php - added alternative taxonomies to be added to the SEO keyword output. + +2010.09.13 - version 2.9.26 + * admin-interface.php - fixed time input masking + +2010.09.12 - version 2.9.25 + * css/shortcodes.css - revised boxes + * admin-shortcodes - revised boxes + +2010.09.10 - version 2.9.24 + * css/shortcodes.css - revised buttons + * admin-functions.php - bug fix: removed alt tag from anchor from woo_image if resizer off + +2010.09.10 - version 2.9.23 + * admin-shortcodes.php - Revised buttons, started with JS toggle + * css/shortcodes.css - revised buttons + +2010.09.09 - version 2.9.22 + * admin-functions.php - fixed woo_image to not show duplicate image in single post when grabbing image from post + +2010.09.07 - version 2.9.21 + * admin-setup.php - Fixed some logic with loading complex options from previously saved options. + * admin-express-functions.php - fixed iphone function bug for tumblog themes + * admin-interface.php - added handling for apostrophes in theme option drop downs + * admin-functions.php - removed "beta" warning from Update Framwork page + +2010.09.06 - version 2.9.20 + * admin-interface.php - added manual off for SBM until it's ready for realease. + * admin-custom.php - Added fix to constants with correct php syntax. + * admin-sbm.php - ADDED new functionality + +2010.09.03 - version 2.9.19 + * admin-interface.php - Fixed a undefined index php error. + +2010.09.01 - version 2.9.18 + * admin-shortcodes.php - Removed function to remove shortcodes from RSS feeds, as it strips WP shortcodes too. Fixed ilink icon parameter. + * admin-functions.php - changed str_ireplace to str_replace (php4) + +2010.09.01 - version 2.9.17 + * admin-shortcodes.php - added function to remove excessive paragraphs and linebreaks from shortcodes + +2010.08.31 - version 2.9.16 + * css/shortcodes.css - fixed styling for box shortcode to work properly on some older themes. New ilink styling + * admin-shortcodes.php - added new ilink shortcode + * admin-framework-settings.php - made the options panel output disabled by default + * admin-functions.php - made the options panel output disabled by default + +2010.08.30 = version 2.9.15 + * admin-interface.php - Added extra markup for SEO Character Counters + * admin-custom.php - Added Character counter script, and removed td tags outputs. Fixed some SEO show/hide functionality. + +2010.08.25 - version 2.9.14 + * admin-tumblog-quickpress.php - Checks for (and includes) iPhone app functionality for tumblog themes + * admin-express-functions.php - iPhone app functionality file added + +2010.08.24 - version 2.9.13 + * admin-tumblog-quickpress.php - Bug fix for tumblog dashboard widget + +2010.08.21 - version 2.9.12 + * admin-shortcodes.php - added icon links shortcode. Fixed box shortcode to take more input. Removed wpautop(). Remove Shortcode from RSS feed. + * css/shortcodes.css - new shortcode styling + +2010.08.21 - version 2.9.11 + * admin-shortcodes.php - added missing sixcol shortcodes + * css/shortcodes.css - added missing sixcol shortcodes + +2010.08.20 - version 2.9.10 + * admin-shortcodes.php - added quote shortcode + * css/shortcodes.css - added quote shortcode css + * images/quote.png - added quote.png + +2010.08.20 - version 2.9.09 + * admin-init.php - added require admin-shortcodes.php + * admin-shortcodes.php - ADDED - new file to hold shortcodes. Added HR/Divider and Columns shortcodes. + * admin-functions.php - removed shortcodes. Added ' to $_REQUEST[style] + * admin-setup.php - removed decode option function + +2010.08.18 - version 2.9.08 + * admin-framework-settings.php - Added remove generator meta tags option + * admin-init.php - Added remove generator meta tags option + +2010.08.17 - version 2.9.07 + * admin-setup.php - Enclosed string arguments. Bug Fix + * admin-functions.php - Added check for valid Taxonomy archive outputs in woo_title(); + * admin-interface.php - Removed unused tumbleblog upgrade code. + +2010.08.16 - version 2.9.06 + * admin-custom-nav.php - Added notice to users that they should use the WordPress 3.0.x Menu Management instead of WooNav. + +2010.08.15 - version 2.9.05 + * admin-functions.php - Fixed shortcodes.css to be included from parent theme, not child theme. + +2010.08.13 - version 2.9.04 + * admin-functions.php - Added syntax to be selective about SEO custom options and post types. + +2010.08.13 - version 2.9.03 + * admin-functions.php - Added twitter button shortcode + * /css/shortcodes.css - Added shortcodes CSS + +2010.08.12 - version 2.9.02 + * admin-functions.php - Added image to related posts shortcode + * /css/shortcodes.css - Added shortcodes CSS + +2010.08.12 - version 2.9.01 + * admin-interface.php - Added handling for Tumblog Upgrade function + * admin-tumblog-quickpress.php - Added Tumblog 2.0.0 functionality + * /css/tumblog.css - Added styling for Tumblog 2.0.0 functionality + * /js/tumblog-ajax.js - Added js for Tumblog 2.0.0 functionality + +2010.08.11 - version 2.9.00 + * admin-functions.php - Added shortcodes + * /css/shortcodes.css - Added shortcodes CSS + * /images/ - Added icons for shortcodes + +2010.08.06 - version 2.8.13 + * admin-functions.php - Added default image placeholder + * adimin-framework-settings.php - Added default image placeholder + +2010.08.06 - version 2.8.12 + * admin-functins.php - Fix so woo_title works on older versions of WP (pre 3.0) + +2010.08.06 - version 2.8.11 + * admin-functins.php - Added info box for SEO custom fields + * admin-custom.php - Added info box for SEO custom fields + * admin-seo.php - Added info box for SEO custom fields + +2010.08.05 - version 2.8.10 + * admin-functions.php - woo_title() fixed bug to show custom page title on pages + +2010.08.02 - version 2.8.09 + * admin-functions.php - Google Fonts: removed add_action. Must be loaded in includes/theme-actions.php or functions.php in the theme to use. + +2010.08.01 - version 2.8.08 + * admin-functions.php - Google Fonts: Fixed PHP warning if $woo_options not set + +2010.08.01 - version 2.8.07 + * admin-functions.php - Added Google Fonts stylesheet generator + * admin-interface.php - Added Google Fonts options + +2010.07.26 - version 2.8.06 + * admin-interface.php - Added fix for secondary inputs resetting on zero values + +2010.07.26 - version 2.8.05 + * admin-tumblog-quickpress + +2010.07.26 - version 2.8.04 + * admin-tumblog-quickpress.php - User Permissions fix: does not allow any user without publish_posts capability to see the dashboard widget. + +2010.07.19 - version 2.8.03 + * admin-functions.php - SEO upgrades and fixes to archive indexing and outputs. + +2010.07.14 - version 2.8.02 + * admin-functions.php - added Taxonomy Archive title information to SEO function woo_title() + +2010.07.12 - version 2.8.01 + * admin-custom.php - wpmu fix for versions prior to 3.0 - get_post_types() not supported in 2.9.x wpmu + +2010.07.08 - version 2.8.00 + * BUMP VERSION + +2010.07.08 - version 2.7.29 + * admin-setup.php - Added woo_comment_reply() (moved out from header.php), added function_exists to some functions + +2010.07.07 - version 2.7.28 + * admin-framework-settings.php - removed the framework beta option, now permanently enabled. + * admin-functions.php - Fixed and added SEO keyword output for new options + * admin-interface.php - Changed loading credentials for framework update page. + * admin-seo.php - Added new options for adding site wide keywords and descriptions. + +2010.07.06 - version 2.7.27 + * admin-seo.php - Added SEO option to disable the custom fields. + * admin-custom.php - Added functionality to disable the SEO custom fields. + * admin-functions.php - Changes some Special character encoding in the Keyword and Description meta output + +2010.07.02 - version 2.7.26 + * admin-custom.php - Made WooThemes Custom Fields/Custom Settings appear on custom post types automatically. + +2010.06.30 - version 2.7.25 + * admin-seo.php - Updated wording for SEO options. + +2010.06.28 - version 2.7.24 + * admin-functions.php - Adjusted woo_meta(); and other SEO functions due to third party plugin queries. + +2010.06.25 - version 2.7.23 + * admin-functions.php - added fix for possible WordPress 3 Multisite on blog.dir issues. (Commented out globals $blog_id;) + +2010.06.15 - version 2.7.22 + * admin-seo.php - Added notice for WordPress sites set to private. + +2010.06.15 - version 2.7.21 + * admin-functions.php - Uniformly sanatized SEO description outputs. + +2010.06.01 - version 2.7.20 + * admin-function.php - Fixed some possible issues with get_the_post_image in woo_image. Also fixed SEO keywords issues. + * admin-interface.php - Changed JS to iterate throughout hidden classes/options more accurately. + * admin-setup.php - Cleared up some php notice errors. + +2010.06.01 - version 2.7.19 + * admin-custom.php - Modified the output to store relative ID's into the page markup for custom fields. + +2010.05.27 - version 2.7.18 + * admin-functions.php - Formalized the the_post_thumbnail to work with rest of the woo_image structure. Post linking and WPMU safe. + +2010.05.27 - version 2.7.17 + * admin-custom-nav.php - Backend fix for 2nd+ level category descriptions in the Add an Existing Category box. + +2010.05.26 - version 2.7.16 + * admin-function - Added fix for images used elsewhere in a theme with custom width atributes (html resizing) + +2010.05.26 - version 2.7.15 + * admin-custom-nav.php - added error trapping for function mb_detect_encoding() which checks charset type. + * admin-setup.php - fixed index check on texttitle, Adjusted save on activate + + +2010.05.24 - version 2.7.14 + * admin-interface.php - Rectified problems with $woo_options not resetting and repopulating on import. + +2010.05.18 - version 2.7.13 + * admin-setup.php - fixed output of custom css from options + +2010.05.12 - version 2.7.12 + * admin-interface.php - Added jQuery for collapsable functionality in option page. + * admin-functions.php - Modified woo_image() to handle WordPress image. + * admin-setup.php - Added thumbnail setup + +2010.05.10 - version 2.7.11 + * admin-setup.php - added check for textitle from old theme options. + +2010.05.03 - version 2.7.10 + * admin-custom-nav.php - added stripslashes to handle escape chars for before_title and after_title params, russian chars now supported, current_page_parent class added, 2nd + level apostrophe fix + * admin-init.php - Versioned up to 2.7.10 + * admin-functions.php - Modified woo_image to support gallery functionality, modified woo_title() and woo_meta() to use plugin data and display paging details. + * admin-style.css - Added new classes for 'info' options + * admin-seo.php - Added more options to Options Page + * admin-interface.php - Added 'info' option. + +2010.04.29 - version 2.7.09 + * admin-custom-nav.php - added depth arg to frontend output + * admin-setup.php - Modified theme activate save function to retain non-common options. + +2010.04.23 - version 2.7.08 + * admin-interface.php - Adjust image upload return class to match corresponding CSS class for resizing. + * admin-init.php - Versioned up to 2.7.8 + +2010.04.19 - version 2.7.07 + * admin-funtions.php - Added support for removing special from file uploads. + * admin-custom.php - Added support for removing special from file uploads. + * style.css - Added z-index to options wrapper + +2010.04.14 - version 2.7.06 + * admin-tumblog-quickpress.php - Swopped out default WP editor for simpler nicEdit. + * /js/nicEdit.js - added nicEdit wysiwyg editor compressed source js. + * /js/tumblog-ajax.js - modified to support nicEdit. + * /images/nicEditorIcons.gif - added editor icons file. + * admin-init.php - Versioned up to 2.7.6 + +2010.04.12 - version 2.7.05 + * admin-framework-settings.php - Changed wording for Framework Core Updater option. + * admin-interface.php - Modified version checker, avoids possible user theme rename. + * admin-functions.php - Updated Framework Updater to ignore lesser versions. + * admin-init.php - Versioned up to 2.7.5 + +2010.04.12 - version 2.7.04 + * admin-init.php - Versioned up to 2.7.4 + * admin-functions.php - Fixed SEO and 404 page functionality + +2010.04.12 - version 2.7.03 + * admin-init.php - Versioned up to 2.7.3 + * admin-tumblog-quickpress.php - removed reference to old validation css + +2010.04.09 - version 2.7.02 + * admin-init.php - Versioned up to 2.7.2 + * admin-interface.php - Added Datepicker and time controls + * admin-custom.php - Added Datepicker and time controls + +2010.04.08 - version 2.7.01 + * admin-init.php - Versioned up to 2.7.1 + * admin-interface.php - Fixed error with default values for textareas + +2010.03.29 - version 2.7.00 + * MAJOR UPDATE! + * Added admin-seo.php & admin-init.php + * Changed base theme loading structure to admin-init.php, to resolve pressure from themes functions.php + * Converted all alternative options pages (SEO & Framework Settings) to The Machine and the AJAX save action. + * Added resets to main options areas. + * Added branding and super user support. + * Added SEO support. + * WooNav fixes for edit error, js error, changeover to wordpress default scripts - admin-custom-nav.php & custom_menu_dynamic_items.js & custom_menu_initial_items.js + * Tumblog functionality fixes for dashboard widget and cURL error - admin-tumblog-quickpress.php & admin-functions.php + * JS minified - jquery.autocomplete.js & ui.datepicker.js + +2010.03.25 - version 2.6.05 + * admin-custom-nav.php - bug fix for special chars and the sidebar widget - added block class to nav widget, updated db links field to use text instead of varchar + * /js/custom_menu_dynamic_items.js - bug fix for special chars + +2010.03.22 - version 2.6.04 + * admin-functions.php - Updated WPMU test in woo_image + +2010.03.18 - version 2.6.03 + * admin-functions.php - Comleted first version of WooFramework Updater with Direct and FTPext support + +2010.03.18 - version 2.6.02 + * admin-custom.php - improved calendar control for multiple calendars + * admin-interface.php - improved calendar control for multiple calendars + +2010.03.18 - version 2.6.01 + * admin-custom-nav.php - bug fix for custom menu items current page item class if using static home page + +2010.03.17 - version 2.6.00 + * admin-custom.php - added handler for post/page metabox for calendar + * admin-interface.php - added handler for theme option type=calendar and JS, CSS scripts + * /js/ui.datepicker.js - Added datepicker JS + * /css/datepicker/* - Added css and images for datepicker + +2010.03.16 - version 2.5.07 + * admin-custom-nav.php - bug fix for custom menu items current page item class + * admin-setup.php - added define( 'THEME_FRAMEWORK','woothemes' ); + +2010.03.15 - version 2.5.06 + * admin-custom-nav.php - added support for umlauts and other special chars + +2010.03.15 - version 2.5.05 + * admin-functions.php - added 'Off' functionality to the url shortener + +2010.03.04 - version 2.5.04 + * admin-functions.php - fixed a bug with getting first inline image in post in woo_image + +2010.03.04 - version 2.5.03 + * admin-custom-nav.php - bug on opening external links in new window + +2010.03.04 - version 2.5.02 + * admin-function.php - switched file_get_contents for curl + +2010.03.03 - version 2.5.01 + * admin-tumblog-quickpress.php - added tag support for Tumblog Dashboard Widget + +2010.03.03 - version 2.5.00 + * admin-functions.php - Made Generic woo_short_url($url) function that uses bit.ly or tinyurl + +2010.03.03 - version 2.4.09 + * admin-functions.php - Added TinyUrl shortener function getTinyUrl($url). + +2010.03.03 - version 2.4.08 + * admin-functions.php - Fixed a missing character in the woo_image function regarding non resized images. + +2010.03.03 - version 2.4.07 + * admin-functions.php - added double check for WPMU $blog_id + +2010.03.02 - version 2.4.06 + * admin-functions.php - line 153, removed the extra [0] from the $first_img = $matches[1][0]. Was giving an error. + +2010.03.02 - version 2.4.05 + * admin-custom-nav.php - removed id's from menu items so that menu can validate + +2010.03.02 - version 2.4.04 + * admin-tumblog-quickpress.php - fixed Audio and Image upload so that they now attach to the post when using Woo Quickpress widget + +2010.03.01 - version 2.4.03 + * admin-functions.php - Converted woo_get_embed into woo_embed (like woo_image), and created a working depreciation of woo_get_image. + +2010.02.25 - version 2.4.02 + * admin-interface.php - fixed bug with Tahoma font selection + +2010.02.25 - version 2.4.01 + * admin-functions.php - woo_image is upgraded with 'src' to accept image url's for dynamic resizing, and 'meta' for title and alt text. + +2010.02.24 - version 2.4.00 + * admin-functions - Added Dynamic Height calculation to woo_get_embed. + * admin-tumblog-quickpress and associated files - added tumblog files + +2010.02.23 - version 2.3.08 + * admin-interface.php - Fixed bug with saving mechanism. + +2010.02.16 - version 2.3.07 + * admin-interface.php - Fixed ajax callback NOTICE errors, fixed color box bug, removed cleanSource() from image uploader in the machine. + * admin-framework-settings.php - Fixed XML markup error. + +2010.02.15 - version 2.3.06 + * admin-framework-settings - Modified SQL queries for possible compatibility issues. + * admin-interface.php - Modified SQL queries for possible compatibility issues. + +2010.02.10 - version 2.3.05 + * admin-framework-settings.php - ADDED - put most of the Framework settings HTML interface in a seperate file. + * admin-framework-update.php - ADDED - New file that will act as the template for framework updates. (BETA) + * admin-interface.php - Wrote new checks for update messages. Along with save functions for new framework settings. + * admin-themes-page.php - Modified with WP_Error checks. + +2010.02.10 - version 2.3.04 + * admin-functions.php - Added woo_active_template() function for checking if a template is in use. + +2010.02.07 - version 2.3.03 + * admin-interface.php - added more fonts / stacks + +2010.02.07 - version 2.3.02 + * admin-setup.php - custom css wasn't outputted if text title option enabled + +2010.02.05 - version 2.3.01 + * admin-custom.php - Don't show thumb.php in image custom field if there isn't any image + * admin-functions.php - Added a double check for WPMU files path + +2010.02.03 - version 2.3.00 + * admin-interface.php - Added code to compile all options into one database row, woo_options. + +2010.02.03 - version 2.2.08 + * css/custom_nav.css - fixed child item margin + * admin-functions.php - defined $_REQUEST['options'] + * admin-interface.php - $update_message was undefined variable echo only if isset + * admin-interface.php - fixed line 880 to check if variable isset + * admin-custom-nav.php - implemented custom nav fixes and upgrades (upgrading made easier, version added, max width, anchor titles, reset confirmation, optional open link in new window) + +2010.02.02 - version 2.2.07 + * admin-custom-nav.php - fixed current_page_item bug which occurs when pretty permalinks are on + +2010.02.02 - version 2.2.06 + * admin-functions.php - Modified typography option + * admin-style.css - Modified typography option + * admin-interface.php - Removed usage of thumb.php to display uploaded image. + +2010.02.01 - version 2.2.06 + * admin-setup.php - Added functionality for editing menu items, updated menu add, current-page-item class, added reset button + +2010.02.01 - version 2.2.05 + * admin-hooks.php - Updated with new hook definitions + +2010.01.29 - version 2.2.04 + * admin-setup.php - Automatically show Options Panel on activate + +2010.01.27 - version 2.2.03 + * admin-setup.php - Cleared some PHP Notice warnings. + * css/custom_nav.css - added ico-arrow to WooNav + * images/ico-arrow.png - added ico-arrow to WooNav + +2010.01.27 - version 2.2.02 + * admin-custom.php - Fixed a file upload handle error + +2010.01.27 - version 2.2.01 + * admin-functions.php - fixed parameter link in woo_get_image + +2010.01.26 - version 2.2.00 + * admin-interface.php - Added custom navigation menu optional functionality. + * admin-setup.php - Added custom navigation menu optional functionality. + * admin-custom-nav.php - added to repository - all custom navigation menu functionality. + * admin-functions.php - Added function to show options on html page + * admin-inteface.php - Added new framework setting to disable output of options page + +2010.01.26 - version 2.1.02 + * admin-functions.php - Cleaned woo_image function and added functionality to get first image in post (not attached). + +2010.01.25 - version 2.1.01 + * admin-functions.php - Depreceated woo_get_image and forwarded it to woo_image. cleaned up and fixed cleansource function to work properly. + * admin-style.css - removed import reset.css + +2010.01.12 - version 2.1.00 + * admin-hooks.php - Definition of hooks that can be used in theme + * admin-functions.php - Added function for analytics and IE output in head + * admin-setup.php - Added function to output css in head. Removed legacy comments function. + +2009.12.23 - version 2.0.00 + * MAJOR Update (Beta) + * Temporary check built in to prevent 2.9 from bombing out on the RSS functions + +2009.12.18 - version 1.2.03 + * admin-functions.php - Fixed WPMU in woo_get_image when resizer disabled + +2009.11.02 - version 1.2.02 + * admin-functions.php - Set thumb.php parameters to have width first instead of height. + +2009.10.12 - version 1.2.01 + * admin-functions.php - Added support for WPMU in woo_get_image() + +2009.09.24 - version 1.2.00 + * admin-interface.php - Added icons to titles + * admin-interface.php - Rewritten jquery slider animation to work with new icons + * admin-style.css - New styling for icons + * /images/plus.png - ADDED + * /images/down.png - ADDED + * /images/up.png - ADDED + +2009.09.23 - version 1.1.01 + * admin-setup.php - Load default.css if options panel has not been saved yet. + * admin-interface.php - Fixed 'reset' not working properly. + * admin-interface.php - Replaced Woo-icon in back-end to reference local file. + * /images/woo-icon.png - ADDED + +2009.09.15 - version 1.1.00 + * admin-functions.php - Added sort order for "auto image" + * admin-functions.php - Only add rel="lightbox" when linking directly to images, and not permalinks. + +2009.09.07 - version 1.0.09 + * admin-functions.php - Added suckerfish hack to woo_get_embed + * admin-functions.php - Added $class to img tag when no resizer used + +2009.08.31 - Version 1.0.08 + * admin-interface.php - Converted file uploads to wp_handle_upload() + * admin-custom.php - Converted file uploads to wp_handle_upload() + * admin-functions.php - Added IE7 fix of empty height on woo_get_image + * admin-functions.php - Removed "permanent link to" from woo_get_image + * admin-functions.php - Added rel="lightbox" to woo_get_image + +2009.08.26 - Version 1.0.07 + * admin-setup.php - Added localization + * admin-setup.php - Added custom.css stylesheet link insert into the header + * admin-interface.php - Changed ABSPATH to get_template_directory() when assigning the get_theme_data argument. + * admin-functions.php - Changed ABSPATH to get_template_directory() when assigning the get_theme_data argument. + * admin-functions.php - Reworked woo_get_image to be less dependent on php function and added, 'woo_force_all' and 'woo_force_single' options for image sizing issues. + * admin-interface.php - Reworked the file uploader to catch permission errors. + * admin-costom.php - Reworked the file uploader to catch permission errors. + * admin-style.css - Added new style for error popup + * /images/error.png - Added icon for .errors class in CSS + +2009.08.13 - Version 1.0.06 + * admin-setup.php - Removed permanent woo_option_output() from wp_footer. Added as parameter. + * admin-interface.php - Uploads rewritten with Content Directories Constants. http://codex.wordpress.org/Determining_Plugin_and_Content_Directories + +2009.08.05 - Version 1.0.05 + * admin-interface.php - Fixed but with Abolute path on Theme version checker. + +2009.08.03 - Version 1.0.04a + * admin-interface.php - Removed Update notifier. Added support for '&' in select boxes. + +2009.07.27 - Version 1.0.04 + * admin-functions.php - Modified woo_get_image(), added get_page_id() function, added post [insert] shortcode. + * admin-interface.php - Added Update Notifier, + * admin-setup.php - Added custom CSS header insert, added encrypted footer woo_ options output (debugging). + +2009.07.16 - Version 1.0.03 + * admin-functions.php - Fixed woo_get_image syntax. + +2009.07.07 - Version 1.0.02 + * admin-custom.php - Added alternative method. Javascript
    hack for IE7. ie. Custom field uploading IE7 fix. + +2009.07.07 - Version 1.0.01 + * admin-functions.php - Added extra "$force" argument to the woo_get_image function. Adds ability to force woo_get_images to be set to given dimention when GD library is not available. (small image forced resize bug + img load missing height bug) + +2009.07.06 - Version 1.0.00 + * First Logged release \ No newline at end of file diff --git a/artificer/functions/images/1c.png b/artificer/functions/images/1c.png new file mode 100755 index 0000000000000000000000000000000000000000..6bbb1c31cf4ef4c37c7ca49650f000ce1a66f023 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^xfMzo7TnbtqtD0mjCIu WuhZ_cvep9)XYh3Ob6Mw<&;$Sh&ocx7 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/2cl.png b/artificer/functions/images/2cl.png new file mode 100755 index 0000000000000000000000000000000000000000..fb1db09c3ec1bb80b1a1977519ca43b53f76f793 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^x@vUvQ~Iq9<8|6o+_yzG8w$L4FbNj=@u_UW~3@Vk5`ue$8s@8HSX zZ7&8XyLK;fcQseNuu|w(z?THxxuSQcR`t(%A!m|tVS!^a8?O|C@uL20k}JE%mdKI;Vst06-E&g8%>k literal 0 HcmV?d00001 diff --git a/artificer/functions/images/2cr.png b/artificer/functions/images/2cr.png new file mode 100755 index 0000000000000000000000000000000000000000..a832f28f498745f83dd8cfb36f2b515f58d589ae GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^xQo^rXJfI76xc*NFElPFtu}kMfAR!nK@tQbXa8XlzYGT&WUSZo3n4L^&9%lvUEJ= z{zBl;x)(kdw@&k1wWsik literal 0 HcmV?d00001 diff --git a/artificer/functions/images/3cl.png b/artificer/functions/images/3cl.png new file mode 100755 index 0000000000000000000000000000000000000000..212851df741bd95b4c2380eaa857b7f39ce54dca GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^xaWClEDb96O!pR=mV|G%S4)An_fgH~;M`*PN*Do^Rha)b&r~G*E6((n);U^?Ls=9pkmp(`Kq^>Zc_4guB$dKX+H%Q!UfJ_)k-u zvJ#ND-RnzCOPtolV8LI(opsG@yiz6^7Zx}oG5*#^uX);#v$JZx@zvd>49o`?Ubi-m RsRX)$!PC{xWt~$(69BUFLO}ok literal 0 HcmV?d00001 diff --git a/artificer/functions/images/3cr.png b/artificer/functions/images/3cr.png new file mode 100755 index 0000000000000000000000000000000000000000..fabfd66a4e4134d855ae0a6b191b0207c8ecf07e GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^x|By@uyNTm~>u{Lk&@8WQa67~pE8XTZz| z6jc1l!phFT%Af;M0MgFDtR1n7;rE7vqD_-hd&1XVkxtjWm15_l{x`66)s*<;& zIqgd8kM9qDI}uGk4+95Kzf{C7!QW>b6+?mvNj_N;l!eUOQPRYGhrlUC+cJ5Gf0Obl#L*GNa~ zva;*3mB?mn;M`ci=eV&jJgnhV*urUtjF8kbz|~7}a9zFEz1K6FBcG>yqd@C6(eTfv zQl(*PFTk$nL7iZ00;2@d-LYa%ywpHrqk_yu)8f?Y*!mw4oEarz#!0&5MwWD0+@J|1hK}O#)Aoj z3m9+e$&)7&LgT@r5sbkgL}N^f5n@}uG^T~_%Fgbac_03Mq+F>10002Mt{^PF7x>|% zl=+Xxj~_d?_|Ds_ln?*_b6pooDQK;Sec%6R$7FlHT5m$-a%U6|KP7W{jC1<|05B;f zl93YfEQ`W8uGX95Xg$$Jp6Boi{$45bBb?ix0s!0G_!pE?B&Cvc98Y)!ABDmYq*8EP zj{+nF003ad7zi-{W1MNN9U%lBr#4g-OoPXTv@pZ#yJ0i5E?h?^{Y}LuT?7|DEd8P4C|-8yFXvMzRPvJ zi$M^aW_~f8ij!od(P*@PU%4fJy73FbV(1&At=4#xJ?wM}V-pikhjDa@a+?dzU3i5d zN-V;K$hZ)K4}`Eh&#RWp<(P9<83RTEP;Cr^$a1N)pp=4I3;>1Jpi(L>r6fjcNkPc{ zt*tHj*V=lglq7!+1_N>D?mgsrh9rr-d-oqym~F8j@L>hTAQM@}l`=ag#>f5{EhT?% zt5xEe=_gsQ_n0hy`<=ai?+chec;KQn6okJ;QM8%KeEyGHx5tKjKaJziUtL>uE-ZbG z9j)!;-IFJJQ53yThD&9%S}nZ(+N%rQUhm_}KU{5WY(7MJw1mTl4&cosrJqN`}Tane)-Ckw^rBJmtX+cjx)hsZ^mML zH-M?pdh_heGtZf?E-bB_T3p-*U>d;o<>gC+*p7QmDb>{4Xb>uGuMqh`vB){s-Oi(p zez&V^hi`m;>6;Ik=Xsya&CMNoWntmvH0@`UQfZ9o4hDkSwq4X(k!`hVb#`|4=>I^K VHDu0H@=pK&002ovPDHLkV1m4icn$yn literal 0 HcmV?d00001 diff --git a/artificer/functions/images/btn-tumblog-image.png b/artificer/functions/images/btn-tumblog-image.png new file mode 100755 index 0000000000000000000000000000000000000000..551d1a1e45b31e644ad2c51a7b990275728d69da GIT binary patch literal 813 zcmV+|1JeA7P)7#g!-`MMMNY zK#mc%s4{my&ecV?dB;LSZBnAvKp)&B6zW2-MV znyu1#FJ=b8>@pbCdt_M+(>xz40L<4LsMRuSHrw4N&z_sVbm{VZr?UVu!Dx>_L;w-N zWRl~k-^ZXogqj)53|{B@7hkye<@W2_Yp=Zg(!ImO-Z%L)uO|MZg~`NwS2pVP?u{?L z+MeXayw)3y>+OY3vvaCjb~@eeQGdXXKKV@V{Qk%3(P(S}a}TQ#7iIsi zy?i`5rq0dRk2lYsZ@;>=HKcJ|lm$@D3e50tx1Do#oKN-Z@4jDYw-%b3Ws4z26h#3A zAgyKt?RN9l-rnxb<2?73osX8P<6t=MPR66RVv0rs6NwN?XovxMQQ)ZGo8G;9uQ!>D zGlQJ~%F<{w_J>CYEXo36Knww8h|m}!LRrF6@?@%!DLW}XCMl(qvgx!yEK5Lu7!qO` zpk{>8Kr;}A%3C`zghm5N&;T=lmOx9;L?WdGGlLQT+>*_rR6Ry8Mi>(^^(1K_#tK9x zkgS?u0B6am6w`=EA|_%m93qk;B2Y`LAVBpTc!DA^2mzYGJ7G~2bD!S${I!GohtJe% zS)l|#7z8kJAOwVon?ZsISnVPfVsgFSV6D^XoNl)osvsfG!K)_kHK;0JaI-w}s>!Ry zl#&ZEq^oc5Tz_Zhiqz|K8|u~Z{=orm{%~u3Z+BP9Y3|Hs2husm5ZQq9HSe9@*jWD) zzy|=JWl^+l-~I`|{B~zEg}51G33B!yBm&g33}qw+!x7BPKlmK9)``)!{@0T$J r5eWV#M}PnVW1=iCEhP~tAFTWhk|@f$ zTWl0%7(MgPKeMwlvpaj6-JRW*UbgF&mL*^*rKPfNODh^kNU#(tC>lc27!oxx8hA6r z7c^?(0})L?Vo*>DiV}AWQM^32qJ+*DO6QM{>}^p0bxm2(z>oM zlqK1wl6*?nwNss)YjYc)Sr3ZY6z5=!8Imlo^!v?M%#ih{;#A>us$k5Sgpij3 z4ANOF7l=rgtD63*6}D1_FCYiZAQF$nQ7jgb$y`S^>s&p3mz}yeK0dxUUntVt^o=gjp*TSZ0i}1bBuTm} zCIoQXzBd;L0ipCouixJ;QHnx-1_J|w_@d{?4OLb5QBmw$(zq0Tf1O+F_4`|7SwVYi zTKvxsm~G3VM4Dv9vB;q))FC^5bs5Icwc%@VX4@cw0KXZAKVV{VV!})$s^5C&y?1$` zSZs8;jjdDJY1Gx#p(JYc)B7pr;G8Yfbyv4(2A?p4VXvxb7|9H0M>4~ipc#sWttf(4 z1a8BNnS347mhFl51Hc)$rop;$ou!X%z-OXIuVUg3|veqYFnpf#Ps3mdx%Wphg3 z1n`;Q_IM$RV!as%?F&Vs311+9nz=RLb`eLv{t65PRwN3S;ROT&hoYdmsuJxjDG zHg|irYBnot*R1yBgl#RF)l890cL8g~o=(X8>#&y*_qDcj>>qw6)t; zR$j3wUKPWoO9MD~_z1c>p1$mMyUv!)nR8W9lt2H^KNNy6B1#ma*T*n;Z7teb zQe%}Bn+a07*qoM6N<$f>_%zivR!s literal 0 HcmV?d00001 diff --git a/artificer/functions/images/btn-tumblog-note.png b/artificer/functions/images/btn-tumblog-note.png new file mode 100755 index 0000000000000000000000000000000000000000..4645eec594b5d55587ebd5fb09a285d677118b23 GIT binary patch literal 622 zcmV-!0+IcRP)vAj1li$IVqP{^E|)* z_RZ^;>uYV)P_x+>A3swcX^l}!Q-lyu>{|l7^K5oDs1FQHlq=Pz^Pgs?*Vo$5Rjrm5 zgQtcWX^qiH2ar1Det&d*`BZeG86>#_2|%8*Lp^aguyUXU*Hi)BQua{x1MF@fSkq`pP zJBPJ~E7x2&~D`Mx&hHo7hy6v{nZ3=W!0>yhm$|F$U$G#~91$ z)+m=QoF~L^B&raCL?$dPuQ1bILu-xlG2or!{md*M=N6Dca1u$95JSK@hjPwgtcG3} zvTU!%<0zn1?jsR`Tx*okhF+F4H95)T<%`4^iN{4v5P)4pZB*x9(CjETOfVb|LK6LNOYPMX77_K_09;lbRUg zL!;67s)?dO0+#q-X!L>NgYg12kpfv_)3`Q)-EPBPW;s-@I_)JSKpKYN_P@^6-(V=N>qCh-$r#)-3FIb}yuv`XT6_18A)Q z$hB^`Ughe8lQXAV?Spt;g(OLi4}#v;;w1SF@Fx>6O0M_fk;$3o<{tVi6RkFGxr~sK zz1k>^S{Md!-Y^xWy$`D08>Jb+Uwp|xgnV`ID@M!!~>dPe3t zpBim6E*(5{gz;93>d+95>r!+|jEpw03XZwE*ZHmxqF5@qScT$ZV{Ggj2M--)e4<6A zUdJi9xSq$@_yKY)#|B}zYFdVQd}w5}Q5zb@E)-Epp_Bq4$dy8xCK|@VFr3)h+WMbu z+s}@SHtlM?j%63fvWzs%5K@2?fFM`uQL|8V=3TdpX7%<~%IAq1P7cdfbE>Fx36*mVE^qf{=FDb-b3 zmLiOEhGB}J7qGLtGk$9E^Z#&5rH^gfCJaNazVQZzVPM-g0*P0NY8DV7Qekd7e{t-SuLj@UR~QQ>JZmcXO*`S!R9y=$HaBaPvYSp%O};IJ&_=mZMQe@YII)!Cy;`+;s@wI)f^fjQ zH*U;)`P|ccBO}BA0$6zD5pKT!0e82y0OH}H`hOj#c&_XByzSjR*4EbMm!Ek2PP5tk zNXBtY9LFR{LY$_z54BrgA04iJD7E6-s}~s`Z+;a30HE9T(ORRmrdV|TZ3z8BnnZhE zxx_bDFP7Ww_KFZfiXZ>6vglVF%Ns}cpTe_os^J*h^n?UX&ORT6|h1G+8v;%Vv7(Gh<*n?01KAvL6ikT z2=N7=Qe#MiL>u~0T_>($*v^d63zA@Mzu|?c{@?CxwuD^R#Y)a>fM_0b>jhkrfMtK@>&d z^3th`xm+-9G#Z|mEtRhcDX(<9eWz3|9S#Ql{Wyw4Yi(9r?Hgl!t(EWl9*^S4y}S3% z%k6fjA{{Z7jDdZ9b7PPwGu0|}t+CQt!vKhJ#({u<5SccbPbX7;X62RfT%{5>o-|#l zw03^`{Z@{cGg*E0oH~pmZ!{XaQVPi#2LJ$zmbsoIEh68!vl|3K4rhzuPy&HoTU|X& zQjLW|UM$wC_mXrP3L!mqG!_sM6pLZJU9ZpQ3opeB)he}Gt&B9ri25IY<}5N~oCR~` z+4n43NtOgL0tO6#fQ01GXddKdW@embb6*z=g}x*pvwGpYnk0&hwfx+fmC9f^oD$N1 zj4%e^c&-BAW?`Y034%Z$w4MgiTI=lW{>3NLbiA>?9&Oimwwnh{6hcU#qu7YZ=PKo1 z6vyG6-QHWC=S_nkm`EZrroJ#dt% zaYstuiRe5}O|8;NEA%ba6j)5k7TbN(gNwC&D)Y{1Cu2PhDy(ymnp7_1Ai(k{X>FbJ zg$yQ1aX#U+v{)u7c4kS5=DdO;0Y*k<=8BdGnYaWYcOkak83LIJ0`39}`h<8zSFc^O QT3n!+Z|k=0I}{nL0T`orxBvhE literal 0 HcmV?d00001 diff --git a/artificer/functions/images/colorpicker/blank.gif b/artificer/functions/images/colorpicker/blank.gif new file mode 100755 index 0000000000000000000000000000000000000000..75b945d2553848b8b6f41fe5e24599c0687b8472 GIT binary patch literal 49 zcmZ?wbhEHbWMp7unE0RJ|Ns9C3=9Vj8~~DvKUo+V7?>DzfNY>Fh|Ltj$Y2csQN9XW literal 0 HcmV?d00001 diff --git a/artificer/functions/images/colorpicker/colorpicker_background.png b/artificer/functions/images/colorpicker/colorpicker_background.png new file mode 100755 index 0000000000000000000000000000000000000000..8401572f1939a1a24c1963513573b0194ad36ee0 GIT binary patch literal 1897 zcmY*a3pATo9RCoHhLk=v9+hya?P*IB^(tbYgf7-$bhEY|(I?UtUPi9vs#R ziy#P&{yr@fLG&2ly2iu^RFBrRRp1Ms>i=nK7%MiF8HO#xOG2 z_n6)YVr)vMq5IN*f2sWccT3)gRvu2oXh6my%^v}*O;ra5-< zrfBywZT3aSz8bWP1#@=ep&&&2r%2Xx zddEiY1@l}|b6YxdaO6Q`RJq3)wtKZi&2z5yNzot36|pnd_gApH!?MH9gq?hIkpDQ? zoi#k4#OM3Qvsl*nW+NM0+h-~TfAN~J`Np!FYfHA<4F{vc3Gd`y^@%F1#Ljo6xgBMf z>q*?e(2(gjbtEPC06P3(T2t>_N`opfT&(A|#nr9ubq;Roe8EGc50&a+@Ca&D8N&V5 zfWzVZ*wTW^c5k?}vCRiBX+63NTRRx9IULPb=kLtbG7G2PR9LSNtF=j!&s8JxkH+I- zofPjPqCAy{x*V^kY%4z8I+~=}5Ut2+RB9hQnF-=Yy8f)_*S6oz?C#RkmvpMq7QP(o zbZ!bUKi!a-F8i&JTjM>>TAUAmd?)cz-HnW2PWdWk#$QRa^0SMsE*Ei8-<`C&zPP^R zdHWR`(Q|r$)T?{(gtteqpleg1llyjZ0ZVLw8leHw(a;G~vcN1Y>6s-e44f7NN&vzO zSzky!K z<_U2aPpuI;9PaSb&;Ej+#b@gJvw)$&8ZCQ!O0HDG-5Ryk0-~ziB-tPWKJK=>?ocx|gRt#KYNSCK| zmrMW=4om~tMIU%ONCY$t9RcY(kaUNR#1=v%^?pW-QzJnZCkAr|iCQDD687K8FZ`q_ zi57h%KMX!lwtAe@@x)l}04zNB(A4Qum^BC!^1cdZ=xa=ei3OvQ+5@W08>NszykE}f zv?z;H%6*$BjvuB;iP6rpc{~#`#C$juv62eaJ-(#wzbS@&`|x8xR0#<2lFZ9l84oq~ z)RtYb1_uH_On@$HmKKWl$={|vFVC?D2S?ere)+Ii3ZCYJc1u{wg0CgRowk%p6z-vm z25al~YDe{K&MKf#`#$i4g$_`C3_gpv%r}IrbhdU7n7ws`iL~u?7mnTC+5f*Z3oqn> z!F~y5)zR3`!AmrFCO)o-qINJDjGjk AumAu6 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/colorpicker/colorpicker_hex.png b/artificer/functions/images/colorpicker/colorpicker_hex.png new file mode 100755 index 0000000000000000000000000000000000000000..4e532d7c65393fe56d7463e1da3faa591f03de84 GIT binary patch literal 532 zcmV+v0_**WP)h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA2nn^@KRCwC#n6YcZKorKmBnM{5VnN~}9ReD%Nhj%)e@2UckI?wn+*F*3;85I( zxENdy>|*I~AlHjh(Li4w_e~$k1>TSMlH7e>k|a?SftQq0B8sB@e$Nc7)9DBRzVCyb z1b`q2c!CKbZg`U5o2itl0Sv%)yQM?b>-9{KyTHhep8?|QckHZYvzcW~5d<@9^YvHp ztN^T5E7MqasmZKO0Qfo_tQD_Cp^cRCbkSPY3PWmOrwUtP=mYq!XfhrH$n!kUb8V{2 z2zJb@O#p!BU0T}j_bo$O28aMq#VY1=a}K4HFOx|FxU3(vcdlc4{G^oH07wS|@(ugl zu}h2#{EpG-rzyuU{=%QDL_0lRX0#t`gyJhJT=_461{Fr^gFFz2D& z?#3}Quw7Y-ZXCZam(0MPhC`Q9H4*H#%p;?>f&5sn>j`t-77IF5&!dq`sa#4$MD?Up z1Z7s}QYx2H{U_Ho#}=1TQ65E?QgHyga(l)Q>~phW+cE0rF`i(%vV0^K=++YE{0sm& WpVhv@?^YTB0000h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA4P)S5VRCwC#nn6n&K^TU=-E6Jmny{kAgHdYMnDn-IF?jG$4BqP9gMtMis0Dw8 zAV{dW=nt@ez?%dVDIU_2gRqI_5Em~-k8ZNXWV1btZa3MO4c19#+Wqh_Zf2N=;hoLQ zLzrMN$n!kVR;sFUJkQ_V-BE`=I5@}w0L!vKVQ~Q9@px!O=Q!>KBXRE#RaJ4J1Hkq5 zH74#rAmB*#N9cI-&+9?5X8Zj7{P_5|^XQH{u=yKC6vb33b$ff;+uIw9#SFtZ zJw0vcV;BZjbSqURlaVB;VRjAxerlS1&~!NI`5fVIQh?ryB; zCRH|X*Y~znJyFxHP3oeqGU3e&1O9;`*C3*9*=)dr#lP& zn<{s4fg0h-$-2z|0F15BXa1p~(a}*s5CEWXbyYJAdmo&O{#YpD48vSpURq~=HZW^z zYn4ic=lPM5k&}~?zi?i#P(>mU00>*Q=~G~A=!rx^QIxK(E{0+5@9$+<_W68FXS3cg z9in$e&*$@{Qpx;xe0;nc^Q+Ji{h4jrtW!Iut3V(?BD!Pgx=!e-({Wy>6NMqMNDj~M~n z)!GO=qQA@t;I7t2;1S(50Ji7R-H^E z;Fxt5y+yKp{*YWFP<>kUy}douSY2JE!wBfrD*F4hvVtJ@ z_xH_*L>mEXHkOx{0bprq$rczQjer>#REvv?4Nu550(w0tO-7)tlOusf;N935Ms)0f sary=%7ro}V>f{=MmOlY4Yuc{?08g~^-7;vm)Bpeg07*qoM6N<$g2&OnRsaA1 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/colorpicker/colorpicker_hsb_h.png b/artificer/functions/images/colorpicker/colorpicker_hsb_h.png new file mode 100755 index 0000000000000000000000000000000000000000..3977ed9f21e3186eefd37b198a7cc3f8de6c69cb GIT binary patch literal 1012 zcmVh+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA4dPzh1Z?xtc9W|d^8%pySrl!Jsywq01yZSfWhDafa5q;(RrSK!_25Mnz_o6R-Q8VL6wU6+%F4pRf-Q$MI@dS4=mAHh)9FT|@$~eByOWcX z!Cq-b_?cFRh?(5s;V}d2mk4K?&4-6bIBX^iheAZrO{%IS z0YIfv$z`+F(Rl#Sb=`U9^73-C*$nbL0E`QQVHk#CxMmUxbFA4+=9etvc4lVg#bpWz zInPX|)2gcCza|_G>$(mIxn`0I%UGFA#{CZCigR#qP_0(EKmY)WdwYgq^vWbf{@jo* zE^s3|JL^F2F_(#niAW>@0HNVwp65~TOfr++9V?g3RwW5{t@J$$rn?^>GJgkDFu7a~ z0J4_L6actnGO6o2dKt1Tm&@fyBr-HKgb=#EzCJrUYqeSQ+^ z@p#6tJ$H`nQONIahe-%W5W9r2sHGI!dV# zn9t`wEiLs)_< zqd%&uZ8MDk?wUrxmh*4WOQjM3lu9KVI=x0fd;SdeWoPH>w{N(;v%SrL5$IU%>swn} z&Ykoc0rTVI;o%`}Y;JDa?=Z*_rV$WDQ4~e15wPVDEf~Cg-q^s9M@L8IPO6Q7wKmq* z*8yN{ZOu_IR2l)>*Xq^PRofnVjezF$`JY}R@TxaQ3XQ;rsVRc!#0$pj@kcMZ?m6r9 i8Ue%TbFitZe+B@uIz19ZnQ%P-0000P)h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA58A(JzRCwC#nn6h0U=+t+YIIeCZ8N0REt9otS9j@(Ajt5v?W7gKqX!Ee2!alT z*{jEbDCoQ>c=RY9Hf%t4)YgLZFxlE#lxYuB4{FKmYLj+{XqP4>>D<09+4?7kkiL)i zCw=+8yx$khX0s6l0a_EoFgQUFr>Ccyv)*xTdJ9d`TAin3TNEXx9h36D@HluRbgX0xZi|M`m->2&(y;zATt zUtgb2rxE!!7z{#JcW)%jt^)w9^msr~9*-v;i!CfHcs!of)m5L*$Fi&_47G}h;x`gy z*8u=lD!{P5zCN4HW;7V?-@EsXVF2Ld*VWaPbRbERt*xy_qcI!~ z@9yrBBxyFAg#ir>4MLasI!M{&seDmP)0v*(}F#R;yKycq%MgFbV-Kmy2at z6btolO5PRDr@!4Z$8p@>z3aEPu8Q|{ty*UoMyqW#X);+#XFW~m>+vyeF`IXyQO#NJ zbh~RrKwCuMN$DHKAJ?Z?3}IWn844lt{j9sYMg;ybB7j=*MBv)`?T7$s$rFKV>l!5j zc-gjXW@g6ebar)h4ST%+u)Mq+iA1Vh>;hK~hoekI)rdfi2>c2WDBo(VtgHlsL7oWA z&(HHjpvo(k$QAFtqAp4OL_n^=BM3sifqK^6t;x3f;LDd95%>>@z}MsBc8bzsTdm2i z6abo=n^j5#I^FK)FJH<8eAw7fFA-2=n(8G26ji+};bGxL%+uSO z+~1duRQyKZk=2THHElK;WdhRY=jtT_oYMBcdWk?qZ;mP?0uS5U5n4xHFiI<+dadUb l@49-4fb1urmzm6u0RTq3k6f>52*3aU002ovPDHLkV1hB)7U=*0 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/colorpicker/colorpicker_indic.gif b/artificer/functions/images/colorpicker/colorpicker_indic.gif new file mode 100755 index 0000000000000000000000000000000000000000..f9fa95e2825eadd2d779ad270a71eddb94f94748 GIT binary patch literal 86 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 RdwKu>002ovPDHLkV1myV#+d*B literal 0 HcmV?d00001 diff --git a/artificer/functions/images/colorpicker/colorpicker_rgb_b.png b/artificer/functions/images/colorpicker/colorpicker_rgb_b.png new file mode 100755 index 0000000000000000000000000000000000000000..dfac595d017e279ff670df2c816e02d922660d9f GIT binary patch literal 970 zcmV;*12z1KP)h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA4P)S5VRCwC#nn6n&K^TU=-E6Jmny{kAgHdYMnDn-IF?jG$4BqP9gMtMis0Dw8 zAV{dW=nt@ez?%dVDIU_2gRqI_5Em~-k8ZNXWV1btZa3MO4c19#+Wqh_Zf2N=;hoLQ zLzrMN$n!kVR;sFUJkQ_V-BE`=I5@}w0L!vKVQ~Q9@px!O=Q!>KBXRE#RaJ4J1Hkq5 zH74#rAmB*#N9cI-&+9?5X8Zj7{P_5|^XQH{u=yKC6vb33b$ff;+uIw9#SFtZ zJw0vcV;BZjbSqURlaVB;VRjAxerlS1&~!NI`5fVIQh?ryB; zCRH|X*Y~znJyFxHP3oeqGU3e&1O9;`*C3*9*=)dr#lP& zn<{s4fg0h-$-2z|0F15BXa1p~(a}*s5CEWXbyYJAdmo&O{#YpD48vSpURq~=HZW^z zYn4ic=lPM5k&}~?zi?i#P(>mU00>*Q=~G~A=!rx^QIxK(E{0+5@9$+<_W68FXS3cg z9in$e&*$@{Qpx;xe0;nc^Q+Ji{h4jrtW!Iut3V(?BD!Pgx=!e-({Wy>6NMqMNDj~M~n z)!GO=qQA@t;I7t2;1S(50Ji7R-H^E z;Fxt5y+yKp{*YWFP<>kUy}douSY2JE!wBfrD*F4hvVtJ@ z_xH_*L>mEXHkOx{0bprq$rczQjer>#REvv?4Nu550(w0tO-7)tlOusf;N935Ms)0f sary=%7ro}V>f{=MmOlY4Yuc{?08g~^-7;vm)Bpeg07*qoM6N<$g2&OnRsaA1 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/colorpicker/colorpicker_rgb_g.png b/artificer/functions/images/colorpicker/colorpicker_rgb_g.png new file mode 100755 index 0000000000000000000000000000000000000000..72b32760a5c40b7ab834d176ac588750a06f13f2 GIT binary patch literal 1069 zcmV+|1k(G7P)h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA4vq?ljRCwC#na@w+KorMcp|EVXQK$+YM6*gzHqnN7BF59kyLV$Gkwjyn8-M%_ zE{RbNUKIZauO4)ds|T|oT-ef(s1a0_$f>a^t?r@HEtF8AJM1*eOAln2$@}v7PN(lv zVqjo^rfD!+2!cS;G+ihZOeejotBV8xi^T#a3=#mWR;yX1lO*|ym8f@!APA_W1Hk3w zB_iEkuh&r3o1~-lLnG2_dVP3!cw}V6=kpbd#Y`r1aB$FM>4rPdqTFGsf@RrABvLAs z_V)IUj*iC1$ET;KtLC7VuFaK9CiU4#0Js;$s%4Xtll%Mo+uPgi?d>#8=kxjb`T6VX zYnRih&Uxo>AeFAF`pIzskVqr~Lqpo^765pv442ErFwDvEaR>5>mzrVKEiOMUN%>sbW=d;^vxor09`ug(nG5}<=S@G^porYX_`AU~VE3z!TGDK12 zc|IHtTS-zB#k2Esx7%GV#GgQ4^p{X9P7p+z=e5~u7zO}#c6JsQ7vu3b&+`;T_4M>` z9GA&t7={6YXue?rfdBvuX|^c<5G>0+K0fLf%ChWqI(vJ2Z8lpnnM|cp%5P9_w|2W7 z>1kS1l^S-tomBpdnunPn2&bo~4-XFj(BI$hKzujU8^&M)%d(Orp*X1D81+?=O8VFB zIa!wfZPi~d9gF96vq~2P!K`gH<8pO-Jf@R=lh2dg9?y?N!gSI{gTWRNFc%T{RQW{l z*CWMo2;1uKCntz>kA*@lBG4iNxDWx@ z)`lq&7!3wLPfXOA@a^yrUm{@0H1Q<@4N1q72$V`Cvl4;&Z#A$c0u5CiPaZTH69Gx%^@W86{U8at z_Fg3dSGk-*1b!6?u~UR@?manP6sovBm$~8BD1qf>UcbEU>Hn@ zfYuw~a2Nn)W@dDT!IB76y{(>_nyMPXmk7v4umABS0u4PmVn_r&_Vpo@j@&Rtryjo2 npA4&xFA;ctuJh%cDE=M*G)vtq^hrv*00000NkvXXu0mjffA{0B literal 0 HcmV?d00001 diff --git a/artificer/functions/images/colorpicker/colorpicker_rgb_r.png b/artificer/functions/images/colorpicker/colorpicker_rgb_r.png new file mode 100755 index 0000000000000000000000000000000000000000..4855fe03f8ea8d88b4f8ae625c7958eea65208ac GIT binary patch literal 1066 zcmV+_1l9YAP)h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA4ut`KgRCwC#nL$e%K@`W|#$^*@2)1ijA*P`i*Vs!8o}|Yj_z@}|6buN87D4dl zS;)b(p0whp5G)M=FI7^gQ8aB#6dSZ+h!%w1Y;?1+hmFg+nRFn+=R+9LJG1n=PBo8cw>y;UEFPWHNyPjRb(ErY56GCrR=VBT=6aj^j{C z2Y}PlQ$)I5E>~4mPm+!{9%_-UkM*gkDWxt5LNprP-`}sZ^r|P&B!6Kv=J9woH#gVT z*4Ee8bGcj~5O6x38Xwfs)pPCb?dfMH0U$33`jPQ?{QUg<*V)k*x3{;YrDbbti|2U@V!3Kl zRCTj#GL@3+Y**KVSOqeE%ahy@p z>gUg%wKI(2q+et*WIMxri^U8lz0dD&5CLNmfmf=FKMMPvNFYqBzie+K(*3%>zd-~V zL;x2efZ8e(fs*tF5oi#B1`)uT2$WAXLZQ&n(GgA41VQBU`NhRWQ51QeZ*Fd`W2iq+ zC9AKVB^iPU{58STq)rq?Q52=WX&5rCK1rt=MBqOp0vDN#+vPH1T5ZUz6aegYJElaS z&+mUTFi^oE5)R`_1gbJke2G9!((xn$q9_`b2vmO6z?uluwCZ>gfvT~NFA}u zJ+zYaydY?bOazXPk7GMK??WM;=NX3ieRZYrsgLwvFbDv_U{E6+Um_sgKZCuSp8l}3 zB-f`^k&G`9D5zq6Vq!wyh%XUP9v_#Nm*vX%__#5MfK({RB``K7i(FY*Q5vx(0tHD@ z%IN4Q0E~=`C@okM0nKam@bIvv1z#c{ReS!&mk88!bHtDcymY$}N=F_r<$jdLkY231 k>i80YySoaVIYIa{0Hu_2rW%yutN;K207*qoM6N<$f_Z=6i~s-t literal 0 HcmV?d00001 diff --git a/artificer/functions/images/colorpicker/colorpicker_select.gif b/artificer/functions/images/colorpicker/colorpicker_select.gif new file mode 100755 index 0000000000000000000000000000000000000000..599f7f13a6854d198f501588948ffcf97bf9f365 GIT binary patch literal 78 zcmZ?wbhEHbij|08)1sO8@`> literal 0 HcmV?d00001 diff --git a/artificer/functions/images/colorpicker/colorpicker_submit.png b/artificer/functions/images/colorpicker/colorpicker_submit.png new file mode 100755 index 0000000000000000000000000000000000000000..7f4c0825f53cc4faba8fc9e043502276765da1f5 GIT binary patch literal 984 zcmV;}11J26P)h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA4UP(kjRCwC#l;3aLR20X**Y`TM;~%lpWOcWu>lSTng3|pcNEB`2g@;K<+cQWY z@xLM7VCvg6R*=x(q3bFrqf^VEi|J^a#<62NaopJ9!D&c?Dnar9lXm0>pDUe@?m73~ z4=I<+ilSiD@O_^tic+msM@AHjMFxQ5IE)bt0Ht(X1Y>My)yQ<-5retIs8H*|7Z13? zPrUHG+_qWtj}ULo_;=1nmuBCc)-Nf|EIiTorNxc<%@yk|zrCVZLkMb`W;%{E7G4iN zdY`;^>*JEjL^t4S5m)PqP4!gn!t|B5ji+ioZtqDpHxS2Wp{R!++-@!2_(Y4UpgK4m zViuZ;a0>2(RyP)J-EMq2@vFSw;N4@5^iSl%HShG?6=}vnkb`7GE<#kGX$U5f)j^DG zO`a-yukBo4Eqs%fbh}*!AZ)eLTr4-l((DV8I3rsPQ%|p}SP9#JNLf&bBpDJZG zW<$AGB8VabkR(Z(yV_x(32nq4M4idHZe*o1M9zm)ay&Q^oD4ika}TwCNv{zQk|sL| zEVK!j0l0t*-&@MHmsF)f z27*#b=I7@-olgIr#Bm(QafeTW=}i0FOh-M7rpC5C;rX^4T9ibLF-mEF<1Bq({XG34 zgs?6|3$Q9c<*(6a0PyL%z)2^PzL$Tik72|p%JF@FT>Va&rlIR2BkGRB3|(JcTN@d1 z{p!_M20s~b?Xvgb4Q_GaQ_Xf@)!+uO)m$XyrsqoKoAMWHTKLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0005`Nklrj%Bk$8*sbqnz?MRjqNKK9>A%{(pYQpP&iRGkdH_5Io&X`B0LR@WfCWt7}x`jMdVpqB zO;eI2c?EoGaIqs`9z_vAS^tCCP-lP-z{du#<)+HqW=^M}WgEX&{6pQt?qUB0w!CdB zH_^jtTC7bF5osOv-1EHmzVH7rOGSiEr-QY&RoJ!f`^0ffS(X$#VhSp2uu9V>lc#8jVPj zgz0pO=XrmJRbBLA%gKMFwZ=KecswT0bCgmTW7a@5tS+v$))E8(zn1NhI8(;0$vF46gU7p;I)VhT1;18 zfw#a<;PcJgxLnB$ZAe$%p8+Sbl8F0NBJQq)phg!1vMLdO2d;h%04jyMsOu>9LI3~& M07*qoM6N<$g8ma3*Z=?k literal 0 HcmV?d00001 diff --git a/artificer/functions/images/footer-widgets-0.png b/artificer/functions/images/footer-widgets-0.png new file mode 100755 index 0000000000000000000000000000000000000000..6bbb1c31cf4ef4c37c7ca49650f000ce1a66f023 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^xfMzo7TnbtqtD0mjCIu WuhZ_cvep9)XYh3Ob6Mw<&;$Sh&ocx7 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/footer-widgets-1.png b/artificer/functions/images/footer-widgets-1.png new file mode 100755 index 0000000000000000000000000000000000000000..b8a5c29c76fd2b1e01d6b3cd2d0b451df0bc7474 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^x7_M;J|bEz=!q_ zm6`I6l25J&bv!xvdu^D|)}<<&{^sO6zF&0tl50L^m18p-uarr~g#{qSE{@pB$HtSV fIY0&fzSw5RW})-Ca-YT~py>>ru6{1-oD!M6hcyydC6 noM6>m%MZ!=P|;h`Z?Ca@eXo&yyz8C@&>99$S3j3^P6 lyIc2ix-L}EN_y@!)(1gq+8g()7y_+e@O1TaS?83{1OSjaGDrXb literal 0 HcmV?d00001 diff --git a/artificer/functions/images/gray-grad.png b/artificer/functions/images/gray-grad.png new file mode 100755 index 0000000000000000000000000000000000000000..5ac3e02b522b1944fec214a51d3ab6fa1806cb07 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^tUxT!!2~21I85*dQktGFjv*44lWTr|(`6P)`1$|8 xz0v$mM$rYISFV+dofq}2+Q!B@CY~VjpnByFMuEnm0?=1LU^PK>0=-B> zwmjpmZ+hdiH+MFAPZ#^k{OYMzD$p2B(EsiX5S#E*T;~fp$KyE?4 z@43cppIfU*q0r3egArJ1mo^r$YZaN|`onb{uWhOE2InSmZt{B!OblR0Y5Cr#YdwOJ zN%aEwba?_C009^`Ee3Q4Cjd;4`(ZbVRAkE)cU^1k*EQRHm7&Be`fmS-fm;KB00go( z;&UT&C(;+P{mXBGvB+g%n}U*;J@0#Kz2B)-iibUEa4Zn~ErTp!Unom^d~Nkz4bL}v zV`z<5SOVbv4wHTs&4yX_@}GTL#5 zojEL>%n6bi3OE30i`dn&OtG)EzGLsMCT}Pn!uk1MFdP|z-D!tpv&c@(*3KF4B_aW= zWcey!Ma)_7dj7kccDp}1JNX0IU64XUMPnre?d)Zz4oTgvpct|ctvJgUwkz(2Hecty z7n>_1N(6(63%DE~hTUlcWk`q$Jqi;&uslE`k`B>Vb4zntC*lDimYoN)>d0}q(DcGS zF9GQ~Y5Lz1`)pHsiRx)M=IeaB>Yz8GgfX1Hh-;YK1QIjpC~IJ4TJ` zaJuYBL{hR5(c8h{2U)(7?iOI>5K_Xo7==#D@s-oz%$E%r7c=K!x7%>Q+g#->soYt- zX=AQ}1g;w+7{@3a4hfNHG@(qTjsm2IP_ha$5&@n>Pi8oKL|3(l%kID&o5PSgh?qD> zw{G5?t64J`XMZ3-Z@?i*NXp6i$XK)m9E-{MYTS_jB_hTB@quJpI-$fIRy$-SR_;agF8dStc@9R3GMzHBQdA^}UXo^XG(B`VKHC5sI*3uDL_!~`FQ zKn2W5Bu}c%jz|c(v z@=zYKA~T{E3ZCTt;MtkB$+1w3>J)*I>G|Dy?{Rf)6)b91Zswx00000NkvXXu0mjf`|u?% literal 0 HcmV?d00001 diff --git a/artificer/functions/images/headertile.jpg b/artificer/functions/images/headertile.jpg new file mode 100755 index 0000000000000000000000000000000000000000..97e23a045e3f011cc74090abfbf35b1a47df185c GIT binary patch literal 392 zcmex=C5UDGKfoZ!!4SZ}#LOtjz$D1XEXer(2tyXo z*~~ykA^0%#wvxCg}pnlaXBemgrCL*h+7z+AQ4TIGYkx8 zK8&CJPBt%Q1qx86z#rIjyQ+4G9&d?18BNN~a!pw$Bfqgn-3eb}!)HB6shhHCbS=Eb m`UDhZ1XDEmiA8$*mx2BbSxX(QHRM-@QR#9ta;n2P_sa{E&K%MB)k`04Iu;mzyE&o|BKJZ!8Ftm(hRuxvj6{q2T5R>JOf_z z{6G9K6-*OjzzSqPZ@HNF|HP9junRymh>sQ~ThI;o@ci?+|4%+0`TykOA)w7A|M%WY z{=esLESLuILE?{r`1RK-U_&qrIQXFP|C($5|2JF@{J;5T$p3A(!vAl-9Ra36e31C+ zt3Lk^KB&iTz_q8_|DS!h=>M4q^Z)O^RsVnUt;qiyZv=tqBM%+)?p1i~6AW)nGh?!xA;Bo=T r04^XF24X27mIh)mAm+zw03{dzH;ij?3KX@&00000NkvXXu0mjfQ02b# literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-alert.png b/artificer/functions/images/ico-alert.png new file mode 100755 index 0000000000000000000000000000000000000000..f985243ab7079b30cd4b5f73c91331745a5a8e98 GIT binary patch literal 563 zcmV-30?hr1P)+o2(tv$N3p`{8VC;6>B$oXxsxb9@{Q56MkViuteS353`skPIQE z`FRuv24Kz2!Q!pllWD%MnO~`&;SiOi-baHbeRvppA^~G$1m?s9?Ao;h=6ZlOsav0( zMv-L{<8kPG8>6ErEiKjSP5>Yq)mxru5Rm)P11;K%LM)B~-!=gm-XsiBfL3WsDVaoR zVF7oM2+XM|n9M*rV=)sg8g;|84i5tm1u#waSFV}u?uJ3LbVTxy$-HJ6Ho;O>IS6S| zfQzfaLFhEfi8t(k%m($1YL*ec?CXQQxagLWV~Jj%%?i*$RjxQha++su_k|_1e{soB zGt9^vqONd=l0!wx37P#r+llwHb-dNa4|R<1>L0zgCH;n-Sw#Q<002ovPDHLkV1hgL B1pWX3 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-changelog.png b/artificer/functions/images/ico-changelog.png new file mode 100755 index 0000000000000000000000000000000000000000..e1649f5361f6bc76484f4b3e8fb57bc50dbd71fc GIT binary patch literal 582 zcmV-M0=fN(P)3(Vuqh>X4UUgR|Rkyrl_A+ZQ|&sv{h*A#H7Q{ccY6~jLS+TKqYXJ&tM1fM5V z)bxfEHFiw_#q^!IO$r|LPhldmhyr>N-_Lc%u%xfzcx%wOGwhlIPTte7?|KyZbwdb- z<`JD+!5IC>h2>SuXbUL3Ic@YAc1;0AEedwmhOw(!#-7r*sJuUlrq@ASXdFQQmk0tg z^dlRhhQqEY;MffX+bcqAT#=D|c??@ieAwpkV@JsceEO>3T90P**);_eH7eLyNyAtF zLd8#PIsXpX?jgfrHxXd5Sd!=VuMnSkeoK-nK~jeG2{%QIH1HA!+f9I3AI zzA7r{@zjl=^NiE!OqFalTe975PobbRDx}k%LA#5{B(maUQr#8rr4wm%PD!Tq3%(+Q U@7I{AH~;_u07*qoM6N<$g2{>qg8%>k literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-close.png b/artificer/functions/images/ico-close.png new file mode 100755 index 0000000000000000000000000000000000000000..f985243ab7079b30cd4b5f73c91331745a5a8e98 GIT binary patch literal 563 zcmV-30?hr1P)+o2(tv$N3p`{8VC;6>B$oXxsxb9@{Q56MkViuteS353`skPIQE z`FRuv24Kz2!Q!pllWD%MnO~`&;SiOi-baHbeRvppA^~G$1m?s9?Ao;h=6ZlOsav0( zMv-L{<8kPG8>6ErEiKjSP5>Yq)mxru5Rm)P11;K%LM)B~-!=gm-XsiBfL3WsDVaoR zVF7oM2+XM|n9M*rV=)sg8g;|84i5tm1u#waSFV}u?uJ3LbVTxy$-HJ6Ho;O>IS6S| zfQzfaLFhEfi8t(k%m($1YL*ec?CXQQxagLWV~Jj%%?i*$RjxQha++su_k|_1e{soB zGt9^vqONd=l0!wx37P#r+llwHb-dNa4|R<1>L0zgCH;n-Sw#Q<002ovPDHLkV1hgL B1pWX3 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-delete.png b/artificer/functions/images/ico-delete.png new file mode 100755 index 0000000000000000000000000000000000000000..d9bc51b1ff565bec30e7375ada4cc3f29015ac7e GIT binary patch literal 662 zcmV;H0%`q;P)+f3oIcR<9S%P!;C) zR2eg+CAmqhhI>bBSc9qD5>k8&{dg3ERvELjvga@67yctDgWC;A-4$K-#@v4wu zpR2`0Qo%AjT~6@}w>z*j^%l{-JBYU15p6z)A2*w@INS%1$$(L1HvdeXNvsmg=yZY@ z?B=ewV~KGgdhrZ=b_@KrYJ@LX5NV(hww^%v-VMwhB{6(xpZl?Fk02q4!SsBs8H=v5 z_>Un64ewbaf_1u8;ZBkWcU{5DybKITGw6ii19gN6bX`TXvl%{XCB7C(lV+ik1aGT> z$5MrdL^_iYFy-1{*Ei-MufR)p&f2%aii zS1@0yg1@N|{o*Yvf{79p9Nf!}N_OE(wGrNi^YMJDI)+C%TbE(>cR1-X4N7+l2gK=SC$W=x wkiVVl7j5QxbJLif>{N4i<_6(kxA9-|6CKjdxk+*x{r~^~07*qoM6N<$g0m4c=>Px# literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-docs.png b/artificer/functions/images/ico-docs.png new file mode 100755 index 0000000000000000000000000000000000000000..ed73f2047a51c131450736edabdc0fb0ac2c00bb GIT binary patch literal 323 zcmV-J0lfZ+P)0003BNkl#j`lwe@TL(HtoQN>$u-Kvy4DQ!hb;= zY}=;aa9#J?FpRS>3lSgoVwxsM6a>NNT$FB76h#zIJnWhOzT1aJCZc-El@6EETwNzCV)pflI z0{d1HO4wsp>id3EKz>)kwPMq}thQ}=9zCrjB*$^2rfGQNd7kr2fVeCDCGL` znegL+I VFu;l56CD5m002ovPDHLkV1msJkA(mL literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-dojo-banner-close.png b/artificer/functions/images/ico-dojo-banner-close.png new file mode 100755 index 0000000000000000000000000000000000000000..e291c3f595a29892d66d91c921e554e16c2e8090 GIT binary patch literal 1245 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$Z5SAs(=tOMN+NuHtdjF{^%6m9^eS=-fVvqNZ0suv5|gu2OB9k) z(=+pImEP~(ucVNfVyhHx>TBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVFffGH?<^D zp&~aYuh^=>Rtapb6_5=Q)>l#hD=EpgRf0Gw!Z$#{Ilm}X!Bo#cH`&0({$jZP#0Sc6WwiTtMSp~VcLG1$aY?U%fN(!v>^~=l4 z^~#O)@{7{-4J|D#L1q{k=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJWlwVq6 zs|0i@#0$9vzP@mS^NOJX1q?F%io^naLp=li++2{qz^aQ&f>IIAz^b}9q_QAYKPa_0 zzqBYB7$0fMFwMZQ!*3BtA<#8e{zaLnKn^_fq~-y0Oc5|^II!yFGB7amdb&7aFh*RiZEdHkuViCg~8hrpOcTlO*E?+h+^aD490;<(ReKN`BF>#%NL z!20R|^PUFHh?T*UQfIC^`myo8ur2$fuTmk7jD4bVaShgTGI#SY*Yfk^EUjkS)9fyA z!18uA)BFdMLccf8Hcq?UU~Z6hKqjY=y;fmv>CzzSZf!Q#O%IMPEov_3{c=*PXPcVS zl{5RCL$5ZmOnKIR@8ML@rE587NX`#xy5^>snR$F#TZlJPalwM~Mh3fW?(s%{%rSgw zmpG|K>zP)iqo}_nXJ@8*5X(vvp;pru-JiUcJ+pswBG{&Q$(;Yj)#q&1oSV1rZhtMe Z0mJPj=GCPw$>%@?j;E`i%Q~loCIDv?rX~OY literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-dojo-banner.png b/artificer/functions/images/ico-dojo-banner.png new file mode 100755 index 0000000000000000000000000000000000000000..8d5a5dcbda43f6f4c6004174060f73bbcca62e63 GIT binary patch literal 2980 zcmbVOd00~E8b6BSn3;});ZjMo%($|Mptyx1hKUPmZZ&~`!YH6Dij}!FS{d$@k>gTn zlvZw;rIK1&V^gU~qn6g(F)f#D)oC#=R(9_n^UQsod!FZmBi8+(JT=xf)&N#Im2g~ufSm(rZYU) zj)J7by0h4v%{v9GfSo>pjGfU82PWLr1?D8ds|dI(5gjJs#_)uAi8K5YFJ84@JVwA_ zpHxKA&hXDpg;4xp?tB3YW@m%6W+1Uh7#3xNvc=$VI4c+$i9#ZfXaovvjl$t=(Rd^h z_T_@BtO=Nrcq)Jhna39QQ9KO0(9RC$B<6>wBVp~n#U3^A9* z6OoC|aMc?dCWnb95pX0F3Wq`B&`7L33Po^3+B?{y-Ov~e#@)k?w8ZguSS$`_OSC7t z<1j=OhX=}@fFhF6wgh(vth=q92Vn_I<_Se~9)q=Hm!q=#1?%>YSiHM{MHle}fqZ_< zQV004`69lM&5wn-2iU{EX6oWHUEzvKRlW&S@o zL#UiVEH=k~HOtbGssk6dUt3=#d>tMZPc<g>k$CgCQ<$ zO(`%?oi;mYTN`AM*sv@uOdloftGtlgBP-gND=(*bv%NoLzVMaG*nO_n*nASGcE8+? z9a^|Gulu+fME~FqO>N(RHNM@YnA|mrx{b`C8-b_Dyb+g~J#)LGk{ENd)8QsrtDGdc z8>w}5b%76~ea&*cAp@FD5ohPA&9!|4%ZFx!VzKkJ^fgYB*fd`j+VFk#3!d~)>N%N% zaICz)KTv(3qod>X%a?*}-9=PPWLa;^+r&S+r0PE~?^aSqr>B3p{d?W1-6@$Vv$M1LTdOK$GTGWTeJkKTs^O!h zSqZHN7qikT{Xy5U)lLf9WxR%#*4+o%@^-c+=kMuTZ;YU;ip ze)f!a=KT3n3WdwiW$|S0tF(rT7j>qE`#KcazCm6fFv84T^wUar!w~Sqtpfh5moE*j z1MmR7aU|hwh!5|Tdha+B^#ZZvNBR{1ngHD zRp;I6NO9|QcwljH@sodb zX7vvZ$#UKV{iPEs%AZp(^F%K=;rBTs#n?LiUt5NR%8x6HsX}3W*=dthts_&;IpcX% zEwgv?)-@hA4SvukWEM!O9q4U%h$p<7IX@yI#Hbv#nZz+LDD-(8Tl*zp;kCrr^-;lI z@ZhrsI){?SmTPA2?J+oQ)u3JTaAvql93L0AAPsN|&dx05KJ>|gBCrxZ+5cOm z(B$Zi!JrM9u)>|F+NY&^#n{4ySJOzIaLA^HgM=o}Mlj zXW45QhN@TZ$qKL;cgYVg0}N}J+L|?B3X6~|kZDOXgu13{m9<`}P{mcOLTX&@8=XXm z$#7+lx`AX`>@~NX!cGc&PkFCRBv?pOowFYVm!^fp?eKXv9BRtj)@pP@PTl0oR^K!~ zcI$*(S>>@O+I#5!5Yb_v;;wc^k-D`Gkl>Q+v--DuPd&2(a~9)mS?dIm;Q12{JA?MLO+ zn_D0gV}7lLSGB{;U8+4W-MVVn^%Ag-^2OBA=Y8|L532825&BMc1fp^57IIYTzG23( zdW+hfF1zTRn>XKhp=*luGrfP0&45>=qWfOm&2qa_qZ6(GN{m=mYZZ)?*+*0joNkKtDXMA7Eq2{+!ot_$JG!FKt zo6bIeURG3Olm)tX5ZV*rGx7($_t93<XF`96{?X05S_3WI}O&Xv1#0F)Wf*9@Qh(gL;3Gkq-2oPEfrVe#rx-L zdi?SP6ALR8??TZK=@vaNZiV3W6aN?1*NZ~%V_|QyQWVu=_}^t{I*lOSo%OT)?Ma8z z?Ix4K(o-K69(JC#i0lnHdjxaJF8#Hj#llRQdZZkP&plV(b}g93jgO!8vygAiopi&C zFZ&01b=#E7DrJ}%NlX67d;xg%8?`m*A9hK{*t49VpdihhUaLymoWv7TF|QwwjbWvk nk<%_Glk>yp7rMSPU(iMZ>$FmmZW1}-#s6lqhY#_b8!heM;T`YF literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-download.png b/artificer/functions/images/ico-download.png new file mode 100755 index 0000000000000000000000000000000000000000..a5643deee5828c66b05c15752a064b4cb6553500 GIT binary patch literal 582 zcmV-M0=fN(P)D7{#wMyW{TcpCF6E9;=6X3@wlyw?dsE2y!p9C2cE1O|N zPzmiOiaR^IYgubV>Dan5>#7YEZ9Pa*7zC&9N)u=<;SL-w%y-W39=^)}u$9!M1*gMt z1-A!la4k~JWv=97#Q@!jTFfn&D13hn^HYKY=2iu`qt_z)C5&OK4f@2H(g2fRyYa$m zN1{}K-5`-YTM9ryrqG3FRx6U`Dgk6()03*h*ym29W{x5`rE5Fl@J3UVVE=Q@*8VZs7U*)6nxx=+8CcQD!fmP98$!%}HE+Qe7b5 zrlLEbn)P8_`88r)hdzA-eP#n5Pc$GpdIFbwtA0{A@ZTlg90;ld#wonCE>MGJM2r^n zq?&m3R>s)BOSHcwkp94f*gF+NxhuGrI>5uXY@gHVWJ^L0hoj8n@rYipSMvFM<#ftQ zedUJEz8Yh2{5&r8RvFuNRBR-V%;$7UZns~{91s;0+J#^>vnd4?+!ea4xN}ts)s-uyP*B_m zf{Y6#J`rpkU$qhE}HxHQh%Gf1EjzJNf$|I~+#>7y|-<6!N2Kv_{+Z_vQBJuO>g$ z9_~&47VP};XYG1Q7-KkhAx*>gnelzZ?CAz#;r2bN*RDFH8cp}jiT=_80-bb3nZ7gh ziv_SfS>pKpdz=`|&=v|I1Rw<%gGP7n?CCqU!CJ3Wq%AV@-4?%iQs#|YDOdn@ zK%;3e?bWa>-2xB-jZQ>5!e_1ddfvdZ8${hj^sZkM8?Mx*o*q2Bw{s|S)%s8ag%lDY zKw}coxsh~gLM_&)U z>dOsGI<<)^(rWP@VGs=T`#uW41#s)`NKfCkueu}T+4CqHIGwMLT)RB}gZsGX020uC z(+9xE|L-ytD&ZZMuMAFP?q)9iJ(M54^W6QX(KHnx4%7h`X5D;W{r$Upzi68ijJ!Ki hKnR!v*zf93##;@AF(=6(f4~3$002ovPDHLkV1n}~XcYhe literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-forum.png b/artificer/functions/images/ico-forum.png new file mode 100755 index 0000000000000000000000000000000000000000..deec4534725a3d9a1c869c44cc7beb5d1cbbca98 GIT binary patch literal 617 zcmV-v0+#)WP)l=lsY)R72mB5G0uvYR zO#B5VE=^bd0N1uVT^Kdj`%O`)(Z$JpGxwf3=brl!hr>bUu^I}IwMfL4Oe6;U)>c0f z4&S-w_Y*tAT8=@wO)rt zs|BWMLOz#!VZ+)#i40n~>-GBOYV~uaT7}}?9!RAU)Ef=JZx&*|$>f`IxeUV24rH=fXrNV0_$Ah^TYWP!aiMP-H}y}gpz6A+s^?8j zgN|WP;zyi`o7D(fCN8J*k{At#$#Nh-S3y{oT~4P`A9m5AgaM@l;S344R)ayZxv@dk zqEX`fMdU)E1zdDft<_#VI6VA>VL&Vv1D@wWQIv08!#FF7;xi;A!W?(QBBJNpiY&jK zOeXN~=m=`63aNA&(wHipk*?(a!2yg$BN&gzKMJDwoZ6=I@q_(+==J+hm1QWQS_zve zp^Rr)QLLZox(?>?F?8DP3kSp4=xnF`UJtt6F6iwxwD7hxF-Z%}CTKLIPRFVb1_Lng zjA9x=b{tbPG1U{qBgEqwp3GpqV-}}~6TCqtu4D5j0IJ1MA#+;^00000NkvXXu0mjf DHh&m* literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-info.png b/artificer/functions/images/ico-info.png new file mode 100755 index 0000000000000000000000000000000000000000..eb228bdb6e2076e1651e778b4944db188350dc0c GIT binary patch literal 555 zcmV+`0@VG9P)*t+N87h52UgYv9nMEf`yi*@(&1h5+7w6 zF^VGiASy)S1G9?R+1bb3hsA6rX18#`0|zemob%oDxJSJA{Eq~OZZ89z1Fivwhm2bR zt^;>v`qndm`uuFIdUUc3|4K+;Wj*1-{r46q2fgd+%WlZM*Ue$#**B)x85Q)eB;Bnx z4d2@q>%jHt<>`opVzsX{AhbRuGfQ2fOj6}2H!VHj2nqCoi@%DdcIqg<^XFm z?Uzf7Z!oQx9S4q}!wg^*IbjRn!2Xp%t*n_lI7;o*aV{>$d}!F*Zaq06?}0I%G|jXK zoSqO&y9Gd}ndG)K^_bKTme6WDl6KaaW^7nW*O@(A48K=a>1%&;1odqM=sF`_wk-H`njXDT$(JR4EmTNI^uj t_g;yJ>Ln?8NVfM*L>yqf_o*?a`v;5$?qW#Gp)LRb002ovPDHLkV1mSl2PFUi literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-note.png b/artificer/functions/images/ico-note.png new file mode 100755 index 0000000000000000000000000000000000000000..4f2bd65925157d320f21bb44049d0b7ae5eb2546 GIT binary patch literal 447 zcmV;w0YLtVP)frezc;g6>d(F92|s}tcYYOwftBSY00t+#lhO9 zC|di$G;Cx0&i4I&On;agO*SDU1zu!I|1pvi=D4douiH5mkkS7<@@*OB( z(uvR>J~B^vc?nvji0?a4?A}u0J+TAvwllYo9%5`=3dDZ`n@VI})*u8sa=Yt;5LuQ9 z#8x5rG=$k$i-wvKx(9R+9v5W-Q8RdN8?n8rg`vBgY=W-~!oz}0AhH7frj@W+v=|$z zBAei4pAnwV4pidpVF~H0Cc=GWfPH6_Z2Ywve8?mdxHlo?swV=+?Krpfk}Z9~BEgxg zz(xfG{}i|r6|pv14RvD?*^*~n{z{LXm^*G{(r9{fp&wj3hYzc=FsjCs0fOi^+ z(`Ina9&m00lAggV1K?bGB%M0;21XJnWW?9tEX0TvVsxLKv_pu`b}A-0V9$5K`RAlS p`1fTRX5RmBnM9`lEAZdz{0XfJ>2h7D3?Tpj002ovPDHLkV1lNQ$btX> literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-presstrends-banner.png b/artificer/functions/images/ico-presstrends-banner.png new file mode 100755 index 0000000000000000000000000000000000000000..3eb62864184d35299443119400e4d4c03fe74b48 GIT binary patch literal 4708 zcmZWr1yB@R*Iv3q=@1u$1tgXd1SA(&K%~1_x^Zb?2_*y;>6DZP30)*zx=}((T4F(3 zLTcgVN5B7n=bQQO%)R&AGtYU>bI#nEdtar*WLh@ z9RPq-!5IS4R)au*+Hg+?XE%EQAOI&f-CtjCmOgqEErA}p%K_v%VSYgZ{3fkRhp!W( z7N(6G6#?>7B2b~d!)s`#-+=>-=CD6_3b4haY+A%IkQO8iL(hyjC}s)y=j61l-2I!WUd zi4qo}FC=;Qo@1@2*6p-xgRgZkGXu0<$ZRsg^jRzq*{Z#i&9zd5#4j|@q30V9t0ZCeCv-07A4`R$n$jg>Eq-%Ct=TF-N!n;?y3=&v44P3rVLuKtQSEdMtj7 z8m#orOr|sD=YYfIAxiH8Cd`-G{cPoRfX3)aJ^33UhOk=CbY&ba6Zb5qq`hj^y*-oZ z4X2Ct*=4p6y=$3)7g&Qs(C%oS0y58J*=_ed7)=j2R*E#?K zjtBttOF74EQEryWJ*(v0WO2K@Zr(Wgu7Z3&C9wG~J%`$(B+s&j_pyf3r3`Z657g*H z?Uga5Wu;G*zI-94%ow%1KBK-_>yUK*I@ryhli$H`82Qsc=VvNOM2u5wey?1-0F&V_#_%;?ihB{7;~RBQc#)BZLFGxK zI-d&REQLE0zx+i__fDZQk-nHJOL3Z-#gsS@qM-el7Oxi)lSrK`e=!CsXMFgovJj#z zbMnB4xrNx`)nx(E7*LGx8V3<^ClhzVhT=P*A#Aoznw1#ZHT**ZiRAoB4sg4bG&NO^L0GJ z=t7%JM*2RcwP+LM3e3=E8m2BZm1&!4sKKxy?m#UXe(|ydHua&@nESn)ABp¦i! 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 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-preview.png b/artificer/functions/images/ico-preview.png new file mode 100755 index 0000000000000000000000000000000000000000..62b5daf16371155a8a712f1cae9b49a2a5e480c2 GIT binary patch literal 1140 zcmaJ>TWkzb7@p9Sl%>%oD2d4+670^*&Th9mb~W3bZM$Nswo5BSOlMBp(axMPbGAEe zlZs2#B}hc#5`w5ii1I)^^Z^eV9z56(mxsCqjl}gq@WPqumIrH+nREV=@B9AinLV{N zRjz`P0)il1@oFJ~*Qw4sIUj%5rZ&9A%WM>DKy|PQr6m&(5d}5^GOkI@AOR$$W6NC- zB8Z8UnruJ~;!0kInn!Xl9$Paon;=5vwjs%_0FjNLS=GbT$H5yEsVZTr-Y+tu5d|%3 zb*BmHI%|@0XR91ksPg4x$mX$t29QMBTAOb1c99t5TV_fbvXu3(oG%avEG4}R%g~IMX1#7Uz;j-nVaTzE!rn}!iBAZXW4^Ezrdkj( zc$!Y9)1EZvfo3z!27^II!|Qcpgxl)Skz~7dYkpQi0G4d322!C;I*L*wOrbD^BmJF% zW{k_~)>xTv!Dw4DXx76xDP@78_K^*4FtpRyzZ#uA!qeky$Hx{Moc|UCg3YE5*H## z`{~a6w^mfFE*$#Y1*_NfDW^YV3Lo_BTvnec60W{?<(;}P@V;+SVSRt`hO3ijy7Lw$ z3RZI0e%|bzdthIFw=t{f!!a%}_3NwRN9U)@9veaA`2#HLJny_Kz)cKeRH+n33EHhgc%{+YtYFGcH4*e$o7>pyI?&N22LX@oyATSuNgDLG!2-m5KJHS68}_1fm^ wD+a&L=skMz+nSy^PxggM2HrkD^{r?Vaj1>Gw`lnK8|Oa|kJSkM6`QvI0wAb@N&o-= literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-refresh.png b/artificer/functions/images/ico-refresh.png new file mode 100755 index 0000000000000000000000000000000000000000..080766e24c4b1498020c34d0186731efb15ba2fe GIT binary patch literal 1808 zcmZ8g2~?BU5)PYz1Y}h~d60x%B_ZqyA!q^!$PU#2mJmpQ6p}wC!Gxuts85y(1Sr(7 zs8GtQ5z10o1%v`t1uRlF^U9(uDuQ5GM36RE>v`whbLQT;bH4dzzBy;oeZ5bpKn_Ac zAdrf?o3p?4RogYiJJ{C5*}ZOz4fxv%y1JC{?X50(^S9w!3GvCf~}0 z>JpD^M|)-dd%uVAiDRlmb@6ZNC42RHW4TMfq-ZB%Sop27`m!#pJ>RAqF&%V+e&%Fz2ltg80;DXkS ziSduQ$V{Bb#UC|Gb*WQcU)JYbd`qtRPyWlIs(H1m455zqU{c0}KIUuIH*=ujPA9T< z+wrCn7RmN`xlJ;m->_QUxNUxkOaE?>CM*mx(=gICyc-@^Z52zOgUY1~=Y|$neRFHB zTX$Gn1xcPS`hF|FfbLmaKk2&K(l#m<aWkea1SHJuU=lqtf9?pyCX_v;`$zJEgJ2FBOfk2sj-6)ftW z;6EVmZ3^AL7E;%=KDAZ)htX)(-F=sP8q3H07Vlhm*;1z|Jd_egsVHYo+cnP?9b$-} zihes8v$bxaw1+;aexq@=b2$Np+i}pxmibFY=QK#lEw`6L-yM#H_*_2FRoLW|K!J&G5V2K4v7HhSXuWP#e$k+DYT)!xiO6N5|I4ZVspFmIpwLQVGYQWxf)ok5L) zOI!QCoPOV|ScPO8WOW@_b4h|Pw_CO2$&El7rBd8JL|rIH2QRb^30lf(6Y{ggChLw_ zw={L?YTIj*PbnVxxh&!uqsDAy1$^5q=Wzb zN*m7$9K;b-jtojmCjOL2%teOi$+W79hOa-qHT=i?ObV1=zP;y11IS3%O|qqQVU$>I zK^zbWs<~@2AYrjK2qZ(L2a>oXFHdX)z(7){KsXJ_XRxGb5D3S|N?itxOM&qju}lt@ z?}+$_z)JnyFbV_7mB#UI}t z0?eI3iK6+_DAafy>i-d+O5#wvef&>fe~bPYm8!-=q?!Lr5Dz&to3IxIk~MXAJ|1YV z&d7Tlqv@x1pJ!L(+Ib#smQOhT%q#nWi)pT@wNv!Hlk62(g`T`)LV-MPQ&nr_h573D zVH(QDe6{>EQHQ{tyyni=7JYrZIR{B()b)Mx7vhAZ0@?wHf?eUG z9;5!qA-~e)gf=}WraI?OpYlQ9RB(G*@7v8J-EGCbddyg7x-6nm%n($0RIocYKE(Br zC7aulXlty$An@=V8D3d&ghFstfdTtYaGTMInxDOD2pXVg(Wf^gH&YSlfjof=hC)W5kh{Ew0Ztn2lR!ZHul|<6ur=YsGohm zp}CW4i55=Ll11VdS+o$J!Qh+B@E!1D3G)Fs1#UjUhRVLUOBij6y?^d$3A555q}8W# z$e~-0kUX#vZ+7>TDE>agq6?#uteH3u-uYMiw#sYZb!g(`jeDY=@Y;)v%Q1GRRXb#6 ze(GLA^9CDUw~k#2d)h6NV0X=vxwiG;I$YTE*bQu3RJ78y|)9vlq`~CK}bGzfrj77#H790x~ur$~a1i_s(8MaJG z--nOCP&G_J&Cu*!4IAkDw)5I$$8p)ggCMZg)zyjcYscf4(Nb@rCDshl><58UX4y9Ty}+vR&TO^ zyl@)>53iM0D73pmClb0h%Co{_!mi|VAa8DD;oTeMqT^{^39V4L?&J>Xvv0-Yw%lRQs!HWJ$KUszr$#AbCZpY4R&{T@!lgM zc<Gl3?#$z2& zRYW9(M^VJy-X67Djb^j?@by5luHJisAYgxgpL)GMzk(!jpi-$&tyUjw)*}UkVMw)F zrBo^{rY1Z*Jmlo$WN}65JS_h|%W~%&&N(+PsEgy40}fc8)y z_BulpfGfb9nI-nG0I!^L-=`UAdwY8-^48YYTc8YFnpr9!abX2`k+tX^!+;KO3|z*C otC1Cuh;R=8&x%McQUQyMzrxybLM$rlY5)KL07*qoM6N<$f_MZrk^lez literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-social-facebook.png b/artificer/functions/images/ico-social-facebook.png new file mode 100755 index 0000000000000000000000000000000000000000..8ff369194e81d620ecf74811674d6048c330ea43 GIT binary patch literal 692 zcmV;l0!#ggP)(#{sDoEg%+}Q zC3!dQ@A=(XFf$fuSFm7PIDw_% z2iv*5Fel6a5rG+CW{`4}Pim}v4#q@u@y_sx)Vq)SZ$%`5?c5$efA&-XLV+q^!zUgf zq{f;M1_ZcqbINU)4{HYRDc;Mo?B}5#!B@HbRbC#8K@&Asc~>8B1oy{5qzn} zcWzw;5l^lG*3!=zoLGG?B}Ee$mUf=tQmStm99@K};Qk&wyPmoawoKH_dh+B3n3tc z5SIlilnvB?0I&=I-+mTw_$41d=bJ~w!e`t_cogF95LB-p4QrXc8g;@PWS_!G(~( aBJB_FP@o7A$Leta0000q0knN=dfSq_IY9%oMA zT(4pE?!C^M2nf=BFVRF2^S-M{mrVpXvVDEMq>^|lnFFhL@5$xjr3g z=WU-I-yQp()hge7bzKcq0Kg9d;=mKmgoNW`B2Gpczms@2mC4YX^L;rGIXQW7B(nEb zT{i(q5;*(aODHtSuTO8`!C4+@si2)*I+E(N0S^Bv+Q4c4`U71TF$3Z7-NPs zBB4vF)y)a+)EumUHWp)H--Wg92^trL(kCGZ0W5vZ|(?z$I@h1-u?e7Ri3`>h6{8QAY9SGGqakm&JSFAZ8B0UGHd zve5{rH3EWG$oIGYA_#-wJKlrmBW^|s1+>u^Z6olbh-(d>jk-^5F9Li&t7u_x&_fAW z%xDCX**}xD>>q|`E7T8KtnauyeeMyOP8~1Iq;MAtoLjC9C7>4zqbtx}g82)I-=DR3 zxb=qh9hX>k5Ks>wKV^B3V5D}@B7?XNHOWW%SzQ{ZPSZnpG#A^oMGv+TvXZ$ROJioTn@YP z40*5{9W)j{#3^0GSsL5}`Uq%a@O__Vvl%&2P`;X@d^I=xT&2J%7jeqP|8^#HUAM1S zpX#AB48#BFv0N#IQc9f`sES6H0t(2UV&K^$%(w~^5Vxy$^7(NSC;&}Bl!&zDp9U6w z`uUfYaU$RN?%NWu1{{h=OrWj8H1Kg!q7xhfyaE0O4x=qcND^q1P-6g3l8FC2VghG5 Z{sCmb?rlU$TzUWi002ovPDHLkV1ilhr&|C3 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-social-googleplus.png b/artificer/functions/images/ico-social-googleplus.png new file mode 100755 index 0000000000000000000000000000000000000000..41bc43a6a6ed09f76b76c9f4512831786d48171f GIT binary patch literal 1643 zcmex=x^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal@=Hr>m4GgVcp_+a(EzE+-j#U+V($*G<$wn{(~^fEJ3tSnueEKS{v4IEuv zoDB_K4J<8;OdO5f3`~rj+>DIPU154%@{>z*Q}aq-dQ%X34RPuPC57Aqpv^9+MVV!( zDQ-pixe8z}TV>*Oi;*i%^PqZDaJt3F4X0jxpkwqw5sMVjFd<;-0Wsmp7RZ4o{M0;P zYA*sN>;LZ<_`r#kA>{xt`!N2$&CtTY#=^qF%EHFV%ErkC#M~TgY#iJ?TwL5-Ts#6i zU?9N5$1lLo$0IB(A|fm-BP}g0BM%3R?Ck8kJiHPD0uoZ9f}&Dz31S)l4=@OFFeor6 zFf$4=FbOg;3o`yc!cfJ)z|6>q$omWoENtvR5k{aevM2)!D;uK#10ypND-$yZGgOL+ zk(ou1l|hJ&ox@OA(J@fTD0uPa%dX;ulSP1bFfp<)A(_I+#4M;N#KKzGXy}+Y@&7Fb z9-t(XAhRHYJ;RE3&%W!m?{(XJJaM|pZkbezCq1VueNM2lxHLap-&-g=vF5=?(MkUq zR=l?Oe)QC9v+R~llRvM&u;{qPnOQ=GJ3JmO-_p?+wEt#rc>J}%T)|DJMbcGQ-I->; zEPcz?%O~fS>V7@?(078h@o4x7C-uT?IfJwLcV^YnfcdY2s zNMGx{eMV@e-_!$Aug=;F9bB=lOnJ(k_T2a10`IK2DC^)WzJ12a_f-$r?F=>kot&Zh zG^hHtaRbv+@4tJ`H$VQdO#J!&2Gd)*H@ri-#pY=1?tOMDsPQgO_+O8{iBgk9t$H(N zFwA{;cgbAifXoG(ZXaD_n31=FYtsu2zVx&H)u(?PU@VOM_w4z(kAH$+f4*^mKc?X( zZ{XTe9qqTB&x*}OlI#w@a_VSEOLAJIetpN*4+n%59_zi~)z~mGc+vOR-x18qkHy}w zdKTfe`fByMziSx1AOAa%HCJ@yvithyHqShz literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-social-linkedin.png b/artificer/functions/images/ico-social-linkedin.png new file mode 100755 index 0000000000000000000000000000000000000000..ecf0a1c6edd3bf7e929891b7ce4b4e1b96f72564 GIT binary patch literal 965 zcmV;$13LVPP)4HX-riK@M=kMCn2P0Ar%YJBbHw zhTaU`Flr<Aki!spSTeEL={97MNw6+ub_B+Zw^Gn8~Zxp{}Hm8FWxgP0gO*v(32-$ zMKxkbLHx0(zfq*`#M5&Uj2k+k%$GY=j-L2ff0>*xEg4W%Zs&^)13q#WZcf;@B8V#1 zdGl5j>m=+4I-Xn^JCH#{*N=hdNgt5-ZY(VE={G;~&RCY?*kuRXh;baxVf=bs+r(y3P%8QSHYYNG(6F0g)jbv90!vlbfxl^Y)9$Wwz% z-W?|#JjFE5Ak6Qf60D?toI n0R$k-HW-hB2tGmp?QH)67<7}c>rvro00000NkvXXu0mjfb`Z?} literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-social-rss.png b/artificer/functions/images/ico-social-rss.png new file mode 100755 index 0000000000000000000000000000000000000000..ccd92f3d37037cefd88aa6349723e6c5e9e05c0a GIT binary patch literal 1233 zcmV;?1TOoDP) zT~HHO9L3Q-J3jW&=}R9v?Tgx?j&(XtJFVJw9EAjomCQBeBjMSIz%$X$j?%wm; z`#<;Iqyb2KluG*_U}ghT`aTquya(p&E-=OK5bXq0lnHm?j<8O@1$V)Aq71ly*ar8h zt#F@w9j@)6Y19eD|^{1@Rmyb;d47myHung+(&A^!6_Q5%sC;%FS&zw{-(bB}iV59uFdZjS zGUu-ECbL%rXHI$o01`M_b9vf>q8~Faft`kXtOr(oIqqw7!L;WlWzIEyOiFhK)8DL4 z06@}C11Hx!6c8}i6$%ExSo<)lD}Y^_HLp3>@R3xy>8zEB0Cq}gmjf5D^&mJsh@fYj z!1!kc5q%y^bk|@^^99(}{d1bLwL9SN$c1Ci6A1vwI;Tr5F71W_2}&^6OF*Fj9|tl` zGBT>!54JgCPED`A3GXkP;jP*LPx-SF+|=&J=LVn~3|;5*Ej5~vfWs6A;kwrab7dwx zmp8*xxn44jRgwUWin-qm@;Bekq-ZeE;>;G5td6I zrU*ceRC=n(X{YsN>)(a<=Z(?;Y~9-s?M4;Elu3utqV#aTW*342tMu7>Ysn0y0zl4l zdZbcwuK6>t)mvdW{4{jgPf4G25bxzp5GH$65Ejh=#e^GfQrdaOhVjZ*lLw%GCg^!i z(@o!+nz}{|;WbV^WeBz=Lj}NCjZu>udsKZ^&E6CM$UhfabNK=Hs6oBa5D2-CH595= zhTKl`Ab9Lbm#y>1Q&xQM|-yvCa<=xt7cZ@GvC< zP%mm23qTu|{f7X{sAnv|Qlb?yz+x%_u!4HdoPp&;8|V#-De4jNS`wFmNXIioYl+r9 vWUY;iy?nL|#6r+=Jhn($Dx0eS9;N;TwDPKvxL}s*00000NkvXXu0mjf)7w6p literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-social-twitter.png b/artificer/functions/images/ico-social-twitter.png new file mode 100755 index 0000000000000000000000000000000000000000..dac33d34b6b48ba283c83769e542bbf89c7f9de4 GIT binary patch literal 638 zcmV-^0)hRBP)JPD#w zUrH@f6Z6_+_VF;8K1!#NMv!pQafi53u&W{)F;+^S8bW`XFmNqGUzPTmu!Td4Km_+*j*N&4T8vB0DC z=>_KgC#d$|pLOJ|2-Yq@(@qP*G0`4^r&r-i8;-h;{8Xh_S2-QIb2|(C?&GNzg8Z|9 zvmg=|2k|_QWAi0^Z@{l+`og7BfB;>H(()Fdx&nn2C}ie>Sf0mGzLL>#tdChM&=L6B z9wVS%8J`@?Sb#o854-TK4L>`uQ-R0VlOlA9j^oyc5Et~xKewP#cjN$jowM)k{mlRY zt)4S^rQs@=#~*Q4$h;2hH{tLkIq4{Z7k}aItJ4b!ssq*T_({1O)PZB;0&nNz^o4`! zz$D~y?pj)c)zulhz!-xu#?0$e+&GNHfC2Jz{2j>mIR`E#;W Ye;JDOvG{?z(*OVf07*qoM6N<$f?bC#@Bjb+ literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-social-youtube.png b/artificer/functions/images/ico-social-youtube.png new file mode 100755 index 0000000000000000000000000000000000000000..8cd302cd9b7ea4638db1f4168ab35510cf4d9ae0 GIT binary patch literal 1297 zcmV+s1@8KZP)M$k6Vubv1bDsP2zWdmhTH9?si`TNoSY<=%N54N!~~6xkJISrD8uP=GKPnT8H0m^ zG%zqgQ3Zhb?CgwAPfr;b%fF-HTmkN+KA08gEdPD)^uC6W` z8ylm8g9F;%-w$JNZ;!FFv%}cl-VS4HYm0$By}iBq1jwop?*9IM+TGoy=H_OapP$!7 zE{HcbHyLoCySw{h0q_z6WO8g;TwJ8q)>c|tTB7>;dL~_8U*}w-9v}>unVF%rwKZPv z^Z6nKU_H+2?Cgv#0Qr>35jONqO-j1Lc%GY^%c*K>Yonr~ zA|~J1*kC{a&eAOaqypH83a+cG;~Rn$fEZpQHMO<1EGj1_ha=L`(n5uWh3q-V5fuRE zbaZrFECAOG0<`1^Il>FCanRh{92FNAvj7xTRaF%W$jZv%Yl>*)<>iIR;r+_W3fBpu zcBuf6%7B1{g$1gttYp$aAV3a>gTsznQBhIB0x~l*`8`0LK+N*;GS|cG>@4p=N)W9J z1t5GP0x~%u!VWL|em~{s=QC-0dpnhumU6i5b~_8o&d#Q^v@|A_p<96VjstSokq#8x z>gp;rHa3R6O-@dxva&KJPfbmIc>&0uR)DzUa@gT{Nl6J=tyU%~C@5gN(P&gojG>g2 zln4Qcm@WZ$(;?uzM+Tk?a(IrKfVa3-f&gQ@l3HRhhJfno>gWRSmJ4#^HCS9pK}RXg zOjhtVEm)H24?_~U;;->oK-d8}1voEi1W>_fxfFOh^i) zK(Vnf+kNh*9zWsUefLY=ulpL}yN}{S#R4Pd1P0o4#*gH-ej6fCiG)r37Ix8miqMgG zi~bbgBZ5WZ+Vq>v4E8SL5xG>NQCo;e*v75*xEFS}{SkS7bx_|2A5*`{tUm%UB2QvN zm(fIBCX;&TLvq``38mmS2lud}4cQ-X@3GyZ6XgRm`uLa7p3lGF{Vyc|i^K!cW;8HD zHSmyzZhlCo8=JH}y%sLCpW%HyNaPL*yE51i%GCSpX&satcHt)*E6Kysjdap2fwgbD??u9WfUhvF^N= z5M1Dt1zc5d9pMrGEd{s#W!zHFHl0@kvIwN(wf_iL1$l&kSBbv>20YvAp2yV}00000NkvXX Hu0mjfk|uP= literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ico-tick.png b/artificer/functions/images/ico-tick.png new file mode 100755 index 0000000000000000000000000000000000000000..964e9dd0a0095c9b4f25bcc291fb4ffc90b5775a GIT binary patch literal 665 zcmV;K0%rY*P)UE0;sodljmsoJ2%K z7>L)*CCb1X#$_IK-0Q)-yL11C9PxW5Q!VBMRv^MJ${@@Mb`prsh)pwpIJaf+ai4qr zw|f7}tdRb1x5fIu#eRe13?e+D4C3x0LJBRCS;A(5yrNuUFhdyOHivRr1RwK$IPLzV z|LR+m{|hbU`!BIt@V;c6s11X#s{p^lX3KT6UQYY3vr>79fIdIBC=b|nX1LAAyzk9< zHvPZZVT1qD8^r$0uMvMN6)t8Cl4mg4q_Z~deB%GC>nZ{}tCsK9C9(vjYVv$Pxzii3+VohqeCeolyIq{vhuE z+~?E&Ys^+yz#Put5qQ|^?#fS#{)avE`fqkt=fCnssYjAQqBda7BBIP7Z!!priLl7F zigy{G(faRj)AWDg>(u}2-mLt;^x>k0zw;f7|Eim19!La>z-@*FHiM`D zFcw5aSmfFyCRtxL`0x9|;eX?olK=bvZ~LG3Gw#3lQ@j7_Tjd^$2SPQAAT&b^0C7Nu zh>CE^cSy{1x@Y!3>Z8y9wC`d6qrUq5H$JNVR4h=~0o`U~0~kcbM43c^X+cC@m_u=b z3(Vuqh>X4UUgR|Rkyrl_A+ZQ|&sv{h*A#H7Q{ccY6~jLS+TKqYXJ&tM1fM5V z)bxfEHFiw_#q^!IO$r|LPhldmhyr>N-_Lc%u%xfzcx%wOGwhlIPTte7?|KyZbwdb- z<`JD+!5IC>h2>SuXbUL3Ic@YAc1;0AEedwmhOw(!#-7r*sJuUlrq@ASXdFQQmk0tg z^dlRhhQqEY;MffX+bcqAT#=D|c??@ieAwpkV@JsceEO>3T90P**);_eH7eLyNyAtF zLd8#PIsXpX?jgfrHxXd5Sd!=VuMnSkeoK-nK~jeG2{%QIH1HA!+f9I3AI zzA7r{@zjl=^NiE!OqFalTe975PobbRDx}k%LA#5{B(maUQr#8rr4wm%PD!Tq3%(+Q U@7I{AH~;_u07*qoM6N<$g2{>qg8%>k literal 0 HcmV?d00001 diff --git a/artificer/functions/images/icon-32.png b/artificer/functions/images/icon-32.png new file mode 100755 index 0000000000000000000000000000000000000000..6a20ad5777d341d717b6c1a5c8e5907bf1d7a309 GIT binary patch literal 2179 zcmV-}2z>X6P)NJImI99mImkkx&Z!HhcuGms{jD2rQn zgAGc%5Ot#9zKys%dZdJXi?$ZU{t; z%sG%6DhZ&5NdktLjEk6S6}ULhIw-xsIwLKE6NeIsS>W~%veeKyTduX0xrum;6{D*WVq`zA!Xzl<|kZK zgfUCh__E|EHtsnAmo#m{eUSVMh*QZsMS&CNuL2#d*jarU+=RWXUzD;BJTh@%a``{y z8%22di_2+@Ont>ii{1xIf7xovY(jLbWBeX0`h$klY#X#s;y2ZBN>ueAIEXRN?|Wk!97ETqN*A+JbVDOKSOJC6HZ>fg=txp;4LnDWuhubbN1un)f;GQ zX`*BAKWIR8a=a>3N@JLrcl&qpTW3wyK z^!O2ad)Dr*fdkoTaauVMx<*csD@n>M#Yb(B29mb#UH?U)KR5h@UErPSG z2!Fb9i?#oF<`R^LPO|;SjZN@M+X(^5ZyUN&P8oZLOL@`)*vH7p_WZ;IJ!ynnd;xe1 zzJtxY0xa01AZ6Ifk{msM1IFQ7k+tIxYfId+8xHgGNb=isU%NX|tMV~;+LxHQx)g0~ z&uRO)x}RY-I~QqrYIZ_LYcIfNW+qHN-;Ao-t1M^iMg?qR3PG+;Ic4NAQ|dG~8}=p(qshf-hT|n zA(`OD`+Tf3ns>GfK@~;EN5p!mZM_x{I0M97DU&G zDM@mQGbTi8KWi<_LbH&byO#}Go?nJR{wt7@y^|#GUT^KspTjR98#NcN(fucljo{5% zjpcbtHYRdq9?fY#dmU`TvT*jwO=gn!A7XUG8r=TnFLeJbSpHZ5VN+Z zOQ>84lj)hTm=q@`Ur$q|HX+Mk7PJh(DYgHmWBWC4R7*EN7>4a!GHFVTuDY;N#Iyn)eXD`Ro=4LwRLftK_&fUQds;oW< z;k0{>Jo;HpAU=iDjh6sJ6L@`kv19GS0 z%5`Q1+sO7dHa=l%FmPTvK9S5sz-YV;F@!ZBbzYR_I| z?Lo0i!SRm3ox9A||4I(7BveLo%QACGSuwZB@tQL*bo(4;zOmrAhRCVkaK}oGJi=h) zISYCtgYfMxbq^t$>OW$jC;$e|p_m@GvWGvvxD0){{_qM*KzloLlAn`zv8oEE&vl9X z@zhxi76(FK9E{>J4Qszt_Y;bh`_aTM3@}5Q4g*ODjJ(1@evinhK@J{L@-qsjkbo-Q%W5Lto$r z1Cc*m0;ACUvdmt8b}7}+=T5*d=O9|w5P^@JGO%@>Pa34-i-As`!ofR)Ep+;tQB|P- z2v^###V2;&7#k9ej*j*&q50dEc4FA7WcqW-}H=F%s%S$pOjKASNYI#%u& zBAiIzi;rzR5gaAM`HNRb-M7%O_v`DClfMmv9X)BT&YXiCy$Yy-R^l%P*}G$qy$6lH zW}~1`Guv|a?mbwH91C4*SCExwV#xbL6A@B>yN(sQCGR_YU?ik{`nGQ9M>tFb-f)`~ z3clB546q!9{ua)}@5%7c@PrPr>07&i=P?=XB-WTm@)K@-JNK@91O_&vzozsoggpHb z;ud`?3AE5L6~M(e808fQFve#pKH_jO(3y)hBwo^kql-&I$7o}9EyYB5FEN&)C`!*<1KNWprIF` zZ3Nfekmn@PluXc9tM65zo%n#D&pW`7AdB!meMM+9vDv*LPd8n?3H?vOmT+(D63bux zE`0w@p`Gw1IgSxLA??Bc&q6y9LE!S%Lf@NzO5PWte+N$VI@*xu7S8|x002ovPDHLk FV1m~J4*>uG literal 0 HcmV?d00001 diff --git a/artificer/functions/images/info.png b/artificer/functions/images/info.png new file mode 100755 index 0000000000000000000000000000000000000000..4224de592331b97b284545ac46963999f22a8e0c GIT binary patch literal 934 zcmV;X16lluP) z{B;51bE`GXPNtb5AJHs1H6j6aZMoS*Rc&2V@A^#j&OyQsxZs3aB!DIFjg!_tcF^*N zc3L(_;D8HGxJ3fc`X|0=-X{b*;T8(8w%S2UE9^q#zV75kq~5Xl6gY(gtmH+r=(eq2&NOt9v*(NZ*5mU)^>7LYSi#RM<(5^J zbiSQ69X}QxaCY}7)_Z_cI6%f-J0+J{WhrRvq|4?O+E7^O4e+wfrdaO*PT>IQe9PvQ zcF2-+`YFviSw+Q-4sU?$@>h!W9^e!Xkj9DUTy0k*qulCk-fVSI;#qUQ^#D%c0IAp7 zY1X9=iWJqme*E>jUe|A}2RMZT%rE*#2^TD~q!zb(o7=m(X~Fr|WadSQ^Gag?oWcQS zU$oHV)2*_csIm3=27rwPH8kmXlj0Zvr*MG8b8R#+uSJ%Oe6zRlxynYGxu=xka_bc9 zJ-{g(AmLOi#TLZYR4{ z18sO~Nx5vH!~zRV=fyK^kiY>KoN&wa9KsCM>2zwnUayJUTai6C|1GV%(?Og0KiD>Y zo!b4(LHnLN=s>N54%Ip7umZS-8q{J8#=-#?ob1jq8jb$J!NF?uboa&qHxJ;wo(UZm zJ0&tU>*lfeoJSU)y%n={NAV<0jE;M0IDlFe7#QehFc`EP!oU}XGZB0o#rv_$ zI3}8jkr>~L*q`WqEk+s_Ejh+8k?b9bNn*0nq}A?6z_&%M)oT3_1nC%~lr)Ts!g)V} z_aminn8j!adx7K8T!U*7QZ2@WbA1?NGJM~3XpBjlOs1jIso1M0a#Cb&Yv6kVSTa7)39&TfBv`OH=#&%!YlM2cmMzZ07*qo IM6N<$g2Z6R{r~^~ literal 0 HcmV?d00001 diff --git a/artificer/functions/images/layout-off.png b/artificer/functions/images/layout-off.png new file mode 100755 index 0000000000000000000000000000000000000000..6f1417d948739435c391be1791abcfaabbd47dae GIT binary patch literal 630 zcmV-+0*U>JP)Z8?ap<9MVYqUmdv_@-mXQE%LRs335z~ksByjzSrUSA_VH1rRg!FT=rc)7iWb#j8ou`$$4(_eIU ze;>xt5h{m=kb8S@&dxsJmFH*N1p<&)SMUxFP(M9|;Q4SE&05Vr^!?x_4;$;;}A`4sgH{Y0-lL#LcYSgvfA zaNN7AsTAtAt&Z>X$cTyvj}pa)Hzm*chOS!{9)^dJp@Sv!0Zyks=lQO|3ro`*$y4U} zVBr?&`$ptkGn}LH75w!=#g`?HOC_1?psQ)KsqfPotC^W5lZ Q%K!iX07*qoM6N<$f;wm?i~s-t literal 0 HcmV?d00001 diff --git a/artificer/functions/images/loading-bottom.gif b/artificer/functions/images/loading-bottom.gif new file mode 100755 index 0000000000000000000000000000000000000000..1528fec01ae7580e1edef45c6c80fe754e907c65 GIT binary patch literal 1180 zcmZ?wbhEHb6krfw_{z=D)z$U+^XF&Jp53@{qqnzr)~s1~@7}#|;lj(8FOMEQ`sU4> zj*gDgr%xX~e0bixc~`DndGzSf{{8zGEn4*O;luOi&tJQCZOM`)Cr_TddiCntw{Lgv z-hJlGnb)shPnj}h$BrHA*RQ{L@#393cg~(YJ7dO-0|yQqIdbIIty|~Lox6Pb^6lHV zpFVxcKp9Z{&+X?L671|4;A*62z|06VP4STSLQtts|)>s$Cj4Xwf`O}@aM8vt$S;ECd$~+b? zsP)M4cLX_xm5YIeL5B(G7#^@=!hw$Q&|wql?PxlXV`Rv{pk^@BL{+%)h>@g$MBB56 zD>!8KNh~i`5{kU)%gVIQ@4{7v{(~BGD&Da$WmP*Tvc$?VB(rz>@o+L`vIKJ~xhBdA z*VN8(f!W0Y@;D>VCO!rR*1!aXzL+a1$y#YLkCfaGq~^zZA5w{IiaoE#kT_wHV!+}a zPRSD-A)0*)pKnezo8EgM!nHu}fhWUaL1*S>-nN^o@`5MlO%J$zg1JmS;+>Yn0!4(6 z;I^u;YzT!fvAy)VdxCyY5vlu1M+CyP;7xjW4n z<~uCm0=GVqh#`!_eS9`R1Ca^%0Xz zn{7;dPx@#&ZJjiUiJ56PFNfK5-XKYhQ1$75X7NfC$V(@bFbYfYyKpd-FhvOSv9jfK zIjgZSuro?ahc!7@N={{IR~2t|63+331sfB@UVf0j*wP&u3p9EJ`X_rXU}6YinzQ&} zk*BYU&{PBI7hx+jG}Ie}mhED^`f`a&u~M&(`Qk?>E>=vvbJ_F3M@}b6U`AkcclVZK q>u{FykCoA?&rHsU>UEkNtLc=Oos#BWC(6X2DH&2;-_z^JU=08U_>FG> literal 0 HcmV?d00001 diff --git a/artificer/functions/images/loading-top.gif b/artificer/functions/images/loading-top.gif new file mode 100755 index 0000000000000000000000000000000000000000..690da655d7fd9c2a0c67984408ec81e9eae6a1dc GIT binary patch literal 1493 zcmc(e2~!hi9Eaa`HyfADK@4a~f=W25l0c%?3N|2+gd?0Hn2xpW#6qhMVx?B`XpNhg z3qd)H0s+MXT2QU>^vzu{g=Nh*#!h#SUL1Oq_|11mFAvst4fj8KS=`pWt>)aE4|m9SSA=fVe|+#n zUiF!MC+*9(T5gO_FZgtC)YpfMEe_sCh2RJ|6U({sMeQXAP?M^NCYN&1q+!9rZ6~7&JB8Z z^FkcXWdv~*C@%#4VjCL5)1@=Ly_>X(&?8B)Za0ho1Q5H+Sa03blv|>hjTzBcXI|)b z*z-e%Ah-a1F)%j4%Lib%pTKc+-S~9g!W>-Pnaa8K`p;b{=LY_M7?~2Gkfub!6`8rq zQp6I%On}1jEe8l`yh0>WdRVyo4hThJ0Wd3Hi<7vY4u1zC2s9MqVd0|Lb66#YA~6H= zsVYWh#YEQ?!vtkzBZ(-0oE1I0F(D4bieRlT?7RZmTzM4D5MM>m&?|IO*`@SeMepL` zjJZ&upsI0hmn@DWD~W5QikV%V`~Sd%z@`-Pv~*HOPf0=aX1a;akXR1W{Yyy| z#;^!5RfRbqxlRuW*)ck#F3xVKfb#{jX>bW&1Z|gXBEAah2|GljOqoOPEw!rvNVTV8 z5;4T_$MoE!z6m6DNJwCXXt4owm z9o3;V)+1JZ!!feL3JC(5gd~bWsW6xh+aWiIksg?SC7oK=l!inB5QP9y$-Qw|ihV^;;XW;zDGoq%fEAGjB)hi${p$DB6;LdwH-s-+>SbPQh}Nlzm6aBfK#Qp72AiAJnbd2$ z=Bz#M!}qn3%z84A)lWEsg%RcmLyc3+#&JX03bUFAP#?^o=J3=m7$Kba-IAT{+7CYX E7b#2G4FCWD literal 0 HcmV?d00001 diff --git a/artificer/functions/images/logo.png b/artificer/functions/images/logo.png new file mode 100755 index 0000000000000000000000000000000000000000..c12353ecb44801726cfbeda1dc8f8c9098cb1ed3 GIT binary patch literal 7093 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 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/menu-arrow-frame.png b/artificer/functions/images/menu-arrow-frame.png new file mode 100755 index 0000000000000000000000000000000000000000..33d19d8547050470dfea18c81469816b60807abf GIT binary patch literal 564 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 GAmo4V(U3C$ literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-ads.png b/artificer/functions/images/option-icon-ads.png new file mode 100755 index 0000000000000000000000000000000000000000..463e64b6de5d5ecff2d3933b91576e131798a168 GIT binary patch literal 596 zcmV-a0;~OrP)xOh=}59AWL>x2xRlJ$g;Pf%i=}bXvrm6r-P_?=^%?Hbnq;l z>QsS5B6;ax9sHAspeTeT>P1CTRDQkpmXXy87CL-DkBk6-&`kpz$DwdIyqiv^91L?XVM1_YQo5D46j$Kw~ZTJ6VbwE}#6 z$_MUaueW(Tp2xgIBJn(z%e|XSCgWza3A5P@$T|&tXP7s?&d>YH%S+g>T&~UMbC^!2 zFdB`ZTCD;Of!pnVLId9z=IuBbgyG4_rr~gHFc?6u*Mn}i3&moQ9y=V4r!?@1VLsLm z523ujzo}f_P^na?d_E7YRtxlc{RIuYLg@3Cy}fbs-~cw@z49832H=NB1KDhr&Sf$g zM*}Yr@?l@Mu`J8+TrSs(SSNP^;DJ01hLg(a4%iremAU=EJT&WxT+9 zL;}fV@;$!rj=^9+gi@)z9zbTZ8R45L8c?ZJJU@BY1esr3r;&dK_`iss#RHK@6eP%; iU*Foop8@joKYjz`+0Hv_WhJx#0000D z@Ey9A_A#(_f}wa4eP53tFaLo3@fTG1-!Of^*}H56_v|+~AAUk*=K|~<^S>SK)2r5- zPeNDkyav$+>;c6HrS7L=CVP)xx@<8EA@a#Za-sb89Ed(pc5B86h4qheDIh2yw2Nna zM;9oSr;I=({?-OGGkw73duaqBse6kzVw~v%=H}2DYwLsxL{j%0V47Lx04r&UG7yQs z)yJyT?ECpbH-nF2ETMOH0xlrKqqex>P!u*uP%p2;m-n@Paz4f8BZ z7bxZW+kAdN(gIoL<}qA+oehlQ8cMNkPr1l5Hk2t_!*@!RD-J=5(toge#Xn|apUrqgXTnYuL1 z=@vGFC~D+I5-I3~7tu|E5YbIRS4J1V-uK`nHE+Cl;PB@>&wI}Q9DzzA7VJl}tW>O) zmb}raYo@*Z)&c+`g7Dva{wub~%NmHd#55M8qoo>cOeL7RMQCfTU31vl^`AejWs%UK zJpm%gn8uP-wX_%pwhp~U1?(mz554Zx)}o1olnr87yO|*pN#B;W%JMo^Sq>6`MqUO( zYdw0pWZ7nD=3QHHwvm5XSvR{{88R^14C{^lI?o z^$31{Uj%+EVPvoieHQga!Q`_SLPE*|vnrejBv_7*A~?{2moxp?{Pvy~6VL$J%>^1r zC8Rqn>bczk3Z2EKoIB**fpo%IXAc`cXy6Rtx{K2<9W;vLw3Kn^z+xyt&cZYsUu z8x`)!^ZAxQ)-|0c?VQA(lC=3}TTTS{!B*t(aClzCg=UVk4=1t|p4pQ%=FqVs_h@SF h%wlp%k9~(s`3pvZUKQji{_y|+002ovPDHLkV1hhMN<;tv literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-calendar.png b/artificer/functions/images/option-icon-calendar.png new file mode 100755 index 0000000000000000000000000000000000000000..197359c81acae8c4199f6d90ee0efed8788d012f GIT binary patch literal 289 zcmV++0p9+JP)TRwg9i`b>?>EUfayO!-eVf@@#Dw;r%xRK<0+GR;OyD6reKJ#TCot93x0#~?j0N9 zwjS8O9c&{AZ{NBOOoI%;FyP0JAOA0%I}XM(r%i;jzeoA}KOEoz#~`tlD;D4ngKb;Z z0?8l$|Ni;_*7Sde8yK(lbtK&dAOk=eVVHmmC00000NkvXXu0mjfsBnP8 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-cart.png b/artificer/functions/images/option-icon-cart.png new file mode 100755 index 0000000000000000000000000000000000000000..1baf7b9fde1195da75a09a4ac8a7cdcc11542c3a GIT binary patch literal 421 zcmV;W0b2fvP)|9mIxVK*qV(LJCr#hETgDW!z&|9$wh3`VrtfF?un9PlRLs>2y(-4 zrLKn+LM$+c2R9RpV`rECN`sK@HGt)oU|=2}GdOWzXOuyDL72-1pjr{L%5=%8 zRQ(pEyJS{6KMcTc^`djdIyOcaz(RmDeoTeB8zvcNthS*`>A=K4->m8f9c)wTh(V)x P00000NkvXXu0mjfbTF;3 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-connect.png b/artificer/functions/images/option-icon-connect.png new file mode 100755 index 0000000000000000000000000000000000000000..586833eb2d61bfbb767aeed85bee4c918b6f547a GIT binary patch literal 719 zcmV;=0xPcJ&m^Suy%UetkQ67 za)IykGbG8jwwLtv4Vt#JwDtZMAYr|kTiOxiB_(E3H!w)OUdNVJEoWyJNRo4Na|{YP zF|lXQK4-C50g?5o)>AAq=#$B9vB&YJJntgpb8Vt)M$&L;+rBbg# ziR2)pQtvh3SFuU%`vTF|@gfmF6j*aMdkb~34y;yGQ2T0#i;G{mxcH6p^PhS8bX>bk zb`+kT$JT(~rEse8LR_$&Y`h|;m^UtFGB+`mcS}pzrRn47=nVDxX--YeGbJVKjicjU zV?kJ-P-mh2J|JrCX%v5&P#xx2t%Q$nU*OF<73@^MW_R}pwb~&L4^J{GN^Ss948UY9 zp?q`eQiC0TR$KF1kr55~;9#5s@0FIbQ{B(z<}RvKJ$&(^mmVI6rvR(~xV{QZq`tzoCSmt|#5R4AI5msi4&kh7QV?Zp6)@fR?Y1f*@-3c*$kCnvXS`O9oqdZ52|1L@Q%6HX&zuVkj0S++0Qv#Utpc-`faskzuyyr-AV?vRcpdUO=$G!} z6Po7l9}yf7aLP73Tn;NM8vuv~Kmf=8k+8ExW z7XrW|;5bmTvq731YzhEFK%>d-H<+CzI7?1Y;Lak_??GrtN|4mLpXJ$C=;|8T^bde} z;H(TR&d#NVtllGr%8omfg-%oG_=!kGK+1x?iCB%|GJfH3Ll@Pj2C(~sOiU)99=jBo zG4yqo(Q<8cq`hjZRMF?cPIC->bpnYj2px0{vKjQu5@h2njKAjd@Y|uz+f%)OnxBDo z{?=5__ldDL@q`5oHbf?gNGA~KB>Gwk$)FHVT8NF0ynFsBeG$-i4^dxHr7MZ)D3aNa zP&I_AB2*PL4XlSqOn>0FDtA467R&B=NM4t*#_B0X=rWiJ!R7-Y!A2agV0L;a$gGtD z3wsKfjB?24t3q~FvT3X(u{49osdxe%D9%EZq8ygQVi<_*7LWkUMmcEn))D&}W#!xO z%z91?AlO*`K62An+gfM!)M7S7>hpa5`a{~jJmc8o#?jnXPX3kB?w`5w@d=;-1gjn9 zf!>;VG^=ofwExM zn>$#;aL2q|NGH6=Y9|~mAtEOBz;7>~qMp10zrAAWHZ+Sz{SaA2f{|S1P^P=P$O5*1 zR?e6TnE7jDwG-Kt2;+9v6skqN-Jo7G!HyDj;or@#f~av133ki`nilKB!__xrRT&T0 z!z>Rzb3MX7V}oZs-cJI}OrR*i&(P00kh$n(uj@l5-ovwz^zy7ntWbhqNT8SrYpYiSYv`+q<%NTKUzwH4+U457+nlmToXSa`Brdo9!6ky3)9mMj0_DtQLQL} z+ck;9z&!J^iv9aO>udo4+)oO(x2sG@;*Y_WtkL5^8 SqA5TC0000apH5))fv=PB473j%6XWW`Cg*zEo{|4%ZL zJkPhl3isM&S++)NE!JA+qqPoiSibsZp%V<-PFfU+#R$0&-Zs%nq} z&lrPjh literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-general.png b/artificer/functions/images/option-icon-general.png new file mode 100755 index 0000000000000000000000000000000000000000..b74083e37ec23effe66003878a2aba0e86f01c9e GIT binary patch literal 688 zcmV;h0#E&kP)#_TQ?s)dh|As&4;Yn%*@R3{rmU-zkmP!KRG$M113IW z#*Brbp`qExYMDYpLZ-B}wQU1A87AoE<&^+3;N{Dg|4*Jg`M}uN*u1>Fyy?%MKmXm_ z+)^=|8y6Qhzq-15J&?%^;wva9nBTp7_y6O^kN-b^{v70uUmycdojUbhKtMnbo0nO# zva;6Y=jSg1xn$zRi3?x6cmX!x>C>nGU%!6+|H_ps|9yRZC*TQm2A1^n^i|uoZF~0i z?YsXE@8A2Mo|?MJ)6;WOY;5dmRaI4x)7kMEz&&HyjIB3r-28v%=C%Km=PbI*z{x4Y zKn&pH;}hDxefxncSFZlQaPG|i`Pp;<;oM&-oIdbHBUS7e9dGqES`}pzWe;*$oOk3E6+_>GlKN>fm`5(Rd*?&F1Wk*Q|xt1<_{JEt`kKwZeIf_G2qFZwe0YM z%vqNifTjqrFvedg^$iWRJjhpFA@ia3epMqk&^`yRlj7lx#~IImzQT8x;s2%^4EOS+ V-D`PNe*pc-;OXk;vd$@?2>@dBaZdmM literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-homepage.png b/artificer/functions/images/option-icon-homepage.png new file mode 100755 index 0000000000000000000000000000000000000000..ecbc7c5aeeb2d2d20edb0b843d1be93801f8cf8b GIT binary patch literal 439 zcmV;o0Z9IdP)(thw+q5BQQB2}yZY4pyZ)>Ccb@i6R|Bt9$_d~_M`?Rue=l_NK@Bb%gfP!y_zfNfXx5=BX{qJ0V{r~LUcY%hi z{{hlS&;SLmHgi?~uCHCIFZ}OZcm03S{PX`S7GDG#65X%?zX8hb?J6pMogeBJp7__l z`NsdkdFSA`e9?vfvv%J3zhK`zumRek4Qwcyr32f9mHoP&WcBa<)4l%c|LmD3|7XoW z#rbni|DU$)=6}zErQekOy7$5j0WnnkyG{mGuKC%s{>uN7{{#-(2Ff#WSa-Xi-~pMu+4}h(AorFL3D~CN%9gyl!rix!FWf?SzAYylNaBz za_h{m(NTT`_yQcTfA@V)Y>#=;TF>@7d9M5ayRYlo^R%@5hvz~jmy8i`h7D4?);x1w z@Dkw)K|=$zS`F1|l~J$PnWU>*yug`<6@~5Vx$q^Oc@cS2hJ=|wx^Jx^`5~#VV7rt6=>V^<_ZbRm3JWT z?1HRQ$y$Hdr(sLwjj;Q<%tn})G$Fs1g;u8}f}3c+C51wH7wd1|VbEwmBpOD~Jr(Ak z+xZ>r?3dXHR1jL>*uwM!{gBAy?B>BC1Cr@D?yGyzaa)0BjyX2Qsi3mEg$0*`F>W5k zv~>~zZjmf2#+b2ALDka@MTeZ#={cT&+T)2R!mB|nbAGsAIANc+VQ9n%;M1&07*qoM6N<$g6*#$=>Px# literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-layout.png b/artificer/functions/images/option-icon-layout.png new file mode 100755 index 0000000000000000000000000000000000000000..8e19f7c7bdb99227af4113aa906c574cb7e10d4a GIT binary patch literal 253 zcmV5QQx3kYuN6y(zb|)VTl1|!kAQf}RMDpeTLlDz6y#YLtA7kJ5 zFKDfqh_a8?nwc4ea}EG7&-3NhUDsi+I{_b4kI&IR|F;5{M|- zoteJ?YwfALRP1$8z&{1QfWlfEwNTe}(t-zwDOlI_6rhw!TgaZlomU7fR8@6=hzMm_ zMvH|I{t$P$+qPZaLMdgqiBigYt4u`WFbuc8GXQ)5k`>gmPEPn;00000NkvXXu0mjf DzC>!o literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-listing.png b/artificer/functions/images/option-icon-listing.png new file mode 100755 index 0000000000000000000000000000000000000000..65d3cc1eabce5130c98a6350b7292530bdc4f87f GIT binary patch literal 563 zcmV-30?hr1P)>)ihVPv3JKvd+loD@Q_VV)bbHCsJZj5;qlu{z4gouz*Vm_Zg z&1SP7s(NR$EPH=+bo9}CzXm}{tE4(vRjCQevgGCEg~?wXvl(@b9gL4iM zS@W*goO28Y1Gcud2q6$-B+qjW4-da~yWQUwNFu`i{<}sdfU1(`IjTyGk?C|wh>_m* zHj~MO#bUu|G#c2H64qLJy&i2tYuO@#_ny7IJw${UBL@cu?Ck7tad9!T0M=T(_k<8u z;zbA{H0Rm}0Pj5;8yh(1I6FHNt=azPdONz^F8BBMTwPr;8jTt+Yz^?dNgYv|9jh&e8Ap+1=g67(#KWHRimm_Rjr7a^Grm{4TUl* zKWKiv|EIyCk2gVr%}&5|BIB3Z^X!KVT1sR68?MdbXK_qmh`s)iQL%+_OYUj*n)~gk zk$w)BP5zvJQ7Ok*8tWVyI{l#Bw?g-Z*Sn5!uWPEkBly6APxc*KIm?Z0y8Q>5FTDT5 Z%6?Oqv9oB>GoVKqJYD@<);T3K0RRR9YH$Dm literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-maps.png b/artificer/functions/images/option-icon-maps.png new file mode 100755 index 0000000000000000000000000000000000000000..d6a7768961e8a101fb4ba8cfa73cb73f8b9712b8 GIT binary patch literal 605 zcmV-j0;2tiP)YuW6o&8Ky>X}8ZcXeDFa{U?0(4`#QWF=3MUA9k)5N3;6AS^mAhD@ntn~v(6I-hd z3=HKPTCg2NpukWV1Olazbn`mr)}bkmdXhJ1PIBMpoO|vt0Bk?y!(Q^ksS@wua5z9= zv)Pc3y+JOzg5B-ch-}`%pmhh~4Fj^`OFF`sl=kCzpq#3&VAyY=TCH+Gxm?CkuYp0g zj((?(j^fA3NJP8&4!w2-+3+$LbtQ9G`HoJjh)%PBR4T;*@pv4HoJXskL$kJngW^0I z77Jvv89k+hw6OFWpmv@#YY~Y=xVc%)j?MDyEI!%oD&Pf})9FO5RzoI}IoCNFjdC-E zAP6`-NTV?~$IWXqGw?4gAhERw2Av=?jU5h$c^wP}A(s>QmV1Cl)6=*&HN_{|-gpjX zS4XK-Do7@iyt6j8D2fP$LcI3*d?@8Nu@k!qm&*mC(Rc>P$5;8L+l@WmSufmfH;TLK zD!>3ql3-T%a0XD{nE;CX6^c4`AP|7p>xIYT;YJM*TD-&o6jrMhrPwnp-@O3#asE15 z(h3S&50QCmfatoy4^QeyxOxuobN>l`EL{XU{Bj#7vKzywfgk#p2yone%<~vfU%P=( z!SY}8UjcLv>GOTvvGuO-2Y@z78>KBzN^gl8V7x>PpeOA=piFhO_!OhzE1t*CNI@TZ rGMP*qK$+_G)ywGBuklQ^IwkuB`V29_r@%TR00000NkvXXu0mjf?Sm2y literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-media.png b/artificer/functions/images/option-icon-media.png new file mode 100755 index 0000000000000000000000000000000000000000..e57308cc021a3ed247190c14e1058188d4653bcb GIT binary patch literal 767 zcmVgfwB^~TcA zTAdcfB@_*`I>xS&SFIN*@cJ9?Pfm_w z_2UZ0#>e1vIT2{OgoVX9czhm4u(gE=r=}i2t>wQa2<$c03vb^oG67{_X`U6+ds;-H zb2_fCuhDGw5(F}i|1t5`4t#ze+#VO3w*;FR-92GEdi;>>fYb0u5J(k@QA4>gPBWlI zk!ul*j1IGVDyA$hEns%`HOoM&FWE^DoRiCDgY9j|&d$Vs7nYabGZMN$T3czifv!&w zND2zdbMy1p3Z#V)i^b58-WyG2tZjAmH4I&e4uL>`bb#B@>eMR-S}D%X5ldy~?`33W z;$(U{L?RJ{LLripl8|;h4H;Qkdsdrm^=dS-NyI+|lDu3Z)+j z-2iW+hv9TJFw8ddFGHywDzz#`*2b71Ia$O6WCKhHvi|E0dRVO% zm@O6LSgUu*+D`&rqay!V%2Ms_3!^O*M5Et}!Jz>R4E7_`*@5e1Yz|&VQ*!{0DhEtv zBRNFe77+vloLb2Q#U!wOL7>Uc1VguOpuM9F9iet6u-Gi9ch*74$>S=Xi?Yyia!>6E zMM5Z4@;Dte#e6*VSSq|ecTAFZnh09sW#whNB!_KlrR6($-%GxH^iS$%&Poo1SXOR8 xO>GriZYLbo_HWg-jt}JdU4o2of^cNN{x?t_@#p|qer^B&002ovPDHLkV1nmyU9$iH literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-misc.png b/artificer/functions/images/option-icon-misc.png new file mode 100755 index 0000000000000000000000000000000000000000..3e3c124527c439cac025d5f2e435aae38fcd7e83 GIT binary patch literal 861 zcmV-j1ETziP)o~5#_)#ut@PD60;1W?z#wX!aJ$N187UqgjRXTX%fVm=5#`8Q(GF-vXr8k zHHl8cOgjwO)NO{Dn>lCd#7)zAnr=S5-^|Kxd*HqJ_;`Nr^FALR1Hk@gSax<1yMDcz z6&K%QQYkn0Pe`S82gKqkR#x_~_{oztt3sht6%^cwXQbTRVwRV8i(S4fWfw1AVPwAT z1r!zC-Bnff^g(B*2`beGD*@7*n%c%zRsfgFjhq}w2L})eB}^=?^a8T7#LP?M0JQCy zR%?dG1I*32F*G!R`S~TRsj*Q#bL!NEE9K?&O@)QkH*#`{)&O!Q5>@bIvWI51S`WK@ z4vUK(uZe?k3D)Fr%wl=jgPxuNh(xkf~lzmOi#Pe-)}=l zhZ)`7gBTvRuLF&Y{J@zr>22G$`)_3V`SQB<_Rq9=9yZ$yCMOrj*oTY^aW9{L{*^=` zx2e@#bdvoyprYb|ld%o^!^00VCX+Q-T3U=S8m+Ke9TamBb#*Ei^|gz#kdl(2Wj;QReEBj8i^WbiPvOy{ms6K6iLwO(;jzrjtCH4M z-ICi4N&z^XE^iOyd(5Jv6S&WD^UWI_Or~)f8$lcx9i4%}@D1#5KY%+9*8u;8Kh zV|0QEwY4e)1_mWFfgo#JVWE8N^=lop+5u=Z{ow93o5u+e*;oeGuYpX ziHV~hCjV=5^GB%F-H3{ceYa)H=7^-Eb6Ogsudna%b%waOq;=2n@rlgO&+pLg-Fq^R n964IcV^enhzLO!h8L}i5(ViZ><``qi*6!A zrG#WoQxx5tIyaGRX*N6Cl<-Wg?WpM8&fE8Vd4^qe;Nj)_-sky!?>Xla>gwtQsJ^~l zuvjb^R;#su=?2psrq<(%bpiVDsTm>?gcE?AhK2@9M|by2hszcC8jB^RL?RWFq~y%v zVgUQ-!}kxsWHJe6vpMH>Q&a2U$cW1?ipshq(eB_v_Ps;a8YpQolm3_uVdpC%^KHSqQ|ZB$>U z(72QLmm(3G@OVPVaX>{yMeF?Ps;mMaOfbvBzDhj>4VUTXz&k#PluYt|P!wh4IH0_| zylpuWNxiV!X_AdRf2^B5J`$OE@s=^Yhi?L3cxx+#90!z@mEH5Lt)(ZxNgq6MGCT=V zWtWdnqJ9$yo^P?3j2s8(^?IvwdU^%#hUWCzZ>sLu;1HaOuv+m7@VUL-734Ueq@+aG z*4}OpZEh-~!A)v>Bhzd+`OjZaA<^w^jITVj+3d)1Kyh(#Mp02w^N_=_@O<)sJnOsZ zaZla@Kty)I#>U4N;75)FbUK|-SXg*gZ!p+~hKGGW;&Da2Na{`ewZBh$hlh%DY|K|$ zT55wIIS#;+m6avr=H}+*=jY$Q+uYnY<93Ioot^!IqoY)uRnOd9xTU3~4}JLH$D;yH zG37B`(P%W+GBYzx+1c3-v|4Q!(=$}8vCsNfneQUgnUeqwla}cm(}n-&JW~$SX%+AX X)|^y-C>K^Y00000NkvXXu0mjfD4A@a literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-portfolio.png b/artificer/functions/images/option-icon-portfolio.png new file mode 100755 index 0000000000000000000000000000000000000000..6fba286601e129d11d9e193966b143c8128c4d2f GIT binary patch literal 627 zcmV-(0*w8MP)VmBi3Y76+;=$!&Vmzo9PjaCcaiI}WyG%?2up2;?9;` zmE=vo4>TXhtOWR#fZM~v(c>pR{FKu7cT>_;M*JAP2?yT~Umy%V z5Gr>#JrtjQN$KnowcK`7%61H`42lY8ttr2+Z4e;k{h}`8j7V!z{NKZ#m@}&^dxG zZU|)YfttENS}W+}CB)?ue`ix+)+W7}Lxnd5kXMO3>K`bu-bFn1=SMvH=8*sZ N002ovPDHLkV1huh8$|#B literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-post.png b/artificer/functions/images/option-icon-post.png new file mode 100755 index 0000000000000000000000000000000000000000..0679cb4e7de427b8e77dcd4920e29ed71f42c4ef GIT binary patch literal 372 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 U@7I{AH~;_u07*qoM6N<$g2{>qg8%>k literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-sidebar.png b/artificer/functions/images/option-icon-sidebar.png new file mode 100755 index 0000000000000000000000000000000000000000..f24ee2447a22ee8c17766da78311cc2b3670cc63 GIT binary patch literal 262 zcmV+h0r~!kP)DiJ~aR834d$J-5lz`u}GWI(KO9xz&C@R0VMxy;Iad++x*lKyu~9& zk|e0>8YC^i_x-oUN~yjPo9&x)5CY^82|tP M07*qoM6N<$f}zE3@&Et; literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-slider.png b/artificer/functions/images/option-icon-slider.png new file mode 100755 index 0000000000000000000000000000000000000000..9a2d4d168ee16a0b9de61af850106431887ad6ae GIT binary patch literal 502 zcmVHx<;-&xK_12_!l8`Fv0;7H!)w5Cj3}fAxAjy?HPg zKr9xsiP}cNU$on8$Ye5qiay8VF(`@xvMk%6JT+*V27y4pS(Hd5AfM0Mp!~l@FX{+h z-zFv$JBezw8i_6}qQ@r%p5>tl#ZIDZHcO&Yi%3?6pbg(mC|)G$_xlhG26Y*2%b09a zbbTY*SR^WyN+ftd4oPB&K1QPvbh};XbUHRDPtA0CEX(REp;aJjG|Z+5@037e?lec0 zN(Hd?&hPi{;%TlTD;5!cVIL>E9u9|>-ttf=1b7GUlgZ=}3N{ytFtLps#N%4arZ@7m1h>Cp5J-rvLx|07*qoM6N<$f{uCD$^ZZW literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-styling.png b/artificer/functions/images/option-icon-styling.png new file mode 100755 index 0000000000000000000000000000000000000000..612ea9848793e43291e5cbfe3ec1dcbeb2020eb3 GIT binary patch literal 504 zcmVfdzI^#VARyrX%$YNPgT!%aUcY`l z4@~oo8#myZSFc|EKPV{Z|EyWF{x4s?9PE-?{s!;vrTP53?<6-5-JJhduU`HCZhSJ(etyLN%R0(OO@q~ys!5nUGZgG$#Ff4w*c=6)jvuDr#-@kwV|LN1G{~teo99=Ur zh?r-keC3>v;ZNi+;DN^d&uiDN{ol85-~U604q?>{0&~pduAQ=!MlpavMn*;$q%UAp4uPMJ%7!Id=FfjAt>X2qtU uQcd{KW_{83Ff|at0pdJGA!wxLUXRWuaD#|KyIh=C(({})9xnvp>tL-MkNy%FuK47cc zLPDTXt1%p3JrAl%RKrY3nkZHrIv-+ECub;9i6>Lchp1Lm)}Rn2sz+6E8kM9K$&{i7 zt)fP8{e7PNdq%z49J931oNE7$Q} z`0bBlycdEOut?4U7YYIpR2Qf@L;#>J!q(;n-~8}1NfTg%qR!6C*GQ&R8G?^UsE6R4 z>lDpZX44Ul0Ay0m6kgc7u?+?Q_)Ln1AP7pM*(KsSVLY4cciP>f(CUrEIRgLy00000 l@GAh|Qu2||9nVJl{{wZJbDe@23tj*K002ovPDHLkV1kG+RjdF2 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/option-icon-typography.png b/artificer/functions/images/option-icon-typography.png new file mode 100755 index 0000000000000000000000000000000000000000..d191038cba900416dca0eb36a05e4659ffdd0103 GIT binary patch literal 404 zcmV;F0c-w=P)cJZnxWCq-o08Y&QH^7|8;w z)e1?HAR!3|A&5zg_r(Ht_qSO3%i>5DVDe5Rh~gMg6j4H4>K9nA*F3^t^SJ>MQ#p>f z=-4(Uh5^s>aD8*dBWLHQ`}4>RFfj}nA^QD3%H=YQi2>WO@$~$N*S8m#rdb?dVh~V# zAJu9V!{G?6qZa>)Z_C8z*9TnJEe-@h0H4a!hbijyIvfKUayBvry~~li~kLXk{6f@{>~Zm%>4n`zlxY2(UbZB0000sEJFSJM!v8MJ34F$!a({{Ydg8eO1q!*-mVapz)W!xj^FVAvS9ZU~R9 z1_NSZ7)=<3g;rxDW1K>V>3Q^HhVH7m4;S=w!otMFyE@6u`R?z0-?`$P-#+auFlv2#h%mNOhH6;~jQ>kQYO0!J!F=8pndxnv&*_4V~6Ns{!&_3O*M zUf*vvn@5yVv|6n@pPf7Z#f@*TEx-Iq1itrPdsN44jlZ5;ln9EFwNAGE*g4{qPwcTn!^ zMX3OpUs$;C^|f!>$L8ja?wKqCLA69ZE^&Ezq4*{H)Sdcp?o1Gsc=heWcz_QCKrN2r zXRcnpa;cRh4}c0_0jCS+@{x=B{r=96H(Njd^!>xH*3(hCdVd!IyfJ|q@0S}>89f8Q)xBOsHL7Rjv*Dd za!|1QRei@U?y7JR~)o*6<=Vx%W1o_ODsH&)($WiR%pwg+)$+3}(v39brL}q i14DhYJ$*w(S?%_}(O7h~WNSJo+B{wTT-G@yGywpWxBEf> literal 0 HcmV?d00001 diff --git a/artificer/functions/images/quote.png b/artificer/functions/images/quote.png new file mode 100755 index 0000000000000000000000000000000000000000..a15efb9a3c01e1ad1ac732f07521d0c9676f75d5 GIT binary patch literal 615 zcmV-t0+{`YP)-7d90006mNkl=;zSYngfk%_+?b%TQbZHkxG=65TwdAX zHetgKn8PtL<0^!72;c1d4V)2v@0FG1mx;I`niJuJ&{7C_htCqc+;AO{^+s7u50;P^ z5p(lWpG`QeWy%J z9%5F`ymh})a6RBJH?K@Z;2AsQlx(5odLY~XTt18z3P`vYh62w>GIZmm_pBKs6|)fd zPb$dgSB484RIiA!=ZsX$nBPmc%IrkwoU9$UR|Xc_cWHY!NyLnVyQ#>;Mzm)~6u{kK z34!URX2I4zvDs9_m7trRxLoY0ht+=ku({2beO3%G*pdRSq-=>gxKPCzNFa8kSeiir z*HQAV)B@2Q6Lp0zzNzFkpTRXi=dFPi4Ewan{{TyQROqm};3WV6002ovPDHLkV1mj& B8hro& literal 0 HcmV?d00001 diff --git a/artificer/functions/images/select.png b/artificer/functions/images/select.png new file mode 100755 index 0000000000000000000000000000000000000000..8be5ec97f8ad1f17b04a479194e1fd8e8c12ed88 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZF!3HFkgxGWfsVSZ=jv*e$-%dTqdq9E1^`J#- z_ok+I&)DR8i!XRr8)hnJc+7HmyuMnyp!r zAhjamA{MYPhJ23 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/shortcode-arrow.png b/artificer/functions/images/shortcode-arrow.png new file mode 100755 index 0000000000000000000000000000000000000000..c724754b304c80a114f3f8ac16e50873a1f091b2 GIT binary patch literal 357 zcmV-r0h<1aP)gL{H3=4a~GTc zOHZ$_$Gyv#iu;#v9`Tsk2WdCp7miE74bK?J|t?B<~9BTd_ zv%u!RYCXdroCZYC*8IQn)P(;_PxSs@c&zLHyrUgJL$dx)Kh*R;ZK=n9#af0}(v=Jb zI1LD#uK3S$qVzxKe$ju{-TeRJ=3D)rcCg`p(qgy&^0f@lB`X=UNQwpRX2!4a3!VSV zS2H{TYE~yX8i7v!Dp$??U$l}zk?fQxT+YBbxbp%4hn2_r4&AKm00000NkvXXu0mjf D^Qyjn literal 0 HcmV?d00001 diff --git a/artificer/functions/images/shortcode-bullet.png b/artificer/functions/images/shortcode-bullet.png new file mode 100755 index 0000000000000000000000000000000000000000..a2bf71ff876aa2e972a9614affb7f2c69f28c72b GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`1)eUBAr_~vUS7@1peVo+@N0ci z)s7$o;X`c=4v8xg&I$4`8I;fNsXh5`j!L=kcVC7B%no_0VjcFDpFJUHpnTgQJC~(l zTcgC{ATO<@E3WNwna1GRDv*+P%JMyPnpx2mCeMjB@{7Lz%jzv}|FS;4igBv#<8;1C RbseDH44$rjF6*2UngG|MJVF2f literal 0 HcmV?d00001 diff --git a/artificer/functions/images/shortcode-green-dot.png b/artificer/functions/images/shortcode-green-dot.png new file mode 100755 index 0000000000000000000000000000000000000000..92cb0f9011c62b4659f1d7cf343427954a2f5795 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`n><|{Lo7}w|M>sko>_H9;tVMU zrhB$Lmu+`R{M%h>^oRYTf}O`44Q7X~$2AOD z@4M{e-}eh6czl|FC=@Q@`M_XR{jBop|F7&4|E|AHX1EM7Vo!rvsa*Px`=v}C^39hV z_K9!QD_EBnA#6PR;s2Imp8v~ZS}uT8-iVmMtjTus#ZAtQk|1kjdlim4FVdQ&MBb@0EuZ~4gdfE literal 0 HcmV?d00001 diff --git a/artificer/functions/images/shortcode-icon.png b/artificer/functions/images/shortcode-icon.png new file mode 100755 index 0000000000000000000000000000000000000000..e3cbc08a755745ff9a6bfc025841810a3257def4 GIT binary patch literal 671 zcmV;Q0$}}#P)$=%k+4I*}#ny~PLaz+1@S;g{A-JN;#xI4XH*inW&Xr*qx#v5GJ>5po$qtm|tpaUS z8t!nsvCnqVzsO|U3)HlIFN+C3wE?M6Pm$0gQH`PN9%rv~qR795$!sA^-N4wZw;U*` z;nB!AUuM5jsBb6bl#z+44@|tDA+o3ew*<9V=)NZxt=`DB_C5~k8m$3T>8~>L=`*zr zO|><>oGLnqV94Ft5w-zp)@L!4VK5l zGV8+mV_jUg{wm2S-v%$=G$hHGxLxrW63G2 z#@N!%GGz=|g&N}aXXB^{N4g`8{IV*PQ7O3iMzT0CMl4(rsIp0%e0JjC5sIr2BngOS zk$W&Meky_8I4i=CY=}k@6eoyw3F~m%+Q}zEEL`dvhNFBtj^00vKhNhvICt>eEEc-T zw_v|6cz(!&n6o+9%aqKAd9^QR&rMia(0;h!!vE5-zX47E4gk0BA5QAldNrV9nCX2ynviMuXAXp3*i^X6O z401eY=DwM?%WE6HH}{@%?tO1(D*)9fq~ds81Oj5-w;@j%Wy^xUqi!I;<27^=8-A0t zp-jjNeh*fofrra@swa7g>b6W?@Uy>c1h~IQFreP`RcNT;Z;O;EJ0rgSS zu%Ny8@_5%p2?UY={pmIbf#6GqZ- zZ!MzU_2jv(Ozq_bFSFxmSpPRsPx9|o9W(AL8~b{}b7w3NV0RHZiLtJlNE^z8yx?i3 m5`lo2_ie~iM%i))qwo)j{BJ+8b%nqH0000k+8ExW z7XrW|;5bmTvq731YzhEFK%>d-H<+CzI7?1Y;Lak_??GrtN|4mLpXJ$C=;|8T^bde} z;H(TR&d#NVtllGr%8omfg-%oG_=!kGK+1x?iCB%|GJfH3Ll@Pj2C(~sOiU)99=jBo zG4yqo(Q<8cq`hjZRMF?cPIC->bpnYj2px0{vKjQu5@h2njKAjd@Y|uz+f%)OnxBDo z{?=5__ldDL@q`5oHbf?gNGA~KB>Gwk$)FHVT8NF0ynFsBeG$-i4^dxHr7MZ)D3aNa zP&I_AB2*PL4XlSqOn>0FDtA467R&B=NM4t*#_B0X=rWiJ!R7-Y!A2agV0L;a$gGtD z3wsKfjB?24t3q~FvT3X(u{49osdxe%D9%EZq8ygQVi<_*7LWkUMmcEn))D&}W#!xO z%z91?AlO*`K62An+gfM!)M7S7>hpa5`a{~jJmc8o#?jnXPX3kB?w`5w@d=;-1gjn9 zf!>u@{>kF=O5c`Ul>fi`q0|5BWs2{cR%*_zS_;v;%PuK^UDUiv6HG6^r1-yKrNZapS@I>=!UxU(8X^Kz z^lZrmwcj8^Kmg>T$$M4)l+2bt0hDLNYXH;`37{b_=bhI03o>NM1&#kDv*h0c#iemY zFNOe6u`JM#Hw(__{HtD~@EPduFns9)Q-Fa%Qs17}zi@{9m#|{-JRsi`h>d|*2Z)tG u@`MbK1}W6CqIg3sds0000Zt~5S)t^gsA8&!Dq}zD0vhmZN6|4_mXsrL=`HE^%_zn_9?oEfUq>3H9I>ybKABJ zR~`XC*L46e5RpyO6ahp808mwkNQA0B0Mu>UeiN+gI#g9<%d$K)bsR^_%maY>?Pr2D z#=v`j2*wzws*Njn@1d%vcK6;tJ#fy!Id_U6{HI`&a}M)7|4Wo435ueKilYJ%!Llr9 znr4@v?|bBV{#!vA&C!W tKAc2m4ty~&_MrfY*1ubo z94{!curps&ZC2=1Qj+NCa8hzKRPk=xVZrgQ)oHq4>m@NS?p({KF&~c3cI0B4SFqzb zb6ya0z;5=hv(Bb1;b~$x{ZuGWBysm$CEs9H)AKJ359?SP8O-%N{kN|F^Upu}Gg95z zjy*Q?TRz!s-t!x8%eY>xI^V}rF|Ymc#}yM*IQ95Tuco`Ru{AUDwKuc9|MQuf6)X^Q z-8E3;Mvhs;`s;_Dn~PjeKVxvZkLSzp+LXw)qe+e1_3yMurrn&#czfH`hZBQ6gje?F~BIck{&i9&4pt1S~bBD~Ija;8&O@P77;OXk;vd$@?2>?$4t|b5f literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ui-bg_flat_0_aaaaaa_40x100.png b/artificer/functions/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..99be896bfde3d35d2d397a617a9f0d08a134df56 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsTfZe$B>MBZ_hFEGB9v3E4;n` qM0IOh@q`9HqtXa&E($;$r(Vt_Z4c|U=avKQVeoYIb6Mw<&;$TQVjFA# literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ui-bg_flat_75_ffffff_40x100.png b/artificer/functions/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..e77a5354970332c0d41b2bde303105f4e4130552 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsVGku$B>MBZ_hFEGB9v3E8Mr= oB6Zl(!=dVGqM!%`;E#~Zhp&B48ZW9o1=_;k>FVdQ&MBb@04$RpA^-pY literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ui-bg_glass_55_fbf9ee_1x400.png b/artificer/functions/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..6352348b63ca10df77c50654e0a81346baa5496f GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq-;E0978Nlzdh~E#h}3B?D)Pu zqCWN}SJsLbqAr^xBYq Q8qgdDPgg&ebxsLQ08PRr=Kufz literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ui-bg_glass_65_ffffff_1x400.png b/artificer/functions/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..54b5d35284d6a4a1a671a89762907b9ff09182e6 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq|`iJ978NlC;#~V{(gO1VA2!` t)i%?Q@*Ed-9uZpdT0+&WGcbvPgF)+-`K~$KwQ)cl44$rjF6*2UngEQl91j2h literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ui-bg_glass_75_dadada_1x400.png b/artificer/functions/images/ui-bg_glass_75_dadada_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..20055b8b0cc9e6c48187abb2f4c06a313d2b0553 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq)a_s978NlCs%xWa zFlmZ}YMbuIx3|qTx+hK)Y)(i@a!OO&aiinn0~uAf&V!x|49Al>?}#7!WCt{W!PC{x JWt~$(698MiBB=lX literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ui-bg_glass_75_e6e6e6_1x400.png b/artificer/functions/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..efe693be7157ad6e6d03075079d2b28d60455682 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAGVZ#9R3S1;RXC978NlzrC_i@PGjav%_0^ z4KuTX3Z|tWxj0!f_br_CpkcRgXa`4P+7Zj=*+TXvp#Gkwn#L$;0Al#~`N`K|Tq t-5!0VBLBG1&b{AdU0m*d|5-VaJyP%;0Q?znQT^iJ$9) S$k!^MK@6U*elF{r5}E+(UniUZ literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/artificer/functions/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..7c9fa6c6edcfcdd3e5b77e6f547b719e6fc66e30 GIT binary patch literal 101 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 W3hs-eYL36pz(oTy{W4t_;(q|m^Uxgt literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ui-icons_454545_256x240.png b/artificer/functions/images/ui-icons_454545_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..568ec49b20adf051db9552ab3e90f3580a829193 GIT binary patch literal 4197 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 WD6}t*tUdld0~Za<^viW|asL5h3yZ1% literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ui-icons_888888_256x240.png b/artificer/functions/images/ui-icons_888888_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..a7bafd63de35881676d958a7dd065302bd09c9db GIT binary patch literal 4197 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 literal 0 HcmV?d00001 diff --git a/artificer/functions/images/ui-icons_cd0a0a_256x240.png b/artificer/functions/images/ui-icons_cd0a0a_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..fa7a9bbd008ffbc45ad3cfbac75de062963cadde GIT binary patch literal 4197 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 V!2>a5?aB8UxTJ5YSFYn6_aEnNk+T2* literal 0 HcmV?d00001 diff --git a/artificer/functions/images/warning.png b/artificer/functions/images/warning.png new file mode 100755 index 0000000000000000000000000000000000000000..9a1dd8455e59c654656a840ae84f96cbb741b3a5 GIT binary patch literal 857 zcmV-f1E&0mP)Ii35;Y1z^;KO(Zo6z{z1B1j3b$eZY*E<&P@3oD4A3`v&)Iq2-}8UB!`O60r2CWT z{s;K$0zA3uG%zJhKSM#HUvU~_0+jYWDx$!b4*E7d5ES5o6K?FM+;XA zP;2$WDIZ|yGWp--t5RFOh1{-80cx#&I2RD$68YcesZw8&LpQ6k1gN$8;gk>Hxj_D& zt*SKCY@-{MnF7>W{cuVLm>R4gUw5u5t&Mx>+Qp3m)LQ*;$_M!5BH!yARazPf$X&ic zfLf~`PU!%FfpVJc+N?_F{X(igw@!dss~=AJ03XX}^5rH~p0(stUC9~&YOQ`au zC2wc8D!woYDdOy~Q-~G*gqWV-Ex}y>QA0=sr&457SgRv@?cw2PtVH#^oRHf`l2AwW+2vBSF!zmx&#XC)25+I9h;Os~=A30N&1h zG7th-kuf|yd8N2 zC*1SRT*QQ!OeVeAY&NuCahAPr%O!8$Sqco+QNZIS|Il^v4>vMROfz%qH#93fjbaVf z!T}eY>^^U`TEn8EqV$+4X5)f~hx6IYL}#qECbZTpt9|TtdV=+<7_NKl%vx_-&YQF| zCZ1*B0D4_SL`0~?Vli?E3*U%goP524&xy<`CW%Q_NSQ_I9A@83R@Nmcj+IOTd*iT4 zY*yK{UVH@nw&;yUV;F)U9b;9JI=Cs8&rA6nr-Z{U;vt*`uH(4}_nb;E*2HqZgRxtF z93~9LrtNlni1P9O`aE!>J~A>g)Mm3GlmTxS7V>N19M*`S^TGFx%Fe>^Jn?H`JSY^; j7rSN#{yg-b|8Mvm_!n_|6|Mxo00000NkvXXu0mjfW)+tu literal 0 HcmV?d00001 diff --git a/artificer/functions/images/wf-tab-icons.png b/artificer/functions/images/wf-tab-icons.png new file mode 100755 index 0000000000000000000000000000000000000000..c726f0b71436f13bb5ead3a36bf4ea94b7d78f29 GIT binary patch literal 2399 zcmZuv2|SeR9-f?BOIbU*wz5<@mV2UM+zb_&8Oy|&u_d{daG4lp#@2|_L8)Ucgk#IT ziyDJ#=tjwKiH0oA*dj}2GDNoNe9m+v?(_ZT`{sN9&-*;j|Np&rP!586FPX>WIr8j)FhG*!!jd4z3i zz-1?gHxOQiZRXyw@WO1T1sr*e?_vVVdwU0DcTQov@VeX{umEBnd2C|m` z=*n9=x@fU*rLi9HPxxS(FJN#!ifS$ht zV+U9}0DP#gFe_mg0{MmfOfC^XpaYUyzkR)ounk~Qo(QuiVsIYBAQ!wl$nYx8)m;(p zg?A6a;jsk83m6@L@&p9nNp0~i;N4w_UN~PxYcC&nke1dd;5x0&xM2YT@%NY-8(Ifv z%rn*rhhQLqj|TgDqZJ{su$yW*){0{V=$pSvO6ZWAG+_m5Vj+T0{CsR2%u6noqQ&XC zQNoai`6bM=m7f%dD?iug>+vWM%29v>a>3^f!Y@{mmA}wSNCp|9OA7s(WZPOJ2$d z)6(M?3@sqFj7@*EjxHZ3Zj&9 z945tN;LGjN8G40e&vlcQoJQ-*1-TIJvaeE<_U`3UEG8X3{*m%dAp#DFzqN ze|v0;T6-=vg?b20xLs8-Xpex9$v$XAslMxxQ{8VJ%ceqM{C2A4qoPz2-kOUJ5a2|U zEyLDa{pi!1@Q!)+c$pe))ZC9K z79lblr?K$P+f#x z62CE$(2#o~qvoJ$-E7tP^9C=5Ki?M6rnh zZ9*FA$&^lo5<=5bkEof5YWz#i=~-AVw6k9A&4}ZmVnyRjcF1vr<%6@{kWzg^`yo?k zvt|U16#VYldC&JxqY^{73({2d+H`<7?Md>a)$apVB%8H9BE3Jeuv|6qbDd7&ztxUr z6@_~AgO4Fqac=V{yX%JfKVJS^quyCR-q#0HCX@}xsU2xr_aR~Hx!MT|3aAMm@-IVO8N~KiR*ZcH>d$A!#)if)#qULv%P$kKsOifJ3j(gIcu5 z8jl-~RGQyuEx2;yq@)mzD(_!J|Co9%RZ01a=TzmQE>rfg4mcYbxI~3yA>-H|=1f!; zXQ_zDV(HG&d0WUt*S{dWBjKx~>D63rwT?j5(n@^sibi;?Lm|?^t(_mQ?A`t#QtD#T z-)XxJ&!4XzXLO69|CLt?FT)3lT+iHEH91Z)W`&Z9&ZD`- zwTKK7!opu9uROT#Q~_;`NN*cZ-r51iWwOM@RPg!ttGkZf3SE7y+#y$S56oWBFG_l! z-ItkHZr0UEP&Fz)RWgAJAem>r&TKo`QFaTPRaTn~LmYYEFf^m%`|{T1PZ#NP0k`YU zv2NH+6<%YV(6NxMq1dF@iM-Kgu{{j@p31ROF-NP?!SVLo>&y&}{4#PT2kv=~G`=y^ zeG~gOfpcxx!*>JsWkfxEHf}K-pJbPFh7rQ2AM72e8Xx<)>M$wpF!0X3P`BafINgN~ tkPf(8tR-e!BAdKu7t zjaX4sAd+@5y3lp3)Sw)#$x-K@fBwsNT1Xe76nb`N@xJeY_Z%f6)HLlAPZywc1e9V* zL=Z7pfy3KtXO*gH+Apen5qY!9P+9}i7%*wzPmD4?_zcU~h2+mF!=71!nlAk}l+xIR zF|>|MuKlN2Oo*6p3I~l+8q0(MtLGOon06S+Mi3JKil(|4X~(BC@eK(>B6(3z3gf!~ zn83%F5N-S%4U5ZYsI+j?Ne*pTK%qOt&Uh`!#AD9wT|@WDZ8TJB=0zQ@A8q2su}zff z35@R&i7i;#GP|^xMHNMir&F}-X{JB%g2sjwd>kCWQgG({6}HCfSzZ;RwXK7Ru~90D zqx3v|g$_N3mv8!5T2sxz?Ty^+y3el78%VtSKy~FDZg)LEv_&?PA>WSB+5HHK*o>t{ z2%K@4yLPKo#dnC4btUn>U*^@vB{iCsj+=Mn$cfYPy6=O0PL9Zy-3O%g;#Il#@QDl! zf0f#G%~D>!Nvy!l;01>ETb*3E)P@sU96o-E^{eV=z1+^wr;iK|f1&4jg5K8yY+O^v z{obb}zmB0S8#Q}LTta0LdM+lH!Jb)y7=xclVHLzC4=41{b`%w{F 1){ + clientTop = 0; + clientLeft = 0; + } + + var top = box.top/zoom + (window.pageYOffset || docElem && docElem.scrollTop/zoom || body.scrollTop/zoom) - clientTop, + left = box.left/zoom + (window.pageXOffset|| docElem && docElem.scrollLeft/zoom || body.scrollLeft/zoom) - clientLeft; + + return { + top: top, + left: left + }; + } + +} else { + // Get offset adding all offsets + var getOffset = function(el){ + if (w.jQuery){ + return jQuery(el).offset(); + } + + var top = 0, left = 0; + do { + top += el.offsetTop || 0; + left += el.offsetLeft || 0; + } + while (el = el.offsetParent); + + return { + left: left, + top: top + }; + } +} + +function getBox(el){ + var left, right, top, bottom; + var offset = getOffset(el); + left = offset.left; + top = offset.top; + + right = left + el.offsetWidth; + bottom = top + el.offsetHeight; + + return { + left: left, + right: right, + top: top, + bottom: bottom + }; +} + +/** + * Crossbrowser mouse coordinates + */ +function getMouseCoords(e){ + // pageX/Y is not supported in IE + // http://www.quirksmode.org/dom/w3c_cssom.html + if (!e.pageX && e.clientX){ + // In Internet Explorer 7 some properties (mouse coordinates) are treated as physical, + // while others are logical (offset). + var zoom = 1; + var body = document.body; + + if (body.getBoundingClientRect) { + var bound = body.getBoundingClientRect(); + zoom = (bound.right - bound.left)/body.clientWidth; + } + + return { + x: e.clientX / zoom + d.body.scrollLeft + d.documentElement.scrollLeft, + y: e.clientY / zoom + d.body.scrollTop + d.documentElement.scrollTop + }; + } + + return { + x: e.pageX, + y: e.pageY + }; + +} +/** + * Function generates unique id + */ +var getUID = function(){ + var id = 0; + return function(){ + return 'ValumsAjaxUpload' + id++; + } +}(); + +function fileFromPath(file){ + return file.replace(/.*(\/|\\)/, "" ); +} + +function getExt(file){ + return (/[.]/.exec(file)) ? /[^.]+$/.exec(file.toLowerCase()) : ''; +} + +/** + * Cross-browser way to get xhr object + */ +var getXhr = function(){ + var xhr; + + return function(){ + if (xhr) return xhr; + + if (typeof XMLHttpRequest !== 'undefined') { + xhr = new XMLHttpRequest(); + } else { + var v = [ + "Microsoft.XmlHttp", + "MSXML2.XmlHttp.5.0", + "MSXML2.XmlHttp.4.0", + "MSXML2.XmlHttp.3.0", + "MSXML2.XmlHttp.2.0" + ]; + + for (var i=0; i < v.length; i++){ + try { + xhr = new ActiveXObject(v[i]); + break; + } catch (e){} + } + } + + return xhr; + } +}(); + +// Please use AjaxUpload , Ajax_upload will be removed in the next version +Ajax_upload = AjaxUpload = function(button, options){ + if (button.jquery){ + // jquery object was passed + button = button[0]; + } else if (typeof button == "string" && /^#.*/.test(button)){ + button = button.slice(1); + } + button = get(button); + + this._input = null; + this._button = button; + this._disabled = false; + this._submitting = false; + // Variable changes to true if the button was clicked + // 3 seconds ago (requred to fix Safari on Mac error) + this._justClicked = false; + this._parentDialog = d.body; + + if (window.jQuery && jQuery.ui && jQuery.ui.dialog){ + var parentDialog = jQuery(this._button).parents( '.ui-dialog' ); + if (parentDialog.length){ + this._parentDialog = parentDialog[0]; + } + } + + this._settings = { + // Location of the server-side upload script + action: 'upload.php', + // File upload name + name: 'userfile', + // Additional data to send + data: {}, + // Submit file as soon as it's selected + autoSubmit: true, + // The type of data that you're expecting back from the server. + // Html and xml are detected automatically. + // Only useful when you are using json data as a response. + // Set to "json" in that case. + responseType: false, + // Location of the server-side script that fixes Safari + // hanging problem returning "Connection: close" header + closeConnection: '', + // Class applied to button when mouse is hovered + hoverClass: 'hover', + // When user selects a file, useful with autoSubmit disabled + onChange: function(file, extension){}, + // Callback to fire before file is uploaded + // You can return false to cancel upload + onSubmit: function(file, extension){}, + // Fired when file upload is completed + // WARNING! DO NOT USE "FALSE" STRING AS A RESPONSE! + onComplete: function(file, response) {} + }; + + // Merge the users options with our defaults + for (var i in options) { + this._settings[i] = options[i]; + } + + this._createInput(); + this._rerouteClicks(); +} + +// assigning methods to our class +AjaxUpload.prototype = { + setData : function(data){ + this._settings.data = data; + }, + disable : function(){ + this._disabled = true; + }, + enable : function(){ + this._disabled = false; + }, + // removes instance + destroy : function(){ + if(this._input){ + if(this._input.parentNode){ + this._input.parentNode.removeChild(this._input); + } + this._input = null; + } + }, + /** + * Creates invisible file input above the button + */ + _createInput : function(){ + var self = this; + var input = d.createElement( "input" ); + input.setAttribute( 'type', 'file' ); + input.setAttribute( 'name', this._settings.name); + var styles = { + 'position' : 'absolute' + ,'margin': '-5px 0 0 -175px' + ,'padding': 0 + ,'width': '220px' + ,'height': '30px' + ,'fontSize': '14px' + ,'opacity': 0 + ,'cursor': 'pointer' + ,'display' : 'none' + ,'zIndex' : 2147483583 //Max zIndex supported by Opera 9.0-9.2x + // Strange, I expected 2147483647 + // Doesn't work in IE :( + //,'direction' : 'ltr' + }; + for (var i in styles){ + input.style[i] = styles[i]; + } + + // Make sure that element opacity exists + // (IE uses filter instead) + if ( ! (input.style.opacity === "0")){ + input.style.filter = "alpha(opacity=0)"; + } + + this._parentDialog.appendChild(input); + + addEvent(input, 'change', function(){ + // get filename from input + var file = fileFromPath(this.value); + if(self._settings.onChange.call(self, file, getExt(file)) == false ){ + return; + } + // Submit form when value is changed + if (self._settings.autoSubmit){ + self.submit(); + } + }); + + // Fixing problem with Safari + // The problem is that if you leave input before the file select dialog opens + // it does not upload the file. + // As dialog opens slowly (it is a sheet dialog which takes some time to open) + // there is some time while you can leave the button. + // So we should not change display to none immediately + addEvent(input, 'click', function(){ + self.justClicked = true; + setTimeout(function(){ + // we will wait 3 seconds for dialog to open + self.justClicked = false; + }, 2500); + }); + + this._input = input; + }, + _rerouteClicks : function (){ + var self = this; + + // IE displays 'access denied' error when using this method + // other browsers just ignore click() + // addEvent(this._button, 'click', function(e){ + // self._input.click(); + // }); + + var box, dialogOffset = {top:0, left:0}, over = false; + + addEvent(self._button, 'mouseover', function(e){ + if (!self._input || over) return; + + over = true; + box = getBox(self._button); + + if (self._parentDialog != d.body){ + dialogOffset = getOffset(self._parentDialog); + } + }); + + + // We can't use mouseout on the button, + // because invisible input is over it + addEvent(document, 'mousemove', function(e){ + var input = self._input; + if (!input || !over) return; + + if (self._disabled){ + removeClass(self._button, self._settings.hoverClass); + input.style.display = 'none'; + return; + } + + var c = getMouseCoords(e); + + if ((c.x >= box.left) && (c.x <= box.right) && + (c.y >= box.top) && (c.y <= box.bottom)){ + + input.style.top = c.y - dialogOffset.top + 'px'; + input.style.left = c.x - dialogOffset.left + 'px'; + input.style.display = 'block'; + addClass(self._button, self._settings.hoverClass); + + } else { + // mouse left the button + over = false; + + var check = setInterval(function(){ + // if input was just clicked do not hide it + // to prevent safari bug + + if (self.justClicked){ + return; + } + + if ( !over ){ + input.style.display = 'none'; + } + + clearInterval(check); + + }, 25); + + + removeClass(self._button, self._settings.hoverClass); + } + }); + + }, + /** + * Creates iframe with unique name + */ + _createIframe : function(){ + // unique name + // We cannot use getTime, because it sometimes return + // same value in safari :( + var id = getUID(); + + // Remove ie6 "This page contains both secure and nonsecure items" prompt + // http://tinyurl.com/77w9wh + var iframe = toElement( '':"" );inst._keyEvent=false;return html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,secondary,monthNames,monthNamesShort){minDate=(inst.rangeStart&&minDate&&selectedDate "}else{var inMinYear=(minDate&&minDate.getFullYear()==drawYear);var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);monthHtml+='"}if(!showMonthAfterYear){html+=monthHtml+((secondary||changeMonth||changeYear)&&(!(changeMonth&&changeYear))?" ":"")}if(secondary||!changeYear){html+=''+drawYear+""}else{var years=this._get(inst,"yearRange").split( ":" );var year=0;var endYear=0;if(years.length!=2){year=drawYear-10;endYear=drawYear+10}else{if(years[0].charAt(0)=="+"||years[0].charAt(0)=="-"){year=drawYear+parseInt(years[0],10);endYear=drawYear+parseInt(years[1],10)}else{year=parseInt(years[0],10);endYear=parseInt(years[1],10)}}year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='"}if(showMonthAfterYear){html+=(secondary||changeMonth||changeYear?" ":"")+monthHtml}html+="";return html},_adjustInstDate:function(inst,offset,period){var year=inst.drawYear+(period=="Y"?offset:0);var month=inst.drawMonth+(period=="M"?offset:0);var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);var date=this._daylightSavingAdjust(new Date(year,month,day));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max" );date=(minDate&&datemaxDate?maxDate:date);inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();if(period=="M"||period=="Y"){this._notifyChange(inst)}},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear" );if(onChange){onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])}},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths" );return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))},_getMinMaxDate:function(inst,minMax,checkRange){var date=this._determineDate(this._get(inst,minMax+"Date"),null);return(!checkRange||!inst.rangeStart?date:(!date||inst.rangeStart>date?inst.rangeStart:date))},_getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst);var date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1));if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(inst,date)},_isInRange:function(inst,date){var newMinDate=(!inst.rangeStart?null:this._daylightSavingAdjust(new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay)));newMinDate=(newMinDate&&inst.rangeStart=minDate)&&(!maxDate||date<=maxDate))},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff" );shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){if(!day){inst.currentDay=inst.selectedDay;inst.currentMonth=inst.selectedMonth;inst.currentYear=inst.selectedYear}var date=(day?(typeof day=="object"?day:this._daylightSavingAdjust(new Date(year,month,day))):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null||props[name]==undefined){target[name]=props[name]}}return target}function isArray(a){return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))}$.fn.datepicker=function(options){if(!$.datepicker.initialized){$(document).mousedown($.datepicker._checkExternalClick).find( "body").append($.datepicker.dpDiv);$.datepicker.initialized=true}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getDate")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}if(options=="option"&&arguments.length==2&&typeof arguments[1]=="string"){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$.datepicker=new Datepicker();$.datepicker.initialized=false;$.datepicker.uuid=new Date().getTime();$.datepicker.version="1.7.2";window.DP_jQuery=$})(jQuery); \ No newline at end of file diff --git a/artificer/functions/js/woo-admin-interface.js b/artificer/functions/js/woo-admin-interface.js new file mode 100755 index 0000000..f3abe35 --- /dev/null +++ b/artificer/functions/js/woo-admin-interface.js @@ -0,0 +1,355 @@ +/** + * WooThemes Admin Interface JavaScript + * + * All JavaScript logic for the theme options admin interface. + * @since 4.8.0 + * + */ + +(function ($) { + + woothemesAdminInterface = { + +/** + * toggle_nav_tabs() + * + * @since 4.8.0 + */ + + toggle_nav_tabs: function () { + var flip = 0; + + $( '#expand_options' ).click( function(){ + if( flip == 0 ){ + flip = 1; + $( '#woo_container #woo-nav' ).hide(); + $( '#woo_container #content' ).width( 785 ); + $( '#woo_container .group' ).add( '#woo_container .group h1' ).show(); + + $(this).text( '[-]' ); + + } else { + flip = 0; + $( '#woo_container #woo-nav' ).show(); + $( '#woo_container #content' ).width( 595 ); + $( '#woo_container .group' ).add( '#woo_container .group h1' ).hide(); + $( '#woo_container .group:first' ).show(); + $( '#woo_container #woo-nav li' ).removeClass( 'current' ); + $( '#woo_container #woo-nav li:first' ).addClass( 'current' ); + + $(this).text( '[+]' ); + + } + + }); + }, // End toggle_nav_tabs() + +/** + * load_first_tab() + * + * @since 4.8.0 + */ + + load_first_tab: function () { + $( '.group' ).hide(); + $( '.group:has(".section"):first' ).fadeIn(); // Fade in the first tab containing options (not just the first tab). + }, // End load_first_tab() + +/** + * open_first_menu() + * + * @since 5.0.0 + */ + + open_first_menu: function () { + $( '#woo-nav li.current.has-children:first ul.sub-menu' ).slideDown().addClass( 'open' ).children( 'li:first' ).addClass( 'active' ).parents( 'li.has-children' ).addClass( 'open' ); + }, // End open_first_menu() + +/** + * toggle_nav_menus() + * + * @since 5.0.0 + */ + + toggle_nav_menus: function () { + $( '#woo-nav li.has-children > a' ).click( function ( e ) { + if ( $( this ).parent().hasClass( 'open' ) ) { return false; } + + $( '#woo-nav li.top-level' ).removeClass( 'open' ).removeClass( 'current' ); + $( '#woo-nav li.active' ).removeClass( 'active' ); + if ( $( this ).parents( '.top-level' ).hasClass( 'open' ) ) {} else { + $( '#woo-nav .sub-menu.open' ).removeClass( 'open' ).slideUp().parent().removeClass( 'current' ); + $( this ).parent().addClass( 'open' ).addClass( 'current' ).find( '.sub-menu' ).slideDown().addClass( 'open' ).children( 'li:first' ).addClass( 'active' ); + } + + // Find the first child with sections and display it. + var clickedGroup = $( this ).parent().find( '.sub-menu li a:first' ).attr( 'href' ); + + if ( clickedGroup != '' ) { + $( '.group' ).hide(); + $( clickedGroup ).fadeIn(); + } + return false; + }); + }, // End toggle_nav_menus() + +/** + * toggle_collapsed_fields() + * + * @since 4.8.0 + */ + + toggle_collapsed_fields: function () { + $( '.group .collapsed' ).each(function(){ + $( this ).find( 'input:checked' ).parent().parent().parent().nextAll().each( function(){ + if ($( this ).hasClass( 'last' ) ) { + $( this ).removeClass( 'hidden' ); + return false; + } + $( this ).filter( '.hidden' ).removeClass( 'hidden' ); + + $( '.group .collapsed input:checkbox').click(function ( e ) { + woothemesAdminInterface.unhide_hidden( $( this ).attr( 'id' ) ); + }); + + }); + }); + }, // End toggle_collapsed_fields() + +/** + * setup_nav_highlights() + * + * @since 4.8.0 + */ + + setup_nav_highlights: function () { + // Highlight the first item by default. + $( '#woo-nav li.top-level:first' ).addClass( 'current' ).addClass( 'open' ); + + // Default single-level logic. + $( '#woo-nav li.top-level' ).not( '.has-children' ).find( 'a' ).click( function ( e ) { + var thisObj = $( this ); + var clickedGroup = thisObj.attr( 'href' ); + + if ( clickedGroup != '' ) { + $( '#woo-nav .open' ).removeClass( 'open' ); + $( '.sub-menu' ).slideUp(); + $( '#woo-nav .active' ).removeClass( 'active' ); + $( '#woo-nav li.current' ).removeClass( 'current' ); + thisObj.parent().addClass( 'current' ); + + $( '.group' ).hide(); + $( clickedGroup ).fadeIn(); + + return false; + } + }); + + $( '#woo-nav li:not(".has-children") > a:first' ).click( function( evt ) { + var parentObj = $( this ).parent( 'li' ); + var thisObj = $( this ); + + var clickedGroup = thisObj.attr( 'href' ); + + if ( $( this ).parents( '.top-level' ).hasClass( 'open' ) ) {} else { + $( '#woo-nav li.top-level' ).removeClass( 'current' ).removeClass( 'open' ); + $( '#woo-nav .sub-menu' ).removeClass( 'open' ).slideUp(); + $( this ).parents( 'li.top-level' ).addClass( 'current' ); + } + + $( '.group' ).hide(); + $( clickedGroup ).fadeIn(); + + evt.preventDefault(); + return false; + }); + + // Sub-menu link click logic. + $( '.sub-menu a' ).click( function ( e ) { + var thisObj = $( this ); + var parentMenu = $( this ).parents( 'li.top-level' ); + var clickedGroup = thisObj.attr( 'href' ); + + if ( $( '.sub-menu li a[href="' + clickedGroup + '"]' ).hasClass( 'active' ) ) { + return false; + } + + if ( clickedGroup != '' ) { + parentMenu.addClass( 'open' ); + $( '.sub-menu li, .flyout-menu li' ).removeClass( 'active' ); + $( this ).parent().addClass( 'active' ); + $( '.group' ).hide(); + $( clickedGroup ).fadeIn(); + } + + return false; + }); + }, // End setup_nav_highlights() + +/** + * setup_custom_typography() + * + * @since 4.8.0 + */ + + setup_custom_typography: function () { + $( 'select.woo-typography-unit' ).change( function(){ + var val = $( this ).val(); + var parent = $( this ).parent(); + var name = parent.find( '.woo-typography-size-px' ).attr( 'name' ); + if( name == '' ) { var name = parent.find( '.woo-typography-size-em' ).attr( 'name' ); } + + if( val == 'px' ) { + var name = parent.find( '.woo-typography-size-em' ).attr( 'name' ); + parent.find( '.woo-typography-size-em' ).hide().removeAttr( 'name' ); + parent.find( '.woo-typography-size-px' ).show().attr( 'name', name ); + } + else if( val == 'em' ) { + var name = parent.find( '.woo-typography-size-px' ).attr( 'name' ); + parent.find( '.woo-typography-size-px' ).hide().removeAttr( 'name' ); + parent.find( '.woo-typography-size-em' ).show().attr( 'name', name ); + } + + }); + }, // End setup_custom_typography() + +/** + * setup_custom_ui_slider() + * + * @since 5.3.5 + */ + + setup_custom_ui_slider: function () { + + $('div.ui-slide').each(function(i){ + + if( $(this).attr('min') != undefined && $(this).attr('max') != undefined ) { + + $(this).slider( { + min: parseInt($(this).attr('min')), + max: parseInt($(this).attr('max')), + value: parseInt($(this).next("input").val()), + step: parseInt($(this).attr('inc')) , + slide: function( event, ui ) { + $( this ).next("input").val(ui.value); + } + }); + + $(this).removeAttr('min').removeAttr('max').removeAttr('inc'); + + } + + }); + + }, // End setup_custom_ui_slider() + +/** + * init_flyout_menus() + * + * @since 5.0.0 + */ + + init_flyout_menus: function () { + // Only trigger flyouts on menus with closed sub-menus. + $( '#woo-nav li.has-children' ).each ( function ( i ) { + $( this ).hover( + function () { + if ( $( this ).find( '.flyout-menu' ).length == 0 ) { + var flyoutContents = $( this ).find( '.sub-menu' ).html(); + var flyoutMenu = $( '"; + } + add_action( 'admin_notices', 'woothemes_framework_update_filesystem_warning' ); + return; + } + if(isset($_REQUEST['woo_update_save'])){ + + // Sanitize action being requested. + $_action = esc_attr( $_REQUEST['woo_update_save'] ); + + if( $_action == 'save' ) { + + $temp_file_addr = download_url( esc_url( 'http://wooframework.s3.amazonaws.com/latest/framework.zip' ) ); + + if ( is_wp_error($temp_file_addr) ) { + + $error = esc_html( $temp_file_addr->get_error_code() ); + + if( $error == 'http_no_url' ) { + //The source file was not found or is invalid + function woothemes_framework_update_missing_source_warning() { + echo "

    Failed: Invalid URL Provided

    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_missing_source_warning' ); + } else { + function woothemes_framework_update_other_upload_warning() { + echo "

    Failed: Upload - $error

    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_other_upload_warning' ); + + } + + return; + + } + //Unzip it + global $wp_filesystem; + $to = $wp_filesystem->wp_content_dir() . "/themes/" . get_option( 'template' ) . "/functions/"; + + $dounzip = unzip_file($temp_file_addr, $to); + + unlink($temp_file_addr); // Delete Temp File + + if ( is_wp_error($dounzip) ) { + + //DEBUG + $error = esc_html( $dounzip->get_error_code() ); + $data = $dounzip->get_error_data($error); + //echo $error. ' - '; + //print_r($data); + + if($error == 'incompatible_archive') { + //The source file was not found or is invalid + function woothemes_framework_update_no_archive_warning() { + echo "

    Failed: Incompatible archive

    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_no_archive_warning' ); + } + if($error == 'empty_archive') { + function woothemes_framework_update_empty_archive_warning() { + echo "

    Failed: Empty Archive

    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_empty_archive_warning' ); + } + if($error == 'mkdir_failed') { + function woothemes_framework_update_mkdir_warning() { + echo "

    Failed: mkdir Failure

    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_mkdir_warning' ); + } + if($error == 'copy_failed') { + function woothemes_framework_update_copy_fail_warning() { + echo "

    Failed: Copy Failed

    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_copy_fail_warning' ); + } + + return; + + } + + function woothemes_framework_updated_success() { + echo "

    New framework successfully downloaded, extracted and updated.

    "; + } + + add_action( 'admin_notices', 'woothemes_framework_updated_success' ); + + } + } + } //End user input save part of the update + } +} + +add_action( 'admin_head', 'woothemes_framework_update_head' ); + +/*-----------------------------------------------------------------------------------*/ +/* WooFramework Version Getter */ +/*-----------------------------------------------------------------------------------*/ + +function woo_get_fw_version( $url = '', $check_if_critical = false ) { + + if( ! empty( $url ) ) { + $fw_url = $url; + } else { + $fw_url = 'http://wooframework.s3.amazonaws.com/latest/functions-changelog.txt'; + } + + $output = array( 'version' => '', 'is_critical' => false ); + + $version_data = get_transient( 'wooframework_version_data' ); + + if ( $version_data != '' && $check_if_critical == false ) { return $version_data; } + + $temp_file_addr = download_url( $fw_url ); + if( ! is_wp_error( $temp_file_addr ) && $file_contents = file( $temp_file_addr ) ) { + foreach ( $file_contents as $line_num => $line ) { + $current_line = $line; + + if( $line_num > 1 ) { // Not the first or second... dodgy :P + + if ( preg_match( '/^[0-9]/', $line ) ) { + + // Do critical update check. + if ( $check_if_critical && ( strtolower( trim( substr( $line, -10 ) ) ) == 'critical' ) ) { + $output['is_critical'] = true; + } + + $current_line = stristr( $current_line, 'version' ); + $current_line = preg_replace( '~[^0-9,.]~','',$current_line ); + $output['version'] = $current_line; + break; + } + } + } + unlink( $temp_file_addr ); + } else { + $output['version'] = get_option( 'woo_framework_version' ); + } + + // Set the transient containing the latest version number. + set_transient( 'wooframework_version_data', $output , 60*60*24 ); + + return $output; +} // End woo_get_fw_version() + + +/*-----------------------------------------------------------------------------------*/ +/* WooFramework Version Checker */ +/*-----------------------------------------------------------------------------------*/ + +function woo_framework_version_checker( $local_version, $check_if_critical = false ) { + $data = array( 'is_update' => false, 'version' => '1.0.0', 'status' => 'none' ); + + if ( ! $local_version ) { return $data; } + + $version_data = woo_get_fw_version( '', $check_if_critical ); + + $check = version_compare( $version_data['version'], $local_version ); // Returns 1 if there is an update available. + + if ( $check == 1 ) { + $data['is_update'] = true; + $data['version'] = $version_data['version']; + $data['is_critical'] = $version_data['is_critical']; + } + + return $data; +} // End woo_framework_version_checker() + +/*-----------------------------------------------------------------------------------*/ +/* Woo URL shortener */ +/*-----------------------------------------------------------------------------------*/ + +function woo_short_url($url) { + _deprecated_function( __FUNCTION__, '6.0.0', __( 'Shortlinks feature in WooDojo.', 'woothemes' ) ); + + $service = get_option( 'woo_url_shorten' ); + $bitlyapilogin = get_option( 'woo_bitly_api_login' );; + $bitlyapikey = get_option( 'woo_bitly_api_key' );; + if (isset($service)) { + switch ($service) + { + case 'TinyURL': + $shorturl = getTinyUrl($url); + break; + case 'Bit.ly': + if (isset($bitlyapilogin) && isset($bitlyapikey) && ($bitlyapilogin != '') && ($bitlyapikey != '')) { + $shorturl = make_bitly_url($url,$bitlyapilogin,$bitlyapikey,'json' ); + } + else { + $shorturl = getTinyUrl($url); + } + break; + case 'Off': + $shorturl = $url; + break; + default: + $shorturl = $url; + break; + } + } + else { + $shorturl = $url; + } + return $shorturl; +} + +//TinyURL +function getTinyUrl($url) { + _deprecated_function( __FUNCTION__, '6.0.0', __( 'Shortlinks feature in WooDojo.', 'woothemes' ) ); + + $tinyurl = file_get_contents_curl( "http://tinyurl.com/api-create.php?url=".$url); + return $tinyurl; +} + +//Bit.ly +function make_bitly_url($url,$login,$appkey,$format = 'xml',$version = '2.0.1') { + _deprecated_function( __FUNCTION__, '6.0.0', __( 'Shortlinks feature in WooDojo.', 'woothemes' ) ); + //create the URL + $bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$appkey.'&format='.$format; + + //get the url + //could also use cURL here + $response = file_get_contents_curl($bitly); + + //parse depending on desired format + if(strtolower($format) == 'json') + { + $json = @json_decode($response,true); + return $json['results'][$url]['shortUrl']; + } + else //xml + { + $xml = simplexml_load_string($response); + return 'http://bit.ly/'.$xml->results->nodeKeyVal->hash; + } +} + +//Alternative CURL function +function file_get_contents_curl($url) { + if ( $url == '' || $url == null ) { return ''; } + $data = ''; + + $response = wp_remote_get( $url ); + + if ( is_wp_error( $response ) ) { + $data = $url; + } else { + $data = $response['body']; + } + + return $data; +} // End file_get_contents_curl() + +// Checks for presence of the cURL extension. +function _iscurlinstalled() { + if (in_array ( 'curl', get_loaded_extensions())) { + if (function_exists( 'curl_init')) { + return true; + } else { + return false; + } + } + else{ + if (function_exists( 'curl_init')) { + return true; + } else { + return false; + } + } +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_title() */ +/*-----------------------------------------------------------------------------------*/ + +/** + * Display or return the title for the current screen. + * @since 1.0.0 + * @param boolean $echo Whether or not to echo the title. Default: true. + * @return string The title. + */ +if ( ! function_exists( 'woo_title' ) ) { +function woo_title ( $echo = true ) { + // If the parameter isn't a boolean, set it to the default value. + if ( ! is_bool( $echo ) ) { + $echo = true; + } + $sep = '|'; + $raw_title = wp_title( $sep, false, 'right' ); + + // Allow child themes/plugins to filter the title value. + $title = apply_filters( 'woo_title', $raw_title, $sep, $raw_title ); + if ( true == $echo ) echo $title; + return $title; +} // End woo_title() +} + +if ( ! function_exists( 'wf_add_blog_name_to_title' ) ) { +/** + * Add the site title to the woo_title() text. + * @since 6.0.0 + * @param string $title Existing title value. + * @param string $sep Separator string. + * @param string $raw_title Raw title value. + * @return string Modified title. + */ +function wf_add_blog_name_to_title ( $title, $sep, $raw_title ) { + $site_title = get_bloginfo( 'name' ); + $title .= apply_filters( 'wf_add_blog_name_to_title', $site_title ); + return $title; +} // End wf_add_blog_name_to_title() +} + +if ( ! function_exists( 'wf_maybe_add_page_number_to_title' ) ) { +/** + * Maybe add the page number, if paginating, to the woo_title() text. + * @since 6.0.0 + * @param string $title Existing title value. + * @param string $sep Separator string. + * @param string $raw_title Raw title value. + * @return string Modified title. + */ +function wf_maybe_add_page_number_to_title ( $title, $sep, $raw_title ) { + if ( is_paged() ) { + $page = intval( get_query_var( 'page' ) ); + $paged = intval( get_query_var( 'paged' ) ); + $page_number = $paged; + if ( 0 < $page ) { + $page_number = $page; + } + + $title .= apply_filters( 'wf_maybe_add_page_number_to_title', ' ' . $sep . ' ' . sprintf( __( 'Page %s', 'woothemes' ), intval( $page_number ) ) ); + } + return $title; +} // End wf_maybe_add_page_number_to_title() +} + +if ( ! class_exists( 'WPSEO_Frontend' ) && ! defined( 'WPSEO_VERSION' ) ) { + add_filter( 'woo_title', 'wf_add_blog_name_to_title', 10, 3 ); + add_filter( 'woo_title', 'wf_maybe_add_page_number_to_title', 10, 3 ); +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_meta() */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_meta' ) ) { +/** + * Display meta tags. + * @since 1.0.0 + * @return void + */ +function woo_meta () { + echo '' . "\n"; + + do_action( 'woo_meta' ); +} // End woo_meta() +} + +/*-----------------------------------------------------------------------------------*/ +/* Woo Text Trimmer */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_text_trim' ) ) { + function woo_text_trim( $text, $words = 50 ) { + $matches = preg_split( "/\s+/", $text, $words + 1); + $sz = count($matches); + if ($sz > $words) + { + unset($matches[$sz-1]); + return implode( ' ',$matches)." ..."; + } + return $text; + } // End woo_text_trim() +} + +/*-----------------------------------------------------------------------------------*/ +/* Google Webfonts Array */ +/* Documentation: +/* +/* name: The name of the Google Font. +/* variant: The Google Font API variants available for the font. +/*-----------------------------------------------------------------------------------*/ + +// Available Google webfont names +$GLOBALS['google_fonts'] = wf_get_google_fonts(); + +/** + * Return a filtered array of possible system fonts. + * @since 6.0.0 + * @return array Possible system fonts. + */ +function wf_get_system_fonts () { + return (array)apply_filters( 'wf_get_system_fonts', array( + 'Arial, sans-serif' => __( 'Arial', 'woothemes' ), + 'Verdana, Geneva, sans-serif' => __( 'Verdana', 'woothemes' ), + '"Trebuchet MS", Tahoma, sans-serif' => __( 'Trebuchet', 'woothemes' ), + 'Georgia, serif' => __( 'Georgia', 'woothemes' ), + '"Times New Roman", serif' => __( 'Times New Roman', 'woothemes' ), + 'Tahoma, Geneva, Verdana, sans-serif' => __( 'Tahoma', 'woothemes' ), + 'Palatino, "Palatino Linotype", serif' => __( 'Palatino', 'woothemes' ), + '"Helvetica Neue", Helvetica, sans-serif' => __( 'Helvetica *', 'woothemes' ), + 'Calibri, Candara, Segoe, Optima, sans-serif' => __( 'Calibri *', 'woothemes' ), + '"Myriad Pro", Myriad, sans-serif' => __( 'Myriad Pro *', 'woothemes' ), + '"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif' => __( 'Lucida', 'woothemes' ), + '"Arial Black", sans-serif' => __( 'Arial Black', 'woothemes' ), + '"Gill Sans", "Gill Sans MT", Calibri, sans-serif' => __( 'Gill Sans *', 'woothemes' ), + 'Geneva, Tahoma, Verdana, sans-serif' => __( 'Geneva *', 'woothemes' ), + 'Impact, Charcoal, sans-serif' => __( 'Impact', 'woothemes' ), + 'Courier, "Courier New", monospace' => __( 'Courier', 'woothemes' ), + '"Century Gothic", sans-serif' => __( 'Century Gothic', 'woothemes' ) + ) + ); +} // End wf_get_system_fonts() + +/** + * Return a filtered array of possible system fonts test cases. + * @since 6.0.0 + * @return array Possible system fonts test cases. + */ +function wf_get_system_fonts_test_cases () { + // The test case should always correspond to the text before the first comma in the array key. + return (array)apply_filters( 'wf_get_system_fonts_test_cases', array( + 'Arial, sans-serif' => 'Arial', + 'Verdana, Geneva, sans-serif' => 'Verdana', + '"Trebuchet MS", Tahoma, sans-serif' => 'Trebuchet MS', + 'Georgia, serif' => 'Georgia', + '"Times New Roman", serif' => 'Times New Roman', + 'Tahoma, Geneva, Verdana, sans-serif' => 'Tahoma', + 'Palatino, "Palatino Linotype", serif' => 'Palatino', + '"Helvetica Neue", Helvetica, sans-serif' => 'Helvetica Neue', + 'Calibri, Candara, Segoe, Optima, sans-serif' => 'Calibri', + '"Myriad Pro", Myriad, sans-serif' => 'Myriad Pro', + '"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif' => 'Lucida Grande', + '"Arial Black", sans-serif' => 'Arial Black', + '"Gill Sans", "Gill Sans MT", Calibri, sans-serif' => 'Gill Sans', + 'Geneva, Tahoma, Verdana, sans-serif' => 'Geneva', + 'Impact, Charcoal, sans-serif' => 'Impact', + 'Courier, "Courier New", monospace' => 'Courier', + '"Century Gothic", sans-serif' => 'Century Gothic' + ) + ); +} // End wf_get_system_fonts_test_cases() + +/** + * Return a filtered array of Google WebFonts. + * @since 6.0.0 + * @return array Google WebFonts. + */ +function wf_get_google_fonts () { + return (array)apply_filters( 'wf_get_google_fonts', wf_get_google_fonts_store() ); +} // End wf_get_google_fonts() + +/** + * Return a raw array of Google WebFonts. + * @since 6.0.0 + * @return array Google WebFonts. + */ +function wf_get_google_fonts_store () { + $google_fonts = array ( + array( 'name' => 'ABeeZee', 'variant' => ':regular,:italic' ), + array( 'name' => 'Abel', 'variant' => ':regular' ), + array( 'name' => 'Abril Fatface', 'variant' => ':regular' ), + array( 'name' => 'Aclonica', 'variant' => ':regular' ), + array( 'name' => 'Acme', 'variant' => ':regular' ), + array( 'name' => 'Actor', 'variant' => ':regular' ), + array( 'name' => 'Adamina', 'variant' => ':regular' ), + array( 'name' => 'Advent Pro', 'variant' => ':100,:200,:300,:regular,:500,:600,:700' ), + array( 'name' => 'Aguafina Script', 'variant' => ':regular' ), + array( 'name' => 'Akronim', 'variant' => ':regular' ), + array( 'name' => 'Aladin', 'variant' => ':regular' ), + array( 'name' => 'Aldrich', 'variant' => ':regular' ), + array( 'name' => 'Alef', 'variant' => ':regular,:700' ), + array( 'name' => 'Alegreya', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Alegreya SC', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Alegreya Sans', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:500,:500italic,:700,:700italic,:800,:800italic,:900,:900italic' ), + array( 'name' => 'Alegreya Sans SC', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:500,:500italic,:700,:700italic,:800,:800italic,:900,:900italic' ), + array( 'name' => 'Alex Brush', 'variant' => ':regular' ), + array( 'name' => 'Alfa Slab One', 'variant' => ':regular' ), + array( 'name' => 'Alice', 'variant' => ':regular' ), + array( 'name' => 'Alike', 'variant' => ':regular' ), + array( 'name' => 'Alike Angular', 'variant' => ':regular' ), + array( 'name' => 'Allan', 'variant' => ':regular,:700' ), + array( 'name' => 'Allerta', 'variant' => ':regular' ), + array( 'name' => 'Allerta Stencil', 'variant' => ':regular' ), + array( 'name' => 'Allura', 'variant' => ':regular' ), + array( 'name' => 'Almendra', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Almendra Display', 'variant' => ':regular' ), + array( 'name' => 'Almendra SC', 'variant' => ':regular' ), + array( 'name' => 'Amarante', 'variant' => ':regular' ), + array( 'name' => 'Amaranth', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Amatic SC', 'variant' => ':regular,:700' ), + array( 'name' => 'Amethysta', 'variant' => ':regular' ), + array( 'name' => 'Anaheim', 'variant' => ':regular' ), + array( 'name' => 'Andada', 'variant' => ':regular' ), + array( 'name' => 'Andika', 'variant' => ':regular' ), + array( 'name' => 'Angkor', 'variant' => ':regular' ), + array( 'name' => 'Annie Use Your Telescope', 'variant' => ':regular' ), + array( 'name' => 'Anonymous Pro', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Antic', 'variant' => ':regular' ), + array( 'name' => 'Antic Didone', 'variant' => ':regular' ), + array( 'name' => 'Antic Slab', 'variant' => ':regular' ), + array( 'name' => 'Anton', 'variant' => ':regular' ), + array( 'name' => 'Arapey', 'variant' => ':regular,:italic' ), + array( 'name' => 'Arbutus', 'variant' => ':regular' ), + array( 'name' => 'Arbutus Slab', 'variant' => ':regular' ), + array( 'name' => 'Architects Daughter', 'variant' => ':regular' ), + array( 'name' => 'Archivo Black', 'variant' => ':regular' ), + array( 'name' => 'Archivo Narrow', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Arimo', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Arizonia', 'variant' => ':regular' ), + array( 'name' => 'Armata', 'variant' => ':regular' ), + array( 'name' => 'Artifika', 'variant' => ':regular' ), + array( 'name' => 'Arvo', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Asap', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Asset', 'variant' => ':regular' ), + array( 'name' => 'Astloch', 'variant' => ':regular,:700' ), + array( 'name' => 'Asul', 'variant' => ':regular,:700' ), + array( 'name' => 'Atomic Age', 'variant' => ':regular' ), + array( 'name' => 'Aubrey', 'variant' => ':regular' ), + array( 'name' => 'Audiowide', 'variant' => ':regular' ), + array( 'name' => 'Autour One', 'variant' => ':regular' ), + array( 'name' => 'Average', 'variant' => ':regular' ), + array( 'name' => 'Average Sans', 'variant' => ':regular' ), + array( 'name' => 'Averia Gruesa Libre', 'variant' => ':regular' ), + array( 'name' => 'Averia Libre', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic' ), + array( 'name' => 'Averia Sans Libre', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic' ), + array( 'name' => 'Averia Serif Libre', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic' ), + array( 'name' => 'Bad Script', 'variant' => ':regular' ), + array( 'name' => 'Balthazar', 'variant' => ':regular' ), + array( 'name' => 'Bangers', 'variant' => ':regular' ), + array( 'name' => 'Basic', 'variant' => ':regular' ), + array( 'name' => 'Battambang', 'variant' => ':regular,:700' ), + array( 'name' => 'Baumans', 'variant' => ':regular' ), + array( 'name' => 'Bayon', 'variant' => ':regular' ), + array( 'name' => 'Belgrano', 'variant' => ':regular' ), + array( 'name' => 'Belleza', 'variant' => ':regular' ), + array( 'name' => 'BenchNine', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Bentham', 'variant' => ':regular' ), + array( 'name' => 'Berkshire Swash', 'variant' => ':regular' ), + array( 'name' => 'Bevan', 'variant' => ':regular' ), + array( 'name' => 'Bigelow Rules', 'variant' => ':regular' ), + array( 'name' => 'Bigshot One', 'variant' => ':regular' ), + array( 'name' => 'Bilbo', 'variant' => ':regular' ), + array( 'name' => 'Bilbo Swash Caps', 'variant' => ':regular' ), + array( 'name' => 'Bitter', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Black Ops One', 'variant' => ':regular' ), + array( 'name' => 'Bokor', 'variant' => ':regular' ), + array( 'name' => 'Bonbon', 'variant' => ':regular' ), + array( 'name' => 'Boogaloo', 'variant' => ':regular' ), + array( 'name' => 'Bowlby One', 'variant' => ':regular' ), + array( 'name' => 'Bowlby One SC', 'variant' => ':regular' ), + array( 'name' => 'Brawler', 'variant' => ':regular' ), + array( 'name' => 'Bree Serif', 'variant' => ':regular' ), + array( 'name' => 'Bubblegum Sans', 'variant' => ':regular' ), + array( 'name' => 'Bubbler One', 'variant' => ':regular' ), + array( 'name' => 'Buda', 'variant' => ':300' ), + array( 'name' => 'Buenard', 'variant' => ':regular,:700' ), + array( 'name' => 'Butcherman', 'variant' => ':regular' ), + array( 'name' => 'Butterfly Kids', 'variant' => ':regular' ), + array( 'name' => 'Cabin', 'variant' => ':regular,:italic,:500,:500italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Cabin Condensed', 'variant' => ':regular,:500,:600,:700' ), + array( 'name' => 'Cabin Sketch', 'variant' => ':regular,:700' ), + array( 'name' => 'Caesar Dressing', 'variant' => ':regular' ), + array( 'name' => 'Cagliostro', 'variant' => ':regular' ), + array( 'name' => 'Calligraffitti', 'variant' => ':regular' ), + array( 'name' => 'Cambo', 'variant' => ':regular' ), + array( 'name' => 'Candal', 'variant' => ':regular' ), + array( 'name' => 'Cantarell', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Cantata One', 'variant' => ':regular' ), + array( 'name' => 'Cantora One', 'variant' => ':regular' ), + array( 'name' => 'Capriola', 'variant' => ':regular' ), + array( 'name' => 'Cardo', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Carme', 'variant' => ':regular' ), + array( 'name' => 'Carrois Gothic', 'variant' => ':regular' ), + array( 'name' => 'Carrois Gothic SC', 'variant' => ':regular' ), + array( 'name' => 'Carter One', 'variant' => ':regular' ), + array( 'name' => 'Caudex', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Cedarville Cursive', 'variant' => ':regular' ), + array( 'name' => 'Ceviche One', 'variant' => ':regular' ), + array( 'name' => 'Changa One', 'variant' => ':regular,:italic' ), + array( 'name' => 'Chango', 'variant' => ':regular' ), + array( 'name' => 'Chau Philomene One', 'variant' => ':regular,:italic' ), + array( 'name' => 'Chela One', 'variant' => ':regular' ), + array( 'name' => 'Chelsea Market', 'variant' => ':regular' ), + array( 'name' => 'Chenla', 'variant' => ':regular' ), + array( 'name' => 'Cherry Cream Soda', 'variant' => ':regular' ), + array( 'name' => 'Cherry Swash', 'variant' => ':regular,:700' ), + array( 'name' => 'Chewy', 'variant' => ':regular' ), + array( 'name' => 'Chicle', 'variant' => ':regular' ), + array( 'name' => 'Chivo', 'variant' => ':regular,:italic,:900,:900italic' ), + array( 'name' => 'Cinzel', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Cinzel Decorative', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Clicker Script', 'variant' => ':regular' ), + array( 'name' => 'Coda', 'variant' => ':regular,:800' ), + array( 'name' => 'Coda Caption', 'variant' => ':800' ), + array( 'name' => 'Codystar', 'variant' => ':300,:regular' ), + array( 'name' => 'Combo', 'variant' => ':regular' ), + array( 'name' => 'Comfortaa', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Coming Soon', 'variant' => ':regular' ), + array( 'name' => 'Concert One', 'variant' => ':regular' ), + array( 'name' => 'Condiment', 'variant' => ':regular' ), + array( 'name' => 'Content', 'variant' => ':regular,:700' ), + array( 'name' => 'Contrail One', 'variant' => ':regular' ), + array( 'name' => 'Convergence', 'variant' => ':regular' ), + array( 'name' => 'Cookie', 'variant' => ':regular' ), + array( 'name' => 'Copse', 'variant' => ':regular' ), + array( 'name' => 'Corben', 'variant' => ':regular,:700' ), + array( 'name' => 'Courgette', 'variant' => ':regular' ), + array( 'name' => 'Cousine', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Coustard', 'variant' => ':regular,:900' ), + array( 'name' => 'Covered By Your Grace', 'variant' => ':regular' ), + array( 'name' => 'Crafty Girls', 'variant' => ':regular' ), + array( 'name' => 'Creepster', 'variant' => ':regular' ), + array( 'name' => 'Crete Round', 'variant' => ':regular,:italic' ), + array( 'name' => 'Crimson Text', 'variant' => ':regular,:italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Croissant One', 'variant' => ':regular' ), + array( 'name' => 'Crushed', 'variant' => ':regular' ), + array( 'name' => 'Cuprum', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Cutive', 'variant' => ':regular' ), + array( 'name' => 'Cutive Mono', 'variant' => ':regular' ), + array( 'name' => 'Damion', 'variant' => ':regular' ), + array( 'name' => 'Dancing Script', 'variant' => ':regular,:700' ), + array( 'name' => 'Dangrek', 'variant' => ':regular' ), + array( 'name' => 'Dawning of a New Day', 'variant' => ':regular' ), + array( 'name' => 'Days One', 'variant' => ':regular' ), + array( 'name' => 'Delius', 'variant' => ':regular' ), + array( 'name' => 'Delius Swash Caps', 'variant' => ':regular' ), + array( 'name' => 'Delius Unicase', 'variant' => ':regular,:700' ), + array( 'name' => 'Della Respira', 'variant' => ':regular' ), + array( 'name' => 'Denk One', 'variant' => ':regular' ), + array( 'name' => 'Devonshire', 'variant' => ':regular' ), + array( 'name' => 'Didact Gothic', 'variant' => ':regular' ), + array( 'name' => 'Diplomata', 'variant' => ':regular' ), + array( 'name' => 'Diplomata SC', 'variant' => ':regular' ), + array( 'name' => 'Domine', 'variant' => ':regular,:700' ), + array( 'name' => 'Donegal One', 'variant' => ':regular' ), + array( 'name' => 'Doppio One', 'variant' => ':regular' ), + array( 'name' => 'Dorsa', 'variant' => ':regular' ), + array( 'name' => 'Dosis', 'variant' => ':200,:300,:regular,:500,:600,:700,:800' ), + array( 'name' => 'Dr Sugiyama', 'variant' => ':regular' ), + array( 'name' => 'Droid Sans', 'variant' => ':regular,:700' ), + array( 'name' => 'Droid Sans Mono', 'variant' => ':regular' ), + array( 'name' => 'Droid Serif', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Duru Sans', 'variant' => ':regular' ), + array( 'name' => 'Dynalight', 'variant' => ':regular' ), + array( 'name' => 'EB Garamond', 'variant' => ':regular' ), + array( 'name' => 'Eagle Lake', 'variant' => ':regular' ), + array( 'name' => 'Eater', 'variant' => ':regular' ), + array( 'name' => 'Economica', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Electrolize', 'variant' => ':regular' ), + array( 'name' => 'Elsie', 'variant' => ':regular,:900' ), + array( 'name' => 'Elsie Swash Caps', 'variant' => ':regular,:900' ), + array( 'name' => 'Emblema One', 'variant' => ':regular' ), + array( 'name' => 'Emilys Candy', 'variant' => ':regular' ), + array( 'name' => 'Engagement', 'variant' => ':regular' ), + array( 'name' => 'Englebert', 'variant' => ':regular' ), + array( 'name' => 'Enriqueta', 'variant' => ':regular,:700' ), + array( 'name' => 'Erica One', 'variant' => ':regular' ), + array( 'name' => 'Esteban', 'variant' => ':regular' ), + array( 'name' => 'Euphoria Script', 'variant' => ':regular' ), + array( 'name' => 'Ewert', 'variant' => ':regular' ), + array( 'name' => 'Exo', 'variant' => ':100,:100italic,:200,:200italic,:300,:300italic,:regular,:italic,:500,:500italic,:600,:600italic,:700,:700italic,:800,:800italic,:900,:900italic' ), + array( 'name' => 'Exo 2', 'variant' => ':100,:100italic,:200,:200italic,:300,:300italic,:regular,:italic,:500,:500italic,:600,:600italic,:700,:700italic,:800,:800italic,:900,:900italic' ), + array( 'name' => 'Expletus Sans', 'variant' => ':regular,:italic,:500,:500italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Fanwood Text', 'variant' => ':regular,:italic' ), + array( 'name' => 'Fascinate', 'variant' => ':regular' ), + array( 'name' => 'Fascinate Inline', 'variant' => ':regular' ), + array( 'name' => 'Faster One', 'variant' => ':regular' ), + array( 'name' => 'Fasthand', 'variant' => ':regular' ), + array( 'name' => 'Fauna One', 'variant' => ':regular' ), + array( 'name' => 'Federant', 'variant' => ':regular' ), + array( 'name' => 'Federo', 'variant' => ':regular' ), + array( 'name' => 'Felipa', 'variant' => ':regular' ), + array( 'name' => 'Fenix', 'variant' => ':regular' ), + array( 'name' => 'Finger Paint', 'variant' => ':regular' ), + array( 'name' => 'Fjalla One', 'variant' => ':regular' ), + array( 'name' => 'Fjord One', 'variant' => ':regular' ), + array( 'name' => 'Flamenco', 'variant' => ':300,:regular' ), + array( 'name' => 'Flavors', 'variant' => ':regular' ), + array( 'name' => 'Fondamento', 'variant' => ':regular,:italic' ), + array( 'name' => 'Fontdiner Swanky', 'variant' => ':regular' ), + array( 'name' => 'Forum', 'variant' => ':regular' ), + array( 'name' => 'Francois One', 'variant' => ':regular' ), + array( 'name' => 'Freckle Face', 'variant' => ':regular' ), + array( 'name' => 'Fredericka the Great', 'variant' => ':regular' ), + array( 'name' => 'Fredoka One', 'variant' => ':regular' ), + array( 'name' => 'Freehand', 'variant' => ':regular' ), + array( 'name' => 'Fresca', 'variant' => ':regular' ), + array( 'name' => 'Frijole', 'variant' => ':regular' ), + array( 'name' => 'Fruktur', 'variant' => ':regular' ), + array( 'name' => 'Fugaz One', 'variant' => ':regular' ), + array( 'name' => 'GFS Didot', 'variant' => ':regular' ), + array( 'name' => 'GFS Neohellenic', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Gabriela', 'variant' => ':regular' ), + array( 'name' => 'Gafata', 'variant' => ':regular' ), + array( 'name' => 'Galdeano', 'variant' => ':regular' ), + array( 'name' => 'Galindo', 'variant' => ':regular' ), + array( 'name' => 'Gentium Basic', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Gentium Book Basic', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Geo', 'variant' => ':regular,:italic' ), + array( 'name' => 'Geostar', 'variant' => ':regular' ), + array( 'name' => 'Geostar Fill', 'variant' => ':regular' ), + array( 'name' => 'Germania One', 'variant' => ':regular' ), + array( 'name' => 'Gilda Display', 'variant' => ':regular' ), + array( 'name' => 'Give You Glory', 'variant' => ':regular' ), + array( 'name' => 'Glass Antiqua', 'variant' => ':regular' ), + array( 'name' => 'Glegoo', 'variant' => ':regular' ), + array( 'name' => 'Gloria Hallelujah', 'variant' => ':regular' ), + array( 'name' => 'Goblin One', 'variant' => ':regular' ), + array( 'name' => 'Gochi Hand', 'variant' => ':regular' ), + array( 'name' => 'Gorditas', 'variant' => ':regular,:700' ), + array( 'name' => 'Goudy Bookletter 1911', 'variant' => ':regular' ), + array( 'name' => 'Graduate', 'variant' => ':regular' ), + array( 'name' => 'Grand Hotel', 'variant' => ':regular' ), + array( 'name' => 'Gravitas One', 'variant' => ':regular' ), + array( 'name' => 'Great Vibes', 'variant' => ':regular' ), + array( 'name' => 'Griffy', 'variant' => ':regular' ), + array( 'name' => 'Gruppo', 'variant' => ':regular' ), + array( 'name' => 'Gudea', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Habibi', 'variant' => ':regular' ), + array( 'name' => 'Hammersmith One', 'variant' => ':regular' ), + array( 'name' => 'Hanalei', 'variant' => ':regular' ), + array( 'name' => 'Hanalei Fill', 'variant' => ':regular' ), + array( 'name' => 'Handlee', 'variant' => ':regular' ), + array( 'name' => 'Hanuman', 'variant' => ':regular,:700' ), + array( 'name' => 'Happy Monkey', 'variant' => ':regular' ), + array( 'name' => 'Headland One', 'variant' => ':regular' ), + array( 'name' => 'Henny Penny', 'variant' => ':regular' ), + array( 'name' => 'Herr Von Muellerhoff', 'variant' => ':regular' ), + array( 'name' => 'Holtwood One SC', 'variant' => ':regular' ), + array( 'name' => 'Homemade Apple', 'variant' => ':regular' ), + array( 'name' => 'Homenaje', 'variant' => ':regular' ), + array( 'name' => 'IM Fell DW Pica', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell DW Pica SC', 'variant' => ':regular' ), + array( 'name' => 'IM Fell Double Pica', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell Double Pica SC', 'variant' => ':regular' ), + array( 'name' => 'IM Fell English', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell English SC', 'variant' => ':regular' ), + array( 'name' => 'IM Fell French Canon', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell French Canon SC', 'variant' => ':regular' ), + array( 'name' => 'IM Fell Great Primer', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell Great Primer SC', 'variant' => ':regular' ), + array( 'name' => 'Iceberg', 'variant' => ':regular' ), + array( 'name' => 'Iceland', 'variant' => ':regular' ), + array( 'name' => 'Imprima', 'variant' => ':regular' ), + array( 'name' => 'Inconsolata', 'variant' => ':regular,:700' ), + array( 'name' => 'Inder', 'variant' => ':regular' ), + array( 'name' => 'Indie Flower', 'variant' => ':regular' ), + array( 'name' => 'Inika', 'variant' => ':regular,:700' ), + array( 'name' => 'Irish Grover', 'variant' => ':regular' ), + array( 'name' => 'Istok Web', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Italiana', 'variant' => ':regular' ), + array( 'name' => 'Italianno', 'variant' => ':regular' ), + array( 'name' => 'Jacques Francois', 'variant' => ':regular' ), + array( 'name' => 'Jacques Francois Shadow', 'variant' => ':regular' ), + array( 'name' => 'Jim Nightshade', 'variant' => ':regular' ), + array( 'name' => 'Jockey One', 'variant' => ':regular' ), + array( 'name' => 'Jolly Lodger', 'variant' => ':regular' ), + array( 'name' => 'Josefin Sans', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Josefin Slab', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Joti One', 'variant' => ':regular' ), + array( 'name' => 'Judson', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Julee', 'variant' => ':regular' ), + array( 'name' => 'Julius Sans One', 'variant' => ':regular' ), + array( 'name' => 'Junge', 'variant' => ':regular' ), + array( 'name' => 'Jura', 'variant' => ':300,:regular,:500,:600' ), + array( 'name' => 'Just Another Hand', 'variant' => ':regular' ), + array( 'name' => 'Just Me Again Down Here', 'variant' => ':regular' ), + array( 'name' => 'Kameron', 'variant' => ':regular,:700' ), + array( 'name' => 'Kantumruy', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Karla', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Kaushan Script', 'variant' => ':regular' ), + array( 'name' => 'Kavoon', 'variant' => ':regular' ), + array( 'name' => 'Kdam Thmor', 'variant' => ':regular' ), + array( 'name' => 'Keania One', 'variant' => ':regular' ), + array( 'name' => 'Kelly Slab', 'variant' => ':regular' ), + array( 'name' => 'Kenia', 'variant' => ':regular' ), + array( 'name' => 'Khmer', 'variant' => ':regular' ), + array( 'name' => 'Kite One', 'variant' => ':regular' ), + array( 'name' => 'Knewave', 'variant' => ':regular' ), + array( 'name' => 'Kotta One', 'variant' => ':regular' ), + array( 'name' => 'Koulen', 'variant' => ':regular' ), + array( 'name' => 'Kranky', 'variant' => ':regular' ), + array( 'name' => 'Kreon', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Kristi', 'variant' => ':regular' ), + array( 'name' => 'Krona One', 'variant' => ':regular' ), + array( 'name' => 'La Belle Aurore', 'variant' => ':regular' ), + array( 'name' => 'Lancelot', 'variant' => ':regular' ), + array( 'name' => 'Lato', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'League Script', 'variant' => ':regular' ), + array( 'name' => 'Leckerli One', 'variant' => ':regular' ), + array( 'name' => 'Ledger', 'variant' => ':regular' ), + array( 'name' => 'Lekton', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Lemon', 'variant' => ':regular' ), + array( 'name' => 'Libre Baskerville', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Life Savers', 'variant' => ':regular,:700' ), + array( 'name' => 'Lilita One', 'variant' => ':regular' ), + array( 'name' => 'Lily Script One', 'variant' => ':regular' ), + array( 'name' => 'Limelight', 'variant' => ':regular' ), + array( 'name' => 'Linden Hill', 'variant' => ':regular,:italic' ), + array( 'name' => 'Lobster', 'variant' => ':regular' ), + array( 'name' => 'Lobster Two', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Londrina Outline', 'variant' => ':regular' ), + array( 'name' => 'Londrina Shadow', 'variant' => ':regular' ), + array( 'name' => 'Londrina Sketch', 'variant' => ':regular' ), + array( 'name' => 'Londrina Solid', 'variant' => ':regular' ), + array( 'name' => 'Lora', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Love Ya Like A Sister', 'variant' => ':regular' ), + array( 'name' => 'Loved by the King', 'variant' => ':regular' ), + array( 'name' => 'Lovers Quarrel', 'variant' => ':regular' ), + array( 'name' => 'Luckiest Guy', 'variant' => ':regular' ), + array( 'name' => 'Lusitana', 'variant' => ':regular,:700' ), + array( 'name' => 'Lustria', 'variant' => ':regular' ), + array( 'name' => 'Macondo', 'variant' => ':regular' ), + array( 'name' => 'Macondo Swash Caps', 'variant' => ':regular' ), + array( 'name' => 'Magra', 'variant' => ':regular,:700' ), + array( 'name' => 'Maiden Orange', 'variant' => ':regular' ), + array( 'name' => 'Mako', 'variant' => ':regular' ), + array( 'name' => 'Marcellus', 'variant' => ':regular' ), + array( 'name' => 'Marcellus SC', 'variant' => ':regular' ), + array( 'name' => 'Marck Script', 'variant' => ':regular' ), + array( 'name' => 'Margarine', 'variant' => ':regular' ), + array( 'name' => 'Marko One', 'variant' => ':regular' ), + array( 'name' => 'Marmelad', 'variant' => ':regular' ), + array( 'name' => 'Marvel', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Mate', 'variant' => ':regular,:italic' ), + array( 'name' => 'Mate SC', 'variant' => ':regular' ), + array( 'name' => 'Maven Pro', 'variant' => ':regular,:500,:700,:900' ), + array( 'name' => 'McLaren', 'variant' => ':regular' ), + array( 'name' => 'Meddon', 'variant' => ':regular' ), + array( 'name' => 'MedievalSharp', 'variant' => ':regular' ), + array( 'name' => 'Medula One', 'variant' => ':regular' ), + array( 'name' => 'Megrim', 'variant' => ':regular' ), + array( 'name' => 'Meie Script', 'variant' => ':regular' ), + array( 'name' => 'Merienda', 'variant' => ':regular,:700' ), + array( 'name' => 'Merienda One', 'variant' => ':regular' ), + array( 'name' => 'Merriweather', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Merriweather Sans', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic,:800,:800italic' ), + array( 'name' => 'Metal', 'variant' => ':regular' ), + array( 'name' => 'Metal Mania', 'variant' => ':regular' ), + array( 'name' => 'Metamorphous', 'variant' => ':regular' ), + array( 'name' => 'Metrophobic', 'variant' => ':regular' ), + array( 'name' => 'Michroma', 'variant' => ':regular' ), + array( 'name' => 'Milonga', 'variant' => ':regular' ), + array( 'name' => 'Miltonian', 'variant' => ':regular' ), + array( 'name' => 'Miltonian Tattoo', 'variant' => ':regular' ), + array( 'name' => 'Miniver', 'variant' => ':regular' ), + array( 'name' => 'Miss Fajardose', 'variant' => ':regular' ), + array( 'name' => 'Modern Antiqua', 'variant' => ':regular' ), + array( 'name' => 'Molengo', 'variant' => ':regular' ), + array( 'name' => 'Molle', 'variant' => ':italic' ), + array( 'name' => 'Monda', 'variant' => ':regular,:700' ), + array( 'name' => 'Monofett', 'variant' => ':regular' ), + array( 'name' => 'Monoton', 'variant' => ':regular' ), + array( 'name' => 'Monsieur La Doulaise', 'variant' => ':regular' ), + array( 'name' => 'Montaga', 'variant' => ':regular' ), + array( 'name' => 'Montez', 'variant' => ':regular' ), + array( 'name' => 'Montserrat', 'variant' => ':regular,:700' ), + array( 'name' => 'Montserrat Alternates', 'variant' => ':regular,:700' ), + array( 'name' => 'Montserrat Subrayada', 'variant' => ':regular,:700' ), + array( 'name' => 'Moul', 'variant' => ':regular' ), + array( 'name' => 'Moulpali', 'variant' => ':regular' ), + array( 'name' => 'Mountains of Christmas', 'variant' => ':regular,:700' ), + array( 'name' => 'Mouse Memoirs', 'variant' => ':regular' ), + array( 'name' => 'Mr Bedfort', 'variant' => ':regular' ), + array( 'name' => 'Mr Dafoe', 'variant' => ':regular' ), + array( 'name' => 'Mr De Haviland', 'variant' => ':regular' ), + array( 'name' => 'Mrs Saint Delafield', 'variant' => ':regular' ), + array( 'name' => 'Mrs Sheppards', 'variant' => ':regular' ), + array( 'name' => 'Muli', 'variant' => ':300,:300italic,:regular,:italic' ), + array( 'name' => 'Mystery Quest', 'variant' => ':regular' ), + array( 'name' => 'Neucha', 'variant' => ':regular' ), + array( 'name' => 'Neuton', 'variant' => ':200,:300,:regular,:italic,:700,:800' ), + array( 'name' => 'New Rocker', 'variant' => ':regular' ), + array( 'name' => 'News Cycle', 'variant' => ':regular,:700' ), + array( 'name' => 'Niconne', 'variant' => ':regular' ), + array( 'name' => 'Nixie One', 'variant' => ':regular' ), + array( 'name' => 'Nobile', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Nokora', 'variant' => ':regular,:700' ), + array( 'name' => 'Norican', 'variant' => ':regular' ), + array( 'name' => 'Nosifer', 'variant' => ':regular' ), + array( 'name' => 'Nothing You Could Do', 'variant' => ':regular' ), + array( 'name' => 'Noticia Text', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Noto Sans', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Noto Serif', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Nova Cut', 'variant' => ':regular' ), + array( 'name' => 'Nova Flat', 'variant' => ':regular' ), + array( 'name' => 'Nova Mono', 'variant' => ':regular' ), + array( 'name' => 'Nova Oval', 'variant' => ':regular' ), + array( 'name' => 'Nova Round', 'variant' => ':regular' ), + array( 'name' => 'Nova Script', 'variant' => ':regular' ), + array( 'name' => 'Nova Slim', 'variant' => ':regular' ), + array( 'name' => 'Nova Square', 'variant' => ':regular' ), + array( 'name' => 'Numans', 'variant' => ':regular' ), + array( 'name' => 'Nunito', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Odor Mean Chey', 'variant' => ':regular' ), + array( 'name' => 'Offside', 'variant' => ':regular' ), + array( 'name' => 'Old Standard TT', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Oldenburg', 'variant' => ':regular' ), + array( 'name' => 'Oleo Script', 'variant' => ':regular,:700' ), + array( 'name' => 'Oleo Script Swash Caps', 'variant' => ':regular,:700' ), + array( 'name' => 'Open Sans', 'variant' => ':300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic,:800,:800italic' ), + array( 'name' => 'Open Sans Condensed', 'variant' => ':300,:300italic,:700' ), + array( 'name' => 'Oranienbaum', 'variant' => ':regular' ), + array( 'name' => 'Orbitron', 'variant' => ':regular,:500,:700,:900' ), + array( 'name' => 'Oregano', 'variant' => ':regular,:italic' ), + array( 'name' => 'Orienta', 'variant' => ':regular' ), + array( 'name' => 'Original Surfer', 'variant' => ':regular' ), + array( 'name' => 'Oswald', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Over the Rainbow', 'variant' => ':regular' ), + array( 'name' => 'Overlock', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Overlock SC', 'variant' => ':regular' ), + array( 'name' => 'Ovo', 'variant' => ':regular' ), + array( 'name' => 'Oxygen', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Oxygen Mono', 'variant' => ':regular' ), + array( 'name' => 'PT Mono', 'variant' => ':regular' ), + array( 'name' => 'PT Sans', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'PT Sans Caption', 'variant' => ':regular,:700' ), + array( 'name' => 'PT Sans Narrow', 'variant' => ':regular,:700' ), + array( 'name' => 'PT Serif', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'PT Serif Caption', 'variant' => ':regular,:italic' ), + array( 'name' => 'Pacifico', 'variant' => ':regular' ), + array( 'name' => 'Paprika', 'variant' => ':regular' ), + array( 'name' => 'Parisienne', 'variant' => ':regular' ), + array( 'name' => 'Passero One', 'variant' => ':regular' ), + array( 'name' => 'Passion One', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Pathway Gothic One', 'variant' => ':regular' ), + array( 'name' => 'Patrick Hand', 'variant' => ':regular' ), + array( 'name' => 'Patrick Hand SC', 'variant' => ':regular' ), + array( 'name' => 'Patua One', 'variant' => ':regular' ), + array( 'name' => 'Paytone One', 'variant' => ':regular' ), + array( 'name' => 'Peralta', 'variant' => ':regular' ), + array( 'name' => 'Permanent Marker', 'variant' => ':regular' ), + array( 'name' => 'Petit Formal Script', 'variant' => ':regular' ), + array( 'name' => 'Petrona', 'variant' => ':regular' ), + array( 'name' => 'Philosopher', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Piedra', 'variant' => ':regular' ), + array( 'name' => 'Pinyon Script', 'variant' => ':regular' ), + array( 'name' => 'Pirata One', 'variant' => ':regular' ), + array( 'name' => 'Plaster', 'variant' => ':regular' ), + array( 'name' => 'Play', 'variant' => ':regular,:700' ), + array( 'name' => 'Playball', 'variant' => ':regular' ), + array( 'name' => 'Playfair Display', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Playfair Display SC', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Podkova', 'variant' => ':regular,:700' ), + array( 'name' => 'Poiret One', 'variant' => ':regular' ), + array( 'name' => 'Poller One', 'variant' => ':regular' ), + array( 'name' => 'Poly', 'variant' => ':regular,:italic' ), + array( 'name' => 'Pompiere', 'variant' => ':regular' ), + array( 'name' => 'Pontano Sans', 'variant' => ':regular' ), + array( 'name' => 'Port Lligat Sans', 'variant' => ':regular' ), + array( 'name' => 'Port Lligat Slab', 'variant' => ':regular' ), + array( 'name' => 'Prata', 'variant' => ':regular' ), + array( 'name' => 'Preahvihear', 'variant' => ':regular' ), + array( 'name' => 'Press Start 2P', 'variant' => ':regular' ), + array( 'name' => 'Princess Sofia', 'variant' => ':regular' ), + array( 'name' => 'Prociono', 'variant' => ':regular' ), + array( 'name' => 'Prosto One', 'variant' => ':regular' ), + array( 'name' => 'Puritan', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Purple Purse', 'variant' => ':regular' ), + array( 'name' => 'Quando', 'variant' => ':regular' ), + array( 'name' => 'Quantico', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Quattrocento', 'variant' => ':regular,:700' ), + array( 'name' => 'Quattrocento Sans', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Questrial', 'variant' => ':regular' ), + array( 'name' => 'Quicksand', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Quintessential', 'variant' => ':regular' ), + array( 'name' => 'Qwigley', 'variant' => ':regular' ), + array( 'name' => 'Racing Sans One', 'variant' => ':regular' ), + array( 'name' => 'Radley', 'variant' => ':regular,:italic' ), + array( 'name' => 'Raleway', 'variant' => ':100,:200,:300,:regular,:500,:600,:700,:800,:900' ), + array( 'name' => 'Raleway Dots', 'variant' => ':regular' ), + array( 'name' => 'Rambla', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Rammetto One', 'variant' => ':regular' ), + array( 'name' => 'Ranchers', 'variant' => ':regular' ), + array( 'name' => 'Rancho', 'variant' => ':regular' ), + array( 'name' => 'Rationale', 'variant' => ':regular' ), + array( 'name' => 'Redressed', 'variant' => ':regular' ), + array( 'name' => 'Reenie Beanie', 'variant' => ':regular' ), + array( 'name' => 'Revalia', 'variant' => ':regular' ), + array( 'name' => 'Ribeye', 'variant' => ':regular' ), + array( 'name' => 'Ribeye Marrow', 'variant' => ':regular' ), + array( 'name' => 'Righteous', 'variant' => ':regular' ), + array( 'name' => 'Risque', 'variant' => ':regular' ), + array( 'name' => 'Roboto', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:500,:500italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Roboto Condensed', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic' ), + array( 'name' => 'Roboto Slab', 'variant' => ':100,:300,:regular,:700' ), + array( 'name' => 'Rochester', 'variant' => ':regular' ), + array( 'name' => 'Rock Salt', 'variant' => ':regular' ), + array( 'name' => 'Rokkitt', 'variant' => ':regular,:700' ), + array( 'name' => 'Romanesco', 'variant' => ':regular' ), + array( 'name' => 'Ropa Sans', 'variant' => ':regular,:italic' ), + array( 'name' => 'Rosario', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Rosarivo', 'variant' => ':regular,:italic' ), + array( 'name' => 'Rouge Script', 'variant' => ':regular' ), + array( 'name' => 'Ruda', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Rufina', 'variant' => ':regular,:700' ), + array( 'name' => 'Ruge Boogie', 'variant' => ':regular' ), + array( 'name' => 'Ruluko', 'variant' => ':regular' ), + array( 'name' => 'Rum Raisin', 'variant' => ':regular' ), + array( 'name' => 'Ruslan Display', 'variant' => ':regular' ), + array( 'name' => 'Russo One', 'variant' => ':regular' ), + array( 'name' => 'Ruthie', 'variant' => ':regular' ), + array( 'name' => 'Rye', 'variant' => ':regular' ), + array( 'name' => 'Sacramento', 'variant' => ':regular' ), + array( 'name' => 'Sail', 'variant' => ':regular' ), + array( 'name' => 'Salsa', 'variant' => ':regular' ), + array( 'name' => 'Sanchez', 'variant' => ':regular,:italic' ), + array( 'name' => 'Sancreek', 'variant' => ':regular' ), + array( 'name' => 'Sansita One', 'variant' => ':regular' ), + array( 'name' => 'Sarina', 'variant' => ':regular' ), + array( 'name' => 'Satisfy', 'variant' => ':regular' ), + array( 'name' => 'Scada', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Schoolbell', 'variant' => ':regular' ), + array( 'name' => 'Seaweed Script', 'variant' => ':regular' ), + array( 'name' => 'Sevillana', 'variant' => ':regular' ), + array( 'name' => 'Seymour One', 'variant' => ':regular' ), + array( 'name' => 'Shadows Into Light', 'variant' => ':regular' ), + array( 'name' => 'Shadows Into Light Two', 'variant' => ':regular' ), + array( 'name' => 'Shanti', 'variant' => ':regular' ), + array( 'name' => 'Share', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Share Tech', 'variant' => ':regular' ), + array( 'name' => 'Share Tech Mono', 'variant' => ':regular' ), + array( 'name' => 'Shojumaru', 'variant' => ':regular' ), + array( 'name' => 'Short Stack', 'variant' => ':regular' ), + array( 'name' => 'Siemreap', 'variant' => ':regular' ), + array( 'name' => 'Sigmar One', 'variant' => ':regular' ), + array( 'name' => 'Signika', 'variant' => ':300,:regular,:600,:700' ), + array( 'name' => 'Signika Negative', 'variant' => ':300,:regular,:600,:700' ), + array( 'name' => 'Simonetta', 'variant' => ':regular,:italic,:900,:900italic' ), + array( 'name' => 'Sintony', 'variant' => ':regular,:700' ), + array( 'name' => 'Sirin Stencil', 'variant' => ':regular' ), + array( 'name' => 'Six Caps', 'variant' => ':regular' ), + array( 'name' => 'Skranji', 'variant' => ':regular,:700' ), + array( 'name' => 'Slackey', 'variant' => ':regular' ), + array( 'name' => 'Smokum', 'variant' => ':regular' ), + array( 'name' => 'Smythe', 'variant' => ':regular' ), + array( 'name' => 'Sniglet', 'variant' => ':regular,:800' ), + array( 'name' => 'Snippet', 'variant' => ':regular' ), + array( 'name' => 'Snowburst One', 'variant' => ':regular' ), + array( 'name' => 'Sofadi One', 'variant' => ':regular' ), + array( 'name' => 'Sofia', 'variant' => ':regular' ), + array( 'name' => 'Sonsie One', 'variant' => ':regular' ), + array( 'name' => 'Sorts Mill Goudy', 'variant' => ':regular,:italic' ), + array( 'name' => 'Source Code Pro', 'variant' => ':200,:300,:regular,:500,:600,:700,:900' ), + array( 'name' => 'Source Sans Pro', 'variant' => ':200,:200italic,:300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Special Elite', 'variant' => ':regular' ), + array( 'name' => 'Spicy Rice', 'variant' => ':regular' ), + array( 'name' => 'Spinnaker', 'variant' => ':regular' ), + array( 'name' => 'Spirax', 'variant' => ':regular' ), + array( 'name' => 'Squada One', 'variant' => ':regular' ), + array( 'name' => 'Stalemate', 'variant' => ':regular' ), + array( 'name' => 'Stalinist One', 'variant' => ':regular' ), + array( 'name' => 'Stardos Stencil', 'variant' => ':regular,:700' ), + array( 'name' => 'Stint Ultra Condensed', 'variant' => ':regular' ), + array( 'name' => 'Stint Ultra Expanded', 'variant' => ':regular' ), + array( 'name' => 'Stoke', 'variant' => ':300,:regular' ), + array( 'name' => 'Strait', 'variant' => ':regular' ), + array( 'name' => 'Sue Ellen Francisco', 'variant' => ':regular' ), + array( 'name' => 'Sunshiney', 'variant' => ':regular' ), + array( 'name' => 'Supermercado One', 'variant' => ':regular' ), + array( 'name' => 'Suwannaphum', 'variant' => ':regular' ), + array( 'name' => 'Swanky and Moo Moo', 'variant' => ':regular' ), + array( 'name' => 'Syncopate', 'variant' => ':regular,:700' ), + array( 'name' => 'Tangerine', 'variant' => ':regular,:700' ), + array( 'name' => 'Taprom', 'variant' => ':regular' ), + array( 'name' => 'Tauri', 'variant' => ':regular' ), + array( 'name' => 'Telex', 'variant' => ':regular' ), + array( 'name' => 'Tenor Sans', 'variant' => ':regular' ), + array( 'name' => 'Text Me One', 'variant' => ':regular' ), + array( 'name' => 'The Girl Next Door', 'variant' => ':regular' ), + array( 'name' => 'Tienne', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Tinos', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Titan One', 'variant' => ':regular' ), + array( 'name' => 'Titillium Web', 'variant' => ':200,:200italic,:300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic,:900' ), + array( 'name' => 'Trade Winds', 'variant' => ':regular' ), + array( 'name' => 'Trocchi', 'variant' => ':regular' ), + array( 'name' => 'Trochut', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Trykker', 'variant' => ':regular' ), + array( 'name' => 'Tulpen One', 'variant' => ':regular' ), + array( 'name' => 'Ubuntu', 'variant' => ':300,:300italic,:regular,:italic,:500,:500italic,:700,:700italic' ), + array( 'name' => 'Ubuntu Condensed', 'variant' => ':regular' ), + array( 'name' => 'Ubuntu Mono', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Ultra', 'variant' => ':regular' ), + array( 'name' => 'Uncial Antiqua', 'variant' => ':regular' ), + array( 'name' => 'Underdog', 'variant' => ':regular' ), + array( 'name' => 'Unica One', 'variant' => ':regular' ), + array( 'name' => 'UnifrakturCook', 'variant' => ':700' ), + array( 'name' => 'UnifrakturMaguntia', 'variant' => ':regular' ), + array( 'name' => 'Unkempt', 'variant' => ':regular,:700' ), + array( 'name' => 'Unlock', 'variant' => ':regular' ), + array( 'name' => 'Unna', 'variant' => ':regular' ), + array( 'name' => 'VT323', 'variant' => ':regular' ), + array( 'name' => 'Vampiro One', 'variant' => ':regular' ), + array( 'name' => 'Varela', 'variant' => ':regular' ), + array( 'name' => 'Varela Round', 'variant' => ':regular' ), + array( 'name' => 'Vast Shadow', 'variant' => ':regular' ), + array( 'name' => 'Vibur', 'variant' => ':regular' ), + array( 'name' => 'Vidaloka', 'variant' => ':regular' ), + array( 'name' => 'Viga', 'variant' => ':regular' ), + array( 'name' => 'Voces', 'variant' => ':regular' ), + array( 'name' => 'Volkhov', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Vollkorn', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Voltaire', 'variant' => ':regular' ), + array( 'name' => 'Waiting for the Sunrise', 'variant' => ':regular' ), + array( 'name' => 'Wallpoet', 'variant' => ':regular' ), + array( 'name' => 'Walter Turncoat', 'variant' => ':regular' ), + array( 'name' => 'Warnes', 'variant' => ':regular' ), + array( 'name' => 'Wellfleet', 'variant' => ':regular' ), + array( 'name' => 'Wendy One', 'variant' => ':regular' ), + array( 'name' => 'Wire One', 'variant' => ':regular' ), + array( 'name' => 'Yanone Kaffeesatz', 'variant' => ':200,:300,:regular,:700' ), + array( 'name' => 'Yellowtail', 'variant' => ':regular' ), + array( 'name' => 'Yeseva One', 'variant' => ':regular' ), + array( 'name' => 'Yesteryear', 'variant' => ':regular' ), + array( 'name' => 'Zeyada', 'variant' => ':regular' ) + ); + + return $google_fonts; +} // End wf_get_google_fonts_store() + +/*-----------------------------------------------------------------------------------*/ +/* Google Webfonts Stylesheet Generator */ +/*-----------------------------------------------------------------------------------*/ +/* +INSTRUCTIONS: Needs to be loaded for the Google Fonts options to work for font options. Add this to +the specific themes includes/theme-actions.php or functions.php: + +add_action( 'wp_head', 'woo_google_webfonts' ); +*/ + +if ( ! function_exists( 'woo_google_webfonts' ) ) { + function woo_google_webfonts() { + global $google_fonts; + $fonts_to_load = array(); + $output = ''; + + // Setup Woo Options array + global $woo_options; + + // Go through the options + if ( ! empty( $woo_options ) && ! empty( $google_fonts ) ) { + foreach ( $woo_options as $option ) { + // Check if option has "face" in array + if ( is_array( $option ) && isset( $option['face'] ) ) { + // Go through the google font array + foreach ( $google_fonts as $font ) { + // Check if the google font name exists in the current "face" option + if ( $option['face'] == $font['name'] && ! in_array( $font['name'], array_keys( $fonts_to_load ) ) ) { + // Add google font to output + $variant = ''; + if ( isset( $font['variant'] ) ) $variant = $font['variant']; + $fonts_to_load[$font['name']] = $variant; + } + } + } + } + + // Output google font css in header + if ( 0 < count( $fonts_to_load ) ) { + $fonts_and_variants = array(); + foreach ( $fonts_to_load as $k => $v ) { + $fonts_and_variants[] = $k . $v; + } + $fonts_and_variants = array_map( 'urlencode', $fonts_and_variants ); + $fonts = join( '|', $fonts_and_variants ); + + $output .= "\n\n"; + $output .= ''."\n"; + + echo $output; + } + } + } // End woo_google_webfonts() +} + + +/*-----------------------------------------------------------------------------------*/ +/* Enable Home link in WP Menus +/*-----------------------------------------------------------------------------------*/ +if ( !function_exists( 'woo_home_page_menu_args' ) ) { + function woo_home_page_menu_args( $args ) { + $args['show_home'] = true; + return $args; + } // End woo_home_page_menu_args() + add_filter( 'wp_page_menu_args', 'woo_home_page_menu_args' ); +} + +/*---------------------------------------------------------------------------------*/ +/* Detects the Charset of String and Converts it to UTF-8 */ +/*---------------------------------------------------------------------------------*/ +if ( !function_exists( 'woo_encoding_convert') ) { + function woo_encoding_convert($str_to_convert) { + if ( function_exists( 'mb_detect_encoding') ) { + $str_lang_encoding = mb_detect_encoding($str_to_convert); + //if no encoding detected, assume UTF-8 + if (!$str_lang_encoding) { + //UTF-8 assumed + $str_lang_converted_utf = $str_to_convert; + } else { + //Convert to UTF-8 + $str_lang_converted_utf = mb_convert_encoding($str_to_convert, 'UTF-8', $str_lang_encoding); + } + } else { + $str_lang_converted_utf = $str_to_convert; + } + + return $str_lang_converted_utf; + } +} + +/*---------------------------------------------------------------------------------*/ +/* WP Login logo */ +/*---------------------------------------------------------------------------------*/ +if ( !function_exists( 'woo_custom_login_logo' ) ) { + function woo_custom_login_logo() { + $logo = get_option( 'framework_woo_custom_login_logo' ); + $dimensions = @getimagesize( $logo ); + $background_size = 'background-size: auto;'; + if ( 0 >= $dimensions[1] ) { + $dimensions[1] = '67'; + $background_size = ''; + } + + echo ''; + } // End woo_custom_login_logo() + if ( '' != get_option( 'framework_woo_custom_login_logo') ) { + add_action( 'login_head', 'woo_custom_login_logo' ); + } +} + +/*---------------------------------------------------------------------------------*/ +/* WP Login logo URL */ +/*---------------------------------------------------------------------------------*/ +if ( ! function_exists( 'woo_custom_login_logo_url' ) ) { + function woo_custom_login_logo_url( $text ) { + return get_option( 'framework_woo_custom_login_logo_url' ); // Escaping via esc_url() is done in wp-login.php. + } // End woo_custom_login_logo_url() + + if ( '' != get_option( 'framework_woo_custom_login_logo_url' ) ) { + add_filter( 'login_headerurl', 'woo_custom_login_logo_url', 10 ); + } +} + +/*---------------------------------------------------------------------------------*/ +/* WP Login logo title */ +/*---------------------------------------------------------------------------------*/ +if ( ! function_exists( 'woo_custom_login_logo_title' ) ) { + function woo_custom_login_logo_title( $text ) { + return get_option( 'framework_woo_custom_login_logo_title' ); // Escaping via esc_attr() is done in wp-login.php. + } // End woo_custom_login_logo_title() + + if ( '' != get_option( 'framework_woo_custom_login_logo_title' ) ) { + add_filter( 'login_headertitle', 'woo_custom_login_logo_title', 10 ); + } +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_pagination() - Custom loop pagination function */ +/*-----------------------------------------------------------------------------------*/ +/* +/* Additional documentation: http://codex.wordpress.org/Function_Reference/paginate_links +/* +/* Params: +/* +/* Arguments Array: +/* +/* 'base' (optional) - The query argument on which to determine the pagination (for advanced users) +/* 'format' (optional) - The format in which the query argument is formatted in it's raw format (for advanced users) +/* 'total' (optional) - The total amount of pages +/* 'current' (optional) - The current page number +/* 'prev_next' (optional) - Whether to include the previous and next links in the list or not. +/* 'prev_text' (optional) - The previous page text. Works only if 'prev_next' argument is set to true. +/* 'next_text' (optional) - The next page text. Works only if 'prev_next' argument is set to true. +/* 'show_all' (optional) - If set to True, then it will show all of the pages instead of a short list of the pages near the current page. By default, the 'show_all' is set to false and controlled by the 'end_size' and 'mid_size' arguments. +/* 'end_size' (optional) - How many numbers on either the start and the end list edges. +/* 'mid_size' (optional) - How many numbers to either side of current page, but not including current page. +/* 'add_fragment' (optional) - An array of query args to add using add_query_arg(). +/* 'type' (optional) - Controls format of the returned value. Possible values are: + 'plain' - A string with the links separated by a newline character. + 'array' - An array of the paginated link list to offer full control of display. + 'list' - Unordered HTML list. +/* 'before' (optional) - The HTML to display before the paginated links. +/* 'after' (optional) - The HTML to display after the paginated links. +/* 'echo' (optional) - Whether or not to display the paginated links (alternative is to "return"). +/* 'use_search_permastruct' (optiona;) - Whether or not to use the "pretty" URL permastruct for search URLs. +/* +/* Query Parameter (optional) - Specify a custom query which you'd like to paginate. +/* +/*-----------------------------------------------------------------------------------*/ +/** + * woo_pagination() is used for paginating the various archive pages created by WordPress. This is not + * to be used on single.php or other single view pages. + * + * @since 3.7.0 + * @uses paginate_links() Creates a string of paginated links based on the arguments given. + * @param array $args Arguments to customize how the page links are output. + * @param object $query An optional custom query to paginate. + */ + +if ( ! function_exists( 'woo_pagination' ) ) { + function woo_pagination( $args = array(), $query = '' ) { + global $wp_rewrite, $wp_query; + + do_action( 'woo_pagination_start' ); + + if ( $query ) { + + $wp_query = $query; + + } // End IF Statement + + /* If there's not more than one page, return nothing. */ + if ( 1 >= $wp_query->max_num_pages ) + return; + + /* Get the current page. */ + $current = ( get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1 ); + + /* Get the max number of pages. */ + $max_num_pages = intval( $wp_query->max_num_pages ); + + /* Set up some default arguments for the paginate_links() function. */ + $defaults = array( + 'base' => add_query_arg( 'paged', '%#%' ), + 'format' => '', + 'total' => $max_num_pages, + 'current' => $current, + 'prev_next' => true, + 'prev_text' => __( '← Previous', 'woothemes' ), // Translate in WordPress. This is the default. + 'next_text' => __( 'Next →', 'woothemes' ), // Translate in WordPress. This is the default. + 'show_all' => false, + 'end_size' => 1, + 'mid_size' => 1, + 'add_fragment' => '', + 'type' => 'plain', + 'before' => '', + 'echo' => true, + 'use_search_permastruct' => true + ); + + /* Allow themes/plugins to filter the default arguments. */ + $defaults = apply_filters( 'woo_pagination_args_defaults', $defaults ); + + /* Add the $base argument to the array if the user is using permalinks. */ + if( $wp_rewrite->using_permalinks() && ! is_search() ) + $defaults['base'] = user_trailingslashit( trailingslashit( get_pagenum_link() ) . 'page/%#%' ); + + /* Force search links to use raw permastruct for more accurate multi-word searching. */ + if ( is_search() ) + $defaults['use_search_permastruct'] = false; + + /* If we're on a search results page, we need to change this up a bit. */ + if ( is_search() ) { + /* If we're in BuddyPress, or the user has selected to do so, use the default "unpretty" URL structure. */ + if ( class_exists( 'BP_Core_User' ) || $defaults['use_search_permastruct'] == false ) { + $search_query = get_query_var( 's' ); + $paged = get_query_var( 'paged' ); + $base = add_query_arg( 's', urlencode( $search_query ) ); + $base = add_query_arg( 'paged', '%#%' ); + $defaults['base'] = $base; + } else { + $search_permastruct = $wp_rewrite->get_search_permastruct(); + if ( ! empty( $search_permastruct ) ) { + $base = get_search_link(); + $base = add_query_arg( 'paged', '%#%', $base ); + $defaults['base'] = $base; + } + } + } + + /* Merge the arguments input with the defaults. */ + $args = wp_parse_args( $args, $defaults ); + + /* Allow developers to overwrite the arguments with a filter. */ + $args = apply_filters( 'woo_pagination_args', $args ); + + /* Don't allow the user to set this to an array. */ + if ( 'array' == $args['type'] ) + $args['type'] = 'plain'; + + /* Make sure raw querystrings are displayed at the end of the URL, if using pretty permalinks. */ + $pattern = '/\?(.*?)\//i'; + + preg_match( $pattern, $args['base'], $raw_querystring ); + + if( $wp_rewrite->using_permalinks() && $raw_querystring ) + $raw_querystring[0] = str_replace( '', '', $raw_querystring[0] ); + @$args['base'] = str_replace( $raw_querystring[0], '', $args['base'] ); + @$args['base'] .= substr( $raw_querystring[0], 0, -1 ); + + /* Get the paginated links. */ + $page_links = paginate_links( $args ); + + /* Remove 'page/1' from the entire output since it's not needed. */ + $page_links = str_replace( array( '&paged=1\'', '/page/1\'' ), '\'', $page_links ); + + /* Wrap the paginated links with the $before and $after elements. */ + $page_links = $args['before'] . $page_links . $args['after']; + + /* Allow devs to completely overwrite the output. */ + $page_links = apply_filters( 'woo_pagination', $page_links ); + + do_action( 'woo_pagination_end' ); + + /* Return the paginated links for use in themes. */ + if ( $args['echo'] ) + echo $page_links; + else + return $page_links; + } // End woo_pagination() +} // End IF Statement + +/*-----------------------------------------------------------------------------------*/ +/* woo_breadcrumbs() - Custom breadcrumb generator function */ +/* +/* Params: +/* +/* Arguments Array: +/* +/* 'separator' - The character to display between the breadcrumbs. +/* 'before' - HTML to display before the breadcrumbs. +/* 'after' - HTML to display after the breadcrumbs. +/* 'front_page' - Include the front page at the beginning of the breadcrumbs. +/* 'show_home' - If $show_home is set and we're not on the front page of the site, link to the home page. +/* 'echo' - Specify whether or not to echo the breadcrumbs. Alternative is "return". +/* 'show_posts_page' - If a static front page is set and there is a posts page, toggle whether or not to display that page's tree. +/* +/*-----------------------------------------------------------------------------------*/ +/** + * The code below is inspired by Justin Tadlock's Hybrid Core. + * + * woo_breadcrumbs() shows a breadcrumb for all types of pages. Themes and plugins can filter $args or input directly. + * Allow filtering of only the $args using get_the_breadcrumb_args. + * + * @since 3.7.0 + * @param array $args Mixed arguments for the menu. + * @return string Output of the breadcrumb menu. + */ +function woo_breadcrumbs( $args = array() ) { + global $wp_query, $wp_rewrite; + + /* Create an empty variable for the breadcrumb. */ + $breadcrumb = ''; + + /* Create an empty array for the trail. */ + $trail = array(); + $path = ''; + + /* Set up the default arguments for the breadcrumb. */ + $defaults = array( + 'separator' => '›', + 'before' => '' . __( 'You are here:', 'woothemes' ) . '', + 'after' => false, + 'front_page' => true, + 'show_home' => __( 'Home', 'woothemes' ), + 'echo' => true, + 'show_posts_page' => true, + 'show_only_first_taxonomy_tree' => false + ); + + /* Allow singular post views to have a taxonomy's terms prefixing the trail. */ + if ( is_singular() ) { + $defaults["singular_{$wp_query->post->post_type}_taxonomy"] = false; + } + + /* Apply filters to the arguments. */ + $args = apply_filters( 'woo_breadcrumbs_args', $args ); + + /* Parse the arguments and extract them for easy variable naming. */ + extract( wp_parse_args( $args, $defaults ) ); + + /* If $show_home is set and we're not on the front page of the site, link to the home page. */ + if ( !is_front_page() && $show_home ) + $trail[] = '' . esc_html( $show_home ) . ''; + + /* If viewing the front page of the site. */ + if ( is_front_page() ) { + if ( !$front_page ) + $trail = false; + elseif ( $show_home ) + $trail['trail_end'] = "{$show_home}"; + } + + /* If viewing the "home"/posts page. */ + elseif ( is_home() ) { + $home_page = get_page( $wp_query->get_queried_object_id() ); + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( $home_page->post_parent, '' ) ); + $trail['trail_end'] = get_the_title( $home_page->ID ); + } + + /* If viewing a singular post (page, attachment, etc.). */ + elseif ( is_singular() ) { + + /* Get singular post variables needed. */ + $post = $wp_query->get_queried_object(); + $post_id = absint( $wp_query->get_queried_object_id() ); + $post_type = $post->post_type; + $parent = $post->post_parent; + $post_type_object = get_post_type_object( $post_type ); + + /* If an attachment, check if there are any pages in its hierarchy based on the slug. */ + if ( 'attachment' == $post_type ) { + /* If $front has been set, add it to the $path. */ + if ( ( $post_type_object->rewrite['with_front'] && $wp_rewrite->front ) ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If there's a slug, add it to the $path. */ + if ( !empty( $post_type_object->rewrite['slug'] ) ) + $path .= $post_type_object->rewrite['slug']; + + /* If there's a path, check for parents. */ + if ( !empty( $path ) && '/' != $path ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + } + + /* If there's an archive page, add it to the trail. */ + if ( ! empty( $post_type_object->has_archive ) ) + $trail['post_type_archive_link'] = '' . esc_html( $post_type_object->labels->name ) . ''; + + /* If the post type path returns nothing and there is a parent, get its parents. */ + if ( empty( $path ) && 0 !== $parent || 'attachment' == $post_type ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( $parent, '' ) ); + + /* Toggle the display of the posts page on single blog posts. */ + if ( 'post' == $post_type && $show_posts_page == true && 'page' == get_option( 'show_on_front' ) ) { + $posts_page = get_option( 'page_for_posts' ); + if ( $posts_page != '' && is_numeric( $posts_page ) ) { + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( $posts_page, '' ) ); + } + } + + /* Display terms for specific post type taxonomy if requested. */ + if ( isset( $args["singular_{$post_type}_taxonomy"] ) ) { + $raw_terms = get_the_terms( $post_id, $args["singular_{$post_type}_taxonomy"] ); + + if ( is_array( $raw_terms ) && 0 < count( $raw_terms ) && ! is_wp_error( $raw_terms ) ) { + $links = array(); + $count = 0; + + $sorted = $raw_terms; + + $terms_by_ancestor = array(); + foreach ( $raw_terms as $k => $v ) { + $ancestors = array_reverse( get_ancestors( $v->term_id, $args["singular_{$post_type}_taxonomy"] ) ); + if ( isset( $ancestors[0] ) ) { + $key = $ancestors[0]; + } else { + $key = $v->term_id; + } + $terms_by_ancestor[$key][$v->term_id] = get_term_by( 'term_id', $v->term_id, $args["singular_{$post_type}_taxonomy"] ); + } + + if ( 0 < count( $terms_by_ancestor ) ) { + $sorted = array(); + foreach ( $terms_by_ancestor as $k => $v ) { + if ( 0 < count( $v ) ) { + foreach ( $v as $i => $j ) { + $sorted[$i] = $j; + } + } + } + foreach ( $sorted as $k => $v ) { + if ( isset( $sorted[$v->parent] ) ) { + unset( $sorted[$v->parent] ); + } + } + } + + foreach ( $sorted as $k => $v ) { + $count++; + if ( isset( $args['show_only_first_taxonomy_tree'] ) && true == (bool)$args['show_only_first_taxonomy_tree'] && 1 < $count ) continue; // Display only the first match. + $parents = woo_get_term_parents( $v->term_id, $args["singular_{$post_type}_taxonomy"], true, '|-|', $v->name, array() ); + if ( $parents != '' && ! is_wp_error( $parents ) ) { + $parents_arr = explode( '|-|', $parents ); + foreach ( $parents_arr as $p ) { + if ( $p != '' && ! in_array( $p, $links ) ) { $links[] = $p; } + } + } + } + + if ( 0 < count( $links ) ) { + foreach ( $links as $k => $v ) { + $trail[] = $v; + } + } + } + } + + /* End with the post title. */ + $post_title = get_the_title( $post_id ); // Force the post_id to make sure we get the correct page title. + if ( !empty( $post_title ) ) + $trail['trail_end'] = $post_title; + } + + /* If we're viewing any type of archive. */ + elseif ( is_archive() ) { + + /* If viewing a taxonomy term archive. */ + if ( is_tax() || is_category() || is_tag() ) { + + /* Get some taxonomy and term variables. */ + $term = $wp_query->get_queried_object(); + $taxonomy = get_taxonomy( $term->taxonomy ); + + /* Get the path to the term archive. Use this to determine if a page is present with it. */ + if ( is_category() ) + $path = get_option( 'category_base' ); + elseif ( is_tag() ) + $path = get_option( 'tag_base' ); + else { + if ( $taxonomy->rewrite['with_front'] && $wp_rewrite->front ) + $path = trailingslashit( $wp_rewrite->front ); + $path .= $taxonomy->rewrite['slug']; + } + + /* Get parent pages by path if they exist. */ + if ( $path ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* If the taxonomy is hierarchical, list its parent terms. */ + if ( is_taxonomy_hierarchical( $term->taxonomy ) && $term->parent ) + $trail = array_merge( $trail, woo_breadcrumbs_get_term_parents( $term->parent, $term->taxonomy ) ); + + /* Add the term name to the trail end. */ + $trail['trail_end'] = $term->name; + } + + /* If viewing a post type archive. */ + elseif ( is_post_type_archive() ) { + + /* Get the post type object. */ + $post_type_object = get_post_type_object( get_query_var( 'post_type' ) ); + + /* If $front has been set, add it to the $path. */ + if ( $post_type_object->rewrite['with_front'] && $wp_rewrite->front ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If there's a slug, add it to the $path. */ + if ( !empty( $post_type_object->rewrite['archive'] ) ) + $path .= $post_type_object->rewrite['archive']; + + /* If there's a path, check for parents. */ + if ( !empty( $path ) && '/' != $path ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* Add the post type [plural] name to the trail end. */ + $trail['trail_end'] = $post_type_object->labels->name; + } + + /* If viewing an author archive. */ + elseif ( is_author() ) { + /* If $front has been set, add it to $path. */ + if ( !empty( $wp_rewrite->front ) ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If an $author_base exists, add it to $path. */ + if ( !empty( $wp_rewrite->author_base ) ) + $path .= $wp_rewrite->author_base; + + /* If $path exists, check for parent pages. */ + if ( !empty( $path ) ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* Add the author's display name to the trail end. */ + $trail['trail_end'] = get_the_author_meta( 'display_name', get_query_var( 'author' ) ); + } + + /* If viewing a time-based archive. */ + elseif ( is_time() ) { + if ( get_query_var( 'minute' ) && get_query_var( 'hour' ) ) + $trail['trail_end'] = get_the_time( __( 'g:i a', 'woothemes' ) ); + + elseif ( get_query_var( 'minute' ) ) + $trail['trail_end'] = sprintf( __( 'Minute %1$s', 'woothemes' ), get_the_time( __( 'i', 'woothemes' ) ) ); + + elseif ( get_query_var( 'hour' ) ) + $trail['trail_end'] = get_the_time( __( 'g a', 'woothemes' ) ); + } + + /* If viewing a date-based archive. */ + elseif ( is_date() ) { + /* If $front has been set, check for parent pages. */ + if ( $wp_rewrite->front ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $wp_rewrite->front ) ); + + if ( is_day() ) { + $trail[] = '' . get_the_time( __( 'Y', 'woothemes' ) ) . ''; + $trail[] = '' . get_the_time( __( 'F', 'woothemes' ) ) . ''; + $trail['trail_end'] = get_the_time( __( 'j', 'woothemes' ) ); + } + + elseif ( get_query_var( 'w' ) ) { + $trail[] = '' . get_the_time( __( 'Y', 'woothemes' ) ) . ''; + $trail['trail_end'] = sprintf( __( 'Week %1$s', 'woothemes' ), get_the_time( esc_attr__( 'W', 'woothemes' ) ) ); + } + + elseif ( is_month() ) { + $trail[] = '' . get_the_time( __( 'Y', 'woothemes' ) ) . ''; + $trail['trail_end'] = get_the_time( __( 'F', 'woothemes' ) ); + } + + elseif ( is_year() ) { + $trail['trail_end'] = get_the_time( __( 'Y', 'woothemes' ) ); + } + } + } + + /* If viewing search results. */ + elseif ( is_search() ) + $trail['trail_end'] = sprintf( __( 'Search results for "%1$s"', 'woothemes' ), esc_attr( get_search_query() ) ); + + /* If viewing a 404 error page. */ + elseif ( is_404() ) + $trail['trail_end'] = __( '404 Not Found', 'woothemes' ); + + /* Allow child themes/plugins to filter the trail array. */ + $trail = apply_filters( 'woo_breadcrumbs_trail', $trail, $args ); + + /* Connect the breadcrumb trail if there are items in the trail. */ + if ( is_array( $trail ) ) { + + /* Open the breadcrumb trail containers. */ + $breadcrumb = ''; + } + + /* Allow developers to filter the breadcrumb trail HTML. */ + $breadcrumb = apply_filters( 'woo_breadcrumbs', $breadcrumb ); + + /* Output the breadcrumb. */ + if ( $echo ) + echo $breadcrumb; + else + return $breadcrumb; +} // End woo_breadcrumbs() + +if ( ! function_exists( 'wf_set_default_breadcrumb_taxonomies' ) ) { +/** + * Cater for WooThemes post types where we know the taxonomy. These should be done in each plugin, in future. + * @since 6.0.0 + * @param array $args Arguments. + * @return array Arguments. + */ +function wf_set_default_breadcrumb_taxonomies ( $args ) { + $post_types = get_post_types( array( 'public' => true ) ); + if ( 0 < count( $post_types ) ) { + foreach ( $post_types as $k => $v ) { + $taxonomies = get_taxonomies( array( 'object_type' => array( $k ), 'public' => true ) ); + $post_types[$k] = ''; + // Choose the first taxonomy, if one is present. + if ( 0 < count( $taxonomies ) ) { + foreach ( $taxonomies as $i => $j ) { + if ( '' != $post_types[$k] ) continue; + $post_types[$k] = $j; + } + } + + if ( '' != $post_types[$k] && ! isset( $args['singular_' . $k . '_taxonomy'] ) && is_singular() && ( $k == get_post_type() ) ) { + $args['singular_' . $k . '_taxonomy'] = $post_types[$k]; + } + } + } + + return $args; +} // End wf_set_default_breadcrumb_taxonomies() +} +add_filter( 'woo_breadcrumbs_args', 'wf_set_default_breadcrumb_taxonomies' ); + +if ( ! function_exists( 'wf_maybe_add_shop_page_link' ) ) { +/** + * If WooCommerce is present, and we've got a post_type_archive_link, replace it with the shop page. + * @since 6.0.0 + * @param array $trail The breadcrumb trail array. + * @return array The modified breadcrumb trail array. + */ +function wf_maybe_add_shop_page_link ( $trail ) { + if ( is_singular() && 'product' == get_post_type() && function_exists( 'wc_get_page_id' ) ) { + $permalinks = get_option( 'woocommerce_permalinks' ); + $shop_page_id = wc_get_page_id( 'shop' ); + $shop_page = get_post( $shop_page_id ); + + // If permalinks contain the shop page in the URI prepend the breadcrumb with shop + if ( isset( $trail['post_type_archive_link'] ) ) { + if ( $shop_page_id && $shop_page && strstr( $permalinks['product_base'], '/' . $shop_page->post_name ) && get_option( 'page_on_front' ) !== $shop_page_id ) { + $trail['post_type_archive_link'] = '' . esc_html( $shop_page->post_title ) . ''; + } else { + if ( true == (bool)apply_filters( 'wf_hide_product_post_type_archive_link', false ) ) { + unset( $trail['post_type_archive_link'] ); + } + } + } + } + return $trail; +} // End wf_set_default_breadcrumb_taxonomies() +} +add_filter( 'woo_breadcrumbs_trail', 'wf_maybe_add_shop_page_link' ); + +/*-----------------------------------------------------------------------------------*/ +/* woo_breadcrumbs_get_parents() - Retrieve the parents of the current page/post */ +/*-----------------------------------------------------------------------------------*/ +/** + * Gets parent pages of any post type or taxonomy by the ID or Path. The goal of this function is to create + * a clear path back to home given what would normally be a "ghost" directory. If any page matches the given + * path, it'll be added. But, it's also just a way to check for a hierarchy with hierarchical post types. + * + * @since 3.7.0 + * @param int $post_id ID of the post whose parents we want. + * @param string $path Path of a potential parent page. + * @return array $trail Array of parent page links. + */ +function woo_breadcrumbs_get_parents( $post_id = '', $path = '' ) { + /* Set up an empty trail array. */ + $trail = array(); + + /* If neither a post ID nor path set, return an empty array. */ + if ( empty( $post_id ) && empty( $path ) ) + return $trail; + + /* If the post ID is empty, use the path to get the ID. */ + if ( empty( $post_id ) ) { + + /* Get parent post by the path. */ + $parent_page = get_page_by_path( $path ); + + /* ******************************************************************** + Modification: The above line won't get the parent page if + the post type slug or parent page path is not the full path as required + by get_page_by_path. By using get_page_with_title, the full parent + trail can be obtained. This may still be buggy for page names that use + characters or long concatenated names. + Author: Byron Rode + Date: 06 June 2011 + ******************************************************************* */ + + if( empty( $parent_page ) ) + // search on page name (single word) + $parent_page = get_page_by_title ( $path ); + + if( empty( $parent_page ) ) + // search on page title (multiple words) + $parent_page = get_page_by_title ( str_replace( array('-', '_'), ' ', $path ) ); + + /* End Modification */ + + /* If a parent post is found, set the $post_id variable to it. */ + if ( !empty( $parent_page ) ) + $post_id = $parent_page->ID; + } + + /* If a post ID and path is set, search for a post by the given path. */ + if ( $post_id == 0 && !empty( $path ) ) { + + /* Separate post names into separate paths by '/'. */ + $path = trim( $path, '/' ); + preg_match_all( "/\/.*?\z/", $path, $matches ); + + /* If matches are found for the path. */ + if ( isset( $matches ) ) { + + /* Reverse the array of matches to search for posts in the proper order. */ + $matches = array_reverse( $matches ); + + /* Loop through each of the path matches. */ + foreach ( $matches as $match ) { + + /* If a match is found. */ + if ( isset( $match[0] ) ) { + + /* Get the parent post by the given path. */ + $path = str_replace( $match[0], '', $path ); + $parent_page = get_page_by_path( trim( $path, '/' ) ); + + /* If a parent post is found, set the $post_id and break out of the loop. */ + if ( !empty( $parent_page ) && $parent_page->ID > 0 ) { + $post_id = $parent_page->ID; + break; + } + } + } + } + } + + /* While there's a post ID, add the post link to the $parents array. */ + while ( $post_id ) { + /* Get the post by ID. */ + $page = get_page( $post_id ); + + /* Add the formatted post link to the array of parents. */ + $parents[] = '' . esc_html( get_the_title( $post_id ) ) . ''; + + /* Set the parent post's parent to the post ID. */ + $post_id = $page->post_parent; + } + + /* If we have parent posts, reverse the array to put them in the proper order for the trail. */ + if ( isset( $parents ) ) + $trail = array_reverse( $parents ); + + /* Return the trail of parent posts. */ + return $trail; +} // End woo_breadcrumbs_get_parents() + +/*-----------------------------------------------------------------------------------*/ +/* woo_breadcrumbs_get_term_parents() - Retrieve the parents of the current term */ +/*-----------------------------------------------------------------------------------*/ +/** + * Searches for term parents of hierarchical taxonomies. This function is similar to the WordPress + * function get_category_parents() but handles any type of taxonomy. + * + * @since 3.7.0 + * @param int $parent_id The ID of the first parent. + * @param object|string $taxonomy The taxonomy of the term whose parents we want. + * @return array $trail Array of links to parent terms. + */ +function woo_breadcrumbs_get_term_parents( $parent_id = '', $taxonomy = '' ) { + /* Set up some default arrays. */ + $trail = array(); + $parents = array(); + + /* If no term parent ID or taxonomy is given, return an empty array. */ + if ( empty( $parent_id ) || empty( $taxonomy ) ) + return $trail; + + /* While there is a parent ID, add the parent term link to the $parents array. */ + while ( $parent_id ) { + + /* Get the parent term. */ + $parent = get_term( $parent_id, $taxonomy ); + + /* Add the formatted term link to the array of parent terms. */ + $parents[] = '' . $parent->name . ''; + + /* Set the parent term's parent as the parent ID. */ + $parent_id = $parent->parent; + } + + /* If we have parent terms, reverse the array to put them in the proper order for the trail. */ + if ( !empty( $parents ) ) + $trail = array_reverse( $parents ); + + /* Return the trail of parent terms. */ + return $trail; +} // End woo_breadcrumbs_get_term_parents() + +/** + * Retrieve term parents with separator. + * + * @param int $id Term ID. + * @param string $taxonomy. + * @param bool $link Optional, default is false. Whether to format with link. + * @param string $separator Optional, default is '/'. How to separate terms. + * @param bool $nicename Optional, default is false. Whether to use nice name for display. + * @param array $visited Optional. Already linked to terms to prevent duplicates. + * @return string + */ + +if ( ! function_exists( 'woo_get_term_parents' ) ) { +function woo_get_term_parents( $id, $taxonomy, $link = false, $separator = '/', $nicename = false, $visited = array() ) { + $chain = ''; + $parent = get_term( $id, $taxonomy ); + if ( is_wp_error( $parent ) ) + return $parent; + + if ( $nicename ) { + $name = $parent->slug; + } else { + $name = $parent->name; + } + + if ( $parent->parent && ( $parent->parent != $parent->term_id ) && !in_array( $parent->parent, $visited ) ) { + $visited[] = $parent->parent; + $chain .= woo_get_term_parents( $parent->parent, $taxonomy, $link, $separator, $nicename, $visited ); + } + + if ( $link ) { + $chain .= '' . esc_html( $parent->name ) . '' . $separator; + } else { + $chain .= $name.$separator; + } + return $chain; +} // End woo_get_term_parents() +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_prepare_category_ids_from_option() + * + * Setup an array of category IDs, from a given theme option. + * Attempt to transform category slugs into ID values as well. + * + * Params: String $option + * Return: Array $cats +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_prepare_category_ids_from_option' ) ) { + function woo_prepare_category_ids_from_option ( $option ) { + $cats = array(); + + $stored_cats = get_option( $option ); + + $cats_raw = explode( ',', $stored_cats ); + + if ( is_array( $cats_raw ) && ( count( $cats_raw ) > 0 ) ) { + foreach ( $cats_raw as $k => $v ) { + $value = trim( $v ); + + if ( is_numeric( $value ) ) { + $cats_raw[$k] = $value; + } else { + $cat_obj = get_category_by_slug( $value ); + if ( isset( $cat_obj->term_id ) ) { + $cats_raw[$k] = $cat_obj->term_id; + } + } + + $cats = $cats_raw; + } + } + + return $cats; + } // End woo_prepare_category_ids_from_option() +} + +/*-----------------------------------------------------------------------------------*/ +/* Move tracking code from footer to header */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'init', 'woo_move_tracking_code', 20 ); + +function woo_move_tracking_code () { + $move_code = get_option( 'framework_woo_move_tracking_code' ); + + if ( ! is_admin() && isset( $move_code ) && ( $move_code == 'true' ) ) { + remove_action( 'wp_footer', 'woo_analytics' ); + add_action( 'wp_head', 'woo_analytics', 10 ); + } +} // End woo_move_tracking_code() + + +/*-----------------------------------------------------------------------------------*/ +/* woo_get_dynamic_value() */ +/* Replace values in a provided array with theme options, if available. */ +/* +/* $settings array should resemble: $settings = array( 'theme_option_without_woo_' => 'default_value' ); +/* +/* @since 4.4.4 */ +/*-----------------------------------------------------------------------------------*/ + +function woo_get_dynamic_values ( $settings ) { + $all = WF()->settings->get_all(); + if ( is_array( $all ) && 0 < count( $all ) ) { + foreach ( $settings as $k => $v ) { + $k = str_replace( 'woo_', '', $k ); // Make sure we remove the prefix. + if ( isset( $all['woo_' . $k] ) ) { $settings[$k] = $all['woo_' . $k]; } + } + } + + return (array)apply_filters( 'woo_get_dynamic_values', $settings ); +} // End woo_get_dynamic_values() + +/*-----------------------------------------------------------------------------------*/ +/* woo_get_posts_by_taxonomy() +/* +/* Selects posts based on specified taxonomies. +/* +/* @since 4.5.0 +/* @param array $args +/* @return array $posts +/*-----------------------------------------------------------------------------------*/ + + function woo_get_posts_by_taxonomy ( $args = null ) { + global $wp_query; + + $posts = array(); + + /* Parse arguments, and declare individual variables for each. */ + + $defaults = array( + 'limit' => 5, + 'post_type' => 'any', + 'taxonomies' => 'post_tag, category', + 'specific_terms' => '', + 'relationship' => 'OR', + 'order' => 'DESC', + 'orderby' => 'date', + 'operator' => 'IN', + 'exclude' => '' + ); + + $args = wp_parse_args( $args, $defaults ); + + extract( $args, EXTR_SKIP ); + + // Make sure the order value is safe. + if ( ! in_array( $order, array( 'ASC', 'DESC' ) ) ) { $order = $defaults['order']; } + + // Make sure the orderby value is safe. + if ( ! in_array( $orderby, array( 'none', 'id', 'author', 'title', 'date', 'modified', 'parent', 'rand', 'comment_count', 'menu_order' ) ) ) { $orderby = $defaults['orderby']; } + + // Make sure the operator value is safe. + if ( ! in_array( $operator, array( 'IN', 'NOT IN', 'AND' ) ) ) { $orderby = $defaults['operator']; } + + // Convert our post types to an array. + if ( ! is_array( $post_type ) ) { $post_type = explode( ',', $post_type ); } + + // Convert our taxonomies to an array. + if ( ! is_array( $taxonomies ) ) { $taxonomies = explode( ',', $taxonomies ); } + + // Convert exclude to an array. + if ( ! is_array( $exclude ) && ( $exclude != '' ) ) { $exclude = explode( ',', $exclude ); } + + if ( ! count( (array)$taxonomies ) ) { return; } + + // Clean up our taxonomies for use in the query. + if ( count( $taxonomies ) ) { + foreach ( $taxonomies as $k => $v ) { + $taxonomies[$k] = trim( $v ); + } + } + + // Determine which terms we're going to relate to this entry. + $related_terms = array(); + + foreach ( $taxonomies as $t ) { + $terms = get_terms( $t, 'orderby=id&hide_empty=1' ); + + if ( ! empty( $terms ) ) { + foreach ( $terms as $k => $v ) { + $related_terms[$t][$v->term_id] = $v->slug; + } + } + } + + // If specific terms are available, use those. + if ( ! is_array( $specific_terms ) ) { $specific_terms = explode( ',', $specific_terms ); } + + if ( count( $specific_terms ) ) { + foreach ( $specific_terms as $k => $v ) { + $specific_terms[$k] = trim( $v ); + } + } + + // Look for posts with the same terms. + + // Setup query arguments. + $query_args = array(); + + if ( $post_type ) { $query_args['post_type'] = $post_type; } + + if ( $limit ) { + $query_args['posts_per_page'] = $limit; + // $query_args['nopaging'] = true; + } + + // Setup specific posts to exclude. + if ( count( $exclude ) > 0 ) { + $query_args['post__not_in'] = $exclude; + } + + $query_args['order'] = $order; + $query_args['orderby'] = $orderby; + + $query_args['tax_query'] = array(); + + // Setup for multiple taxonomies. + + if ( count( $related_terms ) > 1 ) { + $query_args['tax_query']['relation'] = $args['relationship']; + } + + // Add the taxonomies to the query arguments. + + foreach ( (array)$related_terms as $k => $v ) { + $terms_for_search = array_values( $v ); + + if ( count( $specific_terms ) ) { + $specific_terms_by_tax = array(); + + foreach ( $specific_terms as $i => $j ) { + if ( in_array( $j, array_values( $v ) ) ) { + $specific_terms_by_tax[] = $j; + } + } + + if ( count( $specific_terms_by_tax ) ) { + $terms_for_search = $specific_terms_by_tax; + } + } + + $query_args['tax_query'][] = array( + 'taxonomy' => $k, + 'field' => 'slug', + 'terms' => $terms_for_search, + 'operator' => $operator + ); + } + + if ( empty( $query_args['tax_query'] ) ) { return; } + + $query_saved = $wp_query; + + $query = new WP_Query( $query_args ); + + if ( $query->have_posts() ) { + while( $query->have_posts() ) { + $query->the_post(); + + $posts[] = $query->post; + } + } + + $query = $query_saved; + + wp_reset_query(); + + return $posts; + } // End woo_get_posts_by_taxonomy() + +/*-----------------------------------------------------------------------------------*/ +/* If the user has specified a "posts page", load the "Blog" page template there */ +/*-----------------------------------------------------------------------------------*/ + +add_filter( 'template_include', 'woo_load_posts_page_blog_template', 10 ); + +if ( ! function_exists( 'woo_load_posts_page_blog_template' ) ) { + function woo_load_posts_page_blog_template ( $template ) { + if ( 'page' == get_option( 'show_on_front' ) && ( '' != get_option( 'page_for_posts' ) ) && is_home() ) { + $tpl = locate_template( array( 'template-blog.php' ) ); + if ( $tpl != '' ) { $template = $tpl; } + } + return $template; + } // End woo_load_posts_page_blog_template() +} + +/*-----------------------------------------------------------------------------------*/ +/* THE END */ +/*-----------------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------------*/ +/* WooDojo Download Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'install_plugins' ) && ! class_exists( 'WooDojo' ) ) { + add_action( 'wooframework_container_inside', 'wooframework_add_woodojo_banner' ); +} + +add_action( 'wp_ajax_wooframework_banner_close', 'wooframework_ajax_banner_close' ); + +/** + * Add a WooDojo banner on the Theme Options screen. + * @since 5.3.4 + * @return void + */ +function wooframework_add_woodojo_banner () { + if ( get_user_setting( 'wooframeworkhidebannerwoodojo', '0' ) == '1' ) { return; } + + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=woodojo' ), 'wooframework_banner_close' ); + $html = ''; + + $html .= '
    ' . "\n"; + $html .= '' . __( 'Enhance your theme with WooDojo.', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'WooDojo is a powerful WooThemes features suite for enhancing your website. Learn more.', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'Get WooDojo', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
    ' . "\n"; + + echo $html; +} // End wooframework_add_woodojo_banner() + +/** + * wooframework_ajax_banner_close function. + * + * @access public + * @since 1.0.0 + */ +function wooframework_ajax_banner_close () { + if( ! current_user_can( 'install_plugins' ) ) wp_die( __( 'You do not have sufficient permissions to access this page.', 'woothemes' ) ); + + if( ! check_admin_referer( 'wooframework_banner_close' ) ) wp_die( __( 'You have taken too long. Please go back and retry.', 'woothemes' ) ); + + $banner = ( isset( $_GET['banner'] ) ) ? $_GET['banner'] : ''; + + if( ! $banner ) die; + + // Run the update. + $response = set_user_setting( 'wooframeworkhidebanner' . $banner, '1' ); + + $sendback = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'ids' ), wp_get_referer() ); + wp_safe_redirect( $sendback ); + exit; +} // End toggle_notifications_status() + +/*-----------------------------------------------------------------------------------*/ +/* Timthumb Detection Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'install_plugins' ) ) { + add_action( 'wooframework_wooframeworksettings_container_inside', 'wooframework_add_wootimthumb_banner' ); + add_action( 'wooframework_container_inside', 'wooframework_add_wootimthumb_banner' ); +} + +/** + * Add a Timthumb Detection banner on all WooThemes Options screens. + * @since 5.4.0 + * @return void + */ +function wooframework_add_wootimthumb_banner () { + if ( get_user_setting( 'wooframeworkhidebannerwootimthumb', '0' ) == '1' ) { return; } + + // Test for old timthumb scripts + $thumb_php_test = file_exists( get_template_directory() . '/thumb.php' ); + $timthumb_php_test = file_exists( get_template_directory() . '/timthumb.php' ); + + if ( $thumb_php_test || $timthumb_php_test ) { + $theme_dir = str_replace( WP_CONTENT_DIR, '', get_template_directory() ); + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=wootimthumb' ), 'wooframework_banner_close' ); + $html = ''; + + $html .= '
    ' . "\n"; + $html .= '' . __( 'ATTENTION: Insecure Version of Timthumb Image Resize Script Detected', 'woothemes' ) . '' . "\n"; + $html .= '' . __( "A possible old version of the TimThumb script was detected in your theme folder. Please remove the following files from your theme as a security precaution", 'woothemes' ) . ':' . "\n"; + if ( $thumb_php_test ) { $html .= '- thumb.php ( found at ' . $theme_dir . '/thumb.php' . ' )' . "\n"; } + if ( $timthumb_php_test ) { $html .= '- timthumb.php ( found at ' . $theme_dir . '/timthumb.php' . ' )' . "\n"; } + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
    ' . "\n"; + + echo $html; + } else { + return; + } + +} // End wooframework_add_wootimthumb_banner() + +/*-----------------------------------------------------------------------------------*/ +/* Static Front Page Detection Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'manage_options' ) && ( 0 < intval( get_option( 'page_on_front' ) ) ) ) { + add_action( 'wooframework_container_inside', 'wooframework_add_static_front_page_banner' ); +} + +/** + * Add a Static Front Page Detection banner on all WooThemes Options screens. + * @since 5.5.2 + * @return void + */ +function wooframework_add_static_front_page_banner () { + if ( get_user_setting( 'wooframeworkhidebannerstaticfrontpage', '0' ) == '1' ) { return; } + $theme_data = wooframework_get_theme_version_data(); + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=staticfrontpage' ), 'wooframework_banner_close' ); + $html = ''; + $html .= '
    ' . "\n"; + $html .= '' . sprintf( __( 'You have setup a static front page in %1$sSettings > Reading%2$s. Please set it to show "Your latest posts" if you want to display the default homepage in %3$s.', 'woothemes' ), '', '', $theme_data['theme_name'], '', '' ) . '' . "\n"; + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
    ' . "\n"; + + echo $html; +} // End wooframework_add_static_front_page_banner() + +/** + * Get the version data for the currently active theme. + * @since 5.4.2 + * @return array [theme_version, theme_name, framework_version, is_child, child_theme_version, child_theme_name] + */ +if ( ! function_exists( 'wooframework_get_theme_version_data' ) ) { +function wooframework_get_theme_version_data () { + $response = array( + 'theme_version' => '', + 'theme_name' => '', + 'framework_version' => get_option( 'woo_framework_version' ), + 'is_child' => is_child_theme(), + 'child_theme_version' => '', + 'child_theme_name' => '' + ); + + if ( function_exists( 'wp_get_theme' ) ) { + $theme_data = wp_get_theme(); + if ( true == $response['is_child'] ) { + $response['theme_version'] = $theme_data->parent()->Version; + $response['theme_name'] = $theme_data->parent()->Name; + + $response['child_theme_version'] = $theme_data->Version; + $response['child_theme_name'] = $theme_data->Name; + } else { + $response['theme_version'] = $theme_data->Version; + $response['theme_name'] = $theme_data->Name; + } + } else { + $theme_data = get_theme_data( get_template_directory() . '/style.css' ); + $response['theme_version'] = $theme_data['Version']; + $response['theme_name'] = $theme_data['Name']; + + if ( true == $response['is_child'] ) { + $theme_data = get_theme_data( get_stylesheet_directory() . '/style.css' ); + $response['child_theme_version'] = $theme_data['Version']; + $response['child_theme_name'] = $theme_data['Name']; + } + } + + return $response; +} // End wooframework_get_theme_version_data() +} + +if ( ! function_exists( 'wooframework_display_theme_version_data' ) ) { +/** + * Display the version data for the currently active theme. + * @since 5.4.2 + * @return void + */ +function wooframework_display_theme_version_data ( $echo = true ) { + $data = wooframework_get_theme_version_data(); + $html = ''; + + // Theme Version + if ( true == $data['is_child'] ) { + $html .= '' . esc_html( $data['child_theme_name'] . ' ' . $data['child_theme_version'] ) . '' . "\n"; + $html .= '' . esc_html( $data['theme_name'] . ' ' . $data['theme_version'] ) . '' . "\n"; + } else { + $html .= '' . esc_html( $data['theme_name'] . ' ' . $data['theme_version'] ) . '' . "\n"; + } + + // Framework Version + $html .= '' . esc_html( sprintf( __( 'Framework %s', 'woothemes' ), $data['framework_version'] ) ) . '' . "\n"; + + if ( true == $echo ) { echo $html; } else { return $html; } +} // End wooframework_display_theme_version_data() +} + +if ( ! function_exists( 'wooframework_load_google_fonts' ) ) { +/** + * Load relevant Google Fonts for use in the "Custom Typography" shortcode. + * @since 5.5.5 + * @return void + */ +function wooframework_load_google_fonts() { + global $woo_used_google_fonts; + + if( $woo_used_google_fonts && is_array( $woo_used_google_fonts ) ) { + $fonts = ''; + $c = 0; + foreach( $woo_used_google_fonts as $font ) { + if( $c > 0 ) { + $fonts .= '|'; + } else { + ++$c; + } + $fonts .= $font; + } + + if( '' != $fonts ) { + woo_shortcode_typography_loadgooglefonts( $fonts , 'woo-used-google-fonts' ); + } + } +} // End wooframework_load_google_fonts() +} +add_action( 'wp_footer', 'wooframework_load_google_fonts' ); + +if ( ! function_exists( 'woo_trim_excerpt' ) ) { +/** + * A spin off of wp_trim_excerpt(), primarily used for additional control when removing the dropcap shortcode from excerpts. + * @since 6.0.0 + * @return void + */ +function woo_trim_excerpt ( $text ) { + $text = strip_shortcodes( $text ); + + /** This filter is documented in wp-includes/post-template.php */ + $text = apply_filters( 'the_content', $text ); + $text = str_replace(']]>', ']]>', $text); + + /** + * Filter the number of words in an excerpt. + * + * @since 2.7.0 + * + * @param int $number The number of words. Default 55. + */ + $excerpt_length = apply_filters( 'excerpt_length', 55 ); + /** + * Filter the string in the "more" link displayed after a trimmed excerpt. + * + * @since 2.9.0 + * + * @param string $more_string The string shown within the more link. + */ + $excerpt_more = apply_filters( 'excerpt_more', ' ' . '[…]' ); + $text = wp_trim_words( $text, $excerpt_length, $excerpt_more ); + + return $text; +} // End woo_trim_excerpt() +} +?> \ No newline at end of file diff --git a/mystile/functions/admin-hooks.php b/mystile/functions/admin-hooks.php new file mode 100755 index 0000000..e0f846e --- /dev/null +++ b/mystile/functions/admin-hooks.php @@ -0,0 +1,252 @@ +context has been set, don't run through the conditionals again. Just return the variable. */ + if ( is_object( $query_context ) && isset( $query_context->context ) && is_array( $query_context->context ) ) { + return $query_context->context; + } + + unset( $query_context ); + $query_context = new stdClass(); + $query_context->context = array(); + + /* Front page of the site. */ + if ( is_front_page() ) { + $query_context->context[] = 'home'; + } + + /* Blog page. */ + if ( is_home() && ! is_front_page() ) { + $query_context->context[] = 'blog'; + + /* Singular views. */ + } elseif ( is_singular() ) { + $query_context->context[] = 'singular'; + $query_context->context[] = "singular-{$wp_query->post->post_type}"; + + /* Page Templates. */ + if ( is_page_template() ) { + $to_skip = array( 'page', 'post' ); + + $page_template = basename( get_page_template() ); + $page_template = str_replace( '.php', '', $page_template ); + $page_template = str_replace( '.', '-', $page_template ); + + if ( $page_template && ! in_array( $page_template, $to_skip ) ) { + $query_context->context[] = $page_template; + } + } + + $query_context->context[] = "singular-{$wp_query->post->post_type}-{$wp_query->post->ID}"; + } + + /* Archive views. */ + elseif ( is_archive() ) { + $query_context->context[] = 'archive'; + + /* Taxonomy archives. */ + if ( is_tax() || is_category() || is_tag() ) { + $term = $wp_query->get_queried_object(); + $query_context->context[] = 'taxonomy'; + $query_context->context[] = $term->taxonomy; + $query_context->context[] = "{$term->taxonomy}-" . sanitize_html_class( $term->slug, $term->term_id ); + } + + /* User/author archives. */ + elseif ( is_author() ) { + $query_context->context[] = 'user'; + $query_context->context[] = 'user-' . sanitize_html_class( get_the_author_meta( 'user_nicename', get_query_var( 'author' ) ), $wp_query->get_queried_object_id() ); + } + + /* Time/Date archives. */ + else { + if ( is_date() ) { + $query_context->context[] = 'date'; + if ( is_year() ) + $query_context->context[] = 'year'; + if ( is_month() ) + $query_context->context[] = 'month'; + if ( get_query_var( 'w' ) ) + $query_context->context[] = 'week'; + if ( is_day() ) + $query_context->context[] = 'day'; + } + if ( is_time() ) { + $query_context->context[] = 'time'; + if ( get_query_var( 'hour' ) ) + $query_context->context[] = 'hour'; + if ( get_query_var( 'minute' ) ) + $query_context->context[] = 'minute'; + } + } + } + + /* Search results. */ + elseif ( is_search() ) { + $query_context->context[] = 'search'; + /* Error 404 pages. */ + } elseif ( is_404() ) { + $query_context->context[] = 'error-404'; + } + + return $query_context->context; +} // End woo_get_query_context() +} +?> \ No newline at end of file diff --git a/mystile/functions/admin-init.php b/mystile/functions/admin-init.php new file mode 100755 index 0000000..1fdc26f --- /dev/null +++ b/mystile/functions/admin-init.php @@ -0,0 +1,98 @@ +\n"; + if ( isset( $data['is_child'] ) && true == $data['is_child'] ) echo '' ."\n"; + echo '' ."\n"; + echo '' ."\n"; +} // End woo_version() + +/*-----------------------------------------------------------------------------------*/ +/* Load the required Framework Files */ +/*-----------------------------------------------------------------------------------*/ + +$functions_path = get_template_directory() . '/functions/'; +$classes_path = $functions_path . 'classes/'; + +if ( true == (bool)apply_filters( 'wf_load_deprecated_functions', true ) ) { + require_once( $functions_path . 'deprecated.php' ); // Load deprecated functionality. Can be disabled via a filter if the user doesn't wish to load these functions. + require_once( $functions_path . 'admin-medialibrary-uploader.php' ); // Framework Media Library Uploader Functions // 2010-11-05. +} +// Load core classes for the WooFramework. +require_once( $classes_path . 'class-wf.php' ); // WF core class. +require_once( $classes_path . 'class-wf-fields.php' ); // Form fields generator class. +require_once( $classes_path . 'class-wf-fields-settings.php' ); // Theme settings class. Extends WF_Fields. +require_once( $classes_path . 'class-wf-fields-meta.php' ); // Post meta fields class. Extends WF_Fields. +require_once( $classes_path . 'class-wf-settings.php' ); // A class to handle all basic settings interactions. +require_once( $classes_path . 'class-wf-meta.php' ); // Meta box generator class. + +/** + * Returns the main instance of WF to prevent the need to use globals. + * + * @since 1.0.0 + * @return object WF + */ +function WF() { + return WF::instance(); +} // End WF() + +// Run the WF() function to generate the initial instance. +WF(); + +// Load the other WooFramework files. +require_once( $functions_path . 'admin-functions.php' ); // Functions used in the WooFramework and in the theme files. +require_once( $functions_path . 'admin-setup.php' ); // Set up the WooFramework. +require_once( $functions_path . 'admin-interface.php' ); // Administration interfaces. +require_once( $functions_path . 'admin-seo.php' ); // SEO functions. +require_once( $functions_path . 'admin-sbm.php' ); // Widget Area functions. +require_once( $functions_path . 'admin-hooks.php' ); // Contextual hooks. + +if ( true == (bool)apply_filters( 'wf_enable_custom_nav', false ) ) { + require_once( $functions_path . 'admin-custom-nav.php' ); // Woo Custom Navigation +} + +require_once ( $functions_path . 'admin-shortcodes.php' ); // Woo Shortcodes + +// Load certain files only in the WordPress admin. +if ( is_admin() ) { + require_once( $classes_path . 'class-wf-screen-admin-base.php' ); // Base class for common functionality used on more technical admin screens. + require_once( $classes_path . 'class-wf-screen.php' ); // Admin screen class. + require_once( $classes_path . 'class-wf-screen-welcome.php' ); // Welcome screen class. + require_once( $classes_path . 'class-wf-screen-framework.php' ); // Framework screen class. + + require_once( $classes_path . 'class-wf-backup.php' ); // WF_Backup Class. + require_once( $functions_path . 'admin-backup.php' ); // Theme Options Backup // 2011-08-26. + require_once( $functions_path . 'admin-shortcode-generator.php' ); // Framework Shortcode generator // 2011-01-21. +} else { + // Add or remove Generator meta tags + if ( true == apply_filters( 'wf_disable_generator_tags', false ) ) { + remove_action( 'wp_head', 'wp_generator' ); + } else { + add_action( 'wp_head', 'woo_version', 10 ); + } +} +?> \ No newline at end of file diff --git a/mystile/functions/admin-interface.php b/mystile/functions/admin-interface.php new file mode 100755 index 0000000..1d842b1 --- /dev/null +++ b/mystile/functions/admin-interface.php @@ -0,0 +1,315 @@ +get_assets_url() . 'images/placeholder.png'; + } else { + return $url; + } +} // End wf_set_default_placeholder_image_url() + +/** + * Set the default placeholder image path to the default image provided within the WooFramework. + * @since 6.0.1 + * @param string $path The current empty placeholder image path. + * @return string The default placeholder image path. + */ +function wf_set_default_placeholder_image_path ( $path ) { + if ( '' == $path ) { + return WF()->get_assets_path() . 'images/placeholder.png'; + } else { + return $path; + } +} // End wf_set_default_placeholder_image_path() + +if ( true == (bool)apply_filters( 'wf_use_default_placeholder_image', false ) ) { + add_filter( 'wf_placeholder_image_url', 'wf_set_default_placeholder_image_url' ); + add_filter( 'wf_placeholder_image_path', 'wf_set_default_placeholder_image_path' ); +} + +/** + * Enqueue menu.css. + * Used to control the display of WooFramework menu items across the dashboard + * @since 6.0.0 + * @return void + */ +function wf_menu_styles() { + $token = 'woo'; + $wf_version = wf_get_version(); + + wp_register_style( $token . '-menu', esc_url( WF()->get_assets_url() . 'css/menu.css' ), array(), $wf_version ); + wp_enqueue_style( $token . '-menu' ); +} + +add_action( 'admin_enqueue_scripts', 'wf_menu_styles' ); + +/** + * Display a list of useful links within the WordPress admin. + * @since 6.0.0 + * @return void + */ +function wf_useful_links () { + $theme_data = wooframework_get_theme_version_data(); + do_action( 'wf_useful_links_before' ); + $theme_name = strtolower( $theme_data['theme_name'] ) ; + $docs_url = get_option( 'woo_manual', 'http://docs.woothemes.com/document/' . urlencode( sanitize_title( $theme_name ) ) ); + $html = '' . "\n"; + echo $html; + do_action( 'wf_useful_links_after' ); +} // End wf_useful_links() + +add_action( 'wf_screen_header_before_content_woothemes', 'wf_useful_links' ); +add_action( 'wf_screen_header_before_content_wf-framework', 'wf_useful_links' ); + +if ( ! function_exists( 'woo_update_options_filter' ) ) { + function woo_update_options_filter( $new_value, $old_value ) { + if ( !current_user_can( 'unfiltered_html' ) ) { + // Options that get KSES'd + foreach( woo_ksesed_option_keys() as $option ) { + $new_value[$option] = wp_kses_post( $new_value[$option] ); + } + // Options that cannot be set without unfiltered HTML + foreach( woo_disabled_if_not_unfiltered_html_option_keys() as $option ) { + $new_value[$option] = $old_value[$option]; + } + } + return $new_value; + } +} + +if ( ! function_exists( 'woo_prevent_option_update' ) ) { + function woo_prevent_option_update( $new_value, $old_value ) { + return $old_value; + } +} + +/** + * This is the list of options that are run through KSES on save for users without + * the unfiltered_html capability + */ +if ( ! function_exists( 'woo_ksesed_option_keys' ) ) { + function woo_ksesed_option_keys() { + return array(); + } +} + +/** + * This is the list of standalone options that are run through KSES on save for users without + * the unfiltered_html capability + */ +if ( ! function_exists( 'woo_ksesed_standalone_options' ) ) { + function woo_ksesed_standalone_options() { + return array( 'woo_footer_left_text', 'woo_footer_right_text', 'woo_connect_content' ); + } +} + +/** + * This is the list of options that users without the unfiltered_html capability + * are not able to update + */ +if ( ! function_exists( 'woo_disabled_if_not_unfiltered_html_option_keys' ) ) { + function woo_disabled_if_not_unfiltered_html_option_keys() { + return array( 'woo_google_analytics', 'woo_custom_css' ); + } +} + +add_filter( 'pre_update_option_woo_options', 'woo_update_options_filter', 10, 2 ); +foreach( woo_ksesed_standalone_options() as $o ) { + add_filter( 'pre_update_option_' . $o, 'wp_kses_post' ); +} +unset( $o ); + +if ( ! function_exists( 'woothemes_admin_menu_after' ) ) { +/** + * Load WooFramework menu items that should always appear last. + * @since 6.0.0 + * @return void + */ +function woothemes_admin_menu_after () { + global $current_user; + $current_user_id = $current_user->user_login; + $super_user = apply_filters( 'wf_super_user', '' ); + + do_action( 'wf_admin_menu_after_before_defaults' ); + + // Update Framework Menu Item + if( $super_user == $current_user_id || empty( $super_user ) ) { + $framework_update_page = add_submenu_page( 'woothemes', 'WooFramework Update', 'Update Framework', 'manage_options', 'woothemes_framework_update', 'woothemes_framework_update_page' ); + } + + do_action( 'wf_admin_menu_after' ); +} // End woothemes_admin_menu_after() +} + +add_action( 'admin_menu', 'woothemes_admin_menu_after', 50 ); + +// If this is the Listings theme, add the Content Builder admin menu item. +if ( function_exists( 'woothemes_content_builder_menu' ) ) { + add_action( 'wf_admin_menu_after_before_defaults', 'woothemes_content_builder_menu' ); +} + +/** + * Unset the interal WooFramework admin menu items, and preserve the screens themselves (linked to elsewhere). + * @since 6.0.0 + * @return void + */ +function wf_unset_internal_framework_menu_items () { + remove_submenu_page( 'woothemes', 'woothemes-backup' ); + remove_submenu_page( 'woothemes', 'woothemes_framework_update' ); +} // End wf_unset_internal_framework_menu_items() + +add_action( 'admin_head', 'wf_unset_internal_framework_menu_items' ); + +/** + * Load admin CSS on specific screens. + * @since 6.0.0 + * @return void + */ +function wf_load_admin_css () { + $load_on = (array)apply_filters( 'wf_load_admin_css', array( 'woothemes', 'wf-framework', 'woothemes-backup' ) ); + wp_register_style( 'wf-admin', esc_url( WF()->get_assets_url() . 'css/admin.css' ), array(), '1.0.0', 'all' ); + + if ( isset( $_GET['page'] ) && in_array( $_GET['page'], $load_on ) ) + wp_enqueue_style( 'wf-admin' ); +} // End wf_load_admin_css() + +add_action( 'admin_enqueue_scripts', 'wf_load_admin_css' ); + +/** + * Make sure to flush the rewrite rules when saving on the settings screen. + * @since 6.0.0 + */ +add_action( 'wf_settings_save_before', 'woo_flush_rewriterules' ); + +function woo_thumb_admin_notice() { + + if ( get_user_setting( 'wooframeworkhidebannerwootimthumb', '0' ) == '1' ) { return; } + global $current_user; + $current_user_id = $current_user->user_login; + $super_user = get_option( 'framework_woo_super_user' ); + if( $super_user == $current_user_id || empty( $super_user ) ) { + // Test for old timthumb scripts + $thumb_php_test = file_exists( get_template_directory() . '/thumb.php' ); + $timthumb_php_test = file_exists( get_template_directory() . '/timthumb.php' ); + + if ( ( $thumb_php_test || $timthumb_php_test ) && ! is_child_theme() ) { + echo '
    +

    ' . __( 'ATTENTION: A possible old version of the TimThumb script was detected in your theme folder. Please remove the following files from your theme as a security precaution.', 'woothemes' ) . ':

    ' . "\n"; + if ( $thumb_php_test ) { echo '

    - thumb.php

    '; } + if ( $timthumb_php_test ) { echo '

    - timthumb.php

    '; } + echo '

    ' . __( 'If you\'ve added "thumb.php" to your child theme manually please ensure the file is kept up to date. You can then safely hide this notice.', 'woothemes' ) . '

    ' . "\n"; + echo '
    '; + + } + } // End If Statement +} // End woo_thumb_admin_notice() + +add_action( 'admin_notices', 'woo_thumb_admin_notice' ); + +global $pagenow; +if ( $pagenow == 'admin.php' && isset( $_GET['page'] ) && $_GET['page'] == 'woothemes' ) { + if ( get_option( 'framework_woo_framework_version_checker' ) == 'true' ) { add_action( 'admin_notices', 'woo_framework_update_notice', 10 ); } + + add_action( 'admin_notices', 'woo_framework_critical_update_notice', 8 ); // Periodically check for critical WooFramework updates. +} + +/** + * woo_framework_update_notice function. + * + * @description Notify users of framework updates, if necessary. + * @since 4.8.0 + * @access public + * @return void + */ +if ( ! function_exists( 'woo_framework_update_notice' ) ) { + function woo_framework_update_notice () { + $local_version = get_option( 'woo_framework_version' ); + if ( $local_version == '' ) { return; } + $update_data = woo_framework_version_checker( $local_version ); + + $html = ''; + + if ( is_array( $update_data ) && $update_data['is_update'] == true ) { + $html = '

    ' . sprintf( __( 'WooFramework update is available (v%s). %sDownload new version%s (%sSee Changelog%s)', 'woothemes' ), $update_data['version'], '', '', '', '' ) . '

    '; + } + + if ( $html != '' ) { echo $html; } + } // End woo_framework_update_notice() +} + +/** + * woo_framework_critical_update_notice function. + * + * @description Notify users of critical framework updates, if necessary. + * @since 4.8.0 + * @access public + * @return void + */ +if ( ! function_exists( 'woo_framework_critical_update_notice' ) ) { + function woo_framework_critical_update_notice () { + // Determine if the check has happened. + $critical_update = get_transient( 'woo_framework_critical_update' ); + $critical_update_data = get_transient( 'woo_framework_critical_update_data' ); + + if ( ! $critical_update || ! is_array( $critical_update_data ) ) { + + $local_version = get_option( 'woo_framework_version' ); + if ( $local_version == '' ) { return; } + + $update_data = woo_framework_version_checker( $local_version, true ); + + // Set this to "has been checked" for 2 weeks. + set_transient( 'woo_framework_critical_update', true, 60*60*336 ); + + // Cache the data as well. + set_transient( 'woo_framework_critical_update_data', $update_data, 60*60*336 ); + } else { + $update_data = $critical_update_data; + } + + $html = ''; + + // Generate output based on returned/stored data. + if ( is_array( $update_data ) && $update_data['is_update'] == true && $update_data['is_critical'] == true ) { + + // Remove the generic update notice. + remove_action( 'admin_notices', 'woo_framework_update_notice', 10 ); + + $html = '

    ' . sprintf( __( 'An important WooFramework update is available (v%s). %sDownload new version%s (%sSee Changelog%s)', 'woothemes' ), $update_data['version'], '', '', '', '' ) . '

    '; + } + + if ( $html != '' ) { echo $html; } + } // End woo_framework_critical_update_notice() +} +?> \ No newline at end of file diff --git a/mystile/functions/admin-medialibrary-uploader.php b/mystile/functions/admin-medialibrary-uploader.php new file mode 100755 index 0000000..be52f7c --- /dev/null +++ b/mystile/functions/admin-medialibrary-uploader.php @@ -0,0 +1,340 @@ + + array( + 'name' => __( 'WooFramework Internal Container', 'woothemes' ), + ), + 'public' => true, + 'show_ui' => false, + 'capability_type' => 'post', + 'hierarchical' => false, + 'rewrite' => false, + 'supports' => array( 'title', 'editor' ), + 'query_var' => false, + 'can_export' => true, + 'show_in_nav_menus' => false + ) ); + } // End woothemes_mlu_init() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_css */ +/* +/* Add the Thickbox CSS file and specific loading and button images to the header +/* on the pages where this function is called. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_css' ) ) { + function woothemes_mlu_css () { + $_html = ''; + $_html .= '' . "\n"; + $_html .= '' . "\n"; + + echo $_html; + } // End woothemes_mlu_css() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_js */ +/* +/* Register and enqueue (load) the necessary JavaScript file for working with the +/* Media Library-driven AJAX File Uploader Module. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_js' ) ) { + function woothemes_mlu_js () { + // Register custom scripts for the Media Library AJAX uploader. + wp_register_script( 'woo-medialibrary-uploader', get_template_directory_uri() . '/functions/js/woo-medialibrary-uploader.js', array( 'jquery', 'thickbox' ) ); + wp_enqueue_script( 'woo-medialibrary-uploader' ); + wp_enqueue_script( 'media-upload' ); + } // End woothemes_mlu_js() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_medialibrary_uploader */ +/* +/* WooThemes Uploader Using the WordPress Media Library. +/* +/* Parameters: +/* - string $_id - A token to identify this field (the name). +/* - string $_value - The value of the field, if present. +/* - string $_mode - The display mode of the field. +/* - string $_desc - An optional description of the field. +/* - int $_postid - An optional post id (used in the meta boxes). +/* +/* Dependencies: +/* - woothemes_mlu_get_silentpost() +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_medialibrary_uploader' ) ) { + function woothemes_medialibrary_uploader ( $_id, $_value, $_mode = 'full', $_desc = '', $_postid = 0 ) { + $output = ''; + + $id = ''; + $class = ''; + $int = ''; + $value = ''; + + $id = strip_tags( strtolower( $_id ) ); + + // If a post id is present, use it. Otherwise, search for one based on the $_id. + if ( $_postid != 0 ) { + $int = $_postid; + } else { + $int = woothemes_mlu_get_silentpost( $id ); // Change for each field, using a "silent" post. If no post is present, one will be created. + } + + // If we're on a post add/edit screen, call the post meta value. + if ( $_mode == 'postmeta' ) { + $value = get_post_meta( $_postid, $id, true ); + } else { + $value = get_option( $id ); + } + + // If a value is passed and we don't have a stored value, use the value that's passed through. + if ( $_value != '' && $value == '' ) { + $value = $_value; + } + + if ( $value ) { $class = ' has-file'; } // End IF Statement + + // Hide the input field for "minimal" upload fields. + $field_type = 'text'; + if ( $_mode == 'min' ) { $field_type = 'hidden'; } + + $output .= '' . "\n"; + $output .= '' . "\n"; + + if ( $_desc != '' ) { + $output .= '' . $_desc . '' . "\n"; + } + + $output .= '
    ' . "\n"; + + if ( $value != '' ) { + $remove = 'Remove'; + + $image = preg_match( '/(^.*\.jpg|jpeg|png|gif|ico*)/i', $value ); + + if ( $image ) { + $output .= ''.$remove.''; + } else { + $parts = explode( "/", $value ); + + for( $i = 0; $i < sizeof( $parts ); ++$i ) { + $title = $parts[$i]; + } // End FOR Loop + + // No output preview if it's not an image. + $output .= ''; + + // Standard generic output if it's not an image. + $title = __( 'View File', 'woothemes' ); + + $output .= '
    '.$title.'' . $remove . '
    '; + + } // End IF Statement + } // End IF Statement + + $output .= '
    ' . "\n"; + + return $output; + } // End woothemes_medialibrary_uploader() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_get_silentpost */ +/* +/* Use "silent" posts in the database to store relationships for images. +/* This also creates the facility to collect galleries of, for example, logo images. +/* +/* Return: $_postid. +/* +/* If no "silent" post is present, one will be created with the type "wooframework" +/* and the post_name of "woo-wf-$_token". +/* +/* Example Usage: +/* woothemes_mlu_get_silentpost ( 'woo_logo' ); +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_get_silentpost' ) ) { + function woothemes_mlu_get_silentpost ( $_token ) { + global $wpdb; + + $_id = 0; + + // Check if the token is valid against a whitelist. + + // $_whitelist = array( 'woo_logo', 'woo_custom_favicon', 'woo_body_img', 'woo_ad_top_image' ); + + // Sanitise the token. + + $_token = strtolower( str_replace( ' ', '_', $_token ) ); + + // if ( in_array( $_token, $_whitelist ) ) { + + if ( $_token ) { + // Tell the function what to look for in a post. + $_args = array( 'post_parent' => '0', 'post_type' => 'wooframework', 'post_name' => 'woo-wf-' . $_token, 'post_status' => 'draft', 'comment_status' => 'closed', 'ping_status' => 'closed' ); + + // Look in the database for a "silent" post that meets our criteria. + $_posts = get_post( $_args ); + + // If we've got a post, loop through and get it's ID. + if ( count( $_posts ) ) { + $_id = $_posts->ID; + } else { + // If no post is present, insert one. + // Prepare some additional data to go with the post insertion. + $_words = explode( '_', $_token ); + $_title = join( ' ', $_words ); + $_title = ucwords( $_title ); + $_post_data = array( 'post_title' => $_title ); + $_post_data = array_merge( $_post_data, $_args ); + + $_id = wp_insert_post( $_post_data ); + } // End IF Statement + } + + return $_id; + } // End woothemes_mlu_get_silentpost() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_insidepopup */ +/* +/* Trigger code inside the Media Library popup. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_insidepopup' ) ) { + function woothemes_mlu_insidepopup () { + if ( isset( $_REQUEST['is_woothemes'] ) && $_REQUEST['is_woothemes'] == 'yes' ) { + add_action( 'admin_head', 'woothemes_mlu_js_popup' ); + add_filter( 'media_upload_tabs', 'woothemes_mlu_modify_tabs' ); + } + } // End woothemes_mlu_insidepopup() +} + +if ( ! function_exists( 'woothemes_mlu_js_popup' ) ) { + function woothemes_mlu_js_popup () { + $_woo_title = 'file'; + + if ( isset( $_REQUEST['woo_title'] ) ) { $_woo_title = $_REQUEST['woo_title']; } // End IF Statement +?> + + \ No newline at end of file diff --git a/mystile/functions/admin-sbm.php b/mystile/functions/admin-sbm.php new file mode 100755 index 0000000..c5e1b98 --- /dev/null +++ b/mystile/functions/admin-sbm.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/mystile/functions/admin-seo.php b/mystile/functions/admin-seo.php new file mode 100755 index 0000000..8d3ef95 --- /dev/null +++ b/mystile/functions/admin-seo.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/mystile/functions/admin-setup.php b/mystile/functions/admin-setup.php new file mode 100755 index 0000000..c9537fb --- /dev/null +++ b/mystile/functions/admin-setup.php @@ -0,0 +1,302 @@ +settings->get_all(); + + // Allow child themes/plugins to filter here. + $woo_array = apply_filters( 'woo_options_array', $woo_array ); + update_option( 'woo_options', $woo_array ); +} // End woo_option_setup() +} + + +if ( ! function_exists( 'woothemes_admin_head' ) ) { +/** + * Optionally add markup in the header of the WordPress admin. + * @since 4.0.0 + * @return void + */ +function woothemes_admin_head() {} // End woothemes_admin_head() +} +add_action( 'admin_head', 'woothemes_admin_head', 10 ); + + +if ( ! function_exists( 'woothemes_wp_head' ) ) { +/** + * Output the default WooFramework "head" markup in the "head" section. + * @since 2.0.0 + * @return void + */ +function woothemes_wp_head() { + do_action( 'woothemes_wp_head_before' ); + // Output alternative stylesheet + if ( function_exists( 'woo_output_alt_stylesheet' ) ) + woo_output_alt_stylesheet(); + // Output custom favicon + if ( function_exists( 'woo_output_custom_favicon' ) ) + woo_output_custom_favicon(); + // Output CSS from standarized styling options + if ( function_exists( 'woo_head_css' ) ) + woo_head_css(); + // Output shortcodes stylesheet + if ( function_exists( 'woo_shortcode_stylesheet' ) ) + woo_shortcode_stylesheet(); + // Output custom.css + if ( function_exists( 'woo_output_custom_css' ) ) + woo_output_custom_css(); + do_action( 'woothemes_wp_head_after' ); +} // End woothemes_wp_head() +} +add_action( 'wp_head', 'woothemes_wp_head', 10 ); + + +if ( ! function_exists( 'woo_output_alt_stylesheet' ) ) { +/** + * Output the alternative stylesheet. + * @since 2.0.0 + * @return void + */ +function woo_output_alt_stylesheet() { + $style = ''; + + if ( isset( $_REQUEST['style'] ) ) { + $requested_style = esc_attr( strtolower( strip_tags( trim( $_REQUEST['style'] ) ) ) ); + $style = $requested_style; + } + + echo "\n" . '' . "\n"; + // If we're using the query variable, be sure to check for /css/layout.css as well. + if ( $style != '' ) { + if ( strtolower( $style ) == 'default' ) { + if ( file_exists( get_template_directory() . '/css/layout.css' ) ) { + echo '' . "\n"; + } + echo '' . "\n"; + } else { + echo '' . "\n"; + } + } else { + $style = get_option( 'woo_alt_stylesheet' ); + $style = esc_attr( strtolower( strip_tags( trim( $style ) ) ) ); + if( $style != '' ) { + echo '' . "\n"; + } else { + echo '' . "\n"; + } + } +} // End woo_output_alt_stylesheet() +} + +if ( ! function_exists( 'woo_output_custom_favicon' ) ) { +/** + * Output the favicon HTML. + * @since 2.0.0 + * @return void + */ +function woo_output_custom_favicon () { + $favicon = get_option( 'woo_custom_favicon', '' ); + if ( is_ssl() ) $favicon = str_replace( 'http://', 'https://', $favicon ); + $favicon = apply_filters( 'woo_custom_favicon', $favicon ); + if( '' != $favicon ) echo "\n" . '' . "\n" . '' . "\n"; +} // End woo_output_custom_favicon() +} + +if ( ! function_exists( 'woo_load_textdomain' ) ) { +/** + * Load the theme's textdomain, as well as an optional child theme textdomain. + * @since 2.0.0 + * @return void + */ +function woo_load_textdomain () { + load_theme_textdomain( 'woothemes' ); + load_theme_textdomain( 'woothemes', get_template_directory() . '/lang' ); + if ( function_exists( 'load_child_theme_textdomain' ) ) + load_child_theme_textdomain( 'woothemes' ); +} // End woo_load_textdomain() +} + +add_action( 'after_setup_theme', 'woo_load_textdomain', 10 ); + +if ( ! function_exists( 'woo_head_css' ) ) { +/** + * Output CSS from standardized theme options. + * @since 2.0.0 + * @return void + */ +function woo_head_css () { + $output = ''; + $text_title = get_option( 'woo_texttitle' ); + $tagline = get_option( 'woo_tagline' ); + $custom_css = get_option( 'woo_custom_css' ); + + $template = get_option( 'woo_template' ); + if ( is_array( $template ) ) { + foreach( $template as $option ) { + if( isset( $option['id'] ) ) { + if( $option['id'] == 'woo_texttitle' ) { + // Add CSS to output + if ( $text_title == 'true' ) { + $output .= '#logo img { display:none; } .site-title { display:block !important; }' . "\n"; + if ( $tagline == 'false' ) + $output .= '.site-description { display:none !important; }' . "\n"; + else + $output .= '.site-description { display:block !important; }' . "\n"; + } + } + } + } + } + + if ( $custom_css != '' ) { + $output .= $custom_css . "\n"; + } + + // Output styles + if ( $output != '' ) { + $output = strip_tags($output); + echo '' . "\n"; + $output = "\n\n"; + echo stripslashes( $output ); + } +} // End woo_head_css() +} + +if ( ! function_exists( 'woo_output_custom_css' ) ) { +/** + * Output the HTML for the "custom.css" file. + * @since 2.0.0 + * @return void + */ +function woo_output_custom_css() { + // If "custom.css" exists in the parent theme, load it. + if ( file_exists( get_template_directory() . '/custom.css' ) ) { + echo "\n" . '' . "\n" . '' . "\n"; + } + + // If we're using a child theme, and "custom.css" exists within the child theme, load it as well. + if ( is_child_theme() && file_exists( get_stylesheet_directory() . '/custom.css' ) ) { + if ( file_exists( get_stylesheet_directory() . '/custom.css' ) ) { + echo "\n" . '' . "\n" . '' . "\n"; + } + } +} // End woo_output_custom_css() +} + +/** + * Add theme support for post thumbnails, and integrate the size settings. + * @since 4.0.0 + */ +if( function_exists( 'add_theme_support' ) ) { + if( get_option( 'woo_post_image_support' ) == 'true' ) { + add_theme_support( 'post-thumbnails' ); + // set height, width and crop if dynamic resize functionality isn't enabled + if ( get_option( 'woo_pis_resize' ) != 'true' ) { + $thumb_width = get_option( 'woo_thumb_w' ); + $thumb_height = get_option( 'woo_thumb_h' ); + $single_width = get_option( 'woo_single_w' ); + $single_height = get_option( 'woo_single_h' ); + $hard_crop = get_option( 'woo_pis_hard_crop' ); + if($hard_crop == 'true') { $hard_crop = true; } else { $hard_crop = false; } + set_post_thumbnail_size( $thumb_width, $thumb_height, $hard_crop ); // Normal post thumbnails + add_image_size( 'single-post-thumbnail', $single_width, $single_height, $hard_crop ); + } + } +} + +if ( ! function_exists( 'woo_comment_reply' ) ) { +/** + * Enqueue the comment reply JavaScript on singular entry screens. + * @since 3.0.0 + * @return void + */ +function woo_comment_reply() { + if ( is_singular() && comments_open() ) wp_enqueue_script( 'comment-reply' ); +} // End woo_comment_reply() +} + +add_action( 'get_header', 'woo_comment_reply', 10 ); +?> \ No newline at end of file diff --git a/mystile/functions/admin-shortcode-generator.php b/mystile/functions/admin-shortcode-generator.php new file mode 100755 index 0000000..163cc39 --- /dev/null +++ b/mystile/functions/admin-shortcode-generator.php @@ -0,0 +1,223 @@ +framework_url() . 'js/colorpicker.js' ), array( 'jquery' ), '3.6', true ); // Loaded into the footer. + wp_enqueue_script( 'woo-colourpicker' ); + + // Register the colourpicker CSS. + wp_register_style( 'woo-colourpicker', esc_url( $this->framework_url() . 'css/colorpicker.css' ) ); + wp_enqueue_style( 'woo-colourpicker' ); + + wp_register_style( 'woo-shortcode-icon', esc_url( $this->framework_url() . 'css/shortcode-icon.css' ) ); + wp_enqueue_style( 'woo-shortcode-icon' ); + + // Register the custom CSS styles. + wp_register_style( 'woo-shortcode-generator', esc_url( $this->framework_url() . 'css/shortcode-generator.css' ) ); + wp_enqueue_style( 'woo-shortcode-generator' ); + } + } // End init() + + /** + * Add a new button to tinyMCE. + * @access public + * @since 3.5.0 + * @return void + */ + public function filter_mce_buttons( $buttons ) { + array_push( $buttons, '|', 'woothemes_shortcodes_button' ); + + return $buttons; + } // End filter_mce_buttons() + + /** + * Add functionality to tinyMCE as an external plugin. + * @access public + * @since 3.5.0 + * @return void + */ + public function filter_mce_external_plugins( $plugins ) { + global $wp_version; + $suffix = ''; + if ( '3.9' <= $wp_version ) { + $suffix = '_39'; + } + $plugins['WooThemesShortcodes'] = wp_nonce_url( esc_url( $this->framework_url() . 'js/shortcode-generator/editor_plugin' . $suffix . '.js' ), 'wooframework-shortcode-generator' ); + + return $plugins; + } // End filter_mce_external_plugins() + + /** + * Return the WooFramework URL. + * @access public + * @since 3.5.0 + * @return void + */ + public function framework_url() { + return esc_url( trailingslashit( get_template_directory_uri() . '/' . basename( dirname( __FILE__ ) ) ) ); + } // End framework_url() + + /** + * Checks if a given url (via GET or POST) exists. Returns JSON. + * NOTE: For users that are not logged in this is not called. The client recieves -1 in that case. + * @access public + * @since 3.5.0 + * @return void + */ + public function ajax_action_check_url() { + $hadError = true; + + $url = isset( $_REQUEST['url'] ) ? $_REQUEST['url'] : ''; + + if ( strlen( $url ) > 0 && function_exists( 'get_headers' ) ) { + $url = esc_url( $url ); + $file_headers = @get_headers( $url ); + $exists = $file_headers && $file_headers[0] != 'HTTP/1.1 404 Not Found'; + $hadError = false; + } + + echo '{ "exists": '. ($exists ? '1' : '0') . ($hadError ? ', "error" : 1 ' : '') . ' }'; + + die(); + } // End ajax_action_check_url() + + /** + * Generate a nonce. + * NOTE: For users that are not logged in this is not called. The client recieves -1 in that case. + * @access public + * @since 3.5.0 + * @return void + */ + public function ajax_action_generate_nonce() { + echo wp_create_nonce( 'wooframework-shortcode-generator' ); + die(); + } // End ajax_action_generate_nonce() + + /** + * Output the HTML markup for the dialog box. + * @access public + * @since 6.0.0 + * @return void + */ + public function output_dialog_markup () { + $woo_framework_url = $this->framework_url(); + $woo_framework_version = wf_get_version(); + + $MIN_VERSION = '2.9'; + + $meetsMinVersion = version_compare($woo_framework_version, $MIN_VERSION) >= 0; + + $isWooTheme = true; +?> + + \ No newline at end of file diff --git a/mystile/functions/admin-shortcodes.php b/mystile/functions/admin-shortcodes.php new file mode 100755 index 0000000..da61262 --- /dev/null +++ b/mystile/functions/admin-shortcodes.php @@ -0,0 +1,2362 @@ + +\n"; + echo ''."\n"; + } // End woo_shortcode_stylesheet() +} + +// Replace WP autop formatting +if ( ! function_exists( 'woo_remove_wpautop' ) ) { + function woo_remove_wpautop( $content ) { + $content = do_shortcode( shortcode_unautop( $content ) ); + $content = preg_replace( '#^<\/p>|^
    |

    $#', '', $content ); + return $content; + } // End woo_remove_wpautop() +} + +/*-----------------------------------------------------------------------------------*/ +/* 1.1 Output shortcode JS in footer */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'wp_print_scripts', 'woo_register_shortcode_js', 10 ); + +function woo_register_shortcode_js () { + wp_register_script( 'woo-shortcodes', get_template_directory_uri() . '/functions/js/shortcodes.js', array( 'jquery', 'jquery-ui-tabs' ), '5.0.0' ); +} // End woo_register_shortcode_js() + +add_action( 'wp_footer', 'woo_enqueue_shortcode_js', 50 ); + +function woo_enqueue_shortcode_js () { + if ( ! is_admin() && defined( 'WOO_SHORTCODE_JS' ) ) { + wp_enqueue_script( 'woo-shortcodes' ); + + global $wp_scripts; + $wp_scripts->to_do = array( 'woo-shortcodes' ); + + wp_print_scripts(); + } +} // End woo_enqueue_shortcode_js() + +/*-----------------------------------------------------------------------------------*/ +/* 1.2 Ensure the Dropcap shortcode content is parsed in excerpts */ +/*-----------------------------------------------------------------------------------*/ + +/** + * Remove the 'wp_trim_excerpt' filter on excerpts, at the start of the main loop, so we can parse excerpts ourselves. + * @since 6.0.0 + * @return void + */ +function maybe_remove_trim_excerpt () { + if ( is_main_query() ) remove_filter( 'get_the_excerpt', 'wp_trim_excerpt' ); +} // End maybe_remove_trim_excerpt() +add_action( 'loop_start', 'maybe_remove_trim_excerpt' ); + +/** + * Restore the 'wp_trim_excerpt' filter on excerpts, at the end of the main loop. + * @since 6.0.0 + * @return void + */ +function maybe_restore_trim_excerpt () { + add_filter( 'get_the_excerpt', 'wp_trim_excerpt' ); +} // End maybe_restore_trim_excerpt() +add_action( 'loop_end', 'maybe_restore_trim_excerpt' ); + +/** + * Remove the 'dropcap' shortcode before outputting the excerpt, to prevent missing characters in words. + * @since 6.0.0 + * @param string $text The excerpt text. + * @return string The modified excerpt text. + */ +function woo_remove_dropcap_from_excerpts ( $text ) { + global $post; + $original_text = $text; // Make a backup of the info passed through. + remove_shortcode( 'dropcap' ); + if ( '' != $post->post_excerpt ) { + $text = $original_text; + } else { + $text = get_the_content(); + } + $text = str_replace( '[/dropcap]', '', str_replace( '[dropcap]', '', $text ) ); + add_shortcode( 'dropcap', 'woo_shortcode_dropcap' ); + + if ( function_exists( 'woo_trim_excerpt' ) ) { + $text = woo_trim_excerpt( $text ); // We have to create our own function, as WordPress doesn't allow filtering inside wp_trim_excerpt(). + } + + return $text; +} // End woo_remove_dropcap_from_excerpts() +add_filter( 'get_the_excerpt', 'woo_remove_dropcap_from_excerpts' ); + +/*-----------------------------------------------------------------------------------*/ +/* 2. Boxes - box +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - type: info, alert, tick, download, note + - size: medium, large + - style: rounded + - border: none, full + - icon: none OR full URL to a custom icon + +*/ +function woo_shortcode_box( $atts, $content = null ) { + extract( shortcode_atts( array( 'type' => 'normal', + 'size' => '', + 'style' => '', + 'border' => '', + 'icon' => '' ), $atts ) ); + + // "Toggle in a box" fix + $allowed_tags = wp_kses_allowed_html( 'post' ); + $allowed_tags['input'] = array( 'type' => true, + 'name' => true, + 'value' => true ); + + $allowed_protocols = wp_allowed_protocols(); + $allowed_protocols[] = 'skype'; + + $class = ''; + $custom = ''; + if ( $icon == 'none' ) { + $class = 'no-icon'; + $custom = ' style="padding-left:15px;background-image:none;"'; + } elseif ( $icon ) { + $class = 'custom-icon'; + $custom = ' style="padding-left:50px;background-image:url( ' . esc_attr( esc_url( $icon ) ) . ' ); background-repeat:no-repeat; background-position:20px 45%;"'; + } + return '

    ' . wp_kses( do_shortcode( woo_remove_wpautop( $content ) ), $allowed_tags, $allowed_protocols ) . '
    '; +} // End woo_shortcode_box() + +add_shortcode( 'box', 'woo_shortcode_box' ); + +/*-----------------------------------------------------------------------------------*/ +/* 3. Buttons - button +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - size: small, large + - style: info, alert, tick, download, note + - color: red, green, black, grey OR custom hex color (e.g #000000) + - border: border color (e.g. red or #000000) + - text: black (for light color background on button) + - class: custom class + - link: button link (e.g http://www.woothemes.com) + - window: true/false + +*/ +function woo_shortcode_button( $atts, $content = null ) { + extract( shortcode_atts( array( 'size' => '', + 'style' => '', + 'bg_color' => '', + 'color' => '', + 'border' => '', + 'text' => '', + 'class' => '', + 'link' => '#', + 'window' => '' ), $atts ) ); + + + // Set custom background and border color + $color_output = ''; + if ( $color ) { + $preset_colors = array( 'red', 'orange', 'green', 'aqua', 'teal', 'purple', 'pink', 'silver' ); + if ( in_array( $color, $preset_colors ) ) { + $class .= ' ' . $color; + } else { + if ( $border ){ + $border_out = $border; + } else { + $border_out = $color; + } + + $color_output = 'style="background:' . esc_attr( $color ) . ';border-color:' . esc_attr( $border_out ) . '"'; + + // add custom class + $class .= ' custom'; + } + } else { + if ( $border ) + $border_out = $border; + else + $border_out = $bg_color; + + $color_output = 'style="background:' . esc_attr( $bg_color ) . ';border-color:' . esc_attr( $border_out ) . '"'; + + // add custom class + $class .= ' custom'; + } + + $class_output = ''; + + // Set text color + if ( $text ) $class_output .= ' dark'; + // Set class + if ( $class ) $class_output .= ' '.$class; + // Set Size + if ( $size ) $class_output .= ' '.$size; + // Set window target + if ( $window ) $window = 'target="_blank" '; + + $output = '' . wp_kses_post( woo_remove_wpautop( $content ) ) . ''; + return $output; +} // End woo_shortcode_button() + +add_shortcode( 'button', 'woo_shortcode_button' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 4. Related Posts - related_posts +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - limit: number of posts to show (default: 5) + - image: thumbnail size, 0 = off (default: 0) +*/ + +function woo_shortcode_related_posts ( $atts ) { + global $post, $wp_version; + + wp_reset_query(); // Make sure we have a fresh query before we start. + + $defaults = array( + 'limit' => 5, + 'image' => 0, + 'float' => 'none' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + // This function requires at least WordPress Version 3.1. + if ( $wp_version < 3.1 ) { + return _dep_woo_shortcode_related_posts( $atts ); + } else { + + // Sanitize float attribute. + if ( isset( $atts['float'] ) && ! in_array( $atts['float'], array( 'none', 'left', 'right' ) ) ) { $atts['float'] = 'none'; } + + // Float translation array. + $floats = array( 'none' => '', 'left' => 'fl', 'right' => 'fr' ); + + $css_class = 'woo-sc-related-posts'; + + extract( $atts ); + + if ( $float != 'none' ) { $css_class .= ' ' . $floats[$float]; } + + $output = ''; + + $post_type = get_post_type( $post->ID ); + + $post_type_obj = get_post_type_object( $post_type ); + + $taxonomies_string = 'post_tag, category'; + $taxonomies = array( 'post_tag', 'category' ); + + if ( isset( $post_type_obj->taxonomies ) && count( $post_type_obj->taxonomies ) > 0 ) { + $taxonomies_string = join( ', ', $post_type_obj->taxonomies ); + $taxonomies = $post_type_obj->taxonomies; + } + + // Clean up our taxonomies for use in the query. + if ( count( $taxonomies ) ) { + foreach ( $taxonomies as $k => $v ) { + $taxonomies[$k] = trim( $v ); + } + } + + // Determine which terms we're going to relate to this entry. + $related_terms = array(); + + foreach ( $taxonomies as $t ) { + $terms = get_the_terms( $post->ID, $t ); + + if ( ! empty( $terms ) ) { + foreach ( $terms as $k => $v ) { + $related_terms[$t][$v->term_id] = $v->slug; + } + } + } + + $specific_terms = array(); + foreach ( $related_terms as $k => $v ) { + foreach ( $v as $i => $j ) { + $specific_terms[] = $j; + } + } + + $query_args = array( + 'limit' => $atts['limit'], + 'post_type' => $post_type, + 'taxonomies' => $taxonomies_string, + 'specific_terms' => $specific_terms, + 'order' => 'DESC', + 'orderby' => 'date', + 'exclude' => array( $post->ID ) + ); + + $posts = woo_get_posts_by_taxonomy( $query_args ); + + if ( count( (array)$posts ) ) { + + $output .= '
    ' . "\n"; + + $output .= '' . "\n"; + $output .= '
    ' . "\n"; + $output .= '
    '; + } + + wp_reset_postdata(); + + return apply_filters( 'woo_shortcode_related_posts', $output, $atts ); + + } // End IF Statement (version check) +} // End woo_shortcode_related_posts() + +add_shortcode( 'related_posts', 'woo_shortcode_related_posts' ); + +/*-----------------------------------------------------------------------------------*/ +/* Deprecated: Related Posts Shortcode. +/* +/* Used for WordPress version 3.0 or less. +/*-----------------------------------------------------------------------------------*/ + +function _dep_woo_shortcode_related_posts( $atts ) { trigger_error( sprintf( __( '%1$s is deprecated since version %2$s of the WooFramework! Please upgrade your WordPress to the latest version to use the latest functionality.', 'woothemes' ), '_dep_woo_shortcode_related_posts', '5.4' ) ); } + +/*-----------------------------------------------------------------------------------*/ +/* 5. Tweetmeme button - tweetmeme +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://help.tweetmeme.com/2009/04/06/tweetmeme-button/ + +Optional arguments: + - link: specify URL directly + - style: compact + - source: username + - float: none, left, right (default: left) + +*/ +function woo_shortcode_tweetmeme($atts, $content = null) { + extract(shortcode_atts(array( 'link' => '', + 'style' => '', + 'source' => '', + 'float' => 'left'), $atts)); + $output = ''; + + if ( $link == '' ) { + global $post; + $link = get_permalink( $post->ID ); + } + + if ( $link ) + $output .= "tweetmeme_url = '" . esc_url( $link ) . "';"; + + if ( $style ) + $output .= "tweetmeme_style = 'compact';"; + + if ( $source ) + $output .= "tweetmeme_source = '" . esc_attr( $source ) . "';"; + + if ( $link OR $style ) + $output = ''; + + $output .= '
    '; + return $output; + +} // End woo_shortcode_tweetmeme() + +add_shortcode( 'tweetmeme', 'woo_shortcode_tweetmeme' ); + +/*-----------------------------------------------------------------------------------*/ +/* 6. Twitter button - twitter +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://twitter.com/goodies/tweetbutton + +Optional arguments: + - style: vertical, horizontal, none ( default: vertical ) + - url: specify URL directly + - source: username to mention in tweet + - related: related account + - text: optional tweet text (default: title of page) + - float: none, left, right (default: left) + - lang: fr, de, es, js (default: english) + - use_post_url: automatically retrieve the URL to the specific post (useful on archive screens) +*/ +function woo_shortcode_twitter($atts, $content = null) { + global $post; + extract(shortcode_atts(array( 'url' => '', + 'style' => '', + 'source' => '', + 'text' => '', + 'related' => '', + 'lang' => '', + 'float' => 'left', + 'use_post_url' => 'false', + 'recommend' => '', + 'hashtag' => '', + 'size' => '', + ), $atts)); + $output = ''; + + if ( $url ) + $output .= ' data-url="' . esc_url( $url ) . '"'; + + if ( $source ) + $output .= ' data-via="' . esc_attr( $source ) . '"'; + + if ( $text ) + $output .= ' data-text="' . esc_attr( $text ) . '"'; + + if ( $related ) + $output .= ' data-related="' . esc_attr( $related ) . '"'; + + if ( $hashtag ) + $output .= ' data-hashtags="' . esc_attr( $hashtag ) . '"'; + + if ( $size ) + $output .= ' data-size="' . esc_attr( $size ) . '"'; + + if ( $lang ) + $output .= ' data-lang="' . esc_attr( $lang ) . '"'; + + if ( $style != '' ) { + $output .= 'data-count="' . esc_attr( $style ) . '"'; + } + + if ( $use_post_url == 'true' && $url == '' ) { + $output .= ' data-url="' . get_permalink( $post->ID ) . '"'; + } + + $output = ''; + return $output; + +} // End woo_shortcode_twitter() + +add_shortcode( 'twitter', 'woo_shortcode_twitter' ); + +/*-----------------------------------------------------------------------------------*/ +/* 7. Digg Button - digg +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://about.digg.com/button + +Optional arguments: + - link: specify URL directly + - title: specify a title (must add link also) + - style: medium, large, compact, icon (default: medium) + - float: none, left, right (default: left) +*/ +function woo_shortcode_digg($atts, $content = null) { + extract(shortcode_atts(array( 'link' => '', + 'title' => '', + 'style' => 'medium', + 'float' => 'left' ), $atts)); + $output = " + + "; + + // Add custom URL + if ( $link ) { + // Add custom title + if ( $title ) + $title = '&title=' . $title; + + $link = ' href="' . esc_url( 'http://digg.com/submit?url='. $link . $title ) . '"'; + } + + if ( $link == '' ) { + global $post; + $link = get_permalink( $post->ID ); + } + + if ( $style == "large" ) + $style = "Large"; + elseif ( $style == "compact" ) + $style = "Compact"; + elseif ( $style == "icon" ) + $style = "Icon"; + else + $style = "Medium"; + + $output .= '
    '; + return $output; + +} // End woo_shortcode_digg() + +add_shortcode( 'digg', 'woo_shortcode_digg' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 8. Facebook Like Button - fblike +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://developers.facebook.com/docs/reference/plugins/like + +Optional arguments: + - float: none (default), left, right + - url: link you want to share (default: current post ID) + - style: standard (default), button + - showfaces: true or false (default) + - width: 450 + - verb: like (default) or recommend + - colorscheme: light (default), dark + - font: arial (default), lucida grande, segoe ui, tahoma, trebuchet ms, verdana + +*/ +function woo_shortcode_fblike($atts, $content = null) { + extract(shortcode_atts(array( 'float' => 'none', + 'url' => '', + 'style' => 'standard', + 'showfaces' => 'false', + 'width' => '450', + 'verb' => 'like', + 'colorscheme' => 'light', + 'font' => 'arial', + 'locale' => 'en_US' ), $atts)); + + global $post; + + if ( ! $post ) { + $post = new stdClass(); + $post->ID = 0; + } + + $allowed_styles = array( 'standard', 'button_count', 'box_count' ); + + if ( ! in_array( $style, $allowed_styles ) ) { $style = 'standard'; } // End IF Statement + + if ( ! $url ) { + $url = get_permalink( $post->ID ); + } + + $height = '65'; + if ( $showfaces == 'true') + $height = '100'; + + if ( ! $width || ! is_numeric( $width ) ) { $width = 450; } // End IF Statement + + // Set the width to "auto" if "showfaces" is off and the default width is still set. + $widthpx = $width . 'px'; + if ( $width == 450 && $showfaces == 'false' ) { $widthpx = 'auto'; } + + // Set the height to 20 if "showfaces" is disabled and the style is either "standard" or "button_count". + if ( $showfaces == 'false' && ( $style != 'box_count' ) ) { $height = 25; } + + switch ( $float ) { + case 'left': + $float = 'fl'; + break; + + case 'right': + $float = 'fr'; + break; + + default: + break; + } + + $src_url = 'http://www.facebook.com/plugins/like.php?href=' . esc_url( $url ) . '&layout=' . urlencode( $style ) . '&show_faces=' . urlencode( $showfaces ) . '&width=' . urlencode( $width ) . '&action=' . urlencode( $verb ) . '&colorscheme=' . urlencode( $colorscheme ) . '&font=' . urlencode( $font ) . '&locale=' . urlencode( $locale ) . ''; + $output = ' +
    + +
    + '; + return $output; +} // End woo_shortcode_fblike() + +add_shortcode( 'fblike', 'woo_shortcode_fblike' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 9. Columns +/*-----------------------------------------------------------------------------------*/ +/* + +Description: + +Columns are named with this convention Xcol_Y where X is the total number of columns and Y is +the number of columns you want this column to span. Add _last behind the shortcode if it is the +last column. + +*/ + +/* ============= Two Columns ============= */ + +function woo_shortcode_twocol_one($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'twocol_one', 'woo_shortcode_twocol_one' ); + +function woo_shortcode_twocol_one_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'twocol_one_last', 'woo_shortcode_twocol_one_last' ); + + +/* ============= Three Columns ============= */ + +function woo_shortcode_threecol_one($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'threecol_one', 'woo_shortcode_threecol_one' ); + +function woo_shortcode_threecol_one_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'threecol_one_last', 'woo_shortcode_threecol_one_last' ); + +function woo_shortcode_threecol_two($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'threecol_two', 'woo_shortcode_threecol_two' ); + +function woo_shortcode_threecol_two_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'threecol_two_last', 'woo_shortcode_threecol_two_last' ); + +/* ============= Four Columns ============= */ + +function woo_shortcode_fourcol_one($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fourcol_one', 'woo_shortcode_fourcol_one' ); + +function woo_shortcode_fourcol_one_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fourcol_one_last', 'woo_shortcode_fourcol_one_last' ); + +function woo_shortcode_fourcol_two($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fourcol_two', 'woo_shortcode_fourcol_two' ); + +function woo_shortcode_fourcol_two_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fourcol_two_last', 'woo_shortcode_fourcol_two_last' ); + +function woo_shortcode_fourcol_three($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fourcol_three', 'woo_shortcode_fourcol_three' ); + +function woo_shortcode_fourcol_three_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fourcol_three_last', 'woo_shortcode_fourcol_three_last' ); + +/* ============= Five Columns ============= */ + +function woo_shortcode_fivecol_one($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_one', 'woo_shortcode_fivecol_one' ); + +function woo_shortcode_fivecol_one_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_one_last', 'woo_shortcode_fivecol_one_last' ); + +function woo_shortcode_fivecol_two($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_two', 'woo_shortcode_fivecol_two' ); + +function woo_shortcode_fivecol_two_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_two_last', 'woo_shortcode_fivecol_two_last' ); + +function woo_shortcode_fivecol_three($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_three', 'woo_shortcode_fivecol_three' ); + +function woo_shortcode_fivecol_three_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_three_last', 'woo_shortcode_fivecol_three_last' ); + +function woo_shortcode_fivecol_four($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_four', 'woo_shortcode_fivecol_four' ); + +function woo_shortcode_fivecol_four_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'fivecol_four_last', 'woo_shortcode_fivecol_four_last' ); + + +/* ============= Six Columns ============= */ + +function woo_shortcode_sixcol_one($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_one', 'woo_shortcode_sixcol_one' ); + +function woo_shortcode_sixcol_one_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_one_last', 'woo_shortcode_sixcol_one_last' ); + +function woo_shortcode_sixcol_two($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_two', 'woo_shortcode_sixcol_two' ); + +function woo_shortcode_sixcol_two_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_two_last', 'woo_shortcode_sixcol_two_last' ); + +function woo_shortcode_sixcol_three($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_three', 'woo_shortcode_sixcol_three' ); + +function woo_shortcode_sixcol_three_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_three_last', 'woo_shortcode_sixcol_three_last' ); + +function woo_shortcode_sixcol_four($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_four', 'woo_shortcode_sixcol_four' ); + +function woo_shortcode_sixcol_four_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_four_last', 'woo_shortcode_sixcol_four_last' ); + +function woo_shortcode_sixcol_five($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_five', 'woo_shortcode_sixcol_five' ); + +function woo_shortcode_sixcol_five_last($atts, $content = null) { + return '
    ' . woo_remove_wpautop($content) . '
    '; +} +add_shortcode( 'sixcol_five_last', 'woo_shortcode_sixcol_five_last' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 10. Horizontal Rule / Divider - hr - divider +/*-----------------------------------------------------------------------------------*/ +/* +Description: Use to separate text. +*/ +function woo_shortcode_hr($atts, $content = null) { + return '
    '; +} // End woo_shortcode_hr() +add_shortcode( 'hr', 'woo_shortcode_hr' ); + +function woo_shortcode_divider($atts, $content = null) { + return '
    '; +} // End woo_shortcode_divider() +add_shortcode( 'divider', 'woo_shortcode_divider' ); + +function woo_shortcode_divider_flat($atts, $content = null) { + return '
    '; +} // End woo_shortcode_divider_flat() +add_shortcode( 'divider_flat', 'woo_shortcode_divider_flat' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 11. Quote - quote +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - style: boxed + - float: left, right + +*/ +function woo_shortcode_quote($atts, $content = null) { + extract(shortcode_atts(array( 'style' => '', + 'float' => ''), $atts)); + $class = ''; + if ( $style ) + $class .= ' '.$style; + if ( $float ) + $class .= ' '.$float; + + return '

    ' . woo_remove_wpautop($content) . '

    '; +} // End woo_shortcode_quote() +add_shortcode( 'quote', 'woo_shortcode_quote' ); + +/*-----------------------------------------------------------------------------------*/ +/* 12. Icon links - ilink +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - style: download, note, tick, info, alert + - url: the url for your link + - icon: add an url to a custom icon + - title: optional title attribute + +*/ +function woo_shortcode_ilink( $atts, $content = null ) { + extract( shortcode_atts( array( 'style' => 'info', 'url' => '', 'icon' => '', 'title' => '' ), $atts ) ); + + $atts = ''; + if ( $icon != '' ) { + $atts .= ' style="background: url( ' . esc_url( $icon ) . ') no-repeat left 40%;"'; + } + if ( $title != '' ) { + $atts .= ' title="' . esc_attr( $title ) . '"'; + } + + return '' . woo_remove_wpautop( $content ) . ''; +} // End woo_shortcode_ilink() +add_shortcode( 'ilink', 'woo_shortcode_ilink' ); + +/*-----------------------------------------------------------------------------------*/ +/* 13. jQuery Toggle +/*-----------------------------------------------------------------------------------*/ +/* + +} + +Optional arguments: + - title: The text in the main trigger + - hide: Hide the toggle box on load + - display_main_trigger: Display the main trigger on the toggle + +*/ +function woo_shortcode_toggle ( $atts, $content = null ) { + // Instruct the shortcode JavaScript to load. + if ( ! defined( 'WOO_SHORTCODE_JS' ) ) { define( 'WOO_SHORTCODE_JS', 'load' ); } + + $defaults = array( + 'title_open' => __( 'Hide the Content', 'woothemes' ), + 'title_closed' => __( 'Show the Content', 'woothemes' ), + 'hide' => 'yes', + 'display_main_trigger' => 'yes', + 'style' => 'default', + 'border' => 'yes', + 'excerpt_length' => '0', + 'include_excerpt_html' => 'no', + 'read_more_text' => __( 'Read More', 'woothemes' ), + 'read_less_text' => __( 'Read Less', 'woothemes' ) + ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $title = ''; + $class = ''; + + $class_open = ' toggle-' . sanitize_title( $title_open ); + + $class_closed = ' toggle-' . sanitize_title( $title_closed ); + + if ( $hide == 'yes' ) { + $class .= $class_closed . ' closed'; $title = $title_closed; + } else { + $class .= $class_open . ' open'; $title = $title_open; + } // End IF Statement + + $main_trigger = ''; + + if ( $display_main_trigger == 'yes' ) { + + $main_trigger = '

    ' . $title . '

    ' . "\n"; + + } // End IF Statement + + // Add the alternate style to the CSS class. + $class .= ' ' . $style; + + // Add the border class, if necessary. + if ( $border == 'yes' ) { $class .= ' border'; } // End IF Statement + + // If the excerpt length is greater than 0, apply the excerpt logic. + $excerpt_length = intval( $excerpt_length ); + + if ( $excerpt_length > 0 ) { + $orig_content = $content; + + if ( $include_excerpt_html == 'no' ) { + $content = strip_tags( $content ); + } + + $excerpt = substr( $content, 0, $excerpt_length ); + + $more_link = '' . $read_more_text . ''; + + $content = '' . $excerpt . '' . "\n" . $more_link . "\n" . '' . substr( $content, $excerpt_length, strlen( $content ) ) . '' . "\n"; + } + + return '
    ' . $main_trigger . '
    ' . do_shortcode( $content ) . '
    ' . "\n" . '' . '
    '; +} // End woo_shortcode_toggle() + +add_shortcode( 'toggle', 'woo_shortcode_toggle', 99 ); + +/*-----------------------------------------------------------------------------------*/ +/* 14. Facebook Share Button - fbshare +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://developers.facebook.com/docs/share + +Optional arguments: + - type: box_count, button_count, button (default), icon_link, or icon + - float: none, left, right (default: left) + +*/ +function woo_shortcode_fbshare($atts, $content = null) { + extract( shortcode_atts( array( 'url' => '', 'type' => 'button', 'float' => 'left', 'width' => 100 ), $atts ) ); + + global $post; + + if ( isset( $url ) && $url == '' && isset( $post ) ) { $url = get_permalink( $post->ID ); } // End IF Statement + + $output = '
    '; + + // Load the necessary JavaScript in the footer. + if ( ! has_action( 'wp_footer', 'woo_shortcode_fbshare_javascript' ) ) add_action( 'wp_footer', 'woo_shortcode_fbshare_javascript' ); + + return $output; +} // End woo_shortcode_fbshare() +add_shortcode( 'fbshare', 'woo_shortcode_fbshare' ); + +/** + * Output the JavaScript necessary for handling the 'fbshare' shortcode. + * @since 6.0.0 + * @return void + */ +function woo_shortcode_fbshare_javascript () { + echo '
    +' . "\n"; +} // End woo_shortcode_fbshare_javascript() + +/*-----------------------------------------------------------------------------------*/ +/* 15. Advanced Contact Form - contact_form +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - email: The e-mail address to which the form will send (defaults to woo_contactform_email). + - subject: The subject of the e-mail (defaults to "Message via the contact form". + - button_text: Optionally change the text of the "submit" button. + + - Advanced form fields functionality, for creating dynamic form fields: + --- Text Input: text_fieldname="Text Field Label|Optional Default Text" + --- Select Box: select_fieldname="Select Box Label|key=value,key=value,key=value" + --- Textarea Input: textarea_fieldname="Textarea Field Label|Optional Default Text|Optional Number of Rows|Optional Number of Columns" + --- Checkbox Input: checkbox_fieldname="Checkbox Field Label|Value of the Checkbox|Checked By Default" + --- Radio Button Input: radio_fieldname="Radio Field Label|key=value,key=value,key=value|Optional Default Value" + +*/ + +function woo_shortcode_contactform ( $atts, $content = null ) { + $defaults = array( + 'email' => get_option( 'woo_contactform_email'), + 'subject' => __( 'Message via the contact form', 'woothemes' ), + 'button_text' => apply_filters( 'woo_contact_form_button_text', __( 'Submit', 'woothemes' ) ), + 'show_default_fields' => 'yes' + ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // Extract the dynamic fields as well, if they don't have a value in $defaults. + $html = ''; + $dynamic_atts = array(); + $formatted_dynamic_atts = array(); + $error_messages = array(); + + if ( is_array( $atts ) ) { + foreach ( $atts as $k => $v ) { + ${$k} = $v; + + $dynamic_atts[$k] = ${$k}; + } + } + + // Parse dynamic fields. + if ( count( $dynamic_atts ) ) { + foreach ( $dynamic_atts as $k => $v ) { + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // The default value. + if ( array_key_exists( 2, $params ) ) { $default_value = $params[2]; } else { $default_value = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options, 'default_value' => $default_value ); + + } // End IF Statement + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // The default value. + if ( array_key_exists( 2, $params ) ) { $default_value = $params[2]; } else { $default_value = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options, 'default_value' => $default_value ); + + } // End IF Statement + + /* Parse the checkbox inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'checkbox_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The value of the checkbox. + if ( array_key_exists( 1, $params ) ) { $value = $params[1]; } else { $value = ''; } // End IF Statement + + // Checked by default? + if ( array_key_exists( 1, $params ) ) { $checked = $params[2]; } else { $checked = ''; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'value' => $value, 'checked' => $checked ); + + } // End IF Statement + + /* Parse the text inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 5 ) == 'text_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The default text. + if ( array_key_exists( 1, $params ) ) { $default_text = $params[1]; } else { $default_text = ''; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'default_text' => $default_text ); + + } // End IF Statement + + /* Parse the select boxes. + --------------------------------------------------*/ + + if ( substr( $k, 0, 7 ) == 'select_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options ); + + } // End IF Statement + + /* Parse the textarea inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'textarea_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The default text. + if ( array_key_exists( 1, $params ) ) { $default_text = $params[1]; } else { $default_text = ''; } // End IF Statement + + // The number of rows. + if ( array_key_exists( 2, $params ) ) { $number_of_rows = $params[2]; } else { $number_of_rows = 10; } // End IF Statement + + // The number of columns. + if ( array_key_exists( 3, $params ) ) { $number_of_columns = $params[3]; } else { $number_of_columns = 10; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'default_text' => $default_text, 'number_of_rows' => $number_of_rows, 'number_of_columns' => $number_of_columns ); + + } // End IF Statement + + } // End FOREACH Loop + + // Make sure the key is the field name, and the value is the translated label text. + $label_translations = apply_filters( 'woo_contact_form_label_translations', array() ); + if ( is_array( $formatted_dynamic_atts ) && 0 < count( $formatted_dynamic_atts ) ) { + foreach ( $formatted_dynamic_atts as $k => $v ) { + if ( in_array( $k, array_keys( $label_translations ) ) && isset( $v['label'] ) ) { + $formatted_dynamic_atts[$k]['label'] = esc_html( $label_translations[$k] ); + } + } + } + } // End IF Statement + + /*-------------------------------------------------- + * Form Processing. + * + * Here is where we validate the POST'ed data and + * format it for sending in an e-mail. + * + * We then send the e-mail and notify the user. + --------------------------------------------------*/ + + $emailSent = false; + + if ( ( count( $_POST ) > 2 ) && isset( $_POST['submitted'] ) ) { + + $fields_to_skip = array( 'checking', 'submitted', 'sendCopy' ); + $default_fields = array( 'contactName' => '', 'contactEmail' => '', 'contactMessage' => '' ); + $error_responses = array( + 'contactName' => __( 'Please enter your name', 'woothemes' ), + 'contactEmail' => __( 'Please enter your email address (and please make sure it\'s valid)', 'woothemes' ), + 'contactMessage' => __( 'Please enter your message', 'woothemes' ) + ); + + $posted_data = $_POST; + + // Check if we're using the default fields. + if ( $show_default_fields != 'no' ) { + // Check for errors. + foreach ( array_keys( $default_fields ) as $d ) { + if ( !isset ( $_POST[$d] ) || $_POST[$d] == '' || ( $d == 'contactEmail' && ! is_email( $_POST[$d] ) ) ) { + $error_messages[$d] = esc_html( $error_responses[$d] ); + } // End IF Statement + } // End FOREACH Loop + } else { + $default_fields = array( 'contactName' => get_bloginfo( 'name' ), 'contactEmail' => get_bloginfo( 'admin_email' ), 'contactMessage' => '' ); + } + + // If we have errors, don't do anything. Otherwise, run the processing code. + + if ( count( $error_messages ) ) {} else { + // Setup e-mail variables. + $message_fromname = $default_fields['contactName']; + $message_fromemail = strtolower( $default_fields['contactEmail'] ); + $message_subject = $subject; + $message_body = $default_fields['contactMessage'] . "\n\r\n\r"; + + $default_labels = apply_filters( 'woo_contact_form_shortcode_default_labels', array( 'Name' => __( 'Name', 'woothemes' ), 'Email' => __( 'Email', 'woothemes' ), 'Message' => __( 'Message', 'woothemes' ) ) ); + + // Filter out skipped fields and assign default fields. + foreach ( $posted_data as $k => $v ) { + if ( in_array( $k, $fields_to_skip ) ) { + unset( $posted_data[$k] ); + } // End IF Statement + + if ( in_array( $k, array_keys( $default_fields ) ) ) { + $default_fields[$k] = $v; + + unset( $posted_data[$k] ); + } // End IF Statement + } // End FOREACH Loop + + // Okay, so now we're left with only the dynamic fields. Assign to a fresh variable. + $dynamic_fields = $posted_data; + + // Format the default fields into the $message_body. + + foreach ( $default_fields as $k => $v ) { + if ( $v == '' ) {} else { + $label = str_replace( 'contact', '', $k ); + if ( isset( $default_labels[$label] ) ) $label = $default_labels[$label]; + $message_body .= $label . ': ' . $v . "\n\r"; + } // End IF Statement + } // End FOREACH Loop + + // Format the dynamic fields into the $message_body. + + foreach ( $dynamic_fields as $k => $v ) { + if ( $v == '' ) {} else { + $value = ''; + + if ( substr( $k, 0, 7 ) == 'select_' || substr( $k, 0, 6 ) == 'radio_' ) { + $message_body .= $formatted_dynamic_atts[$k]['label'] . ': ' . $formatted_dynamic_atts[$k]['options'][$v] . "\n\r"; + } else { + $message_body .= $formatted_dynamic_atts[$k]['label'] . ': ' . $v . "\n\r"; + } // End IF Statement + } // End IF Statement + } // End FOREACH Loop + + // Send the e-mail. + $headers = 'From:' . $default_fields['contactName'] . ' <' . $default_fields['contactEmail'] . '>' . "\r\n" . 'Reply-To:' . $default_fields['contactEmail']; + + $emailSent = wp_mail($email, $subject, $message_body, $headers); + + // Send a copy of the e-mail to the sender, if specified. + if ( isset( $_POST['sendCopy'] ) && $_POST['sendCopy'] == 'true' ) { + $headers = 'From:' . $default_fields['contactName'] . ' <' . $default_fields['contactEmail'] . '>' . "\r\n" . 'Reply-To:' . $default_fields['contactEmail']; + + $emailSent = wp_mail($default_fields['contactEmail'], $subject, $message_body, $headers); + } // End IF Statement + + } // End IF Statement ( count( $error_messages ) ) + + } // End IF Statement + + /* Generate the form HTML. + --------------------------------------------------*/ + + $html .= '
    ' . "\n"; + + /* Display message HTML if necessary. + --------------------------------------------------*/ + + // Success messages + if( isset( $emailSent ) && $emailSent == true ) { + $html .= do_shortcode( '[box type="tick"]' . __( 'Your email was successfully sent.', 'woothemes' ) . '[/box]' ); + $html .= '' . "\n"; + } + + // Error messages + if( count( $error_messages ) ) { + $html .= do_shortcode( '[box type="alert"]' . __( 'There were one or more errors while submitting the form.', 'woothemes' ) . '[/box]' ); + } + + // No e-mail address supplied. + if( $email == '' ) { + $html .= do_shortcode( '[box type="alert"]' . __( 'E-mail has not been setup properly. Please add your contact e-mail!', 'woothemes' ) . '[/box]' ); + } + + if ( $email == '' ) {} else { + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + + /* Parse the "static" form fields. + --------------------------------------------------*/ + if ( $show_default_fields != 'no' ) { + $contactName = ''; + if( isset( $_POST['contactName'] ) ) { $contactName = $_POST['contactName']; } + + $contactEmail = ''; + if( isset( $_POST['contactEmail'] ) ) { $contactEmail = $_POST['contactEmail']; } + + $contactMessage = ''; + if( isset( $_POST['contactMessage'] ) ) { $contactMessage = stripslashes( $_POST['contactMessage'] ); } + + $html .= '

    ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactName', $error_messages ) ) { + $html .= '' . esc_html( $error_messages['contactName'] ) . '' . "\n"; + } + + $html .= '

    ' . "\n"; + + $html .= '

    ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactEmail', $error_messages ) ) { + $html .= '' . esc_html( $error_messages['contactEmail'] ) . '' . "\n"; + } + + $html .= '

    ' . "\n"; + + $html .= '

    ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactMessage', $error_messages ) ) { + $html .= '' . esc_html( $error_messages['contactMessage'] ) . '' . "\n"; + } + + $html .= '

    ' . "\n"; + } // End static fields check + + /* Parse dynamic fields into HTML. + --------------------------------------------------*/ + + if ( count( $formatted_dynamic_atts ) ) { + + foreach ( $formatted_dynamic_atts as $k => $v ) { + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + /* Generate Select Box Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_value']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

    ' . "\n"; + + $html .= '' . "\n"; + + foreach ( $v['options'] as $value => $label ) { + $html .= ' ' . esc_html( $label ) . '
    ' . "\n"; + } + + $html .= '
    ' . "\n"; + } + + /* Parse the checkbox inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'checkbox_' ) { + /* Generate Checkbox Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['value']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $checked = 0; + if ( array_key_exists( 'checked', $v ) && $v['checked'] == 'yes' ) { $checked = ${$k}; } + + $html .= '

    ' . "\n"; + $html .= '' . "\n"; + $html .= '

    ' . "\n"; + } + + /* Parse the text inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 5 ) == 'text_' ) { + /* Generate Text Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_text']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

    ' . "\n"; + $html .= '

    ' . "\n"; + } + + /* Parse the select boxes. + --------------------------------------------------*/ + + if ( substr( $k, 0, 7 ) == 'select_' ) { + /* Generate Select Box Field HTML. + ----------------------------------------------*/ + + ${$k} = ''; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

    ' . "\n"; + $html .= '

    ' . "\n"; + } + + /* Parse the textarea inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'textarea_' ) { + /* Generate Textarea Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_text']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

    ' . "\n"; + $html .= '

    ' . "\n"; + + } + } // End FOREACH Loop + } // End IF Statement + + /* The end of the form. + ----------------------------------------------*/ + + $sendCopy = ''; + if(isset($_POST['sendCopy']) && $_POST['sendCopy'] == true) { + $sendCopy = ' checked="checked"'; + } + + $html .= '

    ' . "\n"; + + $checking = ''; + if(isset($_POST['checking'])) { + $checking = $_POST['checking']; + } + + $html .= '

    ' . "\n"; + $html .= '

    '; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + } // End IF Statement ( $email == '' ) + + return $html; +} // End woo_shortcode_contactform() + +add_shortcode( 'contact_form', 'woo_shortcode_contactform' ); + +/*-----------------------------------------------------------------------------------*/ +/* 16. Tabs - [tabs][/tabs] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_tabs ( $atts, $content = null ) { + // Instruct the shortcode JavaScript to load. + if ( ! defined( 'WOO_SHORTCODE_JS' ) ) { define( 'WOO_SHORTCODE_JS', 'load' ); } + + $defaults = array( 'style' => 'default', 'title' => '', 'css' => '', 'id' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // If no unique ID is set, set the ID as a random number between 1 and 100 (to make sure each tab group is unique). + if ( $id == '' ) { $id = rand( 1, 100 ); } + if ( $css != '' ) { $css = ' ' . $css; } + + // Extract the tab titles for use in the tabber widget. + preg_match_all( '/tab title="([^\"]+)"/i', $content, $matches, PREG_OFFSET_CAPTURE ); + + $tab_titles = array(); + $tabs_class = 'tab_titles'; + + if ( isset( $matches[1] ) ) { $tab_titles = $matches[1]; } // End IF Statement + + $titles_html = ''; + + if ( count( $tab_titles ) ) { + if ( $title ) { $titles_html .= '

    ' . esc_html( $title ) . '

    '; $tabs_class .= ' has_title'; } // End IF Statement + + $titles_html .= '
      ' . "\n"; + + $counter = 1; + + foreach ( $tab_titles as $t ) { + $titles_html .= '' . "\n"; + $counter++; + } // End FOREACH Loop + + $titles_html .= '
    ' . "\n"; + } // End IF Statement + + return '
    ' . $titles_html . do_shortcode( $content ) . "\n" . '
    ' . "\n" . '
    '; +} // End woo_shortcode_tabs() + +add_shortcode( 'tabs', 'woo_shortcode_tabs', 90 ); + +/*-----------------------------------------------------------------------------------*/ +/* 16.1 A Single Tab - [tab title="The title goes here"][/tab] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_tab_single ( $atts, $content = null ) { + $defaults = array( 'title' => 'Tab' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $class = ''; + + if ( $title != 'Tab' ) { + $class = ' tab-' . sanitize_title( $title ); + } + + return '
    ' . do_shortcode( $content ) . '
    '; +} // End woo_shortcode_tab_single() + +add_shortcode( 'tab', 'woo_shortcode_tab_single', 99 ); + +/*-----------------------------------------------------------------------------------*/ +/* 17. Dropcap - [dropcap][/dropcap] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_dropcap ( $atts, $content = null ) { + $defaults = array(); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; +} // End woo_shortcode_dropcap() + +add_shortcode( 'dropcap', 'woo_shortcode_dropcap' ); + +/*-----------------------------------------------------------------------------------*/ +/* 18. Highlight - [highlight][/highlight] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_highlight ( $atts, $content = null ) { + $defaults = array(); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; +} // End woo_shortcode_highlight() + +add_shortcode( 'highlight', 'woo_shortcode_highlight' ); + +/*-----------------------------------------------------------------------------------*/ +/* 19. Abbreviation - [abbr][/abbr] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_abbreviation ( $atts, $content = null ) { + $defaults = array( 'title' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; +} // End woo_shortcode_abbreviation() + +add_shortcode( 'abbr', 'woo_shortcode_abbreviation' ); + +/*-----------------------------------------------------------------------------------*/ +/* 20. Typography - [typography font="" size="" color=""][/typography] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_typography ( $atts, $content = null ) { + global $google_fonts, $woo_used_google_fonts; + + // Get just the names of the Google fonts. + $google_font_names = array(); + + if ( count( $google_fonts ) ) { + foreach ( $google_fonts as $g ) { + $google_font_names[] = $g['name']; + } // End FOREACH Loop + } // End IF Statement + + // Build array of usable typefaces. + $fonts_whitelist = array( + 'Arial, Helvetica, sans-serif', + 'Verdana, Geneva, sans-serif', + '|Trebuchet MS|, Tahoma, sans-serif', + 'Georgia, |Times New Roman|, serif', + 'Tahoma, Geneva, Verdana, sans-serif', + 'Palatino, |Palatino Linotype|, serif', + '|Helvetica Neue|, Helvetica, sans-serif', + 'Calibri, Candara, Segoe, Optima, sans-serif', + '|Myriad Pro|, Myriad, sans-serif', + '|Lucida Grande|, |Lucida Sans Unicode|, |Lucida Sans|, sans-serif', + '|Arial Black|, sans-serif', + '|Gill Sans|, |Gill Sans MT|, Calibri, sans-serif', + 'Geneva, Tahoma, Verdana, sans-serif', + 'Impact, Charcoal, sans-serif' + ); + + $fonts_whitelist = array(); // Temporarily remove the default fonts. + + $defaults = array( 'font' => 'Arial, Helvetica, sans-serif', 'size' => '12', 'color' => '#000000', 'size_format' => 'px' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // Run checks to make sure it's an allowed font stack. + if ( in_array( $font, $fonts_whitelist ) || in_array( $font, $google_font_names ) ) { + if ( in_array( $font, $google_font_names ) ) { + + // Set up global array of used Google fonts for processing later + if( ! $woo_used_google_fonts ) { $woo_used_google_fonts = array(); } + + // Add to array of used Google fonts + if ( ! in_array( $font, $woo_used_google_fonts ) ) { + $woo_used_google_fonts[] = $font; + } // End IF Statement + + $font = "'" . $font . "'"; + } // End IF Statement + } else { + $font = 'Arial, Helvetica, sans-serif'; + } // End IF Statement + + // $font = str_replace( '|', '"', $font ); + + return '' . do_shortcode( $content ) . ''; +} // End woo_shortcode_typography() + +add_shortcode( 'typography', 'woo_shortcode_typography' ); + +add_action( 'wp_head', 'woo_shortcode_typography_loadgooglefonts', 0 ); + +function woo_shortcode_typography_loadgooglefonts ( $font = false , $id = false ) { + if ( $font ) { + // If a specific font is requested, just enqueue that font. + $variations = array( + 'Raleway' => ':100', + 'Coda' => ':800', + 'UnifrakturCook' => ':bold', + 'Allan' => ':bold', + 'Sniglet' => ':800', + 'Cabin' => ':bold', + 'Corben' => ':bold', + 'Buda' => ':light' + ); + + $f = $font; + + $f = str_replace( ' ', '+', $f ); + + $f_include = $f; + + if ( in_array( $f, array_keys( $variations ) ) ) { + $f_include = $f . $variations[$f]; + } // End IF Statement + + if( ! $id ) { + $id = 'woo-googlefont-' . sanitize_title( $f ); + } + + wp_enqueue_style( $id , 'http'. ( is_ssl() ? 's' : '' ) .'://fonts.googleapis.com/css?family=' . $f_include . '' , array() , '3.6' , 'screen' ); + } // End IF Statement +} // End woo_shortcode_typography_loadgooglefonts() + +/*-----------------------------------------------------------------------------------*/ +/* 21. List Styles - Unordered List - [unordered_list style=""][/unordered_list] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_unorderedlist ( $atts, $content = null ) { + $defaults = array( 'style' => 'default' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '
    ' . do_shortcode( $content ) . '
    ' . "\n"; +} // End woo_shortcode_unorderedlist() + +add_shortcode( 'unordered_list', 'woo_shortcode_unorderedlist' ); + +/*-----------------------------------------------------------------------------------*/ +/* 22. List Styles - Ordered List - [ordered_list style=""][/ordered_list] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_orderedlist ( $atts, $content = null ) { + $defaults = array( 'style' => 'default' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '
    ' . do_shortcode( $content ) . '
    ' . "\n"; +} // End woo_shortcode_orderedlist() + +add_shortcode( 'ordered_list', 'woo_shortcode_orderedlist' ); + +/*-----------------------------------------------------------------------------------*/ +/* 23. Social Icon - [social_icon url="" float="" icon_url="" title="" profile_type="" window=""] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_socialicon ( $atts, $content = null ) { + $defaults = array( 'url' => '', 'float' => 'none', 'icon_url' => '', 'title' => '', 'profile_type' => '', 'window' => 'no', 'rel' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + if ( ! $url ) { return; } // End IF Statement - Don't run the shortcode if no URL has been supplied. + + // Attempt to determine the location of the social profile. + // If no location is found, a default icon will be used. + + $_default_icon = ''; + + $_supported_profiles = array( + 'facebook' => 'facebook.com', + 'twitter' => 'twitter.com', + 'youtube' => 'youtube.com', + 'delicious' => 'delicious.com', + 'flickr' => 'flickr.com', + 'linkedin' => 'linkedin.com', + 'googleplus' => 'plus.google.com' + ); + + $_profile_to_display = ''; + $_alt_text = ''; + $_classes = 'social-icon'; + + $_profile_match = false; + + // If they've specified an icon, skip the automation. + + if ( $profile_type != '' ) { + $_profile_match = true; + $_profile_to_display = $profile_type; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $_profile_to_display ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + $_profile_class = ' social-icon-' . $_profile_to_display; + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + } + } // End IF Statement + + // Create a special scenario for use with the RSS feed for this website. + if ( $url == 'feed' ) { + $_profile_match = true; + $_profile_to_display = 'rss'; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = __( 'Subscribe to our RSS feed', 'woothemes' ); } // End IF Statement + $_classes .= ' social-icon-subscribe'; + $url = get_bloginfo( 'rss2_url' ); + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + } + } else { + foreach ( $_supported_profiles as $k => $v ) { + if ( $_profile_match == true ) { break; } // End IF Statement - Break out of the loop if we already have a match. + + // Get host name from URL + preg_match( '@^(?:http://)?([^/]+)@i', $url, $matches ); + $host = $matches[1]; + + if ( $host == $v ) { + + $_profile_match = true; + $_profile_to_display = $k; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $_profile_to_display ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + $_profile_class = ' social-icon-' . $_profile_to_display; + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + } + } else { + $_profile_to_display = 'default'; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $matches[1] ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + + $_host_bits = explode( '.', $matches[1] ); + $_profile_class = ' social-icon-' . $_host_bits[0]; + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + + // Check if an image has been added for this social icon. + if ( file_exists( trailingslashit( get_stylesheet_directory() ) . 'images/ico-social-' . $_host_bits[0] . '.png' ) ) { + $_img_url = trailingslashit( get_stylesheet_directory_uri() ) . 'images/ico-social-' . $_host_bits[0] . '.png'; + } + } // End IF Statement + } // End IF Statement + } // End FOREACH Loop + + $_classes .= $_profile_class; + + // Determine the floating CSS class to be used. + switch ( $float ) { + case 'left': + $_classes .= ' fl'; + break; + + case 'right': + $_classes .= ' fr'; + break; + + default: + break; + } + } // End IF Statement + + $target = ''; + if ( $window == 'yes' ) { $target = ' target="_blank"'; } // End IF Statement + if ( $rel != '' ) { $rel = ' rel="' . esc_attr( $rel ) . '"'; } + + return '' . esc_attr( $_alt_text ) . '' . "\n"; +} // End woo_shortcode_socialicon() + +add_shortcode( 'social_icon', 'woo_shortcode_socialicon' ); + +/*-----------------------------------------------------------------------------------*/ +/* 24. LinkedIn Button - [linkedin_share url="" style=""] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_linkedin_share ( $atts, $content = null ) { + + $defaults = array( 'url' => '', 'style' => 'none', 'float' => 'none' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $allowed_floats = array( 'left' => 'fl', 'right' => 'fr', 'none' => '' ); + $allowed_styles = array( 'top' => ' data-counter="top"', 'right' => ' data-counter="right"', 'none' => '' ); + + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + if ( ! in_array( $style, array_keys( $allowed_styles ) ) ) { $style = 'none'; } + + if ( $url ) { $url = ' data-url="' . esc_url( $url ) . '"'; } + + $output = ''; + + if ( $float == 'none' ) {} else { $output .= '
    ' . "\n"; } + + $output .= '' . "\n"; + + if ( $float == 'none' ) {} else { $output .= '
    ' . "\n"; } + + // Enqueue the LinkedIn button JavaScript from their API. + add_action( 'wp_footer', 'woo_shortcode_linkedin_js' ); + add_action( 'woo_shortcode_generator_preview_footer', 'woo_shortcode_linkedin_js' ); + + return $output . "\n"; +} // End woo_shortcode_linkedin_share() + +add_shortcode( 'linkedin_share', 'woo_shortcode_linkedin_share' ); + +/*-----------------------------------------------------------------------------------*/ +/* 24.1 Load Javascript for LinkedIn Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_linkedin_js () { + echo '' . "\n"; +} // End woo_shortcode_linkedin_js() + +/*-----------------------------------------------------------------------------------*/ +/* 25. Google +1 Button - [google_plusone] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_google_plusone ( $atts, $content = null ) { + global $post; + + $defaults = array( + 'size' => '', + 'language' => '', + 'count' => '', + 'href' => '', + 'callback' => '', + 'float' => 'none', + 'annotation' => 'none' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $params = array(); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + if ( ! in_array( $annotation, array( 'bubble', 'inline', 'none' ) ) ) { $annotation = 'none'; } + + // A friendly-looking array of supported languages, along with their codes. + $supported_languages = array( + 'ar' => 'Arabic', + 'bg' => 'Bulgarian', + 'ca' => 'Catalan', + 'zh-CN' => 'Chinese (Simplified)', + 'zh-TW' => 'Chinese (Traditional)', + 'hr' => 'Croatian', + 'cs' => 'Czech', + 'da' => 'Danish', + 'nl' => 'Dutch', + 'en-US' => 'English (US)', + 'en-GB' => 'English (UK)', + 'et' => 'Estonian', + 'fil' => 'Filipino', + 'fi' => 'Finnish', + 'fr' => 'French', + 'de' => 'German', + 'el' => 'Greek', + 'iw' => 'Hebrew', + 'hi' => 'Hindi', + 'hu' => 'Hungarian', + 'id' => 'Indonesian', + 'it' => 'Italian', + 'ja' => 'Japanese', + 'ko' => 'Korean', + 'lv' => 'Latvian', + 'lt' => 'Lithuanian', + 'ms' => 'Malay', + 'no' => 'Norwegian', + 'fa' => 'Persian', + 'pl' => 'Polish', + 'pt-BR' => 'Portuguese (Brazil)', + 'pt-PT' => 'Portuguese (Portugal)', + 'ro' => 'Romanian', + 'ru' => 'Russian', + 'sr' => 'Serbian', + 'sv' => 'Swedish', + 'sk' => 'Slovak', + 'sl' => 'Slovenian', + 'es' => 'Spanish', + 'es-419' => 'Spanish (Latin America)', + 'th' => 'Thai', + 'tr' => 'Turkish', + 'uk' => 'Ukrainian', + 'vi' => 'Vietnamese' + ); + + $output = ''; + $tag_atts = ''; + + // Make sure we only have Google +1 attributes in our array, after parsing the "float" parameter. + unset( $atts['float'] ); + + if ( $atts['href'] == '' & isset( $post->ID ) ) { + $atts['href'] = get_permalink( $post->ID ); + } + + foreach ( $atts as $k => $v ) { + if ( ${$k} != '' ) { + $tag_atts .= ' data-' . esc_attr( $k ) . '="' . esc_attr( ${$k} ) . '"'; + } + } + + $output = '
    ' . "\n"; + + // Parameters to pass to Google PlusOne JavaScript. + if ( in_array( $atts['language'] , array_values( $supported_languages ) ) ) { + $language = ''; + + foreach ( $supported_languages as $k => $v ) { + if ( $v == $atts['language'] ) { + $language = $k; + break; + } + } + + $params = array( 'language' => $language ); + } + + // Enqueue the Google +1 button JavaScript from their API. + woo_shortcode_google_plusone_js( $params ); + + return $output . "\n"; +} // End woo_shortcode_google_plusone() + +add_shortcode( 'google_plusone', 'woo_shortcode_google_plusone' ); + +/*-----------------------------------------------------------------------------------*/ +/* 25.1 Load Javascript for Google +1 Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_google_plusone_js ( $params ) { + echo '' . "\n"; + echo '' . "\n"; +} // End woo_shortcode_google_plusone_js() + +/*-----------------------------------------------------------------------------------*/ +/* 26. Twitter Follow Button - [twitter_follow] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_twitter_follow ( $atts, $content = null ) { + + global $post; + + if ( ! isset( $atts['username'] ) || ( $atts['username'] == '' ) ) { return; } // We can't continue without the username. + + $defaults = array( + 'username' => '', + 'button_color' => 'blue', + 'text_color' => '', + 'link_color' => '', + 'width' => '', + 'align' => '', + 'language' => '', + 'count' => '', + 'float' => 'none', + 'show_screen_name' => 'true', + 'size' => 'medium' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $allowed_langs = array( 'en', 'fr', 'de', 'it', 'es', 'ko', 'ja' ); + if ( ! in_array( $language, array_keys( $allowed_langs ) ) ) { $language = ''; } + + $output = ''; + $tag_atts = ''; + + // Make sure we only have Google +1 attributes in our array, after parsing the "float" parameter. + unset( $atts['float'] ); + unset( $atts['username'] ); + + // Setup array of attributes and the value keys containing the data for each. + $att_keys = array( + 'button_color' => 'data-button', + 'text_color' => 'data-text-color', + 'link_color' => 'data-link-color', + 'width' => 'data-width', + 'align' => 'data-align', + 'language' => 'data-lang', + 'count' => 'data-show-count', + 'show_screen_name' => 'data-show-screen-name', + 'size' => 'data-size' + ); + + foreach ( $atts as $k => $v ) { + if ( ${$k} != '' ) { + $tag_atts .= ' ' . esc_attr( $att_keys[$k] ) . '="' . esc_attr( ${$k} ) . '"'; + } + } + + $output = '
    ' . "\n"; + $output .= '' . "\n"; + $output .= woo_shortcode_twitter_follow_js( false ); + $output .= '
    ' . "\n"; + + return $output . "\n"; +} // End woo_shortcode_twitter_follow() + +add_shortcode( 'twitter_follow', 'woo_shortcode_twitter_follow' ); + +/*-----------------------------------------------------------------------------------*/ +/* 26.1 Load Javascript for Twitter Follow Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_twitter_follow_js ( $echo = true ) { + $html = '' . "\n"; + if ( true == $echo ) { echo $html; } else { return $html; } +} // End woo_shortcode_twitter_follow_js() + +/*-----------------------------------------------------------------------------------*/ +/* 27. StumbleUpon Badge - [stumbleupon] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_stumbleupon ( $atts, $content = null ) { + global $post; + + $defaults = array( + 'design' => 'horizontal_large', + 'float' => 'none', + 'url' => '', + 'use_post' => 'false' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $allowed_designs = array( 'horizontal_large' => '1', 'horizontal_medium' => '2', 'horizontal_small' => '3', 'icon_small' => '4', 'vertical_count' => '5', 'icon_large' => '6' ); + if ( ! in_array( $design, array_keys( $allowed_designs ) ) ) { $design = 'horizontal_large'; } + + $output = ''; + + $url_call = ''; + + // Use the custom URL, if it has been specified. + if ( $atts['url'] != '' ) { + $url_call = '&r=' . esc_url( $url ); + } + + // Use the URL to the current $post in the loop, if no custom URL is set and if instructed to do so. + if ( $url_call == '' && $atts['use_post'] == 'true' ) { + $url_call = '&r=' . esc_url( get_permalink( $post ) ); + } + + $output = apply_filters( 'woo_shortcode_stumbleupon', '
    ' . "\n", $atts ); + + return $output . "\n"; +} // End woo_shortcode_stumbleupon() + +add_shortcode( 'stumbleupon', 'woo_shortcode_stumbleupon' ); + +/*-----------------------------------------------------------------------------------*/ +/* 28. Pinterest "Pin It" Button [pinterest] */ +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_pinterest ( $atts, $content = null ) { + global $post; + + $defaults = array( + 'count' => 'horizontal', + 'float' => 'none', + 'url' => '', + 'image_url' => '', + 'description' => '', + 'use_post' => 'false' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $allowed_counts = array( 'horizontal', 'vertical', 'none' ); + if ( ! in_array( $count, array_keys( $allowed_counts ) ) ) { $count = 'horizontal'; } + + $output = ''; + + // Use the custom URL, if it has been specified. + if ( $atts['url'] != '' ) { + $url = esc_url( $atts['url'] ); + } else { + // Use the URL to the current $post in the loop. + $url = esc_url( get_permalink( $post ) ); + } + + // Use the custom image URL, if it has been specified. + if ( '' != $atts['image_url'] ) { + $image_url = esc_url( $atts['image_url'] ); + } else { + // Use the image of the current $post in the loop. + $image_url = esc_url( woo_image( 'link=url&return=true' ) ); + } + + // Use the custom description, if it has been specified. + if ( '' != $atts['description'] ) { + $description = esc_attr( $atts['description'] ); + } else { + // Use the excerpt of the current $post in the loop, if no description is set and if instructed to do so. + if ( 'true' == $atts['use_post'] ) { + $description = esc_attr( strip_shortcodes( apply_filters( 'get_the_excerpt', $post->post_excerpt ) ) ); + } + } + + $output = apply_filters( 'woo_shortcode_pinterest', '' . "\n", $atts ); + + // Enqueue the Pinterest button JavaScript from their API. + add_action( 'wp_footer', 'woo_shortcode_pinterest_javascript' ); + add_action( 'woo_shortcode_generator_preview_footer', 'woo_shortcode_pinterest_javascript' ); + + return $output . "\n"; +} // End woo_shortcode_pinterest() + +add_shortcode( 'pinterest', 'woo_shortcode_pinterest' ); + +/*-----------------------------------------------------------------------------------*/ +/* 28.1 Load Javascript for Pinterest Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_pinterest_javascript () { + echo '' . "\n"; +} // End woo_shortcode_pinterest_javascript() + +/*-----------------------------------------------------------------------------------*/ +/* THE END */ +/*-----------------------------------------------------------------------------------*/ +?> \ No newline at end of file diff --git a/mystile/functions/admin-style.css b/mystile/functions/admin-style.css new file mode 100755 index 0000000..886bc48 --- /dev/null +++ b/mystile/functions/admin-style.css @@ -0,0 +1,784 @@ +/*-------------------------------------------------------------------------------------------*/ +/* WooThemes admin styles */ +/*-------------------------------------------------------------------------------------------*/ + +/* If you have a screen which uses the old WooFramework styles, load this file in. */ + +/* UI SLIDER */ +#woo_container .section-slider .controls .ui-slider { float: left; margin: 0; top: 8px; width: 268px; border: 1px solid red; border: 1px solid #DDD; background: #EEE; color: #333;position: relative; text-align: left;height: .8em; } +#woo_container .section-slider .controls .ui-slider .ui-slider-handle { border: 1px solid #CCC; cursor: pointer; background: #F6F6F6; font-weight: bold; color: #1C94C4; outline: none; position: absolute; z-index: 2; width: 14px; height: 14px; cursor: pointer; top: -3px; margin-left: -7px; } +#woo_container .section-slider .controls .woo-input { float: right; width: 40px; } + +.updated, .error { display: none !important; } /* disable the admin notices */ +#wooframework_important_update.error { display: block !important; } +#wooframework_update.updated { display: block !important; } +#theme_update.updated { display: block !important; } /* Except for the theme update notifier */ + +#woo_container { margin-top: 15px; width: 827px; position:relative; z-index: 0 } + +/* WOOSEO AND WOOSIDEBARS DEPRECATION BANNER */ +#woodeprecate-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 15px; border: 1px solid #C00; background: #FFEBE8; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#woodeprecate-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#woodeprecate-banner span.main { margin-top: 2px; font-weight: bold; font-size: 16px; } +#woodeprecate-banner .button-primary { position: absolute; right: 20px; top: 27px; } +#woodeprecate-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#woodeprecate-banner .close-banner:hover { opacity: 1; } +#woodeprecate-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + +/* WOODOJO DOWNLOAD BANNER */ +#woodojo-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 90px; border: 1px solid #d9d9d9; background: #f5f5f5 url(images/ico-dojo-banner.png) no-repeat 14px 11px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#woodojo-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#woodojo-banner span.main { margin-top: 2px; font-weight: bold; font-size: 16px; } +#woodojo-banner .button-primary { position: absolute; right: 20px; top: 27px; } +#woodojo-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#woodojo-banner .close-banner:hover { opacity: 1; } +#woodojo-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + +/* PRESSTRENDS ENABLE BANNER */ +#presstrends-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 90px; border: 1px solid #d9d9d9; background: #f5f5f5 url(images/ico-presstrends-banner.png) no-repeat 14px 30px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#presstrends-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#presstrends-banner span.main { margin-top: 2px; font-weight: bold; font-size: 16px; margin-bottom: 5px; } +#presstrends-banner span.info { margin-right: 160px; line-height: 18px; } +#presstrends-banner .button-primary { position: absolute; right: 20px; top: 45px; } +#presstrends-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#presstrends-banner .close-banner:hover { opacity: 1; } +#presstrends-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + +/* STATIC FRONT PAGE BANNER */ +#staticfrontpage-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 15px; border: 1px solid #d9d9d9; background: #f5f5f5; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#staticfrontpage-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#staticfrontpage-banner span.main { margin-top: 2px; font-weight: normal; font-size: 14px; } +#staticfrontpage-banner span.subtext { font-size: 12px; } +#staticfrontpage-banner .button-primary { position: absolute; right: 20px; top: 27px; } +#staticfrontpage-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#staticfrontpage-banner .close-banner:hover { opacity: 1; } +#staticfrontpage-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + + +#woo_container #header { height: 80px; background: url(images/headertile.jpg) repeat-x left top; border: 1px solid #a4bbcd; border-top-left-radius: 15px; -moz-border-radius-topleft: 15px; -webkit-border-top-left-radius: 15px; -webkit-border-top-right-radius: 15px; border-top-right-radius: 15px; -moz-border-radius-topright: 15px; +/*INSET SHADOW*/ +-webkit-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +-moz-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +} + +#woo_container #header .logo { float: left; margin: 24px 0 0 25px; height: 35px; } +#woo_container #header .theme-info { float: right; margin: 26px 25px 0 0; } +#woo_container #header .theme-info span { display: block; line-height: 15px; text-transform: uppercase; text-align: right; color: #4e4e4e; text-shadow: 1px 1px 0 #fff; } +#woo_container #header .theme-info .theme { font-size: 15px; font-weight: bold; } +#woo_container #header .theme-info .framework { font-size: 12px; } +#woo_container #header .theme-info b { font-size: 11px; text-transform: none; color: #444; font-weight: 100; } + +#woo_container #support-links { height: 32px; padding: 0 0 0 15px; background-color: #d7e6f2; border-top: 1px solid #f1f6fa; border-bottom: 1px solid #a4bbcd; border-left: 1px solid #d8d8d8; border-right: 1px solid #d8d8d8; } +#woo_container #support-links ul { margin: 0; } +#woo_container #support-links ul li { display: inline; margin: 0 6px 0 0; } +#woo_container #support-links ul li a:link, #support-links ul li a:visited { line-height: 32px; font-size: 10px; font-weight: bold; text-transform: uppercase; text-decoration: none; color: #21759b; text-shadow: 1px 1px 0 #fff; } +#woo_container #support-links ul li a:hover { color: #155876; } +#woo_container #support-links ul li.changelog { padding: 2px 0 2px 20px; background: url(images/ico-changelog.png) no-repeat left center; } +#woo_container #support-links ul li.docs { padding: 1px 0 1px 20px; background: url(images/ico-docs.png) no-repeat left top; } +#woo_container #support-links ul li.forum { padding: 1px 0 1px 20px; background: url(images/ico-forum.png) no-repeat left top; } +#woo_container #support-links ul li.right { float:right; margin-right:15px} + +#woo_container #main { background-color: #f1f1f1; border-left: 1px solid #d8d8d8; border-right: 1px solid #d8d8d8; border-bottom: 1px solid #d8d8d8; } + +#woo_container #main #content { position: relative; margin-left: 189px; } + +#woo_container #woo-nav-shadow { width: 50px; position: absolute; top: 0; bottom: 0; right: 0; background: transparent url(images/menu-shadow.png) repeat-y top right; width: 6px; z-index: 999;} + +#woo_container #wooform { position: relative; } +#woo_container #woo-nav { float: left; position: absolute; top: 116px; bottom: 47px; z-index: 9999; width: 190px; } +#woo_container.add #wooform-content-builder #woo-nav, #woo_container.edit #wooform-content-builder #woo-nav { top: 150px; } +#woo_container #woo-nav ul { margin:0; } +#woo_container #woo-nav li { margin-bottom:0; position: relative;} +#woo_container #woo-nav ul li a:link, #woo-nav ul li a:visited { display: block; padding: 7px 10px 7px 10px; font:bold 12px/18px sans-serif; text-decoration: none; color: #797979; border-bottom: 1px solid #d8d8d8; border-top:1px solid #fff; text-shadow: 0 1px 0 #fff; } +#woo_container #woo-nav ul li.current a:link, #woo_container #woo-nav ul li.current a:visited { + color: #21759b; + margin-left: -1px; + background-color: #777; + background-image: -ms-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -moz-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -o-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080)); + background-image: -webkit-linear-gradient(bottom,#6d6d6d,#808080); + background-image: linear-gradient(bottom,#6d6d6d,#808080); + text-shadow: 0 -1px 0 #333; + color: white; + border-top-color: gray; + border-bottom-color: #6D6D6D; +} +body.js #woo_container #woo-nav li.current ul.sub-menu, body.js #woo_container #woo-nav li.current ul.sub-menu li a { margin-left:0; } + +#woo-nav li .arrow { + display: none; + top: 1px; + cursor: auto; + position: absolute; + left: -1000px; + margin: 0; + height: 32px; + width: 6px; + -moz-transform: translate(146px); + -webkit-transform: translate(146px); + -o-transform: translate(146px); + -ms-transform: translate(146px); + transform: translate(146px); +} + + +#woo-nav li .arrow div { + position: absolute; + -moz-transform: matrix(-0.6,1,0.6,1,0,0); + -webkit-transform: matrix(-0.6,1,0.6,1,0,0); + -o-transform: matrix(-0.6,1,0.6,1,0,0); + -ms-transform: matrix(-0.6,1,0.6,1,0,0); + transform: matrix(-0.6,1,0.6,1,0,0); + height: 17px; + width: 17px; + top: 7px; + left: -2px; + border-width: 0 0 1px 1px; + border-style: solid; + background: #E4E4E4; + border-color: #CCC; +} +#woo-nav li.has-children:hover .arrow { + display: block; + z-index: 9999; + -moz-transform: translate(1183px); + -webkit-transform: translate(1183px); + -o-transform: translate(1183px); + -ms-transform: translate(1183px); + transform: translate(1183px); + background: #E4E4E4; + border-color: #CCC; +} + +#woo-nav li.current .arrow, #woo-nav li.has-children.current .arrow { + display: block; + z-index: 9997; + -moz-transform: translate(1184px); + -webkit-transform: translate(1184px); + -o-transform: translate(1184px); + -ms-transform: translate(1184px); + transform: translate(1184px); + background-color: #777; + background-image: -ms-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -moz-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -o-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080)); + background-image: -webkit-linear-gradient(bottom,#6d6d6d,#808080); + background-image: linear-gradient(bottom,#6d6d6d,#808080); +} + +#woo_container #woo-nav ul li.current .arrow div { + border: none; + background-color: #777; + background-image: -ms-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: -moz-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: -o-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: -webkit-gradient(linear,right bottom,left top,from(#6d6d6d),to(#808080)); + background-image: -webkit-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: linear-gradient(right bottom,#6d6d6d,#808080); +} + +.admin-color-classic #woo_container #woo-nav ul li.current a:link, #woo_container #woo-nav ul li.current a:visited { + border-top-color: #5A8FAD; + border-bottom-color: #5589AA; + background-color: #5589AA; + background-image: -ms-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -moz-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -o-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb)); + background-image: -webkit-linear-gradient(bottom,#5589AA,#619bbb); + background-image: linear-gradient(bottom,#5589AA,#619bbb); +} +.admin-color-classic #woo-nav li.current .arrow, .admin-color-classic #woo-nav li.has-children.current .arrow { + background-color: #5589AA; + background-image: -ms-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -moz-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -o-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb)); + background-image: -webkit-linear-gradient(bottom,#5589AA,#619bbb); + background-image: linear-gradient(bottom,#5589AA,#619bbb); +} + +.admin-color-classic #woo_container #woo-nav ul li.current .arrow div { + border: none; + background-color: #5589AA; + background-image: -ms-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -moz-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -o-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb)); + background-image: -webkit-linear-gradient(bottom,#5589AA,#619bbb); + background-image: linear-gradient(bottom,#5589AA,#619bbb); +} + +#woo_container #woo-nav ul li a:hover { color: #D54E21; background-color: #e4e4e4; } +#woo_container #woo-nav ul li.current a:hover { color: #fff; } + +#woo_container #woo-nav li ul { background: #fff; border-bottom: 1px solid #DFDFDF; padding:5px 0; } +#woo_container #woo-nav li ul li { border: none; } + +/*-------------------------------------------------------------------------------------------*/ +/* Sub-Menu Navigation */ +/*-------------------------------------------------------------------------------------------*/ + +body.js #woo_container #woo-nav ul.sub-menu { display: none; margin: 0 1px; } +#wpwrap #woo_container #woo-nav li.top-level:hover { background-color: #e4e4e4; } +#wpwrap #woo_container #woo-nav li.top-level:hover .flyout-menu { display: block; } +#wpwrap #woo_container #woo-nav li.top-level.open:hover .flyout-menu { display: none; } +body.js #woo_container #woo-nav .flyout-menu { z-index: 9998; display: none; position: absolute; left: 190px; margin-top: -35px; width: 150px; background: #FFFFFF; border: 1px solid #EBEBEB; box-shadow: 5px 5px 10px rgba( 0, 0, 0, 0.4 ); } +body.js #woo_container #woo-nav .flyout-menu ul { border: none; padding:5px 0;} +#wpwrap #woo_container #woo-nav .flyout-menu li a { padding-left: 20px; } +body.js #woo_container #woo-nav li.open .flyout-menu { display: none; } +#wpwrap #woo_container #woo-nav .sub-menu a, #wpwrap #woo_container #woo-nav .flyout-menu a { background-color: #FFFFFF; background-image: none; border-bottom: 0; padding: 3px 5px 3px 15px; font-weight: normal; border: none; color: #21759B; text-shadow: none; } +#wpwrap #woo_container #woo-nav .sub-menu a:hover { background-color: #eaf2fa; color: #333; } +#wpwrap #woo_container #woo-nav .flyout-menu a:hover { background-color: none; color: #333; } +#wpwrap #woo_container #woo-nav .sub-menu .active a, #wpwrap #woo_container #woo-nav .flyout-menu .active a { color: #333333; font-weight: bold; } + +#woo_container #content { float: left; min-height: 650px; width: 595px; margin-left: -1px; padding: 0 20px; font-family: sans-serif; background-color: #fff; border-left: 1px solid #d8d8d8; } + +#woo_container #content .group h1 { display:none; padding: 20px 0; margin: 0 0 20px; font-size: 23px; color:#464646; font-weight:normal; border-bottom: 1px solid #e0e0e0; } + +#woo_container #content .section { margin-bottom: 10px; border-bottom: 1px solid #E7E7E7; padding-bottom:15px; } +#woo_container #content .section h3.heading { font-size:1.1em; margin: 15px 0 5px; padding: 7px 0px; } +#woo_container #content .section.section-info { border-bottom: none; margin:0; padding:0; } +#woo_container #content .section .controls { float: left; width: 345px; margin: 0 15px 0 0; } +#woo_container #content .section .explain { float: left; width: 235px; padding: 0 0 0 0; font-size: 11px; color: #999999; font-family: sans-serif; } + +#woo_container #content .section-checkbox .controls { width:25px} +#woo_container #content .section-checkbox .explain { width:540px} + +#woo_container #content .section-color .controls { width:125px} +#woo_container #content .section-color .explain { width:440px} + +#woo_container #content .section-info h3.heading { + font-size: 12px; font-weight: 100; border: 0; margin-top: 20px; letter-spacing: 1px; border-top: 1px solid #FFF298; margin-bottom: 0; background:#EFE186; padding: 10px 20px; } +#woo_container #content .section-info .controls { margin: 0 0 10px; padding: 15px 20px; width: auto; line-height: 1.5em; font-size: 14px; font-style: italic; font-family: Georgia, serif; background: #FFF298; border:1px solid #ECD852; color:#424242;} +#woo_container #content .section-info .controls small { font-size: 12px} + +#woo_container #content .section-info h3.heading { + -moz-border-radius-topleft:4px; + -moz-border-radius-topright:4px; +} +#woo_container #content .section-info .controls{ + float:none; + -moz-border-radius-bottomleft:4px; + -moz-border-radius-bottomright:4px; +} + +#woo_container textarea, #woo_container input, #woo_container select { + -moz-border-radius:4px; + -webkit-border-radius:4px; + -border-radius:4px; + border-style:solid; + border-width:1px; +} + +#woo_container input[type="checkbox"], #woo_container input[type="radio"] { + vertical-align: baseline; +} + +#woo_container .controls input,#woo_container .controls select,#woo_container .controls textarea { + margin-bottom: 9px !important; + background-color: #fafafa; + border: 1px solid; + border-color: #CCCCCC #EEEEEE #EEEEEE #CCCCCC; + width: 340px; + padding: 5px; + font-family: sans-serif; + font-size: 12px; + color:#555; +} +#woo_container .controls input:hover,#woo_container .controls select:hover,#woo_container .controls textarea:hover { color:#333; background: #fff;} + +#woo_container .controls input.upload { width:279px; padding-bottom:6px; } +#woo_container .controls input.upload_button { font-size: 12px; float: right; width: 55px; height: 28px; border-color: #BBBBBB; cursor: pointer; padding: 0; margin: 0; margin-top: 1px; padding-top: 1px; } +#woo_container .controls input.upload_button:hover { border-color: #999999; color: #000000; } + +body.version-3-4-1 #woo_container .controls input.upload_button, +body.version-3-4-2 #woo_container .controls input.upload_button { height: 25px; } + +#woo_container .section-upload_min .controls input.upload_button { float: left; } + +#woo_container .screenshot { + float:left; + margin-left:1px; + position:relative; + width:344px; + margin-top:3px; + z-index: 1; +} + +#woo_container .screenshot img { + -moz-border-radius:4px; + -webkit-border-radius:4px; + -border-radius:4px; + background:#FAFAFA; + border-color:#CCCCCC #EEEEEE #EEEEEE #CCCCCC; + border-style:solid; + border-width:1px; + float:left; + max-width:334px; + padding:4px; +} + +#woo_container .screenshot .mlu_remove, #woo_container .typography-preview-container .preview_remove { + + background:url( "images/ico-delete.png") no-repeat; + border:medium none; + bottom:-4px; + display:block; + float:left; + height:16px; + padding:0; + position:absolute; + left:-4px; + text-indent:-9999px; + width:16px; +} + +#woo_container .screenshot .no_image .file_link { + margin-left: 20px; +} + +#woo_container .screenshot .no_image .mlu_remove { + bottom: 0px; +} + + +/* SELECT DROPDOWN */ +#woo_container #content select.woo-input { + cursor:pointer; + height:28px; + margin:0; + opacity:0; + padding:0; + position:relative; + width:inherit; + z-index:4; +} + +#woo_container #content .select_wrapper { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + font-family: sans-serif; + font-size: 12px; + background: #fafafa url(images/select.png) no-repeat right center; + border-color: #ccc #eee #eee #ccc; + border-style: solid; + border-width: 1px; + float: left; + height: 26px; + width: 344px; + margin: 0; + margin-bottom: 9px !important; + width: 344px; + display: block; + color: #555; +} +#woo_container #content .option-type .select_wrapper { + background-color: #fff; +} +#woo_container #content .select_wrapper:hover { + background-color: #fff; + border-color: #bbb #eee #eee #bbb; + color: #333; +} +#woo_container #content .select_wrapper span { + height: 26px; + line-height: 26px; + position: absolute; + z-index: 2; + padding-left: 6px; +} + + +#woo_container .colorSelector { margin-top:1px; } +#woo_container .colorSelector:hover { cursor:pointer; } +#woo_container .controls select { padding: 6px 4px; width: 340px } +#woo_container .controls select:hover { cursor: pointer;} +#woo_container .controls textarea {width: 345px; } + +#woo_container input[type=text], #woo_container select { height:28px; } +#woo_container input[type=text] { width: 340px; } + +#woo_container input.woo-input-calendar { width: 320px; } + +#woo_container input.checkbox { width: 30px; } +#woo_container input.woo-radio { width: 30px; } +#woo_container .controls .radio-wrapper { margin: 0 0 10px 0; } +#woo_container .controls .radio-wrapper input { margin-bottom: 0!important; } + +#woo_container .controls .input-text-small { width: 60px; margin-right:10px} +#woo_container .meta-two { margin-right:10px} + +#woo_container .controls .woo-color {float:left; width: 70px; margin-left:5px; /* font-size:20px; height:34px;*/} + +#woo_container #content .section-typography .controls { width:440px } +#woo_container #content .section-typography .explain { width:140px } + +#woo_container .controls .woo-typography-size { width:50px; float:left} +#woo_container .controls .woo-typography-unit { width:50px; float:left} +#woo_container .controls .woo-typography-face { width:100px; float:left} +#woo_container .controls .woo-typography-style { width:80px; float:left} +#woo_container .controls .woo-typography-preview-button { float: left; margin: 3px 0 0 5px; padding-top: 3px; } +#woo_container .controls .woo-typography-preview-button span { background: transparent url(images/ico-preview.png) no-repeat center center; display: block; text-indent: -9999px; width: 14px; height: 16px; } +#woo_container .controls .woo-typography-preview-button span.refresh { background-image: url(images/ico-refresh.png); } +#woo_container .typography-preview-container { clear: both; } +#woo_container .typography-preview-container .preview_remove { position: relative; float: right; margin-bottom: -10px; margin-right: -10px; z-index: 99; } +#woo_container .typography-preview { word-wrap: break-word; clear: both; padding: 20px; border: 1px solid #CCCCCC; background: #FDFDFD; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } + +.wf-loading #woo_container .typography-preview.current { background: #FDFDFD url(images/loading-bottom.gif) no-repeat 560px center; } /* Class is dynamically added to the "html" tag. */ + +#woo_container .controls .woo-radio-img-img { border:3px solid #dedede; margin:0 5px 10px 0; display:none; cursor:pointer; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } +#woo_container .controls .woo-radio-img-selected { border:3px solid #aaa; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px;} + +#woo_container .controls .woo-border-width { width:80px; float:left} +#woo_container .controls .woo-border-style { width:120px; float:left} + +#woo_container .section-timestamp .controls .ui-datepicker-trigger { float: left; position: relative; top: 7px; } +#woo_container .section-timestamp .woo-timestamp-at { position: relative; top: 2px; margin: 0 5px; } +#woo_container .section-timestamp .controls input.woo-input-calendar { width: 195px; float: right; } +#woo_container .section-timestamp .controls .time-selectors { float: right; } +#woo_container .controls select.woo-select-timestamp { width: 50px; } + +#woo_container .group { padding-bottom: 20px; } + +#woo_container input:focus,#woo_container select:focus, #woo_container textarea:focus { background:#fff;} + +#woo_container .happy { + background: #DBF6BE no-repeat 10px center; + border: solid #9BBF65; + border-width: 0px 1px 1px 1px; + color: #060; + font-weight: bold; + padding: 10px; + text-align: center; +} + +#woo_container .warning { + background: #ffeeee no-repeat 10px center;; + border: solid #dfbfbf; + border-width: 0px 1px 1px 1px; + color: #333; + font-weight: bold; + padding: 10px; + text-align: center; +} +#woo_container .update_available { + + background: #FFFEEB no-repeat 10px center;; + border: solid #CCCCCC; + border-width: 0px 1px 1px 1px; + color: #333; + font-weight: bold; + padding: 10px; + text-align: center; + + + +} + +#woo_container .woo-save-popup { position:absolute; -moz-border-radius:12px; background:rgba(0,0,0,0.4); color:#fff; font-size:24px; text-align:center; display:none; z-index: 10; } + +#woo_container .woo-save-save { background:url(images/happy.png) 20px 50% no-repeat; padding:30px 30px 30px 70px} +#woo_container .woo-save-reset { background:url(images/warning.png) 20px 50% no-repeat; padding:30px 30px 30px 70px} + +.upload_button_div { margin-bottom: 10px;} +.upload_button_div .button { padding:4px 14px; +} +.upload_button_div .image_reset_button { margin-left:10px} + +.upload-error { float:left;color:#666; font-size:10px; font-weight:bold; text-decoration:none; text-shadow:1px 1px 0 #FFFFFF; + margin: 0 10px 0 0; padding:3px 10px; background:#FFDFEC; -moz-border-radius:4px} + +.reset-button { color:#c77!important;text-shadow:0 1px 0 #fff !important;} +.reset-button:hover { border-color:#c77!important;} +.save_bar_top { background: #f3f3f3; border:solid #ccc; border-width:0px 1px 1px 1px; padding: 10px 20px 0px 20px; height: 35px; text-align: right; +/*INSET SHADOW*/ +-webkit-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +-moz-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +} +#wooform-reset { float: left; } + +.hide { display: none; } + +.ajax-loading-img-top { margin: 8px 4px 0; float: left; } +.ajax-loading-img-bottom {} + +.woo-option-image { max-width: 340px; } + +#woo_container .mini .controls select, #woo_container #content .section .mini .controls { width: 70px; } +#woo_container .mini .controls input, #woo_container #content .mini .controls { width: 70px; } + +#woo_container #content .mini .explain { width:500px; } + +.woo-notice { background: #ffd1d1 ; border:1px solid #DFA8A7; -moz-border-radius:8px; text-align: center; margin-bottom: 15px } + +#woo_container h3 { margin: 0 0 10px 0} +#woo_container h3 span { font-size: 10px; color: #ccc} + +/* Nav Menu - From wordpress */ +#menu-container .inside { padding-bottom: 10px; } + +.menu { + padding-top:1em; +} + +#menu-to-edit { + padding: 1em 0; +} + +.menu ul { + width: 100%; +} +.menu ul.sub-menu { +} +.menu li { + margin-bottom: 0; + position:relative; +} +.menu-item-bar { + clear:both; + line-height:1.5em; + position:relative; + margin-top: 13px; +} +.menu-item-handle { + border: 1px solid #E6E6E6; + position: relative; + padding-left: 10px; + height: auto; + width: 400px; + line-height: 35px; + text-shadow: 0 1px 0 #FFFFFF; + font-weight:bold; + overflow: hidden; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -khtml-border-radius: 6px; + word-wrap: break-word; +} +.menu-item-edit-active .menu-item-handle { + -moz-border-radius: 6px 6px 0 0; + -webkit-border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 0; + -khtml-border-bottom-right-radius: 0; + -khtml-border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.no-js .menu-item-edit-active .item-edit { + display: none; +} +.js .menu-item-handle { + cursor: move; +} +.menu li.deleting .menu-item-handle { + background-color: #f66; + background-image: none; + text-shadow: 0 0 0 #ccc; +} + +.menu-item-handle .item-title { + padding: 7px 0; + line-height: 20px; + display:block; + margin-right:13em; +} + +.item-type { text-transform: uppercase; font-size: 11px; color: #999999; padding-right: 10px; } +.item-controls { font-size: 11px; position: absolute; right: 20px; top: -1px; } +.item-controls a { text-decoration: none; } +.item-controls a:hover { cursor: pointer; } +.item-controls .item-order { padding-right: 10px;} +.item-controls .item-order a { + font-weight:bold; +} + +body.js .item-order { + display:none; +} + +.item-controls .menu-item-delete:hover { color: #ff0000; } + +.item-edit { + background: url( "../../../../wp-admin/images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -105px; + position: absolute; + right: -20px; + top: 0; + display: block; + width: 23px; + height: 36px; + overflow: hidden; + text-indent:-999em; + border-bottom: 1px solid #eee; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + -khtml-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; +} + +/* Menu editing */ +.menu-instructions-inactive { + display: none; +} +.menu-item-settings { + background: #F9F9F9; + display:block; + width: 492px; + padding: 10px 0 10px 10px; + border: solid #E6E6E6; + border-width: 0 1px 1px 1px; + -moz-border-radius: 0 0 6px 6px; + -webkit-border-bottom-right-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -khtml-border-bottom-right-radius: 6px; + -khtml-border-bottom-left-radius: 6px; +} + + +.menu-item-settings:after { + clear: both; + content: '.'; + display: block; + height: 0px; + visibility: hidden; +} +.menu-item-settings input { width: 100%!important} + +.menu-item-edit-active .menu-item-settings { + display:block; +} + +.menu-item-edit-inactive .menu-item-settings { + display:none; +} + +.add-menu-item-pagelinks { + margin:.5em auto; + text-align:center; +} + +.link-to-original { + display: block; + margin: 0 0 10px; + padding: 3px 5px 5px; + font-size: 11px; + color: #777; + font-style: italic; + border: 1px solid #dfdfdf; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -khtml-border-radius: 6px; +} + .link-to-original a { + padding-left: 4px; + font-style: normal; + } + +.hidden-field { + display: none; +} + +.menu-item-settings .description-thin, +.menu-item-settings .description-wide { + margin-right: 10px; + float: left; +} +.description-thin { + width: 190px; + height: 40px; +} +.description-wide { + width: 390px; +} + +.menu-item-actions { + padding-top: 15px; +} + +#cancel-save { cursor: pointer; } +#cancel-save:hover { color: #fff !important; } +#update-menu-item { color: #fff !important; } +#update-menu-item:hover, +#update-menu-item:active, +#update-menu-item:focus { color: #eaf2fa !important; border-color: #13455b !important; } + +/*-------------------------------------------------------------------------------------------*/ +/* Icons Option panel */ +/*-------------------------------------------------------------------------------------------*/ + +#woo_container #woo-nav ul li span.icon { + background-position: 0 center; + background-repeat: no-repeat; + display: block; + float: left; + height: 16px; + width: 16px; + margin-left: 10px; + padding: 16px 0 0 9px; +} + +#woo_container #woo-nav ul li.general span.icon { background-image:url(images/option-icon-general.png); } +#woo_container #woo-nav ul li.styling span.icon { background-image:url(images/option-icon-styling.png); } +#woo_container #woo-nav ul li.typography span.icon { background-image:url(images/option-icon-typography.png); } +#woo_container #woo-nav ul li.image span.icon { background-image:url(images/option-icon-image.png); } +#woo_container #woo-nav ul li.ads span.icon { background-image:url(images/option-icon-ads.png); } +#woo_container #woo-nav ul li.homepage span.icon { background-image:url(images/option-icon-homepage.png); } +#woo_container #woo-nav ul li.woocommerce span.icon { background-image:url(images/option-icon-woocommerce.png); } +#woo_container #woo-nav ul li.media span.icon { background-image:url(images/option-icon-media.png); } +#woo_container #woo-nav ul li.calendar span.icon { background-image:url(images/option-icon-calendar.png); } +#woo_container #woo-nav ul li.slider span.icon { background-image:url(images/option-icon-slider.png); } +#woo_container #woo-nav ul li.box span.icon { background-image:url(images/option-icon-box.png); } +#woo_container #woo-nav ul li.layout span.icon { background-image:url(images/option-icon-layout.png); } +#woo_container #woo-nav ul li.header span.icon { background-image:url(images/option-icon-header.png); } +#woo_container #woo-nav ul li.featured span.icon { background-image:url(images/option-icon-featured.png); } +#woo_container #woo-nav ul li.main span.icon { background-image:url(images/option-icon-main.png); } +#woo_container #woo-nav ul li.sidebar span.icon { background-image:url(images/option-icon-sidebar.png); } +#woo_container #woo-nav ul li.footer span.icon { background-image:url(images/option-icon-footer.png); } +#woo_container #woo-nav ul li.portfolio span.icon { background-image:url(images/option-icon-portfolio.png); } +#woo_container #woo-nav ul li.tumblog span.icon { background-image:url(images/option-icon-tumblog.png); } +#woo_container #woo-nav ul li.nav span.icon { background-image:url(images/option-icon-nav.png); } +#woo_container #woo-nav ul li.audio span.icon { background-image:url(images/option-icon-audio.png); } +#woo_container #woo-nav ul li.misc span.icon { background-image:url(images/option-icon-misc.png); } +#woo_container #woo-nav ul li.maps span.icon { background-image:url(images/option-icon-maps.png); } +#woo_container #woo-nav ul li.searchoption span.icon { background-image:url(images/option-icon-search.png); } +#woo_container #woo-nav ul li.upload span.icon { background-image:url(images/option-icon-upload.png); } +#woo_container #woo-nav ul li.favorite span.icon { background-image:url(images/option-icon-favorite.png); } +#woo_container #woo-nav ul li.listing span.icon { background-image:url(images/option-icon-listing.png); } +#woo_container #woo-nav ul li.post span.icon { background-image:url(images/option-icon-post.png); } +#woo_container #woo-nav ul li.connect span.icon { background-image:url(images/option-icon-connect.png); } +#woo_container #woo-nav ul li.wpsc_presentation span.icon { background-image:url(images/option-icon-cart.png); } +#woo_container #woo-nav ul li.presstrends span.icon { background-image:url(images/option-icon-presstrends.png); } + +/*-------------------------------------------------------------------------------------------*/ +/* GENERAL STYLES */ +/*-------------------------------------------------------------------------------------------*/ + +/* http://sonspring.com/journal/clearing-floats */ + +html body * span.clear, +html body * div.clear, +html body * li.clear, +html body * dd.clear +{ + background: none; + border: 0; + clear: both; + display: block; + float: none; + font-size: 0; + list-style: none; + margin: 0; + padding: 0; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; +} \ No newline at end of file diff --git a/mystile/functions/admin-tumblog-quickpress.php b/mystile/functions/admin-tumblog-quickpress.php new file mode 100755 index 0000000..f437300 --- /dev/null +++ b/mystile/functions/admin-tumblog-quickpress.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/mystile/functions/assets/css/activation.css b/mystile/functions/assets/css/activation.css new file mode 100755 index 0000000..1d1cd7d --- /dev/null +++ b/mystile/functions/assets/css/activation.css @@ -0,0 +1,103 @@ +.wf-wrap.about-wrap .theme-screenshot { + float: left; + max-width: 320px; + margin-right: 1.618em; + margin-bottom: 1.618em; +} +.wf-wrap .getting-started-buttons .button { + margin-right: 10px; +} +.wf-wrap .getting-started-buttons .dashicons:before { + line-height: 26px; +} +.wf-wrap ul.theme-info { + color: #666; +} +.wf-wrap ul.theme-info > li:first-child { + float: left; + margin-right: 10px; + padding-right: 10px; + border-right: 1px solid rgba(0, 0, 0, 0.1); +} +.wf-wrap table.theme-info tbody td { + padding-bottom: 2px; +} +.wf-wrap table.theme-info tfoot td { + padding-top: 5px; + font-size: 12px; + color: #999; +} +.wf-wrap table.theme-info tfoot td strong { + font-weight: normal; +} +.wf-wrap .plugin-name strong { + display: block; +} +.wf-wrap table.theme-info, +.wf-wrap table.wf-plugins { + margin-bottom: 1.618em; + max-width: 621px; +} +.wf-wrap table.theme-info tr td:first-child, +.wf-wrap table.wf-plugins tr td:first-child { + width: 63%; +} +.wf-wrap table.theme-info .actions, +.wf-wrap table.wf-plugins .actions, +.wf-wrap table.theme-info .version, +.wf-wrap table.wf-plugins .version { + text-align: right; + width: 100px; +} +.wf-wrap table.wf-plugins span.active { + background-color: #7ad03a; + color: #fff; + padding: 0 11px 2px; + line-height: 26px; + display: inline-block; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; +} +.wf-wrap .woo-notice { + background: #FFFFFF; + border-left: 4px solid #255A8C; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + margin: 5px 0 15px; + padding: 1px 12px; + font-size: 14px; +} +.wf-wrap .woo-notice p { + margin: .5em 0; + padding: 2px; +} +.wf-wrap .spacer { + margin: 2.618em 0 1.618em; + clear: both; +} +@media screen and (max-width: 782px) { + .wf-wrap.about-wrap .theme-name { + word-wrap: break-word; + } + .wf-wrap.about-wrap .wp-list-table.wf-plugins { + margin-top: 50px; + } + .wf-wrap.about-wrap .wp-list-table.wf-plugins .plugin-title, + .wf-wrap.about-wrap .wp-list-table.wf-plugins .column-name { + padding-left: 10px; + } + .wf-wrap .getting-started-buttons .dashicons:before { + line-height: 21px; + } +} +@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2) { + .wf-wrap.about-wrap .theme-screenshot { + max-width: 600px; + } +} diff --git a/mystile/functions/assets/css/activation.less b/mystile/functions/assets/css/activation.less new file mode 100755 index 0000000..7586153 --- /dev/null +++ b/mystile/functions/assets/css/activation.less @@ -0,0 +1,146 @@ +@import url( 'mixins.less' ); + +.wf-wrap { + &.about-wrap { + .theme-screenshot { + float: left; + max-width: 320px; + margin-right: 1.618em; + margin-bottom: 1.618em; + } + } + + .getting-started-buttons { + .button { + margin-right: 10px; + } + + .dashicons:before { + line-height: 26px; + } + } + + ul.theme-info { + color: #666; + + > li:first-child { + float: left; + margin-right: 10px; + padding-right: 10px; + border-right: 1px solid rgba(0,0,0,0.1); + } + } + + table.theme-info { + tbody { + td { + padding-bottom: 2px; + } + } + + tfoot { + td { + padding-top: 5px; + font-size: 12px; + color: #999; + + strong { + font-weight: normal; + } + } + } + } + + .plugin-name { + strong { + display: block; + } + } + + table.theme-info, + table.wf-plugins { + margin-bottom: 1.618em; + max-width: 621px; + + tr { + td { + &:first-child { + width: 63%; + } + } + } + + .actions, + .version { + text-align: right; + width: 100px; + } + } + + table.wf-plugins { + span.active { + background-color: #7ad03a; + color: #fff; + padding: 0 11px 2px; + line-height: 26px; + display: inline-block; + .border_radius(3px); + font-weight: 700; + } + } + + .woo-notice { + .woo_notice; + } + .woo-notice p { + margin: .5em 0; + padding: 2px; + } + + .spacer { + margin: 2.618em 0 1.618em; + clear: both; + } +} + +// Mobile +@media screen and (max-width: 782px) { + .wf-wrap { + &.about-wrap { + .theme-name { + word-wrap: break-word; + } + .wp-list-table { + &.wf-plugins { + margin-top: 50px; + .plugin-title, .column-name { + padding-left: 10px; + } + } + } + } + } + + .wf-wrap { + .getting-started-buttons { + .dashicons:before { + line-height: 21px; + } + } + } +} + +// Retina +@media only screen and (-webkit-min-device-pixel-ratio: 2), +only screen and ( min--moz-device-pixel-ratio: 2), +only screen and ( -o-min-device-pixel-ratio: 2/1), +only screen and ( min-device-pixel-ratio: 2), +{ + .wf-wrap { + &.about-wrap { + .theme-screenshot { + max-width: 600px; + } + } + } +} \ No newline at end of file diff --git a/mystile/functions/assets/css/admin.css b/mystile/functions/assets/css/admin.css new file mode 100755 index 0000000..9dc8369 --- /dev/null +++ b/mystile/functions/assets/css/admin.css @@ -0,0 +1,74 @@ +.wf-wrap .useful-links { + margin-left: 0; + display: block; + text-align: center; +} +.wf-wrap .useful-links li { + display: inline; + padding-right: 1.618em; +} +.wf-wrap .useful-links .documentation:before { + font-family: 'dashicons'; + content: "\f123"; + position: relative; + top: 2px; + right: 5px; +} +.wf-wrap .useful-links .changelog:before { + font-family: 'dashicons'; + content: "\f107"; + position: relative; + top: 2px; + right: 5px; +} +.wf-wrap .useful-links .support:before { + font-family: 'dashicons'; + content: "\f328"; + position: relative; + top: 2px; + right: 5px; +} +.wf-wrap .woo-notice { + background: #FFFFFF; + border-left: 4px solid #255A8C; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + margin: 5px 0 15px; + padding: 1px 12px; + font-size: 14px; +} +.wf-wrap .woo-notice p { + margin: .5em 0; + padding: 2px; +} +.wf-wrap .settings-section td .woo-notice { + margin-left: -10px; + margin-top: -15px; + margin-bottom: 0; +} +.wf-wrap .plugin-name strong { + display: block; +} +/* Styling for the 'useful links' section on desktop and larger screens. */ +@media screen and (min-width: 600px) { + .wf-wrap #settings-sections.subsubsub { + position: relative; + margin-right: 140px; + } + .wf-wrap .useful-links { + margin-left: 1em; + position: absolute; + right: 20px; + text-align: left; + } + .wf-wrap .useful-links li { + display: block; + padding: 0; + } +} +span.logo img { + height: auto; + max-height: 31px; +} diff --git a/mystile/functions/assets/css/admin.less b/mystile/functions/assets/css/admin.less new file mode 100755 index 0000000..1387ca8 --- /dev/null +++ b/mystile/functions/assets/css/admin.less @@ -0,0 +1,89 @@ +@import url( 'mixins.less' ); + +.wf-wrap { + .useful-links { + margin-left: 0; + display: block; + text-align: center; + li { + display: inline; + padding-right: 1.618em; + } + .documentation { + &:before { + font-family: 'dashicons'; + content: "\f123"; + position: relative; + top: 2px; + right: 5px; + } + } + + .changelog { + &:before { + font-family: 'dashicons'; + content: "\f107"; + position: relative; + top: 2px; + right: 5px; + } + } + + .support { + &:before { + font-family: 'dashicons'; + content: "\f328"; + position: relative; + top: 2px; + right: 5px; + } + } + } + .woo-notice { + .woo_notice; + } + .woo-notice p { + margin: .5em 0; + padding: 2px; + } + .settings-section { + td .woo-notice { + margin-left: -10px; + margin-top: -15px; + margin-bottom: 0; + } + } + .plugin-name { + strong { + display: block; + } + } +} + +/* Styling for the 'useful links' section on desktop and larger screens. */ +@media screen and (min-width: 600px) { + .wf-wrap { + #settings-sections.subsubsub { + position: relative; + margin-right: 140px; + } + + .useful-links { + margin-left: 1em; + position: absolute; + right: 20px; + text-align: left; + li { + display: block; + padding: 0; + } + } + } +} + +span.logo { + img { + height: auto; + max-height: 31px; + } +} \ No newline at end of file diff --git a/mystile/functions/assets/css/fields.css b/mystile/functions/assets/css/fields.css new file mode 100755 index 0000000..5494aa0 --- /dev/null +++ b/mystile/functions/assets/css/fields.css @@ -0,0 +1,356 @@ +/* Tweaks to the styling of "Chosen". */ +.wf-field-select select, +.wf-field-select2 select, +.wf-field-select .chosen-container, +.wf-field-select2 .chosen-container { + min-width: 300px; +} +.wf-field select { + min-width: 75px; +} +.wf-field .wp-picker-holder { + position: absolute; + z-index: 99; +} +.wf-field-typography { + line-height: 2.8; + /* Fixes alignment of Chosen fields with the colourpicker. */ +} +.wf-field-typography .chosen-container.woo-typography-font-face { + min-width: 250px; +} +.wf-field-typography .wp-picker-clear { + position: relative; + top: 9px; +} +.wf-field-border { + line-height: 2.8; + /* Fixes alignment of Chosen fields with the colourpicker. */ +} +.wf-field-border .wp-picker-clear { + position: absolute; + top: 8px; +} +.wf-info-box { + border: 1px solid #CCCCCC; + background: #EBEBEB; + max-width: 650px; + padding: 0.8em; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + margin-left: -15px; +} +.wf-info-box .title { + margin-top: 0; +} +.radio-images { + position: relative; + top: -30px; +} +.radio-image-thumb { + border: 3px solid #CCC; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; + margin-right: 5px; + width: 45px; + height: 35px; + padding: 2px; + background-color: #e1e1e1; +} +.radio-image-thumb:hover, +.radio-image-thumb.active { + border-color: #999; +} +.wf-field-timestamp img, +.wf-field-calendar img { + position: relative; + top: 0px; + left: 4px; + margin-right: 4px; +} +.wf-field-border .wp-picker-container { + position: relative; + /* top: 8px; */ +} +.wf-field-multi_field input { + max-width: 75px; +} +.image-preview.no-image img { + display: none; +} +.image-preview.no-image .remove { + display: none; +} +.image-preview.has-image { + padding: 0.15em; + padding-top: 0.5em; +} +.image-preview.has-image .remove { + display: block; + font-size: 80%; +} +.image-preview img { + max-width: 175px; + height: auto; +} +.wf-field-typography .unit-px .hide-if-px { + display: none; +} +.wf-field-typography .unit-em .hide-if-em { + display: none; +} +.ui-datepicker { + background: #FFFFFF; + border: 1px solid #DDDDDD; + margin-top: 5px; + -webkit-border-radius: 6px; + border-radius: 6px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.ui-datepicker .ui-datepicker-header { + background: #EBEBEB; + border-bottom: 1px solid #DDDDDD; + padding: 0.6em 0.6em; +} +.ui-datepicker .ui-datepicker-header .ui-corner-all { + position: absolute; + top: 7px; + display: inline-block; + cursor: pointer; +} +.ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + left: 8px; +} +.ui-datepicker .ui-datepicker-header .ui-datepicker-next { + right: 8px; +} +.ui-datepicker .ui-datepicker-header .ui-datepicker-title { + text-align: center; + padding-left: 10px; + padding-right: 10px; +} +.ui-datepicker .ui-datepicker-calendar { + border-spacing: 0; +} +.ui-datepicker .ui-datepicker-calendar th { + padding: 0.5em; + text-align: right; +} +.ui-datepicker .ui-datepicker-calendar td { + text-align: right; +} +.ui-datepicker .ui-datepicker-calendar td a { + display: block; + padding: 0.5em; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-calendar td a.ui-state-default { + background: #EBEBEB; +} +.ui-datepicker .ui-datepicker-calendar td a.ui-state-active { + background: #21759b; + color: #FFFFFF; +} +.ui-datepicker .ui-datepicker-calendar td a.ui-state-highlight { + background: #CDCDCD; +} +.ui-datepicker .ui-datepicker-calendar td.ui-state-disabled { + background: #FFFFFF; +} +.wf-field-slider { + /* Component containers + ----------------------------------*/ + /* Interaction states + ----------------------------------*/ + /* Misc visuals + ----------------------------------*/ + /* Corner radius */ +} +.wf-field-slider .chosen-container { + display: none; +} +.wf-field-slider .slider-value { + position: relative; + bottom: 16px; + left: 325px; + font-weight: bold; + font-size: 1.2em; + width: 75px; +} +.wf-field-slider .ui-slider { + max-width: 300px; +} +.wf-field-slider .ui-slider { + position: relative; + text-align: left; +} +.wf-field-slider .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; +} +.wf-field-slider .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} +.wf-field-slider .ui-slider-horizontal { + height: .8em; +} +.wf-field-slider .ui-slider-horizontal .ui-slider-handle { + top: -0.3em; + margin-left: -0.6em; +} +.wf-field-slider .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.wf-field-slider .ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.wf-field-slider .ui-slider-horizontal .ui-slider-range-max { + right: 0; +} +.wf-field-slider .ui-slider-vertical { + width: .8em; + height: 100px; +} +.wf-field-slider .ui-slider-vertical .ui-slider-handle { + left: -0.3em; + margin-left: 0; + margin-bottom: -0.6em; +} +.wf-field-slider .ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.wf-field-slider .ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.wf-field-slider .ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.wf-field-slider .ui-widget { + font-family: Verdana, Arial, sans-serif /*{ffDefault}*/; + font-size: 1.1em /*{fsDefault}*/; +} +.wf-field-slider .ui-widget .ui-widget { + font-size: 1em; +} +.wf-field-slider .ui-widget input, +.wf-field-slider .ui-widget select, +.wf-field-slider .ui-widget textarea, +.wf-field-slider .ui-widget button { + font-family: Verdana, Arial, sans-serif /*{ffDefault}*/; + font-size: 1em; +} +.wf-field-slider .ui-widget-content { + border: 1px solid #aaaaaa /*{borderColorContent}*/; + background: #ffffff /*{bgColorContent}*/ url(../images/ui-bg_flat_75_ffffff_40x100.png) /*{bgImgUrlContent}*/ 50% /*{bgContentXPos}*/ 50% /*{bgContentYPos}*/ repeat-x /*{bgContentRepeat}*/; + color: #222222 /*{fcContent}*/; +} +.wf-field-slider .ui-widget-content a { + color: #222222 /*{fcContent}*/; +} +.wf-field-slider .ui-widget-header { + border: 1px solid #aaaaaa /*{borderColorHeader}*/; + background: #cccccc /*{bgColorHeader}*/ url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) /*{bgImgUrlHeader}*/ 50% /*{bgHeaderXPos}*/ 50% /*{bgHeaderYPos}*/ repeat-x /*{bgHeaderRepeat}*/; + color: #222222 /*{fcHeader}*/; + font-weight: bold; +} +.wf-field-slider .ui-widget-header a { + color: #222222 /*{fcHeader}*/; +} +.wf-field-slider .ui-state-default, +.wf-field-slider .ui-widget-content .ui-state-default, +.wf-field-slider .ui-widget-header .ui-state-default { + border: 1px solid #d3d3d3 /*{borderColorDefault}*/; + background: #e6e6e6 /*{bgColorDefault}*/ url(../images/ui-bg_glass_75_e6e6e6_1x400.png) /*{bgImgUrlDefault}*/ 50% /*{bgDefaultXPos}*/ 50% /*{bgDefaultYPos}*/ repeat-x /*{bgDefaultRepeat}*/; + font-weight: normal /*{fwDefault}*/; + color: #555555 /*{fcDefault}*/; +} +.wf-field-slider .ui-state-default a, +.wf-field-slider .ui-state-default a:link, +.wf-field-slider .ui-state-default a:visited { + color: #555555 /*{fcDefault}*/; + text-decoration: none; +} +.wf-field-slider .ui-state-hover, +.wf-field-slider .ui-widget-content .ui-state-hover, +.wf-field-slider .ui-widget-header .ui-state-hover, +.wf-field-slider .ui-state-focus, +.wf-field-slider .ui-widget-content .ui-state-focus, +.wf-field-slider .ui-widget-header .ui-state-focus { + border: 1px solid #999999 /*{borderColorHover}*/; + background: #dadada /*{bgColorHover}*/ url(../images/ui-bg_glass_75_dadada_1x400.png) /*{bgImgUrlHover}*/ 50% /*{bgHoverXPos}*/ 50% /*{bgHoverYPos}*/ repeat-x /*{bgHoverRepeat}*/; + font-weight: normal /*{fwDefault}*/; + color: #212121 /*{fcHover}*/; +} +.wf-field-slider .ui-state-hover a, +.wf-field-slider .ui-state-hover a:hover { + color: #212121 /*{fcHover}*/; + text-decoration: none; +} +.wf-field-slider .ui-state-active, +.wf-field-slider .ui-widget-content .ui-state-active, +.wf-field-slider .ui-widget-header .ui-state-active { + border: 1px solid #aaaaaa /*{borderColorActive}*/; + background: #ffffff /*{bgColorActive}*/ url(../images/ui-bg_glass_65_ffffff_1x400.png) /*{bgImgUrlActive}*/ 50% /*{bgActiveXPos}*/ 50% /*{bgActiveYPos}*/ repeat-x /*{bgActiveRepeat}*/; + font-weight: normal /*{fwDefault}*/; + color: #212121 /*{fcActive}*/; +} +.wf-field-slider .ui-state-active a, +.wf-field-slider .ui-state-active a:link, +.wf-field-slider .ui-state-active a:visited { + color: #212121 /*{fcActive}*/; + text-decoration: none; +} +.wf-field-slider .ui-widget :active { + outline: none; +} +.wf-field-slider .ui-corner-all, +.wf-field-slider .ui-corner-top, +.wf-field-slider .ui-corner-left, +.wf-field-slider .ui-corner-tl { + -moz-border-radius-topleft: 4px /*{cornerRadius}*/; + -webkit-border-top-left-radius: 4px /*{cornerRadius}*/; + -khtml-border-top-left-radius: 4px /*{cornerRadius}*/; + border-top-left-radius: 4px /*{cornerRadius}*/; +} +.wf-field-slider .ui-corner-all, +.wf-field-slider .ui-corner-top, +.wf-field-slider .ui-corner-right, +.wf-field-slider .ui-corner-tr { + -moz-border-radius-topright: 4px /*{cornerRadius}*/; + -webkit-border-top-right-radius: 4px /*{cornerRadius}*/; + -khtml-border-top-right-radius: 4px /*{cornerRadius}*/; + border-top-right-radius: 4px /*{cornerRadius}*/; +} +.wf-field-slider .ui-corner-all, +.wf-field-slider .ui-corner-bottom, +.wf-field-slider .ui-corner-left, +.wf-field-slider .ui-corner-bl { + -moz-border-radius-bottomleft: 4px /*{cornerRadius}*/; + -webkit-border-bottom-left-radius: 4px /*{cornerRadius}*/; + -khtml-border-bottom-left-radius: 4px /*{cornerRadius}*/; + border-bottom-left-radius: 4px /*{cornerRadius}*/; +} +.wf-field-slider .ui-corner-all, +.wf-field-slider .ui-corner-bottom, +.wf-field-slider .ui-corner-right, +.wf-field-slider .ui-corner-br { + -moz-border-radius-bottomright: 4px /*{cornerRadius}*/; + -webkit-border-bottom-right-radius: 4px /*{cornerRadius}*/; + -khtml-border-bottom-right-radius: 4px /*{cornerRadius}*/; + border-bottom-right-radius: 4px /*{cornerRadius}*/; +} diff --git a/mystile/functions/assets/css/fields.less b/mystile/functions/assets/css/fields.less new file mode 100755 index 0000000..bc2c4ab --- /dev/null +++ b/mystile/functions/assets/css/fields.less @@ -0,0 +1,222 @@ +@import url( 'mixins.less' ); + +/* Tweaks to the styling of "Chosen". */ +.wf-field-select, .wf-field-select2 { + select, .chosen-container { min-width: 300px; } +} + +.wf-field select { + min-width: 75px; +} + +.wf-field { + .wp-picker-holder { + position: absolute; + z-index: 99; + } +} + +.wf-field-typography { + line-height: 2.8; /* Fixes alignment of Chosen fields with the colourpicker. */ + .chosen-container.woo-typography-font-face { + min-width: 250px; + } + + .wp-picker-clear { + position: relative; + top: 9px; + } +} + +.wf-field-border { + line-height: 2.8; /* Fixes alignment of Chosen fields with the colourpicker. */ + .wp-picker-clear { + position: absolute; + top: 8px; + } +} + +.wf-info-box { + border: 1px solid #CCCCCC; background: #EBEBEB; max-width: 650px; padding: 0.8em; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; margin-left: -15px; + .title { margin-top: 0; } +} + +.radio-images { + position: relative; top: -30px; +} + +.radio-image-thumb { + border: 3px solid #CCC; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; + margin-right: 5px; + width: 45px; + height: 35px; + padding: 2px; + background-color: #e1e1e1; +} + +.radio-image-thumb:hover, +.radio-image-thumb.active { + border-color: #999; +} + +.wf-field-timestamp img, .wf-field-calendar img { position: relative; top: 0px; left: 4px; margin-right: 4px; } + +.wf-field-border { + .wp-picker-container { + position: relative; + /* top: 8px; */ + } +} + +.wf-field-multi_field { + input { + max-width: 75px; + } +} + +.image-preview { + &.no-image { + img { + display: none; + } + .remove { + display: none; + } + } + &.has-image { + padding: 0.15em; + padding-top: 0.5em; + .remove { + display: block; + font-size: 80%; + } + } + img { + max-width: 175px; + height: auto; + } +} + +.wf-field-typography { + .unit-px .hide-if-px { + display: none; + } + .unit-em .hide-if-em { + display: none; + } +} + +.ui-datepicker { + background: #FFFFFF; + border: 1px solid #DDDDDD; + margin-top: 5px; + .border_radius( 6px ); + + .ui-datepicker-header { + background: #EBEBEB; + border-bottom: 1px solid #DDDDDD; + padding: 0.6em 0.6em; + .ui-corner-all { + position: absolute; + top: 7px; + display: inline-block; + cursor: pointer; + } + .ui-datepicker-prev { + left: 8px; + } + .ui-datepicker-next { + right: 8px; + } + .ui-datepicker-title { + text-align: center; + padding-left: 10px; + padding-right: 10px; + } + } + + .ui-datepicker-calendar { + border-spacing: 0; + th { + padding: 0.5em; + text-align: right; + } + td { + text-align: right; + a { + display: block; + padding: 0.5em; + text-decoration: none; + &.ui-state-default { + background: #EBEBEB; + } + &.ui-state-active { + background: #21759b; + color: #FFFFFF; + } + &.ui-state-highlight { + background: #CDCDCD; + } + } + &.ui-state-disabled { + background: #FFFFFF; + } + } + } +} + +.wf-field-slider { + .chosen-container { display: none; } + .slider-value { position: relative; bottom: 16px; left: 325px; font-weight: bold; font-size: 1.2em; width: 75px; } + + .ui-slider { max-width: 300px; } + + .ui-slider { position: relative; text-align: left; } + .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } + .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + + .ui-slider-horizontal { height: .8em; } + .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } + .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } + .ui-slider-horizontal .ui-slider-range-min { left: 0; } + .ui-slider-horizontal .ui-slider-range-max { right: 0; } + + .ui-slider-vertical { width: .8em; height: 100px; } + .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } + .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } + .ui-slider-vertical .ui-slider-range-min { bottom: 0; } + .ui-slider-vertical .ui-slider-range-max { top: 0; } + + /* Component containers + ----------------------------------*/ + .ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; } + .ui-widget .ui-widget { font-size: 1em; } + .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; } + .ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(../images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; } + .ui-widget-content a { color: #222222/*{fcContent}*/; } + .ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; } + .ui-widget-header a { color: #222222/*{fcHeader}*/; } + + /* Interaction states + ----------------------------------*/ + .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(../images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; } + .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; } + .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(../images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; } + .ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; } + .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(../images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; } + .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; } + .ui-widget :active { outline: none; } + + /* Misc visuals + ----------------------------------*/ + + /* Corner radius */ + .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; -khtml-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; } + .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; -khtml-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } + .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } + .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +} \ No newline at end of file diff --git a/mystile/functions/assets/css/lib/chosen.css b/mystile/functions/assets/css/lib/chosen.css new file mode 100755 index 0000000..ba9c70e --- /dev/null +++ b/mystile/functions/assets/css/lib/chosen.css @@ -0,0 +1,430 @@ +/* @group Base */ +.chosen-container { + position: relative; + display: inline-block; + vertical-align: middle; + font-size: 13px; + zoom: 1; + *display: inline; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.chosen-container .chosen-drop { + position: absolute; + top: 100%; + left: -9999px; + z-index: 1010; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: 1px solid #aaa; + border-top: 0; + background: #fff; + box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15); +} +.chosen-container.chosen-with-drop .chosen-drop { + left: 0; +} +.chosen-container a { + cursor: pointer; +} + +/* @end */ +/* @group Single Chosen */ +.chosen-container-single .chosen-single { + position: relative; + display: block; + overflow: hidden; + padding: 0 0 0 8px; + height: 23px; + border: 1px solid #aaa; + border-radius: 5px; + background-color: #fff; + background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4)); + background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background-clip: padding-box; + box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1); + color: #444; + text-decoration: none; + white-space: nowrap; + line-height: 24px; +} +.chosen-container-single .chosen-default { + color: #999; +} +.chosen-container-single .chosen-single span { + display: block; + overflow: hidden; + margin-right: 26px; + text-overflow: ellipsis; + white-space: nowrap; +} +.chosen-container-single .chosen-single-with-deselect span { + margin-right: 38px; +} +.chosen-container-single .chosen-single abbr { + position: absolute; + top: 6px; + right: 26px; + display: block; + width: 12px; + height: 12px; + background: url('../../images/lib/chosen-sprite.png') -42px 1px no-repeat; + font-size: 1px; +} +.chosen-container-single .chosen-single abbr:hover { + background-position: -42px -10px; +} +.chosen-container-single.chosen-disabled .chosen-single abbr:hover { + background-position: -42px -10px; +} +.chosen-container-single .chosen-single div { + position: absolute; + top: 0; + right: 0; + display: block; + width: 18px; + height: 100%; +} +.chosen-container-single .chosen-single div b { + display: block; + width: 100%; + height: 100%; + background: url('../../images/lib/chosen-sprite.png') no-repeat 0px 2px; +} +.chosen-container-single .chosen-search { + position: relative; + z-index: 1010; + margin: 0; + padding: 3px 4px; + white-space: nowrap; +} +.chosen-container-single .chosen-search input[type="text"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 1px 0; + padding: 4px 20px 4px 5px; + width: 100%; + height: auto; + outline: 0; + border: 1px solid #aaa; + background: white url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px; + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, linear-gradient(#eeeeee 1%, #ffffff 15%); + font-size: 1em; + font-family: sans-serif; + line-height: normal; + border-radius: 0; +} +.chosen-container-single .chosen-drop { + margin-top: -1px; + border-radius: 0 0 4px 4px; + background-clip: padding-box; +} +.chosen-container-single.chosen-container-single-nosearch .chosen-search { + position: absolute; + left: -9999px; +} + +/* @end */ +/* @group Results */ +.chosen-container .chosen-results { + position: relative; + overflow-x: hidden; + overflow-y: auto; + margin: 0 4px 4px 0; + padding: 0 0 0 4px; + max-height: 240px; + -webkit-overflow-scrolling: touch; +} +.chosen-container .chosen-results li { + display: none; + margin: 0; + padding: 5px 6px; + list-style: none; + line-height: 15px; +} +.chosen-container .chosen-results li.active-result { + display: list-item; + cursor: pointer; +} +.chosen-container .chosen-results li.disabled-result { + display: list-item; + color: #ccc; + cursor: default; +} +.chosen-container .chosen-results li.highlighted { + background-color: #3875d7; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc)); + background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: linear-gradient(#3875d7 20%, #2a62bc 90%); + color: #fff; +} +.chosen-container .chosen-results li.no-results { + display: list-item; + background: #f4f4f4; +} +.chosen-container .chosen-results li.group-result { + display: list-item; + font-weight: bold; + cursor: default; +} +.chosen-container .chosen-results li.group-option { + padding-left: 15px; +} +.chosen-container .chosen-results li em { + font-style: normal; + text-decoration: underline; +} + +/* @end */ +/* @group Multi Chosen */ +.chosen-container-multi .chosen-choices { + position: relative; + overflow: hidden; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + padding: 0; + width: 100%; + height: auto !important; + height: 1%; + border: 1px solid #aaa; + background-color: #fff; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); + background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); + background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%); + background-image: linear-gradient(#eeeeee 1%, #ffffff 15%); + cursor: text; +} +.chosen-container-multi .chosen-choices li { + float: left; + list-style: none; +} +.chosen-container-multi .chosen-choices li.search-field { + margin: 0; + padding: 0; + white-space: nowrap; +} +.chosen-container-multi .chosen-choices li.search-field input[type="text"] { + margin: 1px 0; + padding: 5px; + height: 15px; + outline: 0; + border: 0 !important; + background: transparent !important; + box-shadow: none; + color: #666; + font-size: 100%; + font-family: sans-serif; + line-height: normal; + border-radius: 0; +} +.chosen-container-multi .chosen-choices li.search-field .default { + color: #999; +} +.chosen-container-multi .chosen-choices li.search-choice { + position: relative; + margin: 3px 0 3px 5px; + padding: 3px 20px 3px 5px; + border: 1px solid #aaa; + border-radius: 3px; + background-color: #e4e4e4; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); + background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-clip: padding-box; + box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05); + color: #333; + line-height: 13px; + cursor: default; +} +.chosen-container-multi .chosen-choices li.search-choice .search-choice-close { + position: absolute; + top: 4px; + right: 3px; + display: block; + width: 12px; + height: 12px; + background: url('../../images/lib/chosen-sprite.png') -42px 1px no-repeat; + font-size: 1px; +} +.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover { + background-position: -42px -10px; +} +.chosen-container-multi .chosen-choices li.search-choice-disabled { + padding-right: 5px; + border: 1px solid #ccc; + background-color: #e4e4e4; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); + background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + color: #666; +} +.chosen-container-multi .chosen-choices li.search-choice-focus { + background: #d4d4d4; +} +.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close { + background-position: -42px -10px; +} +.chosen-container-multi .chosen-results { + margin: 0; + padding: 0; +} +.chosen-container-multi .chosen-drop .result-selected { + display: list-item; + color: #ccc; + cursor: default; +} + +/* @end */ +/* @group Active */ +.chosen-container-active .chosen-single { + border: 1px solid #5897fb; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); +} +.chosen-container-active.chosen-with-drop .chosen-single { + border: 1px solid #aaa; + -moz-border-radius-bottomright: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomleft: 0; + border-bottom-left-radius: 0; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff)); + background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: linear-gradient(#eeeeee 20%, #ffffff 80%); + box-shadow: 0 1px 0 #fff inset; +} +.chosen-container-active.chosen-with-drop .chosen-single div { + border-left: none; + background: transparent; +} +.chosen-container-active.chosen-with-drop .chosen-single div b { + background-position: -18px 2px; +} +.chosen-container-active .chosen-choices { + border: 1px solid #5897fb; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); +} +.chosen-container-active .chosen-choices li.search-field input[type="text"] { + color: #111 !important; +} + +/* @end */ +/* @group Disabled Support */ +.chosen-disabled { + opacity: 0.5 !important; + cursor: default; +} +.chosen-disabled .chosen-single { + cursor: default; +} +.chosen-disabled .chosen-choices .search-choice .search-choice-close { + cursor: default; +} + +/* @end */ +/* @group Right to Left */ +.chosen-rtl { + text-align: right; +} +.chosen-rtl .chosen-single { + overflow: visible; + padding: 0 8px 0 0; +} +.chosen-rtl .chosen-single span { + margin-right: 0; + margin-left: 26px; + direction: rtl; +} +.chosen-rtl .chosen-single-with-deselect span { + margin-left: 38px; +} +.chosen-rtl .chosen-single div { + right: auto; + left: 3px; +} +.chosen-rtl .chosen-single abbr { + right: auto; + left: 26px; +} +.chosen-rtl .chosen-choices li { + float: right; +} +.chosen-rtl .chosen-choices li.search-field input[type="text"] { + direction: rtl; +} +.chosen-rtl .chosen-choices li.search-choice { + margin: 3px 5px 3px 0; + padding: 3px 5px 3px 19px; +} +.chosen-rtl .chosen-choices li.search-choice .search-choice-close { + right: auto; + left: 4px; +} +.chosen-rtl.chosen-container-single-nosearch .chosen-search, +.chosen-rtl .chosen-drop { + left: 9999px; +} +.chosen-rtl.chosen-container-single .chosen-results { + margin: 0 0 4px 4px; + padding: 0 4px 0 0; +} +.chosen-rtl .chosen-results li.group-option { + padding-right: 15px; + padding-left: 0; +} +.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div { + border-right: none; +} +.chosen-rtl .chosen-search input[type="text"] { + padding: 4px 5px 4px 20px; + background: white url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px; + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, linear-gradient(#eeeeee 1%, #ffffff 15%); + direction: rtl; +} +.chosen-rtl.chosen-container-single .chosen-single div b { + background-position: 6px 2px; +} +.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b { + background-position: -12px 2px; +} + +/* @end */ +/* @group Retina compatibility */ +@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) { + .chosen-rtl .chosen-search input[type="text"], + .chosen-container-single .chosen-single abbr, + .chosen-container-single .chosen-single div b, + .chosen-container-single .chosen-search input[type="text"], + .chosen-container-multi .chosen-choices .search-choice .search-choice-close, + .chosen-container .chosen-results-scroll-down span, + .chosen-container .chosen-results-scroll-up span { + background-image: url('../../images/lib/chosen-sprite@2x.png') !important; + background-size: 52px 37px !important; + background-repeat: no-repeat !important; + } +} +/* @end */ diff --git a/mystile/functions/assets/css/lib/chosen.min.css b/mystile/functions/assets/css/lib/chosen.min.css new file mode 100755 index 0000000..3f3f5dd --- /dev/null +++ b/mystile/functions/assets/css/lib/chosen.min.css @@ -0,0 +1,3 @@ +/* Chosen v1.0.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ + +.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;*display:inline;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:23px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(chosen-sprite.png) no-repeat 0 2px}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:#fff url(chosen-sprite.png) no-repeat 100% -20px;background:url(chosen-sprite.png) no-repeat 100% -20px,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(chosen-sprite.png) no-repeat 100% -20px,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat 100% -20px,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat 100% -20px,-o-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat 100% -20px,linear-gradient(#eee 1%,#fff 15%);font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:5px;height:15px;outline:0;border:0!important;background:transparent!important;box-shadow:none;color:#666;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-field .default{color:#999}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 0 3px 5px;padding:3px 20px 3px 5px;border:1px solid #aaa;border-radius:3px;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:0;background:transparent}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#111!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single-nosearch .chosen-search,.chosen-rtl .chosen-drop{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:0}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:#fff url(chosen-sprite.png) no-repeat -30px -20px;background:url(chosen-sprite.png) no-repeat -30px -20px,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(chosen-sprite.png) no-repeat -30px -20px,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat -30px -20px,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat -30px -20px,-o-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat -30px -20px,linear-gradient(#eee 1%,#fff 15%);direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.chosen-rtl .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-container-single .chosen-search input[type=text],.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background-image:url(chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}} \ No newline at end of file diff --git a/mystile/functions/assets/css/menu.css b/mystile/functions/assets/css/menu.css new file mode 100755 index 0000000..ec1ce6f --- /dev/null +++ b/mystile/functions/assets/css/menu.css @@ -0,0 +1,14 @@ +/* Icon Font */ +@font-face { + font-family: 'wooframework'; + src: url('../fonts/wooframework.eot'); + src: url('../fonts/wooframework.eot?#iefix') format('embedded-opentype'), url('../fonts/wooframework.woff') format('woff'), url('../fonts/wooframework.ttf') format('truetype'), url('../fonts/wooframework.svg#wooframework') format('svg'); + font-weight: normal; + font-style: normal; +} +/* Menu Icons */ +#adminmenu #toplevel_page_woothemes .menu-icon-generic div.wp-menu-image:before { + font-family: 'wooframework' !important; + content: "\e601"; + font-size: 1.3em !important; +} diff --git a/mystile/functions/assets/css/menu.less b/mystile/functions/assets/css/menu.less new file mode 100755 index 0000000..efa1a6d --- /dev/null +++ b/mystile/functions/assets/css/menu.less @@ -0,0 +1,18 @@ +/* Icon Font */ +@font-face { + font-family: 'wooframework'; + src:url('../fonts/wooframework.eot'); + src:url('../fonts/wooframework.eot?#iefix') format('embedded-opentype'), + url('../fonts/wooframework.woff') format('woff'), + url('../fonts/wooframework.ttf') format('truetype'), + url('../fonts/wooframework.svg#wooframework') format('svg'); + font-weight: normal; + font-style: normal; +} + +/* Menu Icons */ +#adminmenu #toplevel_page_woothemes .menu-icon-generic div.wp-menu-image:before { + font-family: 'wooframework' !important; + content: "\e601"; + font-size: 1.3em !important; +} \ No newline at end of file diff --git a/mystile/functions/assets/css/mixins.less b/mystile/functions/assets/css/mixins.less new file mode 100755 index 0000000..84a6f50 --- /dev/null +++ b/mystile/functions/assets/css/mixins.less @@ -0,0 +1,139 @@ +// =============================================================================== +// Mixins +// =============================================================================== +.clearfix() { + &:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } +} +.border_radius(@radius:10px) { + -webkit-border-radius:@radius; + border-radius:@radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_right(@radius:10px) { + -webkit-border-top-right-radius: @radius; + -webkit-border-bottom-right-radius: @radius; + border-top-right-radius: @radius; + border-bottom-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_left(@radius:10px) { + -webkit-border-top-left-radius: @radius; + -webkit-border-bottom-left-radius: @radius; + border-top-left-radius: @radius; + border-bottom-left-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_bottom(@radius:10px) { + -webkit-border-bottom-left-radius: @radius; + -webkit-border-bottom-right-radius: @radius; + border-bottom-left-radius: @radius; + border-bottom-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_top(@radius:10px) { + -webkit-border-top-left-radius: @radius; + -webkit-border-top-right-radius: @radius; + border-top-left-radius: @radius; + border-top-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_reset() { + -webkit-border-radius: none; + -moz-border-radius: none; + border-radius: none; +} + +.box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { + box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; + -webkit-box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; +} + +.inset_box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { + box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; + -webkit-box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; +} + +.box_shadow_reset() { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.text_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_color:#fff) { + text-shadow:@shadow_x @shadow_y @shadow_rad @shadow_color; +} + +.vertical_gradient(@from: #000, @to: #FFF) { + background-color: @from; + background-image: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to)); // Saf4+, Chrome + background-image: -webkit-linear-gradient(top, @from, @to); // Chrome 10+, Saf5.1+, iOS 5+ + background-image: -moz-linear-gradient(top, @from, @to); // FF3.6+ + background-image: -ms-linear-gradient(top, @from, @to); // IE10 + background-image: -o-linear-gradient(top, @from, @to); // Opera 11.10+ + background-image: linear-gradient(to bottom, @from, @to); +} + +.transition(@selector:all, @animation:ease-in-out, @duration:.2s) { + -webkit-transition:@selector @animation @duration; + -moz-transition:@selector @animation @duration; + -ms-transition:@selector @animation @duration; + -o-transition:@selector @animation @duration; + transition:@selector @animation @duration; +} + +.opacity(@opacity:0.75) { + opacity: @opacity; + filter:~"alpha(opacity=@opacity * 100)"; +} + +.rotate(@degree:1deg) { + -webkit-transform: rotate(@degree); // Saf3.1+, Chrome + -moz-transform: rotate(@degree); // FF3.5+ + -ms-transform: rotate(@degree); // IE9 + -o-transform: rotate(@degree); // Opera 10.5 + transform: rotate(@degree); + zoom: 1; +} + +.scale(@ratio:1.5) { + -webkit-transform:scale(@ratio); + -moz-transform:scale(@ratio); + -ms-transform:scale(@ratio); + -o-transform:scale(@ratio); + transform:scale(@ratio); +} + +.radial_gradient(@from: #000, @to: #FFF) { + background: @from; + background: -webkit-gradient(radial, 50% 10%, 0, 50% 10%, 1000, from(@from), to(@to)); + background: -moz-radial-gradient(center top, @from 0%, @to 100%); +} + +.borderbox () { + -webkit-box-sizing: border-box; // Safari/Chrome, other WebKit + -moz-box-sizing: border-box; // Firefox, other Gecko + box-sizing: border-box; // Opera/IE 8+ +} + +.woo_notice() { + background: #FFFFFF; + border-left: 4px solid #255A8C; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + margin: 5px 0 15px; + padding: 1px 12px; + font-size: 14px; +} \ No newline at end of file diff --git a/mystile/functions/assets/fonts/wooframework.eot b/mystile/functions/assets/fonts/wooframework.eot new file mode 100755 index 0000000000000000000000000000000000000000..6c075ec8bbfa77079d69a65c9f75424f45038b6f GIT binary patch literal 2008 zcmaJ?ON6Esgvnx>O&JWr=#5YPeONjghY(9J^< z(VLLW(*nHq${a+lY_1-+XM3Oe`KR7TLd?lZUgoX!0F~&YS{vr<;p&*vqfLi@@`>=O%xhMuHB zd_^Y{pNStJ`6QwI7Y(taO`ckeZ7*NjDZb0{RtrCQi?%OUBD!AsFm=WdZ(XU73|b4S zK=n~0LaPNF-=$Wo^;=oAtsnr^n)GAbj@5WU2Z494^{u=wZzA40+JPgxPIurkTo<)K z7Q%{XL}Oy40c@=agccOXlvq+eTPwM9RNfvBmv=&Q?GSQjJ1(2U9AXhjri zQ1x&iwHl$@q%O6ERu?O>I2cxVD6!TMnnpzyO!!%As&%d*CX#56!kE-5F)mEs339F} zl;@;!p7|Xs&xOFy)Q4c{XlY|LpRaB#@f#O8dIXlrBJG!I-9p()`uUW_$x@lFN*KkV zdp(s2SeTZT?JZ?k6nbLc&GiCg%$|=B`RbG3T;ru&cVI%oa0H$E$3<%3*K4v~;#q z?+uwRT;MhqA0_zV;c#@Is)I{2Q^;9tyBW((2Nrj)Dp8CW znSr#5f$Xccd!tQo+M~l`JT!>jK{td^7@_kt)XlMGOtjgL%NzPoI9-h{K7_Iqo)+AD z_~$(qQ=BiOXhK?^S03yyvAKG~Kp|DirC6o((L3q1^j+6>Jl7WZSH1Otte^KRHkE5D zb_;8JytF4--b5pnm)$v>3Zo85|2D|`N7fjwtvVow3L3l z{q@-=wDYxM=Cvn+R%jng4#FV7%E|jred$`#QRo2zi=2MiQkS>zZE!lTLBC)Y=%vk` zT>)L|#AFQd#6w#K^j=3UA+L9M1N>r#H*pb!Y45kUcvW3$2W<&(pB}}m(mK>=VoUo=Jm{D-c2WPLGEi`tuyTkJX`l=_+QVO^(O!T literal 0 HcmV?d00001 diff --git a/mystile/functions/assets/fonts/wooframework.svg b/mystile/functions/assets/fonts/wooframework.svg new file mode 100755 index 0000000..2d736a5 --- /dev/null +++ b/mystile/functions/assets/fonts/wooframework.svg @@ -0,0 +1,12 @@ + + + +Generated by IcoMoon + + + + + + + + \ No newline at end of file diff --git a/mystile/functions/assets/fonts/wooframework.ttf b/mystile/functions/assets/fonts/wooframework.ttf new file mode 100755 index 0000000000000000000000000000000000000000..02204367c4622014ece4486c5f7d6bd4e0883de4 GIT binary patch literal 1824 zcmZ`(ON^z9#&Pl$LO_^!Fu$`WJ_{542>ZvNuzjmocpe3D3h zdS<3IP1kPB5t-1@>cJU8Dy-Qqh8n>i2eF0@vcaF(CI zSHY9T*22t%v+sD|AECzVQhVhb&WUB|M?%sdzN(9fkHvS;e3(l9oyOSFE{`n6u^(T% zDY?t?RtG=2BIbMx!c^rQVvt z(yYp&i8yORt-*EVL=hcPoRZokriJM{LBTbJ@|;Y;GrwWwxlkBd`cSN$C~vKWVQp)f zU%AZjKV+>UvVOVVFO;pMA7(60m&)~3qd1A&>zQ1@!nCaXU^&O4IFR^m&bQfcY?DpT z5w@k+u#{!$KoJiluH%CUQz@yk<;ZfC-we4mvS&C>ummvqrpab?R>d07%^YE#9c1lOZkIi(d0-?CzocfSg_c3 zbC#P8EbiY_MulQ^Q(=`yo;y%EC|!jkZ{ImCd1B`%^YE69GM*S8GE~;ZEl6q0zO9W$ zMG8YsK0C&o3uDs>OR=YRzqk`6EZ1I*$G0c&Wg!b;WU}%D$Ikl>57hfT<}j&8y0^r` z-da!is=^vxWT>iQY_QZE9L3v}ljxMqoYaQQKw70h4%NE7(G_^xljBo7Hj3UsH$-t1 zqw_S?&9Pxhbm0e;Ekn3CeH(pz6xULGRB`XYZ}(Wtb6CNp32Av=WpudA=K3uo#Z0-7 zVU^LZ-pOXA@4B|*xwgQ+8f=W@{m`@6RIaVqEp8m}vYupl6OB|^d%J>`x_nt<@vg?d zh<($Gn^&xiYwbUFNEt65KhS)Bms)@1VAJr6c}JodhW74xVOSW3A=KeFUW%)U>sM>F zoPBEPxPi{n_oY8bYw30I&A2 zNikUJugIspJ?vt3UDcD!aG=pSQ=H~Zahfy5Y0eay=Da{{{AOvHTC_kj zr1>(PrB{KMX$2FmO^cM!Hk@}`*ZM!+7uxOFWj*uT%V(eDgSs;`N9WPoEo6RD-F@&{ g?AC74Iml_$K1CPt+)t-*mV?;(MCo+b_xgnOH>|qg6951J literal 0 HcmV?d00001 diff --git a/mystile/functions/assets/fonts/wooframework.woff b/mystile/functions/assets/fonts/wooframework.woff new file mode 100755 index 0000000000000000000000000000000000000000..d9d556a403973efe153417225ea7aba8c22f2c21 GIT binary patch literal 1900 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 EKia1B{Qv*} literal 0 HcmV?d00001 diff --git a/mystile/functions/assets/images/lib/chosen-sprite.png b/mystile/functions/assets/images/lib/chosen-sprite.png new file mode 100755 index 0000000000000000000000000000000000000000..3611ae4ace1c4b1cbeacd6145b5a79cbc72e0bdc GIT binary patch literal 646 zcmV;10(t$3P)0006_Nkl&pbAC0n?)s%2x5M$#UgGxI1~gymp~v; zh<`zGaTJP5BybQY4tlRo;SIcmE0t>ueW3>*u6N;@_u;;|BoL8PuhZ#FWY9$(flan1oVvxDBL8~}0Q5z;^2p>Ov z7}Q$E7=l>$BZLUt1*uKMCaQwKYf$lsJCyerWMd+%BeGH6f_f&Vpy%=$BN%uK%Ahxi zF+%Jj=Pc-WXF;djSiJw|m4>cN%^Fi|FBZ!E{_yJLS?RI<3U696XLkQSs z{{&kQJ$K(#5CgC1;GbA>mjm56zJZ^-Hg2_ASKI_K@CybPh7Rq}8ud``)NM~eZx}qT z)oK?Lf>t!B;%Uh}*P+)Ef?jbx#w|BNEVb(l{2LK}m#fw4xx>ddF;&j}!S{N-e!<&Q z?kvzyI_AT@H-u4tUz1h&GCh8>?TnA~?BZ7WGP<9`r gQ6DuZO!_~60ju@{TzXF%TmS$707*qoM6N<$g2#CqL;wH) literal 0 HcmV?d00001 diff --git a/mystile/functions/assets/images/lib/chosen-sprite@2x.png b/mystile/functions/assets/images/lib/chosen-sprite@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..ffe4d7d1121ca45cd35783696940050c690a8676 GIT binary patch literal 872 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 a6G@egy=r*{ff4E)6hIB6rCh0K5%xcW2c9qh literal 0 HcmV?d00001 diff --git a/mystile/functions/assets/images/placeholder.png b/mystile/functions/assets/images/placeholder.png new file mode 100755 index 0000000000000000000000000000000000000000..feb271a815ad99c7674c929ee969c3cc5d789f11 GIT binary patch literal 1503 zcmZXUdpOg39LIkyZObK-*|Vf4TTaL%E^Zb0LmI$AqNzdpui%O+$YX&$Dvo=pQwdl(+xEc?jtaC!s_lmKA=Jw1R$57dceu!40Qon2f5adapEY_oSJ z+Ihr{%$7t(jyS>7lP8a4p<%hj1oarhRKZ8trd4&(bu%Tn(=l!NhS+(Mh@PBl+1me%J-^D_ArIb8w->8hYMC_8T`bD1m z(rO|cUs*x5@tXojikJnn)G)qpbMoefom^C}4P_jewJlHg@#-qxfvc{SEgaCmU{=1Y z9wI7oB zwnwFXO5B_6px~U>hGH7$581&CG6@Q`hM*UdleBm7J7_8?I_ERW2Bv;N(yE`HH14aT zSQM-Fn|TJX9|OI3mernzqv44yRaJ%=uo9+I-mM1B=o)(DYOqD|%I76RplmRt9Q@1_ zqEt(mI~YYzP;4p>8fw&U_Vm@OT|~vnUr`(hIuir9n#6M^$C_frL0k!=*Ajt#Q@-7R zuO`v{ye`h1+sq|8NF>?XS15{o3v(j`8hPie_l1H5qs38m3YCfEPiGfuAQ`2f@t ze7b&SUzmk?8zv=!?~8Xh&~2)zkNG)*zuEktwG%HHUlTwQ>nWZ>?Gc{<=zx_0-+-n9 z1aJ34Y{TJji;vDURm(3}^TH0(qew(jKCSEKyjOU&S5>W*L16mybf~I#t9aPf-`}5B zPhs>mj@?(%S6d$u&sFI6dtSL+d0j9>$=AUI^G6$NlRkWwJlBm;zfh0#x&By|*b#lt zuDB-%I1g@mT6vfL8uh)Gq@+E{vSW7ED4~V(4F!w*Wc}S)57Esd!-TSTGc%WchfcVk zVcHsSRb~QBD=&+r+CUAJ_khYnV=^k76lUW&kP%82Xn@OHw00=j2UqY+TH?HpL$4iw z;V(G%Q(HLSw?&}O_JeFpcIG$@c=%#SZsUuK58X*UL5E&QnBk?C65~>GG_OTB`wOVpGQRU zM+eaE3RR zvmN%$!Zr(DJ8OM@Y)JweiOPe*hP_V!?ir`FY0<>Z+oU9$xp zTPz{K{zA~d1jwVmJAc6Gf27is2NKM7R^}`q=gO=LvtQ<9j34Z66jdsI(bL)DtTTyB JyiYip@*5fxs1pDH literal 0 HcmV?d00001 diff --git a/mystile/functions/assets/images/ui-bg_flat_0_aaaaaa_40x100.png b/mystile/functions/assets/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..99be896bfde3d35d2d397a617a9f0d08a134df56 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsTfZe$B>MBZ_hFEGB9v3E4;n` qM0IOh@q`9HqtXa&E($;$r(Vt_Z4c|U=avKQVeoYIb6Mw<&;$TQVjFA# literal 0 HcmV?d00001 diff --git a/mystile/functions/assets/images/ui-bg_flat_75_ffffff_40x100.png b/mystile/functions/assets/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..e77a5354970332c0d41b2bde303105f4e4130552 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsVGku$B>MBZ_hFEGB9v3E8Mr= oB6Zl(!=dVGqM!%`;E#~Zhp&B48ZW9o1=_;k>FVdQ&MBb@04$RpA^-pY literal 0 HcmV?d00001 diff --git a/mystile/functions/assets/images/ui-bg_glass_55_fbf9ee_1x400.png b/mystile/functions/assets/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..6352348b63ca10df77c50654e0a81346baa5496f GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq-;E0978Nlzdh~E#h}3B?D)Pu zqCWN}SJsLbqAr^xBYq Q8qgdDPgg&ebxsLQ08PRr=Kufz literal 0 HcmV?d00001 diff --git a/mystile/functions/assets/images/ui-bg_glass_65_ffffff_1x400.png b/mystile/functions/assets/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..54b5d35284d6a4a1a671a89762907b9ff09182e6 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq|`iJ978NlC;#~V{(gO1VA2!` t)i%?Q@*Ed-9uZpdT0+&WGcbvPgF)+-`K~$KwQ)cl44$rjF6*2UngEQl91j2h literal 0 HcmV?d00001 diff --git a/mystile/functions/assets/images/ui-bg_glass_75_dadada_1x400.png b/mystile/functions/assets/images/ui-bg_glass_75_dadada_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..20055b8b0cc9e6c48187abb2f4c06a313d2b0553 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq)a_s978NlCs%xWa zFlmZ}YMbuIx3|qTx+hK)Y)(i@a!OO&aiinn0~uAf&V!x|49Al>?}#7!WCt{W!PC{x JWt~$(698MiBB=lX literal 0 HcmV?d00001 diff --git a/mystile/functions/assets/images/ui-bg_glass_75_e6e6e6_1x400.png b/mystile/functions/assets/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..efe693be7157ad6e6d03075079d2b28d60455682 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAGVZ#9R3S1;RXC978NlzrC_i@PGjav%_0^ z4KuTX3Z|tWxj0!f_br_CpkcRgXa`4P+7Zj=*+TXvp#Gkwn#L$;0Al#~`N`K|Tq t-5!0VBLBG1&b{AdU0m*d|5-VaJyP%;0Q?znQT^iJ$9) S$k!^MK@6U*elF{r5}E+(UniUZ literal 0 HcmV?d00001 diff --git a/mystile/functions/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/mystile/functions/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..7c9fa6c6edcfcdd3e5b77e6f547b719e6fc66e30 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l#Zv1V~E7m\"\'\`]/.test(text)) { + return text; + } + map = { + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + unsafe_chars = /&(?!\w+;)|[\<\>\"\'\`]/g; + return text.replace(unsafe_chars, function(chr) { + return map[chr] || "&"; + }); + }; + + return SelectParser; + + })(); + + SelectParser.select_to_array = function(select) { + var child, parser, _i, _len, _ref; + + parser = new SelectParser(); + _ref = select.childNodes; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + child = _ref[_i]; + parser.add_node(child); + } + return parser.parsed; + }; + + AbstractChosen = (function() { + function AbstractChosen(form_field, options) { + this.form_field = form_field; + this.options = options != null ? options : {}; + if (!AbstractChosen.browser_is_supported()) { + return; + } + this.is_multiple = this.form_field.multiple; + this.set_default_text(); + this.set_default_values(); + this.setup(); + this.set_up_html(); + this.register_observers(); + } + + AbstractChosen.prototype.set_default_values = function() { + var _this = this; + + this.click_test_action = function(evt) { + return _this.test_active_click(evt); + }; + this.activate_action = function(evt) { + return _this.activate_field(evt); + }; + this.active_field = false; + this.mouse_on_container = false; + this.results_showing = false; + this.result_highlighted = null; + this.result_single_selected = null; + this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false; + this.disable_search_threshold = this.options.disable_search_threshold || 0; + this.disable_search = this.options.disable_search || false; + this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true; + this.group_search = this.options.group_search != null ? this.options.group_search : true; + this.search_contains = this.options.search_contains || false; + this.single_backstroke_delete = this.options.single_backstroke_delete != null ? this.options.single_backstroke_delete : true; + this.max_selected_options = this.options.max_selected_options || Infinity; + this.inherit_select_classes = this.options.inherit_select_classes || false; + this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true; + return this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true; + }; + + AbstractChosen.prototype.set_default_text = function() { + if (this.form_field.getAttribute("data-placeholder")) { + this.default_text = this.form_field.getAttribute("data-placeholder"); + } else if (this.is_multiple) { + this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text; + } else { + this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text; + } + return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text; + }; + + AbstractChosen.prototype.mouse_enter = function() { + return this.mouse_on_container = true; + }; + + AbstractChosen.prototype.mouse_leave = function() { + return this.mouse_on_container = false; + }; + + AbstractChosen.prototype.input_focus = function(evt) { + var _this = this; + + if (this.is_multiple) { + if (!this.active_field) { + return setTimeout((function() { + return _this.container_mousedown(); + }), 50); + } + } else { + if (!this.active_field) { + return this.activate_field(); + } + } + }; + + AbstractChosen.prototype.input_blur = function(evt) { + var _this = this; + + if (!this.mouse_on_container) { + this.active_field = false; + return setTimeout((function() { + return _this.blur_test(); + }), 100); + } + }; + + AbstractChosen.prototype.results_option_build = function(options) { + var content, data, _i, _len, _ref; + + content = ''; + _ref = this.results_data; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + data = _ref[_i]; + if (data.group) { + content += this.result_add_group(data); + } else { + content += this.result_add_option(data); + } + if (options != null ? options.first : void 0) { + if (data.selected && this.is_multiple) { + this.choice_build(data); + } else if (data.selected && !this.is_multiple) { + this.single_set_selected_text(data.text); + } + } + } + return content; + }; + + AbstractChosen.prototype.result_add_option = function(option) { + var classes, style; + + if (!option.search_match) { + return ''; + } + if (!this.include_option_in_results(option)) { + return ''; + } + classes = []; + if (!option.disabled && !(option.selected && this.is_multiple)) { + classes.push("active-result"); + } + if (option.disabled && !(option.selected && this.is_multiple)) { + classes.push("disabled-result"); + } + if (option.selected) { + classes.push("result-selected"); + } + if (option.group_array_index != null) { + classes.push("group-option"); + } + if (option.classes !== "") { + classes.push(option.classes); + } + style = option.style.cssText !== "" ? " style=\"" + option.style + "\"" : ""; + return "

  • " + option.search_text + "
  • "; + }; + + AbstractChosen.prototype.result_add_group = function(group) { + if (!(group.search_match || group.group_match)) { + return ''; + } + if (!(group.active_options > 0)) { + return ''; + } + return "
  • " + group.search_text + "
  • "; + }; + + AbstractChosen.prototype.results_update_field = function() { + this.set_default_text(); + if (!this.is_multiple) { + this.results_reset_cleanup(); + } + this.result_clear_highlight(); + this.result_single_selected = null; + this.results_build(); + if (this.results_showing) { + return this.winnow_results(); + } + }; + + AbstractChosen.prototype.results_toggle = function() { + if (this.results_showing) { + return this.results_hide(); + } else { + return this.results_show(); + } + }; + + AbstractChosen.prototype.results_search = function(evt) { + if (this.results_showing) { + return this.winnow_results(); + } else { + return this.results_show(); + } + }; + + AbstractChosen.prototype.winnow_results = function() { + var escapedSearchText, option, regex, regexAnchor, results, results_group, searchText, startpos, text, zregex, _i, _len, _ref; + + this.no_results_clear(); + results = 0; + searchText = this.get_search_text(); + escapedSearchText = searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + regexAnchor = this.search_contains ? "" : "^"; + regex = new RegExp(regexAnchor + escapedSearchText, 'i'); + zregex = new RegExp(escapedSearchText, 'i'); + _ref = this.results_data; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + option = _ref[_i]; + option.search_match = false; + results_group = null; + if (this.include_option_in_results(option)) { + if (option.group) { + option.group_match = false; + option.active_options = 0; + } + if ((option.group_array_index != null) && this.results_data[option.group_array_index]) { + results_group = this.results_data[option.group_array_index]; + if (results_group.active_options === 0 && results_group.search_match) { + results += 1; + } + results_group.active_options += 1; + } + if (!(option.group && !this.group_search)) { + option.search_text = option.group ? option.label : option.html; + option.search_match = this.search_string_match(option.search_text, regex); + if (option.search_match && !option.group) { + results += 1; + } + if (option.search_match) { + if (searchText.length) { + startpos = option.search_text.search(zregex); + text = option.search_text.substr(0, startpos + searchText.length) + '
    ' + option.search_text.substr(startpos + searchText.length); + option.search_text = text.substr(0, startpos) + '' + text.substr(startpos); + } + if (results_group != null) { + results_group.group_match = true; + } + } else if ((option.group_array_index != null) && this.results_data[option.group_array_index].search_match) { + option.search_match = true; + } + } + } + } + this.result_clear_highlight(); + if (results < 1 && searchText.length) { + this.update_results_content(""); + return this.no_results(searchText); + } else { + this.update_results_content(this.results_option_build()); + return this.winnow_results_set_highlight(); + } + }; + + AbstractChosen.prototype.search_string_match = function(search_string, regex) { + var part, parts, _i, _len; + + if (regex.test(search_string)) { + return true; + } else if (this.enable_split_word_search && (search_string.indexOf(" ") >= 0 || search_string.indexOf("[") === 0)) { + parts = search_string.replace(/\[|\]/g, "").split(" "); + if (parts.length) { + for (_i = 0, _len = parts.length; _i < _len; _i++) { + part = parts[_i]; + if (regex.test(part)) { + return true; + } + } + } + } + }; + + AbstractChosen.prototype.choices_count = function() { + var option, _i, _len, _ref; + + if (this.selected_option_count != null) { + return this.selected_option_count; + } + this.selected_option_count = 0; + _ref = this.form_field.options; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + option = _ref[_i]; + if (option.selected) { + this.selected_option_count += 1; + } + } + return this.selected_option_count; + }; + + AbstractChosen.prototype.choices_click = function(evt) { + evt.preventDefault(); + if (!(this.results_showing || this.is_disabled)) { + return this.results_show(); + } + }; + + AbstractChosen.prototype.keyup_checker = function(evt) { + var stroke, _ref; + + stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; + this.search_field_scale(); + switch (stroke) { + case 8: + if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) { + return this.keydown_backstroke(); + } else if (!this.pending_backstroke) { + this.result_clear_highlight(); + return this.results_search(); + } + break; + case 13: + evt.preventDefault(); + if (this.results_showing) { + return this.result_select(evt); + } + break; + case 27: + if (this.results_showing) { + this.results_hide(); + } + return true; + case 9: + case 38: + case 40: + case 16: + case 91: + case 17: + break; + default: + return this.results_search(); + } + }; + + AbstractChosen.prototype.container_width = function() { + if (this.options.width != null) { + return this.options.width; + } else { + return "" + this.form_field.offsetWidth + "px"; + } + }; + + AbstractChosen.prototype.include_option_in_results = function(option) { + if (this.is_multiple && (!this.display_selected_options && option.selected)) { + return false; + } + if (!this.display_disabled_options && option.disabled) { + return false; + } + if (option.empty) { + return false; + } + return true; + }; + + AbstractChosen.browser_is_supported = function() { + if (window.navigator.appName === "Microsoft Internet Explorer") { + return document.documentMode >= 8; + } + if (/iP(od|hone)/i.test(window.navigator.userAgent)) { + return false; + } + if (/Android/i.test(window.navigator.userAgent)) { + if (/Mobile/i.test(window.navigator.userAgent)) { + return false; + } + } + return true; + }; + + AbstractChosen.default_multiple_text = "Select Some Options"; + + AbstractChosen.default_single_text = "Select an Option"; + + AbstractChosen.default_no_result_text = "No results match"; + + return AbstractChosen; + + })(); + + $ = jQuery; + + $.fn.extend({ + chosen: function(options) { + if (!AbstractChosen.browser_is_supported()) { + return this; + } + return this.each(function(input_field) { + var $this, chosen; + + $this = $(this); + chosen = $this.data('chosen'); + if (options === 'destroy' && chosen) { + chosen.destroy(); + } else if (!chosen) { + $this.data('chosen', new Chosen(this, options)); + } + }); + } + }); + + Chosen = (function(_super) { + __extends(Chosen, _super); + + function Chosen() { + _ref = Chosen.__super__.constructor.apply(this, arguments); + return _ref; + } + + Chosen.prototype.setup = function() { + this.form_field_jq = $(this.form_field); + this.current_selectedIndex = this.form_field.selectedIndex; + return this.is_rtl = this.form_field_jq.hasClass("chosen-rtl"); + }; + + Chosen.prototype.set_up_html = function() { + var container_classes, container_props; + + container_classes = ["chosen-container"]; + container_classes.push("chosen-container-" + (this.is_multiple ? "multi" : "single")); + if (this.inherit_select_classes && this.form_field.className) { + container_classes.push(this.form_field.className); + } + if (this.is_rtl) { + container_classes.push("chosen-rtl"); + } + container_props = { + 'class': container_classes.join(' '), + 'style': "width: " + (this.container_width()) + ";", + 'title': this.form_field.title + }; + if (this.form_field.id.length) { + container_props.id = this.form_field.id.replace(/[^\w]/g, '_') + "_chosen"; + } + this.container = $("
    ", container_props); + if (this.is_multiple) { + this.container.html('
      '); + } else { + this.container.html('' + this.default_text + '
        '); + } + this.form_field_jq.hide().after(this.container); + this.dropdown = this.container.find('div.chosen-drop').first(); + this.search_field = this.container.find('input').first(); + this.search_results = this.container.find('ul.chosen-results').first(); + this.search_field_scale(); + this.search_no_results = this.container.find('li.no-results').first(); + if (this.is_multiple) { + this.search_choices = this.container.find('ul.chosen-choices').first(); + this.search_container = this.container.find('li.search-field').first(); + } else { + this.search_container = this.container.find('div.chosen-search').first(); + this.selected_item = this.container.find('.chosen-single').first(); + } + this.results_build(); + this.set_tab_index(); + this.set_label_behavior(); + return this.form_field_jq.trigger("chosen:ready", { + chosen: this + }); + }; + + Chosen.prototype.register_observers = function() { + var _this = this; + + this.container.bind('mousedown.chosen', function(evt) { + _this.container_mousedown(evt); + }); + this.container.bind('mouseup.chosen', function(evt) { + _this.container_mouseup(evt); + }); + this.container.bind('mouseenter.chosen', function(evt) { + _this.mouse_enter(evt); + }); + this.container.bind('mouseleave.chosen', function(evt) { + _this.mouse_leave(evt); + }); + this.search_results.bind('mouseup.chosen', function(evt) { + _this.search_results_mouseup(evt); + }); + this.search_results.bind('mouseover.chosen', function(evt) { + _this.search_results_mouseover(evt); + }); + this.search_results.bind('mouseout.chosen', function(evt) { + _this.search_results_mouseout(evt); + }); + this.search_results.bind('mousewheel.chosen DOMMouseScroll.chosen', function(evt) { + _this.search_results_mousewheel(evt); + }); + this.form_field_jq.bind("chosen:updated.chosen", function(evt) { + _this.results_update_field(evt); + }); + this.form_field_jq.bind("chosen:activate.chosen", function(evt) { + _this.activate_field(evt); + }); + this.form_field_jq.bind("chosen:open.chosen", function(evt) { + _this.container_mousedown(evt); + }); + this.search_field.bind('blur.chosen', function(evt) { + _this.input_blur(evt); + }); + this.search_field.bind('keyup.chosen', function(evt) { + _this.keyup_checker(evt); + }); + this.search_field.bind('keydown.chosen', function(evt) { + _this.keydown_checker(evt); + }); + this.search_field.bind('focus.chosen', function(evt) { + _this.input_focus(evt); + }); + if (this.is_multiple) { + return this.search_choices.bind('click.chosen', function(evt) { + _this.choices_click(evt); + }); + } else { + return this.container.bind('click.chosen', function(evt) { + evt.preventDefault(); + }); + } + }; + + Chosen.prototype.destroy = function() { + $(document).unbind("click.chosen", this.click_test_action); + if (this.search_field[0].tabIndex) { + this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex; + } + this.container.remove(); + this.form_field_jq.removeData('chosen'); + return this.form_field_jq.show(); + }; + + Chosen.prototype.search_field_disabled = function() { + this.is_disabled = this.form_field_jq[0].disabled; + if (this.is_disabled) { + this.container.addClass('chosen-disabled'); + this.search_field[0].disabled = true; + if (!this.is_multiple) { + this.selected_item.unbind("focus.chosen", this.activate_action); + } + return this.close_field(); + } else { + this.container.removeClass('chosen-disabled'); + this.search_field[0].disabled = false; + if (!this.is_multiple) { + return this.selected_item.bind("focus.chosen", this.activate_action); + } + } + }; + + Chosen.prototype.container_mousedown = function(evt) { + if (!this.is_disabled) { + if (evt && evt.type === "mousedown" && !this.results_showing) { + evt.preventDefault(); + } + if (!((evt != null) && ($(evt.target)).hasClass("search-choice-close"))) { + if (!this.active_field) { + if (this.is_multiple) { + this.search_field.val(""); + } + $(document).bind('click.chosen', this.click_test_action); + this.results_show(); + } else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chosen-single").length)) { + evt.preventDefault(); + this.results_toggle(); + } + return this.activate_field(); + } + } + }; + + Chosen.prototype.container_mouseup = function(evt) { + if (evt.target.nodeName === "ABBR" && !this.is_disabled) { + return this.results_reset(evt); + } + }; + + Chosen.prototype.search_results_mousewheel = function(evt) { + var delta, _ref1, _ref2; + + delta = -((_ref1 = evt.originalEvent) != null ? _ref1.wheelDelta : void 0) || ((_ref2 = evt.originialEvent) != null ? _ref2.detail : void 0); + if (delta != null) { + evt.preventDefault(); + if (evt.type === 'DOMMouseScroll') { + delta = delta * 40; + } + return this.search_results.scrollTop(delta + this.search_results.scrollTop()); + } + }; + + Chosen.prototype.blur_test = function(evt) { + if (!this.active_field && this.container.hasClass("chosen-container-active")) { + return this.close_field(); + } + }; + + Chosen.prototype.close_field = function() { + $(document).unbind("click.chosen", this.click_test_action); + this.active_field = false; + this.results_hide(); + this.container.removeClass("chosen-container-active"); + this.clear_backstroke(); + this.show_search_field_default(); + return this.search_field_scale(); + }; + + Chosen.prototype.activate_field = function() { + this.container.addClass("chosen-container-active"); + this.active_field = true; + this.search_field.val(this.search_field.val()); + return this.search_field.focus(); + }; + + Chosen.prototype.test_active_click = function(evt) { + if (this.container.is($(evt.target).closest('.chosen-container'))) { + return this.active_field = true; + } else { + return this.close_field(); + } + }; + + Chosen.prototype.results_build = function() { + this.parsing = true; + this.selected_option_count = null; + this.results_data = SelectParser.select_to_array(this.form_field); + if (this.is_multiple) { + this.search_choices.find("li.search-choice").remove(); + } else if (!this.is_multiple) { + this.single_set_selected_text(); + if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) { + this.search_field[0].readOnly = true; + this.container.addClass("chosen-container-single-nosearch"); + } else { + this.search_field[0].readOnly = false; + this.container.removeClass("chosen-container-single-nosearch"); + } + } + this.update_results_content(this.results_option_build({ + first: true + })); + this.search_field_disabled(); + this.show_search_field_default(); + this.search_field_scale(); + return this.parsing = false; + }; + + Chosen.prototype.result_do_highlight = function(el) { + var high_bottom, high_top, maxHeight, visible_bottom, visible_top; + + if (el.length) { + this.result_clear_highlight(); + this.result_highlight = el; + this.result_highlight.addClass("highlighted"); + maxHeight = parseInt(this.search_results.css("maxHeight"), 10); + visible_top = this.search_results.scrollTop(); + visible_bottom = maxHeight + visible_top; + high_top = this.result_highlight.position().top + this.search_results.scrollTop(); + high_bottom = high_top + this.result_highlight.outerHeight(); + if (high_bottom >= visible_bottom) { + return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0); + } else if (high_top < visible_top) { + return this.search_results.scrollTop(high_top); + } + } + }; + + Chosen.prototype.result_clear_highlight = function() { + if (this.result_highlight) { + this.result_highlight.removeClass("highlighted"); + } + return this.result_highlight = null; + }; + + Chosen.prototype.results_show = function() { + if (this.is_multiple && this.max_selected_options <= this.choices_count()) { + this.form_field_jq.trigger("chosen:maxselected", { + chosen: this + }); + return false; + } + this.container.addClass("chosen-with-drop"); + this.form_field_jq.trigger("chosen:showing_dropdown", { + chosen: this + }); + this.results_showing = true; + this.search_field.focus(); + this.search_field.val(this.search_field.val()); + return this.winnow_results(); + }; + + Chosen.prototype.update_results_content = function(content) { + return this.search_results.html(content); + }; + + Chosen.prototype.results_hide = function() { + if (this.results_showing) { + this.result_clear_highlight(); + this.container.removeClass("chosen-with-drop"); + this.form_field_jq.trigger("chosen:hiding_dropdown", { + chosen: this + }); + } + return this.results_showing = false; + }; + + Chosen.prototype.set_tab_index = function(el) { + var ti; + + if (this.form_field.tabIndex) { + ti = this.form_field.tabIndex; + this.form_field.tabIndex = -1; + return this.search_field[0].tabIndex = ti; + } + }; + + Chosen.prototype.set_label_behavior = function() { + var _this = this; + + this.form_field_label = this.form_field_jq.parents("label"); + if (!this.form_field_label.length && this.form_field.id.length) { + this.form_field_label = $("label[for='" + this.form_field.id + "']"); + } + if (this.form_field_label.length > 0) { + return this.form_field_label.bind('click.chosen', function(evt) { + if (_this.is_multiple) { + return _this.container_mousedown(evt); + } else { + return _this.activate_field(); + } + }); + } + }; + + Chosen.prototype.show_search_field_default = function() { + if (this.is_multiple && this.choices_count() < 1 && !this.active_field) { + this.search_field.val(this.default_text); + return this.search_field.addClass("default"); + } else { + this.search_field.val(""); + return this.search_field.removeClass("default"); + } + }; + + Chosen.prototype.search_results_mouseup = function(evt) { + var target; + + target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); + if (target.length) { + this.result_highlight = target; + this.result_select(evt); + return this.search_field.focus(); + } + }; + + Chosen.prototype.search_results_mouseover = function(evt) { + var target; + + target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); + if (target) { + return this.result_do_highlight(target); + } + }; + + Chosen.prototype.search_results_mouseout = function(evt) { + if ($(evt.target).hasClass("active-result" || $(evt.target).parents('.active-result').first())) { + return this.result_clear_highlight(); + } + }; + + Chosen.prototype.choice_build = function(item) { + var choice, close_link, + _this = this; + + choice = $('
      • ', { + "class": "search-choice" + }).html("" + item.html + ""); + if (item.disabled) { + choice.addClass('search-choice-disabled'); + } else { + close_link = $('', { + "class": 'search-choice-close', + 'data-option-array-index': item.array_index + }); + close_link.bind('click.chosen', function(evt) { + return _this.choice_destroy_link_click(evt); + }); + choice.append(close_link); + } + return this.search_container.before(choice); + }; + + Chosen.prototype.choice_destroy_link_click = function(evt) { + evt.preventDefault(); + evt.stopPropagation(); + if (!this.is_disabled) { + return this.choice_destroy($(evt.target)); + } + }; + + Chosen.prototype.choice_destroy = function(link) { + if (this.result_deselect(link[0].getAttribute("data-option-array-index"))) { + this.show_search_field_default(); + if (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) { + this.results_hide(); + } + link.parents('li').first().remove(); + return this.search_field_scale(); + } + }; + + Chosen.prototype.results_reset = function() { + this.form_field.options[0].selected = true; + this.selected_option_count = null; + this.single_set_selected_text(); + this.show_search_field_default(); + this.results_reset_cleanup(); + this.form_field_jq.trigger("change"); + if (this.active_field) { + return this.results_hide(); + } + }; + + Chosen.prototype.results_reset_cleanup = function() { + this.current_selectedIndex = this.form_field.selectedIndex; + return this.selected_item.find("abbr").remove(); + }; + + Chosen.prototype.result_select = function(evt) { + var high, item, selected_index; + + if (this.result_highlight) { + high = this.result_highlight; + this.result_clear_highlight(); + if (this.is_multiple && this.max_selected_options <= this.choices_count()) { + this.form_field_jq.trigger("chosen:maxselected", { + chosen: this + }); + return false; + } + if (this.is_multiple) { + high.removeClass("active-result"); + } else { + if (this.result_single_selected) { + this.result_single_selected.removeClass("result-selected"); + selected_index = this.result_single_selected[0].getAttribute('data-option-array-index'); + this.results_data[selected_index].selected = false; + } + this.result_single_selected = high; + } + high.addClass("result-selected"); + item = this.results_data[high[0].getAttribute("data-option-array-index")]; + item.selected = true; + this.form_field.options[item.options_index].selected = true; + this.selected_option_count = null; + if (this.is_multiple) { + this.choice_build(item); + } else { + this.single_set_selected_text(item.text); + } + if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) { + this.results_hide(); + } + this.search_field.val(""); + if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) { + this.form_field_jq.trigger("change", { + 'selected': this.form_field.options[item.options_index].value + }); + } + this.current_selectedIndex = this.form_field.selectedIndex; + return this.search_field_scale(); + } + }; + + Chosen.prototype.single_set_selected_text = function(text) { + if (text == null) { + text = this.default_text; + } + if (text === this.default_text) { + this.selected_item.addClass("chosen-default"); + } else { + this.single_deselect_control_build(); + this.selected_item.removeClass("chosen-default"); + } + return this.selected_item.find("span").text(text); + }; + + Chosen.prototype.result_deselect = function(pos) { + var result_data; + + result_data = this.results_data[pos]; + if (!this.form_field.options[result_data.options_index].disabled) { + result_data.selected = false; + this.form_field.options[result_data.options_index].selected = false; + this.selected_option_count = null; + this.result_clear_highlight(); + if (this.results_showing) { + this.winnow_results(); + } + this.form_field_jq.trigger("change", { + deselected: this.form_field.options[result_data.options_index].value + }); + this.search_field_scale(); + return true; + } else { + return false; + } + }; + + Chosen.prototype.single_deselect_control_build = function() { + if (!this.allow_single_deselect) { + return; + } + if (!this.selected_item.find("abbr").length) { + this.selected_item.find("span").first().after(""); + } + return this.selected_item.addClass("chosen-single-with-deselect"); + }; + + Chosen.prototype.get_search_text = function() { + if (this.search_field.val() === this.default_text) { + return ""; + } else { + return $('
        ').text($.trim(this.search_field.val())).html(); + } + }; + + Chosen.prototype.winnow_results_set_highlight = function() { + var do_high, selected_results; + + selected_results = !this.is_multiple ? this.search_results.find(".result-selected.active-result") : []; + do_high = selected_results.length ? selected_results.first() : this.search_results.find(".active-result").first(); + if (do_high != null) { + return this.result_do_highlight(do_high); + } + }; + + Chosen.prototype.no_results = function(terms) { + var no_results_html; + + no_results_html = $('
      • ' + this.results_none_found + ' ""
      • '); + no_results_html.find("span").first().html(terms); + return this.search_results.append(no_results_html); + }; + + Chosen.prototype.no_results_clear = function() { + return this.search_results.find(".no-results").remove(); + }; + + Chosen.prototype.keydown_arrow = function() { + var next_sib; + + if (this.results_showing && this.result_highlight) { + next_sib = this.result_highlight.nextAll("li.active-result").first(); + if (next_sib) { + return this.result_do_highlight(next_sib); + } + } else { + return this.results_show(); + } + }; + + Chosen.prototype.keyup_arrow = function() { + var prev_sibs; + + if (!this.results_showing && !this.is_multiple) { + return this.results_show(); + } else if (this.result_highlight) { + prev_sibs = this.result_highlight.prevAll("li.active-result"); + if (prev_sibs.length) { + return this.result_do_highlight(prev_sibs.first()); + } else { + if (this.choices_count() > 0) { + this.results_hide(); + } + return this.result_clear_highlight(); + } + } + }; + + Chosen.prototype.keydown_backstroke = function() { + var next_available_destroy; + + if (this.pending_backstroke) { + this.choice_destroy(this.pending_backstroke.find("a").first()); + return this.clear_backstroke(); + } else { + next_available_destroy = this.search_container.siblings("li.search-choice").last(); + if (next_available_destroy.length && !next_available_destroy.hasClass("search-choice-disabled")) { + this.pending_backstroke = next_available_destroy; + if (this.single_backstroke_delete) { + return this.keydown_backstroke(); + } else { + return this.pending_backstroke.addClass("search-choice-focus"); + } + } + } + }; + + Chosen.prototype.clear_backstroke = function() { + if (this.pending_backstroke) { + this.pending_backstroke.removeClass("search-choice-focus"); + } + return this.pending_backstroke = null; + }; + + Chosen.prototype.keydown_checker = function(evt) { + var stroke, _ref1; + + stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode; + this.search_field_scale(); + if (stroke !== 8 && this.pending_backstroke) { + this.clear_backstroke(); + } + switch (stroke) { + case 8: + this.backstroke_length = this.search_field.val().length; + break; + case 9: + if (this.results_showing && !this.is_multiple) { + this.result_select(evt); + } + this.mouse_on_container = false; + break; + case 13: + evt.preventDefault(); + break; + case 38: + evt.preventDefault(); + this.keyup_arrow(); + break; + case 40: + evt.preventDefault(); + this.keydown_arrow(); + break; + } + }; + + Chosen.prototype.search_field_scale = function() { + var div, f_width, h, style, style_block, styles, w, _i, _len; + + if (this.is_multiple) { + h = 0; + w = 0; + style_block = "position:absolute; left: -1000px; top: -1000px; display:none;"; + styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing']; + for (_i = 0, _len = styles.length; _i < _len; _i++) { + style = styles[_i]; + style_block += style + ":" + this.search_field.css(style) + ";"; + } + div = $('
        ', { + 'style': style_block + }); + div.text(this.search_field.val()); + $('body').append(div); + w = div.width() + 25; + div.remove(); + f_width = this.container.outerWidth(); + if (w > f_width - 10) { + w = f_width - 10; + } + return this.search_field.css({ + 'width': w + 'px' + }); + } + }; + + return Chosen; + + })(AbstractChosen); + +}).call(this); diff --git a/mystile/functions/assets/js/lib/jquery-chosen.min.js b/mystile/functions/assets/js/lib/jquery-chosen.min.js new file mode 100755 index 0000000..ad430c4 --- /dev/null +++ b/mystile/functions/assets/js/lib/jquery-chosen.min.js @@ -0,0 +1,2 @@ +/* Chosen v1.0.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ +!function(){var a,AbstractChosen,Chosen,SelectParser,b,c={}.hasOwnProperty,d=function(a,b){function d(){this.constructor=a}for(var e in b)c.call(b,e)&&(a[e]=b[e]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a};SelectParser=function(){function SelectParser(){this.options_index=0,this.parsed=[]}return SelectParser.prototype.add_node=function(a){return"OPTGROUP"===a.nodeName.toUpperCase()?this.add_group(a):this.add_option(a)},SelectParser.prototype.add_group=function(a){var b,c,d,e,f,g;for(b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:this.escapeExpression(a.label),children:0,disabled:a.disabled}),f=a.childNodes,g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(this.add_option(c,b,a.disabled));return g},SelectParser.prototype.add_option=function(a,b,c){return"OPTION"===a.nodeName.toUpperCase()?(""!==a.text?(null!=b&&(this.parsed[b].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:a.value,text:a.text,html:a.innerHTML,selected:a.selected,disabled:c===!0?c:a.disabled,group_array_index:b,classes:a.className,style:a.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1):void 0},SelectParser.prototype.escapeExpression=function(a){var b,c;return null==a||a===!1?"":/[\&\<\>\"\'\`]/.test(a)?(b={"<":"<",">":">",'"':""","'":"'","`":"`"},c=/&(?!\w+;)|[\<\>\"\'\`]/g,a.replace(c,function(a){return b[a]||"&"})):a},SelectParser}(),SelectParser.select_to_array=function(a){var b,c,d,e,f;for(c=new SelectParser,f=a.childNodes,d=0,e=f.length;e>d;d++)b=f[d],c.add_node(b);return c.parsed},AbstractChosen=function(){function AbstractChosen(a,b){this.form_field=a,this.options=null!=b?b:{},AbstractChosen.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers())}return AbstractChosen.prototype.set_default_values=function(){var a=this;return this.click_test_action=function(b){return a.test_active_click(b)},this.activate_action=function(b){return a.activate_field(b)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.result_single_selected=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null!=this.options.enable_split_word_search?this.options.enable_split_word_search:!0,this.group_search=null!=this.options.group_search?this.options.group_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null!=this.options.single_backstroke_delete?this.options.single_backstroke_delete:!0,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null!=this.options.display_selected_options?this.options.display_selected_options:!0,this.display_disabled_options=null!=this.options.display_disabled_options?this.options.display_disabled_options:!0},AbstractChosen.prototype.set_default_text=function(){return this.default_text=this.form_field.getAttribute("data-placeholder")?this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text:this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text},AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=!0},AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=!1},AbstractChosen.prototype.input_focus=function(){var a=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return a.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},AbstractChosen.prototype.input_blur=function(){var a=this;return this.mouse_on_container?void 0:(this.active_field=!1,setTimeout(function(){return a.blur_test()},100))},AbstractChosen.prototype.results_option_build=function(a){var b,c,d,e,f;for(b="",f=this.results_data,d=0,e=f.length;e>d;d++)c=f[d],b+=c.group?this.result_add_group(c):this.result_add_option(c),(null!=a?a.first:void 0)&&(c.selected&&this.is_multiple?this.choice_build(c):c.selected&&!this.is_multiple&&this.single_set_selected_text(c.text));return b},AbstractChosen.prototype.result_add_option=function(a){var b,c;return a.search_match?this.include_option_in_results(a)?(b=[],a.disabled||a.selected&&this.is_multiple||b.push("active-result"),!a.disabled||a.selected&&this.is_multiple||b.push("disabled-result"),a.selected&&b.push("result-selected"),null!=a.group_array_index&&b.push("group-option"),""!==a.classes&&b.push(a.classes),c=""!==a.style.cssText?' style="'+a.style+'"':"",'
      • '+a.search_text+"
      • "):"":""},AbstractChosen.prototype.result_add_group=function(a){return a.search_match||a.group_match?a.active_options>0?'
      • '+a.search_text+"
      • ":"":""},AbstractChosen.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build(),this.results_showing?this.winnow_results():void 0},AbstractChosen.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},AbstractChosen.prototype.results_search=function(){return this.results_showing?this.winnow_results():this.results_show()},AbstractChosen.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m;for(this.no_results_clear(),e=0,g=this.get_search_text(),a=g.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),d=this.search_contains?"":"^",c=new RegExp(d+a,"i"),j=new RegExp(a,"i"),m=this.results_data,k=0,l=m.length;l>k;k++)b=m[k],b.search_match=!1,f=null,this.include_option_in_results(b)&&(b.group&&(b.group_match=!1,b.active_options=0),null!=b.group_array_index&&this.results_data[b.group_array_index]&&(f=this.results_data[b.group_array_index],0===f.active_options&&f.search_match&&(e+=1),f.active_options+=1),(!b.group||this.group_search)&&(b.search_text=b.group?b.label:b.html,b.search_match=this.search_string_match(b.search_text,c),b.search_match&&!b.group&&(e+=1),b.search_match?(g.length&&(h=b.search_text.search(j),i=b.search_text.substr(0,h+g.length)+"
        "+b.search_text.substr(h+g.length),b.search_text=i.substr(0,h)+""+i.substr(h)),null!=f&&(f.group_match=!0)):null!=b.group_array_index&&this.results_data[b.group_array_index].search_match&&(b.search_match=!0)));return this.result_clear_highlight(),1>e&&g.length?(this.update_results_content(""),this.no_results(g)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},AbstractChosen.prototype.search_string_match=function(a,b){var c,d,e,f;if(b.test(a))return!0;if(this.enable_split_word_search&&(a.indexOf(" ")>=0||0===a.indexOf("["))&&(d=a.replace(/\[|\]/g,"").split(" "),d.length))for(e=0,f=d.length;f>e;e++)if(c=d[e],b.test(c))return!0},AbstractChosen.prototype.choices_count=function(){var a,b,c,d;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,d=this.form_field.options,b=0,c=d.length;c>b;b++)a=d[b],a.selected&&(this.selected_option_count+=1);return this.selected_option_count},AbstractChosen.prototype.choices_click=function(a){return a.preventDefault(),this.results_showing||this.is_disabled?void 0:this.results_show()},AbstractChosen.prototype.keyup_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:if(a.preventDefault(),this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},AbstractChosen.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},AbstractChosen.prototype.include_option_in_results=function(a){return this.is_multiple&&!this.display_selected_options&&a.selected?!1:!this.display_disabled_options&&a.disabled?!1:a.empty?!1:!0},AbstractChosen.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:/iP(od|hone)/i.test(window.navigator.userAgent)?!1:/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)?!1:!0},AbstractChosen.default_multiple_text="Select Some Options",AbstractChosen.default_single_text="Select an Option",AbstractChosen.default_no_result_text="No results match",AbstractChosen}(),a=jQuery,a.fn.extend({chosen:function(b){return AbstractChosen.browser_is_supported()?this.each(function(){var c,d;c=a(this),d=c.data("chosen"),"destroy"===b&&d?d.destroy():d||c.data("chosen",new Chosen(this,b))}):this}}),Chosen=function(c){function Chosen(){return b=Chosen.__super__.constructor.apply(this,arguments)}return d(Chosen,c),Chosen.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")},Chosen.prototype.set_up_html=function(){var b,c;return b=["chosen-container"],b.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&b.push(this.form_field.className),this.is_rtl&&b.push("chosen-rtl"),c={"class":b.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(c.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=a("
        ",c),this.is_multiple?this.container.html('
          '):this.container.html('
          '+this.default_text+'
            '),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior(),this.form_field_jq.trigger("chosen:ready",{chosen:this})},Chosen.prototype.register_observers=function(){var a=this;return this.container.bind("mousedown.chosen",function(b){a.container_mousedown(b)}),this.container.bind("mouseup.chosen",function(b){a.container_mouseup(b)}),this.container.bind("mouseenter.chosen",function(b){a.mouse_enter(b)}),this.container.bind("mouseleave.chosen",function(b){a.mouse_leave(b)}),this.search_results.bind("mouseup.chosen",function(b){a.search_results_mouseup(b)}),this.search_results.bind("mouseover.chosen",function(b){a.search_results_mouseover(b)}),this.search_results.bind("mouseout.chosen",function(b){a.search_results_mouseout(b)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(b){a.search_results_mousewheel(b)}),this.form_field_jq.bind("chosen:updated.chosen",function(b){a.results_update_field(b)}),this.form_field_jq.bind("chosen:activate.chosen",function(b){a.activate_field(b)}),this.form_field_jq.bind("chosen:open.chosen",function(b){a.container_mousedown(b)}),this.search_field.bind("blur.chosen",function(b){a.input_blur(b)}),this.search_field.bind("keyup.chosen",function(b){a.keyup_checker(b)}),this.search_field.bind("keydown.chosen",function(b){a.keydown_checker(b)}),this.search_field.bind("focus.chosen",function(b){a.input_focus(b)}),this.is_multiple?this.search_choices.bind("click.chosen",function(b){a.choices_click(b)}):this.container.bind("click.chosen",function(a){a.preventDefault()})},Chosen.prototype.destroy=function(){return a(document).unbind("click.chosen",this.click_test_action),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},Chosen.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field_jq[0].disabled,this.is_disabled?(this.container.addClass("chosen-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_action),this.close_field()):(this.container.removeClass("chosen-disabled"),this.search_field[0].disabled=!1,this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_action))},Chosen.prototype.container_mousedown=function(b){return this.is_disabled||(b&&"mousedown"===b.type&&!this.results_showing&&b.preventDefault(),null!=b&&a(b.target).hasClass("search-choice-close"))?void 0:(this.active_field?this.is_multiple||!b||a(b.target)[0]!==this.selected_item[0]&&!a(b.target).parents("a.chosen-single").length||(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(document).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},Chosen.prototype.container_mouseup=function(a){return"ABBR"!==a.target.nodeName||this.is_disabled?void 0:this.results_reset(a)},Chosen.prototype.search_results_mousewheel=function(a){var b,c,d;return b=-(null!=(c=a.originalEvent)?c.wheelDelta:void 0)||(null!=(d=a.originialEvent)?d.detail:void 0),null!=b?(a.preventDefault(),"DOMMouseScroll"===a.type&&(b=40*b),this.search_results.scrollTop(b+this.search_results.scrollTop())):void 0},Chosen.prototype.blur_test=function(){return!this.active_field&&this.container.hasClass("chosen-container-active")?this.close_field():void 0},Chosen.prototype.close_field=function(){return a(document).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},Chosen.prototype.activate_field=function(){return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},Chosen.prototype.test_active_click=function(b){return this.container.is(a(b.target).closest(".chosen-container"))?this.active_field=!0:this.close_field()},Chosen.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=SelectParser.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},Chosen.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){if(this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight(),b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(f>c)return this.search_results.scrollTop(c)}},Chosen.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},Chosen.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results())},Chosen.prototype.update_results_content=function(a){return this.search_results.html(a)},Chosen.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},Chosen.prototype.set_tab_index=function(){var a;return this.form_field.tabIndex?(a=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=a):void 0},Chosen.prototype.set_label_behavior=function(){var b=this;return this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=a("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0?this.form_field_label.bind("click.chosen",function(a){return b.is_multiple?b.container_mousedown(a):b.activate_field()}):void 0},Chosen.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},Chosen.prototype.search_results_mouseup=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c.length?(this.result_highlight=c,this.result_select(b),this.search_field.focus()):void 0},Chosen.prototype.search_results_mouseover=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c?this.result_do_highlight(c):void 0},Chosen.prototype.search_results_mouseout=function(b){return a(b.target).hasClass("active-result")?this.result_clear_highlight():void 0},Chosen.prototype.choice_build=function(b){var c,d,e=this;return c=a("
          • ",{"class":"search-choice"}).html(""+b.html+""),b.disabled?c.addClass("search-choice-disabled"):(d=a("",{"class":"search-choice-close","data-option-array-index":b.array_index}),d.bind("click.chosen",function(a){return e.choice_destroy_link_click(a)}),c.append(d)),this.search_container.before(c)},Chosen.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),b.stopPropagation(),this.is_disabled?void 0:this.choice_destroy(a(b.target))},Chosen.prototype.choice_destroy=function(a){return this.result_deselect(a[0].getAttribute("data-option-array-index"))?(this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1&&this.results_hide(),a.parents("li").first().remove(),this.search_field_scale()):void 0},Chosen.prototype.results_reset=function(){return this.form_field.options[0].selected=!0,this.selected_option_count=null,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change"),this.active_field?this.results_hide():void 0},Chosen.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},Chosen.prototype.result_select=function(a){var b,c,d;return this.result_highlight?(b=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?b.removeClass("active-result"):(this.result_single_selected&&(this.result_single_selected.removeClass("result-selected"),d=this.result_single_selected[0].getAttribute("data-option-array-index"),this.results_data[d].selected=!1),this.result_single_selected=b),b.addClass("result-selected"),c=this.results_data[b[0].getAttribute("data-option-array-index")],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(c):this.single_set_selected_text(c.text),(a.metaKey||a.ctrlKey)&&this.is_multiple||this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[c.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,this.search_field_scale())):void 0},Chosen.prototype.single_set_selected_text=function(a){return null==a&&(a=this.default_text),a===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").text(a)},Chosen.prototype.result_deselect=function(a){var b;return b=this.results_data[a],this.form_field.options[b.options_index].disabled?!1:(b.selected=!1,this.form_field.options[b.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[b.options_index].value}),this.search_field_scale(),!0)},Chosen.prototype.single_deselect_control_build=function(){return this.allow_single_deselect?(this.selected_item.find("abbr").length||this.selected_item.find("span").first().after(''),this.selected_item.addClass("chosen-single-with-deselect")):void 0},Chosen.prototype.get_search_text=function(){return this.search_field.val()===this.default_text?"":a("
            ").text(a.trim(this.search_field.val())).html()},Chosen.prototype.winnow_results_set_highlight=function(){var a,b;return b=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),a=b.length?b.first():this.search_results.find(".active-result").first(),null!=a?this.result_do_highlight(a):void 0},Chosen.prototype.no_results=function(b){var c;return c=a('
          • '+this.results_none_found+' ""
          • '),c.find("span").first().html(b),this.search_results.append(c)},Chosen.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},Chosen.prototype.keydown_arrow=function(){var a;return this.results_showing&&this.result_highlight?(a=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(a):void 0:this.results_show()},Chosen.prototype.keyup_arrow=function(){var a;return this.results_showing||this.is_multiple?this.result_highlight?(a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},Chosen.prototype.keydown_backstroke=function(){var a;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(a=this.search_container.siblings("li.search-choice").last(),a.length&&!a.hasClass("search-choice-disabled")?(this.pending_backstroke=a,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0)},Chosen.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},Chosen.prototype.keydown_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),8!==b&&this.pending_backstroke&&this.clear_backstroke(),b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:a.preventDefault(),this.keydown_arrow()}},Chosen.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){for(d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"],i=0,j=g.length;j>i;i++)e=g[i],f+=e+":"+this.search_field.css(e)+";";return b=a("
            ",{style:f}),b.text(this.search_field.val()),a("body").append(b),h=b.width()+25,b.remove(),c=this.container.outerWidth(),h>c-10&&(h=c-10),this.search_field.css({width:h+"px"})}},Chosen}(AbstractChosen)}.call(this); \ No newline at end of file diff --git a/mystile/functions/assets/js/lib/jquery-masked-input.js b/mystile/functions/assets/js/lib/jquery-masked-input.js new file mode 100755 index 0000000..cd54339 --- /dev/null +++ b/mystile/functions/assets/js/lib/jquery-masked-input.js @@ -0,0 +1,338 @@ +/* + Masked Input plugin for jQuery + Copyright (c) 2007-2013 Josh Bush (digitalbush.com) + Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license) + Version: 1.3.1 +*/ +(function($) { + function getPasteEvent() { + var el = document.createElement('input'), + name = 'onpaste'; + el.setAttribute(name, ''); + return (typeof el[name] === 'function')?'paste':'input'; +} + +var pasteEventName = getPasteEvent() + ".mask", + ua = navigator.userAgent, + iPhone = /iphone/i.test(ua), + android=/android/i.test(ua), + caretTimeoutId; + +$.mask = { + //Predefined character definitions + definitions: { + '9': "[0-9]", + 'a': "[A-Za-z]", + '*': "[A-Za-z0-9]" + }, + dataName: "rawMaskFn", + placeholder: '_', +}; + +$.fn.extend({ + //Helper Function for Caret positioning + caret: function(begin, end) { + var range; + + if (this.length === 0 || this.is(":hidden")) { + return; + } + + if (typeof begin == 'number') { + end = (typeof end === 'number') ? end : begin; + return this.each(function() { + if (this.setSelectionRange) { + this.setSelectionRange(begin, end); + } else if (this.createTextRange) { + range = this.createTextRange(); + range.collapse(true); + range.moveEnd('character', end); + range.moveStart('character', begin); + range.select(); + } + }); + } else { + if (this[0].setSelectionRange) { + begin = this[0].selectionStart; + end = this[0].selectionEnd; + } else if (document.selection && document.selection.createRange) { + range = document.selection.createRange(); + begin = 0 - range.duplicate().moveStart('character', -100000); + end = begin + range.text.length; + } + return { begin: begin, end: end }; + } + }, + unmask: function() { + return this.trigger("unmask"); + }, + mask: function(mask, settings) { + var input, + defs, + tests, + partialPosition, + firstNonMaskPos, + len; + + if (!mask && this.length > 0) { + input = $(this[0]); + return input.data($.mask.dataName)(); + } + settings = $.extend({ + placeholder: $.mask.placeholder, // Load default placeholder + completed: null + }, settings); + + + defs = $.mask.definitions; + tests = []; + partialPosition = len = mask.length; + firstNonMaskPos = null; + + $.each(mask.split(""), function(i, c) { + if (c == '?') { + len--; + partialPosition = i; + } else if (defs[c]) { + tests.push(new RegExp(defs[c])); + if (firstNonMaskPos === null) { + firstNonMaskPos = tests.length - 1; + } + } else { + tests.push(null); + } + }); + + return this.trigger("unmask").each(function() { + var input = $(this), + buffer = $.map( + mask.split(""), + function(c, i) { + if (c != '?') { + return defs[c] ? settings.placeholder : c; + } + }), + focusText = input.val(); + + function seekNext(pos) { + while (++pos < len && !tests[pos]); + return pos; + } + + function seekPrev(pos) { + while (--pos >= 0 && !tests[pos]); + return pos; + } + + function shiftL(begin,end) { + var i, + j; + + if (begin<0) { + return; + } + + for (i = begin, j = seekNext(end); i < len; i++) { + if (tests[i]) { + if (j < len && tests[i].test(buffer[j])) { + buffer[i] = buffer[j]; + buffer[j] = settings.placeholder; + } else { + break; + } + + j = seekNext(j); + } + } + writeBuffer(); + input.caret(Math.max(firstNonMaskPos, begin)); + } + + function shiftR(pos) { + var i, + c, + j, + t; + + for (i = pos, c = settings.placeholder; i < len; i++) { + if (tests[i]) { + j = seekNext(i); + t = buffer[i]; + buffer[i] = c; + if (j < len && tests[j].test(t)) { + c = t; + } else { + break; + } + } + } + } + + function keydownEvent(e) { + var k = e.which, + pos, + begin, + end; + + //backspace, delete, and escape get special treatment + if (k === 8 || k === 46 || (iPhone && k === 127)) { + pos = input.caret(); + begin = pos.begin; + end = pos.end; + + if (end - begin === 0) { + begin=k!==46?seekPrev(begin):(end=seekNext(begin-1)); + end=k===46?seekNext(end):end; + } + clearBuffer(begin, end); + shiftL(begin, end - 1); + + e.preventDefault(); + } else if (k == 27) {//escape + input.val(focusText); + input.caret(0, checkVal()); + e.preventDefault(); + } + } + + function keypressEvent(e) { + var k = e.which, + pos = input.caret(), + p, + c, + next; + + if (e.ctrlKey || e.altKey || e.metaKey || k < 32) {//Ignore + return; + } else if (k) { + if (pos.end - pos.begin !== 0){ + clearBuffer(pos.begin, pos.end); + shiftL(pos.begin, pos.end-1); + } + + p = seekNext(pos.begin - 1); + if (p < len) { + c = String.fromCharCode(k); + if (tests[p].test(c)) { + shiftR(p); + + buffer[p] = c; + writeBuffer(); + next = seekNext(p); + + if(android){ + setTimeout($.proxy($.fn.caret,input,next),0); + }else{ + input.caret(next); + } + + if (settings.completed && next >= len) { + settings.completed.call(input); + } + } + } + e.preventDefault(); + } + } + + function clearBuffer(start, end) { + var i; + for (i = start; i < end && i < len; i++) { + if (tests[i]) { + buffer[i] = settings.placeholder; + } + } + } + + function writeBuffer() { input.val(buffer.join('')); } + + function checkVal(allow) { + //try to place characters where they belong + var test = input.val(), + lastMatch = -1, + i, + c; + + for (i = 0, pos = 0; i < len; i++) { + if (tests[i]) { + buffer[i] = settings.placeholder; + while (pos++ < test.length) { + c = test.charAt(pos - 1); + if (tests[i].test(c)) { + buffer[i] = c; + lastMatch = i; + break; + } + } + if (pos > test.length) { + break; + } + } else if (buffer[i] === test.charAt(pos) && i !== partialPosition) { + pos++; + lastMatch = i; + } + } + if (allow) { + writeBuffer(); + } else if (lastMatch + 1 < partialPosition) { + input.val(""); + clearBuffer(0, len); + } else { + writeBuffer(); + input.val(input.val().substring(0, lastMatch + 1)); + } + return (partialPosition ? i : firstNonMaskPos); + } + + input.data($.mask.dataName,function(){ + return $.map(buffer, function(c, i) { + return tests[i]&&c!=settings.placeholder ? c : null; + }).join(''); + }); + + if (!input.attr("readonly")) + input + .one("unmask", function() { + input + .unbind(".mask") + .removeData($.mask.dataName); + }) + .bind("focus.mask", function() { + clearTimeout(caretTimeoutId); + var pos, + moveCaret; + + focusText = input.val(); + pos = checkVal(); + + caretTimeoutId = setTimeout(function(){ + writeBuffer(); + if (pos == mask.length) { + input.caret(0, pos); + } else { + input.caret(pos); + } + }, 10); + }) + .bind("blur.mask", function() { + checkVal(); + if (input.val() != focusText) + input.change(); + }) + .bind("keydown.mask", keydownEvent) + .bind("keypress.mask", keypressEvent) + .bind(pasteEventName, function() { + setTimeout(function() { + var pos=checkVal(true); + input.caret(pos); + if (settings.completed && pos == input.val().length) + settings.completed.call(input); + }, 0); + }); + checkVal(); //Perform initial check for existing values + }); + } +}); + + +})(jQuery); \ No newline at end of file diff --git a/mystile/functions/assets/js/masked-inputs.js b/mystile/functions/assets/js/masked-inputs.js new file mode 100755 index 0000000..86957be --- /dev/null +++ b/mystile/functions/assets/js/masked-inputs.js @@ -0,0 +1,11 @@ +(function ($) { + $(document).ready(function () { + if ( $( 'input.woo-input-masked' ).length ) { + $( 'input.woo-input-masked' ).each ( function ( i ) { + var placeholder = '99:99'; + if ( '' != $( this ).attr( 'data-placeholder' ) ) { placeholder = $( this ).attr( 'data-placeholder' ); } + $( this ).mask( placeholder ); + }); + } + }); +}(jQuery)); \ No newline at end of file diff --git a/mystile/functions/assets/js/range-selectors.js b/mystile/functions/assets/js/range-selectors.js new file mode 100755 index 0000000..56c3b10 --- /dev/null +++ b/mystile/functions/assets/js/range-selectors.js @@ -0,0 +1,34 @@ +jQuery(document).ready( function($) { + jQuery( 'select.range-input' ).each( function () { + // Get the range field's ID value. + var idValue = jQuery( this ).attr( 'id' ); + + if ( idValue ) { + var select = jQuery( this ); + + var selectedValue = select.val(); + + var numberOfOptions = jQuery( this ).find( 'option' ).length; + + var slider = jQuery( '
            ' ).insertAfter( select ).slider({ + min: 1, + max: parseInt( numberOfOptions ), + range: 'min', + value: select[0].selectedIndex + 1, + slide: function( event, ui ) { + select[0].selectedIndex = ui.value - 1; + jQuery( this ).parents( 'td' ).find( '.slider-value' ).text( select.val() ); + } + }); + + slider.after( '
            ' + selectedValue + '
            ' ); + + select.hide(); + + select.change(function() { + slider.slider( "value", this.selectedIndex + 1 ); + jQuery( this ).parents( 'td' ).find( '.slider-value' ).text( jQuery( this ).val() ); + }); + } + }); +}); \ No newline at end of file diff --git a/mystile/functions/assets/js/typography-preview.js b/mystile/functions/assets/js/typography-preview.js new file mode 100755 index 0000000..d1f3601 --- /dev/null +++ b/mystile/functions/assets/js/typography-preview.js @@ -0,0 +1,219 @@ +/** + * WooThemes Typography Live Preview + * 2011-10-07. + * + * @description The code below is designed to generate a live preview using the + * setting specified in a "custom typography" field in the WooFramework. + * + * @since 4.7.0 + */ + +(function ($) { + + wooTypographyPreview = { + + /** + * loadPreviewButtons() + * + * @description Setup a "preview" button next to each typography field. + * @since 4.7.0 + */ + + loadPreviewButtons: function () { + + var previewButtonHTML = '
            ' + '+' + ''; + + $( 'input.woo-typography-color' ).each( function ( i ) { + $( this ).next( '.button' ).after( previewButtonHTML ); + }); + + // Register event handlers. + wooTypographyPreview.handleEvents(); + + }, // End loadPreviewButtons() + + /** + * handleEvents() + * + * @description Handle the events. + * @since 4.7.0 + */ + + handleEvents: function () { + $(document).on( 'click', 'a.woo-typography-preview-button', function () { + wooTypographyPreview.generatePreview( $( this ) ); + return false; + }); + + $(document).on( 'click', 'a.preview_remove', function () { + wooTypographyPreview.closePreview( $( this ) ); + return false; + }); + }, + + /** + * closePreview() + * + * @description Close the preview. + * @since 4.7.0 + */ + + closePreview: function ( target ) { + target.parents( '.section' ).find( '.woo-typography-preview-button .refresh' ).removeClass( 'refresh' ); + target.parents( '.typography-preview-container' ).remove(); + }, + + /** + * generatePreview() + * + * @description Generate the typography preview. + * @since 4.7.0 + */ + + generatePreview: function ( target ) { + var previewText = 'Grumpy wizards make toxic brew for the evil Queen and Jack.'; + var previewHTML = ''; + var previewStyles = ''; + + // Get the control parent element. + var controls = target.parents( '.wf-field-typography' ); + var explain = target.parents( '.wf-field-typography' ).find( '.description' ); + + var fontUnit = controls.find( '.woo-typography-unit' ).val(); + + var sizeSelector = '.woo-typography-size-px'; + if ( fontUnit == 'em' ) { sizeSelector = '.woo-typography-size-em'; } + + var fontSize = controls.find( sizeSelector ).val(); + + var fontFace = controls.find( '.woo-typography-face' ).val(); + var fontStyle = controls.find( '.woo-typography-style' ).val(); + var fontColor = controls.find( '.woo-typography-color' ).val(); + var lineHeight = ( parseInt( fontSize ) / 2 ) + parseInt( fontSize ); // Calculate pleasant line-height for the selected font size. + + // Fix the line-height if using "em". + if ( fontUnit == 'em' ) { lineHeight = 1; } + + // Generate array of non-Google fonts. + var nonGoogleFonts = new Array( + 'Arial, sans-serif', + 'Verdana, Geneva, sans-serif', + '"Trebuchet MS", Tahoma, sans-serif', + 'Georgia, serif', + '"Times New Roman", serif', + 'Tahoma, Geneva, Verdana, sans-serif', + 'Palatino, "Palatino Linotype", serif', + '"Helvetica Neue", Helvetica, sans-serif', + 'Calibri, Candara, Segoe, Optima, sans-serif', + '"Myriad Pro", Myriad, sans-serif', + '"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif', + '"Arial Black", sans-serif', + '"Gill Sans", "Gill Sans MT", Calibri, sans-serif', + 'Geneva, Tahoma, Verdana, sans-serif', + 'Impact, Charcoal, sans-serif', + 'Courier, "Courier New", monospace' + ); + + // Remove "current" class from previously modified typography field. + $( '.typography-preview' ).removeClass( 'current' ); + + // Prepare selected fontFace for testing. + var fontFaceTest = fontFace.replace( /"/g, '"' ); + + // Load Google WebFonts, if we need to. + if ( jQuery.inArray( fontFaceTest, nonGoogleFonts ) == -1 ) { // -1 is returned if the item is not found in the array. + + // Prepare fontFace for use in the WebFont loader. + var fontFaceString = fontFace; + + // Handle fonts that require specific weights when being included. + switch ( fontFaceString ) { + case 'Allan': + case 'Cabin Sketch': + case 'Corben': + case 'UnifrakturCook': + fontFaceString += ':700'; + break; + + case 'Buda': + case 'Open Sans Condensed': + fontFaceString += ':300'; + break; + + case 'Coda': + case 'Sniglet': + fontFaceString += ':800'; + break; + + case 'Raleway': + fontFaceString += ':100'; + break; + } + + + fontFaceString += '::latin'; + fontFaceString = fontFaceString.replace( / /g, '+' ); + + // Add the fontFace in quotes for use in the style declaration, if the selected font has a number in it. + var specificFonts = new Array( 'Goudy Bookletter 1911' ); + + if ( jQuery.inArray( fontFace, specificFonts ) > -1 || ! jQuery.inArray( fontFace, nonGoogleFonts ) > -1 ) { + var fontFace = "'" + fontFace + "'"; + } + + WebFontConfig = { + google: { families: [ fontFaceString ] } + }; + + if ( $( 'script.google-webfonts-script' ).length ) { $( 'script.google-webfonts-script' ).remove(); } + + (function() { + var wf = document.createElement( 'script' ); + wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; + wf.type = 'text/javascript'; + wf.async = 'true'; + var s = document.getElementsByTagName( 'script' )[0]; + s.parentNode.insertBefore( wf, s ); + + $( wf ).addClass( 'google-webfonts-script' ); + + })(); + + } + + // Construct styles. + previewStyles += 'font: ' + fontStyle + ' ' + fontSize + fontUnit + '/' + lineHeight + fontUnit + ' ' + fontFace + ';'; + if ( fontColor ) { previewStyles += ' color: ' + fontColor + ';'; } + + // Construct preview HTML. + var previewHTMLInner = jQuery( '
            ' ).addClass( 'current' ).addClass( 'typography-preview' ).html( previewText ); + + previewHTML = jQuery( '
            ' ).addClass( 'typography-preview-container' ).html( '' + 'Close Preview' + '' ); + previewHTML.find( '.preview_remove' ).before( previewHTMLInner ); + + // If no preview display is present, add one. + if ( ! explain.next( '.typography-preview-container' ).length ) { + previewHTML.find( '.typography-preview' ).attr( 'style', previewStyles ); + explain.after( previewHTML ); + } else { + // Otherwise, just update the styles of the existing preview. + explain.next( '.typography-preview-container' ).find( '.typography-preview' ).attr( 'style', previewStyles ); + } + + // Set the button to "refresh" mode. + controls.find( '.woo-typography-preview-button span' ).addClass( 'refresh' ); + } + + + }; // End wooTypographyPreview Object // Don't remove this, or the sky will fall on your head. + +/*-----------------------------------------------------------------------------------*/ +/* Execute the above methods in the wooTypographyPreview object. +/*-----------------------------------------------------------------------------------*/ + +$(document).ready(function () { + wooTypographyPreview.loadPreviewButtons(); +}); + +})(jQuery); diff --git a/mystile/functions/assets/js/typography.js b/mystile/functions/assets/js/typography.js new file mode 100755 index 0000000..b2cd961 --- /dev/null +++ b/mystile/functions/assets/js/typography.js @@ -0,0 +1,30 @@ +(function ($) { + $(document).ready(function () { + /* Remove the 'style' attribute from all '.chosen-container' select fields, to give more control over their widths. We need to specify the width to prevent hidden 'Chosen' fields from having a 0 width. */ + $( '.wf-field .chosen-container' ).removeAttr( 'style' ); + + $( '.wf-field-typography .woo-typography-unit' ).on( 'change', function () { + var $el, classes_string, classes, selected_unit; + + $el = $( this ).parent( '.unit-container' ); // The wrapping 'span' tag. + + /* Detect all the classes and remove any that aren't "unit-container". */ + classes_string = $el.attr( 'class' ); + if ( undefined !== classes_string ) { + classes = classes_string.split( ' ' ); + $( classes ).each( function ( i ) { + if ( 'unit-container' !== classes[i] ) { + $el.removeClass( classes[i] ); + } + }); + } + + /* Apply a new class with the selected value. */ + selected_unit = $( this ).find( 'option:selected' ).val(); + + if ( undefined !== selected_unit ) { + $el.addClass( 'unit-' + selected_unit ); + } + }); + }); +}(jQuery)); \ No newline at end of file diff --git a/mystile/functions/assets/js/uploaders.js b/mystile/functions/assets/js/uploaders.js new file mode 100755 index 0000000..d68df38 --- /dev/null +++ b/mystile/functions/assets/js/uploaders.js @@ -0,0 +1,86 @@ +(function($) { + $(document).ready(function() { + var frame, attachment, container, imagePreviewHTML, file_id_field, file_path_field, image_preview; + + /* Remove the image preview, URL and ID when we empty the URL field. */ + $( '.upload-field .input-upload' ).on( 'blur', function ( e ) { + var $el = $( this ); + + container = $el.parent( '.upload-field' ); + + file_id_field = container.find( '.input-upload-id' ); + image_preview = $el.parents( '.wf-field-upload' ).find( '.image-preview' ); + + if ( '' === $el.val() ) { + file_id_field.attr( 'value', '' ); + image_preview.removeClass( 'has-image' ).addClass( 'no-image' ); + image_preview.find( 'img' ).attr( 'src', '' ); + } + + return false; + } ); + + /* Remove the image preview, URL and ID when we click the "Remove" link. */ + $( '.wf-field-upload .remove, .wf-field-upload-min .remove' ).on( 'click', function ( e ) { + var $el = $( this ); + + container = $el.parents( 'td' ).find( '.upload-field' ); // We use td instead of a CSS class to cater for both wf-field-upload and wf-field-upload-min. + + file_path_field = container.find( '.input-upload' ); + file_id_field = container.find( '.input-upload-id' ); + image_preview = $el.parents( '.wf-field-upload' ).find( '.image-preview' ); + + file_path_field.attr( 'value', '' ); + file_id_field.attr( 'value', '' ); + image_preview.removeClass( 'has-image' ).addClass( 'no-image' ); + image_preview.find( 'img' ).attr( 'src', '' ); + + return false; + } ); + + $( '.upload-field a.button' ).on( 'click', function( e ) { + var $el = $( this ); + + container = $el.parent( '.upload-field' ); + + e.preventDefault(); + + file_path_field = container.find( '.input-upload' ); + file_id_field = container.find( '.input-upload-id' ); + + // If the media frame already exists, reopen it. + if ( frame ) { + frame.open(); + return; + } + + frame = wp.media({ + title: $el.data( 'uploader-title' ), + button: { + text: $el.data( 'uploader-button-text' ), + }, + multiple: false, // Set to true to allow multiple files to be selected + library: { + type: 'image' + } + }); + + // When an image is selected, run a callback. + frame.on( 'select', function() { + // We set multiple to false so only get one image from the uploader + var attachment = frame.state().get('selection').first().toJSON(); + + // Do something with attachment.id and/or attachment.url here + $( file_path_field ).val( attachment.url ); + $( file_id_field ).val( attachment.id ); + + // Small preview of the image + image_preview = container.parent( '.wf-field' ).find( '.image-preview' ); + image_preview.removeClass( 'no-image' ).addClass( 'has-image' ).find( 'img' ).attr( 'src', attachment.url ); + }); + + // Finally, open the modal + frame.open(); + }); + }); +})(jQuery); \ No newline at end of file diff --git a/mystile/functions/classes/class-wf-backup.php b/mystile/functions/classes/class-wf-backup.php new file mode 100755 index 0000000..618a33f --- /dev/null +++ b/mystile/functions/classes/class-wf-backup.php @@ -0,0 +1,469 @@ +_admin_page = ''; + $this->_token = 'woothemes-backup'; + + add_action( 'admin_menu', array( $this, 'register_admin_screen' ), 50 ); + } // End __construct() + + /** + * Register the admin screen within WordPress. + * @access public + * @since 6.0.0 + * @return void + */ + public function register_admin_screen () { + $this->_admin_page = add_submenu_page( 'woothemes', __( 'WooThemes Settings Backup', 'woothemes' ), __( 'Backup Settings', 'woothemes' ), 'manage_options', $this->_token, array( $this, 'admin_screen' ) ); + // Admin screen logic. + add_action( 'load-' . $this->_admin_page, array( $this, 'admin_screen_logic' ) ); + // Add admin notices to the backups screen. + add_action( 'admin_notices', array( $this, 'admin_notices' ), 10 ); + } // End register_admin_screen() + + /** + * Load the admin screen. + * @access public + * @since 6.0.0 + * @return void + */ + public function admin_screen () { + $export_type = 'all'; + + if ( isset( $_POST['export-type'] ) && in_array( $_POST['export-type'], array( 'theme', 'framework' ) ) ) { + $export_type = esc_attr( $_POST['export-type'] ); + } +?> + +

            +

            + +

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

            + +
            +

            + +

            +
            +
            + +

            + +

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


            + +
            +
            +
            +
            + +

            + + +

            + +
            + +_token ) ) { return; } + + echo '

            ' . sprintf( __( 'Please note that this backup manager backs up only your settings and not your content. To backup your content, please use the %sWordPress Export Tool%s.', 'woothemes' ), '', '' ) . '

            ' . "\n"; + + if ( isset( $_GET['error'] ) && $_GET['error'] == 'true' ) { + echo '

            ' . __( 'There was a problem importing your settings. Please try again.', 'woothemes' ) . '

            '; + } else if ( isset( $_GET['error-export'] ) && $_GET['error-export'] == 'true' ) { + echo '

            ' . __( 'There was a problem exporting your settings. Please try again.', 'woothemes' ) . '

            '; + } else if ( isset( $_GET['invalid'] ) && $_GET['invalid'] == 'true' ) { + echo '

            ' . __( 'The import file you\'ve provided is invalid. Please try again.', 'woothemes' ) . '

            '; + } else if ( isset( $_GET['imported'] ) && $_GET['imported'] == 'true' ) { + echo '

            ' . sprintf( __( 'Settings successfully imported. | Return to %sTheme Options%s', 'woothemes' ), '', '' ) . '

            '; + } + } // End admin_notices() + + /** + * The processing code to generate the backup or restore from a previous backup. + * @access public + * @since 6.0.0 + * @return void + */ + public function admin_screen_logic () { + if ( ! isset( $_POST['woothemes-backup-export'] ) && isset( $_POST['woothemes-backup-import'] ) && ( $_POST['woothemes-backup-import'] == true ) ) { + $this->import(); + } + + if ( ! isset( $_POST['woothemes-backup-import'] ) && isset( $_POST['woothemes-backup-export'] ) && ( $_POST['woothemes-backup-export'] == true ) ) { + $this->export(); + } + } // End admin_screen_logic() + + /** + * Import settings from a backup file. + * @access private + * @since 6.0.0 + * @return void + */ + private function import() { + check_admin_referer( 'woothemes-backup-import' ); // Security check. + + if ( ! isset( $_FILES['woothemes-import-file'] ) ) { return; } // We can't import the settings without a settings file. + + // Extract file contents + $upload = file_get_contents( $_FILES['woothemes-import-file']['tmp_name'] ); + + // Decode the JSON from the uploaded file + $options = json_decode( $upload, true ); + + // Check for errors + if ( ! $options || $_FILES['woothemes-import-file']['error'] ) { + wp_redirect( admin_url( 'admin.php?page=' . $this->_token . '&error=true' ) ); + exit; + } + + // Make sure this is a valid backup file. + if ( ! isset( $options['woothemes-backup-validator'] ) ) { + wp_redirect( admin_url( 'admin.php?page=' . $this->_token . '&invalid=true' ) ); + exit; + } else { + unset( $options['woothemes-backup-validator'] ); // Now that we've checked it, we don't need the field anymore. + } + + // Make sure the options are saved to the global options collection as well. + $woo_options = get_option( 'woo_options' ); + + $has_updated = false; // If this is set to true at any stage, we update the main options collection. + + // Cycle through data, import settings + foreach ( (array)$options as $key => $settings ) { + $settings = maybe_unserialize( $settings ); // Unserialize serialized data before inserting it back into the database. + + // We can run checks using get_option(), as the options are all cached. See wp-includes/functions.php for more information. + if ( get_option( $key ) != $settings ) { + update_option( $key, $settings ); + } + + if ( is_array( $woo_options ) ) { + if ( isset( $woo_options[$key] ) && $woo_options[$key] != $settings ) { + $woo_options[$key] = $settings; + $has_updated = true; + } + } + } + + if ( $has_updated == true ) { + update_option( 'woo_options', $woo_options ); + } + + // Redirect, add success flag to the URI + wp_redirect( admin_url( 'admin.php?page=' . $this->_token . '&imported=true' ) ); + exit; + } // End import() + + /** + * Export settings to a backup file. + * @access private + * @since 6.0.0 + * @uses $wpdb WordPress database object. + * @return void + */ + private function export() { + global $wpdb; + check_admin_referer( 'woothemes-backup-export' ); // Security check. + + $export_options = array( 'all', 'theme', 'framework' ); + + if ( ! in_array( strip_tags( $_POST['export-type'] ), $export_options ) ) { return; } // No invalid exports, please. + + $export_type = esc_attr( strip_tags( $_POST['export-type'] ) ); + + $settings = array(); + + $query = $this->construct_database_query( $export_type ); + + // Error trapping for the export. + if ( $query == '' ) { + wp_redirect( admin_url( 'admin.php?page=' . $this->_token . '&error-export=true' ) ); + return; + } + + // If we get to this stage, all is safe so run the query. + $results = $wpdb->get_results( $query ); + + foreach ( $results as $result ) { + $settings[$result->option_name] = $result->option_value; + } + + // Remove the "blogname" and "blogdescription" fields + unset( $settings['blogname'] ); + unset( $settings['blogdescription'] ); + + if ( ! $settings ) { return; } + + // Add our custom marker, to ensure only valid files are imported successfully. + $settings['woothemes-backup-validator'] = date( 'Y-m-d h:i:s' ); + + // Generate the export file. + $output = json_encode( (array)$settings ); + + header( 'Content-Description: File Transfer' ); + header( 'Cache-Control: public, must-revalidate' ); + header( 'Pragma: hack' ); + header( 'Content-Type: text/plain' ); + header( 'Content-Disposition: attachment; filename="' . $this->_token . '-' . date( 'Ymd-His' ) . '.json"' ); + header( 'Content-Length: ' . strlen( $output ) ); + echo $output; + exit; + } // End export() + + /** + * Loop through an array of options and add them to the MySQL SELECT query string. + * @access private + * @since 6.0.0 + * @param $options array + * @param $count int + * @return $query array ( string, count ) + */ + private function add_to_export_query ( $options, $count ) { + $query = array(); + $query_inner = ''; + + foreach( $options as $option ) { + if( isset( $option['id'] ) ) { + $count++; + $option_id = $option['id']; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + if( $count > 1 ) { $query_inner .= ' OR '; } + $query_inner .= "option_name = '$option_id'"; + + // Width/Height-type fields + if ( is_array( $option['type'] ) ) { + foreach ( $option['type'] as $o ) { + if( $count > 1 ){ $query_inner .= ' OR '; } + if ( isset( $o['id'] ) ) { + $option_id = $o['id']; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + $query_inner .= "option_name = '$option_id'"; + } + } + } + + // Multicheck fields + if ( ! is_array( $option['type'] ) && $option['type'] == 'multicheck' ) { + foreach ( $option['options'] as $k => $v ) { + if( $count > 1 ){ $query_inner .= ' OR '; } + if ( ! is_numeric( $k ) ) { + $option_id = $option['id'] . '_' . $k; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + $query_inner .= "option_name = '$option_id'"; + } + } + } + } + } + + $query['string'] = $query_inner; + $query['count'] = $count; + + return $query; + } // End add_to_export_query() + + /** + * Add a single item to the MySQL SELECT query string. + * @access private + * @since 6.0.0 + * @param $option_id string + * @param $count int + * @return $query array ( string, count ) + */ + private function add_single_to_export_query ( $option_id, $count ) { + $query = array(); + $query_inner = ''; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + if( $count > 1 ) { $query_inner .= ' OR '; } + $query_inner .= "option_name = '$option_id'"; + + $query['string'] = $query_inner; + $query['count'] = $count; + + return $query; + } // End add_single_to_export_query() + + /** + * Constructs the database query based on the export type. + * @access private + * @since 6.0.0 + * @param $export_type string + * @uses global $wpdb + * @return string Constructed query. + */ + public function construct_database_query ( $export_type ) { + global $wpdb; + + $query = ''; + $query_inner = ''; + $count = 0; + + // Begin populating settings to be exported. + switch ( $export_type ) { + // All Settings + case 'all': + // Theme Options + $options = get_option( 'woo_template' ); + + if ( is_array( $options ) ) { + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + + // Framework Settings + $options = get_option( 'woo_framework_template' ); + + if ( is_array( $options ) ) { + // Remove the "framework_woo_export_options" and "framework_woo_import_options" items before constructing the query. + foreach ( (array) $options as $k => $v ) { + if ( isset( $options[$k]['id'] ) && in_array( $options[$k]['id'], array( 'framework_woo_import_options', 'framework_woo_export_options' ) ) ) { + unset( $options[$k] ); + } + } + + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + break; + + // Theme Options + case 'theme': + $options = get_option( 'woo_template' ); + + if ( is_array( $options ) ) { + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + break; + + // Framework Settings + case 'framework': + $options = get_option( 'woo_framework_template' ); + + if ( is_array( $options ) ) { + // Remove the "framework_woo_export_options" and "framework_woo_import_options" items before constructing the query. + foreach ( (array) $options as $k => $v ) { + if ( isset( $options[$k]['id'] ) && in_array( $options[$k]['id'], array( 'framework_woo_import_options', 'framework_woo_export_options' ) ) ) { + unset( $options[$k] ); + } + } + + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + break; + } + + // Allow child themes/plugins to add their own data to the exporter. + $query_inner = (string)apply_filters( 'wooframework_export_query_inner', $query_inner ); + + if ( $query_inner != '' ) { + $query = 'SELECT option_name, option_value FROM ' . $wpdb->options . ' WHERE ' . $query_inner; + } + + return $query; + } // End construct_database_query() +} // End Class +?> \ No newline at end of file diff --git a/mystile/functions/classes/class-wf-fields-meta.php b/mystile/functions/classes/class-wf-fields-meta.php new file mode 100755 index 0000000..d492ecf --- /dev/null +++ b/mystile/functions/classes/class-wf-fields-meta.php @@ -0,0 +1,45 @@ += $post_id && isset( $_GET['post'] ) ) { + $id = intval( $_GET['post'] ); + } + + $response = false; + + if ( true == (bool)apply_filters( 'wf_meta_use_underscore_prefix', false ) ) { + $key = '_' . $key; + } + + $response = get_post_meta( $id, $key, true ); + + return $response; + } // End get_value() +} // End Class +?> \ No newline at end of file diff --git a/mystile/functions/classes/class-wf-fields-settings.php b/mystile/functions/classes/class-wf-fields-settings.php new file mode 100755 index 0000000..e0bf21e --- /dev/null +++ b/mystile/functions/classes/class-wf-fields-settings.php @@ -0,0 +1,133 @@ +_has_tabs = false; + + $this->_tabs = array(); + + // This must be present if using fields that require Javascript or styling. + add_action( 'admin_footer', array( $this, 'maybe_enqueue_field_assets' ) ); + } // End __construct() + + /** + * Validate the given data, assuming it is from a textarea field. + * @access public + * @since 6.0.0 + * @return void + */ + public function validate_field_textarea ( $v, $k ) { + // Allow iframe, object and embed tags in textarea fields. + $allowed = wp_kses_allowed_html( 'post' ); + $allowed['iframe'] = array( 'src' => true, 'width' => true, 'height' => true, 'id' => true, 'class' => true, 'name' => true ); + $allowed['object'] = array( 'src' => true, 'width' => true, 'height' => true, 'id' => true, 'class' => true, 'name' => true ); + $allowed['embed'] = array( 'src' => true, 'width' => true, 'height' => true, 'id' => true, 'class' => true, 'name' => true ); + + // Allow script tags in the Google Analytics field. + if ( is_array( $k ) && isset( $k['id'] ) && in_array( $k['id'], $this->get_script_supported_fields() ) ) { + $allowed['script'] = array( 'type' => true, 'id' => true, 'class' => true ); + } + + return wp_kses( $v, $allowed ); + } // End validate_field_textarea() + + /** + * Return an array of fields which are allowed to support + + + +
            + +

            + + +

            + +

            + +

            + +

            /functions/' ); ?>

            + +

            ', '' ); ?>

            + +

            Remember: Every Ninja has a backup plan. Safe or not, always backup your theme before you update it or make changes to it.', 'woothemes' ); ?>

            + + + +

            + +

            + +

            WooThemes Gallery and get one.', 'woothemes' ); ?>

            + + + +
            +
            + + + + +
            + + \ No newline at end of file diff --git a/mystile/functions/js/shortcode-generator/editor_plugin.js b/mystile/functions/js/shortcode-generator/editor_plugin.js new file mode 100755 index 0000000..5465cf4 --- /dev/null +++ b/mystile/functions/js/shortcode-generator/editor_plugin.js @@ -0,0 +1,140 @@ +( + function(){ + var icon_url = ''; + + tinymce.create( + 'tinymce.plugins.WooThemesShortcodes', + { + init: function(d,e) { + d.addCommand( 'wooVisitWooThemes', function() { window.open( 'http://woothemes.com/' ) } ); + + d.addCommand( 'wooOpenDialog', function( a, c ) { + // Grab the selected text from the content editor. + selectedText = ''; + + if ( d.selection.getContent().length > 0 ) { + selectedText = d.selection.getContent(); + } + + wooSelectedShortcodeType = c.identifier; + wooSelectedShortcodeTitle = c.title; + + //jQuery( '#woo-dialog' ).html( '', function( b ) { + + jQuery( '#woo-options' ).addClass( 'shortcode-' + wooSelectedShortcodeType ); + + // Skip the popup on certain shortcodes. + + switch ( wooSelectedShortcodeType ) { + // Highlight + case 'highlight': + + var a = '[highlight]'+selectedText+'[/highlight]'; + + tinyMCE.activeEditor.execCommand( "mceInsertContent", false, a); + + break; + + // Dropcap + case 'dropcap': + + var a = '[dropcap]'+selectedText+'[/dropcap]'; + + tinyMCE.activeEditor.execCommand( "mceInsertContent", false, a); + + break; + + default: + + wooDialogHelper.loadShortcodeDetails(); + wooDialogHelper.setupShortcodeType( wooSelectedShortcodeType ); + + /*jQuery( "#woo-dialog").hide(); + jQuery( 'body' ).append(b); + jQuery( "#woo-dialog").hide();*/ + var f=jQuery(window).width(); + b=jQuery(window).height(); + f=7200 ) } ) // Disables the button if text is highlighted in the editor. + }, + + createControl:function( d, e ) { + if( d == 'woothemes_shortcodes_button' ) { + + d = e.createMenuButton( 'woothemes_shortcodes_button', { + title: 'Insert WooThemes Shortcode', + image: icon_url, + icons: false + }); + + var a = this; d.onRenderMenu.add( function( c, b ) { + + a.addWithDialog(b,"Button","button" ); + a.addWithDialog(b,"Icon Link","ilink" );b.addSeparator(); + a.addWithDialog(b,"Info Box","box" ); + c=b.addMenu({title:"Typography"}); + a.addWithDialog(c,"Dropcap","dropcap" ); + a.addWithDialog(c,"Quote","quote" ); + a.addWithDialog(c,"Highlight","highlight" ); + a.addWithDialog(c,"Custom Typography","typography" ); + a.addWithDialog(c,"Abbreviation","abbr" ); + a.addWithDialog(b,"Content Toggle","toggle" ); + a.addWithDialog(b,"Related Posts","related" ); + a.addWithDialog(b,"Contact Form","contactform" ); + b.addSeparator(); + a.addWithDialog(b,"Column Layout","column" ); + a.addWithDialog(b,"Tab Layout","tab" ); + b.addSeparator(); + c=b.addMenu({title:"List Generator"}); + a.addWithDialog(c,"Unordered List","unordered_list" ); + a.addWithDialog(c,"Ordered List","ordered_list" ); + c=b.addMenu({title:"Dividers"}); + a.addImmediate(c,"Horizontal Rule","[hr] " ); + a.addImmediate(c,"Divider","[divider] " ); + a.addImmediate(c,"Flat Divider","[divider_flat] " ); + c=b.addMenu({title:"Social Buttons"}); + a.addWithDialog(c,"Social Profile Icon","social_icon" ); + c.addSeparator(); + a.addWithDialog(c,"Twitter","twitter" ); + a.addWithDialog(c,"Twitter Follow Button","twitter_follow" ); + a.addWithDialog(c,"Tweetmeme","tweetmeme" ); + a.addWithDialog(c,"Digg","digg" ); + a.addWithDialog(c,"Like on Facebook","fblike" ); + a.addWithDialog(c,"Share on Facebook","fbshare" ); + a.addWithDialog(c,"Share on LinkedIn","linkedin_share" ); + a.addWithDialog(c,"Google +1 Button","google_plusone" ); + a.addWithDialog(c,"StumbleUpon Badge","stumbleupon" ); + a.addWithDialog(c,"Pinterest Pin It Button","pinterest" ); + /*b.add({title:"Visit WooThemes.com","class":"woo-woolink",onclick:function(){tinyMCE.activeEditor.execCommand( "wooVisitWooThemes",false,"")}})*/ }); + return d + } + + return null + }, + + addImmediate:function(d,e,a){d.add({title:e,onclick:function(){tinyMCE.activeEditor.execCommand( "mceInsertContent",false,a)}})}, + + addWithDialog:function(d,e,a){d.add({title:e,onclick:function(){tinyMCE.activeEditor.execCommand( "wooOpenDialog",false,{title:e,identifier:a})}})}, + + getInfo:function(){ return{longname:"WooThemes Shortcode Generator",author:"VisualShortcodes.com",authorurl:"http://visualshortcodes.com",infourl:"http://visualshortcodes.com/shortcode-ninja",version:"1.0"} } + } + ); + + tinymce.PluginManager.add( "WooThemesShortcodes",tinymce.plugins.WooThemesShortcodes) + } +)(); \ No newline at end of file diff --git a/mystile/functions/js/shortcode-generator/editor_plugin_39.js b/mystile/functions/js/shortcode-generator/editor_plugin_39.js new file mode 100755 index 0000000..e77e4b3 --- /dev/null +++ b/mystile/functions/js/shortcode-generator/editor_plugin_39.js @@ -0,0 +1,86 @@ +( function() { + // TinyMCE plugin start. + tinymce.PluginManager.add( 'WooThemesShortcodes', function( editor, url ) { + // Register a command to open the dialog. + editor.addCommand( 'woo_open_dialog', function( ui, v ) { + wooSelectedShortcodeType = v; + selectedText = editor.selection.getContent({format: 'text'}); + wooDialogHelper.loadShortcodeDetails(); + wooDialogHelper.setupShortcodeType( v ); + + jQuery( '#woo-options' ).addClass( 'shortcode-' + v ); + + var f=jQuery(window).width(); + b=jQuery(window).height(); + f=720").attr( "id", "woo-column-select").addClass(f ? f : "" ); + var a = jQuery( "").attr( "value", "select").attr( "selected", "selected").text( "Number of columns..." ); + a.appendTo(this.selectControl); + for (var b = 2; b <= this.maxColumns; b++) { + a = jQuery( "").attr( "value", b).text(b + " columns" ); + a.appendTo(this.selectControl) + } + this.selectControl.change(function (c) { + (c = d.getTotalColumns()) && d.buildColumnButtons(c) + + // Update the text in the appropriate span tag. + var newText = jQuery(this).children( 'option:selected').text(); + + jQuery(this).parents( '.select_wrapper').find( 'span').text( newText ); + }); + this.parentControl.append(this.selectControl) + }; + this.buildTextControl = function () { + var a = jQuery( "
            ").attr( "style", "position: relative;margin-top: 5px; width: " + this.width + "px;" ); + a.appendTo(this.parentControl); + this.textControl = jQuery( "
             
            ").attr( "id", "woo-column-text").attr( "style", "width: " + (this.width - 50) + "px" ); + a.append(this.textControl); + var b = jQuery( "").attr( "type", "button").attr( "style", "width: 40px;position:absolute;right: 0px;bottom: -2px;font-size: 22px; border:none;background:none;").attr( "value", "\u232b" ); + a.append(b); + b.click(function () { + d.deleteColumnButtonClicked() + }) + }; + this.buildColumnButtons = function (a) { + if (this.buttonsControl) { + this.buttonsControl.html( "" ); + this.textControl.html( " ") + } else { + this.buttonsControl = jQuery( "
            ").attr( "id", "woo-column-buttons" ); + this.parentControl.append(this.buttonsControl); + jQuery( '
            ').appendTo(this.parentControl) + } + for (var b = 1; b < a; b++) { + var c = jQuery( "").attr( "type", "button").attr( "value", b + "/" + a).attr( "name", b).attr( "style", "width:" + Math.floor(this.width * (b / a)) + "px").addClass( "column-button").addClass( "rounded5p" ); + c.click(function (e) { + d.columnButtonClicked(e) + }); + this.buttonsControl.append(c) + } + }; + this.deleteColumnButtonClicked = function () { + var a = jQuery.trim(this.textControl.text()), + b = a.lastIndexOf( "|" ); + a = b != -1 ? jQuery.trim(a.substring(0, b)) : " "; + this.textControl.html(a); + this.updateColumnButtonsState() + }; + this.columnButtonClicked = function (a) { + var b = Number(a.target.name); + if (b) { + a = ""; + for (var c = 0; c < b; c++) a += "x"; + b = jQuery.trim(this.textControl.text()); + if (b.length > 0) a = " | " + a; + this.textControl.text(b + a); + this.updateColumnButtonsState() + } + }; + this.updateColumnButtonsState = function () { + var a = this.getTotalColumns(); + if (a) { + var b = this.countCurrentColumns(), + c = a - b; + this.buttonsControl.find( "input").each(function (e, g) { + e >= c ? jQuery(g).attr( "disabled", "disabled") : jQuery(g).removeAttr( "disabled") + }) + } + }; + this.countCurrentColumns = function () { + for (var a = this.textControl.text(), b = 0, c = 0; c < a.length; c++) a.charAt(c) == "x" && b++; + return b + }; + this.init() +}; \ No newline at end of file diff --git a/mystile/functions/js/shortcode-generator/js/dialog-js.php b/mystile/functions/js/shortcode-generator/js/dialog-js.php new file mode 100755 index 0000000..e2b2c91 --- /dev/null +++ b/mystile/functions/js/shortcode-generator/js/dialog-js.php @@ -0,0 +1,672 @@ + $v ) { + $fonts_whitelist[$k] = str_replace( '|', '\"', $v ); + } + + $fonts = join( '|', $fonts_whitelist ); +?> + +var framework_url = ''; + +var shortcode_generator_path = ''; +var shortcode_generator_url = '' + 'js/shortcode-generator/'; + +var wooDialogHelper = { + wooSelectedShortcodeType: '', + needsPreview: false, + setUpButtons: function () { + var a = this; + jQuery( "#woo-btn-cancel").click(function () { + a.closeDialog() + }); + jQuery( "#woo-btn-insert").click(function () { + a.insertAction() + }); + }, + + setupShortcodeType: function ( shortcode ) { + wooSelectedShortcodeType = shortcode; + }, + + setUpColourPicker: function () { + var startingColour = '000000'; + + jQuery( '.woo-marker-colourpicker-control div.colorSelector').each ( function () { + + var colourPicker = jQuery(this).ColorPicker({ + + color: startingColour, + onShow: function (colpkr) { + jQuery(colpkr).fadeIn(500); + return false; + }, + onHide: function (colpkr) { + jQuery(colpkr).fadeOut(500); + return false; + }, + onChange: function (hsb, hex, rgb) { + jQuery(colourPicker).children( 'div').css( 'backgroundColor', '#' + hex); + jQuery(colourPicker).next( 'input').attr( 'value','#' + hex); + } + + }); + + // jQuery(colourPicker).children( 'div').css( 'backgroundColor', '#' + startingColour); + // jQuery(colourPicker).next( 'input').attr( 'value','#' + startingColour); + + + }); + + jQuery( '.colorpicker').css( 'position', 'absolute').css( 'z-index', '100100' ); + }, + + loadShortcodeDetails: function () { + if (wooSelectedShortcodeType) { + + var a = this; + jQuery.getScript(shortcode_generator_url + "shortcodes/" + wooSelectedShortcodeType + ".js", function () { + a.initializeDialog(); + + // Set the default content to the highlighted text, for certain shortcode types. + switch ( wooSelectedShortcodeType ) { + case 'box': + case 'ilink': + case 'quote': + case 'button': + case 'abbr': + case 'unordered_list': + case 'ordered_list': + case 'typography': + jQuery( 'input#woo-value-content').val( selectedText ); + case 'toggle': + jQuery( 'textarea#woo-value-content').val( selectedText ); + break; + } + }) + + } + + }, + initializeDialog: function () { + // Clean out the table rows before applying the new ones. + jQuery( '#woo-options-table' ).html( '' ); + if (typeof wooShortcodeMeta == "undefined") { + jQuery( '#woo-options' ).append( "

            Error loading details for shortcode: " + wooSelectedShortcodeType + "

            " ); + } else { + if (wooShortcodeMeta.disablePreview) { + jQuery( '#woo-preview' ).remove(); + jQuery( '#woo-btn-preview' ).remove() + } + var a = wooShortcodeMeta.attributes, + b = jQuery( '#woo-options-table' ); + + // Clean out the table rows before applying the new ones. + b.html( '' ); + + for (var c in a) { + var f = "woo-value-" + a[c].id, + d = a[c].isRequired ? "woo-required" : "", + g = jQuery( '' ); + + var requiredSpan = ''; + + if (a[c].isRequired) { + + requiredSpan = '*'; + + } // End IF Statement + jQuery( "
            + + + +
            + + + + \ No newline at end of file diff --git a/wootique/functions.php b/wootique/functions.php new file mode 100644 index 0000000..6dd292e --- /dev/null +++ b/wootique/functions.php @@ -0,0 +1,50 @@ + \ No newline at end of file diff --git a/wootique/functions/admin-backup.php b/wootique/functions/admin-backup.php new file mode 100755 index 0000000..5ba7767 --- /dev/null +++ b/wootique/functions/admin-backup.php @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/wootique/functions/admin-custom-nav.php b/wootique/functions/admin-custom-nav.php new file mode 100755 index 0000000..9f60354 --- /dev/null +++ b/wootique/functions/admin-custom-nav.php @@ -0,0 +1,99 @@ + +deprecated since version %2$s of the WooFramework! Use %3$s instead.', 'woothemes' ), $function, '5.4', __( 'WordPress Menu Management', 'woothemes' ) ) ); +} + +/*-----------------------------------------------------------------------------------*/ +/* Woothemes Custom Navigation Menu Setup +/* Setup of the Menu +/* Add Menu Item to the theme +/* Scripts - JS and CSS +/*-----------------------------------------------------------------------------------*/ + +function woo_custom_navigation_setup() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +function woo_custom_nav_reset() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +function woo_custom_navigation_menu() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +function woo_custom_nav_scripts() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + + +/*-----------------------------------------------------------------------------------*/ +/* Woothemes Custom Navigation Menu Interface +/* woo_custom_navigation() is the main function for the Custom Navigation +/* See functions in admin-functions.php +/*-----------------------------------------------------------------------------------*/ + +function woo_custom_navigation() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +/*-----------------------------------------------------------------------------------*/ +/* WooThemes Custom Navigation Functions */ +/* woo_custom_navigation_output() displays the menu in the back/frontend +/* woo_custom_navigation_sub_items() is a recursive sub menu item function +/* woo_get_pages() +/* woo_get_categories() +/* woo_custom_navigation_default_sub_items() is a recursive sub menu item function +/*-----------------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------------*/ +/* Main Output Function +/* args list +/* type - frontend or backend +/* name - name of your menu +/* id - id of menu in db +/* desc - 1 = show descriptions, 2 = dont show descriptions +/* before_title - html before title is outputted in tag +/* after_title - html after title is outputted in tag +/*-----------------------------------------------------------------------------------*/ + +function woo_custom_navigation_output($args = array()) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); wp_list_pages( 'sort_column=menu_order&depth=6&title_li=&exclude=' ); } + +//RECURSIVE Sub Menu Items +function woo_custom_navigation_sub_items($post_id,$type,$table_name,$output_type,$menu_id = 0,$depth = 0,$depth_counter = 0) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//Checks if any of parent menu items children are the current page +function woo_child_is_current($parent_id, $menu_id, $table_name, $queried_id, $type_settings, $full_web_address) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//Outputs All Pages and Sub Items +function woo_get_pages($counter,$type) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//Outputs All Categories and Sub Items +function woo_get_categories($counter, $type) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//RECURSIVE Sub Menu Items of default categories and pages +function woo_custom_navigation_default_sub_items($childof, $intCounter, $parentli, $type, $output_type) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +/*-----------------------------------------------------------------------------------*/ +/* Recursive get children */ +/*-----------------------------------------------------------------------------------*/ + +function get_children_menu_elements($childof, $intCounter, $parentli, $type, $menu_id, $table_name) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +?> \ No newline at end of file diff --git a/wootique/functions/admin-custom.php b/wootique/functions/admin-custom.php new file mode 100755 index 0000000..4563424 --- /dev/null +++ b/wootique/functions/admin-custom.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/wootique/functions/admin-express-functions-deprecated.php b/wootique/functions/admin-express-functions-deprecated.php new file mode 100755 index 0000000..c48ecb7 --- /dev/null +++ b/wootique/functions/admin-express-functions-deprecated.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/wootique/functions/admin-express-functions.php b/wootique/functions/admin-express-functions.php new file mode 100755 index 0000000..c48ecb7 --- /dev/null +++ b/wootique/functions/admin-express-functions.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/wootique/functions/admin-framework-settings.php b/wootique/functions/admin-framework-settings.php new file mode 100755 index 0000000..7f3077c --- /dev/null +++ b/wootique/functions/admin-framework-settings.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/wootique/functions/admin-functions.php b/wootique/functions/admin-functions.php new file mode 100755 index 0000000..4715100 --- /dev/null +++ b/wootique/functions/admin-functions.php @@ -0,0 +1,3684 @@ + +ID; + } + + $thumb_id = esc_html( get_post_meta( $id, '_thumbnail_id', true ) ); + + // Set alignment + if ( $alignment == '' ) + $alignment = esc_html( get_post_meta( $id, '_image_alignment', true ) ); + + // Get standard sizes + if ( ! $width && ! $height ) { + $width = '100'; + $height = '100'; + } + + // Cast $width and $height to integer + $width = intval( $width ); + $height = intval( $height ); + + /* ------------------------------------------------------------------------- */ + /* FIND IMAGE TO USE */ + /* ------------------------------------------------------------------------- */ + + // When a custom image is sent through + if ( $src != '' ) { + $custom_field = esc_url( $src ); + $link = 'img'; + + // WP 2.9 Post Thumbnail support + } elseif ( get_option( 'woo_post_image_support' ) == 'true' && ! empty( $thumb_id ) ) { + + if ( get_option( 'woo_pis_resize' ) == 'true' ) { + + if ( 0 == $height ) { + $img_data = wp_get_attachment_image_src( $thumb_id, array( intval( $width ), 9999 ) ); + $height = $img_data[2]; + } + + // Dynamically resize the post thumbnail + $vt_crop = get_option( 'woo_pis_hard_crop' ); + if ($vt_crop == 'true' ) $vt_crop = true; else $vt_crop = false; + $vt_image = vt_resize( $thumb_id, '', $width, $height, $vt_crop ); + + // Set fields for output + $custom_field = esc_url( $vt_image['url'] ); + $width = $vt_image['width']; + $height = $vt_image['height']; + + } else { + // Use predefined size string + if ( $size ) + $thumb_size = $size; + else + $thumb_size = array( $width, $height ); + + $img_link = get_the_post_thumbnail( $id, $thumb_size, array( 'class' => 'woo-image ' . esc_attr( $class ) ) ); + } + + // Grab the image from custom field + } else { + $custom_field = esc_url( get_post_meta( $id, $key, true ) ); + } + + // Automatic Image Thumbs - get first image from post attachment + if ( empty( $custom_field ) && get_option( 'woo_auto_img' ) == 'true' && empty( $img_link ) && ! ( is_singular() && in_the_loop() && $link == 'src' ) ) { + + if( $offset >= 1 ) + $repeat = $repeat + $offset; + + $attachments = get_children( array( 'post_parent' => $id, + 'numberposts' => $repeat, + 'post_type' => 'attachment', + 'post_mime_type' => 'image', + 'order' => 'DESC', + 'orderby' => 'menu_order date') + ); + + // Search for and get the post attachment + if ( ! empty( $attachments ) ) { + $counter = -1; + foreach ( $attachments as $att_id => $attachment ) { + $counter++; + if ( $counter < $offset ) + continue; + + if ( get_option( 'woo_post_image_support' ) == 'true' && get_option( 'woo_pis_resize' ) == 'true' ) { + // Dynamically resize the post thumbnail + $vt_crop = get_option( 'woo_pis_hard_crop' ); + if ( $vt_crop == 'true' ) $vt_crop = true; else $vt_crop = false; + $vt_image = vt_resize( $att_id, '', $width, $height, $vt_crop ); + + // Set fields for output + $custom_field = esc_url( $vt_image['url'] ); + $width = $vt_image['width']; + $height = $vt_image['height']; + } else { + $src = wp_get_attachment_image_src( $att_id, 'large', true ); + $custom_field = esc_url( $src[0] ); + $attachment_id[] = $att_id; + $src_arr[] = $custom_field; + } + $thumb_id = $att_id; + $is_auto_image = true; + } + + // Get the first img tag from content + } else { + + $first_img = ''; + $post = get_post( $id ); + ob_start(); + ob_end_clean(); + $output = preg_match_all( '//i', $post->post_content, $matches ); + if ( !empty($matches[1][0]) ) { + + // Save Image URL + $custom_field = esc_url( $matches[1][0] ); + + // Search for ALT tag + $output = preg_match_all( '//i', $post->post_content, $matches ); + if ( !empty($matches[1][0]) ) { + $alt = esc_attr( $matches[1][0] ); + } + } + + } + + } + + // Check if there is YouTube embed + if ( empty( $custom_field ) && empty( $img_link ) ) { + $embed = esc_html( get_post_meta( $id, 'embed', true ) ); + if ( $embed ) + $custom_field = esc_url( woo_get_video_image( $embed ) ); + } + + // Return if there is no attachment or custom field set + if ( empty( $custom_field ) && empty( $img_link ) ) { + + // Check if default placeholder image is uploaded + // $placeholder = get_option( 'framework_woo_default_image' ); + $placeholder = WF()->get_placeholder_image_url(); + if ( $placeholder && !(is_singular() && in_the_loop()) ) { + $custom_field = esc_url( $placeholder ); + + // Resize the placeholder if + if ( get_option( 'woo_post_image_support' ) == 'true' && get_option( 'woo_pis_resize' ) == 'true' ) { + // Dynamically resize the post thumbnail + $vt_crop = get_option( 'woo_pis_hard_crop' ); + if ($vt_crop == 'true' ) $vt_crop = true; else $vt_crop = false; + $vt_image = vt_resize( '', $placeholder, $width, $height, $vt_crop ); + + // Set fields for output + $custom_field = esc_url( $vt_image['url'] ); + $width = $vt_image['width']; + $height = $vt_image['height']; + } + } else { + return; + } + } + + if(empty( $src_arr ) && empty( $img_link ) ) { $src_arr[] = $custom_field; } + + /* ------------------------------------------------------------------------- */ + /* BEGIN OUTPUT */ + /* ------------------------------------------------------------------------- */ + + $output = ''; + + // Set output height and width + $set_width = ' width="' . esc_attr( $width ) . '" '; + $set_height = ''; + + if ( ! $noheight && 0 < $height ) + $set_height = ' height="' . esc_attr( $height ) . '" '; + + // Set standard class + if ( $class ) $class = 'woo-image ' . esc_attr( $class ); else $class = 'woo-image'; + + // Do check to verify if images are smaller then specified. + if($force == true){ $set_width = ''; $set_height = ''; } + + // WP Post Thumbnail + if( ! empty( $img_link ) ) { + + if( $link == 'img' ) { // Output the image without anchors + $output .= wp_kses_post( $before ); + $output .= $img_link; + $output .= wp_kses_post( $after ); + } elseif( $link == 'url' ) { // Output the large image + $src = wp_get_attachment_image_src( $thumb_id, 'large', true ); + $custom_field = esc_url( $src[0] ); + $output .= $custom_field; + } else { // Default - output with link + if ( ( is_single() || is_page() ) && $single == false ) { + $rel = 'rel="lightbox"'; + $href = false; + } else { + $href = get_permalink( $id ); + $rel = ''; + } + + $title = 'title="' . esc_attr( get_the_title( $id ) ) .'"'; + + $output .= wp_kses_post( $before ); + if($href == false){ + $output .= $img_link; + } else { + $output .= '' . $img_link . ''; + } + + $output .= wp_kses_post( $after ); + } + } + + // Use thumb.php to resize. Skip if image has been natively resized with vt_resize. Make sure thumb.php exists on purpose in a child theme. + elseif ( get_option( 'woo_resize') == 'true' && empty( $vt_image['url'] )/* && file_exists( get_stylesheet_directory_uri() . '/thumb.php' )*/ ) { + + foreach( $src_arr as $key => $custom_field ) { + + // Clean the image URL + $href = esc_url( $custom_field ); + $custom_field = cleanSource( $custom_field ); + + // Check if WPMU and set correct path AND that image isn't external + if ( function_exists( 'get_current_site') ) { + get_current_site(); + //global $blog_id; Breaks with WP3 MS + if ( !$blog_id ) { + global $current_blog; + $blog_id = $current_blog->blog_id; + } + if ( isset($blog_id) && $blog_id > 0 ) { + $imageParts = explode( 'files/', $custom_field ); + if ( isset( $imageParts[1] ) ) + $custom_field = '/blogs.dir/' . $blog_id . '/files/' . $imageParts[1]; + } + } + + //Set the ID to the Attachment's ID if it is an attachment + if($is_auto_image == true){ + $quick_id = $attachment_id[$key]; + } else { + $quick_id = $id; + } + + //Set custom meta + if ($meta) { + $alt = $meta; + $title = 'title="' . esc_attr( $meta ) . '"'; + } else { + if ( ( $alt != '' ) || ! ( $alt = get_post_meta( $thumb_id, '_wp_attachment_image_alt', true ) ) ) { + $alt = esc_attr( get_post_meta( $thumb_id, '_wp_attachment_image_alt', true ) ); + } else { + $alt = esc_attr( get_the_title( $quick_id ) ); + } + $title = 'title="'. esc_attr( get_the_title( $quick_id ) ) .'"'; + } + + // Set alignment parameter + if ( $alignment != '' ) + $alignment = '&a=' . urlencode( $alignment ); + + $img_url = esc_url( get_template_directory_uri() . '/functions/thumb.php?src=' . $custom_field . '&w=' . $width . '&h=' . $height . '&zc=1&q=' . $quality . $alignment ); + $img_link = '' . esc_attr( $alt ) . ''; + + if( $link == 'img' ) { // Just output the image + $output .= wp_kses_post( $before ); + $output .= $img_link; + $output .= wp_kses_post( $after ); + + } elseif( $link == 'url' ) { // Output the image without anchors + + if($is_auto_image == true){ + $src = wp_get_attachment_image_src($thumb_id, 'large', true); + $custom_field = esc_url( $src[0] ); + } + $output .= $href; + + } else { // Default - output with link + + if ( ( is_single() || is_page() ) && $single == false ) { + $rel = 'rel="lightbox"'; + } else { + $href = get_permalink( $id ); + $rel = ''; + } + + $output .= wp_kses_post( $before ); + $output .= '' . $img_link . ''; + $output .= wp_kses_post( $after ); + } + } + + // No dynamic resizing + } else { + foreach( $src_arr as $key => $custom_field ) { + + //Set the ID to the Attachment's ID if it is an attachment + if( $is_auto_image == true && isset( $attachment_id[$key] ) ){ + $quick_id = $attachment_id[$key]; + } else { + $quick_id = $id; + } + + //Set custom meta + if ($meta) { + $alt = esc_attr( $meta ); + $title = 'title="'. esc_attr( $meta ) .'"'; + } else { + if ( empty( $alt ) ) $alt = esc_attr( get_post_meta( $thumb_id, '_wp_attachment_image_alt', true ) ); + $title = 'title="'. esc_attr( get_the_title( $quick_id ) ) .'"'; + } + + if ( empty( $alt ) ) { + $alt = esc_attr( get_post( $thumb_id )->post_excerpt ); // If not, Use the Caption + } + + if ( empty( $alt ) ) { + $alt = esc_attr( get_post( $thumb_id )->post_title ); // Finally, use the title + } + + $img_link = '' . esc_attr( $alt ) . ''; + + if ( $link == 'img' ) { // Just output the image + $output .= wp_kses_post( $before ); + $output .= $img_link; + $output .= wp_kses_post( $after ); + + } elseif( $link == 'url' ) { // Output the URL to original image + if ( $vt_image['url'] || $is_auto_image ) { + $src = wp_get_attachment_image_src( $thumb_id, 'full', true ); + $custom_field = esc_url( $src[0] ); + } + $output .= $custom_field; + + } else { // Default - output with link + + if ( ( is_single() || is_page() ) && $single == false ) { + + // Link to the large image if single post + if ( $vt_image['url'] || $is_auto_image ) { + $src = wp_get_attachment_image_src( $thumb_id, 'full', true ); + $custom_field = esc_url( $src[0] ); + } + + $href = $custom_field; + $rel = 'rel="lightbox"'; + } else { + $href = get_permalink( $id ); + $rel = ''; + } + + $output .= wp_kses_post( $before ); + $output .= '' . $img_link . ''; + $output .= wp_kses_post( $after ); + } + } + } + + // Remove no height attribute - IE fix when no height is set + $output = str_replace( 'height=""', '', $output ); + $output = str_replace( 'height="0"', '', $output ); + + // Return or echo the output + if ( $return == TRUE ) + return $output; + else + echo $output; // Done + +} +} + +/* Get thumbnail from Video Embed code */ +if ( ! function_exists( 'woo_get_video_image' ) ) { +function woo_get_video_image( $embed ) { + $video_thumb = ''; + + // YouTube - get the video code if this is an embed code (old embed) + preg_match( '/youtube\.com\/v\/([\w\-]+)/', $embed, $match ); + + // YouTube - if old embed returned an empty ID, try capuring the ID from the new iframe embed + if( ! isset( $match[1] ) ) + preg_match( '/youtube\.com\/embed\/([\w\-]+)/', $embed, $match ); + + // YouTube - if it is not an embed code, get the video code from the youtube URL + if( ! isset( $match[1] ) ) + preg_match( '/v\=(.+)&/', $embed, $match ); + + // YouTube - get the corresponding thumbnail images + if( isset( $match[1] ) ) + $video_thumb = "http://img.youtube.com/vi/" . urlencode( $match[1] ) . "/0.jpg"; + + // return whichever thumbnail image you would like to retrieve + return $video_thumb; +} // End woo_get_video_image() +} + + +/*-----------------------------------------------------------------------------------*/ +/* vt_resize - Resize images dynamically using wp built in functions +/*-----------------------------------------------------------------------------------*/ +/* + * Resize images dynamically using wp built in functions + * Victor Teixeira + * + * php 5.2+ + * + * Exemplo de uso: + * + * + * + * + * @param int $attach_id + * @param string $img_url + * @param int $width + * @param int $height + * @param bool $crop + * @return array + */ +if ( ! function_exists( 'vt_resize' ) ) { + function vt_resize( $attach_id = null, $img_url = null, $width, $height, $crop = false ) { + + // Cast $width and $height to integer + $width = intval( $width ); + $height = intval( $height ); + + // this is an attachment, so we have the ID + if ( $attach_id ) { + $image_src = wp_get_attachment_image_src( $attach_id, 'full' ); + $file_path = get_attached_file( $attach_id ); + // this is not an attachment, let's use the image url + } else if ( $img_url ) { + $file_path = parse_url( esc_url( $img_url ) ); + $file_path = $_SERVER['DOCUMENT_ROOT'] . $file_path['path']; + + //$file_path = ltrim( $file_path['path'], '/' ); + //$file_path = rtrim( ABSPATH, '/' ).$file_path['path']; + + $orig_size = getimagesize( $file_path ); + + $image_src[0] = $img_url; + $image_src[1] = $orig_size[0]; + $image_src[2] = $orig_size[1]; + } + + $file_info = pathinfo( $file_path ); + + // check if file exists + if ( !isset( $file_info['dirname'] ) && !isset( $file_info['filename'] ) && !isset( $file_info['extension'] ) ) + return; + + $base_file = $file_info['dirname'].'/'.$file_info['filename'].'.'.$file_info['extension']; + if ( !file_exists($base_file) ) + return; + + $extension = '.'. $file_info['extension']; + + // the image path without the extension + $no_ext_path = $file_info['dirname'].'/'.$file_info['filename']; + + $cropped_img_path = $no_ext_path.'-'.$width.'x'.$height.$extension; + + // checking if the file size is larger than the target size + // if it is smaller or the same size, stop right here and return + if ( $image_src[1] > $width ) { + // the file is larger, check if the resized version already exists (for $crop = true but will also work for $crop = false if the sizes match) + if ( file_exists( $cropped_img_path ) ) { + $cropped_img_url = str_replace( basename( $image_src[0] ), basename( $cropped_img_path ), $image_src[0] ); + + $vt_image = array ( + 'url' => $cropped_img_url, + 'width' => $width, + 'height' => $height + ); + return $vt_image; + } + + // $crop = false or no height set + if ( $crop == false OR !$height ) { + // calculate the size proportionaly + $proportional_size = wp_constrain_dimensions( $image_src[1], $image_src[2], $width, $height ); + $resized_img_path = $no_ext_path.'-'.$proportional_size[0].'x'.$proportional_size[1].$extension; + + // checking if the file already exists + if ( file_exists( $resized_img_path ) ) { + $resized_img_url = str_replace( basename( $image_src[0] ), basename( $resized_img_path ), $image_src[0] ); + + $vt_image = array ( + 'url' => $resized_img_url, + 'width' => $proportional_size[0], + 'height' => $proportional_size[1] + ); + return $vt_image; + } + } + + // check if image width is smaller than set width + $img_size = getimagesize( $file_path ); + if ( $img_size[0] <= $width ) $width = $img_size[0]; + + // Check if GD Library installed + if ( ! function_exists ( 'imagecreatetruecolor' ) ) { + echo 'GD Library Error: imagecreatetruecolor does not exist - please contact your webhost and ask them to install the GD library'; + return; + } + + // no cache files - let's finally resize it + if ( function_exists( 'wp_get_image_editor' ) ) { + $image = wp_get_image_editor( $file_path ); + if ( ! is_wp_error( $image ) ) { + $image->resize( $width, $height, $crop ); + $save_data = $image->save(); + if ( isset( $save_data['path'] ) ) $new_img_path = $save_data['path']; + } + } else { + $new_img_path = image_resize( $file_path, $width, $height, $crop ); + } + + $new_img_size = getimagesize( $new_img_path ); + $new_img = str_replace( basename( $image_src[0] ), basename( $new_img_path ), $image_src[0] ); + + // resized output + $vt_image = array ( + 'url' => $new_img, + 'width' => $new_img_size[0], + 'height' => $new_img_size[1] + ); + + return $vt_image; + } + + // default output - without resizing + $vt_image = array ( + 'url' => $image_src[0], + 'width' => $width, + 'height' => $height + ); + + return $vt_image; + } +} + +/*-----------------------------------------------------------------------------------*/ +/* Depreciated - woo_get_image - Get Image from custom field */ +/*-----------------------------------------------------------------------------------*/ + +// Depreciated +function woo_get_image($key = 'image', $width = null, $height = null, $class = "thumbnail", $quality = 90,$id = null,$link = 'src',$repeat = 1,$offset = 0,$before = '', $after = '',$single = false, $force = false, $return = false) { + // Run new function + woo_image( 'key='.$key.'&width='.$width.'&height='.$height.'&class='.$class.'&quality='.$quality.'&id='.$id.'&link='.$link.'&repeat='.$repeat.'&offset='.$offset.'&before='.$before.'&after='.$after.'&single='.$single.'&fore='.$force.'&return='.$return ); + return; +} // End woo_get_image() + +/*-----------------------------------------------------------------------------------*/ +/* woo_embed - Get Video embed code from custom field */ +/*-----------------------------------------------------------------------------------*/ + +/* +Get Video +This function gets the embed code from the custom field +Parameters: + $key = Custom field key eg. "embed" + $width = Set width manually without using $type + $height = Set height manually without using $type + $class = Custom class to apply to wrapping div + $id = ID from post to pull custom field from +*/ + +if ( ! function_exists( 'woo_embed' ) ) { +function woo_embed( $args ) { + //Defaults + $key = 'embed'; + $width = null; + $height = null; + $class = 'video'; + $id = null; + $preserve_dimensions = false; + + if ( ! is_array( $args ) ) + parse_str( $args, $args ); + + extract( $args ); + + if( empty( $id ) ) { + global $post; + $id = $post->ID; + } + +// Cast $width and $height to integer +$width = intval( $width ); +$height = intval( $height ); + +$custom_field = esc_textarea( get_post_meta( $id, $key, true ) ); +if ( $custom_field ) : + $custom_field = html_entity_decode( $custom_field ); // Decode HTML entities. + + // Only run oEmbed checks if we definitely don't have any HTML tags in the field. + if ( $custom_field == strip_tags( $custom_field ) ) { + $custom_field = wp_oembed_get( $custom_field ); + } + + // If we definitely don't have a video, get out. + if ( '' == $custom_field ) return false; + + // Store dimensions that were passed through the arguments. + $org_width = $width; + $org_height = $height; + + // Store the dimensions present in the embed code. + $embed_width = ''; + $embed_height = ''; + + $raw_values = explode( ' ', $custom_field ); + + if ( 0 < count( $raw_values ) ) { + foreach ( $raw_values as $raw ) { + $embed_params = explode( '=', $raw ); + if ( 'width' == $embed_params[0] ) { + $embed_width = preg_replace( '/[^0-9]/', '', $embed_params[1]); + } elseif ( 'height' == $embed_params[0] ) { + $embed_height = preg_replace( '/[^0-9]/', '', $embed_params[1]); + } + } + } + + // If we have a width and no height, calculate the height. + if ( '' == $org_height && '' != $org_width ) { + // Store a calculated height ratio. + $calculated_height = ''; + + $float_width = floatval( $embed_width ); + $float_height = floatval( $embed_height ); + $float_ratio = floatval( $float_height / $float_width ); + $calculated_height = intval( $float_ratio * $width ); + + // Set the height. + $height = $calculated_height; + } + + // Custom height check (last minute). + if ( 0 >= intval( $width ) ) $width = intval( ( get_post_meta( $id, 'width', true ) ) ); + if ( 0 >= intval( $height ) ) $height = intval( get_post_meta( $id, 'height', true ) ); + + $atts = array( 'width' => $width, 'height' => $height ); + $styles = array(); + $styles_string = ''; + + if ( 0 < count( $atts ) ) { + foreach ( $atts as $k => $v ) { + $atts[$k] = $k . '="' . esc_attr( $v ) . '"'; + $styles_string .= $k . ':' . intval( $v ) . 'px;'; + } + } + + if ( '' != $styles_string ) { + $styles_string = ' style="' . $styles_string . '"'; + } + + $custom_field = stripslashes( $custom_field ); + if ( true != $preserve_dimensions ) { + $custom_field = preg_replace( '/width="([0-9]*)"/' , $atts['width'], $custom_field ); + $custom_field = preg_replace( '/height="([0-9]*)"/' , $atts['height'], $custom_field ); + $custom_field = str_replace( ' src="', $styles_string . ' src="', $custom_field ); + } + + // Suckerfish menu hack + $custom_field = str_replace( '' . $custom_field . '
            '; + + return apply_filters( 'woo_embed', $output ); +else : + return false; +endif; +} +} + +/*-----------------------------------------------------------------------------------*/ +/* Add default filters to woo_embed() */ +/*-----------------------------------------------------------------------------------*/ + +add_filter( 'woo_embed', 'do_shortcode' ); + +/*-----------------------------------------------------------------------------------*/ +/* Depreciated - woo_get_embed - Get Video embed code from custom field */ +/*-----------------------------------------------------------------------------------*/ +// Depreciated +function woo_get_embed( $key = 'embed', $width, $height, $class = 'video', $id = null, $preserve_dimensions = false ) { + // Run new function + return woo_embed( 'key=' . $key . '&width=' . $width . '&height=' . $height . '&class=' . $class . '&id=' . $id . '&preserve_dimensions=' . $preserve_dimensions ); +} // End woo_get_embed() + +/*-----------------------------------------------------------------------------------*/ +/* Woo Show Page Menu */ +/*-----------------------------------------------------------------------------------*/ +// Show menu in header.php +// Exlude the pages from the slider +function woo_show_pagemenu( $exclude = '' ) { + // Split the featured pages from the options, and put in an array + if ( get_option( 'woo_ex_featpages') ) { + $menupages = get_option( 'woo_featpages' ); + $exclude = $menupages . ',' . $exclude; + } + + $pages = wp_list_pages( 'sort_column=menu_order&title_li=&echo=0&depth=1&exclude=' . $exclude ); + $pages = preg_replace( '%]+)>%U','', $pages ); + $pages = str_replace( '','', $pages ); + echo $pages; +} // End woo_show_pagemenu() + +/*-----------------------------------------------------------------------------------*/ +/* Get the style path currently selected */ +/*-----------------------------------------------------------------------------------*/ +function woo_style_path() { + $return = ''; + + $style = $_REQUEST['style']; + + // Sanitize request input. + $style = esc_attr( strtolower( trim( strip_tags( $style ) ) ) ); + + if ( $style != '' ) { + $style_path = $style; + } else { + $stylesheet = esc_attr( get_option( 'woo_alt_stylesheet' ) ); + + // Prevent against an empty return to $stylesheet. + if ( $stylesheet == '' ) { + $stylesheet = 'default.css'; + } + + $style_path = str_replace( '.css', '', $stylesheet ); + } + + if ( $style_path == 'default' ) { + $return = 'images'; + } else { + $return = 'styles/' . $style_path; + } + + echo esc_html( $return ); +} // End woo_style_path() + + +/*-----------------------------------------------------------------------------------*/ +/* Get page ID */ +/*-----------------------------------------------------------------------------------*/ +function get_page_id( $page_slug ) { + $page_id = get_page_by_path( $page_slug ); + if ($page_id) { + return $page_id->ID; + } else { + return null; + } +} // End get_page_id() + +/*-----------------------------------------------------------------------------------*/ +/* Tidy up the image source url */ +/*-----------------------------------------------------------------------------------*/ +function cleanSource( $src ) { + // remove slash from start of string + if(strpos($src, "/") == 0) { + $src = substr($src, -(strlen($src) - 1)); + } + + // Check if same domain so it doesn't strip external sites + $host = str_replace( 'www.', '', $_SERVER['HTTP_HOST'] ); + if ( ! strpos( $src, $host ) ) + return $src; + + + $regex = "/^((ht|f)tp(s|):\/\/)(www\.|)" . $host . "/i"; + $src = preg_replace ( $regex, '', $src ); + $src = htmlentities ( $src ); + + // remove slash from start of string + if ( strpos( $src, '/' ) === 0 ) { + $src = substr ( $src, -( strlen( $src ) - 1 ) ); + } + + return $src; +} // End cleanSource() + +/*-----------------------------------------------------------------------------------*/ +/* Show image in RSS feed */ +/* Original code by Justin Tadlock */ +/*-----------------------------------------------------------------------------------*/ +if ( 'true' == get_option( 'woo_rss_thumb', false ) || true == apply_filters( 'wf_add_image_to_rss', false ) ) { + if ( get_option( 'rss_use_excerpt' ) ) + add_filter( 'the_excerpt_rss', 'add_image_RSS' ); + else + add_filter( 'the_content_feed', 'add_image_RSS' ); +} + +/** + * Maybe add the featured image to the RSS feed. + * @param string $content The content of the specified RSS feed item. + * @since 1.0.0 + * @return string + */ +function add_image_RSS ( $content ) { + if ( ! is_feed() ) return $content; + global $post, $id; + + // Get the "image" from custom field + $image = woo_image( 'return=true&link=url' ); + $image_width = intval( apply_filters( 'wf_add_image_to_rss_width', 240 ) ); + + // If there's an image, display the image with the content + if( '' != $image ) { + $content = '

            + +

            ' . $content; + } + return $content; +} // End add_image_RSS() + + + +/*-----------------------------------------------------------------------------------*/ +/* Show analytics code in footer */ +/*-----------------------------------------------------------------------------------*/ +function woo_analytics(){ + $output = get_option( 'woo_google_analytics' ); + if ( $output != '' ) + echo stripslashes( $output ) . "\n"; +} // End woo_analytics() +add_action( 'wp_footer','woo_analytics' ); + + + +/*-----------------------------------------------------------------------------------*/ +/* Browser detection body_class() output */ +/*-----------------------------------------------------------------------------------*/ +add_filter( 'body_class','browser_body_class' ); +function browser_body_class( $classes ) { + global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone; + + if($is_lynx) $classes[] = 'lynx'; + elseif($is_gecko) $classes[] = 'gecko'; + elseif($is_opera) $classes[] = 'opera'; + elseif($is_NS4) $classes[] = 'ns4'; + elseif($is_safari) $classes[] = 'safari'; + elseif($is_chrome) $classes[] = 'chrome'; + elseif($is_IE) { + $browser = $_SERVER['HTTP_USER_AGENT']; + $browser = substr( "$browser", 25, 8); + if ($browser == "MSIE 7.0" ) { + $classes[] = 'ie7'; + $classes[] = 'ie'; + } elseif ($browser == "MSIE 6.0" ) { + $classes[] = 'ie6'; + $classes[] = 'ie'; + } elseif ($browser == "MSIE 8.0" ) { + $classes[] = 'ie8'; + $classes[] = 'ie'; + } elseif ($browser == "MSIE 9.0" ) { + $classes[] = 'ie9'; + $classes[] = 'ie'; + } else { + $classes[] = 'ie'; + } + } + else $classes[] = 'unknown'; + + if( $is_iphone ) $classes[] = 'iphone'; + + // Alternative style body class. + $style = get_option( 'woo_alt_stylesheet', 'default' ); + $style = str_replace( '.css', '', $style ); + if ( '' != $style ) { + $classes[] = 'alt-style-' . esc_attr( $style ); + } + return $classes; +} // End browser_body_class() + +/*-----------------------------------------------------------------------------------*/ +/* Twitter's Blogger.js output for Twitter widgets */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_twitter_script' ) ) { + function woo_twitter_script() { + _deprecated_function( __FUNCTION__, '6.0.0', __( 'WooDojo Twitter widgets.', 'woothemes' ) ); + return false; + } // End woo_twitter_script() +} + +/*-----------------------------------------------------------------------------------*/ +/* Deprecated: Template Detector */ +/*-----------------------------------------------------------------------------------*/ +function woo_active_template( $filename = null ) { + _deprecated_function( __FUNCTION__, '5.4.0' ); + return false; // No $filename argument was set +} // End woo_active_template() + +/*-----------------------------------------------------------------------------------*/ +/* WooFramework Update Page */ +/*-----------------------------------------------------------------------------------*/ + +function woothemes_framework_update_page() { + // Clear transients. + delete_transient( 'woo_framework_critical_update' ); + delete_transient( 'woo_framework_critical_update_data' ); + delete_transient( 'wooframework_version_data' ); + + $method = get_filesystem_method(); + + $to = ABSPATH . 'wp-content/themes/' . get_option( 'template' ) . '/functions/'; + if(isset($_POST['password'])){ + + $cred = $_POST; + $filesystem = WP_Filesystem($cred); + + } + elseif(isset($_POST['woo_ftp_cred'])){ + + $cred = unserialize(base64_decode($_POST['woo_ftp_cred'])); + $filesystem = WP_Filesystem($cred); + + } else { + + $filesystem = WP_Filesystem(); + + }; + $url = admin_url( 'admin.php?page=woothemes_framework_update' ); + ?> +
            + + +

            + +
            + + + +

            +

            +

            +

            Your version:

            + +

            Current Version:

            + + +

            You have the latest version of WooFramework

            +

            Your version:

            + +

            + + + +
            + +
            +

            Failed: Filesystem preventing downloads. ( ". $method .")

            "; + } + add_action( 'admin_notices', 'woothemes_framework_update_filesystem_warning' ); + return; + } + if(isset($_REQUEST['woo_update_save'])){ + + // Sanitize action being requested. + $_action = esc_attr( $_REQUEST['woo_update_save'] ); + + if( $_action == 'save' ) { + + $temp_file_addr = download_url( esc_url( 'http://wooframework.s3.amazonaws.com/latest/framework.zip' ) ); + + if ( is_wp_error($temp_file_addr) ) { + + $error = esc_html( $temp_file_addr->get_error_code() ); + + if( $error == 'http_no_url' ) { + //The source file was not found or is invalid + function woothemes_framework_update_missing_source_warning() { + echo "

            Failed: Invalid URL Provided

            "; + } + add_action( 'admin_notices', 'woothemes_framework_update_missing_source_warning' ); + } else { + function woothemes_framework_update_other_upload_warning() { + echo "

            Failed: Upload - $error

            "; + } + add_action( 'admin_notices', 'woothemes_framework_update_other_upload_warning' ); + + } + + return; + + } + //Unzip it + global $wp_filesystem; + $to = $wp_filesystem->wp_content_dir() . "/themes/" . get_option( 'template' ) . "/functions/"; + + $dounzip = unzip_file($temp_file_addr, $to); + + unlink($temp_file_addr); // Delete Temp File + + if ( is_wp_error($dounzip) ) { + + //DEBUG + $error = esc_html( $dounzip->get_error_code() ); + $data = $dounzip->get_error_data($error); + //echo $error. ' - '; + //print_r($data); + + if($error == 'incompatible_archive') { + //The source file was not found or is invalid + function woothemes_framework_update_no_archive_warning() { + echo "

            Failed: Incompatible archive

            "; + } + add_action( 'admin_notices', 'woothemes_framework_update_no_archive_warning' ); + } + if($error == 'empty_archive') { + function woothemes_framework_update_empty_archive_warning() { + echo "

            Failed: Empty Archive

            "; + } + add_action( 'admin_notices', 'woothemes_framework_update_empty_archive_warning' ); + } + if($error == 'mkdir_failed') { + function woothemes_framework_update_mkdir_warning() { + echo "

            Failed: mkdir Failure

            "; + } + add_action( 'admin_notices', 'woothemes_framework_update_mkdir_warning' ); + } + if($error == 'copy_failed') { + function woothemes_framework_update_copy_fail_warning() { + echo "

            Failed: Copy Failed

            "; + } + add_action( 'admin_notices', 'woothemes_framework_update_copy_fail_warning' ); + } + + return; + + } + + function woothemes_framework_updated_success() { + echo "

            New framework successfully downloaded, extracted and updated.

            "; + } + + add_action( 'admin_notices', 'woothemes_framework_updated_success' ); + + } + } + } //End user input save part of the update + } +} + +add_action( 'admin_head', 'woothemes_framework_update_head' ); + +/*-----------------------------------------------------------------------------------*/ +/* WooFramework Version Getter */ +/*-----------------------------------------------------------------------------------*/ + +function woo_get_fw_version( $url = '', $check_if_critical = false ) { + + if( ! empty( $url ) ) { + $fw_url = $url; + } else { + $fw_url = 'http://wooframework.s3.amazonaws.com/latest/functions-changelog.txt'; + } + + $output = array( 'version' => '', 'is_critical' => false ); + + $version_data = get_transient( 'wooframework_version_data' ); + + if ( $version_data != '' && $check_if_critical == false ) { return $version_data; } + + $temp_file_addr = download_url( $fw_url ); + if( ! is_wp_error( $temp_file_addr ) && $file_contents = file( $temp_file_addr ) ) { + foreach ( $file_contents as $line_num => $line ) { + $current_line = $line; + + if( $line_num > 1 ) { // Not the first or second... dodgy :P + + if ( preg_match( '/^[0-9]/', $line ) ) { + + // Do critical update check. + if ( $check_if_critical && ( strtolower( trim( substr( $line, -10 ) ) ) == 'critical' ) ) { + $output['is_critical'] = true; + } + + $current_line = stristr( $current_line, 'version' ); + $current_line = preg_replace( '~[^0-9,.]~','',$current_line ); + $output['version'] = $current_line; + break; + } + } + } + unlink( $temp_file_addr ); + } else { + $output['version'] = get_option( 'woo_framework_version' ); + } + + // Set the transient containing the latest version number. + set_transient( 'wooframework_version_data', $output , 60*60*24 ); + + return $output; +} // End woo_get_fw_version() + + +/*-----------------------------------------------------------------------------------*/ +/* WooFramework Version Checker */ +/*-----------------------------------------------------------------------------------*/ + +function woo_framework_version_checker( $local_version, $check_if_critical = false ) { + $data = array( 'is_update' => false, 'version' => '1.0.0', 'status' => 'none' ); + + if ( ! $local_version ) { return $data; } + + $version_data = woo_get_fw_version( '', $check_if_critical ); + + $check = version_compare( $version_data['version'], $local_version ); // Returns 1 if there is an update available. + + if ( $check == 1 ) { + $data['is_update'] = true; + $data['version'] = $version_data['version']; + $data['is_critical'] = $version_data['is_critical']; + } + + return $data; +} // End woo_framework_version_checker() + +/*-----------------------------------------------------------------------------------*/ +/* Woo URL shortener */ +/*-----------------------------------------------------------------------------------*/ + +function woo_short_url($url) { + _deprecated_function( __FUNCTION__, '6.0.0', __( 'Shortlinks feature in WooDojo.', 'woothemes' ) ); + + $service = get_option( 'woo_url_shorten' ); + $bitlyapilogin = get_option( 'woo_bitly_api_login' );; + $bitlyapikey = get_option( 'woo_bitly_api_key' );; + if (isset($service)) { + switch ($service) + { + case 'TinyURL': + $shorturl = getTinyUrl($url); + break; + case 'Bit.ly': + if (isset($bitlyapilogin) && isset($bitlyapikey) && ($bitlyapilogin != '') && ($bitlyapikey != '')) { + $shorturl = make_bitly_url($url,$bitlyapilogin,$bitlyapikey,'json' ); + } + else { + $shorturl = getTinyUrl($url); + } + break; + case 'Off': + $shorturl = $url; + break; + default: + $shorturl = $url; + break; + } + } + else { + $shorturl = $url; + } + return $shorturl; +} + +//TinyURL +function getTinyUrl($url) { + _deprecated_function( __FUNCTION__, '6.0.0', __( 'Shortlinks feature in WooDojo.', 'woothemes' ) ); + + $tinyurl = file_get_contents_curl( "http://tinyurl.com/api-create.php?url=".$url); + return $tinyurl; +} + +//Bit.ly +function make_bitly_url($url,$login,$appkey,$format = 'xml',$version = '2.0.1') { + _deprecated_function( __FUNCTION__, '6.0.0', __( 'Shortlinks feature in WooDojo.', 'woothemes' ) ); + //create the URL + $bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$appkey.'&format='.$format; + + //get the url + //could also use cURL here + $response = file_get_contents_curl($bitly); + + //parse depending on desired format + if(strtolower($format) == 'json') + { + $json = @json_decode($response,true); + return $json['results'][$url]['shortUrl']; + } + else //xml + { + $xml = simplexml_load_string($response); + return 'http://bit.ly/'.$xml->results->nodeKeyVal->hash; + } +} + +//Alternative CURL function +function file_get_contents_curl($url) { + if ( $url == '' || $url == null ) { return ''; } + $data = ''; + + $response = wp_remote_get( $url ); + + if ( is_wp_error( $response ) ) { + $data = $url; + } else { + $data = $response['body']; + } + + return $data; +} // End file_get_contents_curl() + +// Checks for presence of the cURL extension. +function _iscurlinstalled() { + if (in_array ( 'curl', get_loaded_extensions())) { + if (function_exists( 'curl_init')) { + return true; + } else { + return false; + } + } + else{ + if (function_exists( 'curl_init')) { + return true; + } else { + return false; + } + } +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_title() */ +/*-----------------------------------------------------------------------------------*/ + +/** + * Display or return the title for the current screen. + * @since 1.0.0 + * @param boolean $echo Whether or not to echo the title. Default: true. + * @return string The title. + */ +if ( ! function_exists( 'woo_title' ) ) { +function woo_title ( $echo = true ) { + // If the parameter isn't a boolean, set it to the default value. + if ( ! is_bool( $echo ) ) { + $echo = true; + } + $sep = '|'; + $raw_title = wp_title( $sep, false, 'right' ); + + // Allow child themes/plugins to filter the title value. + $title = apply_filters( 'woo_title', $raw_title, $sep, $raw_title ); + if ( true == $echo ) echo $title; + return $title; +} // End woo_title() +} + +if ( ! function_exists( 'wf_add_blog_name_to_title' ) ) { +/** + * Add the site title to the woo_title() text. + * @since 6.0.0 + * @param string $title Existing title value. + * @param string $sep Separator string. + * @param string $raw_title Raw title value. + * @return string Modified title. + */ +function wf_add_blog_name_to_title ( $title, $sep, $raw_title ) { + $site_title = get_bloginfo( 'name' ); + $title .= apply_filters( 'wf_add_blog_name_to_title', $site_title ); + return $title; +} // End wf_add_blog_name_to_title() +} + +if ( ! function_exists( 'wf_maybe_add_page_number_to_title' ) ) { +/** + * Maybe add the page number, if paginating, to the woo_title() text. + * @since 6.0.0 + * @param string $title Existing title value. + * @param string $sep Separator string. + * @param string $raw_title Raw title value. + * @return string Modified title. + */ +function wf_maybe_add_page_number_to_title ( $title, $sep, $raw_title ) { + if ( is_paged() ) { + $page = intval( get_query_var( 'page' ) ); + $paged = intval( get_query_var( 'paged' ) ); + $page_number = $paged; + if ( 0 < $page ) { + $page_number = $page; + } + + $title .= apply_filters( 'wf_maybe_add_page_number_to_title', ' ' . $sep . ' ' . sprintf( __( 'Page %s', 'woothemes' ), intval( $page_number ) ) ); + } + return $title; +} // End wf_maybe_add_page_number_to_title() +} + +if ( ! class_exists( 'WPSEO_Frontend' ) && ! defined( 'WPSEO_VERSION' ) ) { + add_filter( 'woo_title', 'wf_add_blog_name_to_title', 10, 3 ); + add_filter( 'woo_title', 'wf_maybe_add_page_number_to_title', 10, 3 ); +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_meta() */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_meta' ) ) { +/** + * Display meta tags. + * @since 1.0.0 + * @return void + */ +function woo_meta () { + echo '' . "\n"; + + do_action( 'woo_meta' ); +} // End woo_meta() +} + +/*-----------------------------------------------------------------------------------*/ +/* Woo Text Trimmer */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_text_trim' ) ) { + function woo_text_trim( $text, $words = 50 ) { + $matches = preg_split( "/\s+/", $text, $words + 1); + $sz = count($matches); + if ($sz > $words) + { + unset($matches[$sz-1]); + return implode( ' ',$matches)." ..."; + } + return $text; + } // End woo_text_trim() +} + +/*-----------------------------------------------------------------------------------*/ +/* Google Webfonts Array */ +/* Documentation: +/* +/* name: The name of the Google Font. +/* variant: The Google Font API variants available for the font. +/*-----------------------------------------------------------------------------------*/ + +// Available Google webfont names +$GLOBALS['google_fonts'] = wf_get_google_fonts(); + +/** + * Return a filtered array of possible system fonts. + * @since 6.0.0 + * @return array Possible system fonts. + */ +function wf_get_system_fonts () { + return (array)apply_filters( 'wf_get_system_fonts', array( + 'Arial, sans-serif' => __( 'Arial', 'woothemes' ), + 'Verdana, Geneva, sans-serif' => __( 'Verdana', 'woothemes' ), + '"Trebuchet MS", Tahoma, sans-serif' => __( 'Trebuchet', 'woothemes' ), + 'Georgia, serif' => __( 'Georgia', 'woothemes' ), + '"Times New Roman", serif' => __( 'Times New Roman', 'woothemes' ), + 'Tahoma, Geneva, Verdana, sans-serif' => __( 'Tahoma', 'woothemes' ), + 'Palatino, "Palatino Linotype", serif' => __( 'Palatino', 'woothemes' ), + '"Helvetica Neue", Helvetica, sans-serif' => __( 'Helvetica *', 'woothemes' ), + 'Calibri, Candara, Segoe, Optima, sans-serif' => __( 'Calibri *', 'woothemes' ), + '"Myriad Pro", Myriad, sans-serif' => __( 'Myriad Pro *', 'woothemes' ), + '"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif' => __( 'Lucida', 'woothemes' ), + '"Arial Black", sans-serif' => __( 'Arial Black', 'woothemes' ), + '"Gill Sans", "Gill Sans MT", Calibri, sans-serif' => __( 'Gill Sans *', 'woothemes' ), + 'Geneva, Tahoma, Verdana, sans-serif' => __( 'Geneva *', 'woothemes' ), + 'Impact, Charcoal, sans-serif' => __( 'Impact', 'woothemes' ), + 'Courier, "Courier New", monospace' => __( 'Courier', 'woothemes' ), + '"Century Gothic", sans-serif' => __( 'Century Gothic', 'woothemes' ) + ) + ); +} // End wf_get_system_fonts() + +/** + * Return a filtered array of possible system fonts test cases. + * @since 6.0.0 + * @return array Possible system fonts test cases. + */ +function wf_get_system_fonts_test_cases () { + // The test case should always correspond to the text before the first comma in the array key. + return (array)apply_filters( 'wf_get_system_fonts_test_cases', array( + 'Arial, sans-serif' => 'Arial', + 'Verdana, Geneva, sans-serif' => 'Verdana', + '"Trebuchet MS", Tahoma, sans-serif' => 'Trebuchet MS', + 'Georgia, serif' => 'Georgia', + '"Times New Roman", serif' => 'Times New Roman', + 'Tahoma, Geneva, Verdana, sans-serif' => 'Tahoma', + 'Palatino, "Palatino Linotype", serif' => 'Palatino', + '"Helvetica Neue", Helvetica, sans-serif' => 'Helvetica Neue', + 'Calibri, Candara, Segoe, Optima, sans-serif' => 'Calibri', + '"Myriad Pro", Myriad, sans-serif' => 'Myriad', + '"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif' => 'Lucida Grande', + '"Arial Black", sans-serif' => 'Arial Black', + '"Gill Sans", "Gill Sans MT", Calibri, sans-serif' => 'Gill', + 'Geneva, Tahoma, Verdana, sans-serif' => 'Geneva', + 'Impact, Charcoal, sans-serif' => 'Impact', + 'Courier, "Courier New", monospace' => 'Courier', + '"Century Gothic", sans-serif' => 'Century Gothic' + ) + ); +} // End wf_get_system_fonts_test_cases() + +/** + * Return a filtered array of Google WebFonts. + * @since 6.0.0 + * @return array Google WebFonts. + */ +function wf_get_google_fonts () { + return (array)apply_filters( 'wf_get_google_fonts', wf_get_google_fonts_store() ); +} // End wf_get_google_fonts() + +/** + * Return a raw array of Google WebFonts. + * @since 6.0.0 + * @return array Google WebFonts. + */ +function wf_get_google_fonts_store () { + $google_fonts = array ( + array( 'name' => 'ABeeZee', 'variant' => ':regular,:italic' ), + array( 'name' => 'Abel', 'variant' => ':regular' ), + array( 'name' => 'Abril Fatface', 'variant' => ':regular' ), + array( 'name' => 'Aclonica', 'variant' => ':regular' ), + array( 'name' => 'Acme', 'variant' => ':regular' ), + array( 'name' => 'Actor', 'variant' => ':regular' ), + array( 'name' => 'Adamina', 'variant' => ':regular' ), + array( 'name' => 'Advent Pro', 'variant' => ':100,:200,:300,:regular,:500,:600,:700' ), + array( 'name' => 'Aguafina Script', 'variant' => ':regular' ), + array( 'name' => 'Akronim', 'variant' => ':regular' ), + array( 'name' => 'Aladin', 'variant' => ':regular' ), + array( 'name' => 'Aldrich', 'variant' => ':regular' ), + array( 'name' => 'Alef', 'variant' => ':regular,:700' ), + array( 'name' => 'Alegreya', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Alegreya SC', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Alegreya Sans', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:500,:500italic,:700,:700italic,:800,:800italic,:900,:900italic' ), + array( 'name' => 'Alegreya Sans SC', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:500,:500italic,:700,:700italic,:800,:800italic,:900,:900italic' ), + array( 'name' => 'Alex Brush', 'variant' => ':regular' ), + array( 'name' => 'Alfa Slab One', 'variant' => ':regular' ), + array( 'name' => 'Alice', 'variant' => ':regular' ), + array( 'name' => 'Alike', 'variant' => ':regular' ), + array( 'name' => 'Alike Angular', 'variant' => ':regular' ), + array( 'name' => 'Allan', 'variant' => ':regular,:700' ), + array( 'name' => 'Allerta', 'variant' => ':regular' ), + array( 'name' => 'Allerta Stencil', 'variant' => ':regular' ), + array( 'name' => 'Allura', 'variant' => ':regular' ), + array( 'name' => 'Almendra', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Almendra Display', 'variant' => ':regular' ), + array( 'name' => 'Almendra SC', 'variant' => ':regular' ), + array( 'name' => 'Amarante', 'variant' => ':regular' ), + array( 'name' => 'Amaranth', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Amatic SC', 'variant' => ':regular,:700' ), + array( 'name' => 'Amethysta', 'variant' => ':regular' ), + array( 'name' => 'Anaheim', 'variant' => ':regular' ), + array( 'name' => 'Andada', 'variant' => ':regular' ), + array( 'name' => 'Andika', 'variant' => ':regular' ), + array( 'name' => 'Angkor', 'variant' => ':regular' ), + array( 'name' => 'Annie Use Your Telescope', 'variant' => ':regular' ), + array( 'name' => 'Anonymous Pro', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Antic', 'variant' => ':regular' ), + array( 'name' => 'Antic Didone', 'variant' => ':regular' ), + array( 'name' => 'Antic Slab', 'variant' => ':regular' ), + array( 'name' => 'Anton', 'variant' => ':regular' ), + array( 'name' => 'Arapey', 'variant' => ':regular,:italic' ), + array( 'name' => 'Arbutus', 'variant' => ':regular' ), + array( 'name' => 'Arbutus Slab', 'variant' => ':regular' ), + array( 'name' => 'Architects Daughter', 'variant' => ':regular' ), + array( 'name' => 'Archivo Black', 'variant' => ':regular' ), + array( 'name' => 'Archivo Narrow', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Arimo', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Arizonia', 'variant' => ':regular' ), + array( 'name' => 'Armata', 'variant' => ':regular' ), + array( 'name' => 'Artifika', 'variant' => ':regular' ), + array( 'name' => 'Arvo', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Asap', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Asset', 'variant' => ':regular' ), + array( 'name' => 'Astloch', 'variant' => ':regular,:700' ), + array( 'name' => 'Asul', 'variant' => ':regular,:700' ), + array( 'name' => 'Atomic Age', 'variant' => ':regular' ), + array( 'name' => 'Aubrey', 'variant' => ':regular' ), + array( 'name' => 'Audiowide', 'variant' => ':regular' ), + array( 'name' => 'Autour One', 'variant' => ':regular' ), + array( 'name' => 'Average', 'variant' => ':regular' ), + array( 'name' => 'Average Sans', 'variant' => ':regular' ), + array( 'name' => 'Averia Gruesa Libre', 'variant' => ':regular' ), + array( 'name' => 'Averia Libre', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic' ), + array( 'name' => 'Averia Sans Libre', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic' ), + array( 'name' => 'Averia Serif Libre', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic' ), + array( 'name' => 'Bad Script', 'variant' => ':regular' ), + array( 'name' => 'Balthazar', 'variant' => ':regular' ), + array( 'name' => 'Bangers', 'variant' => ':regular' ), + array( 'name' => 'Basic', 'variant' => ':regular' ), + array( 'name' => 'Battambang', 'variant' => ':regular,:700' ), + array( 'name' => 'Baumans', 'variant' => ':regular' ), + array( 'name' => 'Bayon', 'variant' => ':regular' ), + array( 'name' => 'Belgrano', 'variant' => ':regular' ), + array( 'name' => 'Belleza', 'variant' => ':regular' ), + array( 'name' => 'BenchNine', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Bentham', 'variant' => ':regular' ), + array( 'name' => 'Berkshire Swash', 'variant' => ':regular' ), + array( 'name' => 'Bevan', 'variant' => ':regular' ), + array( 'name' => 'Bigelow Rules', 'variant' => ':regular' ), + array( 'name' => 'Bigshot One', 'variant' => ':regular' ), + array( 'name' => 'Bilbo', 'variant' => ':regular' ), + array( 'name' => 'Bilbo Swash Caps', 'variant' => ':regular' ), + array( 'name' => 'Bitter', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Black Ops One', 'variant' => ':regular' ), + array( 'name' => 'Bokor', 'variant' => ':regular' ), + array( 'name' => 'Bonbon', 'variant' => ':regular' ), + array( 'name' => 'Boogaloo', 'variant' => ':regular' ), + array( 'name' => 'Bowlby One', 'variant' => ':regular' ), + array( 'name' => 'Bowlby One SC', 'variant' => ':regular' ), + array( 'name' => 'Brawler', 'variant' => ':regular' ), + array( 'name' => 'Bree Serif', 'variant' => ':regular' ), + array( 'name' => 'Bubblegum Sans', 'variant' => ':regular' ), + array( 'name' => 'Bubbler One', 'variant' => ':regular' ), + array( 'name' => 'Buda', 'variant' => ':300' ), + array( 'name' => 'Buenard', 'variant' => ':regular,:700' ), + array( 'name' => 'Butcherman', 'variant' => ':regular' ), + array( 'name' => 'Butterfly Kids', 'variant' => ':regular' ), + array( 'name' => 'Cabin', 'variant' => ':regular,:italic,:500,:500italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Cabin Condensed', 'variant' => ':regular,:500,:600,:700' ), + array( 'name' => 'Cabin Sketch', 'variant' => ':regular,:700' ), + array( 'name' => 'Caesar Dressing', 'variant' => ':regular' ), + array( 'name' => 'Cagliostro', 'variant' => ':regular' ), + array( 'name' => 'Calligraffitti', 'variant' => ':regular' ), + array( 'name' => 'Cambo', 'variant' => ':regular' ), + array( 'name' => 'Candal', 'variant' => ':regular' ), + array( 'name' => 'Cantarell', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Cantata One', 'variant' => ':regular' ), + array( 'name' => 'Cantora One', 'variant' => ':regular' ), + array( 'name' => 'Capriola', 'variant' => ':regular' ), + array( 'name' => 'Cardo', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Carme', 'variant' => ':regular' ), + array( 'name' => 'Carrois Gothic', 'variant' => ':regular' ), + array( 'name' => 'Carrois Gothic SC', 'variant' => ':regular' ), + array( 'name' => 'Carter One', 'variant' => ':regular' ), + array( 'name' => 'Caudex', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Cedarville Cursive', 'variant' => ':regular' ), + array( 'name' => 'Ceviche One', 'variant' => ':regular' ), + array( 'name' => 'Changa One', 'variant' => ':regular,:italic' ), + array( 'name' => 'Chango', 'variant' => ':regular' ), + array( 'name' => 'Chau Philomene One', 'variant' => ':regular,:italic' ), + array( 'name' => 'Chela One', 'variant' => ':regular' ), + array( 'name' => 'Chelsea Market', 'variant' => ':regular' ), + array( 'name' => 'Chenla', 'variant' => ':regular' ), + array( 'name' => 'Cherry Cream Soda', 'variant' => ':regular' ), + array( 'name' => 'Cherry Swash', 'variant' => ':regular,:700' ), + array( 'name' => 'Chewy', 'variant' => ':regular' ), + array( 'name' => 'Chicle', 'variant' => ':regular' ), + array( 'name' => 'Chivo', 'variant' => ':regular,:italic,:900,:900italic' ), + array( 'name' => 'Cinzel', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Cinzel Decorative', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Clicker Script', 'variant' => ':regular' ), + array( 'name' => 'Coda', 'variant' => ':regular,:800' ), + array( 'name' => 'Coda Caption', 'variant' => ':800' ), + array( 'name' => 'Codystar', 'variant' => ':300,:regular' ), + array( 'name' => 'Combo', 'variant' => ':regular' ), + array( 'name' => 'Comfortaa', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Coming Soon', 'variant' => ':regular' ), + array( 'name' => 'Concert One', 'variant' => ':regular' ), + array( 'name' => 'Condiment', 'variant' => ':regular' ), + array( 'name' => 'Content', 'variant' => ':regular,:700' ), + array( 'name' => 'Contrail One', 'variant' => ':regular' ), + array( 'name' => 'Convergence', 'variant' => ':regular' ), + array( 'name' => 'Cookie', 'variant' => ':regular' ), + array( 'name' => 'Copse', 'variant' => ':regular' ), + array( 'name' => 'Corben', 'variant' => ':regular,:700' ), + array( 'name' => 'Courgette', 'variant' => ':regular' ), + array( 'name' => 'Cousine', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Coustard', 'variant' => ':regular,:900' ), + array( 'name' => 'Covered By Your Grace', 'variant' => ':regular' ), + array( 'name' => 'Crafty Girls', 'variant' => ':regular' ), + array( 'name' => 'Creepster', 'variant' => ':regular' ), + array( 'name' => 'Crete Round', 'variant' => ':regular,:italic' ), + array( 'name' => 'Crimson Text', 'variant' => ':regular,:italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Croissant One', 'variant' => ':regular' ), + array( 'name' => 'Crushed', 'variant' => ':regular' ), + array( 'name' => 'Cuprum', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Cutive', 'variant' => ':regular' ), + array( 'name' => 'Cutive Mono', 'variant' => ':regular' ), + array( 'name' => 'Damion', 'variant' => ':regular' ), + array( 'name' => 'Dancing Script', 'variant' => ':regular,:700' ), + array( 'name' => 'Dangrek', 'variant' => ':regular' ), + array( 'name' => 'Dawning of a New Day', 'variant' => ':regular' ), + array( 'name' => 'Days One', 'variant' => ':regular' ), + array( 'name' => 'Delius', 'variant' => ':regular' ), + array( 'name' => 'Delius Swash Caps', 'variant' => ':regular' ), + array( 'name' => 'Delius Unicase', 'variant' => ':regular,:700' ), + array( 'name' => 'Della Respira', 'variant' => ':regular' ), + array( 'name' => 'Denk One', 'variant' => ':regular' ), + array( 'name' => 'Devonshire', 'variant' => ':regular' ), + array( 'name' => 'Didact Gothic', 'variant' => ':regular' ), + array( 'name' => 'Diplomata', 'variant' => ':regular' ), + array( 'name' => 'Diplomata SC', 'variant' => ':regular' ), + array( 'name' => 'Domine', 'variant' => ':regular,:700' ), + array( 'name' => 'Donegal One', 'variant' => ':regular' ), + array( 'name' => 'Doppio One', 'variant' => ':regular' ), + array( 'name' => 'Dorsa', 'variant' => ':regular' ), + array( 'name' => 'Dosis', 'variant' => ':200,:300,:regular,:500,:600,:700,:800' ), + array( 'name' => 'Dr Sugiyama', 'variant' => ':regular' ), + array( 'name' => 'Droid Sans', 'variant' => ':regular,:700' ), + array( 'name' => 'Droid Sans Mono', 'variant' => ':regular' ), + array( 'name' => 'Droid Serif', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Duru Sans', 'variant' => ':regular' ), + array( 'name' => 'Dynalight', 'variant' => ':regular' ), + array( 'name' => 'EB Garamond', 'variant' => ':regular' ), + array( 'name' => 'Eagle Lake', 'variant' => ':regular' ), + array( 'name' => 'Eater', 'variant' => ':regular' ), + array( 'name' => 'Economica', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Electrolize', 'variant' => ':regular' ), + array( 'name' => 'Elsie', 'variant' => ':regular,:900' ), + array( 'name' => 'Elsie Swash Caps', 'variant' => ':regular,:900' ), + array( 'name' => 'Emblema One', 'variant' => ':regular' ), + array( 'name' => 'Emilys Candy', 'variant' => ':regular' ), + array( 'name' => 'Engagement', 'variant' => ':regular' ), + array( 'name' => 'Englebert', 'variant' => ':regular' ), + array( 'name' => 'Enriqueta', 'variant' => ':regular,:700' ), + array( 'name' => 'Erica One', 'variant' => ':regular' ), + array( 'name' => 'Esteban', 'variant' => ':regular' ), + array( 'name' => 'Euphoria Script', 'variant' => ':regular' ), + array( 'name' => 'Ewert', 'variant' => ':regular' ), + array( 'name' => 'Exo', 'variant' => ':100,:100italic,:200,:200italic,:300,:300italic,:regular,:italic,:500,:500italic,:600,:600italic,:700,:700italic,:800,:800italic,:900,:900italic' ), + array( 'name' => 'Exo 2', 'variant' => ':100,:100italic,:200,:200italic,:300,:300italic,:regular,:italic,:500,:500italic,:600,:600italic,:700,:700italic,:800,:800italic,:900,:900italic' ), + array( 'name' => 'Expletus Sans', 'variant' => ':regular,:italic,:500,:500italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Fanwood Text', 'variant' => ':regular,:italic' ), + array( 'name' => 'Fascinate', 'variant' => ':regular' ), + array( 'name' => 'Fascinate Inline', 'variant' => ':regular' ), + array( 'name' => 'Faster One', 'variant' => ':regular' ), + array( 'name' => 'Fasthand', 'variant' => ':regular' ), + array( 'name' => 'Fauna One', 'variant' => ':regular' ), + array( 'name' => 'Federant', 'variant' => ':regular' ), + array( 'name' => 'Federo', 'variant' => ':regular' ), + array( 'name' => 'Felipa', 'variant' => ':regular' ), + array( 'name' => 'Fenix', 'variant' => ':regular' ), + array( 'name' => 'Finger Paint', 'variant' => ':regular' ), + array( 'name' => 'Fjalla One', 'variant' => ':regular' ), + array( 'name' => 'Fjord One', 'variant' => ':regular' ), + array( 'name' => 'Flamenco', 'variant' => ':300,:regular' ), + array( 'name' => 'Flavors', 'variant' => ':regular' ), + array( 'name' => 'Fondamento', 'variant' => ':regular,:italic' ), + array( 'name' => 'Fontdiner Swanky', 'variant' => ':regular' ), + array( 'name' => 'Forum', 'variant' => ':regular' ), + array( 'name' => 'Francois One', 'variant' => ':regular' ), + array( 'name' => 'Freckle Face', 'variant' => ':regular' ), + array( 'name' => 'Fredericka the Great', 'variant' => ':regular' ), + array( 'name' => 'Fredoka One', 'variant' => ':regular' ), + array( 'name' => 'Freehand', 'variant' => ':regular' ), + array( 'name' => 'Fresca', 'variant' => ':regular' ), + array( 'name' => 'Frijole', 'variant' => ':regular' ), + array( 'name' => 'Fruktur', 'variant' => ':regular' ), + array( 'name' => 'Fugaz One', 'variant' => ':regular' ), + array( 'name' => 'GFS Didot', 'variant' => ':regular' ), + array( 'name' => 'GFS Neohellenic', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Gabriela', 'variant' => ':regular' ), + array( 'name' => 'Gafata', 'variant' => ':regular' ), + array( 'name' => 'Galdeano', 'variant' => ':regular' ), + array( 'name' => 'Galindo', 'variant' => ':regular' ), + array( 'name' => 'Gentium Basic', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Gentium Book Basic', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Geo', 'variant' => ':regular,:italic' ), + array( 'name' => 'Geostar', 'variant' => ':regular' ), + array( 'name' => 'Geostar Fill', 'variant' => ':regular' ), + array( 'name' => 'Germania One', 'variant' => ':regular' ), + array( 'name' => 'Gilda Display', 'variant' => ':regular' ), + array( 'name' => 'Give You Glory', 'variant' => ':regular' ), + array( 'name' => 'Glass Antiqua', 'variant' => ':regular' ), + array( 'name' => 'Glegoo', 'variant' => ':regular' ), + array( 'name' => 'Gloria Hallelujah', 'variant' => ':regular' ), + array( 'name' => 'Goblin One', 'variant' => ':regular' ), + array( 'name' => 'Gochi Hand', 'variant' => ':regular' ), + array( 'name' => 'Gorditas', 'variant' => ':regular,:700' ), + array( 'name' => 'Goudy Bookletter 1911', 'variant' => ':regular' ), + array( 'name' => 'Graduate', 'variant' => ':regular' ), + array( 'name' => 'Grand Hotel', 'variant' => ':regular' ), + array( 'name' => 'Gravitas One', 'variant' => ':regular' ), + array( 'name' => 'Great Vibes', 'variant' => ':regular' ), + array( 'name' => 'Griffy', 'variant' => ':regular' ), + array( 'name' => 'Gruppo', 'variant' => ':regular' ), + array( 'name' => 'Gudea', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Habibi', 'variant' => ':regular' ), + array( 'name' => 'Hammersmith One', 'variant' => ':regular' ), + array( 'name' => 'Hanalei', 'variant' => ':regular' ), + array( 'name' => 'Hanalei Fill', 'variant' => ':regular' ), + array( 'name' => 'Handlee', 'variant' => ':regular' ), + array( 'name' => 'Hanuman', 'variant' => ':regular,:700' ), + array( 'name' => 'Happy Monkey', 'variant' => ':regular' ), + array( 'name' => 'Headland One', 'variant' => ':regular' ), + array( 'name' => 'Henny Penny', 'variant' => ':regular' ), + array( 'name' => 'Herr Von Muellerhoff', 'variant' => ':regular' ), + array( 'name' => 'Holtwood One SC', 'variant' => ':regular' ), + array( 'name' => 'Homemade Apple', 'variant' => ':regular' ), + array( 'name' => 'Homenaje', 'variant' => ':regular' ), + array( 'name' => 'IM Fell DW Pica', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell DW Pica SC', 'variant' => ':regular' ), + array( 'name' => 'IM Fell Double Pica', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell Double Pica SC', 'variant' => ':regular' ), + array( 'name' => 'IM Fell English', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell English SC', 'variant' => ':regular' ), + array( 'name' => 'IM Fell French Canon', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell French Canon SC', 'variant' => ':regular' ), + array( 'name' => 'IM Fell Great Primer', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell Great Primer SC', 'variant' => ':regular' ), + array( 'name' => 'Iceberg', 'variant' => ':regular' ), + array( 'name' => 'Iceland', 'variant' => ':regular' ), + array( 'name' => 'Imprima', 'variant' => ':regular' ), + array( 'name' => 'Inconsolata', 'variant' => ':regular,:700' ), + array( 'name' => 'Inder', 'variant' => ':regular' ), + array( 'name' => 'Indie Flower', 'variant' => ':regular' ), + array( 'name' => 'Inika', 'variant' => ':regular,:700' ), + array( 'name' => 'Irish Grover', 'variant' => ':regular' ), + array( 'name' => 'Istok Web', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Italiana', 'variant' => ':regular' ), + array( 'name' => 'Italianno', 'variant' => ':regular' ), + array( 'name' => 'Jacques Francois', 'variant' => ':regular' ), + array( 'name' => 'Jacques Francois Shadow', 'variant' => ':regular' ), + array( 'name' => 'Jim Nightshade', 'variant' => ':regular' ), + array( 'name' => 'Jockey One', 'variant' => ':regular' ), + array( 'name' => 'Jolly Lodger', 'variant' => ':regular' ), + array( 'name' => 'Josefin Sans', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Josefin Slab', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Joti One', 'variant' => ':regular' ), + array( 'name' => 'Judson', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Julee', 'variant' => ':regular' ), + array( 'name' => 'Julius Sans One', 'variant' => ':regular' ), + array( 'name' => 'Junge', 'variant' => ':regular' ), + array( 'name' => 'Jura', 'variant' => ':300,:regular,:500,:600' ), + array( 'name' => 'Just Another Hand', 'variant' => ':regular' ), + array( 'name' => 'Just Me Again Down Here', 'variant' => ':regular' ), + array( 'name' => 'Kameron', 'variant' => ':regular,:700' ), + array( 'name' => 'Kantumruy', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Karla', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Kaushan Script', 'variant' => ':regular' ), + array( 'name' => 'Kavoon', 'variant' => ':regular' ), + array( 'name' => 'Kdam Thmor', 'variant' => ':regular' ), + array( 'name' => 'Keania One', 'variant' => ':regular' ), + array( 'name' => 'Kelly Slab', 'variant' => ':regular' ), + array( 'name' => 'Kenia', 'variant' => ':regular' ), + array( 'name' => 'Khmer', 'variant' => ':regular' ), + array( 'name' => 'Kite One', 'variant' => ':regular' ), + array( 'name' => 'Knewave', 'variant' => ':regular' ), + array( 'name' => 'Kotta One', 'variant' => ':regular' ), + array( 'name' => 'Koulen', 'variant' => ':regular' ), + array( 'name' => 'Kranky', 'variant' => ':regular' ), + array( 'name' => 'Kreon', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Kristi', 'variant' => ':regular' ), + array( 'name' => 'Krona One', 'variant' => ':regular' ), + array( 'name' => 'La Belle Aurore', 'variant' => ':regular' ), + array( 'name' => 'Lancelot', 'variant' => ':regular' ), + array( 'name' => 'Lato', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'League Script', 'variant' => ':regular' ), + array( 'name' => 'Leckerli One', 'variant' => ':regular' ), + array( 'name' => 'Ledger', 'variant' => ':regular' ), + array( 'name' => 'Lekton', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Lemon', 'variant' => ':regular' ), + array( 'name' => 'Libre Baskerville', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Life Savers', 'variant' => ':regular,:700' ), + array( 'name' => 'Lilita One', 'variant' => ':regular' ), + array( 'name' => 'Lily Script One', 'variant' => ':regular' ), + array( 'name' => 'Limelight', 'variant' => ':regular' ), + array( 'name' => 'Linden Hill', 'variant' => ':regular,:italic' ), + array( 'name' => 'Lobster', 'variant' => ':regular' ), + array( 'name' => 'Lobster Two', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Londrina Outline', 'variant' => ':regular' ), + array( 'name' => 'Londrina Shadow', 'variant' => ':regular' ), + array( 'name' => 'Londrina Sketch', 'variant' => ':regular' ), + array( 'name' => 'Londrina Solid', 'variant' => ':regular' ), + array( 'name' => 'Lora', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Love Ya Like A Sister', 'variant' => ':regular' ), + array( 'name' => 'Loved by the King', 'variant' => ':regular' ), + array( 'name' => 'Lovers Quarrel', 'variant' => ':regular' ), + array( 'name' => 'Luckiest Guy', 'variant' => ':regular' ), + array( 'name' => 'Lusitana', 'variant' => ':regular,:700' ), + array( 'name' => 'Lustria', 'variant' => ':regular' ), + array( 'name' => 'Macondo', 'variant' => ':regular' ), + array( 'name' => 'Macondo Swash Caps', 'variant' => ':regular' ), + array( 'name' => 'Magra', 'variant' => ':regular,:700' ), + array( 'name' => 'Maiden Orange', 'variant' => ':regular' ), + array( 'name' => 'Mako', 'variant' => ':regular' ), + array( 'name' => 'Marcellus', 'variant' => ':regular' ), + array( 'name' => 'Marcellus SC', 'variant' => ':regular' ), + array( 'name' => 'Marck Script', 'variant' => ':regular' ), + array( 'name' => 'Margarine', 'variant' => ':regular' ), + array( 'name' => 'Marko One', 'variant' => ':regular' ), + array( 'name' => 'Marmelad', 'variant' => ':regular' ), + array( 'name' => 'Marvel', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Mate', 'variant' => ':regular,:italic' ), + array( 'name' => 'Mate SC', 'variant' => ':regular' ), + array( 'name' => 'Maven Pro', 'variant' => ':regular,:500,:700,:900' ), + array( 'name' => 'McLaren', 'variant' => ':regular' ), + array( 'name' => 'Meddon', 'variant' => ':regular' ), + array( 'name' => 'MedievalSharp', 'variant' => ':regular' ), + array( 'name' => 'Medula One', 'variant' => ':regular' ), + array( 'name' => 'Megrim', 'variant' => ':regular' ), + array( 'name' => 'Meie Script', 'variant' => ':regular' ), + array( 'name' => 'Merienda', 'variant' => ':regular,:700' ), + array( 'name' => 'Merienda One', 'variant' => ':regular' ), + array( 'name' => 'Merriweather', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Merriweather Sans', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic,:800,:800italic' ), + array( 'name' => 'Metal', 'variant' => ':regular' ), + array( 'name' => 'Metal Mania', 'variant' => ':regular' ), + array( 'name' => 'Metamorphous', 'variant' => ':regular' ), + array( 'name' => 'Metrophobic', 'variant' => ':regular' ), + array( 'name' => 'Michroma', 'variant' => ':regular' ), + array( 'name' => 'Milonga', 'variant' => ':regular' ), + array( 'name' => 'Miltonian', 'variant' => ':regular' ), + array( 'name' => 'Miltonian Tattoo', 'variant' => ':regular' ), + array( 'name' => 'Miniver', 'variant' => ':regular' ), + array( 'name' => 'Miss Fajardose', 'variant' => ':regular' ), + array( 'name' => 'Modern Antiqua', 'variant' => ':regular' ), + array( 'name' => 'Molengo', 'variant' => ':regular' ), + array( 'name' => 'Molle', 'variant' => ':italic' ), + array( 'name' => 'Monda', 'variant' => ':regular,:700' ), + array( 'name' => 'Monofett', 'variant' => ':regular' ), + array( 'name' => 'Monoton', 'variant' => ':regular' ), + array( 'name' => 'Monsieur La Doulaise', 'variant' => ':regular' ), + array( 'name' => 'Montaga', 'variant' => ':regular' ), + array( 'name' => 'Montez', 'variant' => ':regular' ), + array( 'name' => 'Montserrat', 'variant' => ':regular,:700' ), + array( 'name' => 'Montserrat Alternates', 'variant' => ':regular,:700' ), + array( 'name' => 'Montserrat Subrayada', 'variant' => ':regular,:700' ), + array( 'name' => 'Moul', 'variant' => ':regular' ), + array( 'name' => 'Moulpali', 'variant' => ':regular' ), + array( 'name' => 'Mountains of Christmas', 'variant' => ':regular,:700' ), + array( 'name' => 'Mouse Memoirs', 'variant' => ':regular' ), + array( 'name' => 'Mr Bedfort', 'variant' => ':regular' ), + array( 'name' => 'Mr Dafoe', 'variant' => ':regular' ), + array( 'name' => 'Mr De Haviland', 'variant' => ':regular' ), + array( 'name' => 'Mrs Saint Delafield', 'variant' => ':regular' ), + array( 'name' => 'Mrs Sheppards', 'variant' => ':regular' ), + array( 'name' => 'Muli', 'variant' => ':300,:300italic,:regular,:italic' ), + array( 'name' => 'Mystery Quest', 'variant' => ':regular' ), + array( 'name' => 'Neucha', 'variant' => ':regular' ), + array( 'name' => 'Neuton', 'variant' => ':200,:300,:regular,:italic,:700,:800' ), + array( 'name' => 'New Rocker', 'variant' => ':regular' ), + array( 'name' => 'News Cycle', 'variant' => ':regular,:700' ), + array( 'name' => 'Niconne', 'variant' => ':regular' ), + array( 'name' => 'Nixie One', 'variant' => ':regular' ), + array( 'name' => 'Nobile', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Nokora', 'variant' => ':regular,:700' ), + array( 'name' => 'Norican', 'variant' => ':regular' ), + array( 'name' => 'Nosifer', 'variant' => ':regular' ), + array( 'name' => 'Nothing You Could Do', 'variant' => ':regular' ), + array( 'name' => 'Noticia Text', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Noto Sans', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Noto Serif', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Nova Cut', 'variant' => ':regular' ), + array( 'name' => 'Nova Flat', 'variant' => ':regular' ), + array( 'name' => 'Nova Mono', 'variant' => ':regular' ), + array( 'name' => 'Nova Oval', 'variant' => ':regular' ), + array( 'name' => 'Nova Round', 'variant' => ':regular' ), + array( 'name' => 'Nova Script', 'variant' => ':regular' ), + array( 'name' => 'Nova Slim', 'variant' => ':regular' ), + array( 'name' => 'Nova Square', 'variant' => ':regular' ), + array( 'name' => 'Numans', 'variant' => ':regular' ), + array( 'name' => 'Nunito', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Odor Mean Chey', 'variant' => ':regular' ), + array( 'name' => 'Offside', 'variant' => ':regular' ), + array( 'name' => 'Old Standard TT', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Oldenburg', 'variant' => ':regular' ), + array( 'name' => 'Oleo Script', 'variant' => ':regular,:700' ), + array( 'name' => 'Oleo Script Swash Caps', 'variant' => ':regular,:700' ), + array( 'name' => 'Open Sans', 'variant' => ':300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic,:800,:800italic' ), + array( 'name' => 'Open Sans Condensed', 'variant' => ':300,:300italic,:700' ), + array( 'name' => 'Oranienbaum', 'variant' => ':regular' ), + array( 'name' => 'Orbitron', 'variant' => ':regular,:500,:700,:900' ), + array( 'name' => 'Oregano', 'variant' => ':regular,:italic' ), + array( 'name' => 'Orienta', 'variant' => ':regular' ), + array( 'name' => 'Original Surfer', 'variant' => ':regular' ), + array( 'name' => 'Oswald', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Over the Rainbow', 'variant' => ':regular' ), + array( 'name' => 'Overlock', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Overlock SC', 'variant' => ':regular' ), + array( 'name' => 'Ovo', 'variant' => ':regular' ), + array( 'name' => 'Oxygen', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Oxygen Mono', 'variant' => ':regular' ), + array( 'name' => 'PT Mono', 'variant' => ':regular' ), + array( 'name' => 'PT Sans', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'PT Sans Caption', 'variant' => ':regular,:700' ), + array( 'name' => 'PT Sans Narrow', 'variant' => ':regular,:700' ), + array( 'name' => 'PT Serif', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'PT Serif Caption', 'variant' => ':regular,:italic' ), + array( 'name' => 'Pacifico', 'variant' => ':regular' ), + array( 'name' => 'Paprika', 'variant' => ':regular' ), + array( 'name' => 'Parisienne', 'variant' => ':regular' ), + array( 'name' => 'Passero One', 'variant' => ':regular' ), + array( 'name' => 'Passion One', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Pathway Gothic One', 'variant' => ':regular' ), + array( 'name' => 'Patrick Hand', 'variant' => ':regular' ), + array( 'name' => 'Patrick Hand SC', 'variant' => ':regular' ), + array( 'name' => 'Patua One', 'variant' => ':regular' ), + array( 'name' => 'Paytone One', 'variant' => ':regular' ), + array( 'name' => 'Peralta', 'variant' => ':regular' ), + array( 'name' => 'Permanent Marker', 'variant' => ':regular' ), + array( 'name' => 'Petit Formal Script', 'variant' => ':regular' ), + array( 'name' => 'Petrona', 'variant' => ':regular' ), + array( 'name' => 'Philosopher', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Piedra', 'variant' => ':regular' ), + array( 'name' => 'Pinyon Script', 'variant' => ':regular' ), + array( 'name' => 'Pirata One', 'variant' => ':regular' ), + array( 'name' => 'Plaster', 'variant' => ':regular' ), + array( 'name' => 'Play', 'variant' => ':regular,:700' ), + array( 'name' => 'Playball', 'variant' => ':regular' ), + array( 'name' => 'Playfair Display', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Playfair Display SC', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Podkova', 'variant' => ':regular,:700' ), + array( 'name' => 'Poiret One', 'variant' => ':regular' ), + array( 'name' => 'Poller One', 'variant' => ':regular' ), + array( 'name' => 'Poly', 'variant' => ':regular,:italic' ), + array( 'name' => 'Pompiere', 'variant' => ':regular' ), + array( 'name' => 'Pontano Sans', 'variant' => ':regular' ), + array( 'name' => 'Port Lligat Sans', 'variant' => ':regular' ), + array( 'name' => 'Port Lligat Slab', 'variant' => ':regular' ), + array( 'name' => 'Prata', 'variant' => ':regular' ), + array( 'name' => 'Preahvihear', 'variant' => ':regular' ), + array( 'name' => 'Press Start 2P', 'variant' => ':regular' ), + array( 'name' => 'Princess Sofia', 'variant' => ':regular' ), + array( 'name' => 'Prociono', 'variant' => ':regular' ), + array( 'name' => 'Prosto One', 'variant' => ':regular' ), + array( 'name' => 'Puritan', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Purple Purse', 'variant' => ':regular' ), + array( 'name' => 'Quando', 'variant' => ':regular' ), + array( 'name' => 'Quantico', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Quattrocento', 'variant' => ':regular,:700' ), + array( 'name' => 'Quattrocento Sans', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Questrial', 'variant' => ':regular' ), + array( 'name' => 'Quicksand', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Quintessential', 'variant' => ':regular' ), + array( 'name' => 'Qwigley', 'variant' => ':regular' ), + array( 'name' => 'Racing Sans One', 'variant' => ':regular' ), + array( 'name' => 'Radley', 'variant' => ':regular,:italic' ), + array( 'name' => 'Raleway', 'variant' => ':100,:200,:300,:regular,:500,:600,:700,:800,:900' ), + array( 'name' => 'Raleway Dots', 'variant' => ':regular' ), + array( 'name' => 'Rambla', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Rammetto One', 'variant' => ':regular' ), + array( 'name' => 'Ranchers', 'variant' => ':regular' ), + array( 'name' => 'Rancho', 'variant' => ':regular' ), + array( 'name' => 'Rationale', 'variant' => ':regular' ), + array( 'name' => 'Redressed', 'variant' => ':regular' ), + array( 'name' => 'Reenie Beanie', 'variant' => ':regular' ), + array( 'name' => 'Revalia', 'variant' => ':regular' ), + array( 'name' => 'Ribeye', 'variant' => ':regular' ), + array( 'name' => 'Ribeye Marrow', 'variant' => ':regular' ), + array( 'name' => 'Righteous', 'variant' => ':regular' ), + array( 'name' => 'Risque', 'variant' => ':regular' ), + array( 'name' => 'Roboto', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:500,:500italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Roboto Condensed', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic' ), + array( 'name' => 'Roboto Slab', 'variant' => ':100,:300,:regular,:700' ), + array( 'name' => 'Rochester', 'variant' => ':regular' ), + array( 'name' => 'Rock Salt', 'variant' => ':regular' ), + array( 'name' => 'Rokkitt', 'variant' => ':regular,:700' ), + array( 'name' => 'Romanesco', 'variant' => ':regular' ), + array( 'name' => 'Ropa Sans', 'variant' => ':regular,:italic' ), + array( 'name' => 'Rosario', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Rosarivo', 'variant' => ':regular,:italic' ), + array( 'name' => 'Rouge Script', 'variant' => ':regular' ), + array( 'name' => 'Ruda', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Rufina', 'variant' => ':regular,:700' ), + array( 'name' => 'Ruge Boogie', 'variant' => ':regular' ), + array( 'name' => 'Ruluko', 'variant' => ':regular' ), + array( 'name' => 'Rum Raisin', 'variant' => ':regular' ), + array( 'name' => 'Ruslan Display', 'variant' => ':regular' ), + array( 'name' => 'Russo One', 'variant' => ':regular' ), + array( 'name' => 'Ruthie', 'variant' => ':regular' ), + array( 'name' => 'Rye', 'variant' => ':regular' ), + array( 'name' => 'Sacramento', 'variant' => ':regular' ), + array( 'name' => 'Sail', 'variant' => ':regular' ), + array( 'name' => 'Salsa', 'variant' => ':regular' ), + array( 'name' => 'Sanchez', 'variant' => ':regular,:italic' ), + array( 'name' => 'Sancreek', 'variant' => ':regular' ), + array( 'name' => 'Sansita One', 'variant' => ':regular' ), + array( 'name' => 'Sarina', 'variant' => ':regular' ), + array( 'name' => 'Satisfy', 'variant' => ':regular' ), + array( 'name' => 'Scada', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Schoolbell', 'variant' => ':regular' ), + array( 'name' => 'Seaweed Script', 'variant' => ':regular' ), + array( 'name' => 'Sevillana', 'variant' => ':regular' ), + array( 'name' => 'Seymour One', 'variant' => ':regular' ), + array( 'name' => 'Shadows Into Light', 'variant' => ':regular' ), + array( 'name' => 'Shadows Into Light Two', 'variant' => ':regular' ), + array( 'name' => 'Shanti', 'variant' => ':regular' ), + array( 'name' => 'Share', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Share Tech', 'variant' => ':regular' ), + array( 'name' => 'Share Tech Mono', 'variant' => ':regular' ), + array( 'name' => 'Shojumaru', 'variant' => ':regular' ), + array( 'name' => 'Short Stack', 'variant' => ':regular' ), + array( 'name' => 'Siemreap', 'variant' => ':regular' ), + array( 'name' => 'Sigmar One', 'variant' => ':regular' ), + array( 'name' => 'Signika', 'variant' => ':300,:regular,:600,:700' ), + array( 'name' => 'Signika Negative', 'variant' => ':300,:regular,:600,:700' ), + array( 'name' => 'Simonetta', 'variant' => ':regular,:italic,:900,:900italic' ), + array( 'name' => 'Sintony', 'variant' => ':regular,:700' ), + array( 'name' => 'Sirin Stencil', 'variant' => ':regular' ), + array( 'name' => 'Six Caps', 'variant' => ':regular' ), + array( 'name' => 'Skranji', 'variant' => ':regular,:700' ), + array( 'name' => 'Slackey', 'variant' => ':regular' ), + array( 'name' => 'Smokum', 'variant' => ':regular' ), + array( 'name' => 'Smythe', 'variant' => ':regular' ), + array( 'name' => 'Sniglet', 'variant' => ':regular,:800' ), + array( 'name' => 'Snippet', 'variant' => ':regular' ), + array( 'name' => 'Snowburst One', 'variant' => ':regular' ), + array( 'name' => 'Sofadi One', 'variant' => ':regular' ), + array( 'name' => 'Sofia', 'variant' => ':regular' ), + array( 'name' => 'Sonsie One', 'variant' => ':regular' ), + array( 'name' => 'Sorts Mill Goudy', 'variant' => ':regular,:italic' ), + array( 'name' => 'Source Code Pro', 'variant' => ':200,:300,:regular,:500,:600,:700,:900' ), + array( 'name' => 'Source Sans Pro', 'variant' => ':200,:200italic,:300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Special Elite', 'variant' => ':regular' ), + array( 'name' => 'Spicy Rice', 'variant' => ':regular' ), + array( 'name' => 'Spinnaker', 'variant' => ':regular' ), + array( 'name' => 'Spirax', 'variant' => ':regular' ), + array( 'name' => 'Squada One', 'variant' => ':regular' ), + array( 'name' => 'Stalemate', 'variant' => ':regular' ), + array( 'name' => 'Stalinist One', 'variant' => ':regular' ), + array( 'name' => 'Stardos Stencil', 'variant' => ':regular,:700' ), + array( 'name' => 'Stint Ultra Condensed', 'variant' => ':regular' ), + array( 'name' => 'Stint Ultra Expanded', 'variant' => ':regular' ), + array( 'name' => 'Stoke', 'variant' => ':300,:regular' ), + array( 'name' => 'Strait', 'variant' => ':regular' ), + array( 'name' => 'Sue Ellen Francisco', 'variant' => ':regular' ), + array( 'name' => 'Sunshiney', 'variant' => ':regular' ), + array( 'name' => 'Supermercado One', 'variant' => ':regular' ), + array( 'name' => 'Suwannaphum', 'variant' => ':regular' ), + array( 'name' => 'Swanky and Moo Moo', 'variant' => ':regular' ), + array( 'name' => 'Syncopate', 'variant' => ':regular,:700' ), + array( 'name' => 'Tangerine', 'variant' => ':regular,:700' ), + array( 'name' => 'Taprom', 'variant' => ':regular' ), + array( 'name' => 'Tauri', 'variant' => ':regular' ), + array( 'name' => 'Telex', 'variant' => ':regular' ), + array( 'name' => 'Tenor Sans', 'variant' => ':regular' ), + array( 'name' => 'Text Me One', 'variant' => ':regular' ), + array( 'name' => 'The Girl Next Door', 'variant' => ':regular' ), + array( 'name' => 'Tienne', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Tinos', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Titan One', 'variant' => ':regular' ), + array( 'name' => 'Titillium Web', 'variant' => ':200,:200italic,:300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic,:900' ), + array( 'name' => 'Trade Winds', 'variant' => ':regular' ), + array( 'name' => 'Trocchi', 'variant' => ':regular' ), + array( 'name' => 'Trochut', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Trykker', 'variant' => ':regular' ), + array( 'name' => 'Tulpen One', 'variant' => ':regular' ), + array( 'name' => 'Ubuntu', 'variant' => ':300,:300italic,:regular,:italic,:500,:500italic,:700,:700italic' ), + array( 'name' => 'Ubuntu Condensed', 'variant' => ':regular' ), + array( 'name' => 'Ubuntu Mono', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Ultra', 'variant' => ':regular' ), + array( 'name' => 'Uncial Antiqua', 'variant' => ':regular' ), + array( 'name' => 'Underdog', 'variant' => ':regular' ), + array( 'name' => 'Unica One', 'variant' => ':regular' ), + array( 'name' => 'UnifrakturCook', 'variant' => ':700' ), + array( 'name' => 'UnifrakturMaguntia', 'variant' => ':regular' ), + array( 'name' => 'Unkempt', 'variant' => ':regular,:700' ), + array( 'name' => 'Unlock', 'variant' => ':regular' ), + array( 'name' => 'Unna', 'variant' => ':regular' ), + array( 'name' => 'VT323', 'variant' => ':regular' ), + array( 'name' => 'Vampiro One', 'variant' => ':regular' ), + array( 'name' => 'Varela', 'variant' => ':regular' ), + array( 'name' => 'Varela Round', 'variant' => ':regular' ), + array( 'name' => 'Vast Shadow', 'variant' => ':regular' ), + array( 'name' => 'Vibur', 'variant' => ':regular' ), + array( 'name' => 'Vidaloka', 'variant' => ':regular' ), + array( 'name' => 'Viga', 'variant' => ':regular' ), + array( 'name' => 'Voces', 'variant' => ':regular' ), + array( 'name' => 'Volkhov', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Vollkorn', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Voltaire', 'variant' => ':regular' ), + array( 'name' => 'Waiting for the Sunrise', 'variant' => ':regular' ), + array( 'name' => 'Wallpoet', 'variant' => ':regular' ), + array( 'name' => 'Walter Turncoat', 'variant' => ':regular' ), + array( 'name' => 'Warnes', 'variant' => ':regular' ), + array( 'name' => 'Wellfleet', 'variant' => ':regular' ), + array( 'name' => 'Wendy One', 'variant' => ':regular' ), + array( 'name' => 'Wire One', 'variant' => ':regular' ), + array( 'name' => 'Yanone Kaffeesatz', 'variant' => ':200,:300,:regular,:700' ), + array( 'name' => 'Yellowtail', 'variant' => ':regular' ), + array( 'name' => 'Yeseva One', 'variant' => ':regular' ), + array( 'name' => 'Yesteryear', 'variant' => ':regular' ), + array( 'name' => 'Zeyada', 'variant' => ':regular' ) + ); + + return $google_fonts; +} // End wf_get_google_fonts_store() + +/*-----------------------------------------------------------------------------------*/ +/* Google Webfonts Stylesheet Generator */ +/*-----------------------------------------------------------------------------------*/ +/* +INSTRUCTIONS: Needs to be loaded for the Google Fonts options to work for font options. Add this to +the specific themes includes/theme-actions.php or functions.php: + +add_action( 'wp_head', 'woo_google_webfonts' ); +*/ + +if ( ! function_exists( 'woo_google_webfonts' ) ) { + function woo_google_webfonts() { + global $google_fonts; + $fonts_to_load = array(); + $output = ''; + + // Setup Woo Options array + global $woo_options; + + // Go through the options + if ( ! empty( $woo_options ) && ! empty( $google_fonts ) ) { + foreach ( $woo_options as $option ) { + // Check if option has "face" in array + if ( is_array( $option ) && isset( $option['face'] ) ) { + // Go through the google font array + foreach ( $google_fonts as $font ) { + // Check if the google font name exists in the current "face" option + if ( $option['face'] == $font['name'] && ! in_array( $font['name'], array_keys( $fonts_to_load ) ) ) { + // Add google font to output + $variant = ''; + if ( isset( $font['variant'] ) ) $variant = $font['variant']; + $fonts_to_load[$font['name']] = $variant; + } + } + } + } + + // Output google font css in header + if ( 0 < count( $fonts_to_load ) ) { + $fonts_and_variants = array(); + foreach ( $fonts_to_load as $k => $v ) { + $fonts_and_variants[] = $k . $v; + } + $fonts_and_variants = array_map( 'urlencode', $fonts_and_variants ); + $fonts = join( '|', $fonts_and_variants ); + + $output .= "\n\n"; + $output .= ''."\n"; + + echo $output; + } + } + } // End woo_google_webfonts() +} + + +/*-----------------------------------------------------------------------------------*/ +/* Enable Home link in WP Menus +/*-----------------------------------------------------------------------------------*/ +if ( !function_exists( 'woo_home_page_menu_args' ) ) { + function woo_home_page_menu_args( $args ) { + $args['show_home'] = true; + return $args; + } // End woo_home_page_menu_args() + add_filter( 'wp_page_menu_args', 'woo_home_page_menu_args' ); +} + +/*---------------------------------------------------------------------------------*/ +/* Detects the Charset of String and Converts it to UTF-8 */ +/*---------------------------------------------------------------------------------*/ +if ( !function_exists( 'woo_encoding_convert') ) { + function woo_encoding_convert($str_to_convert) { + if ( function_exists( 'mb_detect_encoding') ) { + $str_lang_encoding = mb_detect_encoding($str_to_convert); + //if no encoding detected, assume UTF-8 + if (!$str_lang_encoding) { + //UTF-8 assumed + $str_lang_converted_utf = $str_to_convert; + } else { + //Convert to UTF-8 + $str_lang_converted_utf = mb_convert_encoding($str_to_convert, 'UTF-8', $str_lang_encoding); + } + } else { + $str_lang_converted_utf = $str_to_convert; + } + + return $str_lang_converted_utf; + } +} + +/*---------------------------------------------------------------------------------*/ +/* WP Login logo */ +/*---------------------------------------------------------------------------------*/ +if ( !function_exists( 'woo_custom_login_logo' ) ) { + function woo_custom_login_logo() { + $logo = get_option( 'framework_woo_custom_login_logo' ); + $dimensions = @getimagesize( $logo ); + $background_size = 'background-size: auto;'; + if ( 0 >= $dimensions[1] ) { + $dimensions[1] = '67'; + $background_size = ''; + } + + echo ''; + } // End woo_custom_login_logo() + if ( '' != get_option( 'framework_woo_custom_login_logo') ) { + add_action( 'login_head', 'woo_custom_login_logo' ); + } +} + +/*---------------------------------------------------------------------------------*/ +/* WP Login logo URL */ +/*---------------------------------------------------------------------------------*/ +if ( ! function_exists( 'woo_custom_login_logo_url' ) ) { + function woo_custom_login_logo_url( $text ) { + return get_option( 'framework_woo_custom_login_logo_url' ); // Escaping via esc_url() is done in wp-login.php. + } // End woo_custom_login_logo_url() + + if ( '' != get_option( 'framework_woo_custom_login_logo_url' ) ) { + add_filter( 'login_headerurl', 'woo_custom_login_logo_url', 10 ); + } +} + +/*---------------------------------------------------------------------------------*/ +/* WP Login logo title */ +/*---------------------------------------------------------------------------------*/ +if ( ! function_exists( 'woo_custom_login_logo_title' ) ) { + function woo_custom_login_logo_title( $text ) { + return get_option( 'framework_woo_custom_login_logo_title' ); // Escaping via esc_attr() is done in wp-login.php. + } // End woo_custom_login_logo_title() + + if ( '' != get_option( 'framework_woo_custom_login_logo_title' ) ) { + add_filter( 'login_headertitle', 'woo_custom_login_logo_title', 10 ); + } +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_pagination() - Custom loop pagination function */ +/*-----------------------------------------------------------------------------------*/ +/* +/* Additional documentation: http://codex.wordpress.org/Function_Reference/paginate_links +/* +/* Params: +/* +/* Arguments Array: +/* +/* 'base' (optional) - The query argument on which to determine the pagination (for advanced users) +/* 'format' (optional) - The format in which the query argument is formatted in it's raw format (for advanced users) +/* 'total' (optional) - The total amount of pages +/* 'current' (optional) - The current page number +/* 'prev_next' (optional) - Whether to include the previous and next links in the list or not. +/* 'prev_text' (optional) - The previous page text. Works only if 'prev_next' argument is set to true. +/* 'next_text' (optional) - The next page text. Works only if 'prev_next' argument is set to true. +/* 'show_all' (optional) - If set to True, then it will show all of the pages instead of a short list of the pages near the current page. By default, the 'show_all' is set to false and controlled by the 'end_size' and 'mid_size' arguments. +/* 'end_size' (optional) - How many numbers on either the start and the end list edges. +/* 'mid_size' (optional) - How many numbers to either side of current page, but not including current page. +/* 'add_fragment' (optional) - An array of query args to add using add_query_arg(). +/* 'type' (optional) - Controls format of the returned value. Possible values are: + 'plain' - A string with the links separated by a newline character. + 'array' - An array of the paginated link list to offer full control of display. + 'list' - Unordered HTML list. +/* 'before' (optional) - The HTML to display before the paginated links. +/* 'after' (optional) - The HTML to display after the paginated links. +/* 'echo' (optional) - Whether or not to display the paginated links (alternative is to "return"). +/* 'use_search_permastruct' (optiona;) - Whether or not to use the "pretty" URL permastruct for search URLs. +/* +/* Query Parameter (optional) - Specify a custom query which you'd like to paginate. +/* +/*-----------------------------------------------------------------------------------*/ +/** + * woo_pagination() is used for paginating the various archive pages created by WordPress. This is not + * to be used on single.php or other single view pages. + * + * @since 3.7.0 + * @uses paginate_links() Creates a string of paginated links based on the arguments given. + * @param array $args Arguments to customize how the page links are output. + * @param object $query An optional custom query to paginate. + */ + +if ( ! function_exists( 'woo_pagination' ) ) { + function woo_pagination( $args = array(), $query = '' ) { + global $wp_rewrite, $wp_query; + + do_action( 'woo_pagination_start' ); + + if ( $query ) { + + $wp_query = $query; + + } // End IF Statement + + /* If there's not more than one page, return nothing. */ + if ( 1 >= $wp_query->max_num_pages ) + return; + + /* Get the current page. */ + $current = ( get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1 ); + + /* Get the max number of pages. */ + $max_num_pages = intval( $wp_query->max_num_pages ); + + /* Set up some default arguments for the paginate_links() function. */ + $defaults = array( + 'base' => add_query_arg( 'paged', '%#%' ), + 'format' => '', + 'total' => $max_num_pages, + 'current' => $current, + 'prev_next' => true, + 'prev_text' => __( '← Previous', 'woothemes' ), // Translate in WordPress. This is the default. + 'next_text' => __( 'Next →', 'woothemes' ), // Translate in WordPress. This is the default. + 'show_all' => false, + 'end_size' => 1, + 'mid_size' => 1, + 'add_fragment' => '', + 'type' => 'plain', + 'before' => '', + 'echo' => true, + 'use_search_permastruct' => true + ); + + /* Allow themes/plugins to filter the default arguments. */ + $defaults = apply_filters( 'woo_pagination_args_defaults', $defaults ); + + /* Add the $base argument to the array if the user is using permalinks. */ + if( $wp_rewrite->using_permalinks() && ! is_search() ) + $defaults['base'] = user_trailingslashit( trailingslashit( get_pagenum_link() ) . 'page/%#%' ); + + /* Force search links to use raw permastruct for more accurate multi-word searching. */ + if ( is_search() ) + $defaults['use_search_permastruct'] = false; + + /* If we're on a search results page, we need to change this up a bit. */ + if ( is_search() ) { + /* If we're in BuddyPress, or the user has selected to do so, use the default "unpretty" URL structure. */ + if ( class_exists( 'BP_Core_User' ) || $defaults['use_search_permastruct'] == false ) { + $search_query = get_query_var( 's' ); + $paged = get_query_var( 'paged' ); + $base = add_query_arg( 's', urlencode( $search_query ) ); + $base = add_query_arg( 'paged', '%#%' ); + $defaults['base'] = $base; + } else { + $search_permastruct = $wp_rewrite->get_search_permastruct(); + if ( ! empty( $search_permastruct ) ) { + $base = get_search_link(); + $base = add_query_arg( 'paged', '%#%', $base ); + $defaults['base'] = $base; + } + } + } + + /* Merge the arguments input with the defaults. */ + $args = wp_parse_args( $args, $defaults ); + + /* Allow developers to overwrite the arguments with a filter. */ + $args = apply_filters( 'woo_pagination_args', $args ); + + /* Don't allow the user to set this to an array. */ + if ( 'array' == $args['type'] ) + $args['type'] = 'plain'; + + /* Make sure raw querystrings are displayed at the end of the URL, if using pretty permalinks. */ + $pattern = '/\?(.*?)\//i'; + + preg_match( $pattern, $args['base'], $raw_querystring ); + + if( $wp_rewrite->using_permalinks() && $raw_querystring ) + $raw_querystring[0] = str_replace( '', '', $raw_querystring[0] ); + @$args['base'] = str_replace( $raw_querystring[0], '', $args['base'] ); + @$args['base'] .= substr( $raw_querystring[0], 0, -1 ); + + /* Get the paginated links. */ + $page_links = paginate_links( $args ); + + /* Remove 'page/1' from the entire output since it's not needed. */ + $page_links = str_replace( array( '&paged=1\'', '/page/1\'' ), '\'', $page_links ); + + /* Wrap the paginated links with the $before and $after elements. */ + $page_links = $args['before'] . $page_links . $args['after']; + + /* Allow devs to completely overwrite the output. */ + $page_links = apply_filters( 'woo_pagination', $page_links ); + + do_action( 'woo_pagination_end' ); + + /* Return the paginated links for use in themes. */ + if ( $args['echo'] ) + echo $page_links; + else + return $page_links; + } // End woo_pagination() +} // End IF Statement + +/*-----------------------------------------------------------------------------------*/ +/* woo_breadcrumbs() - Custom breadcrumb generator function */ +/* +/* Params: +/* +/* Arguments Array: +/* +/* 'separator' - The character to display between the breadcrumbs. +/* 'before' - HTML to display before the breadcrumbs. +/* 'after' - HTML to display after the breadcrumbs. +/* 'front_page' - Include the front page at the beginning of the breadcrumbs. +/* 'show_home' - If $show_home is set and we're not on the front page of the site, link to the home page. +/* 'echo' - Specify whether or not to echo the breadcrumbs. Alternative is "return". +/* 'show_posts_page' - If a static front page is set and there is a posts page, toggle whether or not to display that page's tree. +/* +/*-----------------------------------------------------------------------------------*/ +/** + * The code below is inspired by Justin Tadlock's Hybrid Core. + * + * woo_breadcrumbs() shows a breadcrumb for all types of pages. Themes and plugins can filter $args or input directly. + * Allow filtering of only the $args using get_the_breadcrumb_args. + * + * @since 3.7.0 + * @param array $args Mixed arguments for the menu. + * @return string Output of the breadcrumb menu. + */ +function woo_breadcrumbs( $args = array() ) { + global $wp_query, $wp_rewrite; + + /* Create an empty variable for the breadcrumb. */ + $breadcrumb = ''; + + /* Create an empty array for the trail. */ + $trail = array(); + $path = ''; + + /* Set up the default arguments for the breadcrumb. */ + $defaults = array( + 'separator' => '›', + 'before' => '' . __( 'You are here:', 'woothemes' ) . '', + 'after' => false, + 'front_page' => true, + 'show_home' => __( 'Home', 'woothemes' ), + 'echo' => true, + 'show_posts_page' => true, + 'show_only_first_taxonomy_tree' => false + ); + + /* Allow singular post views to have a taxonomy's terms prefixing the trail. */ + if ( is_singular() ) { + $defaults["singular_{$wp_query->post->post_type}_taxonomy"] = false; + } + + /* Apply filters to the arguments. */ + $args = apply_filters( 'woo_breadcrumbs_args', $args ); + + /* Parse the arguments and extract them for easy variable naming. */ + extract( wp_parse_args( $args, $defaults ) ); + + /* If $show_home is set and we're not on the front page of the site, link to the home page. */ + if ( !is_front_page() && $show_home ) + $trail[] = '' . esc_html( $show_home ) . ''; + + /* If viewing the front page of the site. */ + if ( is_front_page() ) { + if ( !$front_page ) + $trail = false; + elseif ( $show_home ) + $trail['trail_end'] = "{$show_home}"; + } + + /* If viewing the "home"/posts page. */ + elseif ( is_home() ) { + $home_page = get_page( $wp_query->get_queried_object_id() ); + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( $home_page->post_parent, '' ) ); + $trail['trail_end'] = get_the_title( $home_page->ID ); + } + + /* If viewing a singular post (page, attachment, etc.). */ + elseif ( is_singular() ) { + + /* Get singular post variables needed. */ + $post = $wp_query->get_queried_object(); + $post_id = absint( $wp_query->get_queried_object_id() ); + $post_type = $post->post_type; + $parent = $post->post_parent; + $post_type_object = get_post_type_object( $post_type ); + + /* If an attachment, check if there are any pages in its hierarchy based on the slug. */ + if ( 'attachment' == $post_type ) { + /* If $front has been set, add it to the $path. */ + if ( ( $post_type_object->rewrite['with_front'] && $wp_rewrite->front ) ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If there's a slug, add it to the $path. */ + if ( !empty( $post_type_object->rewrite['slug'] ) ) + $path .= $post_type_object->rewrite['slug']; + + /* If there's a path, check for parents. */ + if ( !empty( $path ) && '/' != $path ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + } + + /* If there's an archive page, add it to the trail. */ + if ( ! empty( $post_type_object->has_archive ) ) + $trail['post_type_archive_link'] = '' . esc_html( $post_type_object->labels->name ) . ''; + + /* If the post type path returns nothing and there is a parent, get its parents. */ + if ( empty( $path ) && 0 !== $parent || 'attachment' == $post_type ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( $parent, '' ) ); + + /* Toggle the display of the posts page on single blog posts. */ + if ( 'post' == $post_type && $show_posts_page == true && 'page' == get_option( 'show_on_front' ) ) { + $posts_page = get_option( 'page_for_posts' ); + if ( $posts_page != '' && is_numeric( $posts_page ) ) { + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( $posts_page, '' ) ); + } + } + + /* Display terms for specific post type taxonomy if requested. */ + if ( isset( $args["singular_{$post_type}_taxonomy"] ) ) { + $raw_terms = get_the_terms( $post_id, $args["singular_{$post_type}_taxonomy"] ); + + if ( is_array( $raw_terms ) && 0 < count( $raw_terms ) && ! is_wp_error( $raw_terms ) ) { + $links = array(); + $count = 0; + + $sorted = $raw_terms; + + $terms_by_ancestor = array(); + foreach ( $raw_terms as $k => $v ) { + $ancestors = array_reverse( get_ancestors( $v->term_id, $args["singular_{$post_type}_taxonomy"] ) ); + if ( isset( $ancestors[0] ) ) { + $key = $ancestors[0]; + } else { + $key = $v->term_id; + } + $terms_by_ancestor[$key][$v->term_id] = get_term_by( 'term_id', $v->term_id, $args["singular_{$post_type}_taxonomy"] ); + } + + if ( 0 < count( $terms_by_ancestor ) ) { + $sorted = array(); + foreach ( $terms_by_ancestor as $k => $v ) { + if ( 0 < count( $v ) ) { + foreach ( $v as $i => $j ) { + $sorted[$i] = $j; + } + } + } + foreach ( $sorted as $k => $v ) { + if ( isset( $sorted[$v->parent] ) ) { + unset( $sorted[$v->parent] ); + } + } + } + + foreach ( $sorted as $k => $v ) { + $count++; + if ( isset( $args['show_only_first_taxonomy_tree'] ) && true == (bool)$args['show_only_first_taxonomy_tree'] && 1 < $count ) continue; // Display only the first match. + $parents = woo_get_term_parents( $v->term_id, $args["singular_{$post_type}_taxonomy"], true, ', ', $v->name, array() ); + if ( $parents != '' && ! is_wp_error( $parents ) ) { + $parents_arr = explode( ', ', $parents ); + foreach ( $parents_arr as $p ) { + if ( $p != '' && ! in_array( $p, $links ) ) { $links[] = $p; } + } + } + } + + if ( 0 < count( $links ) ) { + foreach ( $links as $k => $v ) { + $trail[] = $v; + } + } + } + } + + /* End with the post title. */ + $post_title = get_the_title( $post_id ); // Force the post_id to make sure we get the correct page title. + if ( !empty( $post_title ) ) + $trail['trail_end'] = $post_title; + } + + /* If we're viewing any type of archive. */ + elseif ( is_archive() ) { + + /* If viewing a taxonomy term archive. */ + if ( is_tax() || is_category() || is_tag() ) { + + /* Get some taxonomy and term variables. */ + $term = $wp_query->get_queried_object(); + $taxonomy = get_taxonomy( $term->taxonomy ); + + /* Get the path to the term archive. Use this to determine if a page is present with it. */ + if ( is_category() ) + $path = get_option( 'category_base' ); + elseif ( is_tag() ) + $path = get_option( 'tag_base' ); + else { + if ( $taxonomy->rewrite['with_front'] && $wp_rewrite->front ) + $path = trailingslashit( $wp_rewrite->front ); + $path .= $taxonomy->rewrite['slug']; + } + + /* Get parent pages by path if they exist. */ + if ( $path ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* If the taxonomy is hierarchical, list its parent terms. */ + if ( is_taxonomy_hierarchical( $term->taxonomy ) && $term->parent ) + $trail = array_merge( $trail, woo_breadcrumbs_get_term_parents( $term->parent, $term->taxonomy ) ); + + /* Add the term name to the trail end. */ + $trail['trail_end'] = $term->name; + } + + /* If viewing a post type archive. */ + elseif ( is_post_type_archive() ) { + + /* Get the post type object. */ + $post_type_object = get_post_type_object( get_query_var( 'post_type' ) ); + + /* If $front has been set, add it to the $path. */ + if ( $post_type_object->rewrite['with_front'] && $wp_rewrite->front ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If there's a slug, add it to the $path. */ + if ( !empty( $post_type_object->rewrite['archive'] ) ) + $path .= $post_type_object->rewrite['archive']; + + /* If there's a path, check for parents. */ + if ( !empty( $path ) && '/' != $path ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* Add the post type [plural] name to the trail end. */ + $trail['trail_end'] = $post_type_object->labels->name; + } + + /* If viewing an author archive. */ + elseif ( is_author() ) { + /* If $front has been set, add it to $path. */ + if ( !empty( $wp_rewrite->front ) ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If an $author_base exists, add it to $path. */ + if ( !empty( $wp_rewrite->author_base ) ) + $path .= $wp_rewrite->author_base; + + /* If $path exists, check for parent pages. */ + if ( !empty( $path ) ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* Add the author's display name to the trail end. */ + $trail['trail_end'] = get_the_author_meta( 'display_name', get_query_var( 'author' ) ); + } + + /* If viewing a time-based archive. */ + elseif ( is_time() ) { + if ( get_query_var( 'minute' ) && get_query_var( 'hour' ) ) + $trail['trail_end'] = get_the_time( __( 'g:i a', 'woothemes' ) ); + + elseif ( get_query_var( 'minute' ) ) + $trail['trail_end'] = sprintf( __( 'Minute %1$s', 'woothemes' ), get_the_time( __( 'i', 'woothemes' ) ) ); + + elseif ( get_query_var( 'hour' ) ) + $trail['trail_end'] = get_the_time( __( 'g a', 'woothemes' ) ); + } + + /* If viewing a date-based archive. */ + elseif ( is_date() ) { + /* If $front has been set, check for parent pages. */ + if ( $wp_rewrite->front ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $wp_rewrite->front ) ); + + if ( is_day() ) { + $trail[] = '' . get_the_time( __( 'Y', 'woothemes' ) ) . ''; + $trail[] = '' . get_the_time( __( 'F', 'woothemes' ) ) . ''; + $trail['trail_end'] = get_the_time( __( 'j', 'woothemes' ) ); + } + + elseif ( get_query_var( 'w' ) ) { + $trail[] = '' . get_the_time( __( 'Y', 'woothemes' ) ) . ''; + $trail['trail_end'] = sprintf( __( 'Week %1$s', 'woothemes' ), get_the_time( esc_attr__( 'W', 'woothemes' ) ) ); + } + + elseif ( is_month() ) { + $trail[] = '' . get_the_time( __( 'Y', 'woothemes' ) ) . ''; + $trail['trail_end'] = get_the_time( __( 'F', 'woothemes' ) ); + } + + elseif ( is_year() ) { + $trail['trail_end'] = get_the_time( __( 'Y', 'woothemes' ) ); + } + } + } + + /* If viewing search results. */ + elseif ( is_search() ) + $trail['trail_end'] = sprintf( __( 'Search results for "%1$s"', 'woothemes' ), esc_attr( get_search_query() ) ); + + /* If viewing a 404 error page. */ + elseif ( is_404() ) + $trail['trail_end'] = __( '404 Not Found', 'woothemes' ); + + /* Allow child themes/plugins to filter the trail array. */ + $trail = apply_filters( 'woo_breadcrumbs_trail', $trail, $args ); + + /* Connect the breadcrumb trail if there are items in the trail. */ + if ( is_array( $trail ) ) { + + /* Open the breadcrumb trail containers. */ + $breadcrumb = ''; + } + + /* Allow developers to filter the breadcrumb trail HTML. */ + $breadcrumb = apply_filters( 'woo_breadcrumbs', $breadcrumb ); + + /* Output the breadcrumb. */ + if ( $echo ) + echo $breadcrumb; + else + return $breadcrumb; +} // End woo_breadcrumbs() + +if ( ! function_exists( 'wf_set_default_breadcrumb_taxonomies' ) ) { +/** + * Cater for WooThemes post types where we know the taxonomy. These should be done in each plugin, in future. + * @since 6.0.0 + * @param array $args Arguments. + * @return array Arguments. + */ +function wf_set_default_breadcrumb_taxonomies ( $args ) { + $post_types = get_post_types( array( 'public' => true ) ); + if ( 0 < count( $post_types ) ) { + foreach ( $post_types as $k => $v ) { + $taxonomies = get_taxonomies( array( 'object_type' => array( $k ), 'public' => true ) ); + $post_types[$k] = ''; + // Choose the first taxonomy, if one is present. + if ( 0 < count( $taxonomies ) ) { + foreach ( $taxonomies as $i => $j ) { + if ( '' != $post_types[$k] ) continue; + $post_types[$k] = $j; + } + } + + if ( '' != $post_types[$k] && ! isset( $args['singular_' . $k . '_taxonomy'] ) && is_singular() && ( $k == get_post_type() ) ) { + $args['singular_' . $k . '_taxonomy'] = $post_types[$k]; + } + } + } + + return $args; +} // End wf_set_default_breadcrumb_taxonomies() +} +add_filter( 'woo_breadcrumbs_args', 'wf_set_default_breadcrumb_taxonomies' ); + +if ( ! function_exists( 'wf_maybe_add_shop_page_link' ) ) { +/** + * If WooCommerce is present, and we've got a post_type_archive_link, replace it with the shop page. + * @since 6.0.0 + * @param array $trail The breadcrumb trail array. + * @return array The modified breadcrumb trail array. + */ +function wf_maybe_add_shop_page_link ( $trail ) { + if ( is_singular() && 'product' == get_post_type() && function_exists( 'wc_get_page_id' ) ) { + $permalinks = get_option( 'woocommerce_permalinks' ); + $shop_page_id = wc_get_page_id( 'shop' ); + $shop_page = get_post( $shop_page_id ); + + // If permalinks contain the shop page in the URI prepend the breadcrumb with shop + if ( isset( $trail['post_type_archive_link'] ) ) { + if ( $shop_page_id && $shop_page && strstr( $permalinks['product_base'], '/' . $shop_page->post_name ) && get_option( 'page_on_front' ) !== $shop_page_id ) { + $trail['post_type_archive_link'] = '' . esc_html( $shop_page->post_title ) . ''; + } else { + if ( true == (bool)apply_filters( 'wf_hide_product_post_type_archive_link', false ) ) { + unset( $trail['post_type_archive_link'] ); + } + } + } + } + return $trail; +} // End wf_set_default_breadcrumb_taxonomies() +} +add_filter( 'woo_breadcrumbs_trail', 'wf_maybe_add_shop_page_link' ); + +/*-----------------------------------------------------------------------------------*/ +/* woo_breadcrumbs_get_parents() - Retrieve the parents of the current page/post */ +/*-----------------------------------------------------------------------------------*/ +/** + * Gets parent pages of any post type or taxonomy by the ID or Path. The goal of this function is to create + * a clear path back to home given what would normally be a "ghost" directory. If any page matches the given + * path, it'll be added. But, it's also just a way to check for a hierarchy with hierarchical post types. + * + * @since 3.7.0 + * @param int $post_id ID of the post whose parents we want. + * @param string $path Path of a potential parent page. + * @return array $trail Array of parent page links. + */ +function woo_breadcrumbs_get_parents( $post_id = '', $path = '' ) { + /* Set up an empty trail array. */ + $trail = array(); + + /* If neither a post ID nor path set, return an empty array. */ + if ( empty( $post_id ) && empty( $path ) ) + return $trail; + + /* If the post ID is empty, use the path to get the ID. */ + if ( empty( $post_id ) ) { + + /* Get parent post by the path. */ + $parent_page = get_page_by_path( $path ); + + /* ******************************************************************** + Modification: The above line won't get the parent page if + the post type slug or parent page path is not the full path as required + by get_page_by_path. By using get_page_with_title, the full parent + trail can be obtained. This may still be buggy for page names that use + characters or long concatenated names. + Author: Byron Rode + Date: 06 June 2011 + ******************************************************************* */ + + if( empty( $parent_page ) ) + // search on page name (single word) + $parent_page = get_page_by_title ( $path ); + + if( empty( $parent_page ) ) + // search on page title (multiple words) + $parent_page = get_page_by_title ( str_replace( array('-', '_'), ' ', $path ) ); + + /* End Modification */ + + /* If a parent post is found, set the $post_id variable to it. */ + if ( !empty( $parent_page ) ) + $post_id = $parent_page->ID; + } + + /* If a post ID and path is set, search for a post by the given path. */ + if ( $post_id == 0 && !empty( $path ) ) { + + /* Separate post names into separate paths by '/'. */ + $path = trim( $path, '/' ); + preg_match_all( "/\/.*?\z/", $path, $matches ); + + /* If matches are found for the path. */ + if ( isset( $matches ) ) { + + /* Reverse the array of matches to search for posts in the proper order. */ + $matches = array_reverse( $matches ); + + /* Loop through each of the path matches. */ + foreach ( $matches as $match ) { + + /* If a match is found. */ + if ( isset( $match[0] ) ) { + + /* Get the parent post by the given path. */ + $path = str_replace( $match[0], '', $path ); + $parent_page = get_page_by_path( trim( $path, '/' ) ); + + /* If a parent post is found, set the $post_id and break out of the loop. */ + if ( !empty( $parent_page ) && $parent_page->ID > 0 ) { + $post_id = $parent_page->ID; + break; + } + } + } + } + } + + /* While there's a post ID, add the post link to the $parents array. */ + while ( $post_id ) { + /* Get the post by ID. */ + $page = get_page( $post_id ); + + /* Add the formatted post link to the array of parents. */ + $parents[] = '' . esc_html( get_the_title( $post_id ) ) . ''; + + /* Set the parent post's parent to the post ID. */ + $post_id = $page->post_parent; + } + + /* If we have parent posts, reverse the array to put them in the proper order for the trail. */ + if ( isset( $parents ) ) + $trail = array_reverse( $parents ); + + /* Return the trail of parent posts. */ + return $trail; +} // End woo_breadcrumbs_get_parents() + +/*-----------------------------------------------------------------------------------*/ +/* woo_breadcrumbs_get_term_parents() - Retrieve the parents of the current term */ +/*-----------------------------------------------------------------------------------*/ +/** + * Searches for term parents of hierarchical taxonomies. This function is similar to the WordPress + * function get_category_parents() but handles any type of taxonomy. + * + * @since 3.7.0 + * @param int $parent_id The ID of the first parent. + * @param object|string $taxonomy The taxonomy of the term whose parents we want. + * @return array $trail Array of links to parent terms. + */ +function woo_breadcrumbs_get_term_parents( $parent_id = '', $taxonomy = '' ) { + /* Set up some default arrays. */ + $trail = array(); + $parents = array(); + + /* If no term parent ID or taxonomy is given, return an empty array. */ + if ( empty( $parent_id ) || empty( $taxonomy ) ) + return $trail; + + /* While there is a parent ID, add the parent term link to the $parents array. */ + while ( $parent_id ) { + + /* Get the parent term. */ + $parent = get_term( $parent_id, $taxonomy ); + + /* Add the formatted term link to the array of parent terms. */ + $parents[] = '' . $parent->name . ''; + + /* Set the parent term's parent as the parent ID. */ + $parent_id = $parent->parent; + } + + /* If we have parent terms, reverse the array to put them in the proper order for the trail. */ + if ( !empty( $parents ) ) + $trail = array_reverse( $parents ); + + /* Return the trail of parent terms. */ + return $trail; +} // End woo_breadcrumbs_get_term_parents() + +/** + * Retrieve term parents with separator. + * + * @param int $id Term ID. + * @param string $taxonomy. + * @param bool $link Optional, default is false. Whether to format with link. + * @param string $separator Optional, default is '/'. How to separate terms. + * @param bool $nicename Optional, default is false. Whether to use nice name for display. + * @param array $visited Optional. Already linked to terms to prevent duplicates. + * @return string + */ + +if ( ! function_exists( 'woo_get_term_parents' ) ) { +function woo_get_term_parents( $id, $taxonomy, $link = false, $separator = '/', $nicename = false, $visited = array() ) { + $chain = ''; + $parent = get_term( $id, $taxonomy ); + if ( is_wp_error( $parent ) ) + return $parent; + + if ( $nicename ) { + $name = $parent->slug; + } else { + $name = $parent->name; + } + + if ( $parent->parent && ( $parent->parent != $parent->term_id ) && !in_array( $parent->parent, $visited ) ) { + $visited[] = $parent->parent; + $chain .= woo_get_term_parents( $parent->parent, $taxonomy, $link, $separator, $nicename, $visited ); + } + + if ( $link ) { + $chain .= '' . esc_html( $parent->name ) . '' . $separator; + } else { + $chain .= $name.$separator; + } + return $chain; +} // End woo_get_term_parents() +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_prepare_category_ids_from_option() + * + * Setup an array of category IDs, from a given theme option. + * Attempt to transform category slugs into ID values as well. + * + * Params: String $option + * Return: Array $cats +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_prepare_category_ids_from_option' ) ) { + function woo_prepare_category_ids_from_option ( $option ) { + $cats = array(); + + $stored_cats = get_option( $option ); + + $cats_raw = explode( ',', $stored_cats ); + + if ( is_array( $cats_raw ) && ( count( $cats_raw ) > 0 ) ) { + foreach ( $cats_raw as $k => $v ) { + $value = trim( $v ); + + if ( is_numeric( $value ) ) { + $cats_raw[$k] = $value; + } else { + $cat_obj = get_category_by_slug( $value ); + if ( isset( $cat_obj->term_id ) ) { + $cats_raw[$k] = $cat_obj->term_id; + } + } + + $cats = $cats_raw; + } + } + + return $cats; + } // End woo_prepare_category_ids_from_option() +} + +/*-----------------------------------------------------------------------------------*/ +/* Move tracking code from footer to header */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'init', 'woo_move_tracking_code', 20 ); + +function woo_move_tracking_code () { + $move_code = get_option( 'framework_woo_move_tracking_code' ); + + if ( ! is_admin() && isset( $move_code ) && ( $move_code == 'true' ) ) { + remove_action( 'wp_footer', 'woo_analytics' ); + add_action( 'wp_head', 'woo_analytics', 10 ); + } +} // End woo_move_tracking_code() + + +/*-----------------------------------------------------------------------------------*/ +/* woo_get_dynamic_value() */ +/* Replace values in a provided array with theme options, if available. */ +/* +/* $settings array should resemble: $settings = array( 'theme_option_without_woo_' => 'default_value' ); +/* +/* @since 4.4.4 */ +/*-----------------------------------------------------------------------------------*/ + +function woo_get_dynamic_values ( $settings ) { + $all = WF()->settings->get_all(); + if ( is_array( $all ) && 0 < count( $all ) ) { + foreach ( $settings as $k => $v ) { + $k = str_replace( 'woo_', '', $k ); // Make sure we remove the prefix. + if ( isset( $all['woo_' . $k] ) ) { $settings[$k] = $all['woo_' . $k]; } + } + } + + return (array)apply_filters( 'woo_get_dynamic_values', $settings ); +} // End woo_get_dynamic_values() + +/*-----------------------------------------------------------------------------------*/ +/* woo_get_posts_by_taxonomy() +/* +/* Selects posts based on specified taxonomies. +/* +/* @since 4.5.0 +/* @param array $args +/* @return array $posts +/*-----------------------------------------------------------------------------------*/ + + function woo_get_posts_by_taxonomy ( $args = null ) { + global $wp_query; + + $posts = array(); + + /* Parse arguments, and declare individual variables for each. */ + + $defaults = array( + 'limit' => 5, + 'post_type' => 'any', + 'taxonomies' => 'post_tag, category', + 'specific_terms' => '', + 'relationship' => 'OR', + 'order' => 'DESC', + 'orderby' => 'date', + 'operator' => 'IN', + 'exclude' => '' + ); + + $args = wp_parse_args( $args, $defaults ); + + extract( $args, EXTR_SKIP ); + + // Make sure the order value is safe. + if ( ! in_array( $order, array( 'ASC', 'DESC' ) ) ) { $order = $defaults['order']; } + + // Make sure the orderby value is safe. + if ( ! in_array( $orderby, array( 'none', 'id', 'author', 'title', 'date', 'modified', 'parent', 'rand', 'comment_count', 'menu_order' ) ) ) { $orderby = $defaults['orderby']; } + + // Make sure the operator value is safe. + if ( ! in_array( $operator, array( 'IN', 'NOT IN', 'AND' ) ) ) { $orderby = $defaults['operator']; } + + // Convert our post types to an array. + if ( ! is_array( $post_type ) ) { $post_type = explode( ',', $post_type ); } + + // Convert our taxonomies to an array. + if ( ! is_array( $taxonomies ) ) { $taxonomies = explode( ',', $taxonomies ); } + + // Convert exclude to an array. + if ( ! is_array( $exclude ) && ( $exclude != '' ) ) { $exclude = explode( ',', $exclude ); } + + if ( ! count( (array)$taxonomies ) ) { return; } + + // Clean up our taxonomies for use in the query. + if ( count( $taxonomies ) ) { + foreach ( $taxonomies as $k => $v ) { + $taxonomies[$k] = trim( $v ); + } + } + + // Determine which terms we're going to relate to this entry. + $related_terms = array(); + + foreach ( $taxonomies as $t ) { + $terms = get_terms( $t, 'orderby=id&hide_empty=1' ); + + if ( ! empty( $terms ) ) { + foreach ( $terms as $k => $v ) { + $related_terms[$t][$v->term_id] = $v->slug; + } + } + } + + // If specific terms are available, use those. + if ( ! is_array( $specific_terms ) ) { $specific_terms = explode( ',', $specific_terms ); } + + if ( count( $specific_terms ) ) { + foreach ( $specific_terms as $k => $v ) { + $specific_terms[$k] = trim( $v ); + } + } + + // Look for posts with the same terms. + + // Setup query arguments. + $query_args = array(); + + if ( $post_type ) { $query_args['post_type'] = $post_type; } + + if ( $limit ) { + $query_args['posts_per_page'] = $limit; + // $query_args['nopaging'] = true; + } + + // Setup specific posts to exclude. + if ( count( $exclude ) > 0 ) { + $query_args['post__not_in'] = $exclude; + } + + $query_args['order'] = $order; + $query_args['orderby'] = $orderby; + + $query_args['tax_query'] = array(); + + // Setup for multiple taxonomies. + + if ( count( $related_terms ) > 1 ) { + $query_args['tax_query']['relation'] = $args['relationship']; + } + + // Add the taxonomies to the query arguments. + + foreach ( (array)$related_terms as $k => $v ) { + $terms_for_search = array_values( $v ); + + if ( count( $specific_terms ) ) { + $specific_terms_by_tax = array(); + + foreach ( $specific_terms as $i => $j ) { + if ( in_array( $j, array_values( $v ) ) ) { + $specific_terms_by_tax[] = $j; + } + } + + if ( count( $specific_terms_by_tax ) ) { + $terms_for_search = $specific_terms_by_tax; + } + } + + $query_args['tax_query'][] = array( + 'taxonomy' => $k, + 'field' => 'slug', + 'terms' => $terms_for_search, + 'operator' => $operator + ); + } + + if ( empty( $query_args['tax_query'] ) ) { return; } + + $query_saved = $wp_query; + + $query = new WP_Query( $query_args ); + + if ( $query->have_posts() ) { + while( $query->have_posts() ) { + $query->the_post(); + + $posts[] = $query->post; + } + } + + $query = $query_saved; + + wp_reset_query(); + + return $posts; + } // End woo_get_posts_by_taxonomy() + +/*-----------------------------------------------------------------------------------*/ +/* If the user has specified a "posts page", load the "Blog" page template there */ +/*-----------------------------------------------------------------------------------*/ + +add_filter( 'template_include', 'woo_load_posts_page_blog_template', 10 ); + +if ( ! function_exists( 'woo_load_posts_page_blog_template' ) ) { + function woo_load_posts_page_blog_template ( $template ) { + if ( 'page' == get_option( 'show_on_front' ) && ( '' != get_option( 'page_for_posts' ) ) && is_home() ) { + $tpl = locate_template( array( 'template-blog.php' ) ); + if ( $tpl != '' ) { $template = $tpl; } + } + return $template; + } // End woo_load_posts_page_blog_template() +} + +/*-----------------------------------------------------------------------------------*/ +/* THE END */ +/*-----------------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------------*/ +/* WooDojo Download Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'install_plugins' ) && ! class_exists( 'WooDojo' ) ) { + add_action( 'wooframework_container_inside', 'wooframework_add_woodojo_banner' ); +} + +add_action( 'wp_ajax_wooframework_banner_close', 'wooframework_ajax_banner_close' ); + +/** + * Add a WooDojo banner on the Theme Options screen. + * @since 5.3.4 + * @return void + */ +function wooframework_add_woodojo_banner () { + if ( get_user_setting( 'wooframeworkhidebannerwoodojo', '0' ) == '1' ) { return; } + + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=woodojo' ), 'wooframework_banner_close' ); + $html = ''; + + $html .= '
            ' . "\n"; + $html .= '' . __( 'Enhance your theme with WooDojo.', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'WooDojo is a powerful WooThemes features suite for enhancing your website. Learn more.', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'Get WooDojo', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
            ' . "\n"; + + echo $html; +} // End wooframework_add_woodojo_banner() + +/** + * wooframework_ajax_banner_close function. + * + * @access public + * @since 1.0.0 + */ +function wooframework_ajax_banner_close () { + if( ! current_user_can( 'install_plugins' ) ) wp_die( __( 'You do not have sufficient permissions to access this page.', 'woothemes' ) ); + + if( ! check_admin_referer( 'wooframework_banner_close' ) ) wp_die( __( 'You have taken too long. Please go back and retry.', 'woothemes' ) ); + + $banner = ( isset( $_GET['banner'] ) ) ? $_GET['banner'] : ''; + + if( ! $banner ) die; + + // Run the update. + $response = set_user_setting( 'wooframeworkhidebanner' . $banner, '1' ); + + $sendback = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'ids' ), wp_get_referer() ); + wp_safe_redirect( $sendback ); + exit; +} // End toggle_notifications_status() + +/*-----------------------------------------------------------------------------------*/ +/* Timthumb Detection Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'install_plugins' ) ) { + add_action( 'wooframework_wooframeworksettings_container_inside', 'wooframework_add_wootimthumb_banner' ); + add_action( 'wooframework_container_inside', 'wooframework_add_wootimthumb_banner' ); +} + +/** + * Add a Timthumb Detection banner on all WooThemes Options screens. + * @since 5.4.0 + * @return void + */ +function wooframework_add_wootimthumb_banner () { + if ( get_user_setting( 'wooframeworkhidebannerwootimthumb', '0' ) == '1' ) { return; } + + // Test for old timthumb scripts + $thumb_php_test = file_exists( get_template_directory() . '/thumb.php' ); + $timthumb_php_test = file_exists( get_template_directory() . '/timthumb.php' ); + + if ( $thumb_php_test || $timthumb_php_test ) { + $theme_dir = str_replace( WP_CONTENT_DIR, '', get_template_directory() ); + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=wootimthumb' ), 'wooframework_banner_close' ); + $html = ''; + + $html .= '
            ' . "\n"; + $html .= '' . __( 'ATTENTION: Insecure Version of Timthumb Image Resize Script Detected', 'woothemes' ) . '' . "\n"; + $html .= '' . __( "A possible old version of the TimThumb script was detected in your theme folder. Please remove the following files from your theme as a security precaution", 'woothemes' ) . ':' . "\n"; + if ( $thumb_php_test ) { $html .= '- thumb.php ( found at ' . $theme_dir . '/thumb.php' . ' )' . "\n"; } + if ( $timthumb_php_test ) { $html .= '- timthumb.php ( found at ' . $theme_dir . '/timthumb.php' . ' )' . "\n"; } + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
            ' . "\n"; + + echo $html; + } else { + return; + } + +} // End wooframework_add_wootimthumb_banner() + +/*-----------------------------------------------------------------------------------*/ +/* Static Front Page Detection Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'manage_options' ) && ( 0 < intval( get_option( 'page_on_front' ) ) ) ) { + add_action( 'wooframework_container_inside', 'wooframework_add_static_front_page_banner' ); +} + +/** + * Add a Static Front Page Detection banner on all WooThemes Options screens. + * @since 5.5.2 + * @return void + */ +function wooframework_add_static_front_page_banner () { + if ( get_user_setting( 'wooframeworkhidebannerstaticfrontpage', '0' ) == '1' ) { return; } + $theme_data = wooframework_get_theme_version_data(); + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=staticfrontpage' ), 'wooframework_banner_close' ); + $html = ''; + $html .= '
            ' . "\n"; + $html .= '' . sprintf( __( 'You have setup a static front page in %1$sSettings > Reading%2$s. Please set it to show "Your latest posts" if you want to display the default homepage in %3$s.', 'woothemes' ), '', '', $theme_data['theme_name'], '', '' ) . '' . "\n"; + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
            ' . "\n"; + + echo $html; +} // End wooframework_add_static_front_page_banner() + +/** + * Get the version data for the currently active theme. + * @since 5.4.2 + * @return array [theme_version, theme_name, framework_version, is_child, child_theme_version, child_theme_name] + */ +if ( ! function_exists( 'wooframework_get_theme_version_data' ) ) { +function wooframework_get_theme_version_data () { + $response = array( + 'theme_version' => '', + 'theme_name' => '', + 'framework_version' => get_option( 'woo_framework_version' ), + 'is_child' => is_child_theme(), + 'child_theme_version' => '', + 'child_theme_name' => '' + ); + + if ( function_exists( 'wp_get_theme' ) ) { + $theme_data = wp_get_theme(); + if ( true == $response['is_child'] ) { + $response['theme_version'] = $theme_data->parent()->Version; + $response['theme_name'] = $theme_data->parent()->Name; + + $response['child_theme_version'] = $theme_data->Version; + $response['child_theme_name'] = $theme_data->Name; + } else { + $response['theme_version'] = $theme_data->Version; + $response['theme_name'] = $theme_data->Name; + } + } else { + $theme_data = get_theme_data( get_template_directory() . '/style.css' ); + $response['theme_version'] = $theme_data['Version']; + $response['theme_name'] = $theme_data['Name']; + + if ( true == $response['is_child'] ) { + $theme_data = get_theme_data( get_stylesheet_directory() . '/style.css' ); + $response['child_theme_version'] = $theme_data['Version']; + $response['child_theme_name'] = $theme_data['Name']; + } + } + + return $response; +} // End wooframework_get_theme_version_data() +} + +if ( ! function_exists( 'wooframework_display_theme_version_data' ) ) { +/** + * Display the version data for the currently active theme. + * @since 5.4.2 + * @return void + */ +function wooframework_display_theme_version_data ( $echo = true ) { + $data = wooframework_get_theme_version_data(); + $html = ''; + + // Theme Version + if ( true == $data['is_child'] ) { + $html .= '' . esc_html( $data['child_theme_name'] . ' ' . $data['child_theme_version'] ) . '' . "\n"; + $html .= '' . esc_html( $data['theme_name'] . ' ' . $data['theme_version'] ) . '' . "\n"; + } else { + $html .= '' . esc_html( $data['theme_name'] . ' ' . $data['theme_version'] ) . '' . "\n"; + } + + // Framework Version + $html .= '' . esc_html( sprintf( __( 'Framework %s', 'woothemes' ), $data['framework_version'] ) ) . '' . "\n"; + + if ( true == $echo ) { echo $html; } else { return $html; } +} // End wooframework_display_theme_version_data() +} + +if ( ! function_exists( 'wooframework_load_google_fonts' ) ) { +/** + * Load relevant Google Fonts for use in the "Custom Typography" shortcode. + * @since 5.5.5 + * @return void + */ +function wooframework_load_google_fonts() { + global $woo_used_google_fonts; + + if( $woo_used_google_fonts && is_array( $woo_used_google_fonts ) ) { + $fonts = ''; + $c = 0; + foreach( $woo_used_google_fonts as $font ) { + if( $c > 0 ) { + $fonts .= '|'; + } else { + ++$c; + } + $fonts .= $font; + } + + if( '' != $fonts ) { + woo_shortcode_typography_loadgooglefonts( $fonts , 'woo-used-google-fonts' ); + } + } +} // End wooframework_load_google_fonts() +} +add_action( 'wp_footer', 'wooframework_load_google_fonts' ); + +if ( ! function_exists( 'woo_trim_excerpt' ) ) { +/** + * A spin off of wp_trim_excerpt(), primarily used for additional control when removing the dropcap shortcode from excerpts. + * @since 6.0.0 + * @return void + */ +function woo_trim_excerpt ( $text ) { + $text = strip_shortcodes( $text ); + + /** This filter is documented in wp-includes/post-template.php */ + $text = apply_filters( 'the_content', $text ); + $text = str_replace(']]>', ']]>', $text); + + /** + * Filter the number of words in an excerpt. + * + * @since 2.7.0 + * + * @param int $number The number of words. Default 55. + */ + $excerpt_length = apply_filters( 'excerpt_length', 55 ); + /** + * Filter the string in the "more" link displayed after a trimmed excerpt. + * + * @since 2.9.0 + * + * @param string $more_string The string shown within the more link. + */ + $excerpt_more = apply_filters( 'excerpt_more', ' ' . '[…]' ); + $text = wp_trim_words( $text, $excerpt_length, $excerpt_more ); + + return $text; +} // End woo_trim_excerpt() +} +?> \ No newline at end of file diff --git a/wootique/functions/admin-hooks.php b/wootique/functions/admin-hooks.php new file mode 100755 index 0000000..e0f846e --- /dev/null +++ b/wootique/functions/admin-hooks.php @@ -0,0 +1,252 @@ +context has been set, don't run through the conditionals again. Just return the variable. */ + if ( is_object( $query_context ) && isset( $query_context->context ) && is_array( $query_context->context ) ) { + return $query_context->context; + } + + unset( $query_context ); + $query_context = new stdClass(); + $query_context->context = array(); + + /* Front page of the site. */ + if ( is_front_page() ) { + $query_context->context[] = 'home'; + } + + /* Blog page. */ + if ( is_home() && ! is_front_page() ) { + $query_context->context[] = 'blog'; + + /* Singular views. */ + } elseif ( is_singular() ) { + $query_context->context[] = 'singular'; + $query_context->context[] = "singular-{$wp_query->post->post_type}"; + + /* Page Templates. */ + if ( is_page_template() ) { + $to_skip = array( 'page', 'post' ); + + $page_template = basename( get_page_template() ); + $page_template = str_replace( '.php', '', $page_template ); + $page_template = str_replace( '.', '-', $page_template ); + + if ( $page_template && ! in_array( $page_template, $to_skip ) ) { + $query_context->context[] = $page_template; + } + } + + $query_context->context[] = "singular-{$wp_query->post->post_type}-{$wp_query->post->ID}"; + } + + /* Archive views. */ + elseif ( is_archive() ) { + $query_context->context[] = 'archive'; + + /* Taxonomy archives. */ + if ( is_tax() || is_category() || is_tag() ) { + $term = $wp_query->get_queried_object(); + $query_context->context[] = 'taxonomy'; + $query_context->context[] = $term->taxonomy; + $query_context->context[] = "{$term->taxonomy}-" . sanitize_html_class( $term->slug, $term->term_id ); + } + + /* User/author archives. */ + elseif ( is_author() ) { + $query_context->context[] = 'user'; + $query_context->context[] = 'user-' . sanitize_html_class( get_the_author_meta( 'user_nicename', get_query_var( 'author' ) ), $wp_query->get_queried_object_id() ); + } + + /* Time/Date archives. */ + else { + if ( is_date() ) { + $query_context->context[] = 'date'; + if ( is_year() ) + $query_context->context[] = 'year'; + if ( is_month() ) + $query_context->context[] = 'month'; + if ( get_query_var( 'w' ) ) + $query_context->context[] = 'week'; + if ( is_day() ) + $query_context->context[] = 'day'; + } + if ( is_time() ) { + $query_context->context[] = 'time'; + if ( get_query_var( 'hour' ) ) + $query_context->context[] = 'hour'; + if ( get_query_var( 'minute' ) ) + $query_context->context[] = 'minute'; + } + } + } + + /* Search results. */ + elseif ( is_search() ) { + $query_context->context[] = 'search'; + /* Error 404 pages. */ + } elseif ( is_404() ) { + $query_context->context[] = 'error-404'; + } + + return $query_context->context; +} // End woo_get_query_context() +} +?> \ No newline at end of file diff --git a/wootique/functions/admin-init.php b/wootique/functions/admin-init.php new file mode 100755 index 0000000..69291b2 --- /dev/null +++ b/wootique/functions/admin-init.php @@ -0,0 +1,98 @@ +\n"; + if ( isset( $data['is_child'] ) && true == $data['is_child'] ) echo '' ."\n"; + echo '' ."\n"; + echo '' ."\n"; +} // End woo_version() + +/*-----------------------------------------------------------------------------------*/ +/* Load the required Framework Files */ +/*-----------------------------------------------------------------------------------*/ + +$functions_path = get_template_directory() . '/functions/'; +$classes_path = $functions_path . 'classes/'; + +if ( true == (bool)apply_filters( 'wf_load_deprecated_functions', true ) ) { + require_once( $functions_path . 'deprecated.php' ); // Load deprecated functionality. Can be disabled via a filter if the user doesn't wish to load these functions. + require_once( $functions_path . 'admin-medialibrary-uploader.php' ); // Framework Media Library Uploader Functions // 2010-11-05. +} +// Load core classes for the WooFramework. +require_once( $classes_path . 'class-wf.php' ); // WF core class. +require_once( $classes_path . 'class-wf-fields.php' ); // Form fields generator class. +require_once( $classes_path . 'class-wf-fields-settings.php' ); // Theme settings class. Extends WF_Fields. +require_once( $classes_path . 'class-wf-fields-meta.php' ); // Post meta fields class. Extends WF_Fields. +require_once( $classes_path . 'class-wf-settings.php' ); // A class to handle all basic settings interactions. +require_once( $classes_path . 'class-wf-meta.php' ); // Meta box generator class. + +/** + * Returns the main instance of WF to prevent the need to use globals. + * + * @since 1.0.0 + * @return object WF + */ +function WF() { + return WF::instance(); +} // End WF() + +// Run the WF() function to generate the initial instance. +WF(); + +// Load the other WooFramework files. +require_once( $functions_path . 'admin-functions.php' ); // Functions used in the WooFramework and in the theme files. +require_once( $functions_path . 'admin-setup.php' ); // Set up the WooFramework. +require_once( $functions_path . 'admin-interface.php' ); // Administration interfaces. +require_once( $functions_path . 'admin-seo.php' ); // SEO functions. +require_once( $functions_path . 'admin-sbm.php' ); // Widget Area functions. +require_once( $functions_path . 'admin-hooks.php' ); // Contextual hooks. + +if ( true == (bool)apply_filters( 'wf_enable_custom_nav', false ) ) { + require_once( $functions_path . 'admin-custom-nav.php' ); // Woo Custom Navigation +} + +require_once ( $functions_path . 'admin-shortcodes.php' ); // Woo Shortcodes + +// Load certain files only in the WordPress admin. +if ( is_admin() ) { + require_once( $classes_path . 'class-wf-screen-admin-base.php' ); // Base class for common functionality used on more technical admin screens. + require_once( $classes_path . 'class-wf-screen.php' ); // Admin screen class. + require_once( $classes_path . 'class-wf-screen-welcome.php' ); // Welcome screen class. + require_once( $classes_path . 'class-wf-screen-framework.php' ); // Framework screen class. + + require_once( $classes_path . 'class-wf-backup.php' ); // WF_Backup Class. + require_once( $functions_path . 'admin-backup.php' ); // Theme Options Backup // 2011-08-26. + require_once( $functions_path . 'admin-shortcode-generator.php' ); // Framework Shortcode generator // 2011-01-21. +} else { + // Add or remove Generator meta tags + if ( true == apply_filters( 'wf_disable_generator_tags', false ) ) { + remove_action( 'wp_head', 'wp_generator' ); + } else { + add_action( 'wp_head', 'woo_version', 10 ); + } +} +?> \ No newline at end of file diff --git a/wootique/functions/admin-interface.php b/wootique/functions/admin-interface.php new file mode 100755 index 0000000..1d842b1 --- /dev/null +++ b/wootique/functions/admin-interface.php @@ -0,0 +1,315 @@ +get_assets_url() . 'images/placeholder.png'; + } else { + return $url; + } +} // End wf_set_default_placeholder_image_url() + +/** + * Set the default placeholder image path to the default image provided within the WooFramework. + * @since 6.0.1 + * @param string $path The current empty placeholder image path. + * @return string The default placeholder image path. + */ +function wf_set_default_placeholder_image_path ( $path ) { + if ( '' == $path ) { + return WF()->get_assets_path() . 'images/placeholder.png'; + } else { + return $path; + } +} // End wf_set_default_placeholder_image_path() + +if ( true == (bool)apply_filters( 'wf_use_default_placeholder_image', false ) ) { + add_filter( 'wf_placeholder_image_url', 'wf_set_default_placeholder_image_url' ); + add_filter( 'wf_placeholder_image_path', 'wf_set_default_placeholder_image_path' ); +} + +/** + * Enqueue menu.css. + * Used to control the display of WooFramework menu items across the dashboard + * @since 6.0.0 + * @return void + */ +function wf_menu_styles() { + $token = 'woo'; + $wf_version = wf_get_version(); + + wp_register_style( $token . '-menu', esc_url( WF()->get_assets_url() . 'css/menu.css' ), array(), $wf_version ); + wp_enqueue_style( $token . '-menu' ); +} + +add_action( 'admin_enqueue_scripts', 'wf_menu_styles' ); + +/** + * Display a list of useful links within the WordPress admin. + * @since 6.0.0 + * @return void + */ +function wf_useful_links () { + $theme_data = wooframework_get_theme_version_data(); + do_action( 'wf_useful_links_before' ); + $theme_name = strtolower( $theme_data['theme_name'] ) ; + $docs_url = get_option( 'woo_manual', 'http://docs.woothemes.com/document/' . urlencode( sanitize_title( $theme_name ) ) ); + $html = '' . "\n"; + echo $html; + do_action( 'wf_useful_links_after' ); +} // End wf_useful_links() + +add_action( 'wf_screen_header_before_content_woothemes', 'wf_useful_links' ); +add_action( 'wf_screen_header_before_content_wf-framework', 'wf_useful_links' ); + +if ( ! function_exists( 'woo_update_options_filter' ) ) { + function woo_update_options_filter( $new_value, $old_value ) { + if ( !current_user_can( 'unfiltered_html' ) ) { + // Options that get KSES'd + foreach( woo_ksesed_option_keys() as $option ) { + $new_value[$option] = wp_kses_post( $new_value[$option] ); + } + // Options that cannot be set without unfiltered HTML + foreach( woo_disabled_if_not_unfiltered_html_option_keys() as $option ) { + $new_value[$option] = $old_value[$option]; + } + } + return $new_value; + } +} + +if ( ! function_exists( 'woo_prevent_option_update' ) ) { + function woo_prevent_option_update( $new_value, $old_value ) { + return $old_value; + } +} + +/** + * This is the list of options that are run through KSES on save for users without + * the unfiltered_html capability + */ +if ( ! function_exists( 'woo_ksesed_option_keys' ) ) { + function woo_ksesed_option_keys() { + return array(); + } +} + +/** + * This is the list of standalone options that are run through KSES on save for users without + * the unfiltered_html capability + */ +if ( ! function_exists( 'woo_ksesed_standalone_options' ) ) { + function woo_ksesed_standalone_options() { + return array( 'woo_footer_left_text', 'woo_footer_right_text', 'woo_connect_content' ); + } +} + +/** + * This is the list of options that users without the unfiltered_html capability + * are not able to update + */ +if ( ! function_exists( 'woo_disabled_if_not_unfiltered_html_option_keys' ) ) { + function woo_disabled_if_not_unfiltered_html_option_keys() { + return array( 'woo_google_analytics', 'woo_custom_css' ); + } +} + +add_filter( 'pre_update_option_woo_options', 'woo_update_options_filter', 10, 2 ); +foreach( woo_ksesed_standalone_options() as $o ) { + add_filter( 'pre_update_option_' . $o, 'wp_kses_post' ); +} +unset( $o ); + +if ( ! function_exists( 'woothemes_admin_menu_after' ) ) { +/** + * Load WooFramework menu items that should always appear last. + * @since 6.0.0 + * @return void + */ +function woothemes_admin_menu_after () { + global $current_user; + $current_user_id = $current_user->user_login; + $super_user = apply_filters( 'wf_super_user', '' ); + + do_action( 'wf_admin_menu_after_before_defaults' ); + + // Update Framework Menu Item + if( $super_user == $current_user_id || empty( $super_user ) ) { + $framework_update_page = add_submenu_page( 'woothemes', 'WooFramework Update', 'Update Framework', 'manage_options', 'woothemes_framework_update', 'woothemes_framework_update_page' ); + } + + do_action( 'wf_admin_menu_after' ); +} // End woothemes_admin_menu_after() +} + +add_action( 'admin_menu', 'woothemes_admin_menu_after', 50 ); + +// If this is the Listings theme, add the Content Builder admin menu item. +if ( function_exists( 'woothemes_content_builder_menu' ) ) { + add_action( 'wf_admin_menu_after_before_defaults', 'woothemes_content_builder_menu' ); +} + +/** + * Unset the interal WooFramework admin menu items, and preserve the screens themselves (linked to elsewhere). + * @since 6.0.0 + * @return void + */ +function wf_unset_internal_framework_menu_items () { + remove_submenu_page( 'woothemes', 'woothemes-backup' ); + remove_submenu_page( 'woothemes', 'woothemes_framework_update' ); +} // End wf_unset_internal_framework_menu_items() + +add_action( 'admin_head', 'wf_unset_internal_framework_menu_items' ); + +/** + * Load admin CSS on specific screens. + * @since 6.0.0 + * @return void + */ +function wf_load_admin_css () { + $load_on = (array)apply_filters( 'wf_load_admin_css', array( 'woothemes', 'wf-framework', 'woothemes-backup' ) ); + wp_register_style( 'wf-admin', esc_url( WF()->get_assets_url() . 'css/admin.css' ), array(), '1.0.0', 'all' ); + + if ( isset( $_GET['page'] ) && in_array( $_GET['page'], $load_on ) ) + wp_enqueue_style( 'wf-admin' ); +} // End wf_load_admin_css() + +add_action( 'admin_enqueue_scripts', 'wf_load_admin_css' ); + +/** + * Make sure to flush the rewrite rules when saving on the settings screen. + * @since 6.0.0 + */ +add_action( 'wf_settings_save_before', 'woo_flush_rewriterules' ); + +function woo_thumb_admin_notice() { + + if ( get_user_setting( 'wooframeworkhidebannerwootimthumb', '0' ) == '1' ) { return; } + global $current_user; + $current_user_id = $current_user->user_login; + $super_user = get_option( 'framework_woo_super_user' ); + if( $super_user == $current_user_id || empty( $super_user ) ) { + // Test for old timthumb scripts + $thumb_php_test = file_exists( get_template_directory() . '/thumb.php' ); + $timthumb_php_test = file_exists( get_template_directory() . '/timthumb.php' ); + + if ( ( $thumb_php_test || $timthumb_php_test ) && ! is_child_theme() ) { + echo '
            +

            ' . __( 'ATTENTION: A possible old version of the TimThumb script was detected in your theme folder. Please remove the following files from your theme as a security precaution.', 'woothemes' ) . ':

            ' . "\n"; + if ( $thumb_php_test ) { echo '

            - thumb.php

            '; } + if ( $timthumb_php_test ) { echo '

            - timthumb.php

            '; } + echo '

            ' . __( 'If you\'ve added "thumb.php" to your child theme manually please ensure the file is kept up to date. You can then safely hide this notice.', 'woothemes' ) . '

            ' . "\n"; + echo '
            '; + + } + } // End If Statement +} // End woo_thumb_admin_notice() + +add_action( 'admin_notices', 'woo_thumb_admin_notice' ); + +global $pagenow; +if ( $pagenow == 'admin.php' && isset( $_GET['page'] ) && $_GET['page'] == 'woothemes' ) { + if ( get_option( 'framework_woo_framework_version_checker' ) == 'true' ) { add_action( 'admin_notices', 'woo_framework_update_notice', 10 ); } + + add_action( 'admin_notices', 'woo_framework_critical_update_notice', 8 ); // Periodically check for critical WooFramework updates. +} + +/** + * woo_framework_update_notice function. + * + * @description Notify users of framework updates, if necessary. + * @since 4.8.0 + * @access public + * @return void + */ +if ( ! function_exists( 'woo_framework_update_notice' ) ) { + function woo_framework_update_notice () { + $local_version = get_option( 'woo_framework_version' ); + if ( $local_version == '' ) { return; } + $update_data = woo_framework_version_checker( $local_version ); + + $html = ''; + + if ( is_array( $update_data ) && $update_data['is_update'] == true ) { + $html = '

            ' . sprintf( __( 'WooFramework update is available (v%s). %sDownload new version%s (%sSee Changelog%s)', 'woothemes' ), $update_data['version'], '', '', '', '' ) . '

            '; + } + + if ( $html != '' ) { echo $html; } + } // End woo_framework_update_notice() +} + +/** + * woo_framework_critical_update_notice function. + * + * @description Notify users of critical framework updates, if necessary. + * @since 4.8.0 + * @access public + * @return void + */ +if ( ! function_exists( 'woo_framework_critical_update_notice' ) ) { + function woo_framework_critical_update_notice () { + // Determine if the check has happened. + $critical_update = get_transient( 'woo_framework_critical_update' ); + $critical_update_data = get_transient( 'woo_framework_critical_update_data' ); + + if ( ! $critical_update || ! is_array( $critical_update_data ) ) { + + $local_version = get_option( 'woo_framework_version' ); + if ( $local_version == '' ) { return; } + + $update_data = woo_framework_version_checker( $local_version, true ); + + // Set this to "has been checked" for 2 weeks. + set_transient( 'woo_framework_critical_update', true, 60*60*336 ); + + // Cache the data as well. + set_transient( 'woo_framework_critical_update_data', $update_data, 60*60*336 ); + } else { + $update_data = $critical_update_data; + } + + $html = ''; + + // Generate output based on returned/stored data. + if ( is_array( $update_data ) && $update_data['is_update'] == true && $update_data['is_critical'] == true ) { + + // Remove the generic update notice. + remove_action( 'admin_notices', 'woo_framework_update_notice', 10 ); + + $html = '

            ' . sprintf( __( 'An important WooFramework update is available (v%s). %sDownload new version%s (%sSee Changelog%s)', 'woothemes' ), $update_data['version'], '', '', '', '' ) . '

            '; + } + + if ( $html != '' ) { echo $html; } + } // End woo_framework_critical_update_notice() +} +?> \ No newline at end of file diff --git a/wootique/functions/admin-medialibrary-uploader.php b/wootique/functions/admin-medialibrary-uploader.php new file mode 100755 index 0000000..be52f7c --- /dev/null +++ b/wootique/functions/admin-medialibrary-uploader.php @@ -0,0 +1,340 @@ + + array( + 'name' => __( 'WooFramework Internal Container', 'woothemes' ), + ), + 'public' => true, + 'show_ui' => false, + 'capability_type' => 'post', + 'hierarchical' => false, + 'rewrite' => false, + 'supports' => array( 'title', 'editor' ), + 'query_var' => false, + 'can_export' => true, + 'show_in_nav_menus' => false + ) ); + } // End woothemes_mlu_init() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_css */ +/* +/* Add the Thickbox CSS file and specific loading and button images to the header +/* on the pages where this function is called. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_css' ) ) { + function woothemes_mlu_css () { + $_html = ''; + $_html .= '' . "\n"; + $_html .= '' . "\n"; + + echo $_html; + } // End woothemes_mlu_css() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_js */ +/* +/* Register and enqueue (load) the necessary JavaScript file for working with the +/* Media Library-driven AJAX File Uploader Module. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_js' ) ) { + function woothemes_mlu_js () { + // Register custom scripts for the Media Library AJAX uploader. + wp_register_script( 'woo-medialibrary-uploader', get_template_directory_uri() . '/functions/js/woo-medialibrary-uploader.js', array( 'jquery', 'thickbox' ) ); + wp_enqueue_script( 'woo-medialibrary-uploader' ); + wp_enqueue_script( 'media-upload' ); + } // End woothemes_mlu_js() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_medialibrary_uploader */ +/* +/* WooThemes Uploader Using the WordPress Media Library. +/* +/* Parameters: +/* - string $_id - A token to identify this field (the name). +/* - string $_value - The value of the field, if present. +/* - string $_mode - The display mode of the field. +/* - string $_desc - An optional description of the field. +/* - int $_postid - An optional post id (used in the meta boxes). +/* +/* Dependencies: +/* - woothemes_mlu_get_silentpost() +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_medialibrary_uploader' ) ) { + function woothemes_medialibrary_uploader ( $_id, $_value, $_mode = 'full', $_desc = '', $_postid = 0 ) { + $output = ''; + + $id = ''; + $class = ''; + $int = ''; + $value = ''; + + $id = strip_tags( strtolower( $_id ) ); + + // If a post id is present, use it. Otherwise, search for one based on the $_id. + if ( $_postid != 0 ) { + $int = $_postid; + } else { + $int = woothemes_mlu_get_silentpost( $id ); // Change for each field, using a "silent" post. If no post is present, one will be created. + } + + // If we're on a post add/edit screen, call the post meta value. + if ( $_mode == 'postmeta' ) { + $value = get_post_meta( $_postid, $id, true ); + } else { + $value = get_option( $id ); + } + + // If a value is passed and we don't have a stored value, use the value that's passed through. + if ( $_value != '' && $value == '' ) { + $value = $_value; + } + + if ( $value ) { $class = ' has-file'; } // End IF Statement + + // Hide the input field for "minimal" upload fields. + $field_type = 'text'; + if ( $_mode == 'min' ) { $field_type = 'hidden'; } + + $output .= '' . "\n"; + $output .= '' . "\n"; + + if ( $_desc != '' ) { + $output .= '' . $_desc . '' . "\n"; + } + + $output .= '
            ' . "\n"; + + if ( $value != '' ) { + $remove = 'Remove'; + + $image = preg_match( '/(^.*\.jpg|jpeg|png|gif|ico*)/i', $value ); + + if ( $image ) { + $output .= ''.$remove.''; + } else { + $parts = explode( "/", $value ); + + for( $i = 0; $i < sizeof( $parts ); ++$i ) { + $title = $parts[$i]; + } // End FOR Loop + + // No output preview if it's not an image. + $output .= ''; + + // Standard generic output if it's not an image. + $title = __( 'View File', 'woothemes' ); + + $output .= '
            '.$title.'' . $remove . '
            '; + + } // End IF Statement + } // End IF Statement + + $output .= '
            ' . "\n"; + + return $output; + } // End woothemes_medialibrary_uploader() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_get_silentpost */ +/* +/* Use "silent" posts in the database to store relationships for images. +/* This also creates the facility to collect galleries of, for example, logo images. +/* +/* Return: $_postid. +/* +/* If no "silent" post is present, one will be created with the type "wooframework" +/* and the post_name of "woo-wf-$_token". +/* +/* Example Usage: +/* woothemes_mlu_get_silentpost ( 'woo_logo' ); +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_get_silentpost' ) ) { + function woothemes_mlu_get_silentpost ( $_token ) { + global $wpdb; + + $_id = 0; + + // Check if the token is valid against a whitelist. + + // $_whitelist = array( 'woo_logo', 'woo_custom_favicon', 'woo_body_img', 'woo_ad_top_image' ); + + // Sanitise the token. + + $_token = strtolower( str_replace( ' ', '_', $_token ) ); + + // if ( in_array( $_token, $_whitelist ) ) { + + if ( $_token ) { + // Tell the function what to look for in a post. + $_args = array( 'post_parent' => '0', 'post_type' => 'wooframework', 'post_name' => 'woo-wf-' . $_token, 'post_status' => 'draft', 'comment_status' => 'closed', 'ping_status' => 'closed' ); + + // Look in the database for a "silent" post that meets our criteria. + $_posts = get_post( $_args ); + + // If we've got a post, loop through and get it's ID. + if ( count( $_posts ) ) { + $_id = $_posts->ID; + } else { + // If no post is present, insert one. + // Prepare some additional data to go with the post insertion. + $_words = explode( '_', $_token ); + $_title = join( ' ', $_words ); + $_title = ucwords( $_title ); + $_post_data = array( 'post_title' => $_title ); + $_post_data = array_merge( $_post_data, $_args ); + + $_id = wp_insert_post( $_post_data ); + } // End IF Statement + } + + return $_id; + } // End woothemes_mlu_get_silentpost() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_insidepopup */ +/* +/* Trigger code inside the Media Library popup. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_insidepopup' ) ) { + function woothemes_mlu_insidepopup () { + if ( isset( $_REQUEST['is_woothemes'] ) && $_REQUEST['is_woothemes'] == 'yes' ) { + add_action( 'admin_head', 'woothemes_mlu_js_popup' ); + add_filter( 'media_upload_tabs', 'woothemes_mlu_modify_tabs' ); + } + } // End woothemes_mlu_insidepopup() +} + +if ( ! function_exists( 'woothemes_mlu_js_popup' ) ) { + function woothemes_mlu_js_popup () { + $_woo_title = 'file'; + + if ( isset( $_REQUEST['woo_title'] ) ) { $_woo_title = $_REQUEST['woo_title']; } // End IF Statement +?> + + \ No newline at end of file diff --git a/wootique/functions/admin-sbm.php b/wootique/functions/admin-sbm.php new file mode 100755 index 0000000..c5e1b98 --- /dev/null +++ b/wootique/functions/admin-sbm.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/wootique/functions/admin-seo.php b/wootique/functions/admin-seo.php new file mode 100755 index 0000000..8d3ef95 --- /dev/null +++ b/wootique/functions/admin-seo.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/wootique/functions/admin-setup.php b/wootique/functions/admin-setup.php new file mode 100755 index 0000000..c9537fb --- /dev/null +++ b/wootique/functions/admin-setup.php @@ -0,0 +1,302 @@ +settings->get_all(); + + // Allow child themes/plugins to filter here. + $woo_array = apply_filters( 'woo_options_array', $woo_array ); + update_option( 'woo_options', $woo_array ); +} // End woo_option_setup() +} + + +if ( ! function_exists( 'woothemes_admin_head' ) ) { +/** + * Optionally add markup in the header of the WordPress admin. + * @since 4.0.0 + * @return void + */ +function woothemes_admin_head() {} // End woothemes_admin_head() +} +add_action( 'admin_head', 'woothemes_admin_head', 10 ); + + +if ( ! function_exists( 'woothemes_wp_head' ) ) { +/** + * Output the default WooFramework "head" markup in the "head" section. + * @since 2.0.0 + * @return void + */ +function woothemes_wp_head() { + do_action( 'woothemes_wp_head_before' ); + // Output alternative stylesheet + if ( function_exists( 'woo_output_alt_stylesheet' ) ) + woo_output_alt_stylesheet(); + // Output custom favicon + if ( function_exists( 'woo_output_custom_favicon' ) ) + woo_output_custom_favicon(); + // Output CSS from standarized styling options + if ( function_exists( 'woo_head_css' ) ) + woo_head_css(); + // Output shortcodes stylesheet + if ( function_exists( 'woo_shortcode_stylesheet' ) ) + woo_shortcode_stylesheet(); + // Output custom.css + if ( function_exists( 'woo_output_custom_css' ) ) + woo_output_custom_css(); + do_action( 'woothemes_wp_head_after' ); +} // End woothemes_wp_head() +} +add_action( 'wp_head', 'woothemes_wp_head', 10 ); + + +if ( ! function_exists( 'woo_output_alt_stylesheet' ) ) { +/** + * Output the alternative stylesheet. + * @since 2.0.0 + * @return void + */ +function woo_output_alt_stylesheet() { + $style = ''; + + if ( isset( $_REQUEST['style'] ) ) { + $requested_style = esc_attr( strtolower( strip_tags( trim( $_REQUEST['style'] ) ) ) ); + $style = $requested_style; + } + + echo "\n" . '' . "\n"; + // If we're using the query variable, be sure to check for /css/layout.css as well. + if ( $style != '' ) { + if ( strtolower( $style ) == 'default' ) { + if ( file_exists( get_template_directory() . '/css/layout.css' ) ) { + echo '' . "\n"; + } + echo '' . "\n"; + } else { + echo '' . "\n"; + } + } else { + $style = get_option( 'woo_alt_stylesheet' ); + $style = esc_attr( strtolower( strip_tags( trim( $style ) ) ) ); + if( $style != '' ) { + echo '' . "\n"; + } else { + echo '' . "\n"; + } + } +} // End woo_output_alt_stylesheet() +} + +if ( ! function_exists( 'woo_output_custom_favicon' ) ) { +/** + * Output the favicon HTML. + * @since 2.0.0 + * @return void + */ +function woo_output_custom_favicon () { + $favicon = get_option( 'woo_custom_favicon', '' ); + if ( is_ssl() ) $favicon = str_replace( 'http://', 'https://', $favicon ); + $favicon = apply_filters( 'woo_custom_favicon', $favicon ); + if( '' != $favicon ) echo "\n" . '' . "\n" . '' . "\n"; +} // End woo_output_custom_favicon() +} + +if ( ! function_exists( 'woo_load_textdomain' ) ) { +/** + * Load the theme's textdomain, as well as an optional child theme textdomain. + * @since 2.0.0 + * @return void + */ +function woo_load_textdomain () { + load_theme_textdomain( 'woothemes' ); + load_theme_textdomain( 'woothemes', get_template_directory() . '/lang' ); + if ( function_exists( 'load_child_theme_textdomain' ) ) + load_child_theme_textdomain( 'woothemes' ); +} // End woo_load_textdomain() +} + +add_action( 'after_setup_theme', 'woo_load_textdomain', 10 ); + +if ( ! function_exists( 'woo_head_css' ) ) { +/** + * Output CSS from standardized theme options. + * @since 2.0.0 + * @return void + */ +function woo_head_css () { + $output = ''; + $text_title = get_option( 'woo_texttitle' ); + $tagline = get_option( 'woo_tagline' ); + $custom_css = get_option( 'woo_custom_css' ); + + $template = get_option( 'woo_template' ); + if ( is_array( $template ) ) { + foreach( $template as $option ) { + if( isset( $option['id'] ) ) { + if( $option['id'] == 'woo_texttitle' ) { + // Add CSS to output + if ( $text_title == 'true' ) { + $output .= '#logo img { display:none; } .site-title { display:block !important; }' . "\n"; + if ( $tagline == 'false' ) + $output .= '.site-description { display:none !important; }' . "\n"; + else + $output .= '.site-description { display:block !important; }' . "\n"; + } + } + } + } + } + + if ( $custom_css != '' ) { + $output .= $custom_css . "\n"; + } + + // Output styles + if ( $output != '' ) { + $output = strip_tags($output); + echo '' . "\n"; + $output = "\n\n"; + echo stripslashes( $output ); + } +} // End woo_head_css() +} + +if ( ! function_exists( 'woo_output_custom_css' ) ) { +/** + * Output the HTML for the "custom.css" file. + * @since 2.0.0 + * @return void + */ +function woo_output_custom_css() { + // If "custom.css" exists in the parent theme, load it. + if ( file_exists( get_template_directory() . '/custom.css' ) ) { + echo "\n" . '' . "\n" . '' . "\n"; + } + + // If we're using a child theme, and "custom.css" exists within the child theme, load it as well. + if ( is_child_theme() && file_exists( get_stylesheet_directory() . '/custom.css' ) ) { + if ( file_exists( get_stylesheet_directory() . '/custom.css' ) ) { + echo "\n" . '' . "\n" . '' . "\n"; + } + } +} // End woo_output_custom_css() +} + +/** + * Add theme support for post thumbnails, and integrate the size settings. + * @since 4.0.0 + */ +if( function_exists( 'add_theme_support' ) ) { + if( get_option( 'woo_post_image_support' ) == 'true' ) { + add_theme_support( 'post-thumbnails' ); + // set height, width and crop if dynamic resize functionality isn't enabled + if ( get_option( 'woo_pis_resize' ) != 'true' ) { + $thumb_width = get_option( 'woo_thumb_w' ); + $thumb_height = get_option( 'woo_thumb_h' ); + $single_width = get_option( 'woo_single_w' ); + $single_height = get_option( 'woo_single_h' ); + $hard_crop = get_option( 'woo_pis_hard_crop' ); + if($hard_crop == 'true') { $hard_crop = true; } else { $hard_crop = false; } + set_post_thumbnail_size( $thumb_width, $thumb_height, $hard_crop ); // Normal post thumbnails + add_image_size( 'single-post-thumbnail', $single_width, $single_height, $hard_crop ); + } + } +} + +if ( ! function_exists( 'woo_comment_reply' ) ) { +/** + * Enqueue the comment reply JavaScript on singular entry screens. + * @since 3.0.0 + * @return void + */ +function woo_comment_reply() { + if ( is_singular() && comments_open() ) wp_enqueue_script( 'comment-reply' ); +} // End woo_comment_reply() +} + +add_action( 'get_header', 'woo_comment_reply', 10 ); +?> \ No newline at end of file diff --git a/wootique/functions/admin-shortcode-generator.php b/wootique/functions/admin-shortcode-generator.php new file mode 100755 index 0000000..163cc39 --- /dev/null +++ b/wootique/functions/admin-shortcode-generator.php @@ -0,0 +1,223 @@ +framework_url() . 'js/colorpicker.js' ), array( 'jquery' ), '3.6', true ); // Loaded into the footer. + wp_enqueue_script( 'woo-colourpicker' ); + + // Register the colourpicker CSS. + wp_register_style( 'woo-colourpicker', esc_url( $this->framework_url() . 'css/colorpicker.css' ) ); + wp_enqueue_style( 'woo-colourpicker' ); + + wp_register_style( 'woo-shortcode-icon', esc_url( $this->framework_url() . 'css/shortcode-icon.css' ) ); + wp_enqueue_style( 'woo-shortcode-icon' ); + + // Register the custom CSS styles. + wp_register_style( 'woo-shortcode-generator', esc_url( $this->framework_url() . 'css/shortcode-generator.css' ) ); + wp_enqueue_style( 'woo-shortcode-generator' ); + } + } // End init() + + /** + * Add a new button to tinyMCE. + * @access public + * @since 3.5.0 + * @return void + */ + public function filter_mce_buttons( $buttons ) { + array_push( $buttons, '|', 'woothemes_shortcodes_button' ); + + return $buttons; + } // End filter_mce_buttons() + + /** + * Add functionality to tinyMCE as an external plugin. + * @access public + * @since 3.5.0 + * @return void + */ + public function filter_mce_external_plugins( $plugins ) { + global $wp_version; + $suffix = ''; + if ( '3.9' <= $wp_version ) { + $suffix = '_39'; + } + $plugins['WooThemesShortcodes'] = wp_nonce_url( esc_url( $this->framework_url() . 'js/shortcode-generator/editor_plugin' . $suffix . '.js' ), 'wooframework-shortcode-generator' ); + + return $plugins; + } // End filter_mce_external_plugins() + + /** + * Return the WooFramework URL. + * @access public + * @since 3.5.0 + * @return void + */ + public function framework_url() { + return esc_url( trailingslashit( get_template_directory_uri() . '/' . basename( dirname( __FILE__ ) ) ) ); + } // End framework_url() + + /** + * Checks if a given url (via GET or POST) exists. Returns JSON. + * NOTE: For users that are not logged in this is not called. The client recieves -1 in that case. + * @access public + * @since 3.5.0 + * @return void + */ + public function ajax_action_check_url() { + $hadError = true; + + $url = isset( $_REQUEST['url'] ) ? $_REQUEST['url'] : ''; + + if ( strlen( $url ) > 0 && function_exists( 'get_headers' ) ) { + $url = esc_url( $url ); + $file_headers = @get_headers( $url ); + $exists = $file_headers && $file_headers[0] != 'HTTP/1.1 404 Not Found'; + $hadError = false; + } + + echo '{ "exists": '. ($exists ? '1' : '0') . ($hadError ? ', "error" : 1 ' : '') . ' }'; + + die(); + } // End ajax_action_check_url() + + /** + * Generate a nonce. + * NOTE: For users that are not logged in this is not called. The client recieves -1 in that case. + * @access public + * @since 3.5.0 + * @return void + */ + public function ajax_action_generate_nonce() { + echo wp_create_nonce( 'wooframework-shortcode-generator' ); + die(); + } // End ajax_action_generate_nonce() + + /** + * Output the HTML markup for the dialog box. + * @access public + * @since 6.0.0 + * @return void + */ + public function output_dialog_markup () { + $woo_framework_url = $this->framework_url(); + $woo_framework_version = wf_get_version(); + + $MIN_VERSION = '2.9'; + + $meetsMinVersion = version_compare($woo_framework_version, $MIN_VERSION) >= 0; + + $isWooTheme = true; +?> + + \ No newline at end of file diff --git a/wootique/functions/admin-shortcodes.php b/wootique/functions/admin-shortcodes.php new file mode 100755 index 0000000..da61262 --- /dev/null +++ b/wootique/functions/admin-shortcodes.php @@ -0,0 +1,2362 @@ + +\n"; + echo ''."\n"; + } // End woo_shortcode_stylesheet() +} + +// Replace WP autop formatting +if ( ! function_exists( 'woo_remove_wpautop' ) ) { + function woo_remove_wpautop( $content ) { + $content = do_shortcode( shortcode_unautop( $content ) ); + $content = preg_replace( '#^<\/p>|^
            |

            $#', '', $content ); + return $content; + } // End woo_remove_wpautop() +} + +/*-----------------------------------------------------------------------------------*/ +/* 1.1 Output shortcode JS in footer */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'wp_print_scripts', 'woo_register_shortcode_js', 10 ); + +function woo_register_shortcode_js () { + wp_register_script( 'woo-shortcodes', get_template_directory_uri() . '/functions/js/shortcodes.js', array( 'jquery', 'jquery-ui-tabs' ), '5.0.0' ); +} // End woo_register_shortcode_js() + +add_action( 'wp_footer', 'woo_enqueue_shortcode_js', 50 ); + +function woo_enqueue_shortcode_js () { + if ( ! is_admin() && defined( 'WOO_SHORTCODE_JS' ) ) { + wp_enqueue_script( 'woo-shortcodes' ); + + global $wp_scripts; + $wp_scripts->to_do = array( 'woo-shortcodes' ); + + wp_print_scripts(); + } +} // End woo_enqueue_shortcode_js() + +/*-----------------------------------------------------------------------------------*/ +/* 1.2 Ensure the Dropcap shortcode content is parsed in excerpts */ +/*-----------------------------------------------------------------------------------*/ + +/** + * Remove the 'wp_trim_excerpt' filter on excerpts, at the start of the main loop, so we can parse excerpts ourselves. + * @since 6.0.0 + * @return void + */ +function maybe_remove_trim_excerpt () { + if ( is_main_query() ) remove_filter( 'get_the_excerpt', 'wp_trim_excerpt' ); +} // End maybe_remove_trim_excerpt() +add_action( 'loop_start', 'maybe_remove_trim_excerpt' ); + +/** + * Restore the 'wp_trim_excerpt' filter on excerpts, at the end of the main loop. + * @since 6.0.0 + * @return void + */ +function maybe_restore_trim_excerpt () { + add_filter( 'get_the_excerpt', 'wp_trim_excerpt' ); +} // End maybe_restore_trim_excerpt() +add_action( 'loop_end', 'maybe_restore_trim_excerpt' ); + +/** + * Remove the 'dropcap' shortcode before outputting the excerpt, to prevent missing characters in words. + * @since 6.0.0 + * @param string $text The excerpt text. + * @return string The modified excerpt text. + */ +function woo_remove_dropcap_from_excerpts ( $text ) { + global $post; + $original_text = $text; // Make a backup of the info passed through. + remove_shortcode( 'dropcap' ); + if ( '' != $post->post_excerpt ) { + $text = $original_text; + } else { + $text = get_the_content(); + } + $text = str_replace( '[/dropcap]', '', str_replace( '[dropcap]', '', $text ) ); + add_shortcode( 'dropcap', 'woo_shortcode_dropcap' ); + + if ( function_exists( 'woo_trim_excerpt' ) ) { + $text = woo_trim_excerpt( $text ); // We have to create our own function, as WordPress doesn't allow filtering inside wp_trim_excerpt(). + } + + return $text; +} // End woo_remove_dropcap_from_excerpts() +add_filter( 'get_the_excerpt', 'woo_remove_dropcap_from_excerpts' ); + +/*-----------------------------------------------------------------------------------*/ +/* 2. Boxes - box +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - type: info, alert, tick, download, note + - size: medium, large + - style: rounded + - border: none, full + - icon: none OR full URL to a custom icon + +*/ +function woo_shortcode_box( $atts, $content = null ) { + extract( shortcode_atts( array( 'type' => 'normal', + 'size' => '', + 'style' => '', + 'border' => '', + 'icon' => '' ), $atts ) ); + + // "Toggle in a box" fix + $allowed_tags = wp_kses_allowed_html( 'post' ); + $allowed_tags['input'] = array( 'type' => true, + 'name' => true, + 'value' => true ); + + $allowed_protocols = wp_allowed_protocols(); + $allowed_protocols[] = 'skype'; + + $class = ''; + $custom = ''; + if ( $icon == 'none' ) { + $class = 'no-icon'; + $custom = ' style="padding-left:15px;background-image:none;"'; + } elseif ( $icon ) { + $class = 'custom-icon'; + $custom = ' style="padding-left:50px;background-image:url( ' . esc_attr( esc_url( $icon ) ) . ' ); background-repeat:no-repeat; background-position:20px 45%;"'; + } + return '

            ' . wp_kses( do_shortcode( woo_remove_wpautop( $content ) ), $allowed_tags, $allowed_protocols ) . '
            '; +} // End woo_shortcode_box() + +add_shortcode( 'box', 'woo_shortcode_box' ); + +/*-----------------------------------------------------------------------------------*/ +/* 3. Buttons - button +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - size: small, large + - style: info, alert, tick, download, note + - color: red, green, black, grey OR custom hex color (e.g #000000) + - border: border color (e.g. red or #000000) + - text: black (for light color background on button) + - class: custom class + - link: button link (e.g http://www.woothemes.com) + - window: true/false + +*/ +function woo_shortcode_button( $atts, $content = null ) { + extract( shortcode_atts( array( 'size' => '', + 'style' => '', + 'bg_color' => '', + 'color' => '', + 'border' => '', + 'text' => '', + 'class' => '', + 'link' => '#', + 'window' => '' ), $atts ) ); + + + // Set custom background and border color + $color_output = ''; + if ( $color ) { + $preset_colors = array( 'red', 'orange', 'green', 'aqua', 'teal', 'purple', 'pink', 'silver' ); + if ( in_array( $color, $preset_colors ) ) { + $class .= ' ' . $color; + } else { + if ( $border ){ + $border_out = $border; + } else { + $border_out = $color; + } + + $color_output = 'style="background:' . esc_attr( $color ) . ';border-color:' . esc_attr( $border_out ) . '"'; + + // add custom class + $class .= ' custom'; + } + } else { + if ( $border ) + $border_out = $border; + else + $border_out = $bg_color; + + $color_output = 'style="background:' . esc_attr( $bg_color ) . ';border-color:' . esc_attr( $border_out ) . '"'; + + // add custom class + $class .= ' custom'; + } + + $class_output = ''; + + // Set text color + if ( $text ) $class_output .= ' dark'; + // Set class + if ( $class ) $class_output .= ' '.$class; + // Set Size + if ( $size ) $class_output .= ' '.$size; + // Set window target + if ( $window ) $window = 'target="_blank" '; + + $output = '' . wp_kses_post( woo_remove_wpautop( $content ) ) . ''; + return $output; +} // End woo_shortcode_button() + +add_shortcode( 'button', 'woo_shortcode_button' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 4. Related Posts - related_posts +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - limit: number of posts to show (default: 5) + - image: thumbnail size, 0 = off (default: 0) +*/ + +function woo_shortcode_related_posts ( $atts ) { + global $post, $wp_version; + + wp_reset_query(); // Make sure we have a fresh query before we start. + + $defaults = array( + 'limit' => 5, + 'image' => 0, + 'float' => 'none' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + // This function requires at least WordPress Version 3.1. + if ( $wp_version < 3.1 ) { + return _dep_woo_shortcode_related_posts( $atts ); + } else { + + // Sanitize float attribute. + if ( isset( $atts['float'] ) && ! in_array( $atts['float'], array( 'none', 'left', 'right' ) ) ) { $atts['float'] = 'none'; } + + // Float translation array. + $floats = array( 'none' => '', 'left' => 'fl', 'right' => 'fr' ); + + $css_class = 'woo-sc-related-posts'; + + extract( $atts ); + + if ( $float != 'none' ) { $css_class .= ' ' . $floats[$float]; } + + $output = ''; + + $post_type = get_post_type( $post->ID ); + + $post_type_obj = get_post_type_object( $post_type ); + + $taxonomies_string = 'post_tag, category'; + $taxonomies = array( 'post_tag', 'category' ); + + if ( isset( $post_type_obj->taxonomies ) && count( $post_type_obj->taxonomies ) > 0 ) { + $taxonomies_string = join( ', ', $post_type_obj->taxonomies ); + $taxonomies = $post_type_obj->taxonomies; + } + + // Clean up our taxonomies for use in the query. + if ( count( $taxonomies ) ) { + foreach ( $taxonomies as $k => $v ) { + $taxonomies[$k] = trim( $v ); + } + } + + // Determine which terms we're going to relate to this entry. + $related_terms = array(); + + foreach ( $taxonomies as $t ) { + $terms = get_the_terms( $post->ID, $t ); + + if ( ! empty( $terms ) ) { + foreach ( $terms as $k => $v ) { + $related_terms[$t][$v->term_id] = $v->slug; + } + } + } + + $specific_terms = array(); + foreach ( $related_terms as $k => $v ) { + foreach ( $v as $i => $j ) { + $specific_terms[] = $j; + } + } + + $query_args = array( + 'limit' => $atts['limit'], + 'post_type' => $post_type, + 'taxonomies' => $taxonomies_string, + 'specific_terms' => $specific_terms, + 'order' => 'DESC', + 'orderby' => 'date', + 'exclude' => array( $post->ID ) + ); + + $posts = woo_get_posts_by_taxonomy( $query_args ); + + if ( count( (array)$posts ) ) { + + $output .= '
            ' . "\n"; + + $output .= '' . "\n"; + $output .= '
            ' . "\n"; + $output .= '
            '; + } + + wp_reset_postdata(); + + return apply_filters( 'woo_shortcode_related_posts', $output, $atts ); + + } // End IF Statement (version check) +} // End woo_shortcode_related_posts() + +add_shortcode( 'related_posts', 'woo_shortcode_related_posts' ); + +/*-----------------------------------------------------------------------------------*/ +/* Deprecated: Related Posts Shortcode. +/* +/* Used for WordPress version 3.0 or less. +/*-----------------------------------------------------------------------------------*/ + +function _dep_woo_shortcode_related_posts( $atts ) { trigger_error( sprintf( __( '%1$s is deprecated since version %2$s of the WooFramework! Please upgrade your WordPress to the latest version to use the latest functionality.', 'woothemes' ), '_dep_woo_shortcode_related_posts', '5.4' ) ); } + +/*-----------------------------------------------------------------------------------*/ +/* 5. Tweetmeme button - tweetmeme +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://help.tweetmeme.com/2009/04/06/tweetmeme-button/ + +Optional arguments: + - link: specify URL directly + - style: compact + - source: username + - float: none, left, right (default: left) + +*/ +function woo_shortcode_tweetmeme($atts, $content = null) { + extract(shortcode_atts(array( 'link' => '', + 'style' => '', + 'source' => '', + 'float' => 'left'), $atts)); + $output = ''; + + if ( $link == '' ) { + global $post; + $link = get_permalink( $post->ID ); + } + + if ( $link ) + $output .= "tweetmeme_url = '" . esc_url( $link ) . "';"; + + if ( $style ) + $output .= "tweetmeme_style = 'compact';"; + + if ( $source ) + $output .= "tweetmeme_source = '" . esc_attr( $source ) . "';"; + + if ( $link OR $style ) + $output = ''; + + $output .= '
            '; + return $output; + +} // End woo_shortcode_tweetmeme() + +add_shortcode( 'tweetmeme', 'woo_shortcode_tweetmeme' ); + +/*-----------------------------------------------------------------------------------*/ +/* 6. Twitter button - twitter +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://twitter.com/goodies/tweetbutton + +Optional arguments: + - style: vertical, horizontal, none ( default: vertical ) + - url: specify URL directly + - source: username to mention in tweet + - related: related account + - text: optional tweet text (default: title of page) + - float: none, left, right (default: left) + - lang: fr, de, es, js (default: english) + - use_post_url: automatically retrieve the URL to the specific post (useful on archive screens) +*/ +function woo_shortcode_twitter($atts, $content = null) { + global $post; + extract(shortcode_atts(array( 'url' => '', + 'style' => '', + 'source' => '', + 'text' => '', + 'related' => '', + 'lang' => '', + 'float' => 'left', + 'use_post_url' => 'false', + 'recommend' => '', + 'hashtag' => '', + 'size' => '', + ), $atts)); + $output = ''; + + if ( $url ) + $output .= ' data-url="' . esc_url( $url ) . '"'; + + if ( $source ) + $output .= ' data-via="' . esc_attr( $source ) . '"'; + + if ( $text ) + $output .= ' data-text="' . esc_attr( $text ) . '"'; + + if ( $related ) + $output .= ' data-related="' . esc_attr( $related ) . '"'; + + if ( $hashtag ) + $output .= ' data-hashtags="' . esc_attr( $hashtag ) . '"'; + + if ( $size ) + $output .= ' data-size="' . esc_attr( $size ) . '"'; + + if ( $lang ) + $output .= ' data-lang="' . esc_attr( $lang ) . '"'; + + if ( $style != '' ) { + $output .= 'data-count="' . esc_attr( $style ) . '"'; + } + + if ( $use_post_url == 'true' && $url == '' ) { + $output .= ' data-url="' . get_permalink( $post->ID ) . '"'; + } + + $output = ''; + return $output; + +} // End woo_shortcode_twitter() + +add_shortcode( 'twitter', 'woo_shortcode_twitter' ); + +/*-----------------------------------------------------------------------------------*/ +/* 7. Digg Button - digg +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://about.digg.com/button + +Optional arguments: + - link: specify URL directly + - title: specify a title (must add link also) + - style: medium, large, compact, icon (default: medium) + - float: none, left, right (default: left) +*/ +function woo_shortcode_digg($atts, $content = null) { + extract(shortcode_atts(array( 'link' => '', + 'title' => '', + 'style' => 'medium', + 'float' => 'left' ), $atts)); + $output = " + + "; + + // Add custom URL + if ( $link ) { + // Add custom title + if ( $title ) + $title = '&title=' . $title; + + $link = ' href="' . esc_url( 'http://digg.com/submit?url='. $link . $title ) . '"'; + } + + if ( $link == '' ) { + global $post; + $link = get_permalink( $post->ID ); + } + + if ( $style == "large" ) + $style = "Large"; + elseif ( $style == "compact" ) + $style = "Compact"; + elseif ( $style == "icon" ) + $style = "Icon"; + else + $style = "Medium"; + + $output .= '
            '; + return $output; + +} // End woo_shortcode_digg() + +add_shortcode( 'digg', 'woo_shortcode_digg' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 8. Facebook Like Button - fblike +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://developers.facebook.com/docs/reference/plugins/like + +Optional arguments: + - float: none (default), left, right + - url: link you want to share (default: current post ID) + - style: standard (default), button + - showfaces: true or false (default) + - width: 450 + - verb: like (default) or recommend + - colorscheme: light (default), dark + - font: arial (default), lucida grande, segoe ui, tahoma, trebuchet ms, verdana + +*/ +function woo_shortcode_fblike($atts, $content = null) { + extract(shortcode_atts(array( 'float' => 'none', + 'url' => '', + 'style' => 'standard', + 'showfaces' => 'false', + 'width' => '450', + 'verb' => 'like', + 'colorscheme' => 'light', + 'font' => 'arial', + 'locale' => 'en_US' ), $atts)); + + global $post; + + if ( ! $post ) { + $post = new stdClass(); + $post->ID = 0; + } + + $allowed_styles = array( 'standard', 'button_count', 'box_count' ); + + if ( ! in_array( $style, $allowed_styles ) ) { $style = 'standard'; } // End IF Statement + + if ( ! $url ) { + $url = get_permalink( $post->ID ); + } + + $height = '65'; + if ( $showfaces == 'true') + $height = '100'; + + if ( ! $width || ! is_numeric( $width ) ) { $width = 450; } // End IF Statement + + // Set the width to "auto" if "showfaces" is off and the default width is still set. + $widthpx = $width . 'px'; + if ( $width == 450 && $showfaces == 'false' ) { $widthpx = 'auto'; } + + // Set the height to 20 if "showfaces" is disabled and the style is either "standard" or "button_count". + if ( $showfaces == 'false' && ( $style != 'box_count' ) ) { $height = 25; } + + switch ( $float ) { + case 'left': + $float = 'fl'; + break; + + case 'right': + $float = 'fr'; + break; + + default: + break; + } + + $src_url = 'http://www.facebook.com/plugins/like.php?href=' . esc_url( $url ) . '&layout=' . urlencode( $style ) . '&show_faces=' . urlencode( $showfaces ) . '&width=' . urlencode( $width ) . '&action=' . urlencode( $verb ) . '&colorscheme=' . urlencode( $colorscheme ) . '&font=' . urlencode( $font ) . '&locale=' . urlencode( $locale ) . ''; + $output = ' +
            + +
            + '; + return $output; +} // End woo_shortcode_fblike() + +add_shortcode( 'fblike', 'woo_shortcode_fblike' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 9. Columns +/*-----------------------------------------------------------------------------------*/ +/* + +Description: + +Columns are named with this convention Xcol_Y where X is the total number of columns and Y is +the number of columns you want this column to span. Add _last behind the shortcode if it is the +last column. + +*/ + +/* ============= Two Columns ============= */ + +function woo_shortcode_twocol_one($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'twocol_one', 'woo_shortcode_twocol_one' ); + +function woo_shortcode_twocol_one_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'twocol_one_last', 'woo_shortcode_twocol_one_last' ); + + +/* ============= Three Columns ============= */ + +function woo_shortcode_threecol_one($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'threecol_one', 'woo_shortcode_threecol_one' ); + +function woo_shortcode_threecol_one_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'threecol_one_last', 'woo_shortcode_threecol_one_last' ); + +function woo_shortcode_threecol_two($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'threecol_two', 'woo_shortcode_threecol_two' ); + +function woo_shortcode_threecol_two_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'threecol_two_last', 'woo_shortcode_threecol_two_last' ); + +/* ============= Four Columns ============= */ + +function woo_shortcode_fourcol_one($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fourcol_one', 'woo_shortcode_fourcol_one' ); + +function woo_shortcode_fourcol_one_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fourcol_one_last', 'woo_shortcode_fourcol_one_last' ); + +function woo_shortcode_fourcol_two($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fourcol_two', 'woo_shortcode_fourcol_two' ); + +function woo_shortcode_fourcol_two_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fourcol_two_last', 'woo_shortcode_fourcol_two_last' ); + +function woo_shortcode_fourcol_three($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fourcol_three', 'woo_shortcode_fourcol_three' ); + +function woo_shortcode_fourcol_three_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fourcol_three_last', 'woo_shortcode_fourcol_three_last' ); + +/* ============= Five Columns ============= */ + +function woo_shortcode_fivecol_one($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fivecol_one', 'woo_shortcode_fivecol_one' ); + +function woo_shortcode_fivecol_one_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fivecol_one_last', 'woo_shortcode_fivecol_one_last' ); + +function woo_shortcode_fivecol_two($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fivecol_two', 'woo_shortcode_fivecol_two' ); + +function woo_shortcode_fivecol_two_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fivecol_two_last', 'woo_shortcode_fivecol_two_last' ); + +function woo_shortcode_fivecol_three($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fivecol_three', 'woo_shortcode_fivecol_three' ); + +function woo_shortcode_fivecol_three_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fivecol_three_last', 'woo_shortcode_fivecol_three_last' ); + +function woo_shortcode_fivecol_four($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fivecol_four', 'woo_shortcode_fivecol_four' ); + +function woo_shortcode_fivecol_four_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'fivecol_four_last', 'woo_shortcode_fivecol_four_last' ); + + +/* ============= Six Columns ============= */ + +function woo_shortcode_sixcol_one($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'sixcol_one', 'woo_shortcode_sixcol_one' ); + +function woo_shortcode_sixcol_one_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'sixcol_one_last', 'woo_shortcode_sixcol_one_last' ); + +function woo_shortcode_sixcol_two($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'sixcol_two', 'woo_shortcode_sixcol_two' ); + +function woo_shortcode_sixcol_two_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'sixcol_two_last', 'woo_shortcode_sixcol_two_last' ); + +function woo_shortcode_sixcol_three($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'sixcol_three', 'woo_shortcode_sixcol_three' ); + +function woo_shortcode_sixcol_three_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'sixcol_three_last', 'woo_shortcode_sixcol_three_last' ); + +function woo_shortcode_sixcol_four($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'sixcol_four', 'woo_shortcode_sixcol_four' ); + +function woo_shortcode_sixcol_four_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'sixcol_four_last', 'woo_shortcode_sixcol_four_last' ); + +function woo_shortcode_sixcol_five($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'sixcol_five', 'woo_shortcode_sixcol_five' ); + +function woo_shortcode_sixcol_five_last($atts, $content = null) { + return '
            ' . woo_remove_wpautop($content) . '
            '; +} +add_shortcode( 'sixcol_five_last', 'woo_shortcode_sixcol_five_last' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 10. Horizontal Rule / Divider - hr - divider +/*-----------------------------------------------------------------------------------*/ +/* +Description: Use to separate text. +*/ +function woo_shortcode_hr($atts, $content = null) { + return '
            '; +} // End woo_shortcode_hr() +add_shortcode( 'hr', 'woo_shortcode_hr' ); + +function woo_shortcode_divider($atts, $content = null) { + return '
            '; +} // End woo_shortcode_divider() +add_shortcode( 'divider', 'woo_shortcode_divider' ); + +function woo_shortcode_divider_flat($atts, $content = null) { + return '
            '; +} // End woo_shortcode_divider_flat() +add_shortcode( 'divider_flat', 'woo_shortcode_divider_flat' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 11. Quote - quote +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - style: boxed + - float: left, right + +*/ +function woo_shortcode_quote($atts, $content = null) { + extract(shortcode_atts(array( 'style' => '', + 'float' => ''), $atts)); + $class = ''; + if ( $style ) + $class .= ' '.$style; + if ( $float ) + $class .= ' '.$float; + + return '

            ' . woo_remove_wpautop($content) . '

            '; +} // End woo_shortcode_quote() +add_shortcode( 'quote', 'woo_shortcode_quote' ); + +/*-----------------------------------------------------------------------------------*/ +/* 12. Icon links - ilink +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - style: download, note, tick, info, alert + - url: the url for your link + - icon: add an url to a custom icon + - title: optional title attribute + +*/ +function woo_shortcode_ilink( $atts, $content = null ) { + extract( shortcode_atts( array( 'style' => 'info', 'url' => '', 'icon' => '', 'title' => '' ), $atts ) ); + + $atts = ''; + if ( $icon != '' ) { + $atts .= ' style="background: url( ' . esc_url( $icon ) . ') no-repeat left 40%;"'; + } + if ( $title != '' ) { + $atts .= ' title="' . esc_attr( $title ) . '"'; + } + + return '' . woo_remove_wpautop( $content ) . ''; +} // End woo_shortcode_ilink() +add_shortcode( 'ilink', 'woo_shortcode_ilink' ); + +/*-----------------------------------------------------------------------------------*/ +/* 13. jQuery Toggle +/*-----------------------------------------------------------------------------------*/ +/* + +} + +Optional arguments: + - title: The text in the main trigger + - hide: Hide the toggle box on load + - display_main_trigger: Display the main trigger on the toggle + +*/ +function woo_shortcode_toggle ( $atts, $content = null ) { + // Instruct the shortcode JavaScript to load. + if ( ! defined( 'WOO_SHORTCODE_JS' ) ) { define( 'WOO_SHORTCODE_JS', 'load' ); } + + $defaults = array( + 'title_open' => __( 'Hide the Content', 'woothemes' ), + 'title_closed' => __( 'Show the Content', 'woothemes' ), + 'hide' => 'yes', + 'display_main_trigger' => 'yes', + 'style' => 'default', + 'border' => 'yes', + 'excerpt_length' => '0', + 'include_excerpt_html' => 'no', + 'read_more_text' => __( 'Read More', 'woothemes' ), + 'read_less_text' => __( 'Read Less', 'woothemes' ) + ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $title = ''; + $class = ''; + + $class_open = ' toggle-' . sanitize_title( $title_open ); + + $class_closed = ' toggle-' . sanitize_title( $title_closed ); + + if ( $hide == 'yes' ) { + $class .= $class_closed . ' closed'; $title = $title_closed; + } else { + $class .= $class_open . ' open'; $title = $title_open; + } // End IF Statement + + $main_trigger = ''; + + if ( $display_main_trigger == 'yes' ) { + + $main_trigger = '

            ' . $title . '

            ' . "\n"; + + } // End IF Statement + + // Add the alternate style to the CSS class. + $class .= ' ' . $style; + + // Add the border class, if necessary. + if ( $border == 'yes' ) { $class .= ' border'; } // End IF Statement + + // If the excerpt length is greater than 0, apply the excerpt logic. + $excerpt_length = intval( $excerpt_length ); + + if ( $excerpt_length > 0 ) { + $orig_content = $content; + + if ( $include_excerpt_html == 'no' ) { + $content = strip_tags( $content ); + } + + $excerpt = substr( $content, 0, $excerpt_length ); + + $more_link = '' . $read_more_text . ''; + + $content = '' . $excerpt . '' . "\n" . $more_link . "\n" . '' . substr( $content, $excerpt_length, strlen( $content ) ) . '' . "\n"; + } + + return '
            ' . $main_trigger . '
            ' . do_shortcode( $content ) . '
            ' . "\n" . '' . '
            '; +} // End woo_shortcode_toggle() + +add_shortcode( 'toggle', 'woo_shortcode_toggle', 99 ); + +/*-----------------------------------------------------------------------------------*/ +/* 14. Facebook Share Button - fbshare +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://developers.facebook.com/docs/share + +Optional arguments: + - type: box_count, button_count, button (default), icon_link, or icon + - float: none, left, right (default: left) + +*/ +function woo_shortcode_fbshare($atts, $content = null) { + extract( shortcode_atts( array( 'url' => '', 'type' => 'button', 'float' => 'left', 'width' => 100 ), $atts ) ); + + global $post; + + if ( isset( $url ) && $url == '' && isset( $post ) ) { $url = get_permalink( $post->ID ); } // End IF Statement + + $output = '
            '; + + // Load the necessary JavaScript in the footer. + if ( ! has_action( 'wp_footer', 'woo_shortcode_fbshare_javascript' ) ) add_action( 'wp_footer', 'woo_shortcode_fbshare_javascript' ); + + return $output; +} // End woo_shortcode_fbshare() +add_shortcode( 'fbshare', 'woo_shortcode_fbshare' ); + +/** + * Output the JavaScript necessary for handling the 'fbshare' shortcode. + * @since 6.0.0 + * @return void + */ +function woo_shortcode_fbshare_javascript () { + echo '
            +' . "\n"; +} // End woo_shortcode_fbshare_javascript() + +/*-----------------------------------------------------------------------------------*/ +/* 15. Advanced Contact Form - contact_form +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - email: The e-mail address to which the form will send (defaults to woo_contactform_email). + - subject: The subject of the e-mail (defaults to "Message via the contact form". + - button_text: Optionally change the text of the "submit" button. + + - Advanced form fields functionality, for creating dynamic form fields: + --- Text Input: text_fieldname="Text Field Label|Optional Default Text" + --- Select Box: select_fieldname="Select Box Label|key=value,key=value,key=value" + --- Textarea Input: textarea_fieldname="Textarea Field Label|Optional Default Text|Optional Number of Rows|Optional Number of Columns" + --- Checkbox Input: checkbox_fieldname="Checkbox Field Label|Value of the Checkbox|Checked By Default" + --- Radio Button Input: radio_fieldname="Radio Field Label|key=value,key=value,key=value|Optional Default Value" + +*/ + +function woo_shortcode_contactform ( $atts, $content = null ) { + $defaults = array( + 'email' => get_option( 'woo_contactform_email'), + 'subject' => __( 'Message via the contact form', 'woothemes' ), + 'button_text' => apply_filters( 'woo_contact_form_button_text', __( 'Submit', 'woothemes' ) ), + 'show_default_fields' => 'yes' + ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // Extract the dynamic fields as well, if they don't have a value in $defaults. + $html = ''; + $dynamic_atts = array(); + $formatted_dynamic_atts = array(); + $error_messages = array(); + + if ( is_array( $atts ) ) { + foreach ( $atts as $k => $v ) { + ${$k} = $v; + + $dynamic_atts[$k] = ${$k}; + } + } + + // Parse dynamic fields. + if ( count( $dynamic_atts ) ) { + foreach ( $dynamic_atts as $k => $v ) { + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // The default value. + if ( array_key_exists( 2, $params ) ) { $default_value = $params[2]; } else { $default_value = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options, 'default_value' => $default_value ); + + } // End IF Statement + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // The default value. + if ( array_key_exists( 2, $params ) ) { $default_value = $params[2]; } else { $default_value = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options, 'default_value' => $default_value ); + + } // End IF Statement + + /* Parse the checkbox inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'checkbox_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The value of the checkbox. + if ( array_key_exists( 1, $params ) ) { $value = $params[1]; } else { $value = ''; } // End IF Statement + + // Checked by default? + if ( array_key_exists( 1, $params ) ) { $checked = $params[2]; } else { $checked = ''; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'value' => $value, 'checked' => $checked ); + + } // End IF Statement + + /* Parse the text inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 5 ) == 'text_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The default text. + if ( array_key_exists( 1, $params ) ) { $default_text = $params[1]; } else { $default_text = ''; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'default_text' => $default_text ); + + } // End IF Statement + + /* Parse the select boxes. + --------------------------------------------------*/ + + if ( substr( $k, 0, 7 ) == 'select_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options ); + + } // End IF Statement + + /* Parse the textarea inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'textarea_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The default text. + if ( array_key_exists( 1, $params ) ) { $default_text = $params[1]; } else { $default_text = ''; } // End IF Statement + + // The number of rows. + if ( array_key_exists( 2, $params ) ) { $number_of_rows = $params[2]; } else { $number_of_rows = 10; } // End IF Statement + + // The number of columns. + if ( array_key_exists( 3, $params ) ) { $number_of_columns = $params[3]; } else { $number_of_columns = 10; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'default_text' => $default_text, 'number_of_rows' => $number_of_rows, 'number_of_columns' => $number_of_columns ); + + } // End IF Statement + + } // End FOREACH Loop + + // Make sure the key is the field name, and the value is the translated label text. + $label_translations = apply_filters( 'woo_contact_form_label_translations', array() ); + if ( is_array( $formatted_dynamic_atts ) && 0 < count( $formatted_dynamic_atts ) ) { + foreach ( $formatted_dynamic_atts as $k => $v ) { + if ( in_array( $k, array_keys( $label_translations ) ) && isset( $v['label'] ) ) { + $formatted_dynamic_atts[$k]['label'] = esc_html( $label_translations[$k] ); + } + } + } + } // End IF Statement + + /*-------------------------------------------------- + * Form Processing. + * + * Here is where we validate the POST'ed data and + * format it for sending in an e-mail. + * + * We then send the e-mail and notify the user. + --------------------------------------------------*/ + + $emailSent = false; + + if ( ( count( $_POST ) > 2 ) && isset( $_POST['submitted'] ) ) { + + $fields_to_skip = array( 'checking', 'submitted', 'sendCopy' ); + $default_fields = array( 'contactName' => '', 'contactEmail' => '', 'contactMessage' => '' ); + $error_responses = array( + 'contactName' => __( 'Please enter your name', 'woothemes' ), + 'contactEmail' => __( 'Please enter your email address (and please make sure it\'s valid)', 'woothemes' ), + 'contactMessage' => __( 'Please enter your message', 'woothemes' ) + ); + + $posted_data = $_POST; + + // Check if we're using the default fields. + if ( $show_default_fields != 'no' ) { + // Check for errors. + foreach ( array_keys( $default_fields ) as $d ) { + if ( !isset ( $_POST[$d] ) || $_POST[$d] == '' || ( $d == 'contactEmail' && ! is_email( $_POST[$d] ) ) ) { + $error_messages[$d] = esc_html( $error_responses[$d] ); + } // End IF Statement + } // End FOREACH Loop + } else { + $default_fields = array( 'contactName' => get_bloginfo( 'name' ), 'contactEmail' => get_bloginfo( 'admin_email' ), 'contactMessage' => '' ); + } + + // If we have errors, don't do anything. Otherwise, run the processing code. + + if ( count( $error_messages ) ) {} else { + // Setup e-mail variables. + $message_fromname = $default_fields['contactName']; + $message_fromemail = strtolower( $default_fields['contactEmail'] ); + $message_subject = $subject; + $message_body = $default_fields['contactMessage'] . "\n\r\n\r"; + + $default_labels = apply_filters( 'woo_contact_form_shortcode_default_labels', array( 'Name' => __( 'Name', 'woothemes' ), 'Email' => __( 'Email', 'woothemes' ), 'Message' => __( 'Message', 'woothemes' ) ) ); + + // Filter out skipped fields and assign default fields. + foreach ( $posted_data as $k => $v ) { + if ( in_array( $k, $fields_to_skip ) ) { + unset( $posted_data[$k] ); + } // End IF Statement + + if ( in_array( $k, array_keys( $default_fields ) ) ) { + $default_fields[$k] = $v; + + unset( $posted_data[$k] ); + } // End IF Statement + } // End FOREACH Loop + + // Okay, so now we're left with only the dynamic fields. Assign to a fresh variable. + $dynamic_fields = $posted_data; + + // Format the default fields into the $message_body. + + foreach ( $default_fields as $k => $v ) { + if ( $v == '' ) {} else { + $label = str_replace( 'contact', '', $k ); + if ( isset( $default_labels[$label] ) ) $label = $default_labels[$label]; + $message_body .= $label . ': ' . $v . "\n\r"; + } // End IF Statement + } // End FOREACH Loop + + // Format the dynamic fields into the $message_body. + + foreach ( $dynamic_fields as $k => $v ) { + if ( $v == '' ) {} else { + $value = ''; + + if ( substr( $k, 0, 7 ) == 'select_' || substr( $k, 0, 6 ) == 'radio_' ) { + $message_body .= $formatted_dynamic_atts[$k]['label'] . ': ' . $formatted_dynamic_atts[$k]['options'][$v] . "\n\r"; + } else { + $message_body .= $formatted_dynamic_atts[$k]['label'] . ': ' . $v . "\n\r"; + } // End IF Statement + } // End IF Statement + } // End FOREACH Loop + + // Send the e-mail. + $headers = 'From:' . $default_fields['contactName'] . ' <' . $default_fields['contactEmail'] . '>' . "\r\n" . 'Reply-To:' . $default_fields['contactEmail']; + + $emailSent = wp_mail($email, $subject, $message_body, $headers); + + // Send a copy of the e-mail to the sender, if specified. + if ( isset( $_POST['sendCopy'] ) && $_POST['sendCopy'] == 'true' ) { + $headers = 'From:' . $default_fields['contactName'] . ' <' . $default_fields['contactEmail'] . '>' . "\r\n" . 'Reply-To:' . $default_fields['contactEmail']; + + $emailSent = wp_mail($default_fields['contactEmail'], $subject, $message_body, $headers); + } // End IF Statement + + } // End IF Statement ( count( $error_messages ) ) + + } // End IF Statement + + /* Generate the form HTML. + --------------------------------------------------*/ + + $html .= '
            ' . "\n"; + + /* Display message HTML if necessary. + --------------------------------------------------*/ + + // Success messages + if( isset( $emailSent ) && $emailSent == true ) { + $html .= do_shortcode( '[box type="tick"]' . __( 'Your email was successfully sent.', 'woothemes' ) . '[/box]' ); + $html .= '' . "\n"; + } + + // Error messages + if( count( $error_messages ) ) { + $html .= do_shortcode( '[box type="alert"]' . __( 'There were one or more errors while submitting the form.', 'woothemes' ) . '[/box]' ); + } + + // No e-mail address supplied. + if( $email == '' ) { + $html .= do_shortcode( '[box type="alert"]' . __( 'E-mail has not been setup properly. Please add your contact e-mail!', 'woothemes' ) . '[/box]' ); + } + + if ( $email == '' ) {} else { + $html .= '
            ' . "\n"; + $html .= '
            ' . "\n"; + + /* Parse the "static" form fields. + --------------------------------------------------*/ + if ( $show_default_fields != 'no' ) { + $contactName = ''; + if( isset( $_POST['contactName'] ) ) { $contactName = $_POST['contactName']; } + + $contactEmail = ''; + if( isset( $_POST['contactEmail'] ) ) { $contactEmail = $_POST['contactEmail']; } + + $contactMessage = ''; + if( isset( $_POST['contactMessage'] ) ) { $contactMessage = stripslashes( $_POST['contactMessage'] ); } + + $html .= '

            ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactName', $error_messages ) ) { + $html .= '' . esc_html( $error_messages['contactName'] ) . '' . "\n"; + } + + $html .= '

            ' . "\n"; + + $html .= '

            ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactEmail', $error_messages ) ) { + $html .= '' . esc_html( $error_messages['contactEmail'] ) . '' . "\n"; + } + + $html .= '

            ' . "\n"; + + $html .= '

            ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactMessage', $error_messages ) ) { + $html .= '' . esc_html( $error_messages['contactMessage'] ) . '' . "\n"; + } + + $html .= '

            ' . "\n"; + } // End static fields check + + /* Parse dynamic fields into HTML. + --------------------------------------------------*/ + + if ( count( $formatted_dynamic_atts ) ) { + + foreach ( $formatted_dynamic_atts as $k => $v ) { + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + /* Generate Select Box Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_value']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

            ' . "\n"; + + $html .= '' . "\n"; + + foreach ( $v['options'] as $value => $label ) { + $html .= ' ' . esc_html( $label ) . '
            ' . "\n"; + } + + $html .= '
            ' . "\n"; + } + + /* Parse the checkbox inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'checkbox_' ) { + /* Generate Checkbox Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['value']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $checked = 0; + if ( array_key_exists( 'checked', $v ) && $v['checked'] == 'yes' ) { $checked = ${$k}; } + + $html .= '

            ' . "\n"; + $html .= '' . "\n"; + $html .= '

            ' . "\n"; + } + + /* Parse the text inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 5 ) == 'text_' ) { + /* Generate Text Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_text']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

            ' . "\n"; + $html .= '

            ' . "\n"; + } + + /* Parse the select boxes. + --------------------------------------------------*/ + + if ( substr( $k, 0, 7 ) == 'select_' ) { + /* Generate Select Box Field HTML. + ----------------------------------------------*/ + + ${$k} = ''; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

            ' . "\n"; + $html .= '

            ' . "\n"; + } + + /* Parse the textarea inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'textarea_' ) { + /* Generate Textarea Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_text']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

            ' . "\n"; + $html .= '

            ' . "\n"; + + } + } // End FOREACH Loop + } // End IF Statement + + /* The end of the form. + ----------------------------------------------*/ + + $sendCopy = ''; + if(isset($_POST['sendCopy']) && $_POST['sendCopy'] == true) { + $sendCopy = ' checked="checked"'; + } + + $html .= '

            ' . "\n"; + + $checking = ''; + if(isset($_POST['checking'])) { + $checking = $_POST['checking']; + } + + $html .= '

            ' . "\n"; + $html .= '

            '; + $html .= '
            ' . "\n"; + $html .= '
            ' . "\n"; + $html .= '
            ' . "\n"; + $html .= '
            ' . "\n"; + } // End IF Statement ( $email == '' ) + + return $html; +} // End woo_shortcode_contactform() + +add_shortcode( 'contact_form', 'woo_shortcode_contactform' ); + +/*-----------------------------------------------------------------------------------*/ +/* 16. Tabs - [tabs][/tabs] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_tabs ( $atts, $content = null ) { + // Instruct the shortcode JavaScript to load. + if ( ! defined( 'WOO_SHORTCODE_JS' ) ) { define( 'WOO_SHORTCODE_JS', 'load' ); } + + $defaults = array( 'style' => 'default', 'title' => '', 'css' => '', 'id' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // If no unique ID is set, set the ID as a random number between 1 and 100 (to make sure each tab group is unique). + if ( $id == '' ) { $id = rand( 1, 100 ); } + if ( $css != '' ) { $css = ' ' . $css; } + + // Extract the tab titles for use in the tabber widget. + preg_match_all( '/tab title="([^\"]+)"/i', $content, $matches, PREG_OFFSET_CAPTURE ); + + $tab_titles = array(); + $tabs_class = 'tab_titles'; + + if ( isset( $matches[1] ) ) { $tab_titles = $matches[1]; } // End IF Statement + + $titles_html = ''; + + if ( count( $tab_titles ) ) { + if ( $title ) { $titles_html .= '

            ' . esc_html( $title ) . '

            '; $tabs_class .= ' has_title'; } // End IF Statement + + $titles_html .= '
              ' . "\n"; + + $counter = 1; + + foreach ( $tab_titles as $t ) { + $titles_html .= '' . "\n"; + $counter++; + } // End FOREACH Loop + + $titles_html .= '
            ' . "\n"; + } // End IF Statement + + return '
            ' . $titles_html . do_shortcode( $content ) . "\n" . '
            ' . "\n" . '
            '; +} // End woo_shortcode_tabs() + +add_shortcode( 'tabs', 'woo_shortcode_tabs', 90 ); + +/*-----------------------------------------------------------------------------------*/ +/* 16.1 A Single Tab - [tab title="The title goes here"][/tab] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_tab_single ( $atts, $content = null ) { + $defaults = array( 'title' => 'Tab' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $class = ''; + + if ( $title != 'Tab' ) { + $class = ' tab-' . sanitize_title( $title ); + } + + return '
            ' . do_shortcode( $content ) . '
            '; +} // End woo_shortcode_tab_single() + +add_shortcode( 'tab', 'woo_shortcode_tab_single', 99 ); + +/*-----------------------------------------------------------------------------------*/ +/* 17. Dropcap - [dropcap][/dropcap] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_dropcap ( $atts, $content = null ) { + $defaults = array(); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; +} // End woo_shortcode_dropcap() + +add_shortcode( 'dropcap', 'woo_shortcode_dropcap' ); + +/*-----------------------------------------------------------------------------------*/ +/* 18. Highlight - [highlight][/highlight] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_highlight ( $atts, $content = null ) { + $defaults = array(); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; +} // End woo_shortcode_highlight() + +add_shortcode( 'highlight', 'woo_shortcode_highlight' ); + +/*-----------------------------------------------------------------------------------*/ +/* 19. Abbreviation - [abbr][/abbr] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_abbreviation ( $atts, $content = null ) { + $defaults = array( 'title' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; +} // End woo_shortcode_abbreviation() + +add_shortcode( 'abbr', 'woo_shortcode_abbreviation' ); + +/*-----------------------------------------------------------------------------------*/ +/* 20. Typography - [typography font="" size="" color=""][/typography] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_typography ( $atts, $content = null ) { + global $google_fonts, $woo_used_google_fonts; + + // Get just the names of the Google fonts. + $google_font_names = array(); + + if ( count( $google_fonts ) ) { + foreach ( $google_fonts as $g ) { + $google_font_names[] = $g['name']; + } // End FOREACH Loop + } // End IF Statement + + // Build array of usable typefaces. + $fonts_whitelist = array( + 'Arial, Helvetica, sans-serif', + 'Verdana, Geneva, sans-serif', + '|Trebuchet MS|, Tahoma, sans-serif', + 'Georgia, |Times New Roman|, serif', + 'Tahoma, Geneva, Verdana, sans-serif', + 'Palatino, |Palatino Linotype|, serif', + '|Helvetica Neue|, Helvetica, sans-serif', + 'Calibri, Candara, Segoe, Optima, sans-serif', + '|Myriad Pro|, Myriad, sans-serif', + '|Lucida Grande|, |Lucida Sans Unicode|, |Lucida Sans|, sans-serif', + '|Arial Black|, sans-serif', + '|Gill Sans|, |Gill Sans MT|, Calibri, sans-serif', + 'Geneva, Tahoma, Verdana, sans-serif', + 'Impact, Charcoal, sans-serif' + ); + + $fonts_whitelist = array(); // Temporarily remove the default fonts. + + $defaults = array( 'font' => 'Arial, Helvetica, sans-serif', 'size' => '12', 'color' => '#000000', 'size_format' => 'px' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // Run checks to make sure it's an allowed font stack. + if ( in_array( $font, $fonts_whitelist ) || in_array( $font, $google_font_names ) ) { + if ( in_array( $font, $google_font_names ) ) { + + // Set up global array of used Google fonts for processing later + if( ! $woo_used_google_fonts ) { $woo_used_google_fonts = array(); } + + // Add to array of used Google fonts + if ( ! in_array( $font, $woo_used_google_fonts ) ) { + $woo_used_google_fonts[] = $font; + } // End IF Statement + + $font = "'" . $font . "'"; + } // End IF Statement + } else { + $font = 'Arial, Helvetica, sans-serif'; + } // End IF Statement + + // $font = str_replace( '|', '"', $font ); + + return '' . do_shortcode( $content ) . ''; +} // End woo_shortcode_typography() + +add_shortcode( 'typography', 'woo_shortcode_typography' ); + +add_action( 'wp_head', 'woo_shortcode_typography_loadgooglefonts', 0 ); + +function woo_shortcode_typography_loadgooglefonts ( $font = false , $id = false ) { + if ( $font ) { + // If a specific font is requested, just enqueue that font. + $variations = array( + 'Raleway' => ':100', + 'Coda' => ':800', + 'UnifrakturCook' => ':bold', + 'Allan' => ':bold', + 'Sniglet' => ':800', + 'Cabin' => ':bold', + 'Corben' => ':bold', + 'Buda' => ':light' + ); + + $f = $font; + + $f = str_replace( ' ', '+', $f ); + + $f_include = $f; + + if ( in_array( $f, array_keys( $variations ) ) ) { + $f_include = $f . $variations[$f]; + } // End IF Statement + + if( ! $id ) { + $id = 'woo-googlefont-' . sanitize_title( $f ); + } + + wp_enqueue_style( $id , 'http'. ( is_ssl() ? 's' : '' ) .'://fonts.googleapis.com/css?family=' . $f_include . '' , array() , '3.6' , 'screen' ); + } // End IF Statement +} // End woo_shortcode_typography_loadgooglefonts() + +/*-----------------------------------------------------------------------------------*/ +/* 21. List Styles - Unordered List - [unordered_list style=""][/unordered_list] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_unorderedlist ( $atts, $content = null ) { + $defaults = array( 'style' => 'default' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '
            ' . do_shortcode( $content ) . '
            ' . "\n"; +} // End woo_shortcode_unorderedlist() + +add_shortcode( 'unordered_list', 'woo_shortcode_unorderedlist' ); + +/*-----------------------------------------------------------------------------------*/ +/* 22. List Styles - Ordered List - [ordered_list style=""][/ordered_list] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_orderedlist ( $atts, $content = null ) { + $defaults = array( 'style' => 'default' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '
            ' . do_shortcode( $content ) . '
            ' . "\n"; +} // End woo_shortcode_orderedlist() + +add_shortcode( 'ordered_list', 'woo_shortcode_orderedlist' ); + +/*-----------------------------------------------------------------------------------*/ +/* 23. Social Icon - [social_icon url="" float="" icon_url="" title="" profile_type="" window=""] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_socialicon ( $atts, $content = null ) { + $defaults = array( 'url' => '', 'float' => 'none', 'icon_url' => '', 'title' => '', 'profile_type' => '', 'window' => 'no', 'rel' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + if ( ! $url ) { return; } // End IF Statement - Don't run the shortcode if no URL has been supplied. + + // Attempt to determine the location of the social profile. + // If no location is found, a default icon will be used. + + $_default_icon = ''; + + $_supported_profiles = array( + 'facebook' => 'facebook.com', + 'twitter' => 'twitter.com', + 'youtube' => 'youtube.com', + 'delicious' => 'delicious.com', + 'flickr' => 'flickr.com', + 'linkedin' => 'linkedin.com', + 'googleplus' => 'plus.google.com' + ); + + $_profile_to_display = ''; + $_alt_text = ''; + $_classes = 'social-icon'; + + $_profile_match = false; + + // If they've specified an icon, skip the automation. + + if ( $profile_type != '' ) { + $_profile_match = true; + $_profile_to_display = $profile_type; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $_profile_to_display ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + $_profile_class = ' social-icon-' . $_profile_to_display; + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + } + } // End IF Statement + + // Create a special scenario for use with the RSS feed for this website. + if ( $url == 'feed' ) { + $_profile_match = true; + $_profile_to_display = 'rss'; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = __( 'Subscribe to our RSS feed', 'woothemes' ); } // End IF Statement + $_classes .= ' social-icon-subscribe'; + $url = get_bloginfo( 'rss2_url' ); + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + } + } else { + foreach ( $_supported_profiles as $k => $v ) { + if ( $_profile_match == true ) { break; } // End IF Statement - Break out of the loop if we already have a match. + + // Get host name from URL + preg_match( '@^(?:http://)?([^/]+)@i', $url, $matches ); + $host = $matches[1]; + + if ( $host == $v ) { + + $_profile_match = true; + $_profile_to_display = $k; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $_profile_to_display ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + $_profile_class = ' social-icon-' . $_profile_to_display; + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + } + } else { + $_profile_to_display = 'default'; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $matches[1] ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + + $_host_bits = explode( '.', $matches[1] ); + $_profile_class = ' social-icon-' . $_host_bits[0]; + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + + // Check if an image has been added for this social icon. + if ( file_exists( trailingslashit( get_stylesheet_directory() ) . 'images/ico-social-' . $_host_bits[0] . '.png' ) ) { + $_img_url = trailingslashit( get_stylesheet_directory_uri() ) . 'images/ico-social-' . $_host_bits[0] . '.png'; + } + } // End IF Statement + } // End IF Statement + } // End FOREACH Loop + + $_classes .= $_profile_class; + + // Determine the floating CSS class to be used. + switch ( $float ) { + case 'left': + $_classes .= ' fl'; + break; + + case 'right': + $_classes .= ' fr'; + break; + + default: + break; + } + } // End IF Statement + + $target = ''; + if ( $window == 'yes' ) { $target = ' target="_blank"'; } // End IF Statement + if ( $rel != '' ) { $rel = ' rel="' . esc_attr( $rel ) . '"'; } + + return '' . esc_attr( $_alt_text ) . '' . "\n"; +} // End woo_shortcode_socialicon() + +add_shortcode( 'social_icon', 'woo_shortcode_socialicon' ); + +/*-----------------------------------------------------------------------------------*/ +/* 24. LinkedIn Button - [linkedin_share url="" style=""] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_linkedin_share ( $atts, $content = null ) { + + $defaults = array( 'url' => '', 'style' => 'none', 'float' => 'none' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $allowed_floats = array( 'left' => 'fl', 'right' => 'fr', 'none' => '' ); + $allowed_styles = array( 'top' => ' data-counter="top"', 'right' => ' data-counter="right"', 'none' => '' ); + + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + if ( ! in_array( $style, array_keys( $allowed_styles ) ) ) { $style = 'none'; } + + if ( $url ) { $url = ' data-url="' . esc_url( $url ) . '"'; } + + $output = ''; + + if ( $float == 'none' ) {} else { $output .= '
            ' . "\n"; } + + $output .= '' . "\n"; + + if ( $float == 'none' ) {} else { $output .= '
            ' . "\n"; } + + // Enqueue the LinkedIn button JavaScript from their API. + add_action( 'wp_footer', 'woo_shortcode_linkedin_js' ); + add_action( 'woo_shortcode_generator_preview_footer', 'woo_shortcode_linkedin_js' ); + + return $output . "\n"; +} // End woo_shortcode_linkedin_share() + +add_shortcode( 'linkedin_share', 'woo_shortcode_linkedin_share' ); + +/*-----------------------------------------------------------------------------------*/ +/* 24.1 Load Javascript for LinkedIn Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_linkedin_js () { + echo '' . "\n"; +} // End woo_shortcode_linkedin_js() + +/*-----------------------------------------------------------------------------------*/ +/* 25. Google +1 Button - [google_plusone] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_google_plusone ( $atts, $content = null ) { + global $post; + + $defaults = array( + 'size' => '', + 'language' => '', + 'count' => '', + 'href' => '', + 'callback' => '', + 'float' => 'none', + 'annotation' => 'none' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $params = array(); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + if ( ! in_array( $annotation, array( 'bubble', 'inline', 'none' ) ) ) { $annotation = 'none'; } + + // A friendly-looking array of supported languages, along with their codes. + $supported_languages = array( + 'ar' => 'Arabic', + 'bg' => 'Bulgarian', + 'ca' => 'Catalan', + 'zh-CN' => 'Chinese (Simplified)', + 'zh-TW' => 'Chinese (Traditional)', + 'hr' => 'Croatian', + 'cs' => 'Czech', + 'da' => 'Danish', + 'nl' => 'Dutch', + 'en-US' => 'English (US)', + 'en-GB' => 'English (UK)', + 'et' => 'Estonian', + 'fil' => 'Filipino', + 'fi' => 'Finnish', + 'fr' => 'French', + 'de' => 'German', + 'el' => 'Greek', + 'iw' => 'Hebrew', + 'hi' => 'Hindi', + 'hu' => 'Hungarian', + 'id' => 'Indonesian', + 'it' => 'Italian', + 'ja' => 'Japanese', + 'ko' => 'Korean', + 'lv' => 'Latvian', + 'lt' => 'Lithuanian', + 'ms' => 'Malay', + 'no' => 'Norwegian', + 'fa' => 'Persian', + 'pl' => 'Polish', + 'pt-BR' => 'Portuguese (Brazil)', + 'pt-PT' => 'Portuguese (Portugal)', + 'ro' => 'Romanian', + 'ru' => 'Russian', + 'sr' => 'Serbian', + 'sv' => 'Swedish', + 'sk' => 'Slovak', + 'sl' => 'Slovenian', + 'es' => 'Spanish', + 'es-419' => 'Spanish (Latin America)', + 'th' => 'Thai', + 'tr' => 'Turkish', + 'uk' => 'Ukrainian', + 'vi' => 'Vietnamese' + ); + + $output = ''; + $tag_atts = ''; + + // Make sure we only have Google +1 attributes in our array, after parsing the "float" parameter. + unset( $atts['float'] ); + + if ( $atts['href'] == '' & isset( $post->ID ) ) { + $atts['href'] = get_permalink( $post->ID ); + } + + foreach ( $atts as $k => $v ) { + if ( ${$k} != '' ) { + $tag_atts .= ' data-' . esc_attr( $k ) . '="' . esc_attr( ${$k} ) . '"'; + } + } + + $output = '
            ' . "\n"; + + // Parameters to pass to Google PlusOne JavaScript. + if ( in_array( $atts['language'] , array_values( $supported_languages ) ) ) { + $language = ''; + + foreach ( $supported_languages as $k => $v ) { + if ( $v == $atts['language'] ) { + $language = $k; + break; + } + } + + $params = array( 'language' => $language ); + } + + // Enqueue the Google +1 button JavaScript from their API. + woo_shortcode_google_plusone_js( $params ); + + return $output . "\n"; +} // End woo_shortcode_google_plusone() + +add_shortcode( 'google_plusone', 'woo_shortcode_google_plusone' ); + +/*-----------------------------------------------------------------------------------*/ +/* 25.1 Load Javascript for Google +1 Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_google_plusone_js ( $params ) { + echo '' . "\n"; + echo '' . "\n"; +} // End woo_shortcode_google_plusone_js() + +/*-----------------------------------------------------------------------------------*/ +/* 26. Twitter Follow Button - [twitter_follow] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_twitter_follow ( $atts, $content = null ) { + + global $post; + + if ( ! isset( $atts['username'] ) || ( $atts['username'] == '' ) ) { return; } // We can't continue without the username. + + $defaults = array( + 'username' => '', + 'button_color' => 'blue', + 'text_color' => '', + 'link_color' => '', + 'width' => '', + 'align' => '', + 'language' => '', + 'count' => '', + 'float' => 'none', + 'show_screen_name' => 'true', + 'size' => 'medium' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $allowed_langs = array( 'en', 'fr', 'de', 'it', 'es', 'ko', 'ja' ); + if ( ! in_array( $language, array_keys( $allowed_langs ) ) ) { $language = ''; } + + $output = ''; + $tag_atts = ''; + + // Make sure we only have Google +1 attributes in our array, after parsing the "float" parameter. + unset( $atts['float'] ); + unset( $atts['username'] ); + + // Setup array of attributes and the value keys containing the data for each. + $att_keys = array( + 'button_color' => 'data-button', + 'text_color' => 'data-text-color', + 'link_color' => 'data-link-color', + 'width' => 'data-width', + 'align' => 'data-align', + 'language' => 'data-lang', + 'count' => 'data-show-count', + 'show_screen_name' => 'data-show-screen-name', + 'size' => 'data-size' + ); + + foreach ( $atts as $k => $v ) { + if ( ${$k} != '' ) { + $tag_atts .= ' ' . esc_attr( $att_keys[$k] ) . '="' . esc_attr( ${$k} ) . '"'; + } + } + + $output = '
            ' . "\n"; + $output .= '' . "\n"; + $output .= woo_shortcode_twitter_follow_js( false ); + $output .= '
            ' . "\n"; + + return $output . "\n"; +} // End woo_shortcode_twitter_follow() + +add_shortcode( 'twitter_follow', 'woo_shortcode_twitter_follow' ); + +/*-----------------------------------------------------------------------------------*/ +/* 26.1 Load Javascript for Twitter Follow Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_twitter_follow_js ( $echo = true ) { + $html = '' . "\n"; + if ( true == $echo ) { echo $html; } else { return $html; } +} // End woo_shortcode_twitter_follow_js() + +/*-----------------------------------------------------------------------------------*/ +/* 27. StumbleUpon Badge - [stumbleupon] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_stumbleupon ( $atts, $content = null ) { + global $post; + + $defaults = array( + 'design' => 'horizontal_large', + 'float' => 'none', + 'url' => '', + 'use_post' => 'false' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $allowed_designs = array( 'horizontal_large' => '1', 'horizontal_medium' => '2', 'horizontal_small' => '3', 'icon_small' => '4', 'vertical_count' => '5', 'icon_large' => '6' ); + if ( ! in_array( $design, array_keys( $allowed_designs ) ) ) { $design = 'horizontal_large'; } + + $output = ''; + + $url_call = ''; + + // Use the custom URL, if it has been specified. + if ( $atts['url'] != '' ) { + $url_call = '&r=' . esc_url( $url ); + } + + // Use the URL to the current $post in the loop, if no custom URL is set and if instructed to do so. + if ( $url_call == '' && $atts['use_post'] == 'true' ) { + $url_call = '&r=' . esc_url( get_permalink( $post ) ); + } + + $output = apply_filters( 'woo_shortcode_stumbleupon', '
            ' . "\n", $atts ); + + return $output . "\n"; +} // End woo_shortcode_stumbleupon() + +add_shortcode( 'stumbleupon', 'woo_shortcode_stumbleupon' ); + +/*-----------------------------------------------------------------------------------*/ +/* 28. Pinterest "Pin It" Button [pinterest] */ +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_pinterest ( $atts, $content = null ) { + global $post; + + $defaults = array( + 'count' => 'horizontal', + 'float' => 'none', + 'url' => '', + 'image_url' => '', + 'description' => '', + 'use_post' => 'false' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $allowed_counts = array( 'horizontal', 'vertical', 'none' ); + if ( ! in_array( $count, array_keys( $allowed_counts ) ) ) { $count = 'horizontal'; } + + $output = ''; + + // Use the custom URL, if it has been specified. + if ( $atts['url'] != '' ) { + $url = esc_url( $atts['url'] ); + } else { + // Use the URL to the current $post in the loop. + $url = esc_url( get_permalink( $post ) ); + } + + // Use the custom image URL, if it has been specified. + if ( '' != $atts['image_url'] ) { + $image_url = esc_url( $atts['image_url'] ); + } else { + // Use the image of the current $post in the loop. + $image_url = esc_url( woo_image( 'link=url&return=true' ) ); + } + + // Use the custom description, if it has been specified. + if ( '' != $atts['description'] ) { + $description = esc_attr( $atts['description'] ); + } else { + // Use the excerpt of the current $post in the loop, if no description is set and if instructed to do so. + if ( 'true' == $atts['use_post'] ) { + $description = esc_attr( strip_shortcodes( apply_filters( 'get_the_excerpt', $post->post_excerpt ) ) ); + } + } + + $output = apply_filters( 'woo_shortcode_pinterest', '' . "\n", $atts ); + + // Enqueue the Pinterest button JavaScript from their API. + add_action( 'wp_footer', 'woo_shortcode_pinterest_javascript' ); + add_action( 'woo_shortcode_generator_preview_footer', 'woo_shortcode_pinterest_javascript' ); + + return $output . "\n"; +} // End woo_shortcode_pinterest() + +add_shortcode( 'pinterest', 'woo_shortcode_pinterest' ); + +/*-----------------------------------------------------------------------------------*/ +/* 28.1 Load Javascript for Pinterest Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_pinterest_javascript () { + echo '' . "\n"; +} // End woo_shortcode_pinterest_javascript() + +/*-----------------------------------------------------------------------------------*/ +/* THE END */ +/*-----------------------------------------------------------------------------------*/ +?> \ No newline at end of file diff --git a/wootique/functions/admin-style.css b/wootique/functions/admin-style.css new file mode 100755 index 0000000..886bc48 --- /dev/null +++ b/wootique/functions/admin-style.css @@ -0,0 +1,784 @@ +/*-------------------------------------------------------------------------------------------*/ +/* WooThemes admin styles */ +/*-------------------------------------------------------------------------------------------*/ + +/* If you have a screen which uses the old WooFramework styles, load this file in. */ + +/* UI SLIDER */ +#woo_container .section-slider .controls .ui-slider { float: left; margin: 0; top: 8px; width: 268px; border: 1px solid red; border: 1px solid #DDD; background: #EEE; color: #333;position: relative; text-align: left;height: .8em; } +#woo_container .section-slider .controls .ui-slider .ui-slider-handle { border: 1px solid #CCC; cursor: pointer; background: #F6F6F6; font-weight: bold; color: #1C94C4; outline: none; position: absolute; z-index: 2; width: 14px; height: 14px; cursor: pointer; top: -3px; margin-left: -7px; } +#woo_container .section-slider .controls .woo-input { float: right; width: 40px; } + +.updated, .error { display: none !important; } /* disable the admin notices */ +#wooframework_important_update.error { display: block !important; } +#wooframework_update.updated { display: block !important; } +#theme_update.updated { display: block !important; } /* Except for the theme update notifier */ + +#woo_container { margin-top: 15px; width: 827px; position:relative; z-index: 0 } + +/* WOOSEO AND WOOSIDEBARS DEPRECATION BANNER */ +#woodeprecate-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 15px; border: 1px solid #C00; background: #FFEBE8; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#woodeprecate-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#woodeprecate-banner span.main { margin-top: 2px; font-weight: bold; font-size: 16px; } +#woodeprecate-banner .button-primary { position: absolute; right: 20px; top: 27px; } +#woodeprecate-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#woodeprecate-banner .close-banner:hover { opacity: 1; } +#woodeprecate-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + +/* WOODOJO DOWNLOAD BANNER */ +#woodojo-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 90px; border: 1px solid #d9d9d9; background: #f5f5f5 url(images/ico-dojo-banner.png) no-repeat 14px 11px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#woodojo-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#woodojo-banner span.main { margin-top: 2px; font-weight: bold; font-size: 16px; } +#woodojo-banner .button-primary { position: absolute; right: 20px; top: 27px; } +#woodojo-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#woodojo-banner .close-banner:hover { opacity: 1; } +#woodojo-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + +/* PRESSTRENDS ENABLE BANNER */ +#presstrends-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 90px; border: 1px solid #d9d9d9; background: #f5f5f5 url(images/ico-presstrends-banner.png) no-repeat 14px 30px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#presstrends-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#presstrends-banner span.main { margin-top: 2px; font-weight: bold; font-size: 16px; margin-bottom: 5px; } +#presstrends-banner span.info { margin-right: 160px; line-height: 18px; } +#presstrends-banner .button-primary { position: absolute; right: 20px; top: 45px; } +#presstrends-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#presstrends-banner .close-banner:hover { opacity: 1; } +#presstrends-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + +/* STATIC FRONT PAGE BANNER */ +#staticfrontpage-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 15px; border: 1px solid #d9d9d9; background: #f5f5f5; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#staticfrontpage-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#staticfrontpage-banner span.main { margin-top: 2px; font-weight: normal; font-size: 14px; } +#staticfrontpage-banner span.subtext { font-size: 12px; } +#staticfrontpage-banner .button-primary { position: absolute; right: 20px; top: 27px; } +#staticfrontpage-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#staticfrontpage-banner .close-banner:hover { opacity: 1; } +#staticfrontpage-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + + +#woo_container #header { height: 80px; background: url(images/headertile.jpg) repeat-x left top; border: 1px solid #a4bbcd; border-top-left-radius: 15px; -moz-border-radius-topleft: 15px; -webkit-border-top-left-radius: 15px; -webkit-border-top-right-radius: 15px; border-top-right-radius: 15px; -moz-border-radius-topright: 15px; +/*INSET SHADOW*/ +-webkit-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +-moz-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +} + +#woo_container #header .logo { float: left; margin: 24px 0 0 25px; height: 35px; } +#woo_container #header .theme-info { float: right; margin: 26px 25px 0 0; } +#woo_container #header .theme-info span { display: block; line-height: 15px; text-transform: uppercase; text-align: right; color: #4e4e4e; text-shadow: 1px 1px 0 #fff; } +#woo_container #header .theme-info .theme { font-size: 15px; font-weight: bold; } +#woo_container #header .theme-info .framework { font-size: 12px; } +#woo_container #header .theme-info b { font-size: 11px; text-transform: none; color: #444; font-weight: 100; } + +#woo_container #support-links { height: 32px; padding: 0 0 0 15px; background-color: #d7e6f2; border-top: 1px solid #f1f6fa; border-bottom: 1px solid #a4bbcd; border-left: 1px solid #d8d8d8; border-right: 1px solid #d8d8d8; } +#woo_container #support-links ul { margin: 0; } +#woo_container #support-links ul li { display: inline; margin: 0 6px 0 0; } +#woo_container #support-links ul li a:link, #support-links ul li a:visited { line-height: 32px; font-size: 10px; font-weight: bold; text-transform: uppercase; text-decoration: none; color: #21759b; text-shadow: 1px 1px 0 #fff; } +#woo_container #support-links ul li a:hover { color: #155876; } +#woo_container #support-links ul li.changelog { padding: 2px 0 2px 20px; background: url(images/ico-changelog.png) no-repeat left center; } +#woo_container #support-links ul li.docs { padding: 1px 0 1px 20px; background: url(images/ico-docs.png) no-repeat left top; } +#woo_container #support-links ul li.forum { padding: 1px 0 1px 20px; background: url(images/ico-forum.png) no-repeat left top; } +#woo_container #support-links ul li.right { float:right; margin-right:15px} + +#woo_container #main { background-color: #f1f1f1; border-left: 1px solid #d8d8d8; border-right: 1px solid #d8d8d8; border-bottom: 1px solid #d8d8d8; } + +#woo_container #main #content { position: relative; margin-left: 189px; } + +#woo_container #woo-nav-shadow { width: 50px; position: absolute; top: 0; bottom: 0; right: 0; background: transparent url(images/menu-shadow.png) repeat-y top right; width: 6px; z-index: 999;} + +#woo_container #wooform { position: relative; } +#woo_container #woo-nav { float: left; position: absolute; top: 116px; bottom: 47px; z-index: 9999; width: 190px; } +#woo_container.add #wooform-content-builder #woo-nav, #woo_container.edit #wooform-content-builder #woo-nav { top: 150px; } +#woo_container #woo-nav ul { margin:0; } +#woo_container #woo-nav li { margin-bottom:0; position: relative;} +#woo_container #woo-nav ul li a:link, #woo-nav ul li a:visited { display: block; padding: 7px 10px 7px 10px; font:bold 12px/18px sans-serif; text-decoration: none; color: #797979; border-bottom: 1px solid #d8d8d8; border-top:1px solid #fff; text-shadow: 0 1px 0 #fff; } +#woo_container #woo-nav ul li.current a:link, #woo_container #woo-nav ul li.current a:visited { + color: #21759b; + margin-left: -1px; + background-color: #777; + background-image: -ms-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -moz-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -o-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080)); + background-image: -webkit-linear-gradient(bottom,#6d6d6d,#808080); + background-image: linear-gradient(bottom,#6d6d6d,#808080); + text-shadow: 0 -1px 0 #333; + color: white; + border-top-color: gray; + border-bottom-color: #6D6D6D; +} +body.js #woo_container #woo-nav li.current ul.sub-menu, body.js #woo_container #woo-nav li.current ul.sub-menu li a { margin-left:0; } + +#woo-nav li .arrow { + display: none; + top: 1px; + cursor: auto; + position: absolute; + left: -1000px; + margin: 0; + height: 32px; + width: 6px; + -moz-transform: translate(146px); + -webkit-transform: translate(146px); + -o-transform: translate(146px); + -ms-transform: translate(146px); + transform: translate(146px); +} + + +#woo-nav li .arrow div { + position: absolute; + -moz-transform: matrix(-0.6,1,0.6,1,0,0); + -webkit-transform: matrix(-0.6,1,0.6,1,0,0); + -o-transform: matrix(-0.6,1,0.6,1,0,0); + -ms-transform: matrix(-0.6,1,0.6,1,0,0); + transform: matrix(-0.6,1,0.6,1,0,0); + height: 17px; + width: 17px; + top: 7px; + left: -2px; + border-width: 0 0 1px 1px; + border-style: solid; + background: #E4E4E4; + border-color: #CCC; +} +#woo-nav li.has-children:hover .arrow { + display: block; + z-index: 9999; + -moz-transform: translate(1183px); + -webkit-transform: translate(1183px); + -o-transform: translate(1183px); + -ms-transform: translate(1183px); + transform: translate(1183px); + background: #E4E4E4; + border-color: #CCC; +} + +#woo-nav li.current .arrow, #woo-nav li.has-children.current .arrow { + display: block; + z-index: 9997; + -moz-transform: translate(1184px); + -webkit-transform: translate(1184px); + -o-transform: translate(1184px); + -ms-transform: translate(1184px); + transform: translate(1184px); + background-color: #777; + background-image: -ms-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -moz-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -o-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080)); + background-image: -webkit-linear-gradient(bottom,#6d6d6d,#808080); + background-image: linear-gradient(bottom,#6d6d6d,#808080); +} + +#woo_container #woo-nav ul li.current .arrow div { + border: none; + background-color: #777; + background-image: -ms-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: -moz-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: -o-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: -webkit-gradient(linear,right bottom,left top,from(#6d6d6d),to(#808080)); + background-image: -webkit-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: linear-gradient(right bottom,#6d6d6d,#808080); +} + +.admin-color-classic #woo_container #woo-nav ul li.current a:link, #woo_container #woo-nav ul li.current a:visited { + border-top-color: #5A8FAD; + border-bottom-color: #5589AA; + background-color: #5589AA; + background-image: -ms-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -moz-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -o-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb)); + background-image: -webkit-linear-gradient(bottom,#5589AA,#619bbb); + background-image: linear-gradient(bottom,#5589AA,#619bbb); +} +.admin-color-classic #woo-nav li.current .arrow, .admin-color-classic #woo-nav li.has-children.current .arrow { + background-color: #5589AA; + background-image: -ms-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -moz-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -o-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb)); + background-image: -webkit-linear-gradient(bottom,#5589AA,#619bbb); + background-image: linear-gradient(bottom,#5589AA,#619bbb); +} + +.admin-color-classic #woo_container #woo-nav ul li.current .arrow div { + border: none; + background-color: #5589AA; + background-image: -ms-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -moz-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -o-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb)); + background-image: -webkit-linear-gradient(bottom,#5589AA,#619bbb); + background-image: linear-gradient(bottom,#5589AA,#619bbb); +} + +#woo_container #woo-nav ul li a:hover { color: #D54E21; background-color: #e4e4e4; } +#woo_container #woo-nav ul li.current a:hover { color: #fff; } + +#woo_container #woo-nav li ul { background: #fff; border-bottom: 1px solid #DFDFDF; padding:5px 0; } +#woo_container #woo-nav li ul li { border: none; } + +/*-------------------------------------------------------------------------------------------*/ +/* Sub-Menu Navigation */ +/*-------------------------------------------------------------------------------------------*/ + +body.js #woo_container #woo-nav ul.sub-menu { display: none; margin: 0 1px; } +#wpwrap #woo_container #woo-nav li.top-level:hover { background-color: #e4e4e4; } +#wpwrap #woo_container #woo-nav li.top-level:hover .flyout-menu { display: block; } +#wpwrap #woo_container #woo-nav li.top-level.open:hover .flyout-menu { display: none; } +body.js #woo_container #woo-nav .flyout-menu { z-index: 9998; display: none; position: absolute; left: 190px; margin-top: -35px; width: 150px; background: #FFFFFF; border: 1px solid #EBEBEB; box-shadow: 5px 5px 10px rgba( 0, 0, 0, 0.4 ); } +body.js #woo_container #woo-nav .flyout-menu ul { border: none; padding:5px 0;} +#wpwrap #woo_container #woo-nav .flyout-menu li a { padding-left: 20px; } +body.js #woo_container #woo-nav li.open .flyout-menu { display: none; } +#wpwrap #woo_container #woo-nav .sub-menu a, #wpwrap #woo_container #woo-nav .flyout-menu a { background-color: #FFFFFF; background-image: none; border-bottom: 0; padding: 3px 5px 3px 15px; font-weight: normal; border: none; color: #21759B; text-shadow: none; } +#wpwrap #woo_container #woo-nav .sub-menu a:hover { background-color: #eaf2fa; color: #333; } +#wpwrap #woo_container #woo-nav .flyout-menu a:hover { background-color: none; color: #333; } +#wpwrap #woo_container #woo-nav .sub-menu .active a, #wpwrap #woo_container #woo-nav .flyout-menu .active a { color: #333333; font-weight: bold; } + +#woo_container #content { float: left; min-height: 650px; width: 595px; margin-left: -1px; padding: 0 20px; font-family: sans-serif; background-color: #fff; border-left: 1px solid #d8d8d8; } + +#woo_container #content .group h1 { display:none; padding: 20px 0; margin: 0 0 20px; font-size: 23px; color:#464646; font-weight:normal; border-bottom: 1px solid #e0e0e0; } + +#woo_container #content .section { margin-bottom: 10px; border-bottom: 1px solid #E7E7E7; padding-bottom:15px; } +#woo_container #content .section h3.heading { font-size:1.1em; margin: 15px 0 5px; padding: 7px 0px; } +#woo_container #content .section.section-info { border-bottom: none; margin:0; padding:0; } +#woo_container #content .section .controls { float: left; width: 345px; margin: 0 15px 0 0; } +#woo_container #content .section .explain { float: left; width: 235px; padding: 0 0 0 0; font-size: 11px; color: #999999; font-family: sans-serif; } + +#woo_container #content .section-checkbox .controls { width:25px} +#woo_container #content .section-checkbox .explain { width:540px} + +#woo_container #content .section-color .controls { width:125px} +#woo_container #content .section-color .explain { width:440px} + +#woo_container #content .section-info h3.heading { + font-size: 12px; font-weight: 100; border: 0; margin-top: 20px; letter-spacing: 1px; border-top: 1px solid #FFF298; margin-bottom: 0; background:#EFE186; padding: 10px 20px; } +#woo_container #content .section-info .controls { margin: 0 0 10px; padding: 15px 20px; width: auto; line-height: 1.5em; font-size: 14px; font-style: italic; font-family: Georgia, serif; background: #FFF298; border:1px solid #ECD852; color:#424242;} +#woo_container #content .section-info .controls small { font-size: 12px} + +#woo_container #content .section-info h3.heading { + -moz-border-radius-topleft:4px; + -moz-border-radius-topright:4px; +} +#woo_container #content .section-info .controls{ + float:none; + -moz-border-radius-bottomleft:4px; + -moz-border-radius-bottomright:4px; +} + +#woo_container textarea, #woo_container input, #woo_container select { + -moz-border-radius:4px; + -webkit-border-radius:4px; + -border-radius:4px; + border-style:solid; + border-width:1px; +} + +#woo_container input[type="checkbox"], #woo_container input[type="radio"] { + vertical-align: baseline; +} + +#woo_container .controls input,#woo_container .controls select,#woo_container .controls textarea { + margin-bottom: 9px !important; + background-color: #fafafa; + border: 1px solid; + border-color: #CCCCCC #EEEEEE #EEEEEE #CCCCCC; + width: 340px; + padding: 5px; + font-family: sans-serif; + font-size: 12px; + color:#555; +} +#woo_container .controls input:hover,#woo_container .controls select:hover,#woo_container .controls textarea:hover { color:#333; background: #fff;} + +#woo_container .controls input.upload { width:279px; padding-bottom:6px; } +#woo_container .controls input.upload_button { font-size: 12px; float: right; width: 55px; height: 28px; border-color: #BBBBBB; cursor: pointer; padding: 0; margin: 0; margin-top: 1px; padding-top: 1px; } +#woo_container .controls input.upload_button:hover { border-color: #999999; color: #000000; } + +body.version-3-4-1 #woo_container .controls input.upload_button, +body.version-3-4-2 #woo_container .controls input.upload_button { height: 25px; } + +#woo_container .section-upload_min .controls input.upload_button { float: left; } + +#woo_container .screenshot { + float:left; + margin-left:1px; + position:relative; + width:344px; + margin-top:3px; + z-index: 1; +} + +#woo_container .screenshot img { + -moz-border-radius:4px; + -webkit-border-radius:4px; + -border-radius:4px; + background:#FAFAFA; + border-color:#CCCCCC #EEEEEE #EEEEEE #CCCCCC; + border-style:solid; + border-width:1px; + float:left; + max-width:334px; + padding:4px; +} + +#woo_container .screenshot .mlu_remove, #woo_container .typography-preview-container .preview_remove { + + background:url( "images/ico-delete.png") no-repeat; + border:medium none; + bottom:-4px; + display:block; + float:left; + height:16px; + padding:0; + position:absolute; + left:-4px; + text-indent:-9999px; + width:16px; +} + +#woo_container .screenshot .no_image .file_link { + margin-left: 20px; +} + +#woo_container .screenshot .no_image .mlu_remove { + bottom: 0px; +} + + +/* SELECT DROPDOWN */ +#woo_container #content select.woo-input { + cursor:pointer; + height:28px; + margin:0; + opacity:0; + padding:0; + position:relative; + width:inherit; + z-index:4; +} + +#woo_container #content .select_wrapper { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + font-family: sans-serif; + font-size: 12px; + background: #fafafa url(images/select.png) no-repeat right center; + border-color: #ccc #eee #eee #ccc; + border-style: solid; + border-width: 1px; + float: left; + height: 26px; + width: 344px; + margin: 0; + margin-bottom: 9px !important; + width: 344px; + display: block; + color: #555; +} +#woo_container #content .option-type .select_wrapper { + background-color: #fff; +} +#woo_container #content .select_wrapper:hover { + background-color: #fff; + border-color: #bbb #eee #eee #bbb; + color: #333; +} +#woo_container #content .select_wrapper span { + height: 26px; + line-height: 26px; + position: absolute; + z-index: 2; + padding-left: 6px; +} + + +#woo_container .colorSelector { margin-top:1px; } +#woo_container .colorSelector:hover { cursor:pointer; } +#woo_container .controls select { padding: 6px 4px; width: 340px } +#woo_container .controls select:hover { cursor: pointer;} +#woo_container .controls textarea {width: 345px; } + +#woo_container input[type=text], #woo_container select { height:28px; } +#woo_container input[type=text] { width: 340px; } + +#woo_container input.woo-input-calendar { width: 320px; } + +#woo_container input.checkbox { width: 30px; } +#woo_container input.woo-radio { width: 30px; } +#woo_container .controls .radio-wrapper { margin: 0 0 10px 0; } +#woo_container .controls .radio-wrapper input { margin-bottom: 0!important; } + +#woo_container .controls .input-text-small { width: 60px; margin-right:10px} +#woo_container .meta-two { margin-right:10px} + +#woo_container .controls .woo-color {float:left; width: 70px; margin-left:5px; /* font-size:20px; height:34px;*/} + +#woo_container #content .section-typography .controls { width:440px } +#woo_container #content .section-typography .explain { width:140px } + +#woo_container .controls .woo-typography-size { width:50px; float:left} +#woo_container .controls .woo-typography-unit { width:50px; float:left} +#woo_container .controls .woo-typography-face { width:100px; float:left} +#woo_container .controls .woo-typography-style { width:80px; float:left} +#woo_container .controls .woo-typography-preview-button { float: left; margin: 3px 0 0 5px; padding-top: 3px; } +#woo_container .controls .woo-typography-preview-button span { background: transparent url(images/ico-preview.png) no-repeat center center; display: block; text-indent: -9999px; width: 14px; height: 16px; } +#woo_container .controls .woo-typography-preview-button span.refresh { background-image: url(images/ico-refresh.png); } +#woo_container .typography-preview-container { clear: both; } +#woo_container .typography-preview-container .preview_remove { position: relative; float: right; margin-bottom: -10px; margin-right: -10px; z-index: 99; } +#woo_container .typography-preview { word-wrap: break-word; clear: both; padding: 20px; border: 1px solid #CCCCCC; background: #FDFDFD; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } + +.wf-loading #woo_container .typography-preview.current { background: #FDFDFD url(images/loading-bottom.gif) no-repeat 560px center; } /* Class is dynamically added to the "html" tag. */ + +#woo_container .controls .woo-radio-img-img { border:3px solid #dedede; margin:0 5px 10px 0; display:none; cursor:pointer; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } +#woo_container .controls .woo-radio-img-selected { border:3px solid #aaa; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px;} + +#woo_container .controls .woo-border-width { width:80px; float:left} +#woo_container .controls .woo-border-style { width:120px; float:left} + +#woo_container .section-timestamp .controls .ui-datepicker-trigger { float: left; position: relative; top: 7px; } +#woo_container .section-timestamp .woo-timestamp-at { position: relative; top: 2px; margin: 0 5px; } +#woo_container .section-timestamp .controls input.woo-input-calendar { width: 195px; float: right; } +#woo_container .section-timestamp .controls .time-selectors { float: right; } +#woo_container .controls select.woo-select-timestamp { width: 50px; } + +#woo_container .group { padding-bottom: 20px; } + +#woo_container input:focus,#woo_container select:focus, #woo_container textarea:focus { background:#fff;} + +#woo_container .happy { + background: #DBF6BE no-repeat 10px center; + border: solid #9BBF65; + border-width: 0px 1px 1px 1px; + color: #060; + font-weight: bold; + padding: 10px; + text-align: center; +} + +#woo_container .warning { + background: #ffeeee no-repeat 10px center;; + border: solid #dfbfbf; + border-width: 0px 1px 1px 1px; + color: #333; + font-weight: bold; + padding: 10px; + text-align: center; +} +#woo_container .update_available { + + background: #FFFEEB no-repeat 10px center;; + border: solid #CCCCCC; + border-width: 0px 1px 1px 1px; + color: #333; + font-weight: bold; + padding: 10px; + text-align: center; + + + +} + +#woo_container .woo-save-popup { position:absolute; -moz-border-radius:12px; background:rgba(0,0,0,0.4); color:#fff; font-size:24px; text-align:center; display:none; z-index: 10; } + +#woo_container .woo-save-save { background:url(images/happy.png) 20px 50% no-repeat; padding:30px 30px 30px 70px} +#woo_container .woo-save-reset { background:url(images/warning.png) 20px 50% no-repeat; padding:30px 30px 30px 70px} + +.upload_button_div { margin-bottom: 10px;} +.upload_button_div .button { padding:4px 14px; +} +.upload_button_div .image_reset_button { margin-left:10px} + +.upload-error { float:left;color:#666; font-size:10px; font-weight:bold; text-decoration:none; text-shadow:1px 1px 0 #FFFFFF; + margin: 0 10px 0 0; padding:3px 10px; background:#FFDFEC; -moz-border-radius:4px} + +.reset-button { color:#c77!important;text-shadow:0 1px 0 #fff !important;} +.reset-button:hover { border-color:#c77!important;} +.save_bar_top { background: #f3f3f3; border:solid #ccc; border-width:0px 1px 1px 1px; padding: 10px 20px 0px 20px; height: 35px; text-align: right; +/*INSET SHADOW*/ +-webkit-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +-moz-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +} +#wooform-reset { float: left; } + +.hide { display: none; } + +.ajax-loading-img-top { margin: 8px 4px 0; float: left; } +.ajax-loading-img-bottom {} + +.woo-option-image { max-width: 340px; } + +#woo_container .mini .controls select, #woo_container #content .section .mini .controls { width: 70px; } +#woo_container .mini .controls input, #woo_container #content .mini .controls { width: 70px; } + +#woo_container #content .mini .explain { width:500px; } + +.woo-notice { background: #ffd1d1 ; border:1px solid #DFA8A7; -moz-border-radius:8px; text-align: center; margin-bottom: 15px } + +#woo_container h3 { margin: 0 0 10px 0} +#woo_container h3 span { font-size: 10px; color: #ccc} + +/* Nav Menu - From wordpress */ +#menu-container .inside { padding-bottom: 10px; } + +.menu { + padding-top:1em; +} + +#menu-to-edit { + padding: 1em 0; +} + +.menu ul { + width: 100%; +} +.menu ul.sub-menu { +} +.menu li { + margin-bottom: 0; + position:relative; +} +.menu-item-bar { + clear:both; + line-height:1.5em; + position:relative; + margin-top: 13px; +} +.menu-item-handle { + border: 1px solid #E6E6E6; + position: relative; + padding-left: 10px; + height: auto; + width: 400px; + line-height: 35px; + text-shadow: 0 1px 0 #FFFFFF; + font-weight:bold; + overflow: hidden; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -khtml-border-radius: 6px; + word-wrap: break-word; +} +.menu-item-edit-active .menu-item-handle { + -moz-border-radius: 6px 6px 0 0; + -webkit-border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 0; + -khtml-border-bottom-right-radius: 0; + -khtml-border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.no-js .menu-item-edit-active .item-edit { + display: none; +} +.js .menu-item-handle { + cursor: move; +} +.menu li.deleting .menu-item-handle { + background-color: #f66; + background-image: none; + text-shadow: 0 0 0 #ccc; +} + +.menu-item-handle .item-title { + padding: 7px 0; + line-height: 20px; + display:block; + margin-right:13em; +} + +.item-type { text-transform: uppercase; font-size: 11px; color: #999999; padding-right: 10px; } +.item-controls { font-size: 11px; position: absolute; right: 20px; top: -1px; } +.item-controls a { text-decoration: none; } +.item-controls a:hover { cursor: pointer; } +.item-controls .item-order { padding-right: 10px;} +.item-controls .item-order a { + font-weight:bold; +} + +body.js .item-order { + display:none; +} + +.item-controls .menu-item-delete:hover { color: #ff0000; } + +.item-edit { + background: url( "../../../../wp-admin/images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -105px; + position: absolute; + right: -20px; + top: 0; + display: block; + width: 23px; + height: 36px; + overflow: hidden; + text-indent:-999em; + border-bottom: 1px solid #eee; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + -khtml-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; +} + +/* Menu editing */ +.menu-instructions-inactive { + display: none; +} +.menu-item-settings { + background: #F9F9F9; + display:block; + width: 492px; + padding: 10px 0 10px 10px; + border: solid #E6E6E6; + border-width: 0 1px 1px 1px; + -moz-border-radius: 0 0 6px 6px; + -webkit-border-bottom-right-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -khtml-border-bottom-right-radius: 6px; + -khtml-border-bottom-left-radius: 6px; +} + + +.menu-item-settings:after { + clear: both; + content: '.'; + display: block; + height: 0px; + visibility: hidden; +} +.menu-item-settings input { width: 100%!important} + +.menu-item-edit-active .menu-item-settings { + display:block; +} + +.menu-item-edit-inactive .menu-item-settings { + display:none; +} + +.add-menu-item-pagelinks { + margin:.5em auto; + text-align:center; +} + +.link-to-original { + display: block; + margin: 0 0 10px; + padding: 3px 5px 5px; + font-size: 11px; + color: #777; + font-style: italic; + border: 1px solid #dfdfdf; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -khtml-border-radius: 6px; +} + .link-to-original a { + padding-left: 4px; + font-style: normal; + } + +.hidden-field { + display: none; +} + +.menu-item-settings .description-thin, +.menu-item-settings .description-wide { + margin-right: 10px; + float: left; +} +.description-thin { + width: 190px; + height: 40px; +} +.description-wide { + width: 390px; +} + +.menu-item-actions { + padding-top: 15px; +} + +#cancel-save { cursor: pointer; } +#cancel-save:hover { color: #fff !important; } +#update-menu-item { color: #fff !important; } +#update-menu-item:hover, +#update-menu-item:active, +#update-menu-item:focus { color: #eaf2fa !important; border-color: #13455b !important; } + +/*-------------------------------------------------------------------------------------------*/ +/* Icons Option panel */ +/*-------------------------------------------------------------------------------------------*/ + +#woo_container #woo-nav ul li span.icon { + background-position: 0 center; + background-repeat: no-repeat; + display: block; + float: left; + height: 16px; + width: 16px; + margin-left: 10px; + padding: 16px 0 0 9px; +} + +#woo_container #woo-nav ul li.general span.icon { background-image:url(images/option-icon-general.png); } +#woo_container #woo-nav ul li.styling span.icon { background-image:url(images/option-icon-styling.png); } +#woo_container #woo-nav ul li.typography span.icon { background-image:url(images/option-icon-typography.png); } +#woo_container #woo-nav ul li.image span.icon { background-image:url(images/option-icon-image.png); } +#woo_container #woo-nav ul li.ads span.icon { background-image:url(images/option-icon-ads.png); } +#woo_container #woo-nav ul li.homepage span.icon { background-image:url(images/option-icon-homepage.png); } +#woo_container #woo-nav ul li.woocommerce span.icon { background-image:url(images/option-icon-woocommerce.png); } +#woo_container #woo-nav ul li.media span.icon { background-image:url(images/option-icon-media.png); } +#woo_container #woo-nav ul li.calendar span.icon { background-image:url(images/option-icon-calendar.png); } +#woo_container #woo-nav ul li.slider span.icon { background-image:url(images/option-icon-slider.png); } +#woo_container #woo-nav ul li.box span.icon { background-image:url(images/option-icon-box.png); } +#woo_container #woo-nav ul li.layout span.icon { background-image:url(images/option-icon-layout.png); } +#woo_container #woo-nav ul li.header span.icon { background-image:url(images/option-icon-header.png); } +#woo_container #woo-nav ul li.featured span.icon { background-image:url(images/option-icon-featured.png); } +#woo_container #woo-nav ul li.main span.icon { background-image:url(images/option-icon-main.png); } +#woo_container #woo-nav ul li.sidebar span.icon { background-image:url(images/option-icon-sidebar.png); } +#woo_container #woo-nav ul li.footer span.icon { background-image:url(images/option-icon-footer.png); } +#woo_container #woo-nav ul li.portfolio span.icon { background-image:url(images/option-icon-portfolio.png); } +#woo_container #woo-nav ul li.tumblog span.icon { background-image:url(images/option-icon-tumblog.png); } +#woo_container #woo-nav ul li.nav span.icon { background-image:url(images/option-icon-nav.png); } +#woo_container #woo-nav ul li.audio span.icon { background-image:url(images/option-icon-audio.png); } +#woo_container #woo-nav ul li.misc span.icon { background-image:url(images/option-icon-misc.png); } +#woo_container #woo-nav ul li.maps span.icon { background-image:url(images/option-icon-maps.png); } +#woo_container #woo-nav ul li.searchoption span.icon { background-image:url(images/option-icon-search.png); } +#woo_container #woo-nav ul li.upload span.icon { background-image:url(images/option-icon-upload.png); } +#woo_container #woo-nav ul li.favorite span.icon { background-image:url(images/option-icon-favorite.png); } +#woo_container #woo-nav ul li.listing span.icon { background-image:url(images/option-icon-listing.png); } +#woo_container #woo-nav ul li.post span.icon { background-image:url(images/option-icon-post.png); } +#woo_container #woo-nav ul li.connect span.icon { background-image:url(images/option-icon-connect.png); } +#woo_container #woo-nav ul li.wpsc_presentation span.icon { background-image:url(images/option-icon-cart.png); } +#woo_container #woo-nav ul li.presstrends span.icon { background-image:url(images/option-icon-presstrends.png); } + +/*-------------------------------------------------------------------------------------------*/ +/* GENERAL STYLES */ +/*-------------------------------------------------------------------------------------------*/ + +/* http://sonspring.com/journal/clearing-floats */ + +html body * span.clear, +html body * div.clear, +html body * li.clear, +html body * dd.clear +{ + background: none; + border: 0; + clear: both; + display: block; + float: none; + font-size: 0; + list-style: none; + margin: 0; + padding: 0; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; +} \ No newline at end of file diff --git a/wootique/functions/admin-tumblog-quickpress.php b/wootique/functions/admin-tumblog-quickpress.php new file mode 100755 index 0000000..f437300 --- /dev/null +++ b/wootique/functions/admin-tumblog-quickpress.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/wootique/functions/assets/css/activation.css b/wootique/functions/assets/css/activation.css new file mode 100755 index 0000000..1d1cd7d --- /dev/null +++ b/wootique/functions/assets/css/activation.css @@ -0,0 +1,103 @@ +.wf-wrap.about-wrap .theme-screenshot { + float: left; + max-width: 320px; + margin-right: 1.618em; + margin-bottom: 1.618em; +} +.wf-wrap .getting-started-buttons .button { + margin-right: 10px; +} +.wf-wrap .getting-started-buttons .dashicons:before { + line-height: 26px; +} +.wf-wrap ul.theme-info { + color: #666; +} +.wf-wrap ul.theme-info > li:first-child { + float: left; + margin-right: 10px; + padding-right: 10px; + border-right: 1px solid rgba(0, 0, 0, 0.1); +} +.wf-wrap table.theme-info tbody td { + padding-bottom: 2px; +} +.wf-wrap table.theme-info tfoot td { + padding-top: 5px; + font-size: 12px; + color: #999; +} +.wf-wrap table.theme-info tfoot td strong { + font-weight: normal; +} +.wf-wrap .plugin-name strong { + display: block; +} +.wf-wrap table.theme-info, +.wf-wrap table.wf-plugins { + margin-bottom: 1.618em; + max-width: 621px; +} +.wf-wrap table.theme-info tr td:first-child, +.wf-wrap table.wf-plugins tr td:first-child { + width: 63%; +} +.wf-wrap table.theme-info .actions, +.wf-wrap table.wf-plugins .actions, +.wf-wrap table.theme-info .version, +.wf-wrap table.wf-plugins .version { + text-align: right; + width: 100px; +} +.wf-wrap table.wf-plugins span.active { + background-color: #7ad03a; + color: #fff; + padding: 0 11px 2px; + line-height: 26px; + display: inline-block; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; +} +.wf-wrap .woo-notice { + background: #FFFFFF; + border-left: 4px solid #255A8C; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + margin: 5px 0 15px; + padding: 1px 12px; + font-size: 14px; +} +.wf-wrap .woo-notice p { + margin: .5em 0; + padding: 2px; +} +.wf-wrap .spacer { + margin: 2.618em 0 1.618em; + clear: both; +} +@media screen and (max-width: 782px) { + .wf-wrap.about-wrap .theme-name { + word-wrap: break-word; + } + .wf-wrap.about-wrap .wp-list-table.wf-plugins { + margin-top: 50px; + } + .wf-wrap.about-wrap .wp-list-table.wf-plugins .plugin-title, + .wf-wrap.about-wrap .wp-list-table.wf-plugins .column-name { + padding-left: 10px; + } + .wf-wrap .getting-started-buttons .dashicons:before { + line-height: 21px; + } +} +@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2) { + .wf-wrap.about-wrap .theme-screenshot { + max-width: 600px; + } +} diff --git a/wootique/functions/assets/css/activation.less b/wootique/functions/assets/css/activation.less new file mode 100755 index 0000000..7586153 --- /dev/null +++ b/wootique/functions/assets/css/activation.less @@ -0,0 +1,146 @@ +@import url( 'mixins.less' ); + +.wf-wrap { + &.about-wrap { + .theme-screenshot { + float: left; + max-width: 320px; + margin-right: 1.618em; + margin-bottom: 1.618em; + } + } + + .getting-started-buttons { + .button { + margin-right: 10px; + } + + .dashicons:before { + line-height: 26px; + } + } + + ul.theme-info { + color: #666; + + > li:first-child { + float: left; + margin-right: 10px; + padding-right: 10px; + border-right: 1px solid rgba(0,0,0,0.1); + } + } + + table.theme-info { + tbody { + td { + padding-bottom: 2px; + } + } + + tfoot { + td { + padding-top: 5px; + font-size: 12px; + color: #999; + + strong { + font-weight: normal; + } + } + } + } + + .plugin-name { + strong { + display: block; + } + } + + table.theme-info, + table.wf-plugins { + margin-bottom: 1.618em; + max-width: 621px; + + tr { + td { + &:first-child { + width: 63%; + } + } + } + + .actions, + .version { + text-align: right; + width: 100px; + } + } + + table.wf-plugins { + span.active { + background-color: #7ad03a; + color: #fff; + padding: 0 11px 2px; + line-height: 26px; + display: inline-block; + .border_radius(3px); + font-weight: 700; + } + } + + .woo-notice { + .woo_notice; + } + .woo-notice p { + margin: .5em 0; + padding: 2px; + } + + .spacer { + margin: 2.618em 0 1.618em; + clear: both; + } +} + +// Mobile +@media screen and (max-width: 782px) { + .wf-wrap { + &.about-wrap { + .theme-name { + word-wrap: break-word; + } + .wp-list-table { + &.wf-plugins { + margin-top: 50px; + .plugin-title, .column-name { + padding-left: 10px; + } + } + } + } + } + + .wf-wrap { + .getting-started-buttons { + .dashicons:before { + line-height: 21px; + } + } + } +} + +// Retina +@media only screen and (-webkit-min-device-pixel-ratio: 2), +only screen and ( min--moz-device-pixel-ratio: 2), +only screen and ( -o-min-device-pixel-ratio: 2/1), +only screen and ( min-device-pixel-ratio: 2), +{ + .wf-wrap { + &.about-wrap { + .theme-screenshot { + max-width: 600px; + } + } + } +} \ No newline at end of file diff --git a/wootique/functions/assets/css/admin.css b/wootique/functions/assets/css/admin.css new file mode 100755 index 0000000..9dc8369 --- /dev/null +++ b/wootique/functions/assets/css/admin.css @@ -0,0 +1,74 @@ +.wf-wrap .useful-links { + margin-left: 0; + display: block; + text-align: center; +} +.wf-wrap .useful-links li { + display: inline; + padding-right: 1.618em; +} +.wf-wrap .useful-links .documentation:before { + font-family: 'dashicons'; + content: "\f123"; + position: relative; + top: 2px; + right: 5px; +} +.wf-wrap .useful-links .changelog:before { + font-family: 'dashicons'; + content: "\f107"; + position: relative; + top: 2px; + right: 5px; +} +.wf-wrap .useful-links .support:before { + font-family: 'dashicons'; + content: "\f328"; + position: relative; + top: 2px; + right: 5px; +} +.wf-wrap .woo-notice { + background: #FFFFFF; + border-left: 4px solid #255A8C; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + margin: 5px 0 15px; + padding: 1px 12px; + font-size: 14px; +} +.wf-wrap .woo-notice p { + margin: .5em 0; + padding: 2px; +} +.wf-wrap .settings-section td .woo-notice { + margin-left: -10px; + margin-top: -15px; + margin-bottom: 0; +} +.wf-wrap .plugin-name strong { + display: block; +} +/* Styling for the 'useful links' section on desktop and larger screens. */ +@media screen and (min-width: 600px) { + .wf-wrap #settings-sections.subsubsub { + position: relative; + margin-right: 140px; + } + .wf-wrap .useful-links { + margin-left: 1em; + position: absolute; + right: 20px; + text-align: left; + } + .wf-wrap .useful-links li { + display: block; + padding: 0; + } +} +span.logo img { + height: auto; + max-height: 31px; +} diff --git a/wootique/functions/assets/css/admin.less b/wootique/functions/assets/css/admin.less new file mode 100755 index 0000000..1387ca8 --- /dev/null +++ b/wootique/functions/assets/css/admin.less @@ -0,0 +1,89 @@ +@import url( 'mixins.less' ); + +.wf-wrap { + .useful-links { + margin-left: 0; + display: block; + text-align: center; + li { + display: inline; + padding-right: 1.618em; + } + .documentation { + &:before { + font-family: 'dashicons'; + content: "\f123"; + position: relative; + top: 2px; + right: 5px; + } + } + + .changelog { + &:before { + font-family: 'dashicons'; + content: "\f107"; + position: relative; + top: 2px; + right: 5px; + } + } + + .support { + &:before { + font-family: 'dashicons'; + content: "\f328"; + position: relative; + top: 2px; + right: 5px; + } + } + } + .woo-notice { + .woo_notice; + } + .woo-notice p { + margin: .5em 0; + padding: 2px; + } + .settings-section { + td .woo-notice { + margin-left: -10px; + margin-top: -15px; + margin-bottom: 0; + } + } + .plugin-name { + strong { + display: block; + } + } +} + +/* Styling for the 'useful links' section on desktop and larger screens. */ +@media screen and (min-width: 600px) { + .wf-wrap { + #settings-sections.subsubsub { + position: relative; + margin-right: 140px; + } + + .useful-links { + margin-left: 1em; + position: absolute; + right: 20px; + text-align: left; + li { + display: block; + padding: 0; + } + } + } +} + +span.logo { + img { + height: auto; + max-height: 31px; + } +} \ No newline at end of file diff --git a/wootique/functions/assets/css/fields.css b/wootique/functions/assets/css/fields.css new file mode 100755 index 0000000..5494aa0 --- /dev/null +++ b/wootique/functions/assets/css/fields.css @@ -0,0 +1,356 @@ +/* Tweaks to the styling of "Chosen". */ +.wf-field-select select, +.wf-field-select2 select, +.wf-field-select .chosen-container, +.wf-field-select2 .chosen-container { + min-width: 300px; +} +.wf-field select { + min-width: 75px; +} +.wf-field .wp-picker-holder { + position: absolute; + z-index: 99; +} +.wf-field-typography { + line-height: 2.8; + /* Fixes alignment of Chosen fields with the colourpicker. */ +} +.wf-field-typography .chosen-container.woo-typography-font-face { + min-width: 250px; +} +.wf-field-typography .wp-picker-clear { + position: relative; + top: 9px; +} +.wf-field-border { + line-height: 2.8; + /* Fixes alignment of Chosen fields with the colourpicker. */ +} +.wf-field-border .wp-picker-clear { + position: absolute; + top: 8px; +} +.wf-info-box { + border: 1px solid #CCCCCC; + background: #EBEBEB; + max-width: 650px; + padding: 0.8em; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + margin-left: -15px; +} +.wf-info-box .title { + margin-top: 0; +} +.radio-images { + position: relative; + top: -30px; +} +.radio-image-thumb { + border: 3px solid #CCC; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; + margin-right: 5px; + width: 45px; + height: 35px; + padding: 2px; + background-color: #e1e1e1; +} +.radio-image-thumb:hover, +.radio-image-thumb.active { + border-color: #999; +} +.wf-field-timestamp img, +.wf-field-calendar img { + position: relative; + top: 0px; + left: 4px; + margin-right: 4px; +} +.wf-field-border .wp-picker-container { + position: relative; + /* top: 8px; */ +} +.wf-field-multi_field input { + max-width: 75px; +} +.image-preview.no-image img { + display: none; +} +.image-preview.no-image .remove { + display: none; +} +.image-preview.has-image { + padding: 0.15em; + padding-top: 0.5em; +} +.image-preview.has-image .remove { + display: block; + font-size: 80%; +} +.image-preview img { + max-width: 175px; + height: auto; +} +.wf-field-typography .unit-px .hide-if-px { + display: none; +} +.wf-field-typography .unit-em .hide-if-em { + display: none; +} +.ui-datepicker { + background: #FFFFFF; + border: 1px solid #DDDDDD; + margin-top: 5px; + -webkit-border-radius: 6px; + border-radius: 6px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.ui-datepicker .ui-datepicker-header { + background: #EBEBEB; + border-bottom: 1px solid #DDDDDD; + padding: 0.6em 0.6em; +} +.ui-datepicker .ui-datepicker-header .ui-corner-all { + position: absolute; + top: 7px; + display: inline-block; + cursor: pointer; +} +.ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + left: 8px; +} +.ui-datepicker .ui-datepicker-header .ui-datepicker-next { + right: 8px; +} +.ui-datepicker .ui-datepicker-header .ui-datepicker-title { + text-align: center; + padding-left: 10px; + padding-right: 10px; +} +.ui-datepicker .ui-datepicker-calendar { + border-spacing: 0; +} +.ui-datepicker .ui-datepicker-calendar th { + padding: 0.5em; + text-align: right; +} +.ui-datepicker .ui-datepicker-calendar td { + text-align: right; +} +.ui-datepicker .ui-datepicker-calendar td a { + display: block; + padding: 0.5em; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-calendar td a.ui-state-default { + background: #EBEBEB; +} +.ui-datepicker .ui-datepicker-calendar td a.ui-state-active { + background: #21759b; + color: #FFFFFF; +} +.ui-datepicker .ui-datepicker-calendar td a.ui-state-highlight { + background: #CDCDCD; +} +.ui-datepicker .ui-datepicker-calendar td.ui-state-disabled { + background: #FFFFFF; +} +.wf-field-slider { + /* Component containers + ----------------------------------*/ + /* Interaction states + ----------------------------------*/ + /* Misc visuals + ----------------------------------*/ + /* Corner radius */ +} +.wf-field-slider .chosen-container { + display: none; +} +.wf-field-slider .slider-value { + position: relative; + bottom: 16px; + left: 325px; + font-weight: bold; + font-size: 1.2em; + width: 75px; +} +.wf-field-slider .ui-slider { + max-width: 300px; +} +.wf-field-slider .ui-slider { + position: relative; + text-align: left; +} +.wf-field-slider .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; +} +.wf-field-slider .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} +.wf-field-slider .ui-slider-horizontal { + height: .8em; +} +.wf-field-slider .ui-slider-horizontal .ui-slider-handle { + top: -0.3em; + margin-left: -0.6em; +} +.wf-field-slider .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.wf-field-slider .ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.wf-field-slider .ui-slider-horizontal .ui-slider-range-max { + right: 0; +} +.wf-field-slider .ui-slider-vertical { + width: .8em; + height: 100px; +} +.wf-field-slider .ui-slider-vertical .ui-slider-handle { + left: -0.3em; + margin-left: 0; + margin-bottom: -0.6em; +} +.wf-field-slider .ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.wf-field-slider .ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.wf-field-slider .ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.wf-field-slider .ui-widget { + font-family: Verdana, Arial, sans-serif /*{ffDefault}*/; + font-size: 1.1em /*{fsDefault}*/; +} +.wf-field-slider .ui-widget .ui-widget { + font-size: 1em; +} +.wf-field-slider .ui-widget input, +.wf-field-slider .ui-widget select, +.wf-field-slider .ui-widget textarea, +.wf-field-slider .ui-widget button { + font-family: Verdana, Arial, sans-serif /*{ffDefault}*/; + font-size: 1em; +} +.wf-field-slider .ui-widget-content { + border: 1px solid #aaaaaa /*{borderColorContent}*/; + background: #ffffff /*{bgColorContent}*/ url(../images/ui-bg_flat_75_ffffff_40x100.png) /*{bgImgUrlContent}*/ 50% /*{bgContentXPos}*/ 50% /*{bgContentYPos}*/ repeat-x /*{bgContentRepeat}*/; + color: #222222 /*{fcContent}*/; +} +.wf-field-slider .ui-widget-content a { + color: #222222 /*{fcContent}*/; +} +.wf-field-slider .ui-widget-header { + border: 1px solid #aaaaaa /*{borderColorHeader}*/; + background: #cccccc /*{bgColorHeader}*/ url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) /*{bgImgUrlHeader}*/ 50% /*{bgHeaderXPos}*/ 50% /*{bgHeaderYPos}*/ repeat-x /*{bgHeaderRepeat}*/; + color: #222222 /*{fcHeader}*/; + font-weight: bold; +} +.wf-field-slider .ui-widget-header a { + color: #222222 /*{fcHeader}*/; +} +.wf-field-slider .ui-state-default, +.wf-field-slider .ui-widget-content .ui-state-default, +.wf-field-slider .ui-widget-header .ui-state-default { + border: 1px solid #d3d3d3 /*{borderColorDefault}*/; + background: #e6e6e6 /*{bgColorDefault}*/ url(../images/ui-bg_glass_75_e6e6e6_1x400.png) /*{bgImgUrlDefault}*/ 50% /*{bgDefaultXPos}*/ 50% /*{bgDefaultYPos}*/ repeat-x /*{bgDefaultRepeat}*/; + font-weight: normal /*{fwDefault}*/; + color: #555555 /*{fcDefault}*/; +} +.wf-field-slider .ui-state-default a, +.wf-field-slider .ui-state-default a:link, +.wf-field-slider .ui-state-default a:visited { + color: #555555 /*{fcDefault}*/; + text-decoration: none; +} +.wf-field-slider .ui-state-hover, +.wf-field-slider .ui-widget-content .ui-state-hover, +.wf-field-slider .ui-widget-header .ui-state-hover, +.wf-field-slider .ui-state-focus, +.wf-field-slider .ui-widget-content .ui-state-focus, +.wf-field-slider .ui-widget-header .ui-state-focus { + border: 1px solid #999999 /*{borderColorHover}*/; + background: #dadada /*{bgColorHover}*/ url(../images/ui-bg_glass_75_dadada_1x400.png) /*{bgImgUrlHover}*/ 50% /*{bgHoverXPos}*/ 50% /*{bgHoverYPos}*/ repeat-x /*{bgHoverRepeat}*/; + font-weight: normal /*{fwDefault}*/; + color: #212121 /*{fcHover}*/; +} +.wf-field-slider .ui-state-hover a, +.wf-field-slider .ui-state-hover a:hover { + color: #212121 /*{fcHover}*/; + text-decoration: none; +} +.wf-field-slider .ui-state-active, +.wf-field-slider .ui-widget-content .ui-state-active, +.wf-field-slider .ui-widget-header .ui-state-active { + border: 1px solid #aaaaaa /*{borderColorActive}*/; + background: #ffffff /*{bgColorActive}*/ url(../images/ui-bg_glass_65_ffffff_1x400.png) /*{bgImgUrlActive}*/ 50% /*{bgActiveXPos}*/ 50% /*{bgActiveYPos}*/ repeat-x /*{bgActiveRepeat}*/; + font-weight: normal /*{fwDefault}*/; + color: #212121 /*{fcActive}*/; +} +.wf-field-slider .ui-state-active a, +.wf-field-slider .ui-state-active a:link, +.wf-field-slider .ui-state-active a:visited { + color: #212121 /*{fcActive}*/; + text-decoration: none; +} +.wf-field-slider .ui-widget :active { + outline: none; +} +.wf-field-slider .ui-corner-all, +.wf-field-slider .ui-corner-top, +.wf-field-slider .ui-corner-left, +.wf-field-slider .ui-corner-tl { + -moz-border-radius-topleft: 4px /*{cornerRadius}*/; + -webkit-border-top-left-radius: 4px /*{cornerRadius}*/; + -khtml-border-top-left-radius: 4px /*{cornerRadius}*/; + border-top-left-radius: 4px /*{cornerRadius}*/; +} +.wf-field-slider .ui-corner-all, +.wf-field-slider .ui-corner-top, +.wf-field-slider .ui-corner-right, +.wf-field-slider .ui-corner-tr { + -moz-border-radius-topright: 4px /*{cornerRadius}*/; + -webkit-border-top-right-radius: 4px /*{cornerRadius}*/; + -khtml-border-top-right-radius: 4px /*{cornerRadius}*/; + border-top-right-radius: 4px /*{cornerRadius}*/; +} +.wf-field-slider .ui-corner-all, +.wf-field-slider .ui-corner-bottom, +.wf-field-slider .ui-corner-left, +.wf-field-slider .ui-corner-bl { + -moz-border-radius-bottomleft: 4px /*{cornerRadius}*/; + -webkit-border-bottom-left-radius: 4px /*{cornerRadius}*/; + -khtml-border-bottom-left-radius: 4px /*{cornerRadius}*/; + border-bottom-left-radius: 4px /*{cornerRadius}*/; +} +.wf-field-slider .ui-corner-all, +.wf-field-slider .ui-corner-bottom, +.wf-field-slider .ui-corner-right, +.wf-field-slider .ui-corner-br { + -moz-border-radius-bottomright: 4px /*{cornerRadius}*/; + -webkit-border-bottom-right-radius: 4px /*{cornerRadius}*/; + -khtml-border-bottom-right-radius: 4px /*{cornerRadius}*/; + border-bottom-right-radius: 4px /*{cornerRadius}*/; +} diff --git a/wootique/functions/assets/css/fields.less b/wootique/functions/assets/css/fields.less new file mode 100755 index 0000000..bc2c4ab --- /dev/null +++ b/wootique/functions/assets/css/fields.less @@ -0,0 +1,222 @@ +@import url( 'mixins.less' ); + +/* Tweaks to the styling of "Chosen". */ +.wf-field-select, .wf-field-select2 { + select, .chosen-container { min-width: 300px; } +} + +.wf-field select { + min-width: 75px; +} + +.wf-field { + .wp-picker-holder { + position: absolute; + z-index: 99; + } +} + +.wf-field-typography { + line-height: 2.8; /* Fixes alignment of Chosen fields with the colourpicker. */ + .chosen-container.woo-typography-font-face { + min-width: 250px; + } + + .wp-picker-clear { + position: relative; + top: 9px; + } +} + +.wf-field-border { + line-height: 2.8; /* Fixes alignment of Chosen fields with the colourpicker. */ + .wp-picker-clear { + position: absolute; + top: 8px; + } +} + +.wf-info-box { + border: 1px solid #CCCCCC; background: #EBEBEB; max-width: 650px; padding: 0.8em; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; margin-left: -15px; + .title { margin-top: 0; } +} + +.radio-images { + position: relative; top: -30px; +} + +.radio-image-thumb { + border: 3px solid #CCC; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; + margin-right: 5px; + width: 45px; + height: 35px; + padding: 2px; + background-color: #e1e1e1; +} + +.radio-image-thumb:hover, +.radio-image-thumb.active { + border-color: #999; +} + +.wf-field-timestamp img, .wf-field-calendar img { position: relative; top: 0px; left: 4px; margin-right: 4px; } + +.wf-field-border { + .wp-picker-container { + position: relative; + /* top: 8px; */ + } +} + +.wf-field-multi_field { + input { + max-width: 75px; + } +} + +.image-preview { + &.no-image { + img { + display: none; + } + .remove { + display: none; + } + } + &.has-image { + padding: 0.15em; + padding-top: 0.5em; + .remove { + display: block; + font-size: 80%; + } + } + img { + max-width: 175px; + height: auto; + } +} + +.wf-field-typography { + .unit-px .hide-if-px { + display: none; + } + .unit-em .hide-if-em { + display: none; + } +} + +.ui-datepicker { + background: #FFFFFF; + border: 1px solid #DDDDDD; + margin-top: 5px; + .border_radius( 6px ); + + .ui-datepicker-header { + background: #EBEBEB; + border-bottom: 1px solid #DDDDDD; + padding: 0.6em 0.6em; + .ui-corner-all { + position: absolute; + top: 7px; + display: inline-block; + cursor: pointer; + } + .ui-datepicker-prev { + left: 8px; + } + .ui-datepicker-next { + right: 8px; + } + .ui-datepicker-title { + text-align: center; + padding-left: 10px; + padding-right: 10px; + } + } + + .ui-datepicker-calendar { + border-spacing: 0; + th { + padding: 0.5em; + text-align: right; + } + td { + text-align: right; + a { + display: block; + padding: 0.5em; + text-decoration: none; + &.ui-state-default { + background: #EBEBEB; + } + &.ui-state-active { + background: #21759b; + color: #FFFFFF; + } + &.ui-state-highlight { + background: #CDCDCD; + } + } + &.ui-state-disabled { + background: #FFFFFF; + } + } + } +} + +.wf-field-slider { + .chosen-container { display: none; } + .slider-value { position: relative; bottom: 16px; left: 325px; font-weight: bold; font-size: 1.2em; width: 75px; } + + .ui-slider { max-width: 300px; } + + .ui-slider { position: relative; text-align: left; } + .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } + .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + + .ui-slider-horizontal { height: .8em; } + .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } + .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } + .ui-slider-horizontal .ui-slider-range-min { left: 0; } + .ui-slider-horizontal .ui-slider-range-max { right: 0; } + + .ui-slider-vertical { width: .8em; height: 100px; } + .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } + .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } + .ui-slider-vertical .ui-slider-range-min { bottom: 0; } + .ui-slider-vertical .ui-slider-range-max { top: 0; } + + /* Component containers + ----------------------------------*/ + .ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; } + .ui-widget .ui-widget { font-size: 1em; } + .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; } + .ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(../images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; } + .ui-widget-content a { color: #222222/*{fcContent}*/; } + .ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; } + .ui-widget-header a { color: #222222/*{fcHeader}*/; } + + /* Interaction states + ----------------------------------*/ + .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(../images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; } + .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; } + .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(../images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; } + .ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; } + .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(../images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; } + .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; } + .ui-widget :active { outline: none; } + + /* Misc visuals + ----------------------------------*/ + + /* Corner radius */ + .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; -khtml-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; } + .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; -khtml-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } + .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } + .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +} \ No newline at end of file diff --git a/wootique/functions/assets/css/lib/chosen.css b/wootique/functions/assets/css/lib/chosen.css new file mode 100755 index 0000000..ba9c70e --- /dev/null +++ b/wootique/functions/assets/css/lib/chosen.css @@ -0,0 +1,430 @@ +/* @group Base */ +.chosen-container { + position: relative; + display: inline-block; + vertical-align: middle; + font-size: 13px; + zoom: 1; + *display: inline; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.chosen-container .chosen-drop { + position: absolute; + top: 100%; + left: -9999px; + z-index: 1010; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: 1px solid #aaa; + border-top: 0; + background: #fff; + box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15); +} +.chosen-container.chosen-with-drop .chosen-drop { + left: 0; +} +.chosen-container a { + cursor: pointer; +} + +/* @end */ +/* @group Single Chosen */ +.chosen-container-single .chosen-single { + position: relative; + display: block; + overflow: hidden; + padding: 0 0 0 8px; + height: 23px; + border: 1px solid #aaa; + border-radius: 5px; + background-color: #fff; + background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4)); + background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background-clip: padding-box; + box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1); + color: #444; + text-decoration: none; + white-space: nowrap; + line-height: 24px; +} +.chosen-container-single .chosen-default { + color: #999; +} +.chosen-container-single .chosen-single span { + display: block; + overflow: hidden; + margin-right: 26px; + text-overflow: ellipsis; + white-space: nowrap; +} +.chosen-container-single .chosen-single-with-deselect span { + margin-right: 38px; +} +.chosen-container-single .chosen-single abbr { + position: absolute; + top: 6px; + right: 26px; + display: block; + width: 12px; + height: 12px; + background: url('../../images/lib/chosen-sprite.png') -42px 1px no-repeat; + font-size: 1px; +} +.chosen-container-single .chosen-single abbr:hover { + background-position: -42px -10px; +} +.chosen-container-single.chosen-disabled .chosen-single abbr:hover { + background-position: -42px -10px; +} +.chosen-container-single .chosen-single div { + position: absolute; + top: 0; + right: 0; + display: block; + width: 18px; + height: 100%; +} +.chosen-container-single .chosen-single div b { + display: block; + width: 100%; + height: 100%; + background: url('../../images/lib/chosen-sprite.png') no-repeat 0px 2px; +} +.chosen-container-single .chosen-search { + position: relative; + z-index: 1010; + margin: 0; + padding: 3px 4px; + white-space: nowrap; +} +.chosen-container-single .chosen-search input[type="text"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 1px 0; + padding: 4px 20px 4px 5px; + width: 100%; + height: auto; + outline: 0; + border: 1px solid #aaa; + background: white url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px; + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, linear-gradient(#eeeeee 1%, #ffffff 15%); + font-size: 1em; + font-family: sans-serif; + line-height: normal; + border-radius: 0; +} +.chosen-container-single .chosen-drop { + margin-top: -1px; + border-radius: 0 0 4px 4px; + background-clip: padding-box; +} +.chosen-container-single.chosen-container-single-nosearch .chosen-search { + position: absolute; + left: -9999px; +} + +/* @end */ +/* @group Results */ +.chosen-container .chosen-results { + position: relative; + overflow-x: hidden; + overflow-y: auto; + margin: 0 4px 4px 0; + padding: 0 0 0 4px; + max-height: 240px; + -webkit-overflow-scrolling: touch; +} +.chosen-container .chosen-results li { + display: none; + margin: 0; + padding: 5px 6px; + list-style: none; + line-height: 15px; +} +.chosen-container .chosen-results li.active-result { + display: list-item; + cursor: pointer; +} +.chosen-container .chosen-results li.disabled-result { + display: list-item; + color: #ccc; + cursor: default; +} +.chosen-container .chosen-results li.highlighted { + background-color: #3875d7; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc)); + background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: linear-gradient(#3875d7 20%, #2a62bc 90%); + color: #fff; +} +.chosen-container .chosen-results li.no-results { + display: list-item; + background: #f4f4f4; +} +.chosen-container .chosen-results li.group-result { + display: list-item; + font-weight: bold; + cursor: default; +} +.chosen-container .chosen-results li.group-option { + padding-left: 15px; +} +.chosen-container .chosen-results li em { + font-style: normal; + text-decoration: underline; +} + +/* @end */ +/* @group Multi Chosen */ +.chosen-container-multi .chosen-choices { + position: relative; + overflow: hidden; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + padding: 0; + width: 100%; + height: auto !important; + height: 1%; + border: 1px solid #aaa; + background-color: #fff; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); + background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); + background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%); + background-image: linear-gradient(#eeeeee 1%, #ffffff 15%); + cursor: text; +} +.chosen-container-multi .chosen-choices li { + float: left; + list-style: none; +} +.chosen-container-multi .chosen-choices li.search-field { + margin: 0; + padding: 0; + white-space: nowrap; +} +.chosen-container-multi .chosen-choices li.search-field input[type="text"] { + margin: 1px 0; + padding: 5px; + height: 15px; + outline: 0; + border: 0 !important; + background: transparent !important; + box-shadow: none; + color: #666; + font-size: 100%; + font-family: sans-serif; + line-height: normal; + border-radius: 0; +} +.chosen-container-multi .chosen-choices li.search-field .default { + color: #999; +} +.chosen-container-multi .chosen-choices li.search-choice { + position: relative; + margin: 3px 0 3px 5px; + padding: 3px 20px 3px 5px; + border: 1px solid #aaa; + border-radius: 3px; + background-color: #e4e4e4; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); + background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-clip: padding-box; + box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05); + color: #333; + line-height: 13px; + cursor: default; +} +.chosen-container-multi .chosen-choices li.search-choice .search-choice-close { + position: absolute; + top: 4px; + right: 3px; + display: block; + width: 12px; + height: 12px; + background: url('../../images/lib/chosen-sprite.png') -42px 1px no-repeat; + font-size: 1px; +} +.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover { + background-position: -42px -10px; +} +.chosen-container-multi .chosen-choices li.search-choice-disabled { + padding-right: 5px; + border: 1px solid #ccc; + background-color: #e4e4e4; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); + background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + color: #666; +} +.chosen-container-multi .chosen-choices li.search-choice-focus { + background: #d4d4d4; +} +.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close { + background-position: -42px -10px; +} +.chosen-container-multi .chosen-results { + margin: 0; + padding: 0; +} +.chosen-container-multi .chosen-drop .result-selected { + display: list-item; + color: #ccc; + cursor: default; +} + +/* @end */ +/* @group Active */ +.chosen-container-active .chosen-single { + border: 1px solid #5897fb; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); +} +.chosen-container-active.chosen-with-drop .chosen-single { + border: 1px solid #aaa; + -moz-border-radius-bottomright: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomleft: 0; + border-bottom-left-radius: 0; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff)); + background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: linear-gradient(#eeeeee 20%, #ffffff 80%); + box-shadow: 0 1px 0 #fff inset; +} +.chosen-container-active.chosen-with-drop .chosen-single div { + border-left: none; + background: transparent; +} +.chosen-container-active.chosen-with-drop .chosen-single div b { + background-position: -18px 2px; +} +.chosen-container-active .chosen-choices { + border: 1px solid #5897fb; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); +} +.chosen-container-active .chosen-choices li.search-field input[type="text"] { + color: #111 !important; +} + +/* @end */ +/* @group Disabled Support */ +.chosen-disabled { + opacity: 0.5 !important; + cursor: default; +} +.chosen-disabled .chosen-single { + cursor: default; +} +.chosen-disabled .chosen-choices .search-choice .search-choice-close { + cursor: default; +} + +/* @end */ +/* @group Right to Left */ +.chosen-rtl { + text-align: right; +} +.chosen-rtl .chosen-single { + overflow: visible; + padding: 0 8px 0 0; +} +.chosen-rtl .chosen-single span { + margin-right: 0; + margin-left: 26px; + direction: rtl; +} +.chosen-rtl .chosen-single-with-deselect span { + margin-left: 38px; +} +.chosen-rtl .chosen-single div { + right: auto; + left: 3px; +} +.chosen-rtl .chosen-single abbr { + right: auto; + left: 26px; +} +.chosen-rtl .chosen-choices li { + float: right; +} +.chosen-rtl .chosen-choices li.search-field input[type="text"] { + direction: rtl; +} +.chosen-rtl .chosen-choices li.search-choice { + margin: 3px 5px 3px 0; + padding: 3px 5px 3px 19px; +} +.chosen-rtl .chosen-choices li.search-choice .search-choice-close { + right: auto; + left: 4px; +} +.chosen-rtl.chosen-container-single-nosearch .chosen-search, +.chosen-rtl .chosen-drop { + left: 9999px; +} +.chosen-rtl.chosen-container-single .chosen-results { + margin: 0 0 4px 4px; + padding: 0 4px 0 0; +} +.chosen-rtl .chosen-results li.group-option { + padding-right: 15px; + padding-left: 0; +} +.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div { + border-right: none; +} +.chosen-rtl .chosen-search input[type="text"] { + padding: 4px 5px 4px 20px; + background: white url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px; + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, linear-gradient(#eeeeee 1%, #ffffff 15%); + direction: rtl; +} +.chosen-rtl.chosen-container-single .chosen-single div b { + background-position: 6px 2px; +} +.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b { + background-position: -12px 2px; +} + +/* @end */ +/* @group Retina compatibility */ +@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) { + .chosen-rtl .chosen-search input[type="text"], + .chosen-container-single .chosen-single abbr, + .chosen-container-single .chosen-single div b, + .chosen-container-single .chosen-search input[type="text"], + .chosen-container-multi .chosen-choices .search-choice .search-choice-close, + .chosen-container .chosen-results-scroll-down span, + .chosen-container .chosen-results-scroll-up span { + background-image: url('../../images/lib/chosen-sprite@2x.png') !important; + background-size: 52px 37px !important; + background-repeat: no-repeat !important; + } +} +/* @end */ diff --git a/wootique/functions/assets/css/lib/chosen.min.css b/wootique/functions/assets/css/lib/chosen.min.css new file mode 100755 index 0000000..3f3f5dd --- /dev/null +++ b/wootique/functions/assets/css/lib/chosen.min.css @@ -0,0 +1,3 @@ +/* Chosen v1.0.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ + +.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;*display:inline;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:23px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(chosen-sprite.png) no-repeat 0 2px}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:#fff url(chosen-sprite.png) no-repeat 100% -20px;background:url(chosen-sprite.png) no-repeat 100% -20px,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(chosen-sprite.png) no-repeat 100% -20px,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat 100% -20px,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat 100% -20px,-o-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat 100% -20px,linear-gradient(#eee 1%,#fff 15%);font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:5px;height:15px;outline:0;border:0!important;background:transparent!important;box-shadow:none;color:#666;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-field .default{color:#999}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 0 3px 5px;padding:3px 20px 3px 5px;border:1px solid #aaa;border-radius:3px;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:0;background:transparent}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#111!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single-nosearch .chosen-search,.chosen-rtl .chosen-drop{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:0}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:#fff url(chosen-sprite.png) no-repeat -30px -20px;background:url(chosen-sprite.png) no-repeat -30px -20px,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(chosen-sprite.png) no-repeat -30px -20px,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat -30px -20px,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat -30px -20px,-o-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat -30px -20px,linear-gradient(#eee 1%,#fff 15%);direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.chosen-rtl .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-container-single .chosen-search input[type=text],.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background-image:url(chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}} \ No newline at end of file diff --git a/wootique/functions/assets/css/menu.css b/wootique/functions/assets/css/menu.css new file mode 100755 index 0000000..ec1ce6f --- /dev/null +++ b/wootique/functions/assets/css/menu.css @@ -0,0 +1,14 @@ +/* Icon Font */ +@font-face { + font-family: 'wooframework'; + src: url('../fonts/wooframework.eot'); + src: url('../fonts/wooframework.eot?#iefix') format('embedded-opentype'), url('../fonts/wooframework.woff') format('woff'), url('../fonts/wooframework.ttf') format('truetype'), url('../fonts/wooframework.svg#wooframework') format('svg'); + font-weight: normal; + font-style: normal; +} +/* Menu Icons */ +#adminmenu #toplevel_page_woothemes .menu-icon-generic div.wp-menu-image:before { + font-family: 'wooframework' !important; + content: "\e601"; + font-size: 1.3em !important; +} diff --git a/wootique/functions/assets/css/menu.less b/wootique/functions/assets/css/menu.less new file mode 100755 index 0000000..efa1a6d --- /dev/null +++ b/wootique/functions/assets/css/menu.less @@ -0,0 +1,18 @@ +/* Icon Font */ +@font-face { + font-family: 'wooframework'; + src:url('../fonts/wooframework.eot'); + src:url('../fonts/wooframework.eot?#iefix') format('embedded-opentype'), + url('../fonts/wooframework.woff') format('woff'), + url('../fonts/wooframework.ttf') format('truetype'), + url('../fonts/wooframework.svg#wooframework') format('svg'); + font-weight: normal; + font-style: normal; +} + +/* Menu Icons */ +#adminmenu #toplevel_page_woothemes .menu-icon-generic div.wp-menu-image:before { + font-family: 'wooframework' !important; + content: "\e601"; + font-size: 1.3em !important; +} \ No newline at end of file diff --git a/wootique/functions/assets/css/mixins.less b/wootique/functions/assets/css/mixins.less new file mode 100755 index 0000000..84a6f50 --- /dev/null +++ b/wootique/functions/assets/css/mixins.less @@ -0,0 +1,139 @@ +// =============================================================================== +// Mixins +// =============================================================================== +.clearfix() { + &:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } +} +.border_radius(@radius:10px) { + -webkit-border-radius:@radius; + border-radius:@radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_right(@radius:10px) { + -webkit-border-top-right-radius: @radius; + -webkit-border-bottom-right-radius: @radius; + border-top-right-radius: @radius; + border-bottom-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_left(@radius:10px) { + -webkit-border-top-left-radius: @radius; + -webkit-border-bottom-left-radius: @radius; + border-top-left-radius: @radius; + border-bottom-left-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_bottom(@radius:10px) { + -webkit-border-bottom-left-radius: @radius; + -webkit-border-bottom-right-radius: @radius; + border-bottom-left-radius: @radius; + border-bottom-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_top(@radius:10px) { + -webkit-border-top-left-radius: @radius; + -webkit-border-top-right-radius: @radius; + border-top-left-radius: @radius; + border-top-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_reset() { + -webkit-border-radius: none; + -moz-border-radius: none; + border-radius: none; +} + +.box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { + box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; + -webkit-box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; +} + +.inset_box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { + box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; + -webkit-box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; +} + +.box_shadow_reset() { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.text_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_color:#fff) { + text-shadow:@shadow_x @shadow_y @shadow_rad @shadow_color; +} + +.vertical_gradient(@from: #000, @to: #FFF) { + background-color: @from; + background-image: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to)); // Saf4+, Chrome + background-image: -webkit-linear-gradient(top, @from, @to); // Chrome 10+, Saf5.1+, iOS 5+ + background-image: -moz-linear-gradient(top, @from, @to); // FF3.6+ + background-image: -ms-linear-gradient(top, @from, @to); // IE10 + background-image: -o-linear-gradient(top, @from, @to); // Opera 11.10+ + background-image: linear-gradient(to bottom, @from, @to); +} + +.transition(@selector:all, @animation:ease-in-out, @duration:.2s) { + -webkit-transition:@selector @animation @duration; + -moz-transition:@selector @animation @duration; + -ms-transition:@selector @animation @duration; + -o-transition:@selector @animation @duration; + transition:@selector @animation @duration; +} + +.opacity(@opacity:0.75) { + opacity: @opacity; + filter:~"alpha(opacity=@opacity * 100)"; +} + +.rotate(@degree:1deg) { + -webkit-transform: rotate(@degree); // Saf3.1+, Chrome + -moz-transform: rotate(@degree); // FF3.5+ + -ms-transform: rotate(@degree); // IE9 + -o-transform: rotate(@degree); // Opera 10.5 + transform: rotate(@degree); + zoom: 1; +} + +.scale(@ratio:1.5) { + -webkit-transform:scale(@ratio); + -moz-transform:scale(@ratio); + -ms-transform:scale(@ratio); + -o-transform:scale(@ratio); + transform:scale(@ratio); +} + +.radial_gradient(@from: #000, @to: #FFF) { + background: @from; + background: -webkit-gradient(radial, 50% 10%, 0, 50% 10%, 1000, from(@from), to(@to)); + background: -moz-radial-gradient(center top, @from 0%, @to 100%); +} + +.borderbox () { + -webkit-box-sizing: border-box; // Safari/Chrome, other WebKit + -moz-box-sizing: border-box; // Firefox, other Gecko + box-sizing: border-box; // Opera/IE 8+ +} + +.woo_notice() { + background: #FFFFFF; + border-left: 4px solid #255A8C; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + margin: 5px 0 15px; + padding: 1px 12px; + font-size: 14px; +} \ No newline at end of file diff --git a/wootique/functions/assets/fonts/wooframework.eot b/wootique/functions/assets/fonts/wooframework.eot new file mode 100755 index 0000000000000000000000000000000000000000..6c075ec8bbfa77079d69a65c9f75424f45038b6f GIT binary patch literal 2008 zcmaJ?ON6Esgvnx>O&JWr=#5YPeONjghY(9J^< z(VLLW(*nHq${a+lY_1-+XM3Oe`KR7TLd?lZUgoX!0F~&YS{vr<;p&*vqfLi@@`>=O%xhMuHB zd_^Y{pNStJ`6QwI7Y(taO`ckeZ7*NjDZb0{RtrCQi?%OUBD!AsFm=WdZ(XU73|b4S zK=n~0LaPNF-=$Wo^;=oAtsnr^n)GAbj@5WU2Z494^{u=wZzA40+JPgxPIurkTo<)K z7Q%{XL}Oy40c@=agccOXlvq+eTPwM9RNfvBmv=&Q?GSQjJ1(2U9AXhjri zQ1x&iwHl$@q%O6ERu?O>I2cxVD6!TMnnpzyO!!%As&%d*CX#56!kE-5F)mEs339F} zl;@;!p7|Xs&xOFy)Q4c{XlY|LpRaB#@f#O8dIXlrBJG!I-9p()`uUW_$x@lFN*KkV zdp(s2SeTZT?JZ?k6nbLc&GiCg%$|=B`RbG3T;ru&cVI%oa0H$E$3<%3*K4v~;#q z?+uwRT;MhqA0_zV;c#@Is)I{2Q^;9tyBW((2Nrj)Dp8CW znSr#5f$Xccd!tQo+M~l`JT!>jK{td^7@_kt)XlMGOtjgL%NzPoI9-h{K7_Iqo)+AD z_~$(qQ=BiOXhK?^S03yyvAKG~Kp|DirC6o((L3q1^j+6>Jl7WZSH1Otte^KRHkE5D zb_;8JytF4--b5pnm)$v>3Zo85|2D|`N7fjwtvVow3L3l z{q@-=wDYxM=Cvn+R%jng4#FV7%E|jred$`#QRo2zi=2MiQkS>zZE!lTLBC)Y=%vk` zT>)L|#AFQd#6w#K^j=3UA+L9M1N>r#H*pb!Y45kUcvW3$2W<&(pB}}m(mK>=VoUo=Jm{D-c2WPLGEi`tuyTkJX`l=_+QVO^(O!T literal 0 HcmV?d00001 diff --git a/wootique/functions/assets/fonts/wooframework.svg b/wootique/functions/assets/fonts/wooframework.svg new file mode 100755 index 0000000..2d736a5 --- /dev/null +++ b/wootique/functions/assets/fonts/wooframework.svg @@ -0,0 +1,12 @@ + + + +Generated by IcoMoon + + + + + + + + \ No newline at end of file diff --git a/wootique/functions/assets/fonts/wooframework.ttf b/wootique/functions/assets/fonts/wooframework.ttf new file mode 100755 index 0000000000000000000000000000000000000000..02204367c4622014ece4486c5f7d6bd4e0883de4 GIT binary patch literal 1824 zcmZ`(ON^z9#&Pl$LO_^!Fu$`WJ_{542>ZvNuzjmocpe3D3h zdS<3IP1kPB5t-1@>cJU8Dy-Qqh8n>i2eF0@vcaF(CI zSHY9T*22t%v+sD|AECzVQhVhb&WUB|M?%sdzN(9fkHvS;e3(l9oyOSFE{`n6u^(T% zDY?t?RtG=2BIbMx!c^rQVvt z(yYp&i8yORt-*EVL=hcPoRZokriJM{LBTbJ@|;Y;GrwWwxlkBd`cSN$C~vKWVQp)f zU%AZjKV+>UvVOVVFO;pMA7(60m&)~3qd1A&>zQ1@!nCaXU^&O4IFR^m&bQfcY?DpT z5w@k+u#{!$KoJiluH%CUQz@yk<;ZfC-we4mvS&C>ummvqrpab?R>d07%^YE#9c1lOZkIi(d0-?CzocfSg_c3 zbC#P8EbiY_MulQ^Q(=`yo;y%EC|!jkZ{ImCd1B`%^YE69GM*S8GE~;ZEl6q0zO9W$ zMG8YsK0C&o3uDs>OR=YRzqk`6EZ1I*$G0c&Wg!b;WU}%D$Ikl>57hfT<}j&8y0^r` z-da!is=^vxWT>iQY_QZE9L3v}ljxMqoYaQQKw70h4%NE7(G_^xljBo7Hj3UsH$-t1 zqw_S?&9Pxhbm0e;Ekn3CeH(pz6xULGRB`XYZ}(Wtb6CNp32Av=WpudA=K3uo#Z0-7 zVU^LZ-pOXA@4B|*xwgQ+8f=W@{m`@6RIaVqEp8m}vYupl6OB|^d%J>`x_nt<@vg?d zh<($Gn^&xiYwbUFNEt65KhS)Bms)@1VAJr6c}JodhW74xVOSW3A=KeFUW%)U>sM>F zoPBEPxPi{n_oY8bYw30I&A2 zNikUJugIspJ?vt3UDcD!aG=pSQ=H~Zahfy5Y0eay=Da{{{AOvHTC_kj zr1>(PrB{KMX$2FmO^cM!Hk@}`*ZM!+7uxOFWj*uT%V(eDgSs;`N9WPoEo6RD-F@&{ g?AC74Iml_$K1CPt+)t-*mV?;(MCo+b_xgnOH>|qg6951J literal 0 HcmV?d00001 diff --git a/wootique/functions/assets/fonts/wooframework.woff b/wootique/functions/assets/fonts/wooframework.woff new file mode 100755 index 0000000000000000000000000000000000000000..d9d556a403973efe153417225ea7aba8c22f2c21 GIT binary patch literal 1900 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 EKia1B{Qv*} literal 0 HcmV?d00001 diff --git a/wootique/functions/assets/images/lib/chosen-sprite.png b/wootique/functions/assets/images/lib/chosen-sprite.png new file mode 100755 index 0000000000000000000000000000000000000000..3611ae4ace1c4b1cbeacd6145b5a79cbc72e0bdc GIT binary patch literal 646 zcmV;10(t$3P)0006_Nkl&pbAC0n?)s%2x5M$#UgGxI1~gymp~v; zh<`zGaTJP5BybQY4tlRo;SIcmE0t>ueW3>*u6N;@_u;;|BoL8PuhZ#FWY9$(flan1oVvxDBL8~}0Q5z;^2p>Ov z7}Q$E7=l>$BZLUt1*uKMCaQwKYf$lsJCyerWMd+%BeGH6f_f&Vpy%=$BN%uK%Ahxi zF+%Jj=Pc-WXF;djSiJw|m4>cN%^Fi|FBZ!E{_yJLS?RI<3U696XLkQSs z{{&kQJ$K(#5CgC1;GbA>mjm56zJZ^-Hg2_ASKI_K@CybPh7Rq}8ud``)NM~eZx}qT z)oK?Lf>t!B;%Uh}*P+)Ef?jbx#w|BNEVb(l{2LK}m#fw4xx>ddF;&j}!S{N-e!<&Q z?kvzyI_AT@H-u4tUz1h&GCh8>?TnA~?BZ7WGP<9`r gQ6DuZO!_~60ju@{TzXF%TmS$707*qoM6N<$g2#CqL;wH) literal 0 HcmV?d00001 diff --git a/wootique/functions/assets/images/lib/chosen-sprite@2x.png b/wootique/functions/assets/images/lib/chosen-sprite@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..ffe4d7d1121ca45cd35783696940050c690a8676 GIT binary patch literal 872 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 a6G@egy=r*{ff4E)6hIB6rCh0K5%xcW2c9qh literal 0 HcmV?d00001 diff --git a/wootique/functions/assets/images/placeholder.png b/wootique/functions/assets/images/placeholder.png new file mode 100755 index 0000000000000000000000000000000000000000..feb271a815ad99c7674c929ee969c3cc5d789f11 GIT binary patch literal 1503 zcmZXUdpOg39LIkyZObK-*|Vf4TTaL%E^Zb0LmI$AqNzdpui%O+$YX&$Dvo=pQwdl(+xEc?jtaC!s_lmKA=Jw1R$57dceu!40Qon2f5adapEY_oSJ z+Ihr{%$7t(jyS>7lP8a4p<%hj1oarhRKZ8trd4&(bu%Tn(=l!NhS+(Mh@PBl+1me%J-^D_ArIb8w->8hYMC_8T`bD1m z(rO|cUs*x5@tXojikJnn)G)qpbMoefom^C}4P_jewJlHg@#-qxfvc{SEgaCmU{=1Y z9wI7oB zwnwFXO5B_6px~U>hGH7$581&CG6@Q`hM*UdleBm7J7_8?I_ERW2Bv;N(yE`HH14aT zSQM-Fn|TJX9|OI3mernzqv44yRaJ%=uo9+I-mM1B=o)(DYOqD|%I76RplmRt9Q@1_ zqEt(mI~YYzP;4p>8fw&U_Vm@OT|~vnUr`(hIuir9n#6M^$C_frL0k!=*Ajt#Q@-7R zuO`v{ye`h1+sq|8NF>?XS15{o3v(j`8hPie_l1H5qs38m3YCfEPiGfuAQ`2f@t ze7b&SUzmk?8zv=!?~8Xh&~2)zkNG)*zuEktwG%HHUlTwQ>nWZ>?Gc{<=zx_0-+-n9 z1aJ34Y{TJji;vDURm(3}^TH0(qew(jKCSEKyjOU&S5>W*L16mybf~I#t9aPf-`}5B zPhs>mj@?(%S6d$u&sFI6dtSL+d0j9>$=AUI^G6$NlRkWwJlBm;zfh0#x&By|*b#lt zuDB-%I1g@mT6vfL8uh)Gq@+E{vSW7ED4~V(4F!w*Wc}S)57Esd!-TSTGc%WchfcVk zVcHsSRb~QBD=&+r+CUAJ_khYnV=^k76lUW&kP%82Xn@OHw00=j2UqY+TH?HpL$4iw z;V(G%Q(HLSw?&}O_JeFpcIG$@c=%#SZsUuK58X*UL5E&QnBk?C65~>GG_OTB`wOVpGQRU zM+eaE3RR zvmN%$!Zr(DJ8OM@Y)JweiOPe*hP_V!?ir`FY0<>Z+oU9$xp zTPz{K{zA~d1jwVmJAc6Gf27is2NKM7R^}`q=gO=LvtQ<9j34Z66jdsI(bL)DtTTyB JyiYip@*5fxs1pDH literal 0 HcmV?d00001 diff --git a/wootique/functions/assets/images/ui-bg_flat_0_aaaaaa_40x100.png b/wootique/functions/assets/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..99be896bfde3d35d2d397a617a9f0d08a134df56 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsTfZe$B>MBZ_hFEGB9v3E4;n` qM0IOh@q`9HqtXa&E($;$r(Vt_Z4c|U=avKQVeoYIb6Mw<&;$TQVjFA# literal 0 HcmV?d00001 diff --git a/wootique/functions/assets/images/ui-bg_flat_75_ffffff_40x100.png b/wootique/functions/assets/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..e77a5354970332c0d41b2bde303105f4e4130552 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsVGku$B>MBZ_hFEGB9v3E8Mr= oB6Zl(!=dVGqM!%`;E#~Zhp&B48ZW9o1=_;k>FVdQ&MBb@04$RpA^-pY literal 0 HcmV?d00001 diff --git a/wootique/functions/assets/images/ui-bg_glass_55_fbf9ee_1x400.png b/wootique/functions/assets/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..6352348b63ca10df77c50654e0a81346baa5496f GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq-;E0978Nlzdh~E#h}3B?D)Pu zqCWN}SJsLbqAr^xBYq Q8qgdDPgg&ebxsLQ08PRr=Kufz literal 0 HcmV?d00001 diff --git a/wootique/functions/assets/images/ui-bg_glass_65_ffffff_1x400.png b/wootique/functions/assets/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..54b5d35284d6a4a1a671a89762907b9ff09182e6 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq|`iJ978NlC;#~V{(gO1VA2!` t)i%?Q@*Ed-9uZpdT0+&WGcbvPgF)+-`K~$KwQ)cl44$rjF6*2UngEQl91j2h literal 0 HcmV?d00001 diff --git a/wootique/functions/assets/images/ui-bg_glass_75_dadada_1x400.png b/wootique/functions/assets/images/ui-bg_glass_75_dadada_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..20055b8b0cc9e6c48187abb2f4c06a313d2b0553 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq)a_s978NlCs%xWa zFlmZ}YMbuIx3|qTx+hK)Y)(i@a!OO&aiinn0~uAf&V!x|49Al>?}#7!WCt{W!PC{x JWt~$(698MiBB=lX literal 0 HcmV?d00001 diff --git a/wootique/functions/assets/images/ui-bg_glass_75_e6e6e6_1x400.png b/wootique/functions/assets/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..efe693be7157ad6e6d03075079d2b28d60455682 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAGVZ#9R3S1;RXC978NlzrC_i@PGjav%_0^ z4KuTX3Z|tWxj0!f_br_CpkcRgXa`4P+7Zj=*+TXvp#Gkwn#L$;0Al#~`N`K|Tq t-5!0VBLBG1&b{AdU0m*d|5-VaJyP%;0Q?znQT^iJ$9) S$k!^MK@6U*elF{r5}E+(UniUZ literal 0 HcmV?d00001 diff --git a/wootique/functions/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/wootique/functions/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..7c9fa6c6edcfcdd3e5b77e6f547b719e6fc66e30 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l#Zv1V~E7m\"\'\`]/.test(text)) { + return text; + } + map = { + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + unsafe_chars = /&(?!\w+;)|[\<\>\"\'\`]/g; + return text.replace(unsafe_chars, function(chr) { + return map[chr] || "&"; + }); + }; + + return SelectParser; + + })(); + + SelectParser.select_to_array = function(select) { + var child, parser, _i, _len, _ref; + + parser = new SelectParser(); + _ref = select.childNodes; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + child = _ref[_i]; + parser.add_node(child); + } + return parser.parsed; + }; + + AbstractChosen = (function() { + function AbstractChosen(form_field, options) { + this.form_field = form_field; + this.options = options != null ? options : {}; + if (!AbstractChosen.browser_is_supported()) { + return; + } + this.is_multiple = this.form_field.multiple; + this.set_default_text(); + this.set_default_values(); + this.setup(); + this.set_up_html(); + this.register_observers(); + } + + AbstractChosen.prototype.set_default_values = function() { + var _this = this; + + this.click_test_action = function(evt) { + return _this.test_active_click(evt); + }; + this.activate_action = function(evt) { + return _this.activate_field(evt); + }; + this.active_field = false; + this.mouse_on_container = false; + this.results_showing = false; + this.result_highlighted = null; + this.result_single_selected = null; + this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false; + this.disable_search_threshold = this.options.disable_search_threshold || 0; + this.disable_search = this.options.disable_search || false; + this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true; + this.group_search = this.options.group_search != null ? this.options.group_search : true; + this.search_contains = this.options.search_contains || false; + this.single_backstroke_delete = this.options.single_backstroke_delete != null ? this.options.single_backstroke_delete : true; + this.max_selected_options = this.options.max_selected_options || Infinity; + this.inherit_select_classes = this.options.inherit_select_classes || false; + this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true; + return this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true; + }; + + AbstractChosen.prototype.set_default_text = function() { + if (this.form_field.getAttribute("data-placeholder")) { + this.default_text = this.form_field.getAttribute("data-placeholder"); + } else if (this.is_multiple) { + this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text; + } else { + this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text; + } + return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text; + }; + + AbstractChosen.prototype.mouse_enter = function() { + return this.mouse_on_container = true; + }; + + AbstractChosen.prototype.mouse_leave = function() { + return this.mouse_on_container = false; + }; + + AbstractChosen.prototype.input_focus = function(evt) { + var _this = this; + + if (this.is_multiple) { + if (!this.active_field) { + return setTimeout((function() { + return _this.container_mousedown(); + }), 50); + } + } else { + if (!this.active_field) { + return this.activate_field(); + } + } + }; + + AbstractChosen.prototype.input_blur = function(evt) { + var _this = this; + + if (!this.mouse_on_container) { + this.active_field = false; + return setTimeout((function() { + return _this.blur_test(); + }), 100); + } + }; + + AbstractChosen.prototype.results_option_build = function(options) { + var content, data, _i, _len, _ref; + + content = ''; + _ref = this.results_data; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + data = _ref[_i]; + if (data.group) { + content += this.result_add_group(data); + } else { + content += this.result_add_option(data); + } + if (options != null ? options.first : void 0) { + if (data.selected && this.is_multiple) { + this.choice_build(data); + } else if (data.selected && !this.is_multiple) { + this.single_set_selected_text(data.text); + } + } + } + return content; + }; + + AbstractChosen.prototype.result_add_option = function(option) { + var classes, style; + + if (!option.search_match) { + return ''; + } + if (!this.include_option_in_results(option)) { + return ''; + } + classes = []; + if (!option.disabled && !(option.selected && this.is_multiple)) { + classes.push("active-result"); + } + if (option.disabled && !(option.selected && this.is_multiple)) { + classes.push("disabled-result"); + } + if (option.selected) { + classes.push("result-selected"); + } + if (option.group_array_index != null) { + classes.push("group-option"); + } + if (option.classes !== "") { + classes.push(option.classes); + } + style = option.style.cssText !== "" ? " style=\"" + option.style + "\"" : ""; + return "

          • " + option.search_text + "
          • "; + }; + + AbstractChosen.prototype.result_add_group = function(group) { + if (!(group.search_match || group.group_match)) { + return ''; + } + if (!(group.active_options > 0)) { + return ''; + } + return "
          • " + group.search_text + "
          • "; + }; + + AbstractChosen.prototype.results_update_field = function() { + this.set_default_text(); + if (!this.is_multiple) { + this.results_reset_cleanup(); + } + this.result_clear_highlight(); + this.result_single_selected = null; + this.results_build(); + if (this.results_showing) { + return this.winnow_results(); + } + }; + + AbstractChosen.prototype.results_toggle = function() { + if (this.results_showing) { + return this.results_hide(); + } else { + return this.results_show(); + } + }; + + AbstractChosen.prototype.results_search = function(evt) { + if (this.results_showing) { + return this.winnow_results(); + } else { + return this.results_show(); + } + }; + + AbstractChosen.prototype.winnow_results = function() { + var escapedSearchText, option, regex, regexAnchor, results, results_group, searchText, startpos, text, zregex, _i, _len, _ref; + + this.no_results_clear(); + results = 0; + searchText = this.get_search_text(); + escapedSearchText = searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + regexAnchor = this.search_contains ? "" : "^"; + regex = new RegExp(regexAnchor + escapedSearchText, 'i'); + zregex = new RegExp(escapedSearchText, 'i'); + _ref = this.results_data; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + option = _ref[_i]; + option.search_match = false; + results_group = null; + if (this.include_option_in_results(option)) { + if (option.group) { + option.group_match = false; + option.active_options = 0; + } + if ((option.group_array_index != null) && this.results_data[option.group_array_index]) { + results_group = this.results_data[option.group_array_index]; + if (results_group.active_options === 0 && results_group.search_match) { + results += 1; + } + results_group.active_options += 1; + } + if (!(option.group && !this.group_search)) { + option.search_text = option.group ? option.label : option.html; + option.search_match = this.search_string_match(option.search_text, regex); + if (option.search_match && !option.group) { + results += 1; + } + if (option.search_match) { + if (searchText.length) { + startpos = option.search_text.search(zregex); + text = option.search_text.substr(0, startpos + searchText.length) + '
            ' + option.search_text.substr(startpos + searchText.length); + option.search_text = text.substr(0, startpos) + '' + text.substr(startpos); + } + if (results_group != null) { + results_group.group_match = true; + } + } else if ((option.group_array_index != null) && this.results_data[option.group_array_index].search_match) { + option.search_match = true; + } + } + } + } + this.result_clear_highlight(); + if (results < 1 && searchText.length) { + this.update_results_content(""); + return this.no_results(searchText); + } else { + this.update_results_content(this.results_option_build()); + return this.winnow_results_set_highlight(); + } + }; + + AbstractChosen.prototype.search_string_match = function(search_string, regex) { + var part, parts, _i, _len; + + if (regex.test(search_string)) { + return true; + } else if (this.enable_split_word_search && (search_string.indexOf(" ") >= 0 || search_string.indexOf("[") === 0)) { + parts = search_string.replace(/\[|\]/g, "").split(" "); + if (parts.length) { + for (_i = 0, _len = parts.length; _i < _len; _i++) { + part = parts[_i]; + if (regex.test(part)) { + return true; + } + } + } + } + }; + + AbstractChosen.prototype.choices_count = function() { + var option, _i, _len, _ref; + + if (this.selected_option_count != null) { + return this.selected_option_count; + } + this.selected_option_count = 0; + _ref = this.form_field.options; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + option = _ref[_i]; + if (option.selected) { + this.selected_option_count += 1; + } + } + return this.selected_option_count; + }; + + AbstractChosen.prototype.choices_click = function(evt) { + evt.preventDefault(); + if (!(this.results_showing || this.is_disabled)) { + return this.results_show(); + } + }; + + AbstractChosen.prototype.keyup_checker = function(evt) { + var stroke, _ref; + + stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; + this.search_field_scale(); + switch (stroke) { + case 8: + if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) { + return this.keydown_backstroke(); + } else if (!this.pending_backstroke) { + this.result_clear_highlight(); + return this.results_search(); + } + break; + case 13: + evt.preventDefault(); + if (this.results_showing) { + return this.result_select(evt); + } + break; + case 27: + if (this.results_showing) { + this.results_hide(); + } + return true; + case 9: + case 38: + case 40: + case 16: + case 91: + case 17: + break; + default: + return this.results_search(); + } + }; + + AbstractChosen.prototype.container_width = function() { + if (this.options.width != null) { + return this.options.width; + } else { + return "" + this.form_field.offsetWidth + "px"; + } + }; + + AbstractChosen.prototype.include_option_in_results = function(option) { + if (this.is_multiple && (!this.display_selected_options && option.selected)) { + return false; + } + if (!this.display_disabled_options && option.disabled) { + return false; + } + if (option.empty) { + return false; + } + return true; + }; + + AbstractChosen.browser_is_supported = function() { + if (window.navigator.appName === "Microsoft Internet Explorer") { + return document.documentMode >= 8; + } + if (/iP(od|hone)/i.test(window.navigator.userAgent)) { + return false; + } + if (/Android/i.test(window.navigator.userAgent)) { + if (/Mobile/i.test(window.navigator.userAgent)) { + return false; + } + } + return true; + }; + + AbstractChosen.default_multiple_text = "Select Some Options"; + + AbstractChosen.default_single_text = "Select an Option"; + + AbstractChosen.default_no_result_text = "No results match"; + + return AbstractChosen; + + })(); + + $ = jQuery; + + $.fn.extend({ + chosen: function(options) { + if (!AbstractChosen.browser_is_supported()) { + return this; + } + return this.each(function(input_field) { + var $this, chosen; + + $this = $(this); + chosen = $this.data('chosen'); + if (options === 'destroy' && chosen) { + chosen.destroy(); + } else if (!chosen) { + $this.data('chosen', new Chosen(this, options)); + } + }); + } + }); + + Chosen = (function(_super) { + __extends(Chosen, _super); + + function Chosen() { + _ref = Chosen.__super__.constructor.apply(this, arguments); + return _ref; + } + + Chosen.prototype.setup = function() { + this.form_field_jq = $(this.form_field); + this.current_selectedIndex = this.form_field.selectedIndex; + return this.is_rtl = this.form_field_jq.hasClass("chosen-rtl"); + }; + + Chosen.prototype.set_up_html = function() { + var container_classes, container_props; + + container_classes = ["chosen-container"]; + container_classes.push("chosen-container-" + (this.is_multiple ? "multi" : "single")); + if (this.inherit_select_classes && this.form_field.className) { + container_classes.push(this.form_field.className); + } + if (this.is_rtl) { + container_classes.push("chosen-rtl"); + } + container_props = { + 'class': container_classes.join(' '), + 'style': "width: " + (this.container_width()) + ";", + 'title': this.form_field.title + }; + if (this.form_field.id.length) { + container_props.id = this.form_field.id.replace(/[^\w]/g, '_') + "_chosen"; + } + this.container = $("
            ", container_props); + if (this.is_multiple) { + this.container.html('
              '); + } else { + this.container.html('' + this.default_text + '
                '); + } + this.form_field_jq.hide().after(this.container); + this.dropdown = this.container.find('div.chosen-drop').first(); + this.search_field = this.container.find('input').first(); + this.search_results = this.container.find('ul.chosen-results').first(); + this.search_field_scale(); + this.search_no_results = this.container.find('li.no-results').first(); + if (this.is_multiple) { + this.search_choices = this.container.find('ul.chosen-choices').first(); + this.search_container = this.container.find('li.search-field').first(); + } else { + this.search_container = this.container.find('div.chosen-search').first(); + this.selected_item = this.container.find('.chosen-single').first(); + } + this.results_build(); + this.set_tab_index(); + this.set_label_behavior(); + return this.form_field_jq.trigger("chosen:ready", { + chosen: this + }); + }; + + Chosen.prototype.register_observers = function() { + var _this = this; + + this.container.bind('mousedown.chosen', function(evt) { + _this.container_mousedown(evt); + }); + this.container.bind('mouseup.chosen', function(evt) { + _this.container_mouseup(evt); + }); + this.container.bind('mouseenter.chosen', function(evt) { + _this.mouse_enter(evt); + }); + this.container.bind('mouseleave.chosen', function(evt) { + _this.mouse_leave(evt); + }); + this.search_results.bind('mouseup.chosen', function(evt) { + _this.search_results_mouseup(evt); + }); + this.search_results.bind('mouseover.chosen', function(evt) { + _this.search_results_mouseover(evt); + }); + this.search_results.bind('mouseout.chosen', function(evt) { + _this.search_results_mouseout(evt); + }); + this.search_results.bind('mousewheel.chosen DOMMouseScroll.chosen', function(evt) { + _this.search_results_mousewheel(evt); + }); + this.form_field_jq.bind("chosen:updated.chosen", function(evt) { + _this.results_update_field(evt); + }); + this.form_field_jq.bind("chosen:activate.chosen", function(evt) { + _this.activate_field(evt); + }); + this.form_field_jq.bind("chosen:open.chosen", function(evt) { + _this.container_mousedown(evt); + }); + this.search_field.bind('blur.chosen', function(evt) { + _this.input_blur(evt); + }); + this.search_field.bind('keyup.chosen', function(evt) { + _this.keyup_checker(evt); + }); + this.search_field.bind('keydown.chosen', function(evt) { + _this.keydown_checker(evt); + }); + this.search_field.bind('focus.chosen', function(evt) { + _this.input_focus(evt); + }); + if (this.is_multiple) { + return this.search_choices.bind('click.chosen', function(evt) { + _this.choices_click(evt); + }); + } else { + return this.container.bind('click.chosen', function(evt) { + evt.preventDefault(); + }); + } + }; + + Chosen.prototype.destroy = function() { + $(document).unbind("click.chosen", this.click_test_action); + if (this.search_field[0].tabIndex) { + this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex; + } + this.container.remove(); + this.form_field_jq.removeData('chosen'); + return this.form_field_jq.show(); + }; + + Chosen.prototype.search_field_disabled = function() { + this.is_disabled = this.form_field_jq[0].disabled; + if (this.is_disabled) { + this.container.addClass('chosen-disabled'); + this.search_field[0].disabled = true; + if (!this.is_multiple) { + this.selected_item.unbind("focus.chosen", this.activate_action); + } + return this.close_field(); + } else { + this.container.removeClass('chosen-disabled'); + this.search_field[0].disabled = false; + if (!this.is_multiple) { + return this.selected_item.bind("focus.chosen", this.activate_action); + } + } + }; + + Chosen.prototype.container_mousedown = function(evt) { + if (!this.is_disabled) { + if (evt && evt.type === "mousedown" && !this.results_showing) { + evt.preventDefault(); + } + if (!((evt != null) && ($(evt.target)).hasClass("search-choice-close"))) { + if (!this.active_field) { + if (this.is_multiple) { + this.search_field.val(""); + } + $(document).bind('click.chosen', this.click_test_action); + this.results_show(); + } else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chosen-single").length)) { + evt.preventDefault(); + this.results_toggle(); + } + return this.activate_field(); + } + } + }; + + Chosen.prototype.container_mouseup = function(evt) { + if (evt.target.nodeName === "ABBR" && !this.is_disabled) { + return this.results_reset(evt); + } + }; + + Chosen.prototype.search_results_mousewheel = function(evt) { + var delta, _ref1, _ref2; + + delta = -((_ref1 = evt.originalEvent) != null ? _ref1.wheelDelta : void 0) || ((_ref2 = evt.originialEvent) != null ? _ref2.detail : void 0); + if (delta != null) { + evt.preventDefault(); + if (evt.type === 'DOMMouseScroll') { + delta = delta * 40; + } + return this.search_results.scrollTop(delta + this.search_results.scrollTop()); + } + }; + + Chosen.prototype.blur_test = function(evt) { + if (!this.active_field && this.container.hasClass("chosen-container-active")) { + return this.close_field(); + } + }; + + Chosen.prototype.close_field = function() { + $(document).unbind("click.chosen", this.click_test_action); + this.active_field = false; + this.results_hide(); + this.container.removeClass("chosen-container-active"); + this.clear_backstroke(); + this.show_search_field_default(); + return this.search_field_scale(); + }; + + Chosen.prototype.activate_field = function() { + this.container.addClass("chosen-container-active"); + this.active_field = true; + this.search_field.val(this.search_field.val()); + return this.search_field.focus(); + }; + + Chosen.prototype.test_active_click = function(evt) { + if (this.container.is($(evt.target).closest('.chosen-container'))) { + return this.active_field = true; + } else { + return this.close_field(); + } + }; + + Chosen.prototype.results_build = function() { + this.parsing = true; + this.selected_option_count = null; + this.results_data = SelectParser.select_to_array(this.form_field); + if (this.is_multiple) { + this.search_choices.find("li.search-choice").remove(); + } else if (!this.is_multiple) { + this.single_set_selected_text(); + if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) { + this.search_field[0].readOnly = true; + this.container.addClass("chosen-container-single-nosearch"); + } else { + this.search_field[0].readOnly = false; + this.container.removeClass("chosen-container-single-nosearch"); + } + } + this.update_results_content(this.results_option_build({ + first: true + })); + this.search_field_disabled(); + this.show_search_field_default(); + this.search_field_scale(); + return this.parsing = false; + }; + + Chosen.prototype.result_do_highlight = function(el) { + var high_bottom, high_top, maxHeight, visible_bottom, visible_top; + + if (el.length) { + this.result_clear_highlight(); + this.result_highlight = el; + this.result_highlight.addClass("highlighted"); + maxHeight = parseInt(this.search_results.css("maxHeight"), 10); + visible_top = this.search_results.scrollTop(); + visible_bottom = maxHeight + visible_top; + high_top = this.result_highlight.position().top + this.search_results.scrollTop(); + high_bottom = high_top + this.result_highlight.outerHeight(); + if (high_bottom >= visible_bottom) { + return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0); + } else if (high_top < visible_top) { + return this.search_results.scrollTop(high_top); + } + } + }; + + Chosen.prototype.result_clear_highlight = function() { + if (this.result_highlight) { + this.result_highlight.removeClass("highlighted"); + } + return this.result_highlight = null; + }; + + Chosen.prototype.results_show = function() { + if (this.is_multiple && this.max_selected_options <= this.choices_count()) { + this.form_field_jq.trigger("chosen:maxselected", { + chosen: this + }); + return false; + } + this.container.addClass("chosen-with-drop"); + this.form_field_jq.trigger("chosen:showing_dropdown", { + chosen: this + }); + this.results_showing = true; + this.search_field.focus(); + this.search_field.val(this.search_field.val()); + return this.winnow_results(); + }; + + Chosen.prototype.update_results_content = function(content) { + return this.search_results.html(content); + }; + + Chosen.prototype.results_hide = function() { + if (this.results_showing) { + this.result_clear_highlight(); + this.container.removeClass("chosen-with-drop"); + this.form_field_jq.trigger("chosen:hiding_dropdown", { + chosen: this + }); + } + return this.results_showing = false; + }; + + Chosen.prototype.set_tab_index = function(el) { + var ti; + + if (this.form_field.tabIndex) { + ti = this.form_field.tabIndex; + this.form_field.tabIndex = -1; + return this.search_field[0].tabIndex = ti; + } + }; + + Chosen.prototype.set_label_behavior = function() { + var _this = this; + + this.form_field_label = this.form_field_jq.parents("label"); + if (!this.form_field_label.length && this.form_field.id.length) { + this.form_field_label = $("label[for='" + this.form_field.id + "']"); + } + if (this.form_field_label.length > 0) { + return this.form_field_label.bind('click.chosen', function(evt) { + if (_this.is_multiple) { + return _this.container_mousedown(evt); + } else { + return _this.activate_field(); + } + }); + } + }; + + Chosen.prototype.show_search_field_default = function() { + if (this.is_multiple && this.choices_count() < 1 && !this.active_field) { + this.search_field.val(this.default_text); + return this.search_field.addClass("default"); + } else { + this.search_field.val(""); + return this.search_field.removeClass("default"); + } + }; + + Chosen.prototype.search_results_mouseup = function(evt) { + var target; + + target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); + if (target.length) { + this.result_highlight = target; + this.result_select(evt); + return this.search_field.focus(); + } + }; + + Chosen.prototype.search_results_mouseover = function(evt) { + var target; + + target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); + if (target) { + return this.result_do_highlight(target); + } + }; + + Chosen.prototype.search_results_mouseout = function(evt) { + if ($(evt.target).hasClass("active-result" || $(evt.target).parents('.active-result').first())) { + return this.result_clear_highlight(); + } + }; + + Chosen.prototype.choice_build = function(item) { + var choice, close_link, + _this = this; + + choice = $('
              • ', { + "class": "search-choice" + }).html("" + item.html + ""); + if (item.disabled) { + choice.addClass('search-choice-disabled'); + } else { + close_link = $('', { + "class": 'search-choice-close', + 'data-option-array-index': item.array_index + }); + close_link.bind('click.chosen', function(evt) { + return _this.choice_destroy_link_click(evt); + }); + choice.append(close_link); + } + return this.search_container.before(choice); + }; + + Chosen.prototype.choice_destroy_link_click = function(evt) { + evt.preventDefault(); + evt.stopPropagation(); + if (!this.is_disabled) { + return this.choice_destroy($(evt.target)); + } + }; + + Chosen.prototype.choice_destroy = function(link) { + if (this.result_deselect(link[0].getAttribute("data-option-array-index"))) { + this.show_search_field_default(); + if (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) { + this.results_hide(); + } + link.parents('li').first().remove(); + return this.search_field_scale(); + } + }; + + Chosen.prototype.results_reset = function() { + this.form_field.options[0].selected = true; + this.selected_option_count = null; + this.single_set_selected_text(); + this.show_search_field_default(); + this.results_reset_cleanup(); + this.form_field_jq.trigger("change"); + if (this.active_field) { + return this.results_hide(); + } + }; + + Chosen.prototype.results_reset_cleanup = function() { + this.current_selectedIndex = this.form_field.selectedIndex; + return this.selected_item.find("abbr").remove(); + }; + + Chosen.prototype.result_select = function(evt) { + var high, item, selected_index; + + if (this.result_highlight) { + high = this.result_highlight; + this.result_clear_highlight(); + if (this.is_multiple && this.max_selected_options <= this.choices_count()) { + this.form_field_jq.trigger("chosen:maxselected", { + chosen: this + }); + return false; + } + if (this.is_multiple) { + high.removeClass("active-result"); + } else { + if (this.result_single_selected) { + this.result_single_selected.removeClass("result-selected"); + selected_index = this.result_single_selected[0].getAttribute('data-option-array-index'); + this.results_data[selected_index].selected = false; + } + this.result_single_selected = high; + } + high.addClass("result-selected"); + item = this.results_data[high[0].getAttribute("data-option-array-index")]; + item.selected = true; + this.form_field.options[item.options_index].selected = true; + this.selected_option_count = null; + if (this.is_multiple) { + this.choice_build(item); + } else { + this.single_set_selected_text(item.text); + } + if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) { + this.results_hide(); + } + this.search_field.val(""); + if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) { + this.form_field_jq.trigger("change", { + 'selected': this.form_field.options[item.options_index].value + }); + } + this.current_selectedIndex = this.form_field.selectedIndex; + return this.search_field_scale(); + } + }; + + Chosen.prototype.single_set_selected_text = function(text) { + if (text == null) { + text = this.default_text; + } + if (text === this.default_text) { + this.selected_item.addClass("chosen-default"); + } else { + this.single_deselect_control_build(); + this.selected_item.removeClass("chosen-default"); + } + return this.selected_item.find("span").text(text); + }; + + Chosen.prototype.result_deselect = function(pos) { + var result_data; + + result_data = this.results_data[pos]; + if (!this.form_field.options[result_data.options_index].disabled) { + result_data.selected = false; + this.form_field.options[result_data.options_index].selected = false; + this.selected_option_count = null; + this.result_clear_highlight(); + if (this.results_showing) { + this.winnow_results(); + } + this.form_field_jq.trigger("change", { + deselected: this.form_field.options[result_data.options_index].value + }); + this.search_field_scale(); + return true; + } else { + return false; + } + }; + + Chosen.prototype.single_deselect_control_build = function() { + if (!this.allow_single_deselect) { + return; + } + if (!this.selected_item.find("abbr").length) { + this.selected_item.find("span").first().after(""); + } + return this.selected_item.addClass("chosen-single-with-deselect"); + }; + + Chosen.prototype.get_search_text = function() { + if (this.search_field.val() === this.default_text) { + return ""; + } else { + return $('
                ').text($.trim(this.search_field.val())).html(); + } + }; + + Chosen.prototype.winnow_results_set_highlight = function() { + var do_high, selected_results; + + selected_results = !this.is_multiple ? this.search_results.find(".result-selected.active-result") : []; + do_high = selected_results.length ? selected_results.first() : this.search_results.find(".active-result").first(); + if (do_high != null) { + return this.result_do_highlight(do_high); + } + }; + + Chosen.prototype.no_results = function(terms) { + var no_results_html; + + no_results_html = $('
              • ' + this.results_none_found + ' ""
              • '); + no_results_html.find("span").first().html(terms); + return this.search_results.append(no_results_html); + }; + + Chosen.prototype.no_results_clear = function() { + return this.search_results.find(".no-results").remove(); + }; + + Chosen.prototype.keydown_arrow = function() { + var next_sib; + + if (this.results_showing && this.result_highlight) { + next_sib = this.result_highlight.nextAll("li.active-result").first(); + if (next_sib) { + return this.result_do_highlight(next_sib); + } + } else { + return this.results_show(); + } + }; + + Chosen.prototype.keyup_arrow = function() { + var prev_sibs; + + if (!this.results_showing && !this.is_multiple) { + return this.results_show(); + } else if (this.result_highlight) { + prev_sibs = this.result_highlight.prevAll("li.active-result"); + if (prev_sibs.length) { + return this.result_do_highlight(prev_sibs.first()); + } else { + if (this.choices_count() > 0) { + this.results_hide(); + } + return this.result_clear_highlight(); + } + } + }; + + Chosen.prototype.keydown_backstroke = function() { + var next_available_destroy; + + if (this.pending_backstroke) { + this.choice_destroy(this.pending_backstroke.find("a").first()); + return this.clear_backstroke(); + } else { + next_available_destroy = this.search_container.siblings("li.search-choice").last(); + if (next_available_destroy.length && !next_available_destroy.hasClass("search-choice-disabled")) { + this.pending_backstroke = next_available_destroy; + if (this.single_backstroke_delete) { + return this.keydown_backstroke(); + } else { + return this.pending_backstroke.addClass("search-choice-focus"); + } + } + } + }; + + Chosen.prototype.clear_backstroke = function() { + if (this.pending_backstroke) { + this.pending_backstroke.removeClass("search-choice-focus"); + } + return this.pending_backstroke = null; + }; + + Chosen.prototype.keydown_checker = function(evt) { + var stroke, _ref1; + + stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode; + this.search_field_scale(); + if (stroke !== 8 && this.pending_backstroke) { + this.clear_backstroke(); + } + switch (stroke) { + case 8: + this.backstroke_length = this.search_field.val().length; + break; + case 9: + if (this.results_showing && !this.is_multiple) { + this.result_select(evt); + } + this.mouse_on_container = false; + break; + case 13: + evt.preventDefault(); + break; + case 38: + evt.preventDefault(); + this.keyup_arrow(); + break; + case 40: + evt.preventDefault(); + this.keydown_arrow(); + break; + } + }; + + Chosen.prototype.search_field_scale = function() { + var div, f_width, h, style, style_block, styles, w, _i, _len; + + if (this.is_multiple) { + h = 0; + w = 0; + style_block = "position:absolute; left: -1000px; top: -1000px; display:none;"; + styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing']; + for (_i = 0, _len = styles.length; _i < _len; _i++) { + style = styles[_i]; + style_block += style + ":" + this.search_field.css(style) + ";"; + } + div = $('
                ', { + 'style': style_block + }); + div.text(this.search_field.val()); + $('body').append(div); + w = div.width() + 25; + div.remove(); + f_width = this.container.outerWidth(); + if (w > f_width - 10) { + w = f_width - 10; + } + return this.search_field.css({ + 'width': w + 'px' + }); + } + }; + + return Chosen; + + })(AbstractChosen); + +}).call(this); diff --git a/wootique/functions/assets/js/lib/jquery-chosen.min.js b/wootique/functions/assets/js/lib/jquery-chosen.min.js new file mode 100755 index 0000000..ad430c4 --- /dev/null +++ b/wootique/functions/assets/js/lib/jquery-chosen.min.js @@ -0,0 +1,2 @@ +/* Chosen v1.0.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ +!function(){var a,AbstractChosen,Chosen,SelectParser,b,c={}.hasOwnProperty,d=function(a,b){function d(){this.constructor=a}for(var e in b)c.call(b,e)&&(a[e]=b[e]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a};SelectParser=function(){function SelectParser(){this.options_index=0,this.parsed=[]}return SelectParser.prototype.add_node=function(a){return"OPTGROUP"===a.nodeName.toUpperCase()?this.add_group(a):this.add_option(a)},SelectParser.prototype.add_group=function(a){var b,c,d,e,f,g;for(b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:this.escapeExpression(a.label),children:0,disabled:a.disabled}),f=a.childNodes,g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(this.add_option(c,b,a.disabled));return g},SelectParser.prototype.add_option=function(a,b,c){return"OPTION"===a.nodeName.toUpperCase()?(""!==a.text?(null!=b&&(this.parsed[b].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:a.value,text:a.text,html:a.innerHTML,selected:a.selected,disabled:c===!0?c:a.disabled,group_array_index:b,classes:a.className,style:a.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1):void 0},SelectParser.prototype.escapeExpression=function(a){var b,c;return null==a||a===!1?"":/[\&\<\>\"\'\`]/.test(a)?(b={"<":"<",">":">",'"':""","'":"'","`":"`"},c=/&(?!\w+;)|[\<\>\"\'\`]/g,a.replace(c,function(a){return b[a]||"&"})):a},SelectParser}(),SelectParser.select_to_array=function(a){var b,c,d,e,f;for(c=new SelectParser,f=a.childNodes,d=0,e=f.length;e>d;d++)b=f[d],c.add_node(b);return c.parsed},AbstractChosen=function(){function AbstractChosen(a,b){this.form_field=a,this.options=null!=b?b:{},AbstractChosen.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers())}return AbstractChosen.prototype.set_default_values=function(){var a=this;return this.click_test_action=function(b){return a.test_active_click(b)},this.activate_action=function(b){return a.activate_field(b)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.result_single_selected=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null!=this.options.enable_split_word_search?this.options.enable_split_word_search:!0,this.group_search=null!=this.options.group_search?this.options.group_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null!=this.options.single_backstroke_delete?this.options.single_backstroke_delete:!0,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null!=this.options.display_selected_options?this.options.display_selected_options:!0,this.display_disabled_options=null!=this.options.display_disabled_options?this.options.display_disabled_options:!0},AbstractChosen.prototype.set_default_text=function(){return this.default_text=this.form_field.getAttribute("data-placeholder")?this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text:this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text},AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=!0},AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=!1},AbstractChosen.prototype.input_focus=function(){var a=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return a.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},AbstractChosen.prototype.input_blur=function(){var a=this;return this.mouse_on_container?void 0:(this.active_field=!1,setTimeout(function(){return a.blur_test()},100))},AbstractChosen.prototype.results_option_build=function(a){var b,c,d,e,f;for(b="",f=this.results_data,d=0,e=f.length;e>d;d++)c=f[d],b+=c.group?this.result_add_group(c):this.result_add_option(c),(null!=a?a.first:void 0)&&(c.selected&&this.is_multiple?this.choice_build(c):c.selected&&!this.is_multiple&&this.single_set_selected_text(c.text));return b},AbstractChosen.prototype.result_add_option=function(a){var b,c;return a.search_match?this.include_option_in_results(a)?(b=[],a.disabled||a.selected&&this.is_multiple||b.push("active-result"),!a.disabled||a.selected&&this.is_multiple||b.push("disabled-result"),a.selected&&b.push("result-selected"),null!=a.group_array_index&&b.push("group-option"),""!==a.classes&&b.push(a.classes),c=""!==a.style.cssText?' style="'+a.style+'"':"",'
              • '+a.search_text+"
              • "):"":""},AbstractChosen.prototype.result_add_group=function(a){return a.search_match||a.group_match?a.active_options>0?'
              • '+a.search_text+"
              • ":"":""},AbstractChosen.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build(),this.results_showing?this.winnow_results():void 0},AbstractChosen.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},AbstractChosen.prototype.results_search=function(){return this.results_showing?this.winnow_results():this.results_show()},AbstractChosen.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m;for(this.no_results_clear(),e=0,g=this.get_search_text(),a=g.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),d=this.search_contains?"":"^",c=new RegExp(d+a,"i"),j=new RegExp(a,"i"),m=this.results_data,k=0,l=m.length;l>k;k++)b=m[k],b.search_match=!1,f=null,this.include_option_in_results(b)&&(b.group&&(b.group_match=!1,b.active_options=0),null!=b.group_array_index&&this.results_data[b.group_array_index]&&(f=this.results_data[b.group_array_index],0===f.active_options&&f.search_match&&(e+=1),f.active_options+=1),(!b.group||this.group_search)&&(b.search_text=b.group?b.label:b.html,b.search_match=this.search_string_match(b.search_text,c),b.search_match&&!b.group&&(e+=1),b.search_match?(g.length&&(h=b.search_text.search(j),i=b.search_text.substr(0,h+g.length)+"
                "+b.search_text.substr(h+g.length),b.search_text=i.substr(0,h)+""+i.substr(h)),null!=f&&(f.group_match=!0)):null!=b.group_array_index&&this.results_data[b.group_array_index].search_match&&(b.search_match=!0)));return this.result_clear_highlight(),1>e&&g.length?(this.update_results_content(""),this.no_results(g)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},AbstractChosen.prototype.search_string_match=function(a,b){var c,d,e,f;if(b.test(a))return!0;if(this.enable_split_word_search&&(a.indexOf(" ")>=0||0===a.indexOf("["))&&(d=a.replace(/\[|\]/g,"").split(" "),d.length))for(e=0,f=d.length;f>e;e++)if(c=d[e],b.test(c))return!0},AbstractChosen.prototype.choices_count=function(){var a,b,c,d;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,d=this.form_field.options,b=0,c=d.length;c>b;b++)a=d[b],a.selected&&(this.selected_option_count+=1);return this.selected_option_count},AbstractChosen.prototype.choices_click=function(a){return a.preventDefault(),this.results_showing||this.is_disabled?void 0:this.results_show()},AbstractChosen.prototype.keyup_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:if(a.preventDefault(),this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},AbstractChosen.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},AbstractChosen.prototype.include_option_in_results=function(a){return this.is_multiple&&!this.display_selected_options&&a.selected?!1:!this.display_disabled_options&&a.disabled?!1:a.empty?!1:!0},AbstractChosen.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:/iP(od|hone)/i.test(window.navigator.userAgent)?!1:/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)?!1:!0},AbstractChosen.default_multiple_text="Select Some Options",AbstractChosen.default_single_text="Select an Option",AbstractChosen.default_no_result_text="No results match",AbstractChosen}(),a=jQuery,a.fn.extend({chosen:function(b){return AbstractChosen.browser_is_supported()?this.each(function(){var c,d;c=a(this),d=c.data("chosen"),"destroy"===b&&d?d.destroy():d||c.data("chosen",new Chosen(this,b))}):this}}),Chosen=function(c){function Chosen(){return b=Chosen.__super__.constructor.apply(this,arguments)}return d(Chosen,c),Chosen.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")},Chosen.prototype.set_up_html=function(){var b,c;return b=["chosen-container"],b.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&b.push(this.form_field.className),this.is_rtl&&b.push("chosen-rtl"),c={"class":b.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(c.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=a("
                ",c),this.is_multiple?this.container.html('
                  '):this.container.html('
                  '+this.default_text+'
                    '),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior(),this.form_field_jq.trigger("chosen:ready",{chosen:this})},Chosen.prototype.register_observers=function(){var a=this;return this.container.bind("mousedown.chosen",function(b){a.container_mousedown(b)}),this.container.bind("mouseup.chosen",function(b){a.container_mouseup(b)}),this.container.bind("mouseenter.chosen",function(b){a.mouse_enter(b)}),this.container.bind("mouseleave.chosen",function(b){a.mouse_leave(b)}),this.search_results.bind("mouseup.chosen",function(b){a.search_results_mouseup(b)}),this.search_results.bind("mouseover.chosen",function(b){a.search_results_mouseover(b)}),this.search_results.bind("mouseout.chosen",function(b){a.search_results_mouseout(b)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(b){a.search_results_mousewheel(b)}),this.form_field_jq.bind("chosen:updated.chosen",function(b){a.results_update_field(b)}),this.form_field_jq.bind("chosen:activate.chosen",function(b){a.activate_field(b)}),this.form_field_jq.bind("chosen:open.chosen",function(b){a.container_mousedown(b)}),this.search_field.bind("blur.chosen",function(b){a.input_blur(b)}),this.search_field.bind("keyup.chosen",function(b){a.keyup_checker(b)}),this.search_field.bind("keydown.chosen",function(b){a.keydown_checker(b)}),this.search_field.bind("focus.chosen",function(b){a.input_focus(b)}),this.is_multiple?this.search_choices.bind("click.chosen",function(b){a.choices_click(b)}):this.container.bind("click.chosen",function(a){a.preventDefault()})},Chosen.prototype.destroy=function(){return a(document).unbind("click.chosen",this.click_test_action),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},Chosen.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field_jq[0].disabled,this.is_disabled?(this.container.addClass("chosen-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_action),this.close_field()):(this.container.removeClass("chosen-disabled"),this.search_field[0].disabled=!1,this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_action))},Chosen.prototype.container_mousedown=function(b){return this.is_disabled||(b&&"mousedown"===b.type&&!this.results_showing&&b.preventDefault(),null!=b&&a(b.target).hasClass("search-choice-close"))?void 0:(this.active_field?this.is_multiple||!b||a(b.target)[0]!==this.selected_item[0]&&!a(b.target).parents("a.chosen-single").length||(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(document).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},Chosen.prototype.container_mouseup=function(a){return"ABBR"!==a.target.nodeName||this.is_disabled?void 0:this.results_reset(a)},Chosen.prototype.search_results_mousewheel=function(a){var b,c,d;return b=-(null!=(c=a.originalEvent)?c.wheelDelta:void 0)||(null!=(d=a.originialEvent)?d.detail:void 0),null!=b?(a.preventDefault(),"DOMMouseScroll"===a.type&&(b=40*b),this.search_results.scrollTop(b+this.search_results.scrollTop())):void 0},Chosen.prototype.blur_test=function(){return!this.active_field&&this.container.hasClass("chosen-container-active")?this.close_field():void 0},Chosen.prototype.close_field=function(){return a(document).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},Chosen.prototype.activate_field=function(){return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},Chosen.prototype.test_active_click=function(b){return this.container.is(a(b.target).closest(".chosen-container"))?this.active_field=!0:this.close_field()},Chosen.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=SelectParser.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},Chosen.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){if(this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight(),b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(f>c)return this.search_results.scrollTop(c)}},Chosen.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},Chosen.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results())},Chosen.prototype.update_results_content=function(a){return this.search_results.html(a)},Chosen.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},Chosen.prototype.set_tab_index=function(){var a;return this.form_field.tabIndex?(a=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=a):void 0},Chosen.prototype.set_label_behavior=function(){var b=this;return this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=a("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0?this.form_field_label.bind("click.chosen",function(a){return b.is_multiple?b.container_mousedown(a):b.activate_field()}):void 0},Chosen.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},Chosen.prototype.search_results_mouseup=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c.length?(this.result_highlight=c,this.result_select(b),this.search_field.focus()):void 0},Chosen.prototype.search_results_mouseover=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c?this.result_do_highlight(c):void 0},Chosen.prototype.search_results_mouseout=function(b){return a(b.target).hasClass("active-result")?this.result_clear_highlight():void 0},Chosen.prototype.choice_build=function(b){var c,d,e=this;return c=a("
                  • ",{"class":"search-choice"}).html(""+b.html+""),b.disabled?c.addClass("search-choice-disabled"):(d=a("",{"class":"search-choice-close","data-option-array-index":b.array_index}),d.bind("click.chosen",function(a){return e.choice_destroy_link_click(a)}),c.append(d)),this.search_container.before(c)},Chosen.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),b.stopPropagation(),this.is_disabled?void 0:this.choice_destroy(a(b.target))},Chosen.prototype.choice_destroy=function(a){return this.result_deselect(a[0].getAttribute("data-option-array-index"))?(this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1&&this.results_hide(),a.parents("li").first().remove(),this.search_field_scale()):void 0},Chosen.prototype.results_reset=function(){return this.form_field.options[0].selected=!0,this.selected_option_count=null,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change"),this.active_field?this.results_hide():void 0},Chosen.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},Chosen.prototype.result_select=function(a){var b,c,d;return this.result_highlight?(b=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?b.removeClass("active-result"):(this.result_single_selected&&(this.result_single_selected.removeClass("result-selected"),d=this.result_single_selected[0].getAttribute("data-option-array-index"),this.results_data[d].selected=!1),this.result_single_selected=b),b.addClass("result-selected"),c=this.results_data[b[0].getAttribute("data-option-array-index")],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(c):this.single_set_selected_text(c.text),(a.metaKey||a.ctrlKey)&&this.is_multiple||this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[c.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,this.search_field_scale())):void 0},Chosen.prototype.single_set_selected_text=function(a){return null==a&&(a=this.default_text),a===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").text(a)},Chosen.prototype.result_deselect=function(a){var b;return b=this.results_data[a],this.form_field.options[b.options_index].disabled?!1:(b.selected=!1,this.form_field.options[b.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[b.options_index].value}),this.search_field_scale(),!0)},Chosen.prototype.single_deselect_control_build=function(){return this.allow_single_deselect?(this.selected_item.find("abbr").length||this.selected_item.find("span").first().after(''),this.selected_item.addClass("chosen-single-with-deselect")):void 0},Chosen.prototype.get_search_text=function(){return this.search_field.val()===this.default_text?"":a("
                    ").text(a.trim(this.search_field.val())).html()},Chosen.prototype.winnow_results_set_highlight=function(){var a,b;return b=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),a=b.length?b.first():this.search_results.find(".active-result").first(),null!=a?this.result_do_highlight(a):void 0},Chosen.prototype.no_results=function(b){var c;return c=a('
                  • '+this.results_none_found+' ""
                  • '),c.find("span").first().html(b),this.search_results.append(c)},Chosen.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},Chosen.prototype.keydown_arrow=function(){var a;return this.results_showing&&this.result_highlight?(a=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(a):void 0:this.results_show()},Chosen.prototype.keyup_arrow=function(){var a;return this.results_showing||this.is_multiple?this.result_highlight?(a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},Chosen.prototype.keydown_backstroke=function(){var a;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(a=this.search_container.siblings("li.search-choice").last(),a.length&&!a.hasClass("search-choice-disabled")?(this.pending_backstroke=a,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0)},Chosen.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},Chosen.prototype.keydown_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),8!==b&&this.pending_backstroke&&this.clear_backstroke(),b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:a.preventDefault(),this.keydown_arrow()}},Chosen.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){for(d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"],i=0,j=g.length;j>i;i++)e=g[i],f+=e+":"+this.search_field.css(e)+";";return b=a("
                    ",{style:f}),b.text(this.search_field.val()),a("body").append(b),h=b.width()+25,b.remove(),c=this.container.outerWidth(),h>c-10&&(h=c-10),this.search_field.css({width:h+"px"})}},Chosen}(AbstractChosen)}.call(this); \ No newline at end of file diff --git a/wootique/functions/assets/js/lib/jquery-masked-input.js b/wootique/functions/assets/js/lib/jquery-masked-input.js new file mode 100755 index 0000000..cd54339 --- /dev/null +++ b/wootique/functions/assets/js/lib/jquery-masked-input.js @@ -0,0 +1,338 @@ +/* + Masked Input plugin for jQuery + Copyright (c) 2007-2013 Josh Bush (digitalbush.com) + Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license) + Version: 1.3.1 +*/ +(function($) { + function getPasteEvent() { + var el = document.createElement('input'), + name = 'onpaste'; + el.setAttribute(name, ''); + return (typeof el[name] === 'function')?'paste':'input'; +} + +var pasteEventName = getPasteEvent() + ".mask", + ua = navigator.userAgent, + iPhone = /iphone/i.test(ua), + android=/android/i.test(ua), + caretTimeoutId; + +$.mask = { + //Predefined character definitions + definitions: { + '9': "[0-9]", + 'a': "[A-Za-z]", + '*': "[A-Za-z0-9]" + }, + dataName: "rawMaskFn", + placeholder: '_', +}; + +$.fn.extend({ + //Helper Function for Caret positioning + caret: function(begin, end) { + var range; + + if (this.length === 0 || this.is(":hidden")) { + return; + } + + if (typeof begin == 'number') { + end = (typeof end === 'number') ? end : begin; + return this.each(function() { + if (this.setSelectionRange) { + this.setSelectionRange(begin, end); + } else if (this.createTextRange) { + range = this.createTextRange(); + range.collapse(true); + range.moveEnd('character', end); + range.moveStart('character', begin); + range.select(); + } + }); + } else { + if (this[0].setSelectionRange) { + begin = this[0].selectionStart; + end = this[0].selectionEnd; + } else if (document.selection && document.selection.createRange) { + range = document.selection.createRange(); + begin = 0 - range.duplicate().moveStart('character', -100000); + end = begin + range.text.length; + } + return { begin: begin, end: end }; + } + }, + unmask: function() { + return this.trigger("unmask"); + }, + mask: function(mask, settings) { + var input, + defs, + tests, + partialPosition, + firstNonMaskPos, + len; + + if (!mask && this.length > 0) { + input = $(this[0]); + return input.data($.mask.dataName)(); + } + settings = $.extend({ + placeholder: $.mask.placeholder, // Load default placeholder + completed: null + }, settings); + + + defs = $.mask.definitions; + tests = []; + partialPosition = len = mask.length; + firstNonMaskPos = null; + + $.each(mask.split(""), function(i, c) { + if (c == '?') { + len--; + partialPosition = i; + } else if (defs[c]) { + tests.push(new RegExp(defs[c])); + if (firstNonMaskPos === null) { + firstNonMaskPos = tests.length - 1; + } + } else { + tests.push(null); + } + }); + + return this.trigger("unmask").each(function() { + var input = $(this), + buffer = $.map( + mask.split(""), + function(c, i) { + if (c != '?') { + return defs[c] ? settings.placeholder : c; + } + }), + focusText = input.val(); + + function seekNext(pos) { + while (++pos < len && !tests[pos]); + return pos; + } + + function seekPrev(pos) { + while (--pos >= 0 && !tests[pos]); + return pos; + } + + function shiftL(begin,end) { + var i, + j; + + if (begin<0) { + return; + } + + for (i = begin, j = seekNext(end); i < len; i++) { + if (tests[i]) { + if (j < len && tests[i].test(buffer[j])) { + buffer[i] = buffer[j]; + buffer[j] = settings.placeholder; + } else { + break; + } + + j = seekNext(j); + } + } + writeBuffer(); + input.caret(Math.max(firstNonMaskPos, begin)); + } + + function shiftR(pos) { + var i, + c, + j, + t; + + for (i = pos, c = settings.placeholder; i < len; i++) { + if (tests[i]) { + j = seekNext(i); + t = buffer[i]; + buffer[i] = c; + if (j < len && tests[j].test(t)) { + c = t; + } else { + break; + } + } + } + } + + function keydownEvent(e) { + var k = e.which, + pos, + begin, + end; + + //backspace, delete, and escape get special treatment + if (k === 8 || k === 46 || (iPhone && k === 127)) { + pos = input.caret(); + begin = pos.begin; + end = pos.end; + + if (end - begin === 0) { + begin=k!==46?seekPrev(begin):(end=seekNext(begin-1)); + end=k===46?seekNext(end):end; + } + clearBuffer(begin, end); + shiftL(begin, end - 1); + + e.preventDefault(); + } else if (k == 27) {//escape + input.val(focusText); + input.caret(0, checkVal()); + e.preventDefault(); + } + } + + function keypressEvent(e) { + var k = e.which, + pos = input.caret(), + p, + c, + next; + + if (e.ctrlKey || e.altKey || e.metaKey || k < 32) {//Ignore + return; + } else if (k) { + if (pos.end - pos.begin !== 0){ + clearBuffer(pos.begin, pos.end); + shiftL(pos.begin, pos.end-1); + } + + p = seekNext(pos.begin - 1); + if (p < len) { + c = String.fromCharCode(k); + if (tests[p].test(c)) { + shiftR(p); + + buffer[p] = c; + writeBuffer(); + next = seekNext(p); + + if(android){ + setTimeout($.proxy($.fn.caret,input,next),0); + }else{ + input.caret(next); + } + + if (settings.completed && next >= len) { + settings.completed.call(input); + } + } + } + e.preventDefault(); + } + } + + function clearBuffer(start, end) { + var i; + for (i = start; i < end && i < len; i++) { + if (tests[i]) { + buffer[i] = settings.placeholder; + } + } + } + + function writeBuffer() { input.val(buffer.join('')); } + + function checkVal(allow) { + //try to place characters where they belong + var test = input.val(), + lastMatch = -1, + i, + c; + + for (i = 0, pos = 0; i < len; i++) { + if (tests[i]) { + buffer[i] = settings.placeholder; + while (pos++ < test.length) { + c = test.charAt(pos - 1); + if (tests[i].test(c)) { + buffer[i] = c; + lastMatch = i; + break; + } + } + if (pos > test.length) { + break; + } + } else if (buffer[i] === test.charAt(pos) && i !== partialPosition) { + pos++; + lastMatch = i; + } + } + if (allow) { + writeBuffer(); + } else if (lastMatch + 1 < partialPosition) { + input.val(""); + clearBuffer(0, len); + } else { + writeBuffer(); + input.val(input.val().substring(0, lastMatch + 1)); + } + return (partialPosition ? i : firstNonMaskPos); + } + + input.data($.mask.dataName,function(){ + return $.map(buffer, function(c, i) { + return tests[i]&&c!=settings.placeholder ? c : null; + }).join(''); + }); + + if (!input.attr("readonly")) + input + .one("unmask", function() { + input + .unbind(".mask") + .removeData($.mask.dataName); + }) + .bind("focus.mask", function() { + clearTimeout(caretTimeoutId); + var pos, + moveCaret; + + focusText = input.val(); + pos = checkVal(); + + caretTimeoutId = setTimeout(function(){ + writeBuffer(); + if (pos == mask.length) { + input.caret(0, pos); + } else { + input.caret(pos); + } + }, 10); + }) + .bind("blur.mask", function() { + checkVal(); + if (input.val() != focusText) + input.change(); + }) + .bind("keydown.mask", keydownEvent) + .bind("keypress.mask", keypressEvent) + .bind(pasteEventName, function() { + setTimeout(function() { + var pos=checkVal(true); + input.caret(pos); + if (settings.completed && pos == input.val().length) + settings.completed.call(input); + }, 0); + }); + checkVal(); //Perform initial check for existing values + }); + } +}); + + +})(jQuery); \ No newline at end of file diff --git a/wootique/functions/assets/js/masked-inputs.js b/wootique/functions/assets/js/masked-inputs.js new file mode 100755 index 0000000..86957be --- /dev/null +++ b/wootique/functions/assets/js/masked-inputs.js @@ -0,0 +1,11 @@ +(function ($) { + $(document).ready(function () { + if ( $( 'input.woo-input-masked' ).length ) { + $( 'input.woo-input-masked' ).each ( function ( i ) { + var placeholder = '99:99'; + if ( '' != $( this ).attr( 'data-placeholder' ) ) { placeholder = $( this ).attr( 'data-placeholder' ); } + $( this ).mask( placeholder ); + }); + } + }); +}(jQuery)); \ No newline at end of file diff --git a/wootique/functions/assets/js/range-selectors.js b/wootique/functions/assets/js/range-selectors.js new file mode 100755 index 0000000..56c3b10 --- /dev/null +++ b/wootique/functions/assets/js/range-selectors.js @@ -0,0 +1,34 @@ +jQuery(document).ready( function($) { + jQuery( 'select.range-input' ).each( function () { + // Get the range field's ID value. + var idValue = jQuery( this ).attr( 'id' ); + + if ( idValue ) { + var select = jQuery( this ); + + var selectedValue = select.val(); + + var numberOfOptions = jQuery( this ).find( 'option' ).length; + + var slider = jQuery( '
                    ' ).insertAfter( select ).slider({ + min: 1, + max: parseInt( numberOfOptions ), + range: 'min', + value: select[0].selectedIndex + 1, + slide: function( event, ui ) { + select[0].selectedIndex = ui.value - 1; + jQuery( this ).parents( 'td' ).find( '.slider-value' ).text( select.val() ); + } + }); + + slider.after( '
                    ' + selectedValue + '
                    ' ); + + select.hide(); + + select.change(function() { + slider.slider( "value", this.selectedIndex + 1 ); + jQuery( this ).parents( 'td' ).find( '.slider-value' ).text( jQuery( this ).val() ); + }); + } + }); +}); \ No newline at end of file diff --git a/wootique/functions/assets/js/typography-preview.js b/wootique/functions/assets/js/typography-preview.js new file mode 100755 index 0000000..d1f3601 --- /dev/null +++ b/wootique/functions/assets/js/typography-preview.js @@ -0,0 +1,219 @@ +/** + * WooThemes Typography Live Preview + * 2011-10-07. + * + * @description The code below is designed to generate a live preview using the + * setting specified in a "custom typography" field in the WooFramework. + * + * @since 4.7.0 + */ + +(function ($) { + + wooTypographyPreview = { + + /** + * loadPreviewButtons() + * + * @description Setup a "preview" button next to each typography field. + * @since 4.7.0 + */ + + loadPreviewButtons: function () { + + var previewButtonHTML = '
                    ' + '+' + ''; + + $( 'input.woo-typography-color' ).each( function ( i ) { + $( this ).next( '.button' ).after( previewButtonHTML ); + }); + + // Register event handlers. + wooTypographyPreview.handleEvents(); + + }, // End loadPreviewButtons() + + /** + * handleEvents() + * + * @description Handle the events. + * @since 4.7.0 + */ + + handleEvents: function () { + $(document).on( 'click', 'a.woo-typography-preview-button', function () { + wooTypographyPreview.generatePreview( $( this ) ); + return false; + }); + + $(document).on( 'click', 'a.preview_remove', function () { + wooTypographyPreview.closePreview( $( this ) ); + return false; + }); + }, + + /** + * closePreview() + * + * @description Close the preview. + * @since 4.7.0 + */ + + closePreview: function ( target ) { + target.parents( '.section' ).find( '.woo-typography-preview-button .refresh' ).removeClass( 'refresh' ); + target.parents( '.typography-preview-container' ).remove(); + }, + + /** + * generatePreview() + * + * @description Generate the typography preview. + * @since 4.7.0 + */ + + generatePreview: function ( target ) { + var previewText = 'Grumpy wizards make toxic brew for the evil Queen and Jack.'; + var previewHTML = ''; + var previewStyles = ''; + + // Get the control parent element. + var controls = target.parents( '.wf-field-typography' ); + var explain = target.parents( '.wf-field-typography' ).find( '.description' ); + + var fontUnit = controls.find( '.woo-typography-unit' ).val(); + + var sizeSelector = '.woo-typography-size-px'; + if ( fontUnit == 'em' ) { sizeSelector = '.woo-typography-size-em'; } + + var fontSize = controls.find( sizeSelector ).val(); + + var fontFace = controls.find( '.woo-typography-face' ).val(); + var fontStyle = controls.find( '.woo-typography-style' ).val(); + var fontColor = controls.find( '.woo-typography-color' ).val(); + var lineHeight = ( parseInt( fontSize ) / 2 ) + parseInt( fontSize ); // Calculate pleasant line-height for the selected font size. + + // Fix the line-height if using "em". + if ( fontUnit == 'em' ) { lineHeight = 1; } + + // Generate array of non-Google fonts. + var nonGoogleFonts = new Array( + 'Arial, sans-serif', + 'Verdana, Geneva, sans-serif', + '"Trebuchet MS", Tahoma, sans-serif', + 'Georgia, serif', + '"Times New Roman", serif', + 'Tahoma, Geneva, Verdana, sans-serif', + 'Palatino, "Palatino Linotype", serif', + '"Helvetica Neue", Helvetica, sans-serif', + 'Calibri, Candara, Segoe, Optima, sans-serif', + '"Myriad Pro", Myriad, sans-serif', + '"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif', + '"Arial Black", sans-serif', + '"Gill Sans", "Gill Sans MT", Calibri, sans-serif', + 'Geneva, Tahoma, Verdana, sans-serif', + 'Impact, Charcoal, sans-serif', + 'Courier, "Courier New", monospace' + ); + + // Remove "current" class from previously modified typography field. + $( '.typography-preview' ).removeClass( 'current' ); + + // Prepare selected fontFace for testing. + var fontFaceTest = fontFace.replace( /"/g, '"' ); + + // Load Google WebFonts, if we need to. + if ( jQuery.inArray( fontFaceTest, nonGoogleFonts ) == -1 ) { // -1 is returned if the item is not found in the array. + + // Prepare fontFace for use in the WebFont loader. + var fontFaceString = fontFace; + + // Handle fonts that require specific weights when being included. + switch ( fontFaceString ) { + case 'Allan': + case 'Cabin Sketch': + case 'Corben': + case 'UnifrakturCook': + fontFaceString += ':700'; + break; + + case 'Buda': + case 'Open Sans Condensed': + fontFaceString += ':300'; + break; + + case 'Coda': + case 'Sniglet': + fontFaceString += ':800'; + break; + + case 'Raleway': + fontFaceString += ':100'; + break; + } + + + fontFaceString += '::latin'; + fontFaceString = fontFaceString.replace( / /g, '+' ); + + // Add the fontFace in quotes for use in the style declaration, if the selected font has a number in it. + var specificFonts = new Array( 'Goudy Bookletter 1911' ); + + if ( jQuery.inArray( fontFace, specificFonts ) > -1 || ! jQuery.inArray( fontFace, nonGoogleFonts ) > -1 ) { + var fontFace = "'" + fontFace + "'"; + } + + WebFontConfig = { + google: { families: [ fontFaceString ] } + }; + + if ( $( 'script.google-webfonts-script' ).length ) { $( 'script.google-webfonts-script' ).remove(); } + + (function() { + var wf = document.createElement( 'script' ); + wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; + wf.type = 'text/javascript'; + wf.async = 'true'; + var s = document.getElementsByTagName( 'script' )[0]; + s.parentNode.insertBefore( wf, s ); + + $( wf ).addClass( 'google-webfonts-script' ); + + })(); + + } + + // Construct styles. + previewStyles += 'font: ' + fontStyle + ' ' + fontSize + fontUnit + '/' + lineHeight + fontUnit + ' ' + fontFace + ';'; + if ( fontColor ) { previewStyles += ' color: ' + fontColor + ';'; } + + // Construct preview HTML. + var previewHTMLInner = jQuery( '
                    ' ).addClass( 'current' ).addClass( 'typography-preview' ).html( previewText ); + + previewHTML = jQuery( '
                    ' ).addClass( 'typography-preview-container' ).html( '' + 'Close Preview' + '' ); + previewHTML.find( '.preview_remove' ).before( previewHTMLInner ); + + // If no preview display is present, add one. + if ( ! explain.next( '.typography-preview-container' ).length ) { + previewHTML.find( '.typography-preview' ).attr( 'style', previewStyles ); + explain.after( previewHTML ); + } else { + // Otherwise, just update the styles of the existing preview. + explain.next( '.typography-preview-container' ).find( '.typography-preview' ).attr( 'style', previewStyles ); + } + + // Set the button to "refresh" mode. + controls.find( '.woo-typography-preview-button span' ).addClass( 'refresh' ); + } + + + }; // End wooTypographyPreview Object // Don't remove this, or the sky will fall on your head. + +/*-----------------------------------------------------------------------------------*/ +/* Execute the above methods in the wooTypographyPreview object. +/*-----------------------------------------------------------------------------------*/ + +$(document).ready(function () { + wooTypographyPreview.loadPreviewButtons(); +}); + +})(jQuery); diff --git a/wootique/functions/assets/js/typography.js b/wootique/functions/assets/js/typography.js new file mode 100755 index 0000000..b2cd961 --- /dev/null +++ b/wootique/functions/assets/js/typography.js @@ -0,0 +1,30 @@ +(function ($) { + $(document).ready(function () { + /* Remove the 'style' attribute from all '.chosen-container' select fields, to give more control over their widths. We need to specify the width to prevent hidden 'Chosen' fields from having a 0 width. */ + $( '.wf-field .chosen-container' ).removeAttr( 'style' ); + + $( '.wf-field-typography .woo-typography-unit' ).on( 'change', function () { + var $el, classes_string, classes, selected_unit; + + $el = $( this ).parent( '.unit-container' ); // The wrapping 'span' tag. + + /* Detect all the classes and remove any that aren't "unit-container". */ + classes_string = $el.attr( 'class' ); + if ( undefined !== classes_string ) { + classes = classes_string.split( ' ' ); + $( classes ).each( function ( i ) { + if ( 'unit-container' !== classes[i] ) { + $el.removeClass( classes[i] ); + } + }); + } + + /* Apply a new class with the selected value. */ + selected_unit = $( this ).find( 'option:selected' ).val(); + + if ( undefined !== selected_unit ) { + $el.addClass( 'unit-' + selected_unit ); + } + }); + }); +}(jQuery)); \ No newline at end of file diff --git a/wootique/functions/assets/js/uploaders.js b/wootique/functions/assets/js/uploaders.js new file mode 100755 index 0000000..d68df38 --- /dev/null +++ b/wootique/functions/assets/js/uploaders.js @@ -0,0 +1,86 @@ +(function($) { + $(document).ready(function() { + var frame, attachment, container, imagePreviewHTML, file_id_field, file_path_field, image_preview; + + /* Remove the image preview, URL and ID when we empty the URL field. */ + $( '.upload-field .input-upload' ).on( 'blur', function ( e ) { + var $el = $( this ); + + container = $el.parent( '.upload-field' ); + + file_id_field = container.find( '.input-upload-id' ); + image_preview = $el.parents( '.wf-field-upload' ).find( '.image-preview' ); + + if ( '' === $el.val() ) { + file_id_field.attr( 'value', '' ); + image_preview.removeClass( 'has-image' ).addClass( 'no-image' ); + image_preview.find( 'img' ).attr( 'src', '' ); + } + + return false; + } ); + + /* Remove the image preview, URL and ID when we click the "Remove" link. */ + $( '.wf-field-upload .remove, .wf-field-upload-min .remove' ).on( 'click', function ( e ) { + var $el = $( this ); + + container = $el.parents( 'td' ).find( '.upload-field' ); // We use td instead of a CSS class to cater for both wf-field-upload and wf-field-upload-min. + + file_path_field = container.find( '.input-upload' ); + file_id_field = container.find( '.input-upload-id' ); + image_preview = $el.parents( '.wf-field-upload' ).find( '.image-preview' ); + + file_path_field.attr( 'value', '' ); + file_id_field.attr( 'value', '' ); + image_preview.removeClass( 'has-image' ).addClass( 'no-image' ); + image_preview.find( 'img' ).attr( 'src', '' ); + + return false; + } ); + + $( '.upload-field a.button' ).on( 'click', function( e ) { + var $el = $( this ); + + container = $el.parent( '.upload-field' ); + + e.preventDefault(); + + file_path_field = container.find( '.input-upload' ); + file_id_field = container.find( '.input-upload-id' ); + + // If the media frame already exists, reopen it. + if ( frame ) { + frame.open(); + return; + } + + frame = wp.media({ + title: $el.data( 'uploader-title' ), + button: { + text: $el.data( 'uploader-button-text' ), + }, + multiple: false, // Set to true to allow multiple files to be selected + library: { + type: 'image' + } + }); + + // When an image is selected, run a callback. + frame.on( 'select', function() { + // We set multiple to false so only get one image from the uploader + var attachment = frame.state().get('selection').first().toJSON(); + + // Do something with attachment.id and/or attachment.url here + $( file_path_field ).val( attachment.url ); + $( file_id_field ).val( attachment.id ); + + // Small preview of the image + image_preview = container.parent( '.wf-field' ).find( '.image-preview' ); + image_preview.removeClass( 'no-image' ).addClass( 'has-image' ).find( 'img' ).attr( 'src', attachment.url ); + }); + + // Finally, open the modal + frame.open(); + }); + }); +})(jQuery); \ No newline at end of file diff --git a/wootique/functions/classes/class-wf-backup.php b/wootique/functions/classes/class-wf-backup.php new file mode 100755 index 0000000..618a33f --- /dev/null +++ b/wootique/functions/classes/class-wf-backup.php @@ -0,0 +1,469 @@ +_admin_page = ''; + $this->_token = 'woothemes-backup'; + + add_action( 'admin_menu', array( $this, 'register_admin_screen' ), 50 ); + } // End __construct() + + /** + * Register the admin screen within WordPress. + * @access public + * @since 6.0.0 + * @return void + */ + public function register_admin_screen () { + $this->_admin_page = add_submenu_page( 'woothemes', __( 'WooThemes Settings Backup', 'woothemes' ), __( 'Backup Settings', 'woothemes' ), 'manage_options', $this->_token, array( $this, 'admin_screen' ) ); + // Admin screen logic. + add_action( 'load-' . $this->_admin_page, array( $this, 'admin_screen_logic' ) ); + // Add admin notices to the backups screen. + add_action( 'admin_notices', array( $this, 'admin_notices' ), 10 ); + } // End register_admin_screen() + + /** + * Load the admin screen. + * @access public + * @since 6.0.0 + * @return void + */ + public function admin_screen () { + $export_type = 'all'; + + if ( isset( $_POST['export-type'] ) && in_array( $_POST['export-type'], array( 'theme', 'framework' ) ) ) { + $export_type = esc_attr( $_POST['export-type'] ); + } +?> + +

                    +

                    + +

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

                    + +
                    +

                    + +

                    +
                    +
                    + +

                    + +

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


                    + +
                    +
                    +
                    +
                    + +

                    + + +

                    + +
                    + +_token ) ) { return; } + + echo '

                    ' . sprintf( __( 'Please note that this backup manager backs up only your settings and not your content. To backup your content, please use the %sWordPress Export Tool%s.', 'woothemes' ), '', '' ) . '

                    ' . "\n"; + + if ( isset( $_GET['error'] ) && $_GET['error'] == 'true' ) { + echo '

                    ' . __( 'There was a problem importing your settings. Please try again.', 'woothemes' ) . '

                    '; + } else if ( isset( $_GET['error-export'] ) && $_GET['error-export'] == 'true' ) { + echo '

                    ' . __( 'There was a problem exporting your settings. Please try again.', 'woothemes' ) . '

                    '; + } else if ( isset( $_GET['invalid'] ) && $_GET['invalid'] == 'true' ) { + echo '

                    ' . __( 'The import file you\'ve provided is invalid. Please try again.', 'woothemes' ) . '

                    '; + } else if ( isset( $_GET['imported'] ) && $_GET['imported'] == 'true' ) { + echo '

                    ' . sprintf( __( 'Settings successfully imported. | Return to %sTheme Options%s', 'woothemes' ), '', '' ) . '

                    '; + } + } // End admin_notices() + + /** + * The processing code to generate the backup or restore from a previous backup. + * @access public + * @since 6.0.0 + * @return void + */ + public function admin_screen_logic () { + if ( ! isset( $_POST['woothemes-backup-export'] ) && isset( $_POST['woothemes-backup-import'] ) && ( $_POST['woothemes-backup-import'] == true ) ) { + $this->import(); + } + + if ( ! isset( $_POST['woothemes-backup-import'] ) && isset( $_POST['woothemes-backup-export'] ) && ( $_POST['woothemes-backup-export'] == true ) ) { + $this->export(); + } + } // End admin_screen_logic() + + /** + * Import settings from a backup file. + * @access private + * @since 6.0.0 + * @return void + */ + private function import() { + check_admin_referer( 'woothemes-backup-import' ); // Security check. + + if ( ! isset( $_FILES['woothemes-import-file'] ) ) { return; } // We can't import the settings without a settings file. + + // Extract file contents + $upload = file_get_contents( $_FILES['woothemes-import-file']['tmp_name'] ); + + // Decode the JSON from the uploaded file + $options = json_decode( $upload, true ); + + // Check for errors + if ( ! $options || $_FILES['woothemes-import-file']['error'] ) { + wp_redirect( admin_url( 'admin.php?page=' . $this->_token . '&error=true' ) ); + exit; + } + + // Make sure this is a valid backup file. + if ( ! isset( $options['woothemes-backup-validator'] ) ) { + wp_redirect( admin_url( 'admin.php?page=' . $this->_token . '&invalid=true' ) ); + exit; + } else { + unset( $options['woothemes-backup-validator'] ); // Now that we've checked it, we don't need the field anymore. + } + + // Make sure the options are saved to the global options collection as well. + $woo_options = get_option( 'woo_options' ); + + $has_updated = false; // If this is set to true at any stage, we update the main options collection. + + // Cycle through data, import settings + foreach ( (array)$options as $key => $settings ) { + $settings = maybe_unserialize( $settings ); // Unserialize serialized data before inserting it back into the database. + + // We can run checks using get_option(), as the options are all cached. See wp-includes/functions.php for more information. + if ( get_option( $key ) != $settings ) { + update_option( $key, $settings ); + } + + if ( is_array( $woo_options ) ) { + if ( isset( $woo_options[$key] ) && $woo_options[$key] != $settings ) { + $woo_options[$key] = $settings; + $has_updated = true; + } + } + } + + if ( $has_updated == true ) { + update_option( 'woo_options', $woo_options ); + } + + // Redirect, add success flag to the URI + wp_redirect( admin_url( 'admin.php?page=' . $this->_token . '&imported=true' ) ); + exit; + } // End import() + + /** + * Export settings to a backup file. + * @access private + * @since 6.0.0 + * @uses $wpdb WordPress database object. + * @return void + */ + private function export() { + global $wpdb; + check_admin_referer( 'woothemes-backup-export' ); // Security check. + + $export_options = array( 'all', 'theme', 'framework' ); + + if ( ! in_array( strip_tags( $_POST['export-type'] ), $export_options ) ) { return; } // No invalid exports, please. + + $export_type = esc_attr( strip_tags( $_POST['export-type'] ) ); + + $settings = array(); + + $query = $this->construct_database_query( $export_type ); + + // Error trapping for the export. + if ( $query == '' ) { + wp_redirect( admin_url( 'admin.php?page=' . $this->_token . '&error-export=true' ) ); + return; + } + + // If we get to this stage, all is safe so run the query. + $results = $wpdb->get_results( $query ); + + foreach ( $results as $result ) { + $settings[$result->option_name] = $result->option_value; + } + + // Remove the "blogname" and "blogdescription" fields + unset( $settings['blogname'] ); + unset( $settings['blogdescription'] ); + + if ( ! $settings ) { return; } + + // Add our custom marker, to ensure only valid files are imported successfully. + $settings['woothemes-backup-validator'] = date( 'Y-m-d h:i:s' ); + + // Generate the export file. + $output = json_encode( (array)$settings ); + + header( 'Content-Description: File Transfer' ); + header( 'Cache-Control: public, must-revalidate' ); + header( 'Pragma: hack' ); + header( 'Content-Type: text/plain' ); + header( 'Content-Disposition: attachment; filename="' . $this->_token . '-' . date( 'Ymd-His' ) . '.json"' ); + header( 'Content-Length: ' . strlen( $output ) ); + echo $output; + exit; + } // End export() + + /** + * Loop through an array of options and add them to the MySQL SELECT query string. + * @access private + * @since 6.0.0 + * @param $options array + * @param $count int + * @return $query array ( string, count ) + */ + private function add_to_export_query ( $options, $count ) { + $query = array(); + $query_inner = ''; + + foreach( $options as $option ) { + if( isset( $option['id'] ) ) { + $count++; + $option_id = $option['id']; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + if( $count > 1 ) { $query_inner .= ' OR '; } + $query_inner .= "option_name = '$option_id'"; + + // Width/Height-type fields + if ( is_array( $option['type'] ) ) { + foreach ( $option['type'] as $o ) { + if( $count > 1 ){ $query_inner .= ' OR '; } + if ( isset( $o['id'] ) ) { + $option_id = $o['id']; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + $query_inner .= "option_name = '$option_id'"; + } + } + } + + // Multicheck fields + if ( ! is_array( $option['type'] ) && $option['type'] == 'multicheck' ) { + foreach ( $option['options'] as $k => $v ) { + if( $count > 1 ){ $query_inner .= ' OR '; } + if ( ! is_numeric( $k ) ) { + $option_id = $option['id'] . '_' . $k; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + $query_inner .= "option_name = '$option_id'"; + } + } + } + } + } + + $query['string'] = $query_inner; + $query['count'] = $count; + + return $query; + } // End add_to_export_query() + + /** + * Add a single item to the MySQL SELECT query string. + * @access private + * @since 6.0.0 + * @param $option_id string + * @param $count int + * @return $query array ( string, count ) + */ + private function add_single_to_export_query ( $option_id, $count ) { + $query = array(); + $query_inner = ''; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + if( $count > 1 ) { $query_inner .= ' OR '; } + $query_inner .= "option_name = '$option_id'"; + + $query['string'] = $query_inner; + $query['count'] = $count; + + return $query; + } // End add_single_to_export_query() + + /** + * Constructs the database query based on the export type. + * @access private + * @since 6.0.0 + * @param $export_type string + * @uses global $wpdb + * @return string Constructed query. + */ + public function construct_database_query ( $export_type ) { + global $wpdb; + + $query = ''; + $query_inner = ''; + $count = 0; + + // Begin populating settings to be exported. + switch ( $export_type ) { + // All Settings + case 'all': + // Theme Options + $options = get_option( 'woo_template' ); + + if ( is_array( $options ) ) { + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + + // Framework Settings + $options = get_option( 'woo_framework_template' ); + + if ( is_array( $options ) ) { + // Remove the "framework_woo_export_options" and "framework_woo_import_options" items before constructing the query. + foreach ( (array) $options as $k => $v ) { + if ( isset( $options[$k]['id'] ) && in_array( $options[$k]['id'], array( 'framework_woo_import_options', 'framework_woo_export_options' ) ) ) { + unset( $options[$k] ); + } + } + + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + break; + + // Theme Options + case 'theme': + $options = get_option( 'woo_template' ); + + if ( is_array( $options ) ) { + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + break; + + // Framework Settings + case 'framework': + $options = get_option( 'woo_framework_template' ); + + if ( is_array( $options ) ) { + // Remove the "framework_woo_export_options" and "framework_woo_import_options" items before constructing the query. + foreach ( (array) $options as $k => $v ) { + if ( isset( $options[$k]['id'] ) && in_array( $options[$k]['id'], array( 'framework_woo_import_options', 'framework_woo_export_options' ) ) ) { + unset( $options[$k] ); + } + } + + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + break; + } + + // Allow child themes/plugins to add their own data to the exporter. + $query_inner = (string)apply_filters( 'wooframework_export_query_inner', $query_inner ); + + if ( $query_inner != '' ) { + $query = 'SELECT option_name, option_value FROM ' . $wpdb->options . ' WHERE ' . $query_inner; + } + + return $query; + } // End construct_database_query() +} // End Class +?> \ No newline at end of file diff --git a/wootique/functions/classes/class-wf-fields-meta.php b/wootique/functions/classes/class-wf-fields-meta.php new file mode 100755 index 0000000..d492ecf --- /dev/null +++ b/wootique/functions/classes/class-wf-fields-meta.php @@ -0,0 +1,45 @@ += $post_id && isset( $_GET['post'] ) ) { + $id = intval( $_GET['post'] ); + } + + $response = false; + + if ( true == (bool)apply_filters( 'wf_meta_use_underscore_prefix', false ) ) { + $key = '_' . $key; + } + + $response = get_post_meta( $id, $key, true ); + + return $response; + } // End get_value() +} // End Class +?> \ No newline at end of file diff --git a/wootique/functions/classes/class-wf-fields-settings.php b/wootique/functions/classes/class-wf-fields-settings.php new file mode 100755 index 0000000..e49b954 --- /dev/null +++ b/wootique/functions/classes/class-wf-fields-settings.php @@ -0,0 +1,123 @@ +_has_tabs = false; + + $this->_tabs = array(); + + // This must be present if using fields that require Javascript or styling. + add_action( 'admin_footer', array( $this, 'maybe_enqueue_field_assets' ) ); + } // End __construct() + + /** + * Validate the given data, assuming it is from a textarea field. + * @access public + * @since 6.0.0 + * @return void + */ + public function validate_field_textarea ( $v, $k ) { + // Allow iframe, object and embed tags in textarea fields. + $allowed = wp_kses_allowed_html( 'post' ); + $allowed['iframe'] = array( 'src' => true, 'width' => true, 'height' => true, 'id' => true, 'class' => true, 'name' => true ); + $allowed['object'] = array( 'src' => true, 'width' => true, 'height' => true, 'id' => true, 'class' => true, 'name' => true ); + $allowed['embed'] = array( 'src' => true, 'width' => true, 'height' => true, 'id' => true, 'class' => true, 'name' => true ); + + // Allow script tags in the Google Analytics field. + if ( is_array( $k ) && isset( $k['id'] ) && 'woo_google_analytics' == $k['id'] ) { + $allowed['script'] = array( 'type' => true, 'id' => true, 'class' => true ); + } + + return wp_kses( $v, $allowed ); + } // End validate_field_textarea() + + /** + * Initialise the tabs. + * @access public + * @since 6.0.0 + * @return void + */ + public function init_tabs () { + if ( true == $this->_has_tabs ) { + $this->_create_tabs(); + } + } // End init_tabs() + + /** + * Construct and output HTML markup for the settings tabs. + * @access public + * @since 1.1.0 + * @return void + */ + public function render_tabs () { + if ( ! $this->_has_tabs || 0 >= count( $this->_tabs ) ) { return; } + + $html = ''; + + $html .= '
                      ' . "\n"; + + $sections = array(); + + $current_tab = ''; + if ( isset( $_GET['tab'] ) && '' != $_GET['tab'] ) $current_tab = sanitize_title_with_dashes( $_GET['tab'] ); + + $count = 0; + foreach ( $this->_tabs as $k => $v ) { + $count++; + $class = 'tab'; + if ( ( '' == $current_tab && 1 == $count ) || $current_tab == $k ) $class .= ' current'; // If no current tab is set, highlight the first one. Otherwise, highlight the current tab. + $tab = $k; + $tab = $this->_generate_section_token( $tab, $count ); + + $sections[$k] = array( 'href' => remove_query_arg( 'updated', add_query_arg( 'tab', urlencode( $tab ) ) ), 'name' => esc_attr( $v['name'] ), 'class' => $class, 'id' => esc_attr( $k ) ); + } + + $count = 1; + foreach ( $sections as $k => $v ) { + $count++; + $html .= '
                    • '; + if ( $count <= count( $sections ) ) { $html .= ' | '; } + $html .= '
                    • ' . "\n"; + } + + $html .= '
                    ' . "\n"; + + echo $html; + } // End render_tabs() + + /** + * Create tabbed navigation based on the sections. + * @access private + * @since 6.0.0 + * @return void + */ + private function _create_tabs () { + if ( 0 >= count( $this->_sections ) ) return; + $tabs = array(); + foreach ( $this->_sections as $k => $v ) { + $tabs[$k] = $v; + } + $this->_tabs = $tabs; + } // End _create_tabs() +} // End Class +?> \ No newline at end of file diff --git a/wootique/functions/classes/class-wf-fields.php b/wootique/functions/classes/class-wf-fields.php new file mode 100755 index 0000000..6ed5f01 --- /dev/null +++ b/wootique/functions/classes/class-wf-fields.php @@ -0,0 +1,1716 @@ +_token = 'woothemes'; + $this->_sections = array(); + $this->_fields = array(); + + $this->_has_range = false; + $this->_has_imageselector = false; + $this->_has_colourpicker = false; + $this->_has_calendar = false; + $this->_has_masked_input = false; + $this->_has_typography = false; + $this->_has_upload = false; + $this->_has_select = false; + + $this->_processed_sections = array(); + + $this->_extra_hidden_fields = array(); + + $this->_render_submit_button = true; + + $this->_assets_url = WF()->get_assets_url(); + + $this->_wrappers = array(); + + // Set default field wrappers. + $this->__set( 'wrapper_start', '' ); + $this->__set( 'wrapper_end', '
                    ' ); + } // End __construct() + + /** + * Initialise the settings sections and fields. + * @access public + * @since 6.0.0 + * @param array $data Array of settings data to be parsed. + * @return boolean/object true if successful, WP_Error object if failed. + */ + public function init ( $data = array() ) { + if ( 0 >= count( $data ) ) return new WP_Error( 'bad_settings_data', __( 'The settings data provided is malformed. Please try again.', 'woothemes' ) ); + + $this->init_sections( $data ); + $this->init_fields( $data ); + } // End init() + + /** + * Generic setter for protected properties. + * @access public + * @since 6.0.0 + * @param string $key The key to denote which property is to be set. + * @param mixed $value The value to which to set the property (casting should happen on a per-case basis). + * @return mixed + */ + public function __set ( $key, $value ) { + switch ( $key ) { + case 'has_tabs': + $this->_has_tabs = (bool)$value; + break; + case 'token': + $this->_token = $value; + break; + case 'wrapper_start': + $this->_wrappers['wrapper_start'] = $value; + break; + case 'wrapper_end': + $this->_wrappers['wrapper_end'] = $value; + break; + case 'assets_url': + $this->_assets_url = esc_url( $value ); + break; + case 'extra_hidden_fields': + $this->_extra_hidden_fields = (array)$value; + break; + case 'fields': + $this->_fields = (array)$value; + break; + case 'sections': + $this->_sections = (array)$value; + break; + case 'render_submit_button': + $this->_render_submit_button = (bool)$value; + break; + default: + break; + } + } // End __set() + + /** + * Generic getter for protected properties. + * @access public + * @since 6.0.0 + * @param string $key The key to denote which property is to be set. + * @return mixed + */ + public function __get ( $key ) { + switch ( $key ) { + case 'has_tabs': + $value = (bool)$this->_has_tabs; + break; + case 'token': + $value = $this->_token; + break; + case 'wrapper_start': + $value = $this->_wrappers['wrapper_start']; + break; + case 'wrapper_end': + $value = $this->_wrappers['wrapper_end']; + break; + case 'assets_url': + $value = $this->_assets_url; + break; + case 'extra_hidden_fields': + $value = (array)$this->_extra_hidden_fields; + break; + case 'fields': + $value = (array)$this->_fields; + break; + case 'sections': + $value = (array)$this->_sections; + break; + case 'render_submit_button': + $value = (bool)$this->_render_submit_button; + break; + default: + break; + } + return $value; + } // End __get() + + /** + * Prepare the given data to be validated. + * @access public + * @since 6.0.0 + * @return void + */ + public function prepare_data_for_validation ( $data ) { + $fields = $this->_fields; + + $prepared_data = array(); + + // Bring the fields in a "multi_field" up to the top of the array, for validation. + $fields = $this->maybe_bubble_up_multi_fields( $fields ); + + $accepted_keys = array_keys( $fields ); + + if ( 0 < count( $accepted_keys ) ) { + foreach ( $accepted_keys as $k ) { + // Last minute preservation of the *-id keys for upload fields. + if ( in_array( $fields[$k]['type'], array( 'upload', 'upload_min' ) ) ) { + $accepted_keys[] = $k . '-id'; + $field_data = $fields[$k]; + $field_data['type'] = 'upload_field_id'; + $fields[$k . '-id'] = $field_data; + $this->_fields[$k . '-id'] = $field_data; + } + } + } + + if ( is_array( $data ) && 0 < count( $data ) ) { + foreach ( $data as $k => $v ) { + // Remove any keys which aren't meant to be validated and stored. + if ( ! isset( $fields[$k] ) ) { + continue; + } + // If the current field type isn't supported, don't validate or store it. + if ( ! in_array( $fields[$k]['type'], $this->get_supported_fields() ) ) { + continue; + } + + if ( in_array( $k, $accepted_keys ) ) { + $prepared_data[$k] = $v; + } + } + } + + return $prepared_data; + } // End prepare_data_for_validation() + + /** + * Move multi_field fields in the given array, into the top index, to prepare for validation. + * @access public + * @since 6.0.0 + * @return void + */ + public function maybe_bubble_up_multi_fields ( $fields ) { + if ( 0 < count( $fields ) ) { + foreach ( $fields as $k => $v ) { + if ( isset( $v['type'] ) && 'multi_field' == $v['type'] && isset( $v['multi_fields'] ) ) { + foreach ( $v['multi_fields'] as $i => $j ) { + if ( ! isset( $fields[$i] ) ) { + $fields[$i] = $j; + unset( $fields[$k] ); + } + } + } + } + } + return $fields; + } // End maybe_bubble_up_multi_fields() + + /** + * Validate the given field data. + * @access public + * @since 6.0.0 + * @return void + */ + public function validate_fields ( $data, $section = '' ) { + if ( ! is_array( $data ) || 0 >= count( $data ) ) return new WP_Error( 'bad_field_data', __( 'The provided field data is invalid and cannot be validated.', 'woothemes' ) ); + + $sections_to_scan = array(); + + // No section has been applied. Assume it's the first. + if ( '' == $section && 'all_fields' != $section ) { + $all_sections = $this->_sections; + if ( is_array( $all_sections ) && 0 < count( $all_sections ) ) { + foreach ( $all_sections as $k => $v ) { + $section = $k; + break; + } + } + } + + // Store the current top section. + $sections_to_scan[] = $section; + // Check if we have sub-sections. + if ( isset( $this->_sections[$section]['children'] ) && 0 < count( (array)$this->_sections[$section]['children'] ) ) { + foreach ( $this->_sections[$section]['children'] as $k => $v ) { + $sections_to_scan[] = $v['token']; + } + } + + // Retrieve all fields in this current screen (main and sub-sections). + $fields_by_section = array(); + + foreach ( $sections_to_scan as $k => $v ) { + $field_data = $this->_get_fields_by_section( $v ); + $fields_by_section = array_merge( $fields_by_section, $field_data ); + } + + // Make sure checkboxes are taken care of. + // As well as multicheck fields. + if ( 0 < count( $fields_by_section ) ) { + foreach ( $fields_by_section as $k => $v ) { + if ( ! in_array( $v['type'], array( 'checkbox', 'multicheck', 'multicheck2' ) ) ) { + unset( $fields_by_section[$k] ); + } + } + } + + // If we have fields left, merge them in. + if ( 0 < count( $fields_by_section ) ) { + foreach ( $fields_by_section as $k => $v ) { + if ( ! isset( $data[$k] ) ) { + $data[$k] = ''; + } + } + } + + $data = $this->prepare_data_for_validation( $data ); + + $fields = $this->_fields; + + // Bring the fields in a "multi_field" up to the top of the array, for validation. + $fields = $this->maybe_bubble_up_multi_fields( $fields ); + + if ( 0 < count( $data ) ) { + foreach ( $data as $k => $v ) { + if ( ! isset( $fields[$k] ) ) continue; + + // Determine if a method is available for validating this field. + $method = 'validate_field_' . $fields[$k]['type']; + if ( ! method_exists( $this, $method ) ) { + if ( true == (bool)apply_filters( 'wf_validate_field_' . $fields[$k]['type'] . '_use_default', true ) ) { + $method = 'validate_field_text'; + } else { + $method = ''; + } + } + + // If we have an internal method for validation, filter and apply it. + if ( '' != $method ) { + add_filter( 'wf_validate_field_' . $fields[$k]['type'], array( $this, $method ), 10, 2 ); + } + + $method_output = apply_filters( 'wf_validate_field_' . $fields[$k]['type'], $v, $fields[$k] ); + // $method_output = apply_filters( 'wf_validate_field_' . $k, $v, $fields[$k] ); + + if ( is_wp_error( $method_output ) ) { + // if ( defined( 'WP_DEBUG' ) || true == constant( 'WP_DEBUG' ) ) print_r( $method_output ); // Add better error display. + } else { + $data[$k] = $method_output; + } + } + } + + return $data; + } // End validate_fields() + + /** + * Validate the given data, assuming it is from a text input field. + * @access public + * @since 6.0.0 + * @return void + */ + public function validate_field_text ( $v ) { + return (string)wp_kses_post( $v ); + } // End validate_field_text() + + /** + * Validate the given data, assuming it is from a textarea field. + * @access public + * @since 6.0.0 + * @return void + */ + public function validate_field_textarea ( $v, $k ) { + // Allow iframe, object and embed tags in textarea fields. + $allowed = wp_kses_allowed_html( 'post' ); + $allowed['iframe'] = array( 'src' => true, 'width' => true, 'height' => true, 'id' => true, 'class' => true, 'name' => true ); + $allowed['object'] = array( 'src' => true, 'width' => true, 'height' => true, 'id' => true, 'class' => true, 'name' => true ); + $allowed['embed'] = array( 'src' => true, 'width' => true, 'height' => true, 'id' => true, 'class' => true, 'name' => true ); + + return wp_kses( $v, $allowed ); + } // End validate_field_textarea() + + /** + * Validate the given data, assuming it is from a checkbox input field. + * @access public + * @since 6.0.0 + * @param string $v + * @return string + */ + public function validate_field_checkbox ( $v ) { + if ( 'true' != $v ) { + return 'false'; + } else { + return 'true'; + } + } // End validate_field_checkbox() + + /** + * Validate the given data, assuming it is from a multicheck field. + * @access public + * @since 6.0.0 + * @param string $v + * @return string + */ + public function validate_field_multicheck ( $v ) { + $v = (array) $v; + + $v = array_map( 'esc_attr', $v ); + + return $v; + } // End validate_field_multicheck() + + /** + * Validate the given data, assuming it is from a multicheck2 field. + * @access public + * @since 6.0.0 + * @param string $v + * @return string + */ + public function validate_field_multicheck2 ( $v ) { + $v = (array) $v; + + $v = array_map( 'esc_attr', $v ); + + return $v; + } // End validate_field_multicheck2() + + /** + * Validate the given data, assuming it is from a slider field. + * @access public + * @since 6.0.0 + * @param string $v + * @return string + */ + public function validate_field_slider ( $v ) { + $v = floatval( $v ); + + return $v; + } // End validate_field_slider() + + /** + * Validate the given data, assuming it is from a URL field. + * @access public + * @since 6.0.0 + * @param string $v + * @return string + */ + public function validate_field_url ( $v ) { + return trim( esc_url( $v ) ); + } // End validate_field_url() + + /** + * Validate the given data, assuming it is from a upload field. + * @access public + * @since 6.0.0 + * @param string $v + * @return string + */ + public function validate_field_upload ( $v ) { + return trim( esc_url( $v ) ); + } // End validate_field_upload() + + /** + * Validate the given data, assuming it is from a upload_min field. + * @access public + * @since 6.0.0 + * @param string $v + * @return string + */ + public function validate_field_upload_min ( $v ) { + return trim( esc_url( $v ) ); + } // End validate_field_upload() + + /** + * Validate the given data, assuming it is from a upload_field_id field. + * @access public + * @since 6.0.0 + * @param string $v + * @return string + */ + public function validate_field_upload_field_id ( $v ) { + return intval( $v ); + } // End validate_field_upload_field_id() + + /** + * Validate the given data, assuming it is from a typography field. + * @access public + * @since 6.0.0 + * @param string $v + * @return string + */ + public function validate_field_typography ( $v ) { + $defaults = array( 'size' => '', 'unit' => '', 'face' => '', 'style' => '', 'color' => '' ); + $v = wp_parse_args( $v, $defaults ); + + if ( isset( $v['size_' . $v['unit']] ) ) { + $v['size'] = $v['size_' . $v['unit']]; + } + + foreach ( $v as $i => $j ) { + if ( ! in_array( $i, array_keys( $defaults ) ) ) { + unset( $v[$i] ); + } + } + + $v = array_map( 'strip_tags', $v ); + $v = array_map( 'stripslashes', $v ); + + return $v; + } // End validate_field_typography() + + /** + * Validate the given data, assuming it is from a border field. + * @access public + * @since 6.0.0 + * @param string $v + * @return string + */ + public function validate_field_border ( $v ) { + $defaults = array( 'width' => '', 'style' => '', 'color' => '' ); + $v = wp_parse_args( $v, $defaults ); + + foreach ( $v as $i => $j ) { + if ( ! in_array( $i, array_keys( $defaults ) ) ) { + unset( $v[$i] ); + } + } + + $v = array_map( 'esc_html', $v ); + + return $v; + } // End validate_field_border() + + /** + * Validate the given data, assuming it is from a timestamp field. + * @access public + * @since 6.0.0 + * @param string $v + * @return string + */ + public function validate_field_timestamp ( $v ) { + $defaults = array( 'date' => '', 'hour' => '', 'minute' => '' ); + $v = wp_parse_args( $v, $defaults ); + + foreach ( $v as $i => $j ) { + if ( ! in_array( $i, array_keys( $defaults ) ) ) { + unset( $v[$i] ); + } + } + + $date = $v['date']; + + $hour = $v['hour']; + $minute = $v['minute']; + // $second = $output[$option_array['id']]['second']; + $second = '00'; + + $day = substr( $date, 3, 2 ); + $month = substr( $date, 0, 2 ); + $year = substr( $date, 6, 4 ); + + $timestamp = mktime( $hour, $minute, $second, $month, $day, $year ); + + return esc_attr( $timestamp ); + } // End validate_field_timestamp() + + /** + * Render the various sections and their corresponding fields. + * @access public + * @since 6.0.0 + * @return void + */ + public function render_sections () { + if ( 0 >= count( $this->_sections ) ) return; + $html = ''; + $current_section = ''; + if ( isset( $_GET['tab'] ) && '' != $_GET['tab'] ) { + $current_section = sanitize_title_with_dashes( $_GET['tab'] ); + } else { + // Grab the key for the first section, using a short loop. + if ( 0 < count( $this->_sections ) ) { + foreach ( $this->_sections as $k => $v ) { + $current_section = $k; + break; + } + } + } + + if ( isset( $this->_sections[$current_section] ) ) { + $html .= $this->render_single_section( $current_section, $this->_sections[$current_section] ); + } + + echo $html; + } // End render_sections() + + /** + * Render a single section if fields. + * @access public + * @since 6.0.0 + * @param string $key The key/token. + * @param array $args Arguments pertaining to this section. + * @return string Rendered HTML markup for the section. + */ + public function render_single_section ( $key, $args, $heading_level = 2 ) { + if ( in_array( $key, $this->_processed_sections ) ) return; // Don't process a section more than once. + if ( 6 < intval( $heading_level ) ) $heading_level = 2; // Set a default heading level. + + $fields = $this->_get_fields_by_section( $key ); + $html = ''; + $html .= '
                    ' . "\n"; + if ( isset( $args['name'] ) ) { + $html .= '' . $args['name'] . '' . "\n"; + } + $html .= $this->__get( 'wrapper_start' ); + if ( 0 < count( $fields ) ) { + $html .= $this->render_fields( $fields ); + } + $html .= $this->__get( 'wrapper_end' ); + + // Cater for child sections. + if ( isset( $args['children'] ) && is_array( $args['children'] ) && 0 < count( $args['children'] ) ) { + foreach ( $args['children'] as $k => $v ) { + $html .= $this->render_single_section( $k, $v, 3 ); + } + } + $html .= '
                    ' . "\n"; + return $html; + } // End render_single_section() + + /** + * Render the various fields based on the given field data. + * @access public + * @since 6.0.0 + * @param array $data Provided field data. + * @return void + */ + public function render_fields ( $data, $mode = 'table' ) { + if ( 0 >= count( $data ) ) return; + $html = ''; + $no_header = $this->get_no_label_field_types(); + $this->enqueue_media_setup(); // Make sure wp_enqueue_media() is being loaded well before the footer, so our underscore.js templates get loaded. + foreach ( $data as $k => $v ) { + $colspan = ''; + if ( in_array( $v['type'], $no_header ) ) $colspan = ' colspan="2"'; // If we're not displaying a header, span the table cell by two columns. + $field = $this->render_single_field( $k, $v ); + $html .= '' . "\n"; + if ( '' == $colspan ) $html .= '' . $v['name'] . '' . "\n"; + $html .= '' . $field . '' . "\n"; + $html .= '' . "\n"; + } + return $html; + } // End render_fields() + + /** + * Render the HTML markup for a single field. + * @access public + * @since 6.0.0 + * @param string $key The key to be used for the field. + * @param array $args Arguments pertaining to the field. + * @return string + */ + public function render_single_field ( $key, $args ) { + $html = ''; + if ( ! in_array( $args['type'], $this->get_supported_fields() ) ) return ''; // Supported field type sanity check. + + // Make sure we have some kind of default, if the key isn't set. + if ( ! isset( $args['std'] ) ) $args['std'] = ''; + + $method = 'render_field_' . $args['type']; + if ( ! method_exists( $this, $method ) ) $method = 'render_field_text'; + + $method_output = $this->$method( $key, $args ); + if ( is_wp_error( $method_output ) ) { + // if ( defined( 'WP_DEBUG' ) || true == constant( 'WP_DEBUG' ) ) print_r( $method_output ); // Add better error display. + } else { + $html .= $method_output; + } + + // Output the description, if the current field allows it. + if ( isset( $args['type'] ) && ! in_array( $args['type'], (array)apply_filters( 'wf_no_description_fields', array( 'checkbox', 'info' ) ) ) ) { + if ( isset( $args['desc'] ) ) { + $description = '

                    ' . wp_kses_post( $args['desc'] ) . '

                    ' . "\n"; + if ( in_array( $args['type'], (array)apply_filters( 'wf_newline_description_fields', array( 'textarea', 'select', 'select2', 'slider', 'images', 'info', 'border', 'typography', 'color', 'upload', 'calendar', 'timestamp', 'select_taxonomy', 'multi_field' ) ) ) ) { + $description = wpautop( $description ); + } + $html .= $description; + } + } + + return $html; + } // End render_single_field() + + /** + * Render HTML markup for the "text" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_text ( $key, $args ) { + $html = '' . "\n"; + return $html; + } // End render_field_text() + + /** + * Render HTML markup for the "multi_field" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_multi_field ( $key, $args ) { + $html = ''; + if ( isset( $args['multi_fields'] ) && 0 < count( $args['multi_fields'] ) ) { + foreach ( $args['multi_fields'] as $k => $v ) { + $html .= '' . "\n"; + $html .= $this->render_single_field( $k, $v ); + } + } + return $html; + } // End render_field_multi_field() + + /** + * Render HTML markup for the "typography" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_typography ( $key, $args ) { + $this->_has_colourpicker = true; + $this->_has_typography = true; + $this->_has_select = true; + + $html = ''; + + $defaults = array( + 'size' => get_option( $key . '_size', '' ), + 'unit' => get_option( $key . '_unit', '' ), + 'face' => get_option( $key . '_face', '' ), + 'style' => get_option( $key . '_style', '' ), + 'color' => get_option( $key . '_color', '' ) + ); + + if ( 0 < count( $defaults ) && isset( $args['std'] ) && is_array( $args['std'] ) ) { + foreach ( $defaults as $k => $v ) { + if ( '' == $v && isset( $args['std'][$k] ) ) { + $defaults[$k] = $args['std'][$k]; + } + } + } + + $value = $this->get_value( $key, $defaults ); + + // Make sure we place our default values in if the key is empty. wp_parse_args() didn't seem to work for this. + foreach ( $defaults as $k => $v ) { + if ( ! isset( $value[$k] ) ) { + $value[$k] = $defaults[$k]; + } else { + if ( '' == $value[$k] ) { + $value[$k] = $defaults[$k]; + } + } + } + + // Make sure the size fields are set correctly. + if ( ! isset( $value['size'] ) ) { + $value['size'] = $value['size_' . $value['unit']]; + } + + $unit = $value['unit']; + + $html .= '' . "\n"; + + /* Size in Pixels */ + $html .= '' . "\n"; + + /* Size in EMs */ + $html .= '' . "\n"; + + /* Font Unit */ + $unit = $value['unit']; + $em = ''; $px = ''; + if ( 'em' == $unit ) { $em = 'selected="selected"'; } + if ( 'px' == $unit ) { $px = 'selected="selected"'; } + $html .= '' . "\n"; + + /* Weights */ + $font_weights = (array) apply_filters( 'wf_fields_typography_font_weights', array( '300' => __( 'Thin', 'woothemes' ), '300 italic' => __( 'Thin Italic', 'woothemes' ), 'normal' => __( 'Normal', 'woothemes' ), 'italic' => __( 'Italic', 'woothemes' ), 'bold' => __( 'Bold', 'woothemes' ), 'bolditalic' => __( 'Bold/Italic', 'woothemes' ) ) ); + + if ( 0 < count( $font_weights ) ) { + $html .= '' . "\n"; + } + + /* Font Face */ + $font_faces = wf_get_system_fonts(); + $google_fonts = wf_get_google_fonts(); + if ( 0 < count( $google_fonts ) ) { + $font_faces[''] = __( '-- Google WebFonts --', 'woothemes' ); + $google_fonts_array = array(); + foreach ( $google_fonts as $k => $v ) { + $google_fonts_array[$v['name']] = $v['name']; + } + asort( $google_fonts_array ); + $font_faces = array_merge( $font_faces, $google_fonts_array ); + } + + if ( 0 < count( $font_faces ) ) { + $test_cases = wf_get_system_fonts_test_cases(); + + $html .= '' . "\n"; + } + + /* Border Color */ + $html .= '' . "\n"; + + $html .= '' . "\n"; + return $html; + } // End render_field_typography() + + /** + * Test whether or not a typeface has been selected for a "typography" field. + * @access protected + * @since 6.0.2 + * @param string $face The noble warrior (typeface) to be tested. + * @param string $test_case The test case. Does the warrior pass the ultimate test and reep eternal glory? + * @return bool Whether or not eternal glory shall be achieved by the warrior. + */ + protected function _test_typeface_against_test_case ( $face, $test_case ) { + $response = false; + + $face = stripslashes( str_replace( '"', '', str_replace( '"', '', $face ) ) ); + + $parts = explode( ',', $face ); + + if ( $test_case == $parts[0] ) { + $response = true; + } + + return $response; + } // End _test_typeface_against_test_case() + + /** + * Render HTML markup for the "border" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_border ( $key, $args ) { + $this->_has_colourpicker = true; + + $html = ''; + $defaults = array( + 'width' => get_option( $key . '_width', '' ), + 'style' => get_option( $key . '_style', '' ), + 'color' => get_option( $key . '_color', '' ) + ); + + if ( 0 < count( $defaults ) && isset( $args['std'] ) && is_array( $args['std'] ) ) { + foreach ( $defaults as $k => $v ) { + if ( '' == $v && isset( $args['std'][$k] ) ) { + $defaults[$k] = $args['std'][$k]; + } + } + } + + $value = $this->get_value( $key, $defaults ); + + // Make sure we place our default values in if the key is empty. wp_parse_args() didn't seem to work for this. + foreach ( $defaults as $k => $v ) { + if ( ! isset( $value[$k] ) ) { + $value[$k] = $defaults[$k]; + } else { + if ( '' == $value[$k] ) { + $value[$k] = $defaults[$k]; + } + } + } + + /* Border Width */ + $html .= '' . "\n"; + + /* Border Style */ + $border_styles = (array) apply_filters( 'wf_fields_border_styles', array( 'solid' => __( 'Solid', 'woothemes' ), 'dashed' => __( 'Dashed', 'woothemes' ), 'dotted' => __( 'Dotted', 'woothemes' ) ) ); + + if ( 0 < count( $border_styles ) ) { + $html .= '' . "\n"; + } + + /* Border Color */ + $html .= '' . "\n"; + return $html; + } // End render_field_border() + + /** + * Render HTML markup for the "radio" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_radio ( $key, $args ) { + $html = ''; + if ( isset( $args['options'] ) && ( 0 < count( (array)$args['options'] ) ) ) { + $html = ''; + foreach ( $args['options'] as $k => $v ) { + $html .= 'get_value( $key, $args['std'] ) ), $k, false ) . ' /> ' . esc_html( $v ) . '
                    ' . "\n"; + } + } + return $html; + } // End render_field_radio() + + /** + * Render HTML markup for the "textarea" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_textarea ( $key, $args ) { + // Explore how best to escape this data, as esc_textarea() strips HTML tags, it seems. + $html = '' . "\n"; + return $html; + } // End render_field_textarea() + + /** + * Render HTML markup for the "multicheck" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_multicheck ( $key, $args ) { + $html = ''; + if ( isset( $args['options'] ) && ( 0 < count( (array)$args['options'] ) ) ) { + // Attempt to preserve legacy "multicheck" field data, which was stored in an unorthodox manner. Retrieve it in our new format. + $multicheck_legacy_defaults = $this->maybe_create_multicheck_legacy_defaults( $key, $args['options'] ); + + $value = $this->get_value( $key, $multicheck_legacy_defaults ); + + $html = '
                    ' . "\n"; + foreach ( $args['options'] as $k => $v ) { + $checked = ''; + + if ( in_array( $v, (array)$value ) ) { $checked = ' checked="checked"'; } + $html .= ' ' . esc_html( $v ) . '
                    ' . "\n"; + } + $html .= '
                    ' . "\n"; + } + return $html; + } // End render_field_multicheck() + + /** + * Render HTML markup for the "multicheck2" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_multicheck2 ( $key, $args ) { + $html = ''; + if ( isset( $args['options'] ) && ( 0 < count( (array)$args['options'] ) ) ) { + $value = $this->get_value( $key, array() ); + + $html = '
                    ' . "\n"; + foreach ( $args['options'] as $k => $v ) { + $checked = ''; + + if ( in_array( $k, (array)$value ) ) { $checked = ' checked="checked"'; } + $html .= ' ' . esc_html( $v ) . '
                    ' . "\n"; + } + $html .= '
                    ' . "\n"; + } + return $html; + } // End render_field_multicheck2() + + /** + * Render HTML markup for the "checkbox" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_checkbox ( $key, $args ) { + $has_description = false; + $html = ''; + if ( isset( $args['desc'] ) ) { + $has_description = true; + $html .= '' . "\n"; + } + return $html; + } // End render_field_checkbox() + + /** + * Render HTML markup for the "info" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_info ( $key, $args ) { + $html = '
                    ' . "\n"; + if ( '' != $args['desc'] ) $html .= '

                    ' . wp_kses_post( $args['desc'] ) . '

                    ' . "\n"; + $html .= '
                    ' . "\n"; + return $html; + } // End render_field_info() + + /** + * Render HTML markup for the "select" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_select ( $key, $args ) { + $this->_has_select = true; + + $html = ''; + if ( isset( $args['options'] ) && ( 0 < count( (array)$args['options'] ) ) ) { + $html .= '' . "\n"; + } + return $html; + } // End render_field_select() + + /** + * Render HTML markup for the "select2" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_select2 ( $key, $args ) { + $this->_has_select = true; + + $html = ''; + if ( isset( $args['options'] ) && ( 0 < count( (array)$args['options'] ) ) ) { + $html .= '' . "\n"; + } + return $html; + } // End render_field_select2() + + /** + * Render HTML markup for the "select_taxonomy" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_select_taxonomy ( $key, $args ) { + $this->_has_select = true; + + $defaults = array( + 'show_option_all' => '', + 'show_option_none' => '', + 'orderby' => 'ID', + 'order' => 'ASC', + 'show_count' => 0, + 'hide_empty' => 1, + 'child_of' => 0, + 'exclude' => '', + 'selected' => $this->get_value( $key, $args['std'] ), + 'hierarchical' => 1, + 'class' => 'postform', + 'depth' => 0, + 'tab_index' => 0, + 'taxonomy' => 'category', + 'hide_if_empty' => false, + 'walker' => '' + ); + + if ( ! isset( $args['options'] ) ) { + $args['options'] = array(); + } + + $args['options'] = wp_parse_args( $args['options'], $defaults ); + + $args['options']['echo'] = false; + $args['options']['name'] = esc_attr( $key ); + $args['options']['id'] = esc_attr( $key ); + + $html = ''; + $html .= wp_dropdown_categories( $args['options'] ); + return $html; + } // End render_field_select_taxonomy() + + /** + * Render HTML markup for the "slider" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_slider ( $key, $args ) { + $this->_has_range = true; + + $html = ''; + if ( isset( $args['options'] ) && ( 0 < count( (array)$args['options'] ) ) ) { + $html .= '' . "\n"; + } + return $html; + } // End render_field_slider() + + /** + * Render HTML markup for the "masked_input" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_masked_input ( $key, $args ) { + $this->_has_masked_input = true; + + $placeholder = '99:99'; + if ( isset( $args['options']['placeholder'] ) ) $placeholder = $args['options']['placeholder']; + + $html = '' . "\n"; + return $html; + } // End render_field_masked_input() + + /** + * Render HTML markup for the "time_masked" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_time_masked ( $key, $args ) { + $this->_has_masked_input = true; + + $placeholder = '99:99'; + if ( isset( $args['options']['placeholder'] ) ) $placeholder = $args['options']['placeholder']; + + $html = '' . "\n"; + return $html; + } // End render_field_time_masked() + + /** + * Render HTML markup for the "time" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_time ( $key, $args ) { + $this->_has_masked_input = true; + + $placeholder = '99:99'; + if ( isset( $args['options']['placeholder'] ) ) $placeholder = $args['options']['placeholder']; + + $html = '' . "\n"; + return $html; + } // End render_field_time() + + /** + * Render HTML markup for the "calendar" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_calendar ( $key, $args ) { + $this->_has_calendar = true; + + $val = $this->get_value( $key ); + if ( '' == $val ) $val = time(); + + $html = '' . "\n"; + $html .= ''; + return $html; + } // End render_field_calendar() + + /** + * Render HTML markup for the "color" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_color ( $key, $args ) { + $this->_has_colourpicker = true; + $value = $this->get_value( $key, $args['std'] ); + $html = '' . "\n"; + return $html; + } // End render_field_color() + + /** + * Render HTML markup for the "images" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_images ( $key, $args ) { + $this->_has_imageselector = true; + + if ( isset( $args['options'] ) && ( 0 < count( (array)$args['options'] ) ) ) { + $html = ''; + foreach ( $args['options'] as $k => $v ) { + $image = '' . esc_attr( $k ) . ''; + $html .= 'get_value( $key, $args['std'] ) ), $k, false ) . ' /> ' . $image . "\n"; + } + } + return $html; + } // End render_field_images() + + /** + * Render HTML markup for the "upload" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_upload ( $key, $args ) { + $this->_has_upload = true; + + $url = $this->get_value( $key, $args['std'] ); + $id = $this->get_value( $key . '-id', 0 ); + $placeholder = apply_filters( 'wf_placeholder_image_url', get_template_directory_uri() . '/functions/assets/images/placeholder.png' ); + $class = ' no-image'; + if ( '' != $url || 0 < intval( $id ) ) $class = ' has-image'; + + $html = '' . "\n"; + $html .= '
                    ' . __( 'Upload', 'woothemes' ) . '' . "\n"; + $html .= ' ' . "\n"; + $html .= '' . "\n"; + + $html .= '
                    ' . "\n"; + $html .= '' . "\n"; + $html .= '' . sprintf( __( 'Remove %s', 'woothemes' ), $args['name'] ) . '' . "\n"; + $html .= '
                    ' . "\n"; + + return $html; + } // End render_field_upload() + + /** + * Render HTML markup for the "upload_min" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_upload_min ( $key, $args ) { + $this->_has_upload = true; + + $url = $this->get_value( $key, $args['std'] ); + $id = $this->get_value( $key . '-id', 0 ); + $placeholder = WF()->get_placeholder_image_url(); + $class = ' no-image'; + if ( '' != $url || 0 < intval( $id ) ) $class = ' has-image'; + + $html = '' . "\n"; + $html .= ' ' . __( 'Upload', 'woothemes' ) . '' . "\n"; + $html .= ' ' . "\n"; + $html .= '' . "\n"; + + $html .= '
                    ' . "\n"; + $html .= '' . "\n"; + $html .= '' . sprintf( __( 'Remove %s', 'woothemes' ), $args['name'] ) . '' . "\n"; + $html .= '
                    ' . "\n"; + + return $html; + } // End render_field_upload_min() + + /** + * Render HTML markup for the "timestamp" field type. + * @access protected + * @since 6.0.0 + * @param string $key The unique ID of this field. + * @param array $args Arguments used to construct this field. + * @return string HTML markup for the field. + */ + protected function render_field_timestamp ( $key, $args ) { + $this->_has_calendar = true; + + $val = $this->get_value( $key ); + if ( '' == $val ) $val = time(); + + $html = '' . "\n"; + $html .= ''; + $html .= '' . "\n"; + $html .= ' ' . __( '@', 'woothemes' ) . ' '; + + $html .= '' . "\n"; + + $html .= '' . "\n"; + $html .= '' . "\n"; + return $html; + } // End render_field_timestamp() + + /** + * Render the current fields state. This is the main function used for HTML output. + * @access public + * @since 6.0.0 + * @return void + */ + public function render () { + echo '
                    ' . "\n"; + wp_nonce_field( $this->_token . '_nonce', $this->_token . '_nonce' ); + $this->maybe_render_extra_hidden_fields(); + $this->render_sections(); + if ( true == $this->__get( 'render_submit_button' ) ) { + submit_button(); + } + echo '
                    ' . "\n"; + } // End render() + + /** + * Render any extra hidden fields, if any are specified. + * @access public + * @since 6.0.0 + * @return void + */ + public function maybe_render_extra_hidden_fields () { + $fields = $this->__get( 'extra_hidden_fields' ); + + $html = ''; + if ( is_array( $fields ) && 0 < count( $fields ) ) { + foreach ( $fields as $k => $v ) { + $html .= '' . "\n"; + } + } + echo $html; + } // End maybe_render_extra_hidden_fields() + + /** + * Attempt to create an array of the selected data from a legacy "multicheck" field. + * Previously, each field was saved in a separate entry in the database, as either "true" or "false". Clearly, that is no longer the case. :) + * @access public + * @since 6.0.0 + * @return void + */ + public function maybe_create_multicheck_legacy_defaults ( $key, $options ) { + $response = array(); + if ( is_array( $options ) && 0 < count( $options ) ) { + foreach ( $options as $k => $v ) { + $check = get_option( $key . '_' . $k, 'false' ); + if ( 'true' == $check ) { + $response[$k] = $v; + } + } + } + return $response; + } // End maybe_create_multicheck_legacy_defaults() + + /** + * Load in CSS where necessary. + * @access public + * @since 6.0.0 + * @return void + */ + public function enqueue_styles () { + // General fields-related CSS. + wp_enqueue_style( $this->_token . '-fields', esc_url( $this->_assets_url . 'css/fields.css' ) ); + + // Stylesheet for "Chosen". + wp_register_style( $this->_token . '-chosen', esc_url( $this->_assets_url . 'css/lib/chosen.css' ) ); + + if ( $this->_has_colourpicker ) { + wp_enqueue_style( 'wp-color-picker' ); + } + if ( $this->_has_select ) { + wp_enqueue_style( $this->_token . '-chosen' ); + } + } // End enqueue_styles() + + /** + * Load in JavaScripts where necessary. + * @access public + * @since 6.0.0 + * @return void + */ + public function enqueue_scripts () { + wp_register_script( $this->_token . '-upload', esc_url( $this->_assets_url . 'js/uploaders.js' ), array( 'jquery' ) ); + wp_register_script( $this->_token . '-datepicker', esc_url( $this->_assets_url . 'js/datepickers.js' ), array( 'jquery', 'jquery-ui-datepicker' ) ); + wp_register_script( $this->_token . '-colourpicker', esc_url( $this->_assets_url . 'js/colourpickers.js' ), array( 'jquery', 'wp-color-picker' ) ); + wp_register_script( $this->_token . '-typography', esc_url( $this->_assets_url . 'js/typography.js' ), array( 'jquery' ) ); + + wp_register_script( 'jquery-masked-input', esc_url( $this->_assets_url . 'js/lib/jquery-masked-input.js' ), array( 'jquery' ) ); + wp_register_script( $this->_token . '-masked-input', esc_url( $this->_assets_url . 'js/masked-inputs.js' ), array( 'jquery', 'jquery-masked-input' ) ); + + wp_register_script( $this->_token . '-chosen', esc_url( $this->_assets_url . 'js/lib/jquery-chosen.js' ), array( 'jquery' ) ); + wp_register_script( $this->_token . '-chosen-loader', esc_url( $this->_assets_url . 'js/chosen-selectors.js' ), array( 'jquery', $this->_token . '-chosen' ) ); + + wp_register_script( $this->_token . '-image-selector', esc_url( $this->_assets_url . 'js/image-selectors.js' ), array( 'jquery' ) ); + wp_register_script( $this->_token . '-range-selector', esc_url( $this->_assets_url . 'js/range-selectors.js' ), array( 'jquery' ) ); + + if ( $this->_has_upload ) { + wp_enqueue_script( $this->_token . '-upload' ); + } + if ( $this->_has_colourpicker ) { + wp_enqueue_script( $this->_token . '-colourpicker' ); + } + if ( $this->_has_typography ) { + wp_enqueue_script( $this->_token . '-typography' ); + } + if ( $this->_has_masked_input ) { + wp_enqueue_script( $this->_token . '-masked-input' ); + } + if ( $this->_has_calendar ) { + wp_enqueue_script( $this->_token . '-datepicker' ); + } + if ( $this->_has_imageselector ) { + wp_enqueue_script( $this->_token . '-image-selector' ); + } + if ( $this->_has_range ) { + wp_enqueue_script( $this->_token . '-range-selector' ); + } + if ( $this->_has_select ) { + wp_enqueue_script( $this->_token . '-chosen-loader' ); + } + } // End enqueue_scripts() + + /** + * Load wp_enqueue_media() separately from the JavaScripts, to ensure the underscore.js templates are correctly loaded. + * @access public + * @since 6.0.0 + * @return void + */ + public function enqueue_media_setup () { + wp_enqueue_media(); + } // End enqueue_media_setup() + + /** + * Enqueue the styles and scripts for use with the fields. + * @access public + * @since 6.0.0 + * @return void + */ + public function maybe_enqueue_field_assets () { + $this->enqueue_styles(); + $this->enqueue_scripts(); + } // End maybe_enqueue_field_assets() + + /** + * Retrieve the fields for a specified section. + * @access protected + * @since 6.0.0 + * @param string $section The section to search for fields in. + * @return array An array of the detected fields. + */ + protected function _get_fields_by_section ( $section ) { + $fields = array(); + foreach ( $this->_fields as $k => $v ) { + if ( $section == $v['section'] ) $fields[$k] = $v; + } + return $fields; + } // End _get_fields_by_section() + + /** + * Detect the various sections of the provided data. + * @access public + * @since 6.0.0 + * @param array $data Data array of various sections and fields. + * @return array Detected sections. + */ + public function init_sections ( $data ) { + if ( 0 >= count( $data ) ) return new WP_Error( 'bad_settings_data', __( 'The settings data provided is malformed. Please try again.', 'woothemes' ) ); + + // Create an array of menu items - multi-dimensional, to accommodate sub-headings. + $sections = array(); + $headings = array(); + + foreach ( $data as $k => $v ) { + if ( $v['type'] == 'heading' || $v['type'] == 'subheading' ) { + $headings[] = $v; + } + } + + $prev_heading_key = 0; + + foreach ( $headings as $k => $v ) { + $token = $this->_generate_section_token( $v['name'] ); + // Capture the token. + $v['token'] = $token; + + if ( 'heading' == $v['type'] ) { + $sections[$token] = $v; + $prev_heading_key = $token; + } + + if ( 'subheading' == $v['type'] ) { + $sections[$prev_heading_key]['children'][$v['token']] = $v; + } + } + + $this->_sections = $sections; + + return $this->_sections; + } // End init_sections() + + /** + * Detect the various fields within the provided data. + * @access public + * @since 6.0.0 + * @param array $data Data array of various sections and fields. + * @return array Detected fields. + */ + public function init_fields ( $data ) { + if ( 0 >= count( $data ) ) return new WP_Error( 'bad_settings_data', __( 'The settings data provided is malformed. Please try again.', 'woothemes' ) ); + + $current_section = ''; + foreach ( $data as $k => $v ) { + if ( in_array( $v['type'], array( 'heading', 'subheading' ) ) ) { + $current_section = $this->_generate_section_token( $v['name'] ); + continue; // Ignore headings and sub-headings. + } + + // Cater for the "std" field in "info" field types. We prefer to use "desc" as it is more logical. + if ( 'info' == $v['type'] && '' == $v['desc'] ) { + $v['desc'] = $v['std']; + } + + // Process fields with an array as the type. + if ( is_array( $v['type'] ) ) { + foreach ( $v['type'] as $i => $j ) { + $v['multi_fields'] = $v['type']; + } + foreach ( $v['multi_fields'] as $i => $j ) { + unset( $v['multi_fields'][$i] ); + // Change "meta" to "name". + if ( isset( $j['meta'] ) ) { + $j['name'] = $j['meta']; + unset( $j['meta'] ); + } + $v['multi_fields'][$j['id']] = $j; + } + $v['type'] = 'multi_field'; + } + + // Add the field to the fields property. + $v['section'] = $current_section; + + $key = $v['id']; + + // Avoid duplicate keys by creating an adjusted key. + if ( isset( $this->_fields[$key] ) ) { + $counter = 0; + $new_key = ''; + + do { + $counter++; + $new_key = $key . '-' . $counter; + } while ( isset( $this->_fields[$key . '-' . $counter] ) ); + + $key = $new_key; + } + + // Cater for slider fields and create the necessary options, if none are present. + if ( 'slider' == $v['type'] && ! isset( $v['options'] ) ) { + if ( isset( $v['min'] ) && isset( $v['max'] ) ) { + $increment = 1; + $min = intval( $v['min'] ); + $max = intval( $v['max'] ); + if ( isset( $v['increment'] ) ) { + $increment = intval( $v['increment'] ); + } + + if ( $max > $min ) { + $options = array(); + for ( $i = $min; $i <= $max; $i+=$increment ) { + $options[$i] = $i; + } + $v['options'] = $options; + } + } + } + + $this->_fields[$key] = $v; + } + + return $this->_fields; + } // End init_fields() + + /** + * Generate a section token based on a specified key. + * @access public + * @since 6.0.0 + * @param string $key Specified key for the section. + * @return string Generated token for the section. + */ + public function _generate_section_token ( $key ) { + return sanitize_title_with_dashes( $key ); + } // End _generate_section_token() + + /** + * Return an array of field types expecting an array value returned. + * @access public + * @since 6.0.0 + * @return array + */ + public function get_array_field_types () { + return array( 'multicheck', 'multicheck2', 'typography', 'border', 'timestamp' ); + } // End get_array_field_types() + + /** + * Return an array of field types where no label/header is to be displayed. + * @access protected + * @since 6.0.0 + * @return array + */ + protected function get_no_label_field_types () { + return array( 'info' ); + } // End get_no_label_field_types() + + /** + * Return a filtered array of supported field types. + * @access public + * @since 6.0.0 + * @return array Supported field type keys. + */ + public function get_supported_fields () { + return (array)apply_filters( 'wf_fields_supported_fields', array( 'text', 'checkbox', 'radio', 'textarea', 'multicheck', 'multicheck2', 'select', 'select2', 'upload', 'upload_min', 'upload_field_id', 'calendar', 'time', 'time_masked', 'timestamp', 'color', 'typography', 'border', 'images', 'info', 'slider', 'masked_input' , 'select_taxonomy', 'multi_field' ) ); + } // End get_supported_fields() + + /** + * Return a value, using a desired retrieval method. + * @access public + * @since 6.0.0 + * @return mixed Returned value. + */ + public function get_value ( $key, $default ) { + $response = false; + + if ( true == apply_filters( 'wf_use_theme_mods', false ) ) { + $response = get_theme_mod( esc_attr( $key ), $default ); + } else { + $response = get_option( esc_attr( $key ), $default ); + } + + return $response; + } // End get_value() +} // End Class +?> \ No newline at end of file diff --git a/wootique/functions/classes/class-wf-meta.php b/wootique/functions/classes/class-wf-meta.php new file mode 100755 index 0000000..178733a --- /dev/null +++ b/wootique/functions/classes/class-wf-meta.php @@ -0,0 +1,336 @@ +_token = 'wf'; + + $this->_field_obj = new WF_Fields_Meta(); + + $this->_field_obj->__set( 'token', 'woo' ); + $this->_field_obj->__set( 'render_submit_button', false ); + + if ( is_admin() ) { + add_action( 'admin_menu', array( $this, 'register_meta_boxes' ) ); + add_action( 'admin_footer', array( $this->_field_obj, 'maybe_enqueue_field_assets' ) ); + add_action( 'save_post', array( $this, 'meta_box_save' ) ); + } + } // End __construct() + + /** + * Add the various registered meta boxes. + * @access public + * @since 6.0.0 + * @return void + */ + public function register_meta_boxes () { + $defaults = array( + 'id' => 'woothemes-settings', + 'title' => sprintf( __( '%s Settings', 'woothemes' ), wp_get_theme()->__get( 'Name' ) ), + 'callback' => array( $this, 'meta_box_content' ), + 'page' => 'all', + 'context' => 'normal', + 'priority' => 'default', + 'callback_args' => '' + ); + + $settings = array( + 'id' => 'woothemes-settings', + 'title' => sprintf( __( '%s Settings', 'woothemes' ), wp_get_theme()->__get( 'Name' ) ), + 'callback' => array( $this, 'meta_box_content' ), + 'page' => 'all', + 'context' => 'normal', + 'priority' => 'default', + 'callback_args' => '' + ); + + // Allow child themes/plugins to filter these settings. + $settings = apply_filters( 'woothemes_metabox_settings', $settings, $settings['page'], $settings['id'] ); + $meta_boxes = array( 'woothemes-settings' => $settings ); + + $meta_boxes = (array)apply_filters( 'wf_meta_boxes', $meta_boxes ); + + // Loop through and set up the meta boxes. + if ( 0 < count( $meta_boxes ) ) { + $global_boxes = array(); + foreach ( $meta_boxes as $k => $v ) { + if ( ! isset( $v['page'] ) ) { + $meta_boxes[$k]['page'] = 'all'; + } + + // If we want this box to apply to all post types, store it for later to avoid doing a loop within a loop (nasty). + if ( 'all' == $v['page'] ) { + $global_boxes[$k] = $v; + } else { + $v = wp_parse_args( $v, $defaults ); + add_meta_box( $v['id'], $v['title'], array( $this, 'meta_box_content' ), $v['page'], $v['context'], $v['priority'], $v['callback_args'] ); + } + } + + // Maybe process global boxes. + if ( 0 < count( $global_boxes ) ) { + foreach ( $global_boxes as $k => $v ) { + $v = wp_parse_args( $v, $defaults ); + foreach ( get_post_types() as $i => $j ) { + add_meta_box( $v['id'], $v['title'], array( $this, 'meta_box_content' ), $j, $v['context'], $v['priority'], $v['callback_args'] ); + } + } + } + } + } // End register_meta_boxes() + + /** + * Save meta box fields. + * + * @access public + * @since 1.1.0 + * @param int $post_id + * @return void + */ + public function meta_box_save ( $post_id ) { + global $post, $messages; + if ( empty( $_POST ) ) { + return; + } + + // Verify + if ( ! wp_verify_nonce( $_POST[$this->_field_obj->__get( 'token' ) . '_nonce'], $this->_field_obj->__get( 'token' ) . '_nonce' ) ) { + return $post_id; + } + + if ( 'page' == $_POST['post_type'] ) { + if ( ! current_user_can( 'edit_page', $post_id ) ) { + return $post_id; + } + } else { + if ( ! current_user_can( 'edit_post', $post_id ) ) { + return $post_id; + } + } + + $this->_field_obj->init_fields( $this->get_settings_template() ); + $field_data = $this->get_fields(); + $field_data = $this->setup_fields( $field_data ); + + $key_value_pairs = array(); + + if ( is_array( $field_data ) && 0 < count( $field_data ) ) { + foreach ( $field_data as $k => $v ) { + $value = ''; + if ( isset( $_POST[$k] ) ) { + $value = $_POST[$k]; + } + $key_value_pairs[$k] = $value; + } + } + + $key_value_pairs = $this->_field_obj->validate_fields( $key_value_pairs ); + + foreach ( $key_value_pairs as $k => $v ) { + // Escape the URLs. + if ( 'url' == $field_data[$k]['type'] ) { + $v = esc_url( $v ); + } + + $field_key = $k; + if ( true == (bool)apply_filters( 'wf_meta_use_underscore_prefix', false ) ) { + $field_key = '_' . $k; + } + + if ( '' == get_post_meta( $post_id, $field_key, true ) ) { + // add_post_meta( $post_id, $field_key, $v, true ); + // We need to use update_post_meta(), in case there are legacy keys in the database which are empty. + update_post_meta( $post_id, $field_key, $v ); + } elseif ( ! empty( $v ) && $v != get_post_meta( $post_id, $field_key, true ) ) { + update_post_meta( $post_id, $field_key, $v ); + } elseif ( '' == $v ) { + delete_post_meta( $post_id, $field_key, get_post_meta( $post_id, $field_key, true ) ); + } + } + } // End meta_box_save() + + /** + * Output markup for the meta box content. + * @access public + * @since 6.0.0 + * @return void + */ + public function meta_box_content ( $post, $args ) { + $field_data = $this->get_settings_template(); + $field_data = $this->setup_fields( $field_data ); + $this->_field_obj->__set( 'sections', array( $args['id'] => '' ) ); // Make sure our ID is an array key in the sections array. + $this->_field_obj->__set( 'fields', $field_data ); + $this->_field_obj->render(); + } // End settings_screen() + + /** + * Make sure each field is in a section. + * @access public + * @since 6.0.0 + * @return void + */ + public function maybe_assign_default_section ( $fields, $section = 'woothemes-settings' ) { + if ( 0 < count( $fields ) ) { + foreach ( $fields as $k => $v ) { + if ( ! isset( $v['section'] ) ) { + $fields[$k]['section'] = ''; + } + + if ( ! isset( $v['section'] ) || '' == $v['section'] ) { + $fields[$k]['section'] = esc_attr( $section ); + } + } + } + return $fields; + } // End maybe_assign_default_section() + + /** + * Make sure each field has a key. + * @access public + * @since 6.0.0 + * @return void + */ + public function maybe_assign_field_key ( $fields ) { + $data = array(); + if ( 0 < count( $fields ) ) { + foreach ( $fields as $k => $v ) { + $data[$v['name']] = $v; + } + } + return $data; + } // End maybe_assign_field_key() + + /** + * Transform data to make sure it matches what WF_Fields is expecting. + * @access public + * @since 6.0.0 + * @return void + */ + public function maybe_transform_field_data ( $fields ) { + $data = array(); + if ( 0 < count( $fields ) ) { + foreach ( $fields as $k => $v ) { + if ( isset( $v['label'] ) ) { + $data[$k] = $v; + $data[$k]['name'] = $v['label']; + } + } + } + return $data; + } // End maybe_transform_field_data() + + /** + * Return an array of the settings scafolding. The field types, names, etc. + * @access public + * @since 6.0.0 + * @return array + */ + public function get_settings_template () { + return get_option( 'woo_custom_template', array() ); + } // End get_settings_template() + + /** + * Process a single field, when running get_all(). + * @access private + * @since 6.0.0 + * @param string $k The field key. + * @param string/array $v The stored value. + * @return string/array The stored value, sanitized. + */ + private function _process_single_field ( $k, $v ) { + $value = $this->_field_obj->get_value( esc_attr( $k ), $v['std'] ); + + if ( in_array( $v['type'], $this->_field_obj->get_array_field_types() ) ) { + // Treat this as an array + $value = array_map( 'esc_attr', $value ); + } + return $value; + } // End _process_single_field() + + /** + * Retrieve the fields. + * @access public + * @since 6.0.0 + * @param string $section The section to search for fields in (optional). + * @return array An array of the detected fields. + */ + public function get_fields ( $section = '' ) { + $field_data = $this->_field_obj->__get( 'fields' ); + $fields = array(); + + foreach ( $field_data as $k => $v ) { + if ( '' != $section ) { + if ( $section == $v['section'] ) { + $fields[$k] = $v; + } + } else { + $fields[$k] = $v; + } + } + + return $fields; + } // End get_fields() + + /** + * Setup the fields. + * @access public + * @since 6.0.0 + * @return array An array of the detected fields. + */ + public function setup_fields ( $field_data ) { + $field_data = $this->maybe_assign_field_key( $field_data ); + $field_data = $this->maybe_assign_default_section( $field_data ); + $field_data = $this->maybe_transform_field_data( $field_data ); + $this->_field_obj->__set( 'fields', $field_data ); + + return $field_data; + } // End setup_fields() +} // End Class +?> \ No newline at end of file diff --git a/wootique/functions/classes/class-wf-screen-admin-base.php b/wootique/functions/classes/class-wf-screen-admin-base.php new file mode 100755 index 0000000..ae68c11 --- /dev/null +++ b/wootique/functions/classes/class-wf-screen-admin-base.php @@ -0,0 +1,297 @@ +set_theme_data(); + + add_action( 'admin_init', array( $this, 'maybe_load_plugin_install_override' ) ); + } // End __construct() + + /** + * Set the theme data into a local property. + * @access protected + * @since 6.0.0 + * @return void + */ + protected function set_theme_data () { + $this->_theme_data = wooframework_get_theme_version_data(); + $this->_theme_obj = wp_get_theme(); + } // End set_theme_data() + + /** + * Enqueue CSS styles. + * @access public + * @since 6.0.0 + * @return void + */ + public function admin_css () { + $stylesheet_url = get_template_directory_uri() . '/functions/assets/css/activation.css'; + wp_enqueue_style( 'wf-activation', $stylesheet_url, array(), '6.0.0', 'all' ); + } // End admin_css() + + /** + * Maybe display a banner, if the user doesn't have the WooThemes Helper installed. + * @access protected + * @since 6.0.0 + * @return void + */ + protected function _maybe_display_woothemes_helper_notice () { + if ( $this->_is_woothemes_helper_activated() ) return; + + $slug = 'woothemes-updater'; + $install_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $slug ), 'install-plugin_' . $slug ); + $activate_url = 'plugins.php?action=activate&plugin=' . urlencode( 'woothemes-updater/woothemes-updater.php' ) . '&plugin_status=all&paged=1&s&_wpnonce=' . urlencode( wp_create_nonce( 'activate-plugin_woothemes-updater/woothemes-updater.php' ) ); + if ( $this->_is_woothemes_helper_installed() ) { + $text = '' . __( 'Activate the WooThemes Helper', 'woothemes' ) . ''; + } else { + $text = '' . __( 'Install the WooThemes Helper', 'woothemes' ) . ''; + } + $text = sprintf( __( '%s to receive updates for your purchased WooThemes products.', 'woothemes' ), $text ); + + echo '

                    ' . $text . '

                    ' . "\n"; + } // End _maybe_display_woothemes_helper_notice() + + /** + * Conditionally load the WooThemes Helper plugin install override, and remove the override used by plugins. + * @access public + * @since 6.0.0 + * @return void + */ + public function maybe_load_plugin_install_override () { + // If the WooThemes Helper isn't installed, add a filter to ensure we can install it. + if ( ! $this->_is_woothemes_helper_installed() ) { + add_filter( 'plugins_api', array( $this, 'woothemes_helper_install_info' ), 10, 3 ); + } + } // End maybe_load_plugin_install_override() + + /** + * Remove the plugin overrides added by other WooThemes plugins. + * @access public + * @since 6.0.0 + * @return void + */ + public function maybe_remove_existing_plugin_install_overrides () { + // This is the filter added by WooThemes plugins. Remove it, so we only have a single trigger point (from the theme). + remove_filter( 'plugins_api', 'woothemes_updater_install', 10, 3 ); + + // This is the action added by WooThemes plugins. Remove it, so we only have a single trigger point (from the theme). + remove_action( 'admin_notices', 'woothemes_updater_notice', 10 ); + } // End maybe_remove_existing_plugin_install_overrides() + + /** + * Filter the download data for the WooThemes Helper, within the WordPress plugin installation API. + * @access public + * @since 6.0.0 + * @param object $api + * @param string $action + * @param object $args + * @return object + */ + public function woothemes_helper_install_info ( $api, $action, $args ) { + $download_url = 'http://woodojo.s3.amazonaws.com/downloads/woothemes-updater/woothemes-updater.zip'; + if ( 'plugin_information' != $action || + false !== $api || + ! isset( $args->slug ) || + 'woothemes-updater' != $args->slug + ) return $api; + + $api = new stdClass(); + $api->name = 'WooThemes Helper'; + $api->version = ''; + $api->download_link = esc_url( $download_url ); + return $api; + } // woothemes_helper_install_info() + + /** + * Check if the WooThemes Helper is activated. + * @access protected + * @since 6.0.0 + * @return boolean + */ + protected function _is_woothemes_helper_activated () { + $response = false; + $active_plugins = apply_filters( 'active_plugins', get_option('active_plugins' ) ); + if ( 0 < count( $active_plugins ) && in_array( 'woothemes-updater/woothemes-updater.php', $active_plugins ) ) $response = true; + return $response; + } // End _is_woothemes_helper_activated() + + /** + * Check if the WooThemes Helper is installed. + * @access protected + * @since 6.0.0 + * @return boolean + */ + protected function _is_woothemes_helper_installed () { + $response = false; + $plugins = get_plugins(); + if ( 0 < count( $plugins ) && in_array( 'woothemes-updater/woothemes-updater.php', array_keys( $plugins ) ) ) $response = true; + return $response; + } // End _is_woothemes_helper_installed() + + /** + * Checks for supported plugins for the "Getting Started" screen. + * @access protected + * @since 6.0.0 + * @return void + */ + protected function _has_supported_plugins () { + $all_plugins = get_plugins(); + $to_check = $this->_get_plugins_to_look_for(); + $ct = $this->_theme_obj; + if ( 0 < count( $to_check ) ) { + $html = ''; + $i = 1; + foreach ( $to_check as $k => $v ) { + if ( current_theme_supports( dirname( $k ) ) || ( isset( $v['global'] ) && false != $v['global'] ) ) { + $url = ''; + $title = ''; + if ( $i % 2 == 0 ) { + $class = 'alternate'; + } + else { + $class = ''; + } + if ( ! in_array( $k, array_keys( $all_plugins ) ) ) { + $slug = dirname( $k ); + $url = str_replace( '&', '&', wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $slug ), 'install-plugin_' . $slug ) ); + $title = __( 'Download', 'woothemes' ); + } else { + if ( ! is_plugin_active( $k ) ) { + $url = wp_nonce_url( 'plugins.php?action=activate&plugin=' . $k, 'activate-plugin_' . $k ); + $title = __( 'Activate', 'woothemes' ); + } else { + $url = ''; + $title = '' . __( 'Activated', 'woothemes' ) . ''; + } + } + + $actions = $title; + if ( '' != $url ) { + $actions = '' . $actions . '' . "\n"; + } + $html .= '' . "\n"; + $html .= '

                    ' . $v['name'] . '

                    ' . '' . $v['description'] . '' . '' . "\n"; + $html .= '

                    ' . $actions . '

                    ' . "\n"; + $html .= '' . "\n"; + } + $i++; + } + if ( ! empty( $html ) ) { + $intro_text = '

                    ' . sprintf( __( 'Extend %1$s %2$s', 'woothemes' ), $ct->__get( 'Name' ), '
                    ' ) . '

                    ' . '

                    ' . sprintf( __( '%1$s offers support for several plugins allowing you add advanced functionality at the click of a button.', 'woothemes' ), $ct->__get( 'Name' ) ) . '

                    ' . '

                    ' . __( 'To install or activate them, use the actions below.', 'woothemes' ) . "\n"; + $headings = '' . __( 'Plugin', 'woothemes' ) . ''; + $html = $intro_text . '' . $headings . '' . $html . '
                    '; + + echo $html; + } + } + } // End _has_supported_plugins() + + /** + * Checks for supported plugins for the "Getting Started" screen, when on a multisite. + * @access protected + * @since 6.0.0 + * @return void + */ + protected function _has_supported_plugins_multisite () { + $all_plugins = get_plugins(); + $to_check = $this->_get_plugins_to_look_for(); + $ct = $this->_theme_obj; + if ( 0 < count( $to_check ) ) { + $html = ''; + $i = 1; + foreach ( $to_check as $k => $v ) { + if ( current_theme_supports( dirname( $k ) ) || ( isset( $v['global'] ) && false != $v['global'] ) ) { + $url = ''; + $title = ''; + if ( $i % 2 == 0 ) { + $class = 'alternate'; + } + else { + $class = ''; + } + if ( ! in_array( $k, array_keys( $all_plugins ) ) ) { + $url = ''; + $title = __( 'Not Active', 'woothemes' ); + } else { + if ( ! is_plugin_active( $k ) ) { + $url = wp_nonce_url( 'plugins.php?action=activate&plugin=' . $k, 'activate-plugin_' . $k ); + $title = __( 'Activate', 'woothemes' ); + } else { + $url = ''; + $title = '' . __( 'Activated', 'woothemes' ) . ''; + } + } + + $actions = $title; + if ( '' != $url ) { + $actions = '' . $actions . '' . "\n"; + } + $html .= '' . "\n"; + $html .= '' . $v['name'] . '' . $v['description'] . '' . "\n"; + $html .= '

                    ' . $actions . '

                    ' . "\n"; + $html .= '' . "\n"; + } + $i++; + } + if ( ! empty( $html ) ) { + $intro_text = '

                    ' . sprintf( __( 'Extend %1$s %2$s', 'woothemes' ), $ct->__get( 'Name' ), '
                    ' ) . '

                    ' . '

                    ' . sprintf( __( '%1$s offers support for several plugins allowing you add advanced functionality at the click of a button.', 'woothemes' ), $ct->__get( 'Name' ) ) . '

                    ' . '

                    ' . __( 'To install or activate them, use the actions below.', 'woothemes' ) . "\n"; + $headings = '' . __( 'Plugin', 'woothemes' ) . ''; + $html = $intro_text . '' . $headings . '' . $html . '
                    '; + + echo $html; + } + } + } // End _has_supported_plugins_multisite() + + /** + * Return an array of plugins to look for on the current installation. + * @access protected + * @since 6.0.0 + * @return array key => value pairs of the plugin slug => name. + */ + protected function _get_plugins_to_look_for () { + return (array)apply_filters( 'wf_get_plugins_to_look_for', array( + 'woocommerce/woocommerce.php' => array( 'name' => __( 'WooCommerce', 'woothemes' ), 'description' => __( 'An ecommerce toolkit to help you sell anything. Beautifully.', 'woothemes' ), 'global' => false ), + 'testimonials-by-woothemes/woothemes-testimonials.php' => array( 'name' => __( 'Testimonials', 'woothemes' ), 'description' => __( 'Share customer testimonials with your visitors.', 'woothemes' ), 'global' => false ), + 'features-by-woothemes/woothemes-features.php' => array( 'name' => __( 'Features', 'woothemes' ), 'description' => __( 'Display the features or services you offer.', 'woothemes' ), 'global' => false ), + 'our-team-by-woothemes/woothemes-our-team.php' => array( 'name' => __( 'Our Team', 'woothemes' ), 'description' => __( 'Showcase your team members and the roles they play.', 'woothemes' ), 'global' => false ), + 'projects-by-woothemes/projects.php' => array( 'name' => __( 'Projects', 'woothemes' ), 'description' => __( 'Showcase your recent projects.', 'woothemes' ), 'global' => false ) + ) ); + } // End _get_plugins_to_look_for() +} // End Class +?> \ No newline at end of file diff --git a/wootique/functions/classes/class-wf-screen-framework.php b/wootique/functions/classes/class-wf-screen-framework.php new file mode 100755 index 0000000..4a98a29 --- /dev/null +++ b/wootique/functions/classes/class-wf-screen-framework.php @@ -0,0 +1,152 @@ +user_login; + $super_user = apply_filters( 'wf_super_user', '' ); + + if( $super_user !== $current_user_id && ! empty( $super_user ) ) return; + + // Framework + $framework = add_submenu_page( 'woothemes', __( 'Framework', 'woothemes' ), __( 'Framework', 'woothemes' ), 'manage_options', 'wf-framework', array( $this, 'about_screen' ) ); + + add_action( 'admin_print_styles-'. $framework, array( $this, 'admin_css' ) ); + + add_action( 'load-' . $framework, array( $this, 'maybe_remove_existing_plugin_install_overrides' ) ); + } // End admin_menus() + + /** + * The "About" screen. + * @access public + * @since 6.0.0 + * @return void + */ + public function about_screen () { + do_action( 'wf_screen_get_header', 'wf-framework', 'tools' ); + $this->_intro(); + $this->_get_started(); + if ( is_multisite() ) { + $this->_has_supported_plugins_multisite(); + } else { + $this->_has_supported_plugins(); + } + $this->_maybe_display_woothemes_helper_notice(); + do_action( 'wf_screen_get_footer', 'wf-framework', 'tools' ); + } // End about_screen() + + /** + * Generic intro header for each of the screens. + * @access private + * @since 6.0.0 + * @return void + */ + private function _intro () { + $ct = $this->_theme_obj; + ?> +

                    +

                    ' . $ct->display( 'Name' ) . '' ); ?>

                    +
                    + _theme_meta(); + ?> +

                    + + + +

                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                    + _theme_data['child_theme_name']; ?> + + _theme_data['child_theme_version']; ?> +
                    + _theme_data['theme_name']; ?> + + _theme_data['theme_version']; ?> +
                    + + + _theme_data['framework_version']; ?> +
                    + screens['framework'] = new WF_Screen_Framework(); +?> \ No newline at end of file diff --git a/wootique/functions/classes/class-wf-screen-welcome.php b/wootique/functions/classes/class-wf-screen-welcome.php new file mode 100755 index 0000000..ae9da32 --- /dev/null +++ b/wootique/functions/classes/class-wf-screen-welcome.php @@ -0,0 +1,152 @@ +_theme_data['theme_name'], $this->_theme_data['theme_name'], 'manage_options', 'wf-about', array( $this, 'about_screen' ) ); + + add_action( 'admin_print_styles-'. $about, array( $this, 'admin_css' ) ); + + add_action( 'load-' . $about, array( $this, 'maybe_remove_existing_plugin_install_overrides' ) ); + } // End admin_menus() + + /** + * Run functions and load inline styles into the admin head area. + * @access public + * @since 6.0.0 + * @return void + */ + public function admin_head () { + remove_submenu_page( 'woothemes', 'wf-about' ); + } // End admin_head() + + /** + * The "About" screen. + * @access public + * @since 6.0.0 + * @return void + */ + public function about_screen () { + ?> +
                    + _intro(); + $this->_get_started(); + if ( is_multisite() ) { + $this->_has_supported_plugins_multisite(); + } else { + $this->_has_supported_plugins(); + } + $this->_maybe_display_woothemes_helper_notice(); + ?> +
                    + _theme_obj; + $screenshot = $ct->get_screenshot(); + $class = $screenshot ? 'has-screenshot' : ''; + ?> +
                    + + <?php esc_attr_e( 'Current theme preview', 'woothemes' ); ?> + +

                    ' . $ct->display( 'Name' ) . '' ); ?>

                    +
                    + _theme_meta(); + ?> +

                    display( 'Description' ); ?>

                    + parent() ) { + printf( '

                    ' . __( 'This child theme loads its parent theme, %2$s.', 'woothemes' ) . '

                    ', + __( 'http://codex.wordpress.org/Child_Themes' ), + $ct->parent()->display( 'Name' ) ); + } ?> + +

                    + display( 'Name' ) ); ?> + +

                    +
                    +
                    + +
                    + + _theme_obj; + ?> +
                      +
                    • ' . $ct->__get( 'Version' ) . '' ); ?>
                    • + parent() ) { + ?> +
                    • parent()->__get( 'Name' ), '' . $ct->parent()->__get( 'Version' ) . '' ); ?>
                    • + +
                    • ' . $this->_theme_data['framework_version'] . '', sprintf( __( '%sUpdate%s', 'woothemes' ) . ' ', '', '' ) ); ?>
                    • +
                    + +
                    + screens['welcome'] = new WF_Screen_Welcome(); \ No newline at end of file diff --git a/wootique/functions/classes/class-wf-screen.php b/wootique/functions/classes/class-wf-screen.php new file mode 100755 index 0000000..ff8303d --- /dev/null +++ b/wootique/functions/classes/class-wf-screen.php @@ -0,0 +1,83 @@ +' . "\n"; + $html .= get_screen_icon( $screen_icon ); + $html .= '' . "\n"; + echo $html; + do_action( 'wf_screen_header_before_content', $token, $screen_icon ); + do_action( 'wf_screen_header_before_content_' . esc_attr( $token ), $token, $screen_icon ); + } // End get_header() + + /** + * Generate footer HTML. + * @access public + * @since 6.0.0 + * @return void + */ + public static function get_footer ( $token = 'woothemes', $screen_icon = 'themes' ) { + do_action( 'wf_screen_footer_after_content_' . esc_attr( $token ), $token, $screen_icon ); + do_action( 'wf_screen_footer_after_content', $token, $screen_icon ); + $html = '
                    ' . "\n"; + echo $html; + do_action( 'wf_screen_after_' . esc_attr( $token ), $token, $screen_icon ); + do_action( 'wf_screen_after', $token, $screen_icon ); + } // End get_footer() + + /** + * Generate navigation tabs HTML, based on a specific admin menu. + * @access public + * @since 6.0.0 + * @return string/WP_Error + */ + public static function get_navigation_tabs ( $menu_key = 'woothemes' ) { + global $submenu; + if ( ! isset( $submenu[$menu_key] ) ) return new WP_Error( 'invalid_menu_key', __( 'No menu found for the specified menu key.', 'woothemes' ) ); + $html = ''; + + $current_tab = ''; + if ( isset( $_GET['page'] ) ) $current_tab = $_GET['page']; + + if ( 0 < count( $submenu[$menu_key] ) ) { + foreach ( $submenu[$menu_key] as $k => $v ) { + $class = 'nav-tab'; + if ( $current_tab == $v[2] ) { + $class .= ' nav-tab-active'; + } + + $url = add_query_arg( 'page', $v[2], admin_url( 'admin.php' ) ); + $html .= '' . esc_html( $v[0] ) . ''; + } + } + + return $html; + } // End get_navigation_tabs() + + /** + * Generate and retrieve HTML for the admin logo branding. + * @access public + * @since 6.0.0 + * @return string Generate HTML for the admin logo branding. + */ + public static function get_admin_branding () { + $html = '' . "\n"; + return $html; + } // End get_admin_branding() +} // End Class +?> \ No newline at end of file diff --git a/wootique/functions/classes/class-wf-settings.php b/wootique/functions/classes/class-wf-settings.php new file mode 100755 index 0000000..6e986c0 --- /dev/null +++ b/wootique/functions/classes/class-wf-settings.php @@ -0,0 +1,355 @@ +_token = 'wf'; + + $this->_field_obj = new WF_Fields_Settings(); + + $this->_field_obj->init( $this->get_settings_template() ); + + $this->_field_obj->__set( 'token', 'woo' ); + + $this->_fields = $this->_field_obj->__get( 'fields' ); + + if ( is_admin() ) { + add_action( 'admin_menu', array( $this, 'register_settings_screen' ), 1 ); // Make sure this menu item is always first. + add_action( 'admin_notices', array( $this, 'admin_notices' ) ); + } + } // End __construct() + + /** + * Register the WooFramework admin menu. + * @access public + * @since 6.0.0 + * @return void + */ + public function register_settings_screen () { + $theme_data = wooframework_get_theme_version_data(); + $ct = wp_get_theme(); + $theme_name = apply_filters( 'wf_branding_menu_label', $ct->__get( 'Name' ) ); + $icon = apply_filters( 'wf_branding_icon', '' ); + + add_object_page ( __( 'Settings', 'woothemes' ), esc_html( $theme_name ), 'edit_theme_options', 'woothemes', array( $this, 'settings_screen' ), $icon ); + $wf_settings_screen_hook = add_submenu_page( 'woothemes', esc_html( $theme_name ), __( 'Settings', 'woothemes' ), 'edit_theme_options', 'woothemes', array( $this, 'settings_screen' ) ); // Default + + // Load validation and save logic for the settings screen. + add_action( 'load-' . $wf_settings_screen_hook, array( $this, 'settings_screen_logic' ) ); + + do_action( 'wf_settings_register_settings_screen' ); + } // End register_settings_screen() + + /** + * Display admin notices for this settings screen. + * @access public + * @since 6.0.0 + * @return void + */ + public function admin_notices () { + $notices = array(); + + if ( isset( $_GET['page'] ) && 'woothemes' == $_GET['page'] && isset( $_GET['updated'] ) && 'true' == $_GET['updated'] ) { + $notices['settings-updated'] = array( 'type' => 'updated', 'message' => __( 'Settings saved.', 'woothemes' ) ); + } + + if ( 0 < count( $notices ) ) { + $html = ''; + foreach ( $notices as $k => $v ) { + $html .= '
                    ' . wpautop( '' . esc_html( $v['message'] ) . '' ) . '
                    ' . "\n"; + } + echo $html; + } + } // End admin_notices() + + /** + * Run logic on the WooFramework settings screen. + * @access public + * @since 6.0.0 + * @return void + */ + public function settings_screen_logic () { + if ( ! empty( $_POST ) && check_admin_referer( $this->_field_obj->__get( 'token' ) . '_nonce', $this->_field_obj->__get( 'token' ) . '_nonce' ) ) { + $data = $_POST; + + $page = 'woothemes'; + if ( isset( $data['page'] ) ) { + $page = $data['page']; + unset( $data['page'] ); + } + + $tab = ''; + if ( isset( $data['tab'] ) ) { + $tab = $data['tab']; + unset( $data['tab'] ); + } + + $data = $this->_field_obj->validate_fields( $data, $tab ); + + do_action_ref_array( 'wf_settings_save_before', $data, $this ); + + $options_collection = (array)get_option( 'woo_options', array() ); + + $update_tracker = array(); + + if ( 0 < count( $data ) ) { + foreach ( $data as $k => $v ) { + // Skip over the theme option if it's one of a selection of fields allowing unfiltered HTML, and the user can't edit it. + if ( ! current_user_can( 'unfiltered_html' ) && in_array( $k, woo_disabled_if_not_unfiltered_html_option_keys() ) ) { + continue; + } + + // Handle the saving of the setting. + if ( true == apply_filters( 'wf_use_theme_mods', false ) ) { + $update_tracker[$k] = set_theme_mod( esc_attr( $k ), $v ); + } else { + $update_tracker[$k] = update_option( esc_attr( $k ), $v ); + } + + // Update the options collection, in case any products still use it. + $options_collection[$k] = $v; + } + + // Update the options collection in the database. + update_option( 'woo_options', $options_collection ); + } + + do_action_ref_array( 'wf_settings_save_after', $data, $this ); + + // Store the status of the updates, so we can report back. + set_transient( $this->_field_obj->__get( 'token' ) . 'update_tracker', $update_tracker, 5 ); + + $update_status = true; + if ( 0 < count( $update_tracker ) ) { + foreach ( $update_tracker as $k => $v ) { + if ( false === $v ) { + $update_status = false; + break; + } + } + } + + // Redirect on settings save, and exit. + $url = add_query_arg( 'page', $page ); + if ( '' != $tab ) { + $url = add_query_arg( 'tab', $tab, $url ); + } + $url = add_query_arg( 'updated', 'true', $url ); + + /*if ( false === $update_status ) { + $url = add_query_arg( 'some_didnt_update', 'true', $url ); + }*/ + + wp_safe_redirect( $url ); + exit; + } + } // End settings_screen_logic() + + /** + * Output markup for the settings screen. + * @access public + * @since 6.0.0 + * @return void + */ + public function settings_screen () { + $hidden_fields = array( 'page' => 'woothemes' ); + if ( isset( $_GET['tab'] ) && '' != $_GET['tab'] ) $hidden_fields['tab'] = sanitize_title_with_dashes( $_GET['tab'] ); + + do_action( 'wf_screen_get_header', 'woothemes', 'themes' ); + $this->_field_obj->__set( 'has_tabs', true ); + $this->_field_obj->__set( 'extra_hidden_fields', $hidden_fields ); + $this->_field_obj->init_tabs(); + $this->_field_obj->render_tabs(); + $this->_field_obj->render(); + do_action( 'wf_screen_get_footer', 'woothemes', 'themes' ); + } // End settings_screen() + + /** + * Get the data for a single field. + * @access public + * @since 6.0.0 + * @param string $key The key for which to retrieve the field data. + * @return mixed/boolean False if no field is found. + */ + public function get_field ( $key ) { + $fields = $this->get_fields(); + if ( isset( $fields[$key] ) ) return $fields[$key]; + return false; + } // End get_field() + + /** + * Update the data for a single field. + * @access public + * @since 6.0.0 + * @param string $key The key for which to update the field data. + * @param array $data Updated data for the specified field. + * @return mixed/boolean False if no field is found. + */ + public function update_field ( $key, $data = array() ) { + $fields = $this->get_fields(); + $response = false; + if ( isset( $fields[$key] ) ) { + if ( is_array( $data ) && 0 < count( $data ) ) { + foreach ( $data as $k => $v ) { + // If attempting to update the field type, make sure it's an allowed field type. + if ( 'type' == $k && ! in_array( $k, $this->get_supported_fields() ) ) continue; + + $this->_fields[$key][$k] = $v; + $response = true; + } + } + } + return $response; + } // End update_field() + + /** + * Remove a single field. + * @access public + * @since 6.0.0 + * @param string $key The key for which to remove the field data. + * @return mixed/boolean False if no field is found. + */ + public function remove_field ( $key ) { + $fields = $this->get_fields(); + if ( isset( $fields[$key] ) ) unset( $fields[$key] ); return true; + return false; + } // End remove_field() + + /** + * Return an array of the settings scafolding. The field types, names, etc. + * @access public + * @since 6.0.0 + * @return array + */ + public function get_settings_template () { + return get_option( 'woo_template', array() ); + } // End get_settings_template() + + /** + * Return an array of the stored settings, as key => value pairs. + * @access public + * @since 6.0.0 + * @return array + */ + public function get_all () { + $settings = array(); + $fields = $this->get_fields(); + + if ( 0 < count( $fields ) ) { + foreach ( $fields as $k => $v ) { + if ( 'multi_field' == $v['type'] && isset( $v['multi_fields'] ) && is_array( $v['multi_fields'] ) ) { + if ( 0 < count( $v['multi_fields'] ) ) { + foreach ( $v['multi_fields'] as $i => $j ) { + $settings[$i] = $this->_process_single_field( $i, $j ); + } + } + } else { + $settings[$k] = $this->_process_single_field( $k, $v ); + } + } + } + + return $settings; + } // End get_all() + + /** + * Process a single field, when running get_all(). + * @access private + * @since 6.0.0 + * @param string $k The field key. + * @param string/array $v The stored value. + * @return string/array The stored value, sanitized. + */ + private function _process_single_field ( $k, $v ) { + $default = ''; + if ( isset( $v['std'] ) ) { + $default = $v['std']; + } + $value = $this->_field_obj->get_value( esc_attr( $k ), $default ); + + if ( in_array( $v['type'], $this->_field_obj->get_array_field_types() ) && is_array( $value ) ) { + $value = wp_parse_args( $value, $default ); + // Treat this as an array + $value = array_map( 'esc_attr', $value ); + } + + return $value; + } // End _process_single_field() + + /** + * Retrieve the fields. + * @access public + * @since 6.0.0 + * @param string $section The section to search for fields in (optional). + * @return array An array of the detected fields. + */ + public function get_fields ( $section = '' ) { + $fields = array(); + foreach ( $this->_field_obj->__get( 'fields' ) as $k => $v ) { + if ( '' != $section ) { + if ( $section == $v['section'] ) { + $fields[$k] = $v; + } + } else { + $fields[$k] = $v; + } + } + return $fields; + } // End get_fields() +} // End Class +?> \ No newline at end of file diff --git a/wootique/functions/classes/class-wf.php b/wootique/functions/classes/class-wf.php new file mode 100755 index 0000000..dc143a8 --- /dev/null +++ b/wootique/functions/classes/class-wf.php @@ -0,0 +1,186 @@ +_token = 'wf'; + $this->screens = array(); + + // Set up the settings, on init. + add_action( 'init', array( $this, 'setup_settings' ) ); + + // Set up the meta boxes, on init. + add_action( 'init', array( $this, 'setup_meta_boxes' ) ); + } // End __construct() + + /** + * Set up an object to handle basic settings interactions. + * @access public + * @since 6.0.0 + * @return void + */ + public function setup_settings () { + $this->settings = new WF_Settings(); + $GLOBALS['woo_options'] = $this->settings->get_all(); + } // End setup_settings() + + /** + * Set up an object to handle basic meta box interactions. + * @access public + * @since 6.0.0 + * @return void + */ + public function setup_meta_boxes () { + $this->meta_boxes = new WF_Meta(); + } // End setup_meta_boxes() + + /** + * Return the URL to the WooFramework directory. + * @access public + * @since 6.0.0 + * @return void + */ + public function get_url () { + return esc_url( apply_filters( 'wf_url', get_template_directory_uri() . '/functions/' ) ); + } // End get_url() + + /** + * Return the path to the WooFramework directory. + * @access public + * @since 6.0.0 + * @return void + */ + public function get_path () { + return (string)apply_filters( 'wf_path', get_template_directory() . '/functions/' ); + } // End get_path() + + /** + * Return the path to the WooFramework assets directory. + * @access public + * @since 6.0.0 + * @return void + */ + public function get_assets_path () { + return (string)apply_filters( 'wf_assets_path', $this->get_path() . 'assets/' ); + } // End get_assets_path() + + /** + * Return the URL to the WooFramework assets directory. + * @access public + * @since 6.0.0 + * @return void + */ + public function get_assets_url () { + return esc_url( apply_filters( 'wf_assets_url', $this->get_url() . 'assets/' ) ); + } // End get_assets_url() + + /** + * Return the URL to the placeholder image. + * @access public + * @since 6.0.0 + * @return void + */ + public function get_placeholder_image_url () { + return esc_url( apply_filters( 'wf_placeholder_image_url', '' ) ); + } // End get_placeholder_image_url() + + /** + * Return the directory path to the placeholder image. + * @access public + * @since 6.0.0 + * @return void + */ + public function get_placeholder_image_path () { + return apply_filters( 'wf_placeholder_image_path', '' ); + } // End get_placeholder_image_path() + + /** + * Main WF Instance + * + * Ensures only one instance of WF is loaded or can be loaded. + * + * @since 6.0.0 + * @static + * @see WF() + * @return Main WF instance + */ + public static function instance () { + if ( is_null( self::$_instance ) ) + self::$_instance = new self(); + return self::$_instance; + } // End instance() + + /** + * Cloning is forbidden. + * + * @since 6.0.0 + */ + public function __clone () { + _doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?' ), '6.0.0' ); + } // End __clone() + + /** + * Unserializing instances of this class is forbidden. + * + * @since 6.0.0 + */ + public function __wakeup () { + _doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?' ), '6.0.0' ); + } // End __wakeup() +} // End Class +?> \ No newline at end of file diff --git a/wootique/functions/classes/class-wp-app-store-installer.php b/wootique/functions/classes/class-wp-app-store-installer.php new file mode 100755 index 0000000..bb48938 --- /dev/null +++ b/wootique/functions/classes/class-wp-app-store-installer.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/wootique/functions/config.codekit b/wootique/functions/config.codekit new file mode 100755 index 0000000..fe01a78 --- /dev/null +++ b/wootique/functions/config.codekit @@ -0,0 +1,3361 @@ +{ +"CodeKitInfo": "This is a CodeKit 2.x project configuration file. It is designed to sync project settings across multiple machines. MODIFYING THE CONTENTS OF THIS FILE IS A POOR LIFE DECISION. If you do so, you will likely cause CodeKit to crash. This file is not useful unless accompanied by the project that created it in CodeKit 2. This file is not backwards-compatible with CodeKit 1.x. For more information, see: http:\/\/incident57.com\/codekit", +"creatorBuild": "16903", +"files": { + "\/admin-backup.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-backup.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-custom-nav.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-custom-nav.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-custom.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-custom.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-express-functions-deprecated.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-express-functions-deprecated.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-express-functions.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-express-functions.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-framework-settings.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-framework-settings.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-hooks.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-hooks.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-init.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-init.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-interface.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-interface.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-medialibrary-uploader.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-medialibrary-uploader.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-sbm.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-sbm.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-seo.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-seo.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-setup.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-setup.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-shortcode-generator.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-shortcode-generator.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-shortcodes.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-shortcodes.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-style.css": { + "fileType": 16, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-style.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/admin-tumblog-quickpress.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/admin-tumblog-quickpress.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/assets\/css\/activation.css": { + "fileType": 16, + "ignore": 1, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/css\/activation.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/assets\/css\/activation.less": { + "allowInsecureImports": 0, + "createSourceMap": 0, + "disableJavascript": 0, + "fileType": 1, + "ieCompatibility": 1, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/css\/activation.less", + "outputAbbreviatedPath": "\/assets\/css\/activation.css", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 0, + "relativeURLS": 0, + "shouldRunAutoprefixer": 0, + "shouldRunBless": 0, + "strictImports": 0, + "strictMath": 0, + "strictUnits": 0 + }, + "\/assets\/css\/admin.css": { + "fileType": 16, + "ignore": 1, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/css\/admin.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/assets\/css\/admin.less": { + "allowInsecureImports": 0, + "createSourceMap": 0, + "disableJavascript": 0, + "fileType": 1, + "ieCompatibility": 1, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/css\/admin.less", + "outputAbbreviatedPath": "\/assets\/css\/admin.css", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 0, + "relativeURLS": 0, + "shouldRunAutoprefixer": 0, + "shouldRunBless": 0, + "strictImports": 0, + "strictMath": 0, + "strictUnits": 0 + }, + "\/assets\/css\/fields.css": { + "fileType": 16, + "ignore": 1, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/css\/fields.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/assets\/css\/fields.less": { + "allowInsecureImports": 0, + "createSourceMap": 0, + "disableJavascript": 0, + "fileType": 1, + "ieCompatibility": 1, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/css\/fields.less", + "outputAbbreviatedPath": "\/assets\/css\/fields.css", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 0, + "relativeURLS": 0, + "shouldRunAutoprefixer": 0, + "shouldRunBless": 0, + "strictImports": 0, + "strictMath": 0, + "strictUnits": 0 + }, + "\/assets\/css\/lib\/chosen.css": { + "fileType": 16, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/css\/lib\/chosen.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/assets\/css\/lib\/chosen.min.css": { + "fileType": 16, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/css\/lib\/chosen.min.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/assets\/css\/menu.css": { + "fileType": 16, + "ignore": 1, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/css\/menu.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/assets\/css\/menu.less": { + "allowInsecureImports": 0, + "createSourceMap": 0, + "disableJavascript": 0, + "fileType": 1, + "ieCompatibility": 1, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/css\/menu.less", + "outputAbbreviatedPath": "\/assets\/css\/menu.css", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 0, + "relativeURLS": 0, + "shouldRunAutoprefixer": 0, + "shouldRunBless": 0, + "strictImports": 0, + "strictMath": 0, + "strictUnits": 0 + }, + "\/assets\/css\/mixins.less": { + "allowInsecureImports": 0, + "createSourceMap": 0, + "disableJavascript": 0, + "fileType": 1, + "ieCompatibility": 1, + "ignore": 1, + "ignoreWasSetByUser": 1, + "inputAbbreviatedPath": "\/assets\/css\/mixins.less", + "outputAbbreviatedPath": "\/assets\/css\/mixins.css", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 0, + "relativeURLS": 0, + "shouldRunAutoprefixer": 0, + "shouldRunBless": 0, + "strictImports": 0, + "strictMath": 0, + "strictUnits": 0 + }, + "\/assets\/images\/icon.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 3760, + "inputAbbreviatedPath": "\/assets\/images\/icon.png", + "outputAbbreviatedPath": "\/assets\/images\/icon.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/images\/lib\/chosen-sprite.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 646, + "inputAbbreviatedPath": "\/assets\/images\/lib\/chosen-sprite.png", + "outputAbbreviatedPath": "\/assets\/images\/lib\/chosen-sprite.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/images\/lib\/chosen-sprite@2x.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 872, + "inputAbbreviatedPath": "\/assets\/images\/lib\/chosen-sprite@2x.png", + "outputAbbreviatedPath": "\/assets\/images\/lib\/chosen-sprite@2x.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/images\/logo.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 9595, + "inputAbbreviatedPath": "\/assets\/images\/logo.png", + "outputAbbreviatedPath": "\/assets\/images\/logo.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/images\/placeholder.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1503, + "inputAbbreviatedPath": "\/assets\/images\/placeholder.png", + "outputAbbreviatedPath": "\/assets\/images\/placeholder.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/images\/ui-bg_flat_0_aaaaaa_40x100.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 149, + "inputAbbreviatedPath": "\/assets\/images\/ui-bg_flat_0_aaaaaa_40x100.png", + "outputAbbreviatedPath": "\/assets\/images\/ui-bg_flat_0_aaaaaa_40x100.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/images\/ui-bg_flat_75_ffffff_40x100.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 147, + "inputAbbreviatedPath": "\/assets\/images\/ui-bg_flat_75_ffffff_40x100.png", + "outputAbbreviatedPath": "\/assets\/images\/ui-bg_flat_75_ffffff_40x100.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/images\/ui-bg_glass_55_fbf9ee_1x400.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 117, + "inputAbbreviatedPath": "\/assets\/images\/ui-bg_glass_55_fbf9ee_1x400.png", + "outputAbbreviatedPath": "\/assets\/images\/ui-bg_glass_55_fbf9ee_1x400.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/images\/ui-bg_glass_65_ffffff_1x400.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 95, + "inputAbbreviatedPath": "\/assets\/images\/ui-bg_glass_65_ffffff_1x400.png", + "outputAbbreviatedPath": "\/assets\/images\/ui-bg_glass_65_ffffff_1x400.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/images\/ui-bg_glass_75_dadada_1x400.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 110, + "inputAbbreviatedPath": "\/assets\/images\/ui-bg_glass_75_dadada_1x400.png", + "outputAbbreviatedPath": "\/assets\/images\/ui-bg_glass_75_dadada_1x400.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/images\/ui-bg_glass_75_e6e6e6_1x400.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 143, + "inputAbbreviatedPath": "\/assets\/images\/ui-bg_glass_75_e6e6e6_1x400.png", + "outputAbbreviatedPath": "\/assets\/images\/ui-bg_glass_75_e6e6e6_1x400.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/images\/ui-bg_glass_95_fef1ec_1x400.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 118, + "inputAbbreviatedPath": "\/assets\/images\/ui-bg_glass_95_fef1ec_1x400.png", + "outputAbbreviatedPath": "\/assets\/images\/ui-bg_glass_95_fef1ec_1x400.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/images\/ui-bg_highlight-soft_75_cccccc_1x100.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 101, + "inputAbbreviatedPath": "\/assets\/images\/ui-bg_highlight-soft_75_cccccc_1x100.png", + "outputAbbreviatedPath": "\/assets\/images\/ui-bg_highlight-soft_75_cccccc_1x100.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/assets\/js\/chosen-selectors.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/chosen-selectors.js", + "outputAbbreviatedPath": "\/assets\/js\/min\/chosen-selectors-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/colourpickers.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/colourpickers.js", + "outputAbbreviatedPath": "\/assets\/js\/min\/colourpickers-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/datepickers.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/datepickers.js", + "outputAbbreviatedPath": "\/assets\/js\/min\/datepickers-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/image-selectors.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/image-selectors.js", + "outputAbbreviatedPath": "\/assets\/js\/min\/image-selectors-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/lib\/jquery-chosen-rtl.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/lib\/jquery-chosen-rtl.js", + "outputAbbreviatedPath": "\/assets\/js\/lib\/min\/jquery-chosen-rtl-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/lib\/jquery-chosen-rtl.min.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/lib\/jquery-chosen-rtl.min.js", + "outputAbbreviatedPath": "\/assets\/js\/lib\/min\/jquery-chosen-rtl.min-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/lib\/jquery-chosen.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/lib\/jquery-chosen.js", + "outputAbbreviatedPath": "\/assets\/js\/lib\/min\/jquery-chosen-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/lib\/jquery-chosen.min.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/lib\/jquery-chosen.min.js", + "outputAbbreviatedPath": "\/assets\/js\/lib\/min\/jquery-chosen.min-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/lib\/jquery-masked-input.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/lib\/jquery-masked-input.js", + "outputAbbreviatedPath": "\/assets\/js\/lib\/min\/jquery-masked-input-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/masked-inputs.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/masked-inputs.js", + "outputAbbreviatedPath": "\/assets\/js\/min\/masked-inputs-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/range-selectors.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/range-selectors.js", + "outputAbbreviatedPath": "\/assets\/js\/min\/range-selectors-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/typography-preview.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/typography-preview.js", + "outputAbbreviatedPath": "\/assets\/js\/min\/typography-preview-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/typography.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/typography.js", + "outputAbbreviatedPath": "\/assets\/js\/min\/typography-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/uploaders.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/uploaders.js", + "outputAbbreviatedPath": "\/assets\/js\/min\/uploaders-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/assets\/js\/uploaders.min.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/assets\/js\/uploaders.min.js", + "outputAbbreviatedPath": "\/assets\/js\/min\/uploaders.min-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/classes\/class-wf-backup.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/classes\/class-wf-backup.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/classes\/class-wf-fields-meta.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/classes\/class-wf-fields-meta.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/classes\/class-wf-fields-settings.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/classes\/class-wf-fields-settings.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/classes\/class-wf-fields.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/classes\/class-wf-fields.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/classes\/class-wf-meta.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/classes\/class-wf-meta.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/classes\/class-wf-screen-admin-base.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/classes\/class-wf-screen-admin-base.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/classes\/class-wf-screen-framework.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/classes\/class-wf-screen-framework.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/classes\/class-wf-screen-welcome.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/classes\/class-wf-screen-welcome.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/classes\/class-wf-screen.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/classes\/class-wf-screen.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/classes\/class-wf-settings.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/classes\/class-wf-settings.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/classes\/class-wf.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/classes\/class-wf.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/classes\/class-wp-app-store-installer.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/classes\/class-wp-app-store-installer.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/css\/colorpicker.css": { + "fileType": 16, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/css\/colorpicker.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/css\/jquery-ui-datepicker.css": { + "fileType": 16, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/css\/jquery-ui-datepicker.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/css\/shortcode-generator.css": { + "fileType": 16, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/css\/shortcode-generator.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/css\/shortcode-icon.css": { + "fileType": 16, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/css\/shortcode-icon.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/css\/shortcodes.css": { + "fileType": 16, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/css\/shortcodes.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/css\/tumblog.css": { + "fileType": 16, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/css\/tumblog.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/css\/woo-custom-fields.css": { + "fileType": 16, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/css\/woo-custom-fields.css", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/deprecated.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/deprecated.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/images\/1c.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 316, + "inputAbbreviatedPath": "\/images\/1c.png", + "outputAbbreviatedPath": "\/images\/1c.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/2cl.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 324, + "inputAbbreviatedPath": "\/images\/2cl.png", + "outputAbbreviatedPath": "\/images\/2cl.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/2cr.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 323, + "inputAbbreviatedPath": "\/images\/2cr.png", + "outputAbbreviatedPath": "\/images\/2cr.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/3cl.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 327, + "inputAbbreviatedPath": "\/images\/3cl.png", + "outputAbbreviatedPath": "\/images\/3cl.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/3cm.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 330, + "inputAbbreviatedPath": "\/images\/3cm.png", + "outputAbbreviatedPath": "\/images\/3cm.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/3cr.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 330, + "inputAbbreviatedPath": "\/images\/3cr.png", + "outputAbbreviatedPath": "\/images\/3cr.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/btn-tumblog-audio.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 791, + "inputAbbreviatedPath": "\/images\/btn-tumblog-audio.png", + "outputAbbreviatedPath": "\/images\/btn-tumblog-audio.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/btn-tumblog-image.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 813, + "inputAbbreviatedPath": "\/images\/btn-tumblog-image.png", + "outputAbbreviatedPath": "\/images\/btn-tumblog-image.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/btn-tumblog-link.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1206, + "inputAbbreviatedPath": "\/images\/btn-tumblog-link.png", + "outputAbbreviatedPath": "\/images\/btn-tumblog-link.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/btn-tumblog-note.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 622, + "inputAbbreviatedPath": "\/images\/btn-tumblog-note.png", + "outputAbbreviatedPath": "\/images\/btn-tumblog-note.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/btn-tumblog-quote.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1342, + "inputAbbreviatedPath": "\/images\/btn-tumblog-quote.png", + "outputAbbreviatedPath": "\/images\/btn-tumblog-quote.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/btn-tumblog-video.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 948, + "inputAbbreviatedPath": "\/images\/btn-tumblog-video.png", + "outputAbbreviatedPath": "\/images\/btn-tumblog-video.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/colorpicker\/colorpicker_background.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1897, + "inputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_background.png", + "outputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_background.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/colorpicker\/colorpicker_hex.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 532, + "inputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_hex.png", + "outputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_hex.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/colorpicker\/colorpicker_hsb_b.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 970, + "inputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_hsb_b.png", + "outputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_hsb_b.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/colorpicker\/colorpicker_hsb_h.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1012, + "inputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_hsb_h.png", + "outputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_hsb_h.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/colorpicker\/colorpicker_hsb_s.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1171, + "inputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_hsb_s.png", + "outputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_hsb_s.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/colorpicker\/colorpicker_overlay.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 10355, + "inputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_overlay.png", + "outputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_overlay.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/colorpicker\/colorpicker_rgb_b.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 970, + "inputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_rgb_b.png", + "outputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_rgb_b.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/colorpicker\/colorpicker_rgb_g.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1069, + "inputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_rgb_g.png", + "outputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_rgb_g.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/colorpicker\/colorpicker_rgb_r.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1066, + "inputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_rgb_r.png", + "outputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_rgb_r.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/colorpicker\/colorpicker_submit.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 984, + "inputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_submit.png", + "outputAbbreviatedPath": "\/images\/colorpicker\/colorpicker_submit.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/colorpicker\/select.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 3278, + "inputAbbreviatedPath": "\/images\/colorpicker\/select.png", + "outputAbbreviatedPath": "\/images\/colorpicker\/select.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/footer-widgets-0.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 316, + "inputAbbreviatedPath": "\/images\/footer-widgets-0.png", + "outputAbbreviatedPath": "\/images\/footer-widgets-0.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/footer-widgets-1.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 324, + "inputAbbreviatedPath": "\/images\/footer-widgets-1.png", + "outputAbbreviatedPath": "\/images\/footer-widgets-1.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/footer-widgets-2.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 336, + "inputAbbreviatedPath": "\/images\/footer-widgets-2.png", + "outputAbbreviatedPath": "\/images\/footer-widgets-2.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/footer-widgets-3.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 334, + "inputAbbreviatedPath": "\/images\/footer-widgets-3.png", + "outputAbbreviatedPath": "\/images\/footer-widgets-3.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/footer-widgets-4.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 337, + "inputAbbreviatedPath": "\/images\/footer-widgets-4.png", + "outputAbbreviatedPath": "\/images\/footer-widgets-4.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/gray-grad.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 98, + "inputAbbreviatedPath": "\/images\/gray-grad.png", + "outputAbbreviatedPath": "\/images\/gray-grad.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/happy.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1173, + "inputAbbreviatedPath": "\/images\/happy.png", + "outputAbbreviatedPath": "\/images\/happy.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/headertile.jpg": { + "fileType": 16384, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 392, + "inputAbbreviatedPath": "\/images\/headertile.jpg", + "outputAbbreviatedPath": "\/images\/headertile.jpg", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/headingtop.jpg": { + "fileType": 16384, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 305, + "inputAbbreviatedPath": "\/images\/headingtop.jpg", + "outputAbbreviatedPath": "\/images\/headingtop.jpg", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-add.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 397, + "inputAbbreviatedPath": "\/images\/ico-add.png", + "outputAbbreviatedPath": "\/images\/ico-add.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-alert.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 563, + "inputAbbreviatedPath": "\/images\/ico-alert.png", + "outputAbbreviatedPath": "\/images\/ico-alert.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-changelog.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 582, + "inputAbbreviatedPath": "\/images\/ico-changelog.png", + "outputAbbreviatedPath": "\/images\/ico-changelog.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-close.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 563, + "inputAbbreviatedPath": "\/images\/ico-close.png", + "outputAbbreviatedPath": "\/images\/ico-close.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-delete.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 662, + "inputAbbreviatedPath": "\/images\/ico-delete.png", + "outputAbbreviatedPath": "\/images\/ico-delete.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-docs.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 323, + "inputAbbreviatedPath": "\/images\/ico-docs.png", + "outputAbbreviatedPath": "\/images\/ico-docs.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-dojo-banner-close.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1245, + "inputAbbreviatedPath": "\/images\/ico-dojo-banner-close.png", + "outputAbbreviatedPath": "\/images\/ico-dojo-banner-close.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-dojo-banner.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 2980, + "inputAbbreviatedPath": "\/images\/ico-dojo-banner.png", + "outputAbbreviatedPath": "\/images\/ico-dojo-banner.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-download.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 582, + "inputAbbreviatedPath": "\/images\/ico-download.png", + "outputAbbreviatedPath": "\/images\/ico-download.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-edit.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 751, + "inputAbbreviatedPath": "\/images\/ico-edit.png", + "outputAbbreviatedPath": "\/images\/ico-edit.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-forum.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 617, + "inputAbbreviatedPath": "\/images\/ico-forum.png", + "outputAbbreviatedPath": "\/images\/ico-forum.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-info.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 555, + "inputAbbreviatedPath": "\/images\/ico-info.png", + "outputAbbreviatedPath": "\/images\/ico-info.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-note.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 447, + "inputAbbreviatedPath": "\/images\/ico-note.png", + "outputAbbreviatedPath": "\/images\/ico-note.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-preview.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1140, + "inputAbbreviatedPath": "\/images\/ico-preview.png", + "outputAbbreviatedPath": "\/images\/ico-preview.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-refresh.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1808, + "inputAbbreviatedPath": "\/images\/ico-refresh.png", + "outputAbbreviatedPath": "\/images\/ico-refresh.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-social-delicious.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 654, + "inputAbbreviatedPath": "\/images\/ico-social-delicious.png", + "outputAbbreviatedPath": "\/images\/ico-social-delicious.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-social-facebook.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 692, + "inputAbbreviatedPath": "\/images\/ico-social-facebook.png", + "outputAbbreviatedPath": "\/images\/ico-social-facebook.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-social-flickr.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 899, + "inputAbbreviatedPath": "\/images\/ico-social-flickr.png", + "outputAbbreviatedPath": "\/images\/ico-social-flickr.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-social-googleplus.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1643, + "inputAbbreviatedPath": "\/images\/ico-social-googleplus.png", + "outputAbbreviatedPath": "\/images\/ico-social-googleplus.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/ico-social-linkedin.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 965, + "inputAbbreviatedPath": "\/images\/ico-social-linkedin.png", + "outputAbbreviatedPath": "\/images\/ico-social-linkedin.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-social-rss.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1233, + "inputAbbreviatedPath": "\/images\/ico-social-rss.png", + "outputAbbreviatedPath": "\/images\/ico-social-rss.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-social-twitter.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 638, + "inputAbbreviatedPath": "\/images\/ico-social-twitter.png", + "outputAbbreviatedPath": "\/images\/ico-social-twitter.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-social-youtube.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 1297, + "inputAbbreviatedPath": "\/images\/ico-social-youtube.png", + "outputAbbreviatedPath": "\/images\/ico-social-youtube.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-tick.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 665, + "inputAbbreviatedPath": "\/images\/ico-tick.png", + "outputAbbreviatedPath": "\/images\/ico-tick.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ico-viewpage.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 582, + "inputAbbreviatedPath": "\/images\/ico-viewpage.png", + "outputAbbreviatedPath": "\/images\/ico-viewpage.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/icon-32.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 2179, + "inputAbbreviatedPath": "\/images\/icon-32.png", + "outputAbbreviatedPath": "\/images\/icon-32.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/info.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 934, + "inputAbbreviatedPath": "\/images\/info.png", + "outputAbbreviatedPath": "\/images\/info.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/layout-off.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 691, + "inputAbbreviatedPath": "\/images\/layout-off.png", + "outputAbbreviatedPath": "\/images\/layout-off.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 0 + }, + "\/images\/logo.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 7093, + "inputAbbreviatedPath": "\/images\/logo.png", + "outputAbbreviatedPath": "\/images\/logo.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/menu-arrow-frame.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 564, + "inputAbbreviatedPath": "\/images\/menu-arrow-frame.png", + "outputAbbreviatedPath": "\/images\/menu-arrow-frame.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/menu-shadow.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 131, + "inputAbbreviatedPath": "\/images\/menu-shadow.png", + "outputAbbreviatedPath": "\/images\/menu-shadow.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-ads.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 596, + "inputAbbreviatedPath": "\/images\/option-icon-ads.png", + "outputAbbreviatedPath": "\/images\/option-icon-ads.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-audio.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 544, + "inputAbbreviatedPath": "\/images\/option-icon-audio.png", + "outputAbbreviatedPath": "\/images\/option-icon-audio.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-box.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 699, + "inputAbbreviatedPath": "\/images\/option-icon-box.png", + "outputAbbreviatedPath": "\/images\/option-icon-box.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-calendar.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 289, + "inputAbbreviatedPath": "\/images\/option-icon-calendar.png", + "outputAbbreviatedPath": "\/images\/option-icon-calendar.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-cart.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 421, + "inputAbbreviatedPath": "\/images\/option-icon-cart.png", + "outputAbbreviatedPath": "\/images\/option-icon-cart.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-connect.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 719, + "inputAbbreviatedPath": "\/images\/option-icon-connect.png", + "outputAbbreviatedPath": "\/images\/option-icon-connect.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-favorite.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 648, + "inputAbbreviatedPath": "\/images\/option-icon-favorite.png", + "outputAbbreviatedPath": "\/images\/option-icon-favorite.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-featured.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 528, + "inputAbbreviatedPath": "\/images\/option-icon-featured.png", + "outputAbbreviatedPath": "\/images\/option-icon-featured.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-footer.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 253, + "inputAbbreviatedPath": "\/images\/option-icon-footer.png", + "outputAbbreviatedPath": "\/images\/option-icon-footer.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-general.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 688, + "inputAbbreviatedPath": "\/images\/option-icon-general.png", + "outputAbbreviatedPath": "\/images\/option-icon-general.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-header.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 277, + "inputAbbreviatedPath": "\/images\/option-icon-header.png", + "outputAbbreviatedPath": "\/images\/option-icon-header.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-homepage.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 439, + "inputAbbreviatedPath": "\/images\/option-icon-homepage.png", + "outputAbbreviatedPath": "\/images\/option-icon-homepage.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-image.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 610, + "inputAbbreviatedPath": "\/images\/option-icon-image.png", + "outputAbbreviatedPath": "\/images\/option-icon-image.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-layout.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 253, + "inputAbbreviatedPath": "\/images\/option-icon-layout.png", + "outputAbbreviatedPath": "\/images\/option-icon-layout.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-listing.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 563, + "inputAbbreviatedPath": "\/images\/option-icon-listing.png", + "outputAbbreviatedPath": "\/images\/option-icon-listing.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-main.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 278, + "inputAbbreviatedPath": "\/images\/option-icon-main.png", + "outputAbbreviatedPath": "\/images\/option-icon-main.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-maps.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 605, + "inputAbbreviatedPath": "\/images\/option-icon-maps.png", + "outputAbbreviatedPath": "\/images\/option-icon-maps.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-media.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 767, + "inputAbbreviatedPath": "\/images\/option-icon-media.png", + "outputAbbreviatedPath": "\/images\/option-icon-media.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-misc.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 861, + "inputAbbreviatedPath": "\/images\/option-icon-misc.png", + "outputAbbreviatedPath": "\/images\/option-icon-misc.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-nav.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 741, + "inputAbbreviatedPath": "\/images\/option-icon-nav.png", + "outputAbbreviatedPath": "\/images\/option-icon-nav.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-portfolio.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 627, + "inputAbbreviatedPath": "\/images\/option-icon-portfolio.png", + "outputAbbreviatedPath": "\/images\/option-icon-portfolio.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-post.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 372, + "inputAbbreviatedPath": "\/images\/option-icon-post.png", + "outputAbbreviatedPath": "\/images\/option-icon-post.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-search.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 582, + "inputAbbreviatedPath": "\/images\/option-icon-search.png", + "outputAbbreviatedPath": "\/images\/option-icon-search.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-sidebar.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 262, + "inputAbbreviatedPath": "\/images\/option-icon-sidebar.png", + "outputAbbreviatedPath": "\/images\/option-icon-sidebar.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-slider.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 502, + "inputAbbreviatedPath": "\/images\/option-icon-slider.png", + "outputAbbreviatedPath": "\/images\/option-icon-slider.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-styling.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 504, + "inputAbbreviatedPath": "\/images\/option-icon-styling.png", + "outputAbbreviatedPath": "\/images\/option-icon-styling.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-tumblog.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 755, + "inputAbbreviatedPath": "\/images\/option-icon-tumblog.png", + "outputAbbreviatedPath": "\/images\/option-icon-tumblog.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-typography.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 404, + "inputAbbreviatedPath": "\/images\/option-icon-typography.png", + "outputAbbreviatedPath": "\/images\/option-icon-typography.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-upload.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 747, + "inputAbbreviatedPath": "\/images\/option-icon-upload.png", + "outputAbbreviatedPath": "\/images\/option-icon-upload.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/option-icon-woocommerce.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 498, + "inputAbbreviatedPath": "\/images\/option-icon-woocommerce.png", + "outputAbbreviatedPath": "\/images\/option-icon-woocommerce.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/quote.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 615, + "inputAbbreviatedPath": "\/images\/quote.png", + "outputAbbreviatedPath": "\/images\/quote.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/select.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 205, + "inputAbbreviatedPath": "\/images\/select.png", + "outputAbbreviatedPath": "\/images\/select.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/shortcode-arrow.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 357, + "inputAbbreviatedPath": "\/images\/shortcode-arrow.png", + "outputAbbreviatedPath": "\/images\/shortcode-arrow.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/shortcode-bullet.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 169, + "inputAbbreviatedPath": "\/images\/shortcode-bullet.png", + "outputAbbreviatedPath": "\/images\/shortcode-bullet.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/shortcode-green-dot.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 235, + "inputAbbreviatedPath": "\/images\/shortcode-green-dot.png", + "outputAbbreviatedPath": "\/images\/shortcode-green-dot.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/shortcode-icon.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 671, + "inputAbbreviatedPath": "\/images\/shortcode-icon.png", + "outputAbbreviatedPath": "\/images\/shortcode-icon.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/shortcode-red-x.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 392, + "inputAbbreviatedPath": "\/images\/shortcode-red-x.png", + "outputAbbreviatedPath": "\/images\/shortcode-red-x.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/shortcode-star.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 648, + "inputAbbreviatedPath": "\/images\/shortcode-star.png", + "outputAbbreviatedPath": "\/images\/shortcode-star.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/shortcode-tick.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 504, + "inputAbbreviatedPath": "\/images\/shortcode-tick.png", + "outputAbbreviatedPath": "\/images\/shortcode-tick.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/shortcode-toggle-close.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 295, + "inputAbbreviatedPath": "\/images\/shortcode-toggle-close.png", + "outputAbbreviatedPath": "\/images\/shortcode-toggle-close.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/shortcode-toggle-open.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 397, + "inputAbbreviatedPath": "\/images\/shortcode-toggle-open.png", + "outputAbbreviatedPath": "\/images\/shortcode-toggle-open.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-bg_flat_0_aaaaaa_40x100.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 149, + "inputAbbreviatedPath": "\/images\/ui-bg_flat_0_aaaaaa_40x100.png", + "outputAbbreviatedPath": "\/images\/ui-bg_flat_0_aaaaaa_40x100.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-bg_flat_75_ffffff_40x100.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 147, + "inputAbbreviatedPath": "\/images\/ui-bg_flat_75_ffffff_40x100.png", + "outputAbbreviatedPath": "\/images\/ui-bg_flat_75_ffffff_40x100.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-bg_glass_55_fbf9ee_1x400.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 117, + "inputAbbreviatedPath": "\/images\/ui-bg_glass_55_fbf9ee_1x400.png", + "outputAbbreviatedPath": "\/images\/ui-bg_glass_55_fbf9ee_1x400.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-bg_glass_65_ffffff_1x400.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 95, + "inputAbbreviatedPath": "\/images\/ui-bg_glass_65_ffffff_1x400.png", + "outputAbbreviatedPath": "\/images\/ui-bg_glass_65_ffffff_1x400.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-bg_glass_75_dadada_1x400.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 110, + "inputAbbreviatedPath": "\/images\/ui-bg_glass_75_dadada_1x400.png", + "outputAbbreviatedPath": "\/images\/ui-bg_glass_75_dadada_1x400.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-bg_glass_75_e6e6e6_1x400.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 143, + "inputAbbreviatedPath": "\/images\/ui-bg_glass_75_e6e6e6_1x400.png", + "outputAbbreviatedPath": "\/images\/ui-bg_glass_75_e6e6e6_1x400.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-bg_glass_95_fef1ec_1x400.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 118, + "inputAbbreviatedPath": "\/images\/ui-bg_glass_95_fef1ec_1x400.png", + "outputAbbreviatedPath": "\/images\/ui-bg_glass_95_fef1ec_1x400.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-bg_highlight-soft_75_cccccc_1x100.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 101, + "inputAbbreviatedPath": "\/images\/ui-bg_highlight-soft_75_cccccc_1x100.png", + "outputAbbreviatedPath": "\/images\/ui-bg_highlight-soft_75_cccccc_1x100.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-icons_222222_256x240.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 4197, + "inputAbbreviatedPath": "\/images\/ui-icons_222222_256x240.png", + "outputAbbreviatedPath": "\/images\/ui-icons_222222_256x240.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-icons_2e83ff_256x240.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 4197, + "inputAbbreviatedPath": "\/images\/ui-icons_2e83ff_256x240.png", + "outputAbbreviatedPath": "\/images\/ui-icons_2e83ff_256x240.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-icons_454545_256x240.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 4197, + "inputAbbreviatedPath": "\/images\/ui-icons_454545_256x240.png", + "outputAbbreviatedPath": "\/images\/ui-icons_454545_256x240.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-icons_888888_256x240.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 4197, + "inputAbbreviatedPath": "\/images\/ui-icons_888888_256x240.png", + "outputAbbreviatedPath": "\/images\/ui-icons_888888_256x240.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/ui-icons_cd0a0a_256x240.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 4197, + "inputAbbreviatedPath": "\/images\/ui-icons_cd0a0a_256x240.png", + "outputAbbreviatedPath": "\/images\/ui-icons_cd0a0a_256x240.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/warning.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 857, + "inputAbbreviatedPath": "\/images\/warning.png", + "outputAbbreviatedPath": "\/images\/warning.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/wf-tab-icons.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 2399, + "inputAbbreviatedPath": "\/images\/wf-tab-icons.png", + "outputAbbreviatedPath": "\/images\/wf-tab-icons.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/images\/woo-icon.png": { + "fileType": 32768, + "ignore": 0, + "ignoreWasSetByUser": 0, + "initialSize": 657, + "inputAbbreviatedPath": "\/images\/woo-icon.png", + "outputAbbreviatedPath": "\/images\/woo-icon.png", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "processed": 1 + }, + "\/js\/ajaxupload.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/ajaxupload.js", + "outputAbbreviatedPath": "\/js\/min\/ajaxupload-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/colorpicker.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/colorpicker.js", + "outputAbbreviatedPath": "\/js\/min\/colorpicker-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/jquery.maskedinput.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/jquery.maskedinput.js", + "outputAbbreviatedPath": "\/js\/min\/jquery.maskedinput-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/nicEdit.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/nicEdit.js", + "outputAbbreviatedPath": "\/js\/min\/nicEdit-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/php.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/php.js", + "outputAbbreviatedPath": "\/js\/min\/php-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/dialog.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/dialog.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/js\/shortcode-generator\/editor_plugin.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/editor_plugin.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/min\/editor_plugin-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/editor_plugin_39.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/editor_plugin_39.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/min\/editor_plugin_39-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/js\/column-control.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/js\/column-control.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/js\/min\/column-control-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/js\/dialog-js.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/js\/dialog-js.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/js\/shortcode-generator\/js\/tab-control.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/js\/tab-control.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/js\/min\/tab-control-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/preview-shortcode-external.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/preview-shortcode-external.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + }, + "\/js\/shortcode-generator\/shortcodes\/abbr.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/abbr.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/abbr-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/box.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/box.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/box-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/button.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/button.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/button-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/column.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/column.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/column-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/contactform.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/contactform.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/contactform-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/digg.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/digg.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/digg-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/fblike.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/fblike.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/fblike-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/fbshare.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/fbshare.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/fbshare-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/google_plusone.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/google_plusone.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/google_plusone-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/ilink.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/ilink.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/ilink-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/linkedin_share.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/linkedin_share.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/linkedin_share-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/ordered_list.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/ordered_list.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/ordered_list-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/pinterest.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/pinterest.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/pinterest-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/quote.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/quote.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/quote-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/related.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/related.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/related-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/social_icon.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/social_icon.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/social_icon-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/stumbleupon.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/stumbleupon.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/stumbleupon-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/tab.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/tab.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/tab-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/toggle.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/toggle.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/toggle-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/tweetmeme.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/tweetmeme.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/tweetmeme-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/twitter.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/twitter.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/twitter-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/twitter_follow.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/twitter_follow.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/twitter_follow-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/typography.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/typography.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/typography-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcode-generator\/shortcodes\/unordered_list.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/unordered_list.js", + "outputAbbreviatedPath": "\/js\/shortcode-generator\/shortcodes\/min\/unordered_list-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/shortcodes.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/shortcodes.js", + "outputAbbreviatedPath": "\/js\/min\/shortcodes-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/tumblog-ajax.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/tumblog-ajax.js", + "outputAbbreviatedPath": "\/js\/min\/tumblog-ajax-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/ui.datepicker.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/ui.datepicker.js", + "outputAbbreviatedPath": "\/js\/min\/ui.datepicker-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/woo-admin-interface.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/woo-admin-interface.js", + "outputAbbreviatedPath": "\/js\/min\/woo-admin-interface-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/woo-custom-fields.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/woo-custom-fields.js", + "outputAbbreviatedPath": "\/js\/min\/woo-custom-fields-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/woo-medialibrary-uploader.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/woo-medialibrary-uploader.js", + "outputAbbreviatedPath": "\/js\/min\/woo-medialibrary-uploader-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/woo-scripts.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/woo-scripts.js", + "outputAbbreviatedPath": "\/js\/min\/woo-scripts-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/js\/woo-typography-preview.js": { + "fileType": 64, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/js\/woo-typography-preview.js", + "outputAbbreviatedPath": "\/js\/min\/woo-typography-preview-ck.js", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0, + "outputStyle": 1, + "syntaxCheckerStyle": 1 + }, + "\/thumb.php": { + "fileType": 8192, + "ignore": 0, + "ignoreWasSetByUser": 0, + "inputAbbreviatedPath": "\/thumb.php", + "outputAbbreviatedPath": "No Output Path", + "outputPathIsOutsideProject": 0, + "outputPathIsSetByUser": 0 + } + }, +"hooks": [ + ], +"lastSavedByUser": "James Koster", +"manualImportLinks": { + }, +"projectAttributes": { + "bowerAbbreviatedPath": "", + "displayValue": "functions", + "displayValueWasSetByUser": 0, + "iconImageName": "pencil_gray" + }, +"projectSettings": { + "alwaysUseExternalServer": 0, + "animateCSSInjections": 1, + "autoApplyPSLanguageSettingsStyle": 0, + "autoprefixerBrowserString": "> 1%, last 2 versions, ff 17, opera 12.1", + "autoSyncProjectSettingsFile": 1, + "browserRefreshDelay": 0, + "coffeeAutoOutputPathRelativePath": "", + "coffeeAutoOutputPathReplace1": "", + "coffeeAutoOutputPathReplace2": "", + "coffeeAutoOutputPathStyle": 0, + "coffeeCreateSourceMap": 0, + "coffeeLintFlags2": { + "arrow_spacing": { + "active": 0, + "flagValue": -1 + }, + "camel_case_classes": { + "active": 1, + "flagValue": -1 + }, + "colon_assignment_spacing": { + "active": 0, + "flagValue": 1 + }, + "cyclomatic_complexity": { + "active": 0, + "flagValue": 10 + }, + "duplicate_key": { + "active": 1, + "flagValue": -1 + }, + "empty_constructor_needs_parens": { + "active": 0, + "flagValue": -1 + }, + "indentation": { + "active": 1, + "flagValue": 2 + }, + "line_endings": { + "active": 0, + "flagValue": 0 + }, + "max_line_length": { + "active": 0, + "flagValue": 150 + }, + "missing_fat_arrows": { + "active": 0, + "flagValue": -1 + }, + "newlines_after_classes": { + "active": 0, + "flagValue": 3 + }, + "no-unnecessary_fat_arrows": { + "active": 1, + "flagValue": -1 + }, + "no_backticks": { + "active": 1, + "flagValue": -1 + }, + "no_empty_param_list": { + "active": 0, + "flagValue": -1 + }, + "no_implicit_braces": { + "active": 1, + "flagValue": -1 + }, + "no_implicit_parens": { + "active": 0, + "flagValue": -1 + }, + "no_plusplus": { + "active": 0, + "flagValue": -1 + }, + "no_stand_alone_at": { + "active": 1, + "flagValue": -1 + }, + "no_tabs": { + "active": 1, + "flagValue": -1 + }, + "no_throwing_strings": { + "active": 1, + "flagValue": -1 + }, + "no_trailing_semicolons": { + "active": 1, + "flagValue": -1 + }, + "no_trailing_whitespace": { + "active": 1, + "flagValue": -1 + }, + "non_empty_constructor_needs_parens": { + "active": 0, + "flagValue": -1 + }, + "space_operators": { + "active": 0, + "flagValue": -1 + } + }, + "coffeeMinifyOutput": 1, + "coffeeOutputStyle": 0, + "coffeeSyntaxCheckerStyle": 1, + "externalServerAddress": "http:\/\/localhost:8888", + "externalServerPreviewPathAddition": "", + "genericWebpageFileExtensionsString": "html, htm, shtml, shtm, xhtml, php, jsp, asp, aspx, erb, ctp", + "hamlAutoOutputPathRelativePath": "", + "hamlAutoOutputPathReplace1": "", + "hamlAutoOutputPathReplace2": "", + "hamlAutoOutputPathStyle": 0, + "hamlEscapeHTMLCharacters": 0, + "hamlNoEscapeInAttributes": 0, + "hamlOutputFormat": 2, + "hamlOutputStyle": 0, + "hamlUseCDATA": 0, + "hamlUseDoubleQuotes": 0, + "hamlUseUnixNewlines": 0, + "jadeAutoOutputPathRelativePath": "", + "jadeAutoOutputPathReplace1": "", + "jadeAutoOutputPathReplace2": "", + "jadeAutoOutputPathStyle": 0, + "jadeCompileDebug": 1, + "jadeOutputStyle": 0, + "javascriptAutoOutputPathRelativePath": "\/min", + "javascriptAutoOutputPathReplace1": "", + "javascriptAutoOutputPathReplace2": "", + "javascriptAutoOutputPathStyle": 2, + "javascriptCreateSourceMap": 1, + "javascriptOutputStyle": 1, + "javascriptOutputSuffix": "-ck", + "javascriptSyntaxCheckerStyle": 1, + "jsCheckerReservedNamesString": "", + "jsHintFlags2": { + "asi": { + "active": 0, + "flagValue": -1 + }, + "bitwise": { + "active": 1, + "flagValue": -1 + }, + "boss": { + "active": 0, + "flagValue": -1 + }, + "browser": { + "active": 1, + "flagValue": -1 + }, + "camelcase": { + "active": 0, + "flagValue": -1 + }, + "couch": { + "active": 0, + "flagValue": -1 + }, + "curly": { + "active": 1, + "flagValue": -1 + }, + "debug": { + "active": 0, + "flagValue": -1 + }, + "devel": { + "active": 0, + "flagValue": -1 + }, + "dojo": { + "active": 0, + "flagValue": -1 + }, + "eqeqeq": { + "active": 1, + "flagValue": -1 + }, + "eqnull": { + "active": 0, + "flagValue": -1 + }, + "es3": { + "active": 0, + "flagValue": -1 + }, + "esnext": { + "active": 0, + "flagValue": -1 + }, + "evil": { + "active": 0, + "flagValue": -1 + }, + "expr": { + "active": 0, + "flagValue": -1 + }, + "forin": { + "active": 0, + "flagValue": -1 + }, + "freeze": { + "active": 1, + "flagValue": -1 + }, + "funcscope": { + "active": 0, + "flagValue": -1 + }, + "gcl": { + "active": 0, + "flagValue": -1 + }, + "globalstrict": { + "active": 0, + "flagValue": -1 + }, + "immed": { + "active": 0, + "flagValue": -1 + }, + "indent": { + "active": 0, + "flagValue": 4 + }, + "iterator": { + "active": 0, + "flagValue": -1 + }, + "jquery": { + "active": 1, + "flagValue": -1 + }, + "lastsemic": { + "active": 0, + "flagValue": -1 + }, + "latedef": { + "active": 1, + "flagValue": -1 + }, + "laxbreak": { + "active": 0, + "flagValue": -1 + }, + "laxcomma": { + "active": 0, + "flagValue": -1 + }, + "loopfunc": { + "active": 0, + "flagValue": -1 + }, + "maxcomplexity": { + "active": 0, + "flagValue": 10 + }, + "maxdepth": { + "active": 0, + "flagValue": 3 + }, + "maxlen": { + "active": 0, + "flagValue": 150 + }, + "maxparams": { + "active": 0, + "flagValue": 3 + }, + "maxstatements": { + "active": 0, + "flagValue": 4 + }, + "mootools": { + "active": 0, + "flagValue": -1 + }, + "moz": { + "active": 0, + "flagValue": -1 + }, + "multistr": { + "active": 0, + "flagValue": -1 + }, + "newcap": { + "active": 1, + "flagValue": -1 + }, + "noarg": { + "active": 1, + "flagValue": -1 + }, + "node": { + "active": 0, + "flagValue": -1 + }, + "noempty": { + "active": 0, + "flagValue": -1 + }, + "nonbsp": { + "active": 0, + "flagValue": -1 + }, + "nonew": { + "active": 1, + "flagValue": -1 + }, + "nonstandard": { + "active": 0, + "flagValue": -1 + }, + "notypeof": { + "active": 1, + "flagValue": -1 + }, + "noyield": { + "active": 0, + "flagValue": -1 + }, + "onecase": { + "active": 0, + "flagValue": -1 + }, + "onevar": { + "active": 0, + "flagValue": -1 + }, + "phantom": { + "active": 0, + "flagValue": -1 + }, + "plusplus": { + "active": 0, + "flagValue": -1 + }, + "proto": { + "active": 0, + "flagValue": -1 + }, + "prototypejs": { + "active": 0, + "flagValue": -1 + }, + "regexp": { + "active": 1, + "flagValue": -1 + }, + "rhino": { + "active": 0, + "flagValue": -1 + }, + "scripturl": { + "active": 0, + "flagValue": -1 + }, + "shadow": { + "active": 0, + "flagValue": -1 + }, + "shelljs": { + "active": 0, + "flagValue": -1 + }, + "smarttabs": { + "active": 0, + "flagValue": -1 + }, + "strict": { + "active": 0, + "flagValue": -1 + }, + "sub": { + "active": 0, + "flagValue": -1 + }, + "supernew": { + "active": 0, + "flagValue": -1 + }, + "trailing": { + "active": 1, + "flagValue": -1 + }, + "typed": { + "active": 0, + "flagValue": -1 + }, + "undef": { + "active": 1, + "flagValue": -1 + }, + "unused": { + "active": 1, + "flagValue": -1 + }, + "white": { + "active": 0, + "flagValue": -1 + }, + "withstmt": { + "active": 0, + "flagValue": -1 + }, + "worker": { + "active": 0, + "flagValue": -1 + }, + "wsh": { + "active": 0, + "flagValue": -1 + }, + "yui": { + "active": 0, + "flagValue": -1 + } + }, + "jsLintFlags2": { + "ass": { + "active": 0, + "flagValue": -1 + }, + "bitwise": { + "active": 0, + "flagValue": -1 + }, + "browser": { + "active": 1, + "flagValue": -1 + }, + "closure": { + "active": 0, + "flagValue": -1 + }, + "continue": { + "active": 0, + "flagValue": -1 + }, + "debug": { + "active": 0, + "flagValue": -1 + }, + "devel": { + "active": 0, + "flagValue": -1 + }, + "eqeq": { + "active": 0, + "flagValue": -1 + }, + "evil": { + "active": 0, + "flagValue": -1 + }, + "forin": { + "active": 0, + "flagValue": -1 + }, + "indent": { + "active": 0, + "flagValue": 4 + }, + "maxlen": { + "active": 0, + "flagValue": 150 + }, + "newcap": { + "active": 0, + "flagValue": -1 + }, + "node": { + "active": 0, + "flagValue": -1 + }, + "nomen": { + "active": 0, + "flagValue": -1 + }, + "plusplus": { + "active": 0, + "flagValue": -1 + }, + "properties": { + "active": 0, + "flagValue": -1 + }, + "regexp": { + "active": 0, + "flagValue": -1 + }, + "rhino": { + "active": 0, + "flagValue": -1 + }, + "sloppy": { + "active": 0, + "flagValue": -1 + }, + "stupid": { + "active": 0, + "flagValue": -1 + }, + "sub": { + "active": 0, + "flagValue": -1 + }, + "todo": { + "active": 0, + "flagValue": -1 + }, + "unparam": { + "active": 0, + "flagValue": -1 + }, + "vars": { + "active": 0, + "flagValue": -1 + }, + "white": { + "active": 0, + "flagValue": -1 + } + }, + "kitAutoOutputPathRelativePath": "", + "kitAutoOutputPathReplace1": "", + "kitAutoOutputPathReplace2": "", + "kitAutoOutputPathStyle": 0, + "lessAllowInsecureImports": 0, + "lessAutoOutputPathRelativePath": "..\/css", + "lessAutoOutputPathReplace1": "less", + "lessAutoOutputPathReplace2": "css", + "lessAutoOutputPathStyle": 2, + "lessCreateSourceMap": 0, + "lessDisableJavascript": 0, + "lessIeCompatibility": 1, + "lessOutputStyle": 0, + "lessRelativeURLS": 0, + "lessStrictImports": 0, + "lessStrictMath": 0, + "lessStrictUnits": 0, + "markdownAutoOutputPathRelativePath": "", + "markdownAutoOutputPathReplace1": "", + "markdownAutoOutputPathReplace2": "", + "markdownAutoOutputPathStyle": 0, + "markdownEnableFootnotes": 0, + "markdownEnableSmartyPants": 1, + "markdownExpandTabs": 1, + "reloadFileURLs": 0, + "sassAutoOutputPathRelativePath": "..\/css", + "sassAutoOutputPathReplace1": "sass", + "sassAutoOutputPathReplace2": "css", + "sassAutoOutputPathStyle": 2, + "sassCreateSourceMap": 0, + "sassDebugStyle": 0, + "sassDecimalPrecision": 5, + "sassOutputStyle": 0, + "sassUseLibsass": 0, + "shouldRunAutoprefixer": 0, + "shouldRunBless": 0, + "skippedItemsString": ".svn, .git, .hg, log, _logs, _cache, cache, logs", + "slimAutoOutputPathRelativePath": "", + "slimAutoOutputPathReplace1": "", + "slimAutoOutputPathReplace2": "", + "slimAutoOutputPathStyle": 0, + "slimCompileOnly": 0, + "slimLogicless": 0, + "slimOutputStyle": 1, + "slimRailsCompatible": 0, + "stylusAutoOutputPathRelativePath": "..\/css", + "stylusAutoOutputPathReplace1": "stylus", + "stylusAutoOutputPathReplace2": "css", + "stylusAutoOutputPathStyle": 2, + "stylusDebugStyle": 0, + "stylusImportCSS": 0, + "stylusOutputStyle": 0, + "stylusResolveRelativeURLS": 0, + "typescriptAutoOutputPathRelativePath": "\/js", + "typescriptAutoOutputPathReplace1": "", + "typescriptAutoOutputPathReplace2": "", + "typescriptAutoOutputPathStyle": 2, + "typescriptCreateDeclarationFile": 0, + "typescriptCreateSourceMap": 0, + "typescriptMinifyOutput": 0, + "typescriptModuleType": 0, + "typescriptNoImplicitAny": 0, + "typescriptNoResolve": 0, + "typescriptRemoveComments": 0, + "typescriptTargetECMAVersion": 0, + "uglifyDefinesString": "", + "uglifyFlags2": { + "ascii-only": { + "active": 0, + "flagValue": -1 + }, + "booleans": { + "active": 1, + "flagValue": -1 + }, + "bracketize": { + "active": 0, + "flagValue": -1 + }, + "cascade": { + "active": 1, + "flagValue": -1 + }, + "comments": { + "active": 1, + "flagValue": -1 + }, + "comparisons": { + "active": 1, + "flagValue": -1 + }, + "compress": { + "active": 1, + "flagValue": -1 + }, + "conditionals": { + "active": 1, + "flagValue": -1 + }, + "dead_code": { + "active": 0, + "flagValue": -1 + }, + "drop_debugger": { + "active": 1, + "flagValue": -1 + }, + "eval": { + "active": 0, + "flagValue": -1 + }, + "evaluate": { + "active": 1, + "flagValue": -1 + }, + "hoist_funs": { + "active": 1, + "flagValue": -1 + }, + "hoist_vars": { + "active": 0, + "flagValue": -1 + }, + "if_return": { + "active": 1, + "flagValue": -1 + }, + "indent-level": { + "active": 0, + "flagValue": 4 + }, + "indent-start": { + "active": 0, + "flagValue": 0 + }, + "inline-script": { + "active": 0, + "flagValue": -1 + }, + "join_vars": { + "active": 1, + "flagValue": -1 + }, + "loops": { + "active": 1, + "flagValue": -1 + }, + "mangle": { + "active": 1, + "flagValue": -1 + }, + "max-line-len": { + "active": 1, + "flagValue": 32000 + }, + "properties": { + "active": 1, + "flagValue": -1 + }, + "quote-keys": { + "active": 0, + "flagValue": -1 + }, + "screw-ie8": { + "active": 0, + "flagValue": -1 + }, + "semicolons": { + "active": 1, + "flagValue": -1 + }, + "sequences": { + "active": 1, + "flagValue": -1 + }, + "sort": { + "active": 0, + "flagValue": -1 + }, + "space-colon": { + "active": 1, + "flagValue": -1 + }, + "toplevel": { + "active": 0, + "flagValue": -1 + }, + "unsafe": { + "active": 0, + "flagValue": -1 + }, + "unused": { + "active": 0, + "flagValue": -1 + }, + "warnings": { + "active": 0, + "flagValue": -1 + }, + "width": { + "active": 1, + "flagValue": 80 + } + }, + "uglifyReservedNamesString": "$", + "websiteRelativeRoot": "" + }, +"settingsFileVersion": "2" +} \ No newline at end of file diff --git a/wootique/functions/css/colorpicker.css b/wootique/functions/css/colorpicker.css new file mode 100755 index 0000000..8f66acc --- /dev/null +++ b/wootique/functions/css/colorpicker.css @@ -0,0 +1,177 @@ +.colorpicker { + width: 356px; + height: 176px; + overflow: hidden; + position: absolute; + background: url(../images/colorpicker/colorpicker_background.png); + font-family: Arial, Helvetica, sans-serif; + display: none; +} +.colorpicker_color { + width: 150px; + height: 150px; + left: 14px; + top: 13px; + position: absolute; + background: #f00; + overflow: hidden; + cursor: crosshair; +} +.colorpicker_color div { + position: absolute; + top: 0; + left: 0; + width: 150px; + height: 150px; + background: url(../images/colorpicker/colorpicker_overlay.png); +} +.colorpicker_color div div { + position: absolute; + top: 0; + left: 0; + width: 11px; + height: 11px; + overflow: hidden; + background: url(../images/colorpicker/colorpicker_select.gif); + margin: -5px 0 0 -5px; +} +.colorpicker_hue { + position: absolute; + top: 13px; + left: 171px; + width: 35px; + height: 150px; + cursor: n-resize; +} +.colorpicker_hue div { + position: absolute; + width: 35px; + height: 9px; + overflow: hidden; + background: url(../images/colorpicker/colorpicker_indic.gif) left top; + margin: -4px 0 0 0; + left: 0px; +} +.colorpicker_new_color { + position: absolute; + width: 60px; + height: 30px; + left: 213px; + top: 13px; + background: #f00; +} +.colorpicker_current_color { + position: absolute; + width: 60px; + height: 30px; + left: 283px; + top: 13px; + background: #f00; +} +.colorpicker input { + background-color: transparent; + border: 1px solid transparent; + position: absolute; + font-size: 10px; + font-family: Arial, Helvetica, sans-serif; + color: #898989; + top: 4px; + right: 11px; + text-align: right; + margin: 0; + padding: 0; + height: 12px; +} +.colorpicker_hex { + position: absolute; + width: 72px; + height: 22px; + background: url(../images/colorpicker/colorpicker_hex.png) top; + left: 212px; + top: 142px; +} +.colorpicker_hex input { + right: 6px; +} +.colorpicker_field { + height: 22px; + width: 62px; + background-position: top; + position: absolute; +} +.colorpicker_field span { + position: absolute; + width: 12px; + height: 22px; + overflow: hidden; + top: 0; + right: 0; + cursor: n-resize; +} +.colorpicker_rgb_r { + background-image: url(../images/colorpicker/colorpicker_rgb_r.png); + top: 52px; + left: 212px; +} +.colorpicker_rgb_g { + background-image: url(../images/colorpicker/colorpicker_rgb_g.png); + top: 82px; + left: 212px; +} +.colorpicker_rgb_b { + background-image: url(../images/colorpicker/colorpicker_rgb_b.png); + top: 112px; + left: 212px; +} +.colorpicker_hsb_h { + background-image: url(../images/colorpicker/colorpicker_hsb_h.png); + top: 52px; + left: 282px; +} +.colorpicker_hsb_s { + background-image: url(../images/colorpicker/colorpicker_hsb_s.png); + top: 82px; + left: 282px; +} +.colorpicker_hsb_b { + background-image: url(../images/colorpicker/colorpicker_hsb_b.png); + top: 112px; + left: 282px; +} +.colorpicker_submit { + position: absolute; + width: 22px; + height: 22px; + background: url(../images/colorpicker/colorpicker_submit.png) top; + left: 322px; + top: 142px; + overflow: hidden; +} +.colorpicker_focus { + background-position: center; +} +.colorpicker_hex.colorpicker_focus { + background-position: bottom; +} +.colorpicker_submit.colorpicker_focus { + background-position: bottom; +} +.colorpicker_slider { + background-position: bottom; +} + +.colorSelector { + position: relative; + width: 27px; + height: 27px; + background: url(../images/colorpicker/select.png); + float:left; +} +.colorSelector div { + position: absolute; + top: 4px; + left: 3px; + width: 21px; + height: 19px; + background: url(../images/colorpicker/select.png) center; +} \ No newline at end of file diff --git a/wootique/functions/css/jquery-ui-datepicker.css b/wootique/functions/css/jquery-ui-datepicker.css new file mode 100755 index 0000000..cdca788 --- /dev/null +++ b/wootique/functions/css/jquery-ui-datepicker.css @@ -0,0 +1,347 @@ +/* +* jQuery UI CSS Framework +* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +*/ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + + +/* +* jQuery UI CSS Framework +* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px +*/ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; } +.ui-widget-content a { color: #222222; } +.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; } +.ui-widget-header a { color: #222222; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(../images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; outline: none; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; outline: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #999999; background: #dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; } +.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; outline: none; } +.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; outline: none; text-decoration: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; } +.ui-state-error a, .ui-widget-content .ui-state-error a { color: #cd0a0a; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd0a0a; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(../images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(../images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(../images/ui-icons_222222_256x240.png); } +.ui-state-default .ui-icon { background-image: url(../images/ui-icons_888888_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(../images/ui-icons_454545_256x240.png); } +.ui-state-active .ui-icon {background-image: url(../images/ui-icons_454545_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(../images/ui-icons_2e83ff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(../images/ui-icons_cd0a0a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; } +.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; } +.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; } +.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } +.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; } +.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; }/* Datepicker +----------------------------------*/ +.ui-datepicker { width: 17em; padding: .2em .2em 0; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; } +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +} + +/* Icon Cursor Mouseover */ +img.ui-datepicker-trigger { cursor:pointer; } \ No newline at end of file diff --git a/wootique/functions/css/shortcode-generator.css b/wootique/functions/css/shortcode-generator.css new file mode 100755 index 0000000..f3824aa --- /dev/null +++ b/wootique/functions/css/shortcode-generator.css @@ -0,0 +1,119 @@ +/*----------------------------------------------------------------------------------- + +FILE INFORMATION + +Description: WooThemes shortcode generator CSS. +Date Created: 2011-01-21. +Author: Based on the work of the Shortcode Ninja plugin by VisualShortcodes.com. +Integration and Addons: Matty. +Since: 3.5.0 +Copyright 2010 (c) VisualShortcodes.com + + +TABLE OF CONTENTS + +0. Icon +1. Layout +2. Attributes Table +3. Validation +4. Column Control +5. Form Elements +-5.1 Colour Picker + +-----------------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------------- + 0. Icon +-----------------------------------------------------------------------------------*/ + +.mceIcon.mce_woothemes_shortcodes_button::before { + font-family: 'wooframework' !important; + content: "\e601"; + font-size: 0.9em; + speak: none; + font-weight: 400; + font-variant: normal; + text-transform: none; + -webkit-font-smoothing: antialiased; + margin: 0; + text-indent: 0; + position: absolute; + top: 4px; + left: 0; + width: 100%; + height: 100%; + text-align: center; + line-height: 1.2; +} + +/*----------------------------------------------------------------------------------- + 1. Layout +-----------------------------------------------------------------------------------*/ + +#woo-options-buttons { margin: -3px -15px 0; background: #EDEDED; padding: 12px 20px 8px; border-bottom: 1px solid #ddd; } +#woo-options {float: left; width: 380px; margin-right: 20px; position: relative; z-index: 2; } +#woo-options.shortcode-related, #woo-options.shortcode-column, #woo-options.shortcode-tab { width: 100%; } +#woo-options h3, #woo-preview h3, #woo-options-error h3 { border-bottom: 1px solid #E7E7E7; font-size: 13px; margin: 10px 0; padding: 7px 0; } +#woo-preview { width: 225px; position: relative; z-index: 2; } +#woo-preloader { position: absolute; } +.woo-loading { background: url( "../images/loading-bottom.gif") no-repeat scroll right center transparent; padding-right: 15px; } +#woo-options.shortcode-contactform { width: 100%; display: block; } +#woo-preview.shortcode-contactform { width: 100%; margin-top: -20px; display: block; } +#woo-preview.shortcode-contactform iframe { height: 530px!important; } + +/*----------------------------------------------------------------------------------- + 2. Attributes Table +-----------------------------------------------------------------------------------*/ + +#woo-options-table { border: 0px solid #DFDFDF; width: 100%; margin-bottom: 8px; } +#woo-options-table th { padding-top: 0.2em; } +#woo-options.shortcode-column th, #woo-options.shortcode-tab th { width: 20px; vertical-align: top; } +#woo-options-table td { vertical-align: middle; padding: 0 5px 10px 0; } +.woo-input-help { font-size: 11px; color: #999; font-style: italic; font-family: sans-serif; display: block; clear: both; } +.woo-input-help p { margin: 0; color: #888; font-size: 11px; } +abbr.woo-required { color: #FF0000; } + +/*----------------------------------------------------------------------------------- + 3. Validation +-----------------------------------------------------------------------------------*/ + +#woo-options-error p { margin: 0; } +#woo-options-error h4 { margin: 1.33em 0 0.8em 0; } +input.woo-required {} +.woo-validating { background: url( "../images/loading-bottom.gif") no-repeat scroll right center transparent; padding-right: 18px; } +.woo-validated { background: url( "../images/happy.png") no-repeat scroll right center transparent; padding-right: 15px; } +.woo-validation-error { background: url( "../images/ico-alert.png") no-repeat scroll right center transparent; padding-right: 15px; } + +/*----------------------------------------------------------------------------------- + 4. Column Control +-----------------------------------------------------------------------------------*/ + +div.column-button { border: 1px solid #333333; width: 100px; margin: 4px 0; text-align: center; } +input.column-button[disabled], input.column-button[disabled]:hover { background-color: #fff !important; color: #aaa; border: 1px solid #eee; } +input.column-button { float: left; clear: left; margin-top: 2px; border: 1px solid #777777; background-color: #EEEEEE !important; } +.rounded5p { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; } +#woo-column-text { border: 1px solid #AAAAAA; font-size: 22px; font-family: Sans-serif; padding: 5px 40px 5px 5px; } + +/*----------------------------------------------------------------------------------- + 5. Form Elements +-----------------------------------------------------------------------------------*/ + +#woo-options input[type=text], #woo-options select { margin-bottom: 4px; border-color: #CCCCCC #EEEEEE #EEEEEE #CCCCCC; border-style: solid; border-width: 1px; background-color: #FAFAFA; font-family: "Lucida Grande",Verdana,sans-serif;height: 28px; width: 280px; color: #555555; font-size: 12px; } +#woo-options.shortcode-related input[type=text] { width: 560px; } +#woo-options.shortcode-contactform label { width: 130px; } +#woo-options.shortcode-column label {} +#woo-options.shortcode-contactform input[type=text] { width: 483px; } +#woo-options input[type=text] { padding: 5px; -moz-border-radius: 4px 4px 4px 4px; } +#woo-options select { cursor: pointer; opacity: 0; padding: 0; position: relative; z-index: 4; padding: 5px; } +#woo-options-table label { width: 89px; text-align: right; padding: 6px 6px 0 0; font-weight: bold; font-size: 11px; line-height: 12px; color: #333333; display: block; } +label.woo-required span.required {padding: 0 0 0 2px; margin-top: -4px; font-size: smaller; color: #FF0000; } +#woo-options .select_wrapper { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; font-family: "Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif; font-size: 12px; background: #fafafa url(../images/select.png) no-repeat right center; border-color: #ccc #eee #eee #ccc; border-style: solid; border-width: 1px; float: left; height: 26px; width: 280px; margin: 0 0 4px; display: block; } +#woo-options .select_wrapper span { height: 26px; line-height: 26px; padding-left: 6px; position: absolute; z-index: 2; } + +/*----------------------------------------------------------------------------------- + -5.1 Colour Picker +-----------------------------------------------------------------------------------*/ + +#woo-options .woo-marker-colourpicker-control .colorSelector { margin-top: 1px; } +#woo-options .woo-marker-colourpicker-control input.input-colourpicker { float: right; width: 248px; } +#woo-options .woo-marker-colourpicker-control br { clear: both; } \ No newline at end of file diff --git a/wootique/functions/css/shortcode-icon.css b/wootique/functions/css/shortcode-icon.css new file mode 100755 index 0000000..a64e55a --- /dev/null +++ b/wootique/functions/css/shortcode-icon.css @@ -0,0 +1,15 @@ +/* Icon Font */ +@font-face { + font-family: 'wooframework'; + src: url('../assets/fonts/wooframework.eot'); + src: url('../assets/fonts/wooframework.eot?#iefix') format('embedded-opentype'), url('../assets/fonts/wooframework.woff') format('woff'), url('../assets/fonts/wooframework.ttf') format('truetype'), url('../assets/fonts/wooframework.svg#wooframework') format('svg'); + font-weight: normal; + font-style: normal; +} +.mce-i-wf-shortcode-icon:before { + font-family: 'wooframework' !important; + content: "\e601"; + font-size: 1.1em !important; + position: relative; + top: 1px; +} \ No newline at end of file diff --git a/wootique/functions/css/shortcodes.css b/wootique/functions/css/shortcodes.css new file mode 100755 index 0000000..c2fbdb7 --- /dev/null +++ b/wootique/functions/css/shortcodes.css @@ -0,0 +1,573 @@ +/*----------------------------------------------------------------------------------- + +TABLE OF CONTENTS: + +1. Info Boxes +2. Buttons +3. Columns +4. Tweetmeme +5. Twitter +6. Digg +7. Related Posts +8. Horizontal Rule +9. Quote +10. Icon Links +11. Facebook +12. Contact Form +13. Tabber +-13.1 Tabber Alternate Style - Boxed +-13.2 Tabber Alternate Style - Vertical +14. Dropcap +15. Content Toggle +-15.1 Toggle Alternate Style - White +16. Highlight and Abbreviation +17. List Styles - Unordered List +18. List Styles - Ordered List +19. Social Icon + +-----------------------------------------------------------------------------------*/ + +/*-------------------------------------------------------------------------------------------*/ +/* 1. Info Boxes */ +/*-------------------------------------------------------------------------------------------*/ +p.woo-sc-box, div.woo-sc-box {margin:1em 0 1.5em 0; padding:9px 10px 9px 50px; border-width:1px 0 1px 0; border-style:solid;color:#555;text-shadow:none;} +.woo-sc-box.none {border-width:0;} +.woo-sc-box.full {border-width:1px;} +.woo-sc-box.medium {padding:18px 20px 18px 50px; font-size:1.1em;} +.woo-sc-box.large {padding:25px 27px 25px 50px; font-size:1.2em; } +.woo-sc-box.rounded { -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; } +.woo-sc-box.alert { border-color:#f0baa2; background:#ffd9c8 url(../images/ico-alert.png) no-repeat 20px 45%; } +.woo-sc-box.download { border-color:#d4ebaf; background:#edfcd5 url(../images/ico-download.png) no-repeat 20px 45%; } +.woo-sc-box.tick { border-color:#d4ebaf; background:#edfcd5 url(../images/ico-tick.png) no-repeat 20px 45%; } +.woo-sc-box.info { border-color:#ccc; background:#eee url(../images/ico-info.png) no-repeat 20px 45%; } +.woo-sc-box.note { border-color:#efe3ae; background:#fef6d2 url(../images/ico-note.png) no-repeat 20px 45%; } +.woo-sc-box.normal { border-color:#ccc; background:#eee; padding:9px 15px;} + + +/*-------------------------------------------------------------------------------------------*/ +/* 2. Buttons */ +/*-------------------------------------------------------------------------------------------*/ +a.woo-sc-button { + font-family: sans-serif; + display: inline-block; + line-height: 1em; + padding: 6px 13px; + margin:0 .6em 1.5em 0; + border: 1px solid #4081af; + border-bottom-color: #20559a; + color: white !important; + text-align: center; + text-shadow: 0 -1px 0 hsla(0,0%,0%,.3); + text-decoration: none !important; + + /*Border radius*/ + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + + /*Background*/ + background-color: #237fd7; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #52a8e8), + color-stop(1, #2e76cf) + ); + background: -moz-linear-gradient( + center top, + #52a8e8 20%, + #2e76cf 100% + ); + + /*Box shadow*/ + -webkit-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + -moz-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; +} + +a.woo-sc-button.small { padding:2px 10px; font-size:0.9em;} +a.woo-sc-button.large { padding:7px 16px; font-size:1.4em;} +a.woo-sc-button.xl { padding:9px 20px; font-size:1.8em;} + +a.woo-sc-button:hover, +a.woo-sc-button.hover, +a.woo-sc-button.active { + text-decoration: none !important; + /*Background*/ + background: #0073d2; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #3e9ee5), + color-stop(1, #1666ca) + ); + background: -moz-linear-gradient( + center top, + #3e9ee5 20%, + #1666ca 100% + ); +} + +a.woo-sc-button:active, +a.woo-sc-button.active { + border-color: #20559a; + + /*Box shadow*/ + -webkit-box-shadow: inset 0 0 7px hsla(0,0%,0%,.3) /*Shine*/, + 0 1px 0 hsla(0, 100%, 100%, 1) /*Shadow*/; + -moz-box-shadow: inset 0 0 7px hsla(0,0%,0%,.3) /*Shine*/, + 0 1px 0 hsla(0, 100%, 100%, 1) /*Shadow*/; + box-shadow: inset 0 0 7px hsla(0,0%,0%,.3) /*Shine*/, + 0 1px 0 hsla(0, 100%, 100%, 1) /*Shadow*/; +} + +a.woo-sc-button.dark span { color:#555; text-shadow:0 1px #fff;} +a.woo-sc-button.custom:hover { opacity:0.85; } + +a.woo-sc-button span { line-height:1.2em; min-height: 16px; } +a.woo-sc-button span.woo-info { background:url( "../images/ico-info.png") no-repeat 0 45%; padding-left:25px; display:block; } +a.woo-sc-button span.woo-download { background:url( "../images/ico-download.png") no-repeat 0 45%; padding-left:25px; display:block; } +a.woo-sc-button span.woo-tick { background:url( "../images/ico-tick.png") no-repeat 0 45%; padding-left:25px; display:block; } +a.woo-sc-button span.woo-note { background:url( "../images/ico-note.png") no-repeat 0 45%; padding-left:25px; display:block; } +a.woo-sc-button span.woo-alert { background:url( "../images/ico-alert.png") no-repeat 0 45%; padding-left:25px; display:block; } + +a.woo-sc-button.red { + border-color: #af4040; border-bottom-color: #9a2020; background-color: #d72323; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e85252),color-stop(1, #cf2e2e)); + background: -moz-linear-gradient(center top,#e85252 20%,#cf2e2e 100%); +} +a.woo-sc-button.red:hover { + background: #d20000; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e53e3e),color-stop(1, #ca1616)); + background: -moz-linear-gradient(center top,#e53e3e 20%,#ca1616 100%); +} + +a.woo-sc-button.orange { + border-color: #af7440; border-bottom-color: #9a5420; background-color: #d76b23; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e88e52),color-stop(1, #cf6e2e)); + background: -moz-linear-gradient(center top,#e88e52 20%,#cf6e2e 100%); +} +a.woo-sc-button.orange:hover { + background: #d25e00; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e57d3e),color-stop(1, #ca5116)); + background: -moz-linear-gradient(center top,#e57d3e 20%,#ca5116 100%); +} + +a.woo-sc-button.green { + border-color: #87bf00; border-bottom-color: #7ca122; background-color: #8dc11e; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #ace53e),color-stop(1, #8dca16)); + background: -moz-linear-gradient(center top,#ace53e 20%,#6bca16 100%); +} +a.woo-sc-button.green:hover { + background: #87c000; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #a0d53a),color-stop(1, #60b513)); + background: -moz-linear-gradient(center top,#a0d53a 20%,#60b513 100%); +} + +a.woo-sc-button.aqua { + border-color: #40af96; border-bottom-color: #209a82; background-color: #23d7af; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #52e8c6),color-stop(1, #2ecfab)); + background: -moz-linear-gradient(center top,#52e8c6 20%,#2ecfab 100%); +} +a.woo-sc-button.aqua:hover { + background: #00d2a8; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #3ee5c0),color-stop(1, #16ca9e)); + background: -moz-linear-gradient(center top,#3ee5c0 20%,#16ca9e 100%); +} + +a.woo-sc-button.teal { + border-color: #23a6d6; border-bottom-color: #20799a; background-color: #23abd7; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #52c3e8),color-stop(1, #2eabcf)); + background: -moz-linear-gradient(center top,#52c3e8 20%,#2eabcf 100%); +} +a.woo-sc-button.teal:hover { + background: #009ed2; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #3ebce5),color-stop(1, #16a2ca)); + background: -moz-linear-gradient(center top,#3ebce5 20%,#16a2ca 100%); +} + +a.woo-sc-button.purple { + border-color: #234dd6; border-bottom-color: #20489a; background-color: #2356d7; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #526ee8),color-stop(1, #2e58cf)); + background: -moz-linear-gradient(center top,#526ee8 20%,#2e58cf 100%); +} +a.woo-sc-button.purple:hover { + background: #0036d2; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #3e5ae5),color-stop(1, #1638ca)); + background: -moz-linear-gradient(center top,#3e5ae5 20%,#1638ca 100%); +} + +a.woo-sc-button.pink { + border-color: #d623cb; border-bottom-color: #9a2096; background-color: #d723d5; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e852e6),color-stop(1, #cd2ecf)); + background: -moz-linear-gradient(center top,#e852e6 20%,#cd2ecf 100%); +} +a.woo-sc-button.pink:hover { + background: #bc00d2; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #c83ee5),color-stop(1, #ae16ca)); + background: -moz-linear-gradient(center top,#c83ee5 20%,#ae16ca 100%); +} + +a.woo-sc-button.silver { + color: #444 !important; + text-shadow:0 1px #fff; + border-color: #bbb; border-bottom-color: #999; background-color: #d8d8d8; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e9e9e9),color-stop(1, #ccc)); + background: -moz-linear-gradient(center top,#e9e9e9 20%,#ccc 100%); +} +a.woo-sc-button.silver:hover { + background: #ccc; + background: -webkit-gradient(linear,left top,left bottom,color-stop(.2, #e0e0e0),color-stop(1, #bebebe)); + background: -moz-linear-gradient(center top,#e0e0e0 20%,#bebebe 100%); +} + + +/*-------------------------------------------------------------------------------------------*/ +/* 3. Columns */ +/*-------------------------------------------------------------------------------------------*/ +.twocol-one{width:48%;} +.threecol-one{width:30.66%;} +.threecol-two{width:65.33%;} +.fourcol-one{width:22%;} +.fourcol-two{width:48%;} +.fourcol-three{width:74%;} +.fivecol-one{width:16.8%;} +.fivecol-two{width:37.6%;} +.fivecol-three{width:58.4%;} +.fivecol-four{width:78.4%;} +.sixcol-one{width:13.33%;} +.sixcol-two{width:30.66%;} +.sixcol-three{width:47.99%;} +.sixcol-four{width:65.33%;} +.sixcol-five{width:82.67%;} +.twocol-one,.threecol-one,.threecol-two,.fourcol-one,.fourcol-two,.fourcol-three,.fivecol-one,.fivecol-two,.fivecol-three,.fivecol-four,.sixcol-one,.sixcol-two,.sixcol-three,.sixcol-four,.sixcol-five{float:left;margin-right:4%;margin-bottom:4%;position:relative;} +.last{ clear:right; margin-right:0; } +@media only screen and (max-width: 768px) { + .twocol-one,.threecol-one,.threecol-two,.fourcol-one,.fourcol-two,.fourcol-three,.fivecol-one,.fivecol-two,.fivecol-three,.fivecol-four,.sixcol-one,.sixcol-two,.sixcol-three,.sixcol-four,.sixcol-five{margin-right: 0; width: 100% !important;} +} +.clear:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} + +/*-------------------------------------------------------------------------------------------*/ +/* 4. Tweetmeme */ +/*-------------------------------------------------------------------------------------------*/ +.woo-tweetmeme.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-tweetmeme.none { margin:0 0 1.5em 0; } +.woo-tweetmeme.right { margin:0 0 1.5em 1.5em; float:right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 5. Twitter */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-twitter.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-sc-twitter.none { margin:0 0 1.5em 0; } +.woo-sc-twitter.right { margin:0 0 1.5em 1.5em; float:right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 6. Digg */ +/*-------------------------------------------------------------------------------------------*/ +.woo-digg.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-digg.none { margin:0 0 1.5em 0; } +.woo-digg.right { margin:0 0 1.5em 1.5em; float:right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 7. Related posts */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-related-posts .thumbnail { float:left; margin:0 1em 1em 0;} +.woo-sc-related-posts li { clear:both; } + +/*-------------------------------------------------------------------------------------------*/ +/* 8. Horizontal Rule */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-hr { border-bottom:1px solid #e6e6e6; } +.woo-sc-hr, .woo-sc-divider { clear:both; display:block; margin-bottom:20px; padding-top:20px; width:100%; } +.woo-sc-divider.flat { padding:0; margin:0; } + +/*-------------------------------------------------------------------------------------------*/ +/* 9. Quote */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-quote p { margin: 1em 20px; padding: 0 0 0 55px; background: url(../images/quote.png) no-repeat 0 3px; font-family: serif; font-size: 1.2em; font-style: italic; color:#777; min-height: 32px; } +.woo-sc-quote.left { float:left; width:30%;} +.woo-sc-quote.right { float:right; width:30%;} +.woo-sc-quote.boxed { background: #f5f5f5; border-radius:6px;-moz-border-radius:6px;-webkit-border-radius:6px;} +.woo-sc-quote.boxed.left { margin: 0 1.5em 1em 0;} +.woo-sc-quote.boxed.right { margin: 0 0 1em 1.5em;} + +/*-------------------------------------------------------------------------------------------*/ +/* 10. Icon Links */ +/*-------------------------------------------------------------------------------------------*/ +.woo-sc-ilink { padding:0 0.3em; } +.woo-sc-ilink a { padding-left:20px; text-decoration: underline; display: inline-block; } +.woo-sc-ilink a:hover { text-decoration: none; } +.woo-sc-ilink .download { background: url(../images/ico-download.png) no-repeat left 40%; } +.woo-sc-ilink .tick { background: url(../images/ico-tick.png) no-repeat left 40%; } +.woo-sc-ilink .info { background: url(../images/ico-info.png) no-repeat left 40%; } +.woo-sc-ilink .note { background: url(../images/ico-note.png) no-repeat left 40%; } +.woo-sc-ilink .alert { background: url(../images/ico-alert.png) no-repeat left 40%; } + +/*-------------------------------------------------------------------------------------------*/ +/* 11. Facebook */ +/*-------------------------------------------------------------------------------------------*/ +.woo-fbshare.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-fbshare.none { margin:0 0 1.5em 0; } +.woo-fbshare.right { margin:0 0 1.5em 1.5em; float:right; } + +.woo-fblike.left { margin:0 1.5em 1.5em 0; float:left; } +.woo-fblike.none { margin:0 0 1.5em 0; } +.woo-fblike.right { margin:0 0 1.5em 1.5em; float:right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 12. Contact Form */ +/*-------------------------------------------------------------------------------------------*/ + +.contact-form .screenReader { left: -9999px; position: absolute; top: -9999px; } +.contact-form .forms {float:left;list-style:none;width:100%;margin:10px 0 0;} +.contact-form .forms p {clear:both;float:left;margin-bottom:18px;position:relative;width:100%} +.contact-form .forms label{cursor:pointer;display:block;float:left;font-weight:700;padding-right:20px;width:100px;} +.contact-form .forms input.txt{width:214px;} +.contact-form .forms input#sendCopy{border:none;} +.contact-form .forms textarea{height:300px;width:400px;} +.contact-form .forms .error{font-size:12px;display:block;margin-left:120px;color:red;} +.contact-form .forms .textarea .error{display:block; margin-left:120px} +.contact-form .forms .screenReader{margin-bottom:0;} +.contact-form .forms .buttons .submit{margin: 15px 0 0 120px; cursor:pointer; } +.contact-form .forms .inline input{width:auto;margin-left:120px;} +.contact-form .forms .inline label{display:inline;float:none;width:auto;} +.entry .contact-form ol.forms li { list-style: none; } /* Added to accomodate the contact form shortcode */ + +.contact-form .submit { + display: inline-block; + margin: 5px; + padding: 3px 13px; + border: 1px solid #4081af; + border-bottom-color: #20559a; + color: white !important; + text-align: center; + text-shadow: 0 -1px 0 hsla(0,0%,0%,.3); + text-decoration: none; + + /*Border radius*/ + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + + /*Background*/ + background: #237fd7; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #52a8e8), + color-stop(1, #2e76cf) + ); + background: -moz-linear-gradient( + center top, + #52a8e8 20%, + #2e76cf 100% + ); + + /*Box shadow*/ + -webkit-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + -moz-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; +} + +.contact-form .submit:hover { + text-decoration: none !important; + /*Background*/ + background: #0073d2; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #3e9ee5), + color-stop(1, #1666ca) + ); + background: -moz-linear-gradient( + center top, + #3e9ee5 20%, + #1666ca 100% + ); +} + +/*-------------------------------------------------------------------------------------------*/ +/* 13. Tabber */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-tabs { background:#f0f0f0; background:rgba(0,0,0,.05); clear: both; height:auto; display: block; padding:5px; margin-bottom:30px; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; } +.shortcode-tabs ul.tab_titles { padding:0px; background:none; border:none; margin:0;} +.shortcode-tabs ul.tab_titles li.nav-tab { background:none; padding:0; float: left; display:inline; color: #ffffff; margin: 0 5px 0 0; cursor: pointer; } +.shortcode-tabs ul.tab_titles li.nav-tab.ui-state-active a, .shortcode-tabs ul.tab_titles li.nav-tab a:hover { background:#fff; text-decoration:none; outline: none; } +.shortcode-tabs ul.tab_titles li.nav-tab a { color:#777; display: block;float: left;padding: 8px; text-transform:uppercase; font:11px/18px sans-serif; } +.shortcode-tabs ul.tab_titles li.nav-tab.ui-tabs-selected a, .shortcode-tabs ul.tab_titles li.nav-tab a:hover { -moz-border-radius-topright:3px; -moz-border-radius-topleft:3px;-webkit-border-top-right-radius: 3px; -webkit-border-top-left-radius:3px; border-top-right-radius:3px; border-top-left-radius:3px; } +.shortcode-tabs .tab { background:#fff; padding:10px; text-align: left; clear: both; } +.shortcode-tabs .tab li.nav-tab { background:#fff; } +.shortcode-tabs .tab ul.tab_titles { margin:0; border: 1px solid #e6e6e6; border-width:1px 0 1px 0; } +.shortcode-tabs .tab li.nav-tab { border:1px solid #e6e6e6; border-width:0 1px 1px 1px; padding:10px; } +.shortcode-tabs .tab li.nav-tab a { color:#555; font:bold 12px/18px sans-serif; } +.shortcode-tabs .tab a:hover {} +.shortcode-tabs .ui-tabs-hide { display: none; } + +/*-------------------------------------------------------------------------------------------*/ +/* -13.1 Tabber Alternate Style - Boxed */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-tabs.boxed { background: #FFFFFF; } + .shortcode-tabs.boxed ul.tab_titles { clear: both; float: left; background:none; border:none; border-left: 1px solid #EBEBEB; margin-bottom: 0px; position: relative; z-index: 2; } + .shortcode-tabs.boxed ul.tab_titles li { background: #EBEBEB; padding:0; border-top: 1px solid #EBEBEB; border-right: 1px solid #EBEBEB; margin-right: 0; } + .shortcode-tabs.boxed ul.tab_titles li.ui-state-active { background: #FFFFFF; border-bottom: 1px solid #FFFFFF; } + .shortcode-tabs.boxed .tab { border: 1px solid #EBEBEB; top: -2px; position: relative; z-index: 1; } + +/*-------------------------------------------------------------------------------------------*/ +/* -13.2 Tabber Alternate Style - Vertical */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-tabs.vertical { background: #FFFFFF; } + .shortcode-tabs.vertical .tab_header { border: 1px solid #F0F0F0; border-bottom: 0px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; width: 25%; float: left; margin-bottom: -5px; color:#555; font:bold 12px/18px sans-serif; } + .shortcode-tabs.vertical .tab_header { + + /* Gradient Background */ + background: #f5f5f5; + background: -moz-linear-gradient(100% 100% 90deg, #f5f5f5, #fff); + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#f5f5f5)); + + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + -moz-border-radius-bottomright: 0px; + -moz-border-radius-bottomleft: 0px; + -webkit-border-bottom-left-radius: 0px; + -webkit-border-bottom-right-radius: 0px; + + } + .shortcode-tabs.vertical .tab_header span { display: block; padding: 8px 8px 12px 8px; border: 1px solid #EBEBEB; } + .shortcode-tabs.vertical ul.tab_titles { clear: left; float: left; background:none; border: 1px solid #F0F0F0; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; margin-bottom: 0px; position: relative; z-index: 2; width: 25%; } + .shortcode-tabs.vertical ul.tab_titles.has_title { border-top: 0px !important; margin-top: 5px; } + .shortcode-tabs.vertical ul.tab_titles.has_title { + + border-top-left-radius: 0px; + border-top-right-radius: 0px; + -moz-border-radius-topright: 0px; + -moz-border-radius-topleft: 0px; + -webkit-border-top-left-radius: 0px; + -webkit-border-top-right-radius: 0px; + + } + .shortcode-tabs.vertical ul.tab_titles li { clear: both; background:none; padding:0; border-bottom: 1px solid #EBEBEB; border-left: 1px solid #EBEBEB; border-right: 1px solid #EBEBEB; display: block !important; float: none !important; margin-right: 0; } + .shortcode-tabs.vertical ul.tab_titles li.ui-state-active {} + .shortcode-tabs.vertical ul.tab_titles li.ui-state-active a { background: #F0F0F0; background: rgba(0,0,0,.05); } + .shortcode-tabs.vertical ul.tab_titles li a:link { display: block; float: none !important; } + .shortcode-tabs.vertical ul.tab_titles li a:hover { background: #F0F0F0; background: rgba(0,0,0,.05); } + .shortcode-tabs.vertical .tab { clear: right !important; top: 5px; position: relative; z-index: 1; margin-left: 30%; padding: 0px; } + + +/* Responsive Tweaks for the Vertical Tabber */ +@media only screen and (max-width: 767px) { + .shortcode-tabs.vertical .ui-tabs-nav{ + clear: both !important; + display: block !important; + width: 100% !important; + margin-bottom: 30px!important; + } + .shortcode-tabs.vertical .ui-tabs-nav li { + float: left!important; + clear: none!important; + } + .shortcode-tabs.vertical .tab { + margin-left: 0!important; + } +} + +/*-------------------------------------------------------------------------------------------*/ +/* 14. Dropcap */ +/*-------------------------------------------------------------------------------------------*/ + +span.dropcap { font-size: 300%; font-weight: bold; float: left; position: relative; margin:5px 7px 0 0; line-height: 0.7em; } + +/*-------------------------------------------------------------------------------------------*/ +/* 15. Content Toggle */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-toggle { margin: 0 0 1.2em;} +.shortcode-toggle h4 {margin: 0;} +.shortcode-toggle h4 a { display: block; padding: 3px 0 3px 10px; background: #f3f3f3 url(../images/shortcode-toggle-close.png) no-repeat 99% center; } +.shortcode-toggle.closed h4 a { background-image: url(../images/shortcode-toggle-open.png); } +.shortcode-toggle .toggle-content { padding: 10px 10px; background: #f9f9f9; } +.shortcode-toggle.closed .toggle-content, .shortcode-toggle .more-text.closed { display: none; } +.shortcode-toggle .more-text.open { display: block; } +.shortcode-toggle.border { border: 1px solid #EBEBEB; } + +/*-------------------------------------------------------------------------------------------*/ +/* -15.1 Content Toggle Alternate Style - White */ +/*-------------------------------------------------------------------------------------------*/ + +.shortcode-toggle.white h4 a { background-color: #FFFFFF; } +.shortcode-toggle.white .toggle-content { background-color: #FFFFFF; } + +/*-------------------------------------------------------------------------------------------*/ +/* 16. Highlight and Abbreviation */ +/*-------------------------------------------------------------------------------------------*/ + +span.shortcode-highlight { background: #FFFFAA; padding: 3px 3px 1px; } + +abbr { border-bottom: 1px dashed #999999; cursor: help; } + +/*-------------------------------------------------------------------------------------------*/ +/* 17. List Styles - Unordered List */ +/*-------------------------------------------------------------------------------------------*/ + +.entry .shortcode-unorderedlist ul li, .shortcode-unorderedlist ul li, .entry .shortcode-unorderedlist ul li ul, .shortcode-unorderedlist ul li ul { + list-style-type: none; + padding-left:25px; +} + +.entry .shortcode-unorderedlist.tick ul li, .shortcode-unorderedlist.tick ul li { background: url(../images/shortcode-tick.png) no-repeat left top; } +.entry .shortcode-unorderedlist.red-x ul li, .shortcode-unorderedlist.red-x ul li { background: url(../images/shortcode-red-x.png) no-repeat left top; } +.entry .shortcode-unorderedlist.bullet ul li, .shortcode-unorderedlist.bullet ul li { background: url(../images/shortcode-bullet.png) no-repeat left top; } +.entry .shortcode-unorderedlist.green-dot ul li, .shortcode-unorderedlist.green-dot ul li { background: url(../images/shortcode-green-dot.png) no-repeat left top; } +.entry .shortcode-unorderedlist.arrow ul li, .shortcode-unorderedlist.arrow ul li { background: url(../images/shortcode-arrow.png) no-repeat left top; } +.entry .shortcode-unorderedlist.star ul li, .shortcode-unorderedlist.star ul li { background: url(../images/shortcode-star.png) no-repeat left top; } + +/*-------------------------------------------------------------------------------------------*/ +/* 18. List Styles - Ordered List */ +/*-------------------------------------------------------------------------------------------*/ + +.entry .shortcode-orderedlist ol li, .entry .shortcode-orderedlist ol li ol, .shortcode-orderedlist ol li { + list-style-type: none; + margin-left: 25px; +} + +.entry .shortcode-orderedlist.armenian ol li, .shortcode-orderedlist.armenian ol li { list-style-type: armenian; } +.entry .shortcode-orderedlist.decimal ol li, .shortcode-orderedlist.decimal ol li { list-style-type: decimal; } +.entry .shortcode-orderedlist.decimal-leading-zero ol li, .shortcode-orderedlist.decimal-leading-zero ol li { list-style-type: decimal-leading-zero; } +.entry .shortcode-orderedlist.georgian ol li, .shortcode-orderedlist.georgian ol li { list-style-type: georgian; } +.entry .shortcode-orderedlist.lower-alpha ol li, .shortcode-orderedlist.lower-alpha ol li { list-style-type: lower-alpha; } +.entry .shortcode-orderedlist.lower-greek ol li, .shortcode-orderedlist.lower-greek ol li { list-style-type: lower-greek; } +.entry .shortcode-orderedlist.lower-latin ol li, .shortcode-orderedlist.lower-latin ol li { list-style-type: lower-latin; } +.entry .shortcode-orderedlist.lower-roman ol li, .shortcode-orderedlist.lower-roman ol li { list-style-type: lower-roman; } +.entry .shortcode-orderedlist.upper-alpha ol li, .shortcode-orderedlist.upper-alpha ol li { list-style-type: upper-alpha; } +.entry .shortcode-orderedlist.upper-latin ol li, .shortcode-orderedlist.upper-latin ol li { list-style-type: upper-latin; } +.entry .shortcode-orderedlist.upper-roman ol li, .shortcode-orderedlist.upper-roman ol li { list-style-type: upper-roman; } + +/*-------------------------------------------------------------------------------------------*/ +/* 19. Social Icon */ +/*-------------------------------------------------------------------------------------------*/ + +img.social-icon { border: none; } \ No newline at end of file diff --git a/wootique/functions/css/tumblog.css b/wootique/functions/css/tumblog.css new file mode 100755 index 0000000..9a25114 --- /dev/null +++ b/wootique/functions/css/tumblog.css @@ -0,0 +1,146 @@ +/* +* Tumblog CSS +*/ + +/* Editor Styling +----------------------------------*/ + +#tumblog-menu { margin: 10px 0 0; padding: 0 0 0 0; } +#tumblog-menu a { margin: 0 5px 5px 0; background-color: #f1f1f1!important; border:1px solid #dcdcdc; line-height: 40px; padding: 6px 10px 6px 0; -moz-border-radius-bottomleft:4px; -moz-border-radius-bottomright:4px; -moz-border-radius-topleft:4px; -moz-border-radius-topright:4px; } +#tumblog-menu a:hover { background-color: #e7e7e7!important; } +#tumblog-menu #articles-menu-button { padding-left: 33px; background: url(../images/btn-tumblog-note.png) no-repeat 10px center; } +#tumblog-menu #images-menu-button { padding-left: 39px; background: url(../images/btn-tumblog-image.png) no-repeat 10px center; } +#tumblog-menu #links-menu-button { padding-left: 44px; background: url(../images/btn-tumblog-link.png) no-repeat 10px center; } +#tumblog-menu #audio-menu-button { padding-left: 28px; background: url(../images/btn-tumblog-audio.png) no-repeat 10px center; } +#tumblog-menu #videos-menu-button { padding-left: 36px; background: url(../images/btn-tumblog-video.png) no-repeat 10px center; } +#tumblog-menu #quotes-menu-button { padding-left: 41px; background: url(../images/btn-tumblog-quote.png) no-repeat 10px center; } +#tumblog-menu #chat-menu-button { padding-left: 26px; display: none; } + +#tumblog-post { position: relative; } +#tumblog-post h4 { font-family: "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif; font-weight: bold; } +#article-fields, #video-fields, #image-fields, #link-fields, #audio-fields, #quote-fields, #tag-fields { margin: 15px 0 0 0; } +#article-fields input, #video-fields input, #image-fields input, #link-fields input, #audio-fields input, #quote-fields input, +#article-fields textarea, #video-fields textarea, #image-fields textarea, #link-fields textarea, #audio-fields textarea, #quote-fields textarea, #tag-fields input { +margin: 4px 0 13px 0; cursor: pointer; +-moz-border-radius-bottomleft:4px; +-moz-border-radius-bottomright:4px; +-moz-border-radius-topleft:4px; +-moz-border-radius-topright:4px; border: 1px solid #DFDFDF!important; +width: 100%; } + +#article-fields input, #video-fields input, #image-fields input, #link-fields input, #audio-fields input, #quote-fields input, #tag-fields input { padding-top: 6px; padding-bottom: 3px; } + +#tumblog-post h4 label { padding: 0 20px 0 0; } +#tumblog-post h4 #image-url-button, #tumblog-post h4 #image-upload-button, #tumblog-post h4 #audio-url-button, #tumblog-post h4 #audio-upload-button { padding: 0 0 0 20px; font-family: Georgia, serif; font-style: italic; font-weight: normal;} + +#ajax-loader { position: absolute; top: 10px; right: 10px; } +#tumblog-post .error { display: block; padding-top: 8px; padding-bottom: 8px; font-weight: bold; } +#tumblog-post .success { -moz-border-radius-bottomleft:3px; +-moz-border-radius-bottomright:3px; +-moz-border-radius-topleft:3px; +-moz-border-radius-topright:3px; background-color: #c5f0bf; border: 1px solid #2b931d; display: block; padding-left: 10px; padding-top: 8px; padding-bottom: 8px; font-weight: bold; } + +#content-fields { margin: 0 0 10px 0; } + +#image_upload_button, #audio_upload_button { +cursor: pointer!important; width: 200px!important; +} + +.hide-fields { +display: none; +} + +#quicktags { +background-color:#DFDFDF; +border-color:#DFDFDF; +} +#ed_toolbar input { +border-color:#C3C3C3; +} +#ed_toolbar input:hover { +-moz-background-clip:border; +-moz-background-inline-policy:continuous; +-moz-background-origin:padding; +background:#DDDDDD none repeat scroll 0 0; +border-color:#AAAAAA; +} +#content-fields .wp_themeSkin .mceStatusbar { +border-color:#EDEDED; +} +#content-fields #edButtonPreview, #content-fields #edButtonHTML { +background-color:#F1F1F1; +border-color:#DFDFDF; +color:#999999; +} +#content-fields #editor-toolbar .active { +background-color:#E9E9E9; +border-bottom-color:#E9E9E9; +color:#333333; +} + +#content-fields #add-media-button { +float:right; +margin:7px 0 0; +position:relative; +right:10px; +} +#content-fields #editor-toolbar { +height:30px; +} +.wp_themeSkin tr.mceFirst td.mceToolbar { +border-style:none none solid; +border-width:0 0 1px; +} +#edButtonPreview, #edButtonHTML { +-moz-border-radius-bottomleft:0; +-moz-border-radius-bottomright:0; +-moz-border-radius-topleft:3px; +-moz-border-radius-topright:3px; +border-style:solid; +border-width:1px; +cursor:pointer; +float:right; +height:18px; +margin:5px 5px 0 0; +padding:4px 5px 2px; +} +.js .theEditor { +color:white; +} +#content-fields #edButtonHTML { +margin-right:15px; +} +#media-buttons { +cursor:default; +padding:8px 8px 0; +} +#media-buttons a { +cursor:pointer; +padding:0 0 5px 10px; +} +#media-buttons img, #submitpost #ajax-loading { +vertical-align:middle; +} + +.tumblog-title { +-moz-border-radius-bottomleft:6px; +-moz-border-radius-bottomright:6px; +-moz-border-radius-topleft:6px; +-moz-border-radius-topright:6px; +border-style:solid; +border-width:1px; +font-size:1.7em; +outline-color:-moz-use-text-color; +outline-style:none; +outline-width:medium; +padding:3px 4px; +width:100%; +} + +.editorwidth { width:100% !important; } + +.hide-cat { display:none; } + +#advanced-options-toggle { float:right; cursor:pointer; } + +.tumblog-time { width:30px; } \ No newline at end of file diff --git a/wootique/functions/css/woo-custom-fields.css b/wootique/functions/css/woo-custom-fields.css new file mode 100755 index 0000000..fee10a1 --- /dev/null +++ b/wootique/functions/css/woo-custom-fields.css @@ -0,0 +1,106 @@ +/*------------------------------------------------------------------------------------- + +TABLE OF CONTENTS + +0. Tab Styling +0.1 Tab Icons +1. General Field Styling +2. Fields Table Layout +3. "Image" Selectors +4. "DatePicker" Fields +5. "Upload" Fields +6. "Timestamp" Fields + +-------------------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------------*/ +/* 0. Tab Styling */ +/*-----------------------------------------------------------------------------------*/ + +.wooframework-tabs, +#woothemes-settings .ui-tabs.ui-widget-content, +#woothemes-settings .ui-tabs-panel.ui-widget-content, +#woothemes-settings .ui-tabs .ui-state-default, +#woothemes-settings .ui-tabs .ui-widget-content .ui-state-default { border: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } +.wooframework-tabs .ui-tabs-nav li { display: inline; margin: 5px 0; padding: 5px; } +#woothemes-settings .ui-tabs-hide { display: none !important; } +#woothemes-settings .wooframework-tabs .ui-tabs-nav { background:#eaeaea;padding:3px 9px 0;margin:0;overflow:hidden;zoom:1;line-height:1em;-webkit-box-shadow:inset 0 -1px 0 0 #d5d5d5;-moz-box-shadow:inset 0 -1px 0 0 x #d5d5d5;box-shadow:inset 0 -1px 0 0 #d5d5d5; } +.wooframework-tabs .ui-tabs-nav li { float:left;padding:0;margin:0 5px 0 0; } +.wooframework-tabs .ui-tabs-nav li a { padding:0;margin:0;border:0;border:1px solid #d5d5d5;border-bottom:0;float:left;padding:9px 9px;text-decoration:none;color:#555;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;-webkit-box-shadow:inset 0 1px 0 1px rgba(255, 255, 255, 0.5);-moz-box-shadow:inset 0 1px 0 1px rgba(255, 255, 255, 0.5);box-shadow:inset 0 1px 0 1px rgba(255, 255, 255, 0.5); } +.wooframework-tabs .ui-tabs-nav li.ui-state-active {} +#woothemes-settings .wooframework-tabs .ui-tabs-nav li.ui-state-active a { background-color:#F8F8F8;color:#555; } +#woothemes-settings.postbox .inside, .ui-tabs .ui-widget-content { background: #F8F8F8; padding: 0; margin: 0; } + +/*-----------------------------------------------------------------------------------*/ +/* 0.1 Tab Icons */ +/*-----------------------------------------------------------------------------------*/ + +#woothemes-settings .wooframework-tabs .tabber li a { background-image: url(../images/wf-tab-icons.png); background-color: #ececec; background-repeat: no-repeat; background-position: 9px 9px; } +#woothemes-settings .wooframework-tabs .tabber li.wf-tab-general a { background-position: 9px 9px; padding-left: 30px; } +#woothemes-settings .wooframework-tabs .tabber li.wf-tab-seo a { background-position: -289px -40px; padding-left: 30px; } + +/*-----------------------------------------------------------------------------------*/ +/* 1. General Field Styling */ +/*-----------------------------------------------------------------------------------*/ + +.woo_input_text { margin: 0 0 10px 0; background: #f4f4f4; color: #444; width: 80%; font-size: 11px; padding: 5px; } +.woo_input_select { margin: 0 0 10px 0; background: #f4f4f4; color: #444; width: 60%; font-size: 11px; padding: 5px; } +.woo_input_checkbox { margin: 0 10px 0 0; } +.woo_input_radio { margin: 0 10px 0 0; } +.woo_input_radio_desc { font-size: 12px; color: #666; } +.woo_input_calendar { margin: 0 0 10px 0; } +.woo_input_textarea { width: 80%; height: 120px; margin: 0 0 10px 0; background: #f0f0f0; color: #444;font-size: 11px; padding: 5px; } + +/*-----------------------------------------------------------------------------------*/ +/* 2. Fields Table Layout */ +/*-----------------------------------------------------------------------------------*/ + +.woo_spacer { display: block; height: 5px; } +.woo_metabox_desc { font-size: 10px; color: #aaa; display: block; } +.woo_metaboxes_table{ border-collapse: collapse; width: 100%; } +.woo_metaboxes_table th { font-size: 12px; font-family: sans-serif; color: #222222; } +.woo_metaboxes_table th, +.woo_metaboxes_table td { border-bottom: 1px solid #ddd; padding: 10px 10px; text-align: left; vertical-align: top; } +.woo_metaboxes_table .last th, .woo_metaboxes_table .last td { border: 0; } +.woo_metabox_names { width: 20%; } +.woo_metabox_fields { width: 70%; } + +/*-----------------------------------------------------------------------------------*/ +/* 3. "Image" Selectors */ +/*-----------------------------------------------------------------------------------*/ + +.woo-meta-radio-img-img { border: 3px solid #dedede; margin: 0 5px 10px 0; display: none; cursor: pointer; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } +.woo-meta-radio-img-img:hover, .woo-meta-radio-img-selected { border: 3px solid #aaa; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } +.woo-meta-radio-img-label { font-size: 12px; } +.woo_metabox_desc span.counter { color: green !important; } +.woo_metabox_image { text-align: right; } +.woo_red_note { margin-left: 5px; color: #c77; font-size: 10px; } + +/*-----------------------------------------------------------------------------------*/ +/* 4. "DatePicker" Fields */ +/*-----------------------------------------------------------------------------------*/ + +.woo-field-type-calendar img.ui-datepicker-trigger { margin: 0 0 0 5px; top: 3px; position: relative; } + +/*-----------------------------------------------------------------------------------*/ +/* 5. "Upload" Fields */ +/*-----------------------------------------------------------------------------------*/ + +.woo_metabox_fields .controls input.upload { width: 280px; padding-bottom: 6px; } +.woo_metabox_fields .controls input.upload_button { float: right; width: auto; border-color: #BBBBBB; cursor: pointer; height: 16px; } +.woo_metabox_fields .controls input.upload_button:hover { width: auto; border-color: #666666; color: #000; } +.woo_metabox_fields .screenshot { margin: 10px 0; float: left; margin-left: 1px; position: relative; width: 344px; } +.woo_metabox_fields .screenshot img { -moz-border-radius: 4px; -webkit-border-radius: 4px; -border-radius: 4px; background: #FAFAFA; float: left; max-width: 334px; border-color: #CCC #EEE #EEE #CCC; border-style: solid; border-width: 1px; padding: 4px; } +.woo_metabox_fields .screenshot .mlu_remove{ background: url( '../images/ico-delete.png' ) no-repeat scroll 0 0 transparent; border: medium none; bottom: -4px; display: block; float: left; height: 16px; position: absolute; left: -4px; text-indent: -9999px; width: 16px; padding: 0; } +.woo_metabox_fields .upload { background: none repeat scroll 0 0 #F4F4F4; color: #444444; font-size: 11px; margin: 0 0 10px; padding: 5px; width: 70%; } +.woo_metabox_fields .upload_button { -moz-border-radius: 4px; -webkit-border-radius: 4px;-border-radius: 4px; } +.woo_metabox_fields .screenshot .no_image .file_link { margin-left: 20px; } +.woo_metabox_fields .screenshot .no_image .mlu_remove { bottom: 0px; } + +/*-----------------------------------------------------------------------------------*/ +/* 6. "Timestamp" Fields */ +/*-----------------------------------------------------------------------------------*/ + +.woo-field-type-timestamp img.ui-datepicker-trigger { margin: 0 0 0 5px; top: 6px; right: 6px; position: relative; float: left; } +.woo-field-type-timestamp .woo_metabox_desc { margin-top: 5px; } +.woo-field-type-timestamp .woo-timestamp-at { position: relative; top: 2px; } \ No newline at end of file diff --git a/wootique/functions/deprecated.php b/wootique/functions/deprecated.php new file mode 100755 index 0000000..5783116 --- /dev/null +++ b/wootique/functions/deprecated.php @@ -0,0 +1,1372 @@ +' . "\n"; + + $output .= '
                      ' . "\n"; + if ( $display_general_fields ) { + $output .= '
                    • ' . __( 'General Settings', 'woothemes' ) . '
                    • ' . "\n"; + } + + // Allow themes/plugins to add tabs to WooFramework custom fields. + $output .= apply_filters( 'wooframework_custom_field_tab_headings', '' ); + $output .= '
                    ' . "\n"; + } + + if ( $display_general_fields ) { + $output .= woothemes_metabox_create_fields( $woo_metaboxes, $callback, 'general' ); + + } + + // Allow themes/plugins to add tabs to WooFramework custom fields. + $output = apply_filters( 'wooframework_custom_field_tab_content', $output ); + + $output .= '
                    ' . "\n"; + + echo $output; +} // End woothemes_metabox_create() + +/** + * woothemes_metabox_create_fields() + * + * Create markup for custom fields based on the given arguments. + * + * @access public + * @since 5.3.0 + * @param array $metaboxes + * @param array $callback + * @param string $token (default: 'general') + * @return string $output + */ +function woothemes_metabox_create_fields ( $metaboxes, $callback, $token = 'general' ) { + _deprecated_function( 'woothemes_metabox_create_fields', '6.0.0', __( 'an instance of the WF_Fields_Meta class', 'woothemes' ) ); + global $post; + + if ( ! is_array( $metaboxes ) ) { return; } + + // $template_to_show = $callback['args']; + $template_to_show = $token; + + $output = ''; + + $output .= '
                    ' . "\n"; + $output .= ''."\n"; + foreach ( $metaboxes as $k => $woo_metabox ) { + + // Setup CSS classes to be added to each table row. + $row_css_class = 'woo-custom-field'; + if ( ( $k + 1 ) == count( $metaboxes ) ) { $row_css_class .= ' last'; } + + $woo_id = 'woothemes_' . $woo_metabox['name']; + $woo_name = $woo_metabox['name']; + + if ( function_exists( 'woothemes_content_builder_menu' ) ) { + $metabox_post_type_restriction = $woo_metabox['cpt'][$post->post_type]; + } else { + $metabox_post_type_restriction = 'undefined'; + } + + if ( ( $metabox_post_type_restriction != '' ) && ( $metabox_post_type_restriction == 'true' ) ) { + $type_selector = true; + } elseif ( $metabox_post_type_restriction == 'undefined' ) { + $type_selector = true; + } else { + $type_selector = false; + } + + $woo_metaboxvalue = ''; + + if ( $type_selector ) { + + if( isset( $woo_metabox['type'] ) && ( in_array( $woo_metabox['type'], woothemes_metabox_fieldtypes() ) ) ) { + + $woo_metaboxvalue = get_post_meta($post->ID,$woo_name,true); + + } + + // Make sure slashes are stripped before output. + foreach ( array( 'label', 'desc', 'std' ) as $k ) { + if ( isset( $woo_metabox[$k] ) && ( $woo_metabox[$k] != '' ) ) { + $woo_metabox[$k] = stripslashes( $woo_metabox[$k] ); + } + } + + if ( $woo_metaboxvalue == '' && isset( $woo_metabox['std'] ) ) { + + $woo_metaboxvalue = $woo_metabox['std']; + } + + // Add a dynamic CSS class to each row in the table. + $row_css_class .= ' woo-field-type-' . strtolower( $woo_metabox['type'] ); + + if( $woo_metabox['type'] == 'info' ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + elseif( $woo_metabox['type'] == 'text' ) { + + $add_class = ''; $add_counter = ''; + if($template_to_show == 'seo'){$add_class = 'words-count'; $add_counter = '0 characters, 0 words';} + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + + elseif ( $woo_metabox['type'] == 'textarea' ) { + + $add_class = ''; $add_counter = ''; + if( $template_to_show == 'seo' ){ $add_class = 'words-count'; $add_counter = '0 characters, 0 words'; } + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + + elseif ( $woo_metabox['type'] == 'calendar' ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + + elseif ( $woo_metabox['type'] == 'time' ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + + elseif ( $woo_metabox['type'] == 'time_masked' ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + + elseif ( $woo_metabox['type'] == 'select' ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + } + elseif ( $woo_metabox['type'] == 'select2' ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + } + + elseif ( $woo_metabox['type'] == 'checkbox' ){ + + if( $woo_metaboxvalue == 'true' ) { $checked = ' checked="checked"'; } else { $checked=''; } + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + } + + elseif ( $woo_metabox['type'] == 'radio' ) { + + $array = $woo_metabox['options']; + + if( $array ) { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + } + } elseif ( $woo_metabox['type'] == 'images' ) { + + $i = 0; + $select_value = ''; + $layout = ''; + + foreach ( $woo_metabox['options'] as $key => $option ) { + $i++; + + $checked = ''; + $selected = ''; + if( $woo_metaboxvalue != '' ) { + if ( $woo_metaboxvalue == $key ) { $checked = ' checked'; $selected = 'woo-meta-radio-img-selected'; } + } + else { + if ( isset( $option['std'] ) && $key == $option['std'] ) { $checked = ' checked'; } + elseif ( $i == 1 ) { $checked = ' checked'; $selected = 'woo-meta-radio-img-selected'; } + else { $checked = ''; } + + } + + $layout .= '
                    '; + $layout .= ''; + $layout .= ' ' . esc_html($key) . '
                    '; + $layout .= ''; + } + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + + elseif( $woo_metabox['type'] == 'upload' ) + { + if( isset( $woo_metabox['default'] ) ) $default = $woo_metabox['default']; + else $default = ''; + + // Add support for the WooThemes Media Library-driven Uploader Module // 2010-11-09. + if ( function_exists( 'woothemes_medialibrary_uploader' ) ) { + + $_value = $default; + + $_value = get_post_meta( $post->ID, $woo_metabox['name'], true ); + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } else { + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + } + + // Timestamp field. + elseif ( $woo_metabox['type'] == 'timestamp' ) { + $woo_metaboxvalue = get_post_meta($post->ID,$woo_name,true); + + // Default to current UNIX timestamp. + if ( $woo_metaboxvalue == '' ) { + $woo_metaboxvalue = time(); + } + + $output .= "\t".''; + $output .= "\t\t".''."\n"; + $output .= "\t\t".''."\n"; + $output .= "\t".''."\n"; + + } + } // End IF Statement + } + + $output .= '
                    '.$woo_metabox['desc'].'
                    '; + $output .= ''.$woo_metabox['desc'] .' '. $add_counter .'
                    '; + $output .= ''.$woo_metabox['desc'] .' '. $add_counter.'
                    '; + $output .= "\t\t" . ''; + $output .= ''.$woo_metabox['desc'].'
                    '; + $output .= '' . $woo_metabox['desc'] . '
                    '; + $output .= '' . $woo_metabox['desc'] . '
                    ' . $woo_metabox['desc'] . '
                    '.$woo_metabox['desc'].'
                    '; + $output .= ''.$woo_metabox['desc'].'
                    '; + + foreach ( $array as $id => $option ) { + if($woo_metaboxvalue == $id) { $checked = ' checked'; } else { $checked=''; } + + $output .= ''; + $output .= ''. $option .'
                    '; + } + $output .= "\t".'
                    '; + $output .= $layout; + $output .= '' . $woo_metabox['desc'] . '
                    '. woothemes_medialibrary_uploader( $woo_metabox['name'], $_value, 'postmeta', $woo_metabox['desc'], $post->ID ); + $output .= '
                    '. woothemes_uploader_custom_fields( $post->ID, $woo_name, $default, $woo_metabox['desc'] ); + $output .= '
                    '; + + $output .= ' ' . __( '@', 'woothemes' ) . ' '; + + $output .= '' . "\n"; + + $output .= '' . "\n"; + /* + $output .= '' . "\n"; + */ + $output .= ''.$woo_metabox['desc'].'
                    '."\n\n"; + $output .= '
                    ' . "\n\n"; + + return $output; +} // End woothemes_metabox_create_fields() + +/** + * woothemes_metabox_handle() + * + * Handle the saving of the custom fields. + * + * @access public + * @param int $post_id + * @return void + */ +function woothemes_metabox_handle( $post_id ) { + _deprecated_function( 'woothemes_metabox_handle', '6.0.0', __( 'an instance of the WF_Fields_Meta class', 'woothemes' ) ); + $pID = ''; + global $globals, $post; + + if ( isset( $_POST['post_type'] ) && 'page' == $_POST['post_type'] ) { + if ( ! current_user_can( 'edit_page', $post_id ) ) { + return $post_id; + } + } else { + if ( ! current_user_can( 'edit_post', $post_id ) ) { + return $post_id; + } + } + + $woo_metaboxes = get_option( 'woo_custom_template', array() ); + + // Sanitize post ID. + if( isset( $_POST['post_ID'] ) ) { + $pID = intval( $_POST['post_ID'] ); + } + + // Don't continue if we don't have a valid post ID. + if ( $pID == 0 ) return; + + $upload_tracking = array(); + + if ( isset( $_POST['action'] ) && $_POST['action'] == 'editpost' ) { + if ( ( get_post_type() != '' ) && ( get_post_type() != 'nav_menu_item' ) && wp_verify_nonce( $_POST['wooframework-custom-fields-nonce'], 'wooframework-custom-fields' ) ) { + foreach ( $woo_metaboxes as $k => $woo_metabox ) { // On Save.. this gets looped in the header response and saves the values submitted + if( isset( $woo_metabox['type'] ) && ( in_array( $woo_metabox['type'], woothemes_metabox_fieldtypes() ) ) ) { + $var = $woo_metabox['name']; + + // Get the current value for checking in the script. + $current_value = ''; + $current_value = get_post_meta( $pID, $var, true ); + + if ( isset( $_POST[$var] ) ) { + // Sanitize the input. + $posted_value = ''; + $posted_value = $_POST[$var]; + + // If it doesn't exist, add the post meta. + if(get_post_meta( $pID, $var ) == "") { + add_post_meta( $pID, $var, $posted_value, true ); + } + // Otherwise, if it's different, update the post meta. + elseif( $posted_value != get_post_meta( $pID, $var, true ) ) { + update_post_meta( $pID, $var, $posted_value ); + } + // Otherwise, if no value is set, delete the post meta. + elseif($posted_value == "") { + delete_post_meta( $pID, $var, get_post_meta( $pID, $var, true ) ); + } // End IF Statement + } elseif ( ! isset( $_POST[$var] ) && $woo_metabox['type'] == 'checkbox' ) { + update_post_meta( $pID, $var, 'false' ); + } else { + delete_post_meta( $pID, $var, $current_value ); // Deletes check boxes OR no $_POST + } // End IF Statement + + } else if ( $woo_metabox['type'] == 'timestamp' ) { + // Timestamp save logic. + + // It is assumed that the data comes back in the following format: + // date: month/day/year + // hour: int(2) + // minute: int(2) + // second: int(2) + + $var = $woo_metabox['name']; + + // Format the data into a timestamp. + $date = $_POST[$var]['date']; + + $hour = $_POST[$var]['hour']; + $minute = $_POST[$var]['minute']; + // $second = $_POST[$var]['second']; + $second = '00'; + + $day = substr( $date, 3, 2 ); + $month = substr( $date, 0, 2 ); + $year = substr( $date, 6, 4 ); + + $timestamp = mktime( $hour, $minute, $second, $month, $day, $year ); + + update_post_meta( $pID, $var, $timestamp ); + } elseif( isset( $woo_metabox['type'] ) && $woo_metabox['type'] == 'upload' ) { // So, the upload inputs will do this rather + $id = $woo_metabox['name']; + $override['action'] = 'editpost'; + + if(!empty($_FILES['attachement_'.$id]['name'])){ //New upload + $_FILES['attachement_'.$id]['name'] = preg_replace( '/[^a-zA-Z0-9._\-]/', '', $_FILES['attachement_'.$id]['name']); + $uploaded_file = wp_handle_upload($_FILES['attachement_' . $id ],$override); + $uploaded_file['option_name'] = $woo_metabox['label']; + $upload_tracking[] = $uploaded_file; + update_post_meta( $pID, $id, $uploaded_file['url'] ); + } elseif ( empty( $_FILES['attachement_'.$id]['name'] ) && isset( $_POST[ $id ] ) ) { + // Sanitize the input. + $posted_value = ''; + $posted_value = $_POST[$id]; + + update_post_meta($pID, $id, $posted_value); + } elseif ( $_POST[ $id ] == '' ) { + delete_post_meta( $pID, $id, get_post_meta( $pID, $id, true ) ); + } // End IF Statement + + } // End IF Statement + + // Error Tracking - File upload was not an Image + update_option( 'woo_custom_upload_tracking', $upload_tracking ); + } // End FOREACH Loop + } + } +} // End woothemes_metabox_handle() + +/** + * woothemes_metabox_add() + * + * Add meta boxes for the WooFramework's custom fields. + * + * @access public + * @since 1.0.0 + * @return void + */ +function woothemes_metabox_add () { + _deprecated_function( 'woothemes_metabox_add', '6.0.0', __( 'an instance of the WF_Fields_Meta class', 'woothemes' ) ); + $woo_metaboxes = get_option( 'woo_custom_template', array() ); + if ( function_exists( 'add_meta_box' ) ) { + if ( function_exists( 'get_post_types' ) ) { + $custom_post_list = get_post_types(); + // Get the theme name for use in multiple meta boxes. + $theme_name = get_option( 'woo_themename' ); + + foreach ( $custom_post_list as $type ) { + + $settings = array( + 'id' => 'woothemes-settings', + 'title' => sprintf( __( '%s Custom Settings', 'woothemes' ), $theme_name ), + 'callback' => 'woothemes_metabox_create', + 'page' => $type, + 'priority' => 'normal', + 'callback_args' => '' + ); + + // Allow child themes/plugins to filter these settings. + $settings = apply_filters( 'woothemes_metabox_settings', $settings, $type, $settings['id'] ); + add_meta_box( $settings['id'], $settings['title'], $settings['callback'], $settings['page'], $settings['priority'], $settings['callback_args'] ); + // if(!empty($woo_metaboxes)) Temporarily Removed + } + } else { + add_meta_box( 'woothemes-settings', sprintf( __( '%s Custom Settings', 'woothemes' ), $theme_name ), 'woothemes_metabox_create', 'post', 'normal' ); + add_meta_box( 'woothemes-settings', sprintf( __( '%s Custom Settings', 'woothemes' ), $theme_name ), 'woothemes_metabox_create', 'page', 'normal' ); + } + } +} // End woothemes_metabox_add() + +/** + * woothemes_metabox_fieldtypes() + * + * Return a filterable array of supported field types. + * + * @access public + * @author Matty + * @return void + */ +function woothemes_metabox_fieldtypes() { + _deprecated_function( 'woothemes_metabox_fieldtypes', '6.0.0', __( 'an instance of the WF_Fields_Meta class', 'woothemes' ) ); + return apply_filters( 'woothemes_metabox_fieldtypes', array( 'text', 'calendar', 'time', 'time_masked', 'select', 'select2', 'radio', 'checkbox', 'textarea', 'images' ) ); +} // End woothemes_metabox_fieldtypes() + +/** + * woothemes_uploader_custom_fields() + * + * Create markup for outputting the custom upload field as a custom field. + * + * @access public + * @param int $pID + * @param string $id + * @param string $std + * @param string $desc + * @return void + */ +function woothemes_uploader_custom_fields( $pID, $id, $std, $desc ) { + _deprecated_function( 'woothemes_uploader_custom_fields', '6.0.0', __( 'an instance of the WF_Fields_Meta class', 'woothemes' ) ); + $upload = get_post_meta( $pID, $id, true ); + $href = cleanSource( $upload ); + $uploader = ''; + $uploader .= ''; + $uploader .= '
                    '."\n"; + $uploader .= ''; + $uploader .= ''; + if ( $href ) + $uploader .= '' . $desc . '' . "\n" . ''; + +return $uploader; +} // End woothemes_uploader_custom_fields() + +if ( ! function_exists( 'woo_custom_enqueue' ) ) { +/** + * woo_custom_enqueue() + * + * Enqueue JavaScript files used with the custom fields. + * + * @access public + * @param string $hook + * @since 2.6.0 + * @return void + */ +function woo_custom_enqueue ( $hook ) { + _deprecated_function( 'woo_custom_enqueue', '6.0.0', __( 'an instance of the WF_Fields_Meta class', 'woothemes' ) ); + wp_register_script( 'jquery-ui-datepicker', get_template_directory_uri() . '/functions/js/ui.datepicker.js', array( 'jquery-ui-core' ) ); + wp_register_script( 'jquery-input-mask', get_template_directory_uri() . '/functions/js/jquery.maskedinput.js', array( 'jquery' ), '1.3' ); + wp_register_script( 'woo-custom-fields', get_template_directory_uri() . '/functions/js/woo-custom-fields.js', array( 'jquery', 'jquery-ui-tabs' ) ); + + if ( in_array( $hook, array( 'post.php', 'post-new.php', 'page-new.php', 'page.php' ) ) ) { + wp_enqueue_script( 'jquery-ui-datepicker' ); + wp_enqueue_script( 'jquery-input-mask' ); + wp_enqueue_script( 'woo-custom-fields' ); + } +} // End woo_custom_enqueue() +} + +if ( ! function_exists( 'woo_custom_enqueue_css' ) ) { +/** + * woo_custom_enqueue_css() + * + * Enqueue CSS files used with the custom fields. + * + * @access public + * @author Matty + * @since 4.8.0 + * @return void + */ +function woo_custom_enqueue_css () { + _deprecated_function( 'woo_custom_enqueue_css', '6.0.0', __( 'an instance of the WF_Fields_Meta class', 'woothemes' ) ); + global $pagenow; + wp_register_style( 'woo-custom-fields', get_template_directory_uri() . '/functions/css/woo-custom-fields.css' ); + wp_register_style( 'jquery-ui-datepicker', get_template_directory_uri() . '/functions/css/jquery-ui-datepicker.css' ); + + if ( in_array( $pagenow, array( 'post.php', 'post-new.php', 'page-new.php', 'page.php' ) ) ) { + wp_enqueue_style( 'woo-custom-fields' ); + wp_enqueue_style( 'jquery-ui-datepicker' ); + } +} // End woo_custom_enqueue_css() +} + +/** + * Specify action hooks for the functions above. + * + * @access public + * @since 1.0.0 + * @return void + */ +// add_action( 'admin_enqueue_scripts', 'woo_custom_enqueue', 10, 1 ); +// add_action( 'admin_print_styles', 'woo_custom_enqueue_css', 10 ); +// add_action( 'edit_post', 'woothemes_metabox_handle', 10 ); +// add_action( 'admin_menu', 'woothemes_metabox_add', 10 ); // Triggers woothemes_metabox_create() + +/*-----------------------------------------------------------------------------------*/ +/* Generates The Options - woothemes_machine */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_uploader_function' ) ) { + function woothemes_uploader_function( $id, $std, $mod ) { + _deprecated_function( 'woothemes_uploader_function', '6.0.0', __( 'an instance of the WF_Fields class', 'woothemes' ) ); + return woothemes_medialibrary_uploader( $id, $std, $mod ); + } // End woothemes_uploader_function() +} + +if ( ! function_exists( 'woothemes_machine' ) ) { + function woothemes_machine( $options ) { + _deprecated_function( 'woothemes_machine', '6.0.0', __( 'an instance of the WF_Fields class', 'woothemes' ) ); + $counter = 0; + $menu = ''; + $output = ''; + + // Create an array of menu items - multi-dimensional, to accommodate sub-headings. + $menu_items = array(); + $headings = array(); + + foreach ( $options as $k => $v ) { + if ( $v['type'] == 'heading' || $v['type'] == 'subheading' ) { + $headings[] = $v; + } + } + + $prev_heading_key = 0; + + foreach ( $headings as $k => $v ) { + $token = 'woo-option-' . preg_replace( '/[^a-zA-Z0-9\s]/', '', strtolower( trim( str_replace( ' ', '', $v['name'] ) ) ) ); + + // Capture the token. + $v['token'] = $token; + + if ( $v['type'] == 'heading' ) { + $menu_items[$token] = $v; + $prev_heading_key = $token; + } + + if ( $v['type'] == 'subheading' ) { + $menu_items[$prev_heading_key]['children'][] = $v; + } + } + + // Loop through the options. + foreach ( $options as $k => $value ) { + + $counter++; + $val = ''; + //Start Heading + if ( $value['type'] != 'heading' && $value['type'] != 'subheading' ) { + $class = ''; if( isset( $value['class'] ) ) { $class = ' ' . $value['class']; } + $output .= '
                    '."\n"; + $output .= '

                    '. esc_html( $value['name'] ) .'

                    '."\n"; + $output .= '
                    '."\n" . '
                    '."\n"; + + } + //End Heading + + $select_value = ''; + switch ( $value['type'] ) { + + case 'text': + $val = $value['std']; + $std = esc_html( get_option( $value['id'] ) ); + if ( $std != "" ) { $val = $std; } + $val = stripslashes( $val ); // Strip out unwanted slashes. + $output .= ''; + break; + + case 'select': + $output .= '
                    '; + + break; + + case 'select2': + $output .= '
                    ' . "\n"; + + if ( is_array( $value['options'] ) ) { + $output .= '' . "\n"; + } + + $output .= '
                    '; + + break; + + case 'calendar': + $val = $value['std']; + $std = get_option( $value['id'] ); + if ( $std != "" ) { $val = $std; } + $output .= ''; + $output .= ''; + + break; + + case 'time': + $val = $value['std']; + $std = get_option( $value['id'] ); + if ( $std != "" ) { $val = $std; } + $output .= ''; + break; + + case 'time_masked': + $val = $value['std']; + $std = get_option( $value['id'] ); + if ( $std != "" ) { $val = $std; } + $output .= ''; + break; + + case 'textarea': + $cols = '8'; + $ta_value = ''; + + if( isset( $value['std'] ) ) { + + $ta_value = $value['std']; + + if( isset( $value['options'] ) ) { + $ta_options = $value['options']; + if( isset( $ta_options['cols'] ) ) { + $cols = $ta_options['cols']; + } else { $cols = '8'; } + } + + } + $std = get_option( $value['id'] ); + if( $std != "" ) { $ta_value = stripslashes( $std ); } + $output .= ''; + + + break; + + case "radio": + $select_value = get_option( $value['id'] ); + + if ( is_array( $value['options'] ) ) { + foreach ( $value['options'] as $key => $option ) { + + $checked = ''; + if( $select_value != '' ) { + if ( $select_value == $key ) { $checked = ' checked'; } + } else { + if ( $value['std'] == $key ) { $checked = ' checked'; } + } + $output .= '
                    '; + + } + } + + break; + + case "checkbox": + $std = $value['std']; + + $saved_std = get_option( $value['id'] ); + + $checked = ''; + + if( ! empty( $saved_std ) ) { + if( $saved_std == 'true' ) { + $checked = 'checked="checked"'; + } else { + $checked = ''; + } + } + elseif( $std == 'true' ) { + $checked = 'checked="checked"'; + } + else { + $checked = ''; + } + $output .= ''; + + break; + + case "multicheck": + $std = $value['std']; + + if ( is_array( $value['options'] ) ) { + foreach ( $value['options'] as $key => $option ) { + + $woo_key = $value['id'] . '_' . $key; + $saved_std = get_option( $woo_key ); + + if ( ! empty( $saved_std ) ) { + if ( $saved_std == 'true' ) { + $checked = 'checked="checked"'; + } else { + $checked = ''; + } + } elseif ( $std == $key ) { + $checked = 'checked="checked"'; + } else { + $checked = ''; + } + $output .= '
                    '; + + } + } + break; + + case "multicheck2": + $std = explode( ',', $value['std'] ); + + if ( is_array( $value['options'] ) ) { + foreach ( $value['options'] as $key => $option ) { + + $woo_key = $value['id'] . '_' . $key; + $saved_std = get_option( $woo_key ); + + if( ! empty( $saved_std ) ) + { + if( $saved_std == 'true' ) { + $checked = 'checked="checked"'; + } else { + $checked = ''; + } + } + elseif ( in_array( $key, $std ) ) { + $checked = 'checked="checked"'; + } else { + $checked = ''; + } + $output .= '
                    '; + + } + } + break; + + case "upload": + $output .= woothemes_medialibrary_uploader( $value['id'], $value['std'], null ); // New AJAX Uploader using Media Library + break; + + case "upload_min": + $output .= woothemes_medialibrary_uploader( $value['id'], $value['std'], 'min' ); // New AJAX Uploader using Media Library + break; + + case "color": + $val = $value['std']; + $stored = get_option( $value['id'] ); + if ( $stored != "" ) { $val = $stored; } + $output .= '
                    '; + $output .= ''; + break; + + case "typography": + $default = $value['std']; + $typography_stored = get_option( $value['id'] ); + + if ( ! is_array( $typography_stored ) || empty( $typography_stored ) ) { + $typography_stored = $default; + } + + /* Font Size */ + $val = $default['size']; + if ( $typography_stored['size'] != '' ) { + $val = $typography_stored['size']; + } + if ( $typography_stored['unit'] == 'px' ) { + $show_px = ''; + $show_em = ' style="display:none" '; + $name_px = ' name="'. esc_attr( $value['id'].'_size') . '" '; + $name_em = ''; + } else if ( $typography_stored['unit'] == 'em' ) { + $show_em = ''; + $show_px = 'style="display:none"'; + $name_em = ' name="'. esc_attr( $value['id'].'_size') . '" '; + $name_px = ''; + } else { + $show_px = ''; + $show_em = ' style="display:none" '; + $name_px = ' name="'. esc_attr( $value['id'].'_size') . '" '; + $name_em = ''; + } + $output .= ''; + + $output .= ''; + + /* Font Unit */ + $val = $default['unit']; + if ( $typography_stored['unit'] != '' ) { $val = $typography_stored['unit']; } + $em = ''; $px = ''; + if( $val == 'em' ) { $em = 'selected="selected"'; } + if( $val == 'px' ) { $px = 'selected="selected"'; } + $output .= ''; + + /* Font Face */ + $val = $default['face']; + if ( $typography_stored['face'] != "" ) + $val = $typography_stored['face']; + + $font01 = ''; + $font02 = ''; + $font03 = ''; + $font04 = ''; + $font05 = ''; + $font06 = ''; + $font07 = ''; + $font08 = ''; + $font09 = ''; + $font10 = ''; + $font11 = ''; + $font12 = ''; + $font13 = ''; + $font14 = ''; + $font15 = ''; + $font16 = ''; + $font17 = ''; + + if ( strpos( $val, 'Arial, sans-serif' ) !== false ) { $font01 = 'selected="selected"'; } + if ( strpos( $val, 'Verdana, Geneva' ) !== false ) { $font02 = 'selected="selected"'; } + if ( strpos( $val, 'Trebuchet' ) !== false ) { $font03 = 'selected="selected"'; } + if ( strpos( $val, 'Georgia' ) !== false ) { $font04 = 'selected="selected"'; } + if ( strpos( $val, 'Times New Roman' ) !== false ) { $font05 = 'selected="selected"'; } + if ( strpos( $val, 'Tahoma, Geneva' ) !== false ) { $font06 = 'selected="selected"'; } + if ( strpos( $val, 'Palatino' ) !== false ) { $font07 = 'selected="selected"'; } + if ( strpos( $val, 'Helvetica' ) !== false ) { $font08 = 'selected="selected"'; } + if ( strpos( $val, 'Calibri' ) !== false ) { $font09 = 'selected="selected"'; } + if ( strpos( $val, 'Myriad' ) !== false ) { $font10 = 'selected="selected"'; } + if ( strpos( $val, 'Lucida' ) !== false ) { $font11 = 'selected="selected"'; } + if ( strpos( $val, 'Arial Black' ) !== false ) { $font12 = 'selected="selected"'; } + if ( strpos( $val, 'Gill' ) !== false ) { $font13 = 'selected="selected"'; } + if ( strpos( $val, 'Geneva, Tahoma' ) !== false ) { $font14 = 'selected="selected"'; } + if ( strpos( $val, 'Impact' ) !== false ) { $font15 = 'selected="selected"'; } + if ( strpos( $val, 'Courier' ) !== false ) { $font16 = 'selected="selected"'; } + if ( strpos( $val, 'Century Gothic' ) !== false ) { $font17 = 'selected="selected"'; } + + $output .= ''; + + /* Font Weight */ + $val = $default['style']; + if ( $typography_stored['style'] != "" ) { $val = $typography_stored['style']; } + $thin = ''; $thinitalic = ''; $normal = ''; $italic = ''; $bold = ''; $bolditalic = ''; + if( $val == '300' ) { $thin = 'selected="selected"'; } + if( $val == '300 italic' ) { $thinitalic = 'selected="selected"'; } + if( $val == 'normal' ) { $normal = 'selected="selected"'; } + if( $val == 'italic' ) { $italic = 'selected="selected"'; } + if( $val == 'bold' ) { $bold = 'selected="selected"'; } + if( $val == 'bold italic' ) { $bolditalic = 'selected="selected"'; } + + $output .= ''; + + /* Font Color */ + $val = $default['color']; + if ( $typography_stored['color'] != "" ) { $val = $typography_stored['color']; } + $output .= '
                    '; + $output .= ''; + + break; + + case "border": + $default = $value['std']; + $border_stored = get_option( $value['id'] ); + + /* Border Width */ + $val = $default['width']; + if ( $border_stored['width'] != "" ) { $val = $border_stored['width']; } + $output .= ''; + + /* Border Style */ + $val = $default['style']; + if ( $border_stored['style'] != "" ) { $val = $border_stored['style']; } + $solid = ''; $dashed = ''; $dotted = ''; + if( $val == 'solid' ) { $solid = 'selected="selected"'; } + if( $val == 'dashed' ) { $dashed = 'selected="selected"'; } + if( $val == 'dotted' ) { $dotted = 'selected="selected"'; } + + $output .= ''; + + /* Border Color */ + $val = $default['color']; + if ( $border_stored['color'] != "" ) { $val = $border_stored['color']; } + $output .= '
                    '; + $output .= ''; + + break; + + case "images": + $i = 0; + $select_value = get_option( $value['id'] ); + + foreach ( $value['options'] as $key => $option ) { + $i++; + + $checked = ''; + $selected = ''; + if( $select_value != '' ) { + if ( $select_value == $key ) { $checked = ' checked'; $selected = 'woo-radio-img-selected'; } + } else { + if ( $value['std'] == $key ) { $checked = ' checked'; $selected = 'woo-radio-img-selected'; } + elseif ( $i == 1 && !isset( $select_value ) ) { $checked = ' checked'; $selected = 'woo-radio-img-selected'; } + elseif ( $i == 1 && $value['std'] == '' ) { $checked = ' checked'; $selected = 'woo-radio-img-selected'; } + else { $checked = ''; } + } + + $output .= ''; + $output .= ''; + $output .= ''. esc_html( $key ) .''; + $output .= ''; + $output .= ''; + + } + + break; + + case "info": + $default = $value['std']; + $output .= $default; + break; + + // Timestamp field. + case 'timestamp': + $val = get_option( $value['id'] ); + + if ( $val == '' ) { + $val = time(); + } + + $output .= '' . "\n"; + + $output .= '' . "\n"; + $output .= ' ' . __( '@', 'woothemes' ) . ' '; + + $output .= '' . "\n"; + + $output .= '' . "\n"; + /* + $output .= '' . "\n"; + */ + + $output .= '' . "\n"; + + $output .= ''; + break; + + case 'slider': + $val = $value['std']; + $std = get_option( $value['id'] ); + if ( $std != "" ) { $val = $std; } + $val = stripslashes( $val ); // Strip out unwanted slashes. + $output .= '
                    '; + $output .= ''; + break; + + case "heading": + if( $counter >= 2 ) { + $output .= '
                    '."\n"; + } + $jquery_click_hook = preg_replace( '/[^a-zA-Z0-9\s]/', '', strtolower( $value['name'] ) ); + // $jquery_click_hook = preg_replace( '/[^\p{L}\p{N}]/u', '', strtolower( $value['name'] ) ); // Regex for UTF-8 languages. + $jquery_click_hook = str_replace( ' ', '', $jquery_click_hook ); + + $jquery_click_hook = "woo-option-" . $jquery_click_hook; + $menu .= '
                  • '. esc_html( $value['name'] ) .'
                  • '; + $output .= '

                    '. esc_html( $value['name'] ) .'

                    '."\n"; + break; + + case "subheading": + if( $counter >= 2 ) { + $output .= '
                    '."\n"; + } + $jquery_click_hook = preg_replace( '/[^a-zA-Z0-9\s]/', '', strtolower( $value['name'] ) ); + // $jquery_click_hook = preg_replace( '/[^\p{L}\p{N}]/u', '', strtolower( $value['name'] ) ); // Regex for UTF-8 languages. + $jquery_click_hook = str_replace( ' ', '', $jquery_click_hook ); + + $jquery_click_hook = "woo-option-" . $jquery_click_hook; + $menu .= '
                  • ' . esc_html( $value['name'] ) . '
                  • '; + $output .= '

                    '. esc_html( $value['name'] ).'

                    '."\n"; + break; + } + + // if TYPE is an array, formatted into smaller inputs... ie smaller values + if ( is_array( $value['type'] ) ) { + foreach( $value['type'] as $array ) { + + $id = $array['id']; + $std = $array['std']; + $saved_std = get_option( $id ); + if( $saved_std != $std ) {$std = $saved_std;} + $meta = $array['meta']; + + if( $array['type'] == 'text' ) { // Only text at this point + + $output .= ''; + $output .= ''. esc_html( $meta ) .''; + } + } + } + if ( $value['type'] != "heading" && $value['type'] != "subheading" ) { + if ( $value['type'] != "checkbox" ) + { + $output .= '
                    '; + } + $explain_value = ( isset( $value['desc'] ) ) ? $value['desc'] : ''; + if ( !current_user_can( 'unfiltered_html' ) && isset( $value['id'] ) && in_array( $value['id'], woo_disabled_if_not_unfiltered_html_option_keys() ) ) + $explain_value .= '

                    ' . esc_html( __( 'You are not able to update this option because you lack the unfiltered_html capability.', 'woothemes' ) ) . ''; + $output .= '
                    '. $explain_value .'
                    '."\n"; + $output .= '
                    '."\n"; + } + + } + + //Checks if is not the Content Builder page + if ( isset( $_REQUEST['page'] ) && $_REQUEST['page'] != 'woothemes_content_builder' ) { + $output .= '
                    '; + } + + // Override the menu with a new multi-level menu. + if ( count( $menu_items ) > 0 ) { + $menu = ''; + foreach ( $menu_items as $k => $v ) { + $class = ''; + if ( isset( $v['icon'] ) && ( $v['icon'] != '' ) ) { + $class = $v['icon']; + } + + if ( isset( $v['children'] ) && ( count( $v['children'] ) > 0 ) ) { + $class .= ' has-children'; + } + + $menu .= '
                  • ' . "\n" . '
                    '; + if ( isset( $v['icon'] ) && ( $v['icon'] != '' ) ) + $menu .= ''; + $menu .= '' . esc_html( $v['name'] ) . '' . "\n"; + + if ( isset( $v['children'] ) && ( count( $v['children'] ) > 0 ) ) { + $menu .= '' . "\n"; + } + $menu .= '
                  • ' . "\n"; + + } + } + + return array( $output, $menu, $menu_items ); + } // End woothemes_machine() +} +?> \ No newline at end of file diff --git a/wootique/functions/functions-changelog.txt b/wootique/functions/functions-changelog.txt new file mode 100755 index 0000000..807141a --- /dev/null +++ b/wootique/functions/functions-changelog.txt @@ -0,0 +1,1651 @@ +*** WooThemes Framework Changelog *** + +2014.07.30 - version 6.0.3 + * Fix - Ensures the typography fields correctly interpret typeface names containing quotation marks. + /classes/class-wf-fields.php + * Fix - Makes sure woo_title()'s parameter is always a boolean before running through the rest of the code. + /admin-functions.php + * New - Adds a filter on the _get_plugins_to_look_for() method, to allow themes/child themes to specify other WordPress.org plugins which they integrate with. + /classes/class-wf-screen-admin-base.php + +2014.07.17 - version 6.0.2 + * Fix - Ensures that EM size values (floats, instead of integers) are correctly parsed and preserved when saving a "typography" field. + * Fix - Ensures system fonts are correctly displayed in the select box for a "typography" field, when one is selected. + +2014.07.15 - version 6.0.1 + * Fix - Ensures 'slider' fields in older themes are correctly output. + /classes/class-wf-fields.php + /assets/css/fields.css + * Fix - Slashes are now stripped from within textarea fields. + /classes/class-wf-fields.php + * Fix - Ensure the Google Analytics tracking code field handles script tags correctly. + /classes/class-wf-fields.php + /classes/class-wf-fields-settings.php + * Fix - Placeholder images are empty by default. Adds logic to enable a default placeholder image via a filter. + /classes/class-wf.php + /admin-interface.php + * Fix - Replace the use of array_replace() with a small loop, to cater for PHP 5.2 installations. + /admin-functions.php + * Fix - Ensures the custom excerpt text is called correctly, when calling get_the_excerpt() or the_excerpt(). + /admin-shortcodes.php + * Fix - Ensure the defaults for "border" and "typography" fields are correctly represented on the theme settings screen, on fresh installations. + /classes/class-wf-fields.php + +2014.07.03 - version 6.0.0 + * New - Introduce new classes. + /classes/class-wf.php - Base class + /classes/class-wf-fields.php - Form field generator/validator + /classes/class-wf-fields-meta.php - Extends WF_Fields. Generate form fields for meta boxes + /classes/class-wf-fields-settings.php - Extends WF_Fields. Generate form fields for settings screens + /classes/class-wf-backup.php - Backup screen handler + /classes/class-wf-meta.php - Meta box handler + /classes/class-wf-screen-admin-base.php - Base class for generating admin screens (framework/welcome) + /classes/class-wf-screen-framework.php - Extends WF_Screen_Admin_Base. Generates the "Framework" admin menu + /classes/class-wf-screen-welcome.php - Extends WF_Screen_Admin_Base. Generates the "Welcome" screen when activating the theme + /classes/class/wf-screen.php - Static class for generating screen header and footer areas + /classes/class-wf-settings.php - Settings handler + * New - Introduced new assets for use with the new WF_ classes. + /assets/ + * New - Adds a perameter to woo_embed() to preserve the original video dimensions. + admin-functions.php + * New - Introduces more accurate multi-level taxonomy term display in woo_breadcrumbs(). + admin-functions.php + * New - Adds logic to attempt to add default taxonomies to each post type in woo_breadcrumbs(). Can be overridden by the filter. + admin-functions.php + * Remove - "Framework Settings" screen and it's related code. + admin-framework-settings.php + admin-functions.php + * New - Adds support for Jetpack tiled galleries to the tabs shortcode. + /js/shortcodes.js + * New - Add "none" option to the [box] shortcode. + admin-shortcodes.php + * Fix - Ensures the [dropcap] shortcode is correctly parsed in the excerpts, such that it's contents isn't lost. + admin-shortcodes.php + * Fix - Output the title attribute in woo_image(). + admin-functions.php + * New - Welcome screen on theme activation. + /classes/class-wf-screen-welcome.php + admin-setup.php + * New - Allow Skype URLs in the [box] shortcode. + admin-shortcodes.php + * Remove - PressTrends logic and settings. + admin-interface.php + * New - Friendlier settings screen for theme settings. + /classes/class-wf-settings.php + admin-interface.php + * New - Better support for a WooCommerce shop page link in woo_breadcrumbs(). + admin-functions.php + * Fix - Updates JavaScript to use .on() instead of .live(). + /js/woo-scripts.js + /js/woo-typography-preview.js + /js/woo-medialibrary-uploader.js + /js/woo-admin-interface.js + /js/jquery.maskedinput.js + * Remove - PressTrends admin icon. + /images/ico-presstrends.png + * Remove - PressTrends option admin icon. + /images/option-icon-presstrends.png + * New - Adds styling for the shortcode columns clearing DIV tag. + /css/shortcodes.css + * New - Introduce new file to contain the WF_Backup class. + /classes/class-wf-backup.php + * Fix - Fixes "undefined index" notice when saving WordPress Menus. + admin-custom.php + * Fix - Fixes "invalid argument for foreach" notice. + admin-functions.php + * Tweak - Deprecated woo_twitter_script() function. + admin-functions.php + * Tweak - Deprecated woo_active_template() function. + admin-functions.php + * Tweak - updated wf_useful_links() inside admin-interface.php default documentation + to point to the new docs site with the current theme name + documentation site for the current theme + * Remove - Removes PressTrends banner and functionality. + admin-functions.php + * Remove - Removes WooSEO removal banner. + admin-functions.php + * admin-setup.php - Adds is_ssl() check to the custom favicon output function. Loads woo_load_textdomain() on the "after_setup_theme" hook instead of the "init" hook. + * Fix - Adds "clear" DIV tag after the last column shortcodes to properly clear the column floats. + admin-shortcodes.php + * Tweak - Makes message body default field labels translatable, in the "contact_form" shortcode. + admin-shortcodes.php + * Fix - Makes sure "typography" shortcode works inside the "box" shortcode. + admin-shortcodes.php + * Makes sure "toggle" shortcode works inside the "box" shortcode. + admin-shortcodes.php + * Fix - Fixes array to string conversion error in admin interface. + admin-interface.php + * New - Added logic to ensure the "Update Framework" and "Framework Settings" screens displays at the end of the WooThemes admin menu. + admin-interface.php + * Tweak - Code maintenance on the woo_add_admin() function. + admin-interface.php + * New - Moved Woothemes_Backup class into separate file. Renamed to WF_Backup. + admin-backup.php + * New - Added check for if the backup functionality is disabled. If so, don't load the WF_Backup class or the admin-backup.php file. + admin-init.php + +2014.04.17 - version 5.5.6 + * Fix - Adds support for TinyMCE 4.0 in WordPress 3.9, on the shortcode generator. + admin-shortcode-generator.php + /js/shortcode-generator/editor_plugin_39.js + /js/shortcode-generator/js/dialog-js.php + +2014.04.17 - version 5.5.6 + * Fix - Adds support for TinyMCE 4.0 in WordPress 3.9, on the shortcode generator. + admin-shortcode-generator.php + /js/shortcode-generator/editor_plugin_39.js + /js/shortcode-generator/js/dialog-js.php + +2013.03.05 - version 5.5.5 + * admin-functions.php - Improved function to process all used Google fonts and output single link tag for all of them + +2013.02.06 - version 5.5.4 + * admin-shortcodes.php - Added global variable for storing used Google fonts and removed preg_match for custom typography in each post + * admin-functions.php - Added function to process all used Google fonts and output single link tag for all of them + +2012.12.20 - version 5.5.3 + * admin-interface.php - Added Thin and Thin/Italic to typography options. + * admin-style.css - Fixed styling of typography preview button. + * admin-init.php - Code clean-up and maintenance. woo_version() function now uses wooframework_get_theme_version_data() to retrieve theme data, and outputs a "generator" tag for the child theme as well, if one is in use. Load the shortcode generator and backup manager only in the WordPress admin. + * admin-framework-settings.php - Remove legacy logic that retrieved theme name and version data. + * admin-interface.php - Remove legacy logic that retrieved theme name and version data. + * admin-express-functions.php, + admin-express-functions-deprecated.php - Replace deprecated calls to wp_get_single_post() with get_post(). + * admin-functions.php - Use wp_get_image_editor() for image resizing if using vt_resize() with WordPress 3.5. + * thumb.php - TimThumb version 2.8.11 + +2012.12.06 - version 5.5.2 + * admin-setup.php - Updated docblocking to standard formatting. Overall code clean-up and optimisation. Fixed "undefined index 'id'" notice in PHP 5.4.x. + * admin-interface.php - Fixed "illegal offset 'version'" notice in PHP 5.4.x. Added time_masked field. + * admin-hooks.php - Fixed "Creating default object from empty value" notice in PHP 5.4.x. Code clean-up and optimisation. Updated docblocking to standard formatting. + * admin-custom.php - Updated docblocking to standard formatting. Added capability check when saving custom fields. Added time_masked field. + * admin-functions.php - Add notice banner to "Theme Options" screen if a static front page is in use. Add "alt-style-X" body CSS class for the current alt style in use. + * admin-style.css - Adds styling for the "static front page" notice banner. + * /js/woo-custom-fields.js - changed the selector from time to time_masked for the legacy time field + +2012.11.22 - version 5.5.1 + * admin-functions.php - Adjust woo_image() to better calculate the height of an attached image, if no height is specified. + * admin-style.css - Updated styling of the "Upload" button for WordPress 3.5 compatibility. + +2012.11.05 - version 5.5.0 + * /classes/class-wp-app-store-installer.php - Remove WP App Store installer bridge. + * admin-init.php - Remove call to WP App Store installer bridge. + * admin-functions.php - Fix woo_pagination() for search queries and for taxonomy archives, to ensure query is preserved correctly. Fix over-escaping in cleanSource(). Fix grammer error in WooDojo notice in theme options. + * admin-seo.php - Removed all logic for WooSEO admin screen. + * admin-sbm.php - Remove all logic for the Sidebar Manager admin screen. Make sure "woo_sidebar()" returns "dynamic_sidebar()". + * admin-interface.php - Remove "SEO" admin menu screen for WooSEO and "Sidebar Manager" admin menu screen for Sidebar Manager. + * admin-framework-settings.php - Remove "Disable SEO Menu Item" and "Disable Sidebar Manager Menu Item" settings. + * admin-style.css - Remove Sidebar Manager CSS styles. + * admin-backup.php - Code maintenance. Remove "Sidebar Manager" and "SEO" from backed up data. Add scope to each class property and method. + +2012.09.12 - version 5.4.2 + * admin-init.php - Fix theme version display in meta tag hooked onto wp_head. + * admin-interface.php - Fix theme version display in admin interface header. Fix version number in theme update check when using a child theme. + * admin-sbm.php - Fix theme version display in admin interface header. + * admin-seo.php - Fix theme version display in admin interface header. + * admin-framework-settings.php - Fix theme version display in admin interface header. + * admin-setup.php - Escape stylesheet URLs in the woo_output_custom_css() and woo_output_alt_stylesheet() functions. + * admin-functions.php - Adjust escaping logic inside woo_image(). Fixes display of the "title" attribute. Add functions to retrieve and display the theme version data in the admin interface header. Clarify where in the theme the "thumb.php" file can be found and removed from. Set default login logo height to 67 if the height dimension isn't calculated correctly. Make sure vt_resize() doesn't try to sanitize the full image path as if it were a filename. + * admin-shortcodes.php - Fix custom background and border colour options in the [button] shortcode, and the icon="none" option in the [box] shortcode. Fix [twitter] shortcode to ensure attributes are applied correctly. Examine all shortcodes and remove over-escaping on attribute groups. + +2012.09.10 - version 5.4.1 + * admin-functions.php - Fixed bug for Google Analytics output. + +2012.08.31 - version 5.4.0 + * - SECURITY UPDATE - Sucuri Security Code Audit update + * - Various security checks and improvements were made including attribute escaping, direct file access prevention, code optimization and deprecation. + * *.php - Added direct file access security check for all php files. + * admin-custom.php - Security improvements. + * admin-custom-nav.php - Deprecated old functionality including WooNav and all related assets. + * admin-framework-settings.php - Deprecated old functionality. + * admin-functions.php - Added additional fonts, general cleanup of code, retired WooNav and all related assets, fixed all error notices, security improvements,. + * admin-hooks.php - Fixed error notice for undefined object for $query_context + * admin-init.php - Deprecated old functionality. + * admin-interface.php - Deprecated old functionality including WooNav and all related assets, security improvements. + * admin-sbm.php - Deprecated old functionality, security improvements. + * admin-seo.php - Deprecated old functionality, security improvements. + * admin-shortcodes.php - Security improvements. Fixed bug in Twitter Follow shortcode to resolve display of the Twitter button. + * admin-style.css - Deprecation notices styles. + * css/shortcodes.css - Made column shortcodes responsive. + * classes/class-wp-app-store-installer.php - added WP App Store installer class + * js/jquery.maskedinput.js - Security improvements. + * js/shortcode-generator/dialog.php - Security improvements. + * js/shortcode-generator/js/dialog.js.php - Security improvements. + +2012.04.29 - version 5.3.12 - critical + * - SECURITY UPDATE - Make sure the shortcode preview file's code is removed correctly upon WooFramework upgrade. + * admin-setup.php - Add extra sanitization to the alternate styles loader. + * /js/shortcode-generator/preview-shortcode-external.php - Make sure the file is empty (aside from a short error message) and that all vulnerable code is removed successfully. + * admin-functions.php - added "Bitter" Google font + +2012.04.29 - version 5.3.11 - critical + * - SECURITY UPDATE - Shortcode preview feature removed in previous version due to potential exploit. + * admin-functions.php - Make sure PressTrends banner displays only for PressTrends-enabled themes. + +2012.04.25 - version 5.3.10 + * /images/ico-presstrends-banner.png - Logo for the PressTrends banner. + * admin-interface.php - Bump version number of admin-style.css enqueue to 5.3.10. + * admin-functions.php - Add PressTrends banner, displayed upon first activation of a theme with a PressTrends key. + * admin-style.css - Add styling for the PressTrends banner. + +2012.04.24 - version 5.3.9 - critical + * admin-custom.php - Make sure to check if a post type is set before running the nonce check in the custom fields saving logic (this fixes the conflict on the WordPress Menus screen). + +2012.04.23 - version 5.3.8 - critical + * /js/shortcode-generator/js/dialog-js.php - Removed all functionality relating to the shortcode preview. + * /js/shortcode-generator/editor_plugin.js - Remove non-required woo_js_querystring() functionality and add extra security layer to the dialog popup. + * /js/shortcode-generator/dialog.php - Add extra security layer to the dialog popup window. + * /js/shortcode-generator/preview-shortcode-external.php - REMOVED + * admin-shortcode-generator.php - Removed non-essential testing method (not previously used) and added extra security layer. + * admin-custom.php - Add extra security layer to the custom fields meta box. Make sure it's possilbe to display the "SEO" fields, even if there are no "General Settings" fields for a post type. Remove check on 0-indexed array key. + +2012.04.16 - version 5.3.7 - critical + * /js/shortcode-generator/preview-shortcode-external.php - Escape URLs to JavaScript files and update jQuery in use to V1.7.2. + * /js/shortcode-generator/dialog.php - Escape URLs to JavaScript files. + * admin-setup.php - Make sure, when loading an alternate style via the query variable, to include /css/layout.css if the current theme contains the file, when loading the "default" alternate style. + +2012.04.16 - version 5.3.6 + * thumb.php - updated TimThumb 2.8.10 + +2012.04.12 - version 5.3.5 + * admin-interface.php - Add jquery ui slider as a theme option control + * admin-style.css - Added styling for the jquery ui slider. + * /js/woo-admin-interface.js - Add jquery ui slider as a theme option control + +2012.04.02 - version 5.3.4 + * admin-setup.php - Add "activated=true" to the theme activation redirect URL. + * admin-interface.php - Add custom "wooframework_container_inside" action to the admin interface straight inside #woo_container. + * admin-functions.php - Add WooDojo banner advert logic for the Theme Options screen. + * admin-style.css - Added styling for the WooDojo banner. + * /js/woo-admin-interface.js - Add confirmation popup on banner "close" button. + +2012.03.16 - version 5.3.3 + * admin-functions.php - Cater for static front pages that use the /page/ permastruct for pagination, when determining the page number to display inside woo_title(). + +2012.03.12 - version 5.3.2 + * admin-custom.php - Make sure the SEO custom fields don't display if the "use 3rd party plugin data" checkbox is checked. Prevent foreach() error message. + * admin-shortcodes.php - Add "show_default_fields" setting to the [contact_form] shortcode, to disable the default Name, E-mail and Message fields. + +2012.03.06 - version 5.3.1 + * thumb.php - fixed timthumb-config.php path to look in theme root folder. + +2012.02.22 - version 5.3.0 + * admin-interface.php - Make sure that selected theme options aren't updated if the user doesn't have the "unfiltered_html" capability. + * admin-custom.php - Add tabbing to custom fields meta box. Move "SEO" fields into a tab instead of their own meta box. + * /css/woo-custom-fields.css - Add styling for custom fields tabs. + * /images/wf-tab-icons.png - Add image for tab icons. + * /js/woo-custom-fields.js - Add JavaScript logic for custom field tabs. + +2012.02.21 - version 5.2.3 + * admin-shortcodes.php - Added locale field to fblike shortcode. + * /js/shortcode-generator/shortcodes/fblike.js - Added locale field to fblike shortcode generator. + +2012.02.17 - version 5.2.2 + * thumb.php - TimThumb version 2.8.5 revert since 2.8.7 failed to work for many. + +2012.02.13 - version 5.2.1 + * admin-shortcodes.php - Update twitter and twitter_follow shortcodes with adjustments to the Twitter buttons API. + * /js/shortcode-generator/shortcodes/twitter.js - Update generator for the twitter shortcode to include new options and remove legacy options no longer supported by Twitter. + * /js/shortcode-generator/shortcodes/twitter_follow.js - Update generator for the twitter shortcode to include new options and remove legacy options no longer supported by Twitter. + * thumb.php - TimThumb version 2.8.7 + +2012.02.09 - version 5.2.0 + * admin-shortcodes.php - Add Pinterest "Pin It" button shortcode. + * /js/shortcode-generator/editor_plugin.js - Add Pinterest shortcode to the dropdown menu. + * /js/shortcode-generator/shortcodes/pinterest.js - Add generator function for the Pinterest "Pin It" button shortcode. + +2012.02.08 - version 5.1.8 + * admin-interface.php - Fix bug in theme update notification where full version number was not being returned correctly. + +2012.02.07 - version 5.1.7 + * admin-functions.php - Replace the_content filter in woo_embed() with woo_embed filter and apply the do_shortcode function to it. Convert PHP strings in the Twitter JavaScript code to use esc_attr_e() instead of _e(). + +2012.02.04 - version 5.1.6 + * admin-functions.php - Make sure woo_breadcrumbs() doesn't try to find the parent trail items if the path is '/'. Adjust the CSS of the login logo to override custom logos set by default in some themes. + +2012.01.28 - version 5.1.5 + * admin-interface.php - Remove trailing slash from "Update Framework" link in the Framework update admin notice. + * admin-functions.php - Force raw permastruct in woo_pagination() when on search results screens, to make multi-word search links more accurate. + +2012.01.24 - version 5.1.4 + * admin-custom.php - Optimise the layout of the "timestamp" custom field. + * /js/woo-custom-fields.js - Optimise the datepicker initialization logic for the custom fields. + * /js/woo-admin-interface.js - Fix bug in typography field unit switching when switching from "em" to "px". Added Century Gothic font. + * /css/woo-custom-fields.css - Adjust the CSS for the "timestamp" custom field. + * admin-interface.php - Optimise the layout of the "timestamp" field type. Make sure the "typography" field type takes the default settings if none are stored. Optimise how typography data is constructed before save. + * admin-style.css - Optimise styling for the "timestamp" field type. + * admin-functions.php - Output title using wp_title() with WP SEO plugin + * admin-style.css - fixed radio button styling + +2012.01.19 - version 5.1.3 + * admin-functions.php - woo_image() added fix to remove height="" so images show in IE + +2012.01.18 - version 5.1.2 + * thumb.php - new version of TimThumb 2.8.5 + +2012.01.17 - version 5.1.1 + * admin-functions.php - Revert WooFramework update checker to previous version of the code (from V4.9.0). + +2012.01.12 - version 5.1.0 + * admin-framework-settings.php - Added options under "Branding" to customise the URL and image title on the WordPress login screen. Gettext all Framework Settings and interface strings. + * admin-functions.php - Added logic to customise the URL and image title on the WordPress login screen. + * admin-setup.php - Check for and use custom.css from the child theme if it's present. + * admin-interface.php - Added div around radio button option to style + * admin-style.css - Fixed radio button label alignment bug + +2011.12.22 - version 5.0.3 + * admin-functions.php - changed wp_title() to use same code as TwentyEleven for outputting title when using 3rd party SEO. + * admin-interface.php - removed trailing slash from framework update notification URL + * admin-interface.php, + admin-style.css - tweaked new options styling to look better with no icon and two line heading + +2011.12.15 - version 5.0.2 + * admin-functions.php - Revise styling of custom login logo for WordPress 3.3. + * admin-style.css - Options panel left menu positioning fix. Tweak padding on left menu items. + * admin-shortcodes.css - fixed typo topkeft + +2011.12.13 - version 5.0.1 + * admin-style.css - Resolve styling conflict between new theme options interface and the Sidebar Manager. + * admin-interface.php - Removed $value['icon'] call from subheadings. + * admin-seo.php, admin-functions.php - Changed the default meta value to 'follow' instead of 'nofollow'. + +2011.12.07 - version 5.0.0 + * admin-functions.php - Replaced get_the_content() with $post->post_content in woo_meta(), to avoid additional injected logic being displayed. Wrap it in strip_tags() and strip_shortcodes(). Refined woo_get_fw_version() with better error handling. Added urlencode() around the search query in woo_pagination when using the default "raw" search permastruct. Added variants to the "Rokkit" Google WebFont. + * admin-interface.php - Refined woothemes_version_checker() with better error handling. Adjusted WooThemes Machine to build a multi-dimensional array of the menu items for the interface navigation. Changed version number of interface JavaScript to 5.0.0 to force refresh to latest version of the file. First version of the "timestamp" field type. + * admin-shortcodes.php - Added [stumbleupon] shortcode. Added optional unique ID parameter to tabber shortcode. + * admin-custom.php - Added first version of the "timestamp" custom field type. + * /css/woo-custom-fields.css - Added styling for the "timestamp" field type. + * /js/shortcodes.js - Added "tab auto-selection via hash" logic to tabber shortcode JavaScript. Uses #tab-id on the URL to automatically select the specified tab (unique ID required on tabber). + * /js/shortcode-generator/shortcodes/stumbleupon.js - Added generator for the [stumbleupon] shortcode. + * /js/shortcode-generator/shortcodes/tab.js - Added "unique ID" parameter to tabber shortcode generator. + * /js/shortcode-generator/editor_plugin.js - Added [stumbleupon] shortcode to the shortcodes menu. + * /js/woo-admin-interface.js - Added JavaScript logic to handle the sub-menus, as well as fly-out menus for closed menus with sub-menu items. + * admin-style.css - Added basic styling for hiding fly-out menus when not applicable, as well as positioning the fly-out menus. + * thumb.php - latest version of TimThumb 2.8.4 + * admin-framework-settings.php - Updated "Admin Bar" text to read "WordPress Toolbar". + +2011.11.25 - version 4.9.2 + * admin-custom.php - Resolved "undefined variable" issue on $current_value when attempting to remove custom meta. + +2011.11.24 - version 4.9.1 + * admin-functions.php - fixed bug with getting youtube images + +2011.11.22 - version 4.9.0 + * admin-interface.php - Removed legacy String Builder and AJAX uploader JavaScripts. + * admin-functions.php - Integrate PressTrends logic. Remove base64 function calls. Added option to woo_pagination() to use a raw search URL permastruct, as well as a filter for the default arguments. + * admin-framework-settings.php - Add PressTrends menus if PressTrends is in use. + * admin-medialibrary-uploader.php - Refine "Use this Image" button gettext logic. + * admin-custom-nav.php - Code adjustments after "Theme Check" audit. + * admin-express-functions.php - Add "woothemes" textdomain to translatable strings. + * admin-express-functions-deprecated.php - Add "woothemes" textdomain to translatable strings. + * admin-style.css - Added styling for "PressTrends" Framework Settings menu icon. + * /js/nicEdit.js - Fixed line-endings to all be in the same format (not either DOS or UNIX). + * /images/option-icon-presstrends.png - Added option icon for "PressTrends" Framework Settings menu. + +2011.11.18 - version 4.8.5 + * thumb.php - TimThumb - added latest version 2.8.2 + +2011.11.09 - version 4.8.4 + * admin-functions.php - woo_image() added new variable $noheight = Don't output the height on img tag (for responsive designs) + * admin-functions.php - added latest Google Fonts + * admin-functions.php - fixed notice errors in woo_get_video_image() + +2011.11.02 - version 4.8.3 + * admin-interface.php - Revert regular expression used to generate the admin interface menu in woothemes_machine(). + +2011.11.01 - version 4.8.2 + * admin-functions.php - woo_image/vt_image fixed bug with no height being set in woo_image and image was re-created on each load + * admin-functions.php - added new google fonts. + +2011.10.27 - version 4.8.1 + * admin-functions.php - woo_image/vt_image improved error handling when using WP post thumbnail + +2011.10.25 - version 4.8.0 + * admin-interface.php - Added logic for WooFramework update checker and notification. Code optimisation and maintenance. + * admin-functions.php - woo_breadcrumbs() shouldn't check for parent entries of the page is '/'. Add function to check for WooFramework updates. Added "theme" screen icon to "Buy Themes" screen. + * admin-framework-settings.php - Add option to enable WooFramework update notifications. + * admin-custom.php - Resolve "undefined index" errors when handling metabox field data. Add field-specific CSS classes to each table row in the meta box table. Remove legacy upload tracking. + * admin-medialibrary-uploader.php - Code maintenance. Added support for custom titles on "image" fields in the post meta box. Added support for hiding the URL input field for fields of type "upload_min". + * admin-shortcode-generator.php - Make sure the shortcode generator JavaScript is loaded only on the post/page "Add" and "Edit" screens. + * admin-style.css - Tweaked CSS of .info on "Buy Themes" screen to add margin-top of 10px. Added styling to reposition the "Upload" button for fields of type "upload_min". + * /js/woo-medialibrary-uploader.js - Added support for custom titles on "image" fields in the post meta box. + * /js/woo-custom-fields.js - ADDED - Moved JavaScript from admin-custom.php into it's own file and streamlined. + * /js/woo-admin-interface.js - ADDED - Moved JavaScript from admin-interface.php into it's own file and streamlined. + * /css/woo-custom-fields.css - ADDED - Moved CSS from admin-custom.php into it's own file and streamlined. + +2011.10.20 - version 4.7.2 + * admin-functions-php - added wmode="transparent" to iframe in woo_embed() + * admin-setup.php - fixed text-title bug + +2011.10.11 - version 4.7.1 + * admin-shortcodes.php - Adjusted Google +1 Shortcode to use updated attribute keys for HTML5 valid syntax. Added "annotation" attribute to replace "count". + * js/shortcode-generator/shortcodes/google_plusone.js - Replaced "count" attribute with "annotation" per Google's update to the +1 button. + * admin-style.css - Updated styling and fonts. + * admin-functions.php - If the user has set a "posts page", load the "Blog" page template for that page, if the template file exists. Fixed google font: open sans condensed. + * admin-medialibrary-uploader.php - Added contextually accurate "insert" button labels, as well as modified "Gallery" tab to "Previously Uploaded" when on an "Image" custom field. + * /js/woo-medialibrary-uploader.js - Pass is_woothemes and title parameters through to the uploader popup. + +2011.10.10 - version 4.7.0 + * /js/woo-typography-preview.js - Typography preview engine. + * admin-interface.php - Register and enqueue typography preview engine JavaScript on "Theme Options" screen. + * admin-style.css - Style the typography preview engine. + * /images/ico-preview.png, + /images/ico-refresh.png - Added icons for use in the typography preview engine. + * admin-functions.php - Add urldecode() to search link in woo_pagination(), if the "nice search" permastruct is in use. Fixed spelling errors in certain Google Fonts to prevent errors when loading. + * admin-shortcodes.php - Added auto-adjusting width and height values to the fbshare shortcode (set width to auto and height to fit in appropriate cases, when "showfaces" is off), and fixed "undefined index" error on fblike shortcode when no $post variable is available and no custom URL is set. Make sure shortcodes.js only loads when required. + +2011.10.06 - version 4.6.3 + * admin-interface.php - Make sure the theme version checker receives the correct theme version number when a child theme is in use. + * admin-functions.php - added is_ssl to google font loader. Added more google fonts. + * admin-shortcodes.php - added is_ssl to google font loader + +2011.10.05 - version 4.6.2 + * admin-sbm.php - Replaced call to is_attach() function with call to is_attachment(). + * admin-shortcodes.php - Added optional "title" attribute to the icon link shortcode. + * /js/shortcode-generator/shortcodes/ilink.js - Added generator field for optional "title" attribute in the icon link shortcode generator. + * admin-functions.php - Pass $args array through to "woo_breadcrumbs_trail" filter as a second parameter (filter now accepts $trail and $args). + * admin-backup.php - Added is_array() checks to each $options call in the backup manager, to prevent "foreach" warning messages. + * admin-style.css - Adjusted CSS to display the theme update notifier update notice. + * admin-setup.php - Remove rewrite rules flush in admin_head on each load (now only flush rewrite rules on theme activation and on theme options save). + * admin-interface.php - Added transient (set for 24 hours) to theme version checker, and converted theme update notifier to a WordPress admin notice at the top of the "Theme Options" screen. Flush rewrite rules when saving the "theme Options". + +2011.09.30 - version 4.6.1 + * admin-functions.php - added new Google webfonts + +2011.09.22 - version 4.6.0 + * admin-functions.php - Modified post type archives support and fixed "double 'posts' page link" issue in woo_breadcrumbs(). Make "less than a minute ago" and "about a minute ago" strings translatable in Twitter widget JavaScript. + * admin-interface.php - Move save logic for theme options into a separate function and add support for non-JavaScript saving of theme options, framework settings and SEO settings. + * admin-framework-settings.php, + admin-seo.php - Make sure "woo_save" field is present, as well as form method is set to "post". + * admin-shortcodes.php - Added support for "language" parameter to Google +1 shortcode and it's generator. Adjusted the shortcode to use HTML5 valid syntax, instead of tags. + * /js/shortcode-generator/shortcodes/google_plusone.js - Added language selector to generator. + +2011.09.16 - version 4.5.4 + * admin-interface.php - Adjust theme update notification links to point to the new theme "Downloads" page in the WooThemes Account Dashboard. + +2011.09.07 - version 4.5.3 + * admin-interface.php - Fixed bug in theme update notification checker, to retrieve only the latest version number. + +2011.09.05 - version 4.5.2 + * admin-shortcodes.php - Fixed "only first thumbnail displays in related posts shortcode" issue. + +2011.08.30 - version 4.5.1 + * admin-backup.php - Make sure the export tool notice displays only on the "Backup Settings" screen. + +2011.08.26 - version 4.5.0 + * admin-backup.php - Revamped theme options backup functionality. + * admin-shortcodes.php - Make sure Digg and TweetMeme shortcodes use the current $post permalink if no custom URL is specified. + * admin-functions.php - Added woo_get_posts_by_taxonomy() function, for retrieving posts by taxonomy. + * admin-interface.php - Fixed nonce check on WooSEO reset logic. + * admin-framework-settings.php - Removed legacy backup script. + +2011.08.25 - version 4.4.4 + * admin-functions.php - Twitter "time ago" strings are now translatable on the "woothemes" textdomain. Added argument to woo_breadcrumbs() to display the path to the posts page, if a posts page and static front page are set. + * admin-medialibrary-uploader.php - Added "woothemes" textdomain to several translatable strings. + * admin-sbm.php - Fixed undefined index error when searching through custom taxonomy sidebars. + +2011.08.19 - version 4.4.3 + * admin-sbm.php - Adjusted Sidebar Manager dependencies logic to resolve dependencies issues, notified after V4.3.7. + +2011.08.18 - version 4.4.2 + * thumb.php - version 2.8 and fixed cache folder to use the old one in theme folder. + +2011.08.18 - version 4.4.1 + * admin-functions.php - adds timthumb update function + * admin-interface.php - adds timthumb update function menu item and admin notice + +2011.08.15 - version 4.4.0 + * thumb.php - added TimThumb to WooFramework + * admin-functions.php - change woo_image() to use thumb.php in functions folder instead + * admin-custom.php - fixed thumb.php path + +2011.08.12 - version 4.3.8 + * admin-setup.php - Added woo_theme_activate action and moved theme options redirect to an action on woo_theme_activate. Added flush_rewrite_rules to admin_head on theme activation. + * admin-interface.php - Made "Options Saved", "Options Reset" and text in the nav bar (theme docs, changelog, etc) translatable. + +2011.08.11 - version 4.3.7 + * admin-sbm.php - Reverted to V4.3.1 of the Sidebar Manager and made additional fixes from there, regarding sidebar dependencies. + * admin-shortcodes.php - Added "use_post_url" attribute to Twitter shortcode, to enable automatic retrieval of post URLs when used with archive screens. + * /js/shortcode-generator/shortcodes/twitter.js - Added "use_post_url" option to Shortcode Generator for the Twitter shortcode. + +2011.08.08 - version 4.3.6 + * admin-functions.php - Added new Google Fonts + * admin-sbm.php - Resolved sidebar dependencies logic issue with custom post types, post type archives and custom taxonomies. + +2011.08.03 - version 4.3.5 + * admin-functions.php - Updated regular expression used in woo_embed to get/set width and height of embedded video. + +2011.08.01 - version 4.3.4 + * admin-interface.php - Optimised and resolved preg_replace() bug in the display of certain theme options tabs. + +2011.07.31 - version 4.3.3 + * admin-interface.php - fixed preg_replace bug + +2011.07.31 - version 4.3.2 + * admin-functions.php, + admin-interface.php = Replaced ereg() with preg_match() and ereg_replace() with preg_replace() to fix deprecated notice in PHP 5.3.0. + +2011.07.28 - version 4.3.1 + * admin-sbm.php - Added support for post type archive custom sidebars. + * admin-framework-settings.php - Split "Framework Settings" into "Theme Settings" and "Admin Settings", and added theme option to move tracking code from footer to header. + * admin-functions.php - Added logic to move tracking code from footer to header. + +2011.07.27 - version 4.3.0 + * admin-shortcodes.php - Added Twitter Follow Button shortcode. Added Google Plus support to Social Profile Icon shortcode. + * js/shortcode-generator/shortcodes/twitter_follow.js - Shortcode generator screen for Twitter Follow Button shortcode. + * js/shortcode-generator/shortcodes/social_icon.js - Added Google Plus support to Social Profile Icon generator. + * js/shortcode-generator/editor_plugin.js - Added Twitter Follow Button link to shortcode generator popup. + +2011.07.25 - version 4.2.6 + * admin-functions.php - fixed thumbnail in RSS to be shown when also when rss excerpt is selected. Fixed woo_image to output full image link with $link arg + +2011.07.24 - version 4.2.5 + * images/ajax-loader.gif - added missing image for tumblog + * admin-functions.php - added new google fonts + +2011.07.23 - version 4.2.4 + * admin-setup.php - added stripslashes to Custom CSS output + +2011.07.21 - version 4.2.3 + * admin-functions.php - SEO: Added custom setting for Post Types and Taxonomy Archive pages for setting robots to "noindex" + * admin-seo.php - SEO: Added custom setting for Post Types and Taxonomy Archive pages for setting robots to "noindex" + * admin-custom.php - Strip slashes from label, description and default value before displaying the post meta fields. + +2011.07.19 - version 4.2.2 + * admin-interface.php - Integrated options sanitization functions from security audit. + +2011.07.19 - version 4.2.1 + * admin-functions.php - updated Google webfonts list + * admin-interface.php - Added theme options preparatory and sanitization functions. + +2011.07.06 - version 4.2.0 + * admin-init.php, + admin-functions.php, + admin-custom.php, + admin-medialibrary-uploader.php, + admin-shortcodes.php, + admin-sbm.php, + admin-seo.php, + admin-framework-settings.php, + admin-custom-nav.php, + admin-setup.php, + admin-interface.php, + admin-tumblog-quickpress.php - Security fixes, enhancements, and error suppression from Mark Jaquith. + * admin-custom.php - Fixed conflict between WooSEO word-count fields and WordPress V3.2. + * /js/shortcode-generator/js/dialog-js.php - Fixed conflict between the Columns shortcode generator and WordPress V3.2. + +2011.07.02 - version 4.1.8 + * admin-functions.php - Made woo_image and woo_embed pluggable + +2011.07.01 - version 4.1.7 + * admin-functions.php - added more google fonts + +2011.06.27 - version 4.1.6 + * admin-custom.php - Optimised database queries surrounding the call to add_meta_box() and added filter to meta box settings. + * admin-functions.php - Fixed logic error surrounding the "use third party data" setting. Added woo_prepare_category_ids_from_option() function. + * admin-functions.php - Added new Google fonts + * admin-interface.php - Added Courier font, applied filter to the WooThemes options machine + * admin-style.css - Added additional options styling + * admin-functions.php - do_shortcode on output in woo_embed so shortcodes work in embed field + +2011.06.20 - version 4.1.5 + * /js/shortcode-generator/js/dialog-js.php - Preserve line breaks when using a textarea in the Shortcode Generator screens. + +2011.06.13 - version 4.1.4 + * admin-shortcodes.php - Added Google +1 Button shortcode. + * js/shortcode-generator/editor_plugin.js - Added Google +1 Button to shortcodes menu. + * js/shortcode-generator/shortcodes/google_plusone.js - Added Google +1 Button generator screen. + * admin-functions.php - Added modification to woo_breadcrumbs() to use get_page_by_title() if the parent page isn't found using get_page_by_path(). + +2011.05.31 - version 4.1.3 + * admin-sbm.php - Adjusted array of custom sidebars to be ordered in a specific fashion, and not by the order in which they were created. + +2011.06.10 - version 4.1.2 + * admin-functions.php - new google fonts + +2011.05.30 - version 4.1.1 + * admin-interface.php - Removed console.log to fix "theme options not saving" issue. + * admin-shortcodes.php - Adjusted HTML outputted by button shortcode to pass W3C validation. + +2011.05.21 - version 4.1.0 + * admin-functions.php - Added new Google Fonts. + * admin-interface.php - Solved bug where typography options were being set to 9px on all typography options. + * admin-functions.php - tweaked woo_image auto image tests, and vt_resize width checks + * admin-setup.php - changed $woo_options to get_option to work with older themes that don't load $woo_options + +2011.05.20 - version 4.0.9 + * admin-setup.php - removed notices from texttitle and tagline options if not set + +2011.05.12 - version 4.0.8 + * admin-functions.php - fixed get_theme_data() in woo_admin_bar_menu() + +2011.05.11 - version 4.0.7 + * admin-functions.php - added new google fonts + +2011.05.10 - version 4.0.6 + * admin-sbm.php - Fixed bug with taxonomy terms that have children not displaying the correct sidebar widgets. + +2011.05.09 - version 4.0.5 + * admin-shortcodes.php - Fixed warning message if no attributes are set in the contact form shortcode, as well as adding support for checkbox and radio button field types. + +2011.05.05 - version 4.0.4 + * admin-setup.php - Moved woo_load_textdomain() call to fire on "init". + * admin-custom-nav.php, + admin-custom.php, + admin-framework-settings.php, + admin-functions.php, + admin-interface.php, + admin-medialibrary-uploader.php, + admin-sbm.php, + admin-seo.php, + admin-setup.php, + admin-shortcodes.php, + admin-tumblog-quickpress.php - Code clean-up and consistency checks. Replaced calls to bloginfo( 'template_directory' ) and bloginfo( 'template_url' ) with get_template_directory_uri(). + +2011.05.04 - version 4.0.3 + * admin-interface.php - Fixed bug in save logic where arbitrary integers were being inserted into "Subscribe and Connect" text input fields. + * admin-setup.php - fixed bug where site description wasn't showing on older themes that don't have the new site description option. + +2011.05.03 - version 4.0.2 + * admin-interface.php - Make sure slashes are stripped from "text" field type values on save. + * admin-functions.php - Make sure slashes are stripped from all instances of the page title output (woo_title, wp_title and admin_title). + * admin-functions.php - Added generic "ie" body class to all Internet Explorer body classes, as well as an "ie9" body class for use with Internet Explorer 9. + * admin-shortcodes.php - Added optional CSS class field ("css") to the "tabs" shortcode. + * /shortcode-generator/shortcodes/tab.js - Updated "tab" shortcode generator with the new "css" field. + * admin-framework-settings.php - Added support to the exporter for values in "type" fields that are setup as arrays. + * admin-functions.php - vt_resize: Use set width from woo_image when returning image that hasn't been resized. Image will be stretched to fit. Fixes issues where image uploaded is smaller than width of slider etc. + +2011.05.02 - version 4.0.1 + * admin-functions.php - Added new Google webfonts. + +2011.04.25 - version 4.0.0 + * admin-init.php - Version bump. + * admin-setup.php - added option for tagline CSS output from options + +2011.04.25 - version 3.10.1 + * css/tumblog.css - Removed redundant Tumblog style. + +2011.04.20 - version 3.10.0 + * admin-shortcodes.php - Added optional excerpt length, with "read more" link options, to the content toggle shortcode. Added "Share via LinkedIn" shortcode. + * /js/shortcodes.js - Added logic for the excerpt "read more" link in the content toggle shortcode. + * /js/shortcode-generator/shortcodes/toggle.js - Added new shortcode attributes to content toggle shortcode generator screen. + * /js/shortcode-generator/js/dialog-js.php - Added defaultValue logic for text input fields on shortcode generator screens. + * /css/shortcodes.css - Added base CSS styles for the "more text" used if using the optional excerpt in the content toggle shortcode. + * /js/shortcode-generator/js/editor_plugin.js - Added "Share via LinkedIn" shortcode to the Generator menu. + * /js/shortcode-generator/preview-shortcode-external.php - Added custom action hook in the footer, to enable the loading of custom scripts without requiring wp_footer(). + +2011.04.18 - version 3.9.0 + * admin-seo.php - Added support for WordPress SEO by Yoast to WooSEO. + * admin-functions.php - Added support for WordPress SEO by Yoast to WooSEO. + * admin-hooks.php - Added context function and woo_*_atomic() functions for use in hooks, as well as implemented woo_do_atomic() in the various woo hooks. + * admin-functions.php - added new Google fonts + +2011.04.09 - version 3.8.2 + * admin-functions.php - added new google fonts + +2011.04.07 - version 3.8.1 + * admin-functions.php - Added filtering mechanism to woo_title() and adjusted woo_pagination() to always move the raw query string to the end of the pagination links. + +2011.03.30 - version 3.8.0 + * admin-framework-settings.php - Added options to disable WordPress Admin Bar and enable WooFramework admin bar enhancements. + * admin-functions.php - Logic to either disable the WordPress Admin Bar or add WooFramework enhanced navigation menu items. + +2011.03.28 - version 3.7.14 + * admin-shortcodes.php - Corrected new line characters in contact form shortcode. Added "rel" option to social icon shortcode. + * /js/shortcode-generator/shortcodes/social_icon.js - Added field for the "rel" option to the social icon shortcode generator. + +2011.03.18 - version 3.7.13 + * admin-init.php, admin-setup.php, admin-shortcodes.php - made all HEAD output neat + * admin-functions.php - added more google fonts + +2011.03.17 - version 3.7.12 + * admin-functions.php - modified vt_resize to not resize if the width and height of original image are smaller than resized area. + +2011.03.16 - version 3.7.11 + * admin-functions.php - added @ to omit PHP warning message in woo_custom_login_logo() + +2011.03.14 - version 3.7.10 + * admin-express-functions.php - upgraded to use post formats functionality + +2011.03.09 - version 3.7.09 + * admin-interface.php - changed wording on Reset Options button + +2011.03.05 - version 3.7.08 + * admin-shortcodes.php - Allow shortcodes to be added inside the "info box" shortcode. + * admin-sbm.php - Fixed "array_key_exists" warning message after resetting the Sidebar Manager. + +2011.03.02 - version 3.7.07 + * admin-functions.php - Added support for BuddyPress search to woo_pagination(). + * admin-tumblog-quickpress.php - Only load tumblog styles on dashboard + +2011.03.01 - version 3.7.06 + * admin-tumblog-quickpress.php - added additional editor handling + +2011.02.28 - version 3.7.05 + * admin-tumblog-quickpress.php - added safari editor fix + +2011.02.27 - version 3.7.04 + * admin-setup.php - moved woothemes_wp_head() content into seperate pluggable functions + +2011.02.26 - version 3.7.03 + * admin-sbm.php - Fixed conflict between custom page template-based and category-based sidebars. + * admin-sbm.php - Fixed Sidebar Manager reset functionality. + +2011.02.24 - version 3.7.02 + * admin-interface.php - removed deprecated tumblog functions + * admin-tumblog-quickpress.php - upgraded tumblog functions to use post formats functionality + * admin-express-functions-deprecated.php - created deprecated functions file + * admin-express-functions.php - upgraded to use post formats functionality + * /js/shortcode-generator/editor_plugin.js - Changed the method by which we detect the editor button icon. + * /js/shortcode-generator/js/dialog-js.php - Added fixes for supporting Windows-based web servers. + * admin-shortcodes.php - Added code to prevent the warning message in the shortcode preview for the custom typography shortcode. + +2011.02.23 - version 3.7.01 + * admin-functions.php - woo_image(): Added alt tag to custom field images (the_title) + +2011.02.22 - version 3.7.00 + * admin-functions.php - Added woo_pagination() and woo_breadcrumbs() functions. + * admin-shortcodes.php - Added optional tabber title to the tabber shortcode. + * /js/shortcode-generator/shortcodes/tab.js - Added "vertical" alternate style. + * /js/shortcode-generator/js/dialog-js.php - Increased total allowed tabs to 10 in the tabber controller in the shortcode generator. + * /css/shortcodes.css - Added "vertical" alternate style to the tabber shortcode. + + +2011.02.19 - version 3.6.09 + * admin-functions.php - fixed vt_resize() to not remove 1px if the image width is same as resize width + +2011.02.19 - version 3.6.08 + * admin-shortcodes.php - Changed "info box" shortcode to use DIV tag instead of P tag. Removed trailing slash on URLs in the "social icon" shortcode. + * css/shortcodes.css - Updated "info box" style to use DIV tag instead of P tag. + +2011.02.18 - version 3.6.07 + * admin-shortcodes.php - Added "nav-tab" class to tab navigation items in the tabber shortcode. + * js/shortcodes.js - Refined tabber JavaScript. + * css/shortcodes.css - Cleaned up tabber shortcode CSS to support nested unordered and ordered lists. + +2011.02.18 - version 3.6.06 + * admin-functions.php - Fixed bug where Twitter widget was intermittently generating incorrect links to tweets. + * admin-functions.php - added some more Google Fonts + +2011.02.17 - version 3.6.05 + * admin-sbm.php - Added functionality to display the category custom sidebar on single posts in that category in the Sidebar Manager. + * admin-sbm.php - Added a note explaining how the new "category sidebar on single posts" functionality works. + +2011.02.16 - version 3.6.04 + * admin-functions.php - Added fix for using custom post ID in woo_image(). + * admin-shortcodes.php - Added option to use pre-defined colour scheme in button shortcode, open in new window in social icon shortcode and tweaked options in fblike shortcode. + * /js/shortcode-generator/shortcodes/button.js - Added pre-defined colour scheme selection option. + * /js/shortcode-generator/shortcodes/fblike.js - Tweaked options to make sure all options display correctly. + * /js/shortcode-generator/shortcodes/social_icon.js - Added option to open the link in a new window. + * admin-framework-settings.php - Added Sidebar Manager data to the import/export function. + +2011.02.15 - version 3.6.03 + * admin-functions.php - vt_resize() added file_exists check + * admin-functions.php - fixed image placeholder to not show in_the_loop on singular pages + +2011.02.14 - version 3.6.02 + * admin-shortcodes.php - Added social_icon shortcode and restructured contact form shortcode to work within tabber. + * /js/shortcode-generator/shortcodes/social_icon.js - Generator controller for social_icon shortcode. + * /js/shortcode-generator/editor_plugin.js - Added link on the shortcode generator menu for the social_icon. + * /css/shortcodes.css - Adjusted contact form shortcode CSS to accommodate the new code structure. + * admin-functions.php - Tested Google Fonts and fixed several that weren't displaying. + +2011.02.11 - version 3.6.01 + * admin-functions.php - Fixed woo_twitter_script to include retweets + +2011.02.08 - version 3.6.00 + * admin-functions.php - Added support in woo_embed() for html_entity_decode. Fixed spelling mistake on "Kristi" Google Webfont. Fixed seo_follow meta custom field to switch depending on the default option. + * admin-shortcodes.php - New shortcodes ( Dropcap, Text highlight, Abbreviated text, Custom Typography (using Google Fonts), Alt-style support for the tabber, Content Toggle, Ordered and Unordered List Generators, with various alt styles for the bullets). + * admin-shortcode-generator.php - Enqueued colorpicker CSS and JavaScript files for use in the generator. + * admin-style.css - Fixed z-index issue in options screen. + * /css/shortcode-generator.css - Updated styling for shortcode generator. + * /css/shortcodes.css - Added CSS for new shortcodes. + * /images/shortcode-*.png - New images for unordered list style shortcode. + * /js/shortcode-generator/editor-plugin.js - Added additional shortcodes to menu, and new "skip lightbox" functionality for simple shortcodes. + * /js/shortcode-generator/preview-shortcode-external.php - Updated preview to include call to Google Fonts. + * /js/shortcode-generator/shortcodes/* - Added control files for new shortcodes. + * /js/shortcode-generator/js/dialog-js.php - Added additional form field controls. Integrated setup function for the colorpicker. + * /js/shortcodes.js - Added JavaScript for content toggle shortcode. + * admin-shortcodes.php - Refined and tested custom typography shortcode and font loader. + * /js/shortcode-generator/shortcodes/unordered_list.js - Refined functionality to remove list items textarea. + * /js/shortcode-generator/shortcodes/ordered_list.js - Refined functionality to remove list items textarea. + * /js/shortcode-generator/shortcodes/typography.js - Integrated colorpicker. + * /js/shortcode-generator/shortcodes/button.js - Integrated colorpicker. + +2011.02.07 - version 3.5.7 + * admin-shortcode-generator.php - Made shortcode icon available to Authors + +2011.02.05 - version 3.5.6 + * admin-functions.php - Added new google fonts. Fixed issue with auto image thumbnails in related posts shortcode on single post page + +2011.02.02 - version 3.5.5 + * admin-functions.php - fixed woo_image using wrong image in WooTabs on single posts + +2011.02.02 - version 3.5.4 + * admin-framework-settings - commented out Font Stack Beta since not functioning properly and Google Fonts better alternative than non-websafe fonts. + * admin-functions.php - fixed woo_image using wrong image in WooTabs on single posts + * admin-interface.php - fixed SBM hide option + +2011.02.01 - version 3.5.3 + * admin-custom.php - SEO fix for Content Builder. + * admin-tumblog-quickpress.php - Safari dashboard widget editor bugfix. + +2011.01.31 - version 3.5.2 + * admin-functions.php - added new function woo_get_youtube_video_image() to work with new YouTube iframe embed code + * css/admin-shortcodes.css - fixed sixcol_four width + +2011.01.28 - version 3.5.1 + * admin-functions.php - woo_image() added native resizing to placeholder image if it is enabled. Made sure auto thumbs don't show on single posts. + * admin-framework-settings.php - removed reset button as it doesn't work. + * admin-shortcodes.php - Updated tabber shortcode CSS class to "shortcode-tabs". Added optional "URL" field to fbshare shortcode. + * /includes/css/shortcodes.css - Updated tabber CSS class. Added "clear" to tabber container CSS. + * /includes/js/shortcodes.js - Updated tabber JavaScript to reflect new CSS class. + * /includes/js/shortcode-generator/shortcodes/fbshare.js - Controller for the "fbshare" shortcode in the generator. + * /includes/js/shortcode-generator/editor_plugin.js - Added menu item for the "fbshare" shortcode to the generator menu. + +2011.01.21 - version 3.5.0 + * /admin-shortcode-generator.php - Functionality for the shortcode generator. + * /admin-init.php - Require functionality for the shortcode generator. + * /js/shortcode-generator/* - JavaScript and related functionality for the shortcode generator. + * /css/shortcode-generator.css - CSS styles for the shortcode generator dialog box. + * /images/shortcode-icon.png - Icon for the shortcode button on the tinyMCE editor. + * admin-tumblog-quickpress.php - fix to make JS used for tumblog only load in admin area, not in theme. + * admin-shortcodes.php - Added tabber shortcode and enqueue function for shortcodes.js file. + * includes/js/shortcodes.js - Added JavaScript for use in shortcodes. + * includes/css/shortcodes.css - Added styling for contact form shortcode. + +2011.01.20 - version 3.4.14 + * admin-functions.php - output proper alt tag woo_image() + +2011.01.18 - version 3.4.13 + * /js/woo-medialibrary-uploader.js - The "Link URL" field is no longer required to have a value (prevent white screen error). + * admin-custom.php - Removed "mysql_real_escape_string()" calls in order to debug and resolve several issues with custom field data on save. + +2011.01.13 - version 3.4.12 + * admin-functions.php - Added framework settings function for setting custom logo on WP login page. Added function_exists to a few functions. + * admin-framework-settings.php, admin-seo.php - Cleaned up options and added a few more disable menu item options. Added icons. + +2011.01.11 - version 3.4.11 + * admin-functions.php - SEO: Added custom setting in post/page for setting robots to "noindex" + +2011.01.11 - version 3.4.10 + * admin-functions.php - added new google fonts http://code.google.com/webfonts?subset=latin&sort=added + * admin-shortcodes.php - added option to open button shortcode link in new window + +2011.01.10 - version 3.4.09 + * admin-framework-settings.php - Fixed bug in export code generator. + +2011.01.08 - version 3.4.08 + * admin-interface.php - Fixed nonce bug with Font Stacks (beta). + +2011.01.07 - version 3.4.07 + * admin-functions.php - Fixed Coda Google Font + +2011.01.03 - version 3.4.06 + * admin-functions.php - Added woo_encoding_convert() + * admin-custom-nav.php - Removed woo_encoding_convert() + +2010.12.31 - version 3.4.05 + * admin-functions.php - Added 1 new google font + +2010.12.30 - version 3.4.04 + * admin-custom.php - added stripslashes to textarea custom field + +2010.12.28 - version 3.4.03 + * admin-shortcodes.php - added extra height to fblike button with showfaces set to true + +2010.12.26 - version 3.4.02 + * admin-functions.php - Added support for encoding certain HTML entities in SEO META description field, for successful W3C validation. + +2010.12.23 - version 3.4.01 + * admin-init.php - check if WooNav option is enabled in framework settings + * admin-interface.php - removed old WooNav check + +2010.12.20 - version 3.4.00 + * admin-init.php - added content builder support + * admin-custom.php - added content builder support + * admin-interface.php - added content builder support + * admin-style.css - added content builder support + * /images/option-icon-search.png - added image icon + * /images/option-icon-favorite.png - added image icon + * /images/option-icon-upload.png - added image icon + * /images/option-icon-listing.png - added image icon + +2010.12.18 - version 3.3.08 + * admin-functions.php, admin-interface.php - Improved Google Fonts functions. Added more fonts. + +2010.12.15 - version 3.3.07 + * admin-custom.php - Resolved issue with saving of custom meta fields on existing posts. + +2010.12.11 - version 3.3.06 + * admin-functions.php, admin-interface.php - Added new google fonts + +2010.12.11 - version 3.3.05 + * admin-medialibrary-uploader.php - Fixed bug in Media Library uploader on post admin pages. + +2010.12.10 - version 3.3.04 + * admin-functions.php - updated framework updater page styling and copy. + +2010.12.10 - version 3.3.03 + * admin-setup.php - fixed alt stylesheet bug + +2010.12.09 - version 3.3.02 + * admin-functions.php - Fixed issue with html_entity_decode() function in PHP4. + +2010.12.08 - version 3.3.01 + * admin-custom.php - Sanitised $_REQUESTs. + * admin-framework-settings.php - Sanitised $_REQUESTs. Added nonce (carries over through other options pages). + * admin-functions.php - Sanitised $_REQUESTs. Sanitised woo_style_path() GET/POST variables. + * admin-interface.php - Sanitised $_REQUESTs. Added nonce to save and reset functions. + * admin-medialibrary-uploader.php - Sanitised $_REQUESTs. + * admin-sbm.php - Sanitised $_REQUESTs and $_POST'ed values. + * admin-seo.php - Sanitised $_REQUESTs. + * admin-setup.php - Sanitised $_REQUESTs. + * js/woo-scripts.js - Resolved JavaScript selector issue, causing label on image width/height fields to hide on save. + +2010.12.06 - version 3.3.00 + * admin-interface.php - removed Custom Navigation menu item, and added option to enable it in Framework Settings + * admin-framework-settings.php - removed Custom Navigation menu item, and added option to enable it in Framework Settings + * admin-functions.php - fix in woo_image for WPBundle post thumbnails + +2010.12.06 - version 3.2.13 + * admin-functions.php - woo_image links to full image if single post instead of natively resized WP Thumbnail + +2010.12.01 - version 3.2.12 + * js/woo-medialibrary-uploader.js - Added additional support for non-image files. + * admin-setup.php - added if function_exists to load_child_theme_textdomain + +2010.11.30 - version 3.2.11 + * admin-functions.php - fixed bug with native image resizer image width equal to specified width + +2010.11.29 - version 3.2.10 + * admin-sbm.php - Fixed bug in sidebar generation for post tags (test case: "video" tag). + * admin-shortcodes.php, css/shortcodes.css - added alert icon link + +2010.11.25 - version 3.2.09 + * admin-sbm.php - Added support for custom post types in the Sidebar Manager. + * admin-functions.php - added ie7 and ie6 classes to browser_body_class + +2010.11.23 - version 3.2.08 + * admin-functions.php - woo_image() native resize check and set width of image before resize to avoid error + +2010.11.22 - version 3.2.07 + * admin-sbm.php - Fixed bug in sidebar determination logic with archives and static posts page. Added logic to pull sidebar data from parent sidebar, instead of as static XHTML tags. + * admin-setup.php - added load_textdomain to look in /lang folder of parent theme and child theme + +2010.11.19 - version 3.2.06 + * admin-medialibrary-uploader.php - Fixed bug with standard values (std) logic. Removed preview if the file isn't an image. + * js/woo-medialibrary-uploader.js - Neatened up call to Media Library thickbox. Removed preview if the file isn't an image. + * admin-functions.php - Changed to using html_entity_decode() function on meta description to allow special characters (user request). + +2010.11.16 - version 3.2.05 + * admin-sbm.php - Resolved conflict between specific category and template hierarchy sidebars. + +2010.11.15 - version 3.2.04 + * admin-interface.php - made functions pluggable + * admin-functions.php - removed unused function (debug output) + * admin-framework-settings.php - removed unused function (debug output) + * admin-style.css - fixed position of screenshot + +2010.11.13 - version 3.2.03 + * admin-setup - added check for non-existing array in woo_head_css() + +2010.11.12 - version 3.2.02 + * admin-setup.php - improved/cleaned up code + * admin-theme-page.php - REMOVED FILE + * admin-functions.php - added Buy Themes page function + * admin-init.php - removed admin-theme-page.php require + * admin-init.php - Bumped to new version + * js/woo-medialibrary-uploader.js - Fixed bug with send_to_editor + +2010.11.10 - version 3.2.01 + * admin-functions.php - fixed update version checker + * admin-interface.php - added select box styling + * admin-style.css - added select box styling + * includes/js/woo-scripts.php - added select box styling + +2010.11.10 - version 3.2.00 + * admin-init.php - Updated framework version. Require the Media Library-driven uploader functions. + * admin-interface.php - Added support for the Media Library-driven uploader. + * admin-medialibrary-uploader.php - The functions for the Media Library-driven uploader. + * admin-style.css - Updated styles for Media Library-driven uploader. + * admin-custom.php - Updated styles for Media Library-driven uploader. + * js/woo-medialibrary-uploader.js - JavaScript code for the Media Library-driven uploader. + * admin-functions.php - updated woo_image 'url' function + +2010.11.09 - version 3.1.11 + * admin-functions.php - Improved logic with new native resize. Added option for Post URL ( 'url') to the link parameter + +2010.11.08 - version 3.1.10 + * admin-style.css - styling updates for options panel + * admin-shortcodes.php - Fixed fbshare url, added more params to fblike + * admin-functions.php - Added support for native resize of WP post thumbnails + * admin-setup.php - modified WP post thumbnail setup + +2010.11.04 - version 3.1.09 + * admin-tumblog-quickpress.php - Added handler for ajax date and time posting to allow correct values. + +2010.11.03 - version 3.1.08 + * admin-sbm.php - Added fix for custom taxonomies sbm frontend output. + +2010.11.02 - version 3.1.07 + * admin-functions.php - fixed html_entities in woo_meta (line 1529) + * admin-shortcodes.php - added facebook share button. added fourcol_two columns. + * css/shortcodes.css - column shortcode + +2010.11.01 - version 3.1.06 + * admin-style.css - Fixed SBM IE styling bugs + +2010.10.28 - version 3.1.05 + * admin-sbm.php - Added patch to jQuery for IE .live( 'submit') issue. + +2010.10.27 - version 3.1.04 + * admin-functions.php - updated the woo_get_fw_version() function with a new mothod + +2010.10.25 - version 3.1.03 + * admin-functions.php - added fallback to woo_title() if output is empty (CPT fallback) + * admin-functions.php - added "-" in search for youtube thumbnail video ID + * admin-functions.php - updated logic in woothemes_framework_update_page() + +2010.10.24 - version 3.1.02 + * admin-functions.php - added classes to woo_twitter_script() + +2010.10.21 - version 3.1.01 + * admin-functions.php - fix on YouTube thumbnail generation logic in woo_image() + +2010.10.21 - version 3.1.00 + * admin-interface.php - Added icon option to headings in option panel. + * admin-style.css - Added basic options icons. Tweaked options styling. + * /images/ - Added new basic options icons + +2010.10.21 - version 3.0.13 + * admin-functions.php - added automatic youtube thumbnails to woo_image + +2010.10.20 - version 3.0.12 + * admin-interface.php - added unit option to typography. + * admin-style.css - updated styling for typography. + +2010.10.18 - version 3.0.11 + * admin-custom.php - Removed code segment that check for empty fields for Custom Settings boxes + +2010.10.18 - version 3.0.10 + * admin-interface.php, admin-functions.php - Added new google fonts + +2010.10.12 - version 3.0.09 + * admin-sbm.php - Fixed a syntax error in the woo_active_sidebar() function. + +2010.10.11 - version 3.0.08 + * admin-functions.php - Removed Robots when third party SEO plugins are activated + +2010.10.08 - version 3.0.07 + * admin-interface.php - Removed all wpdb queries and replaced with alternative functions. + * admin-functions.php - Removed all wpdb queries and replaced with alternative functions. Removed "insert page" shortcode. + +2010.10.07 - version 3.0.06 + * admin-sbm.php - Bug fix regarding some categories and not returning data for creating sidebars. + * admin-functions.php - woo_image: removed force get_options + +2010.10.06 - version 3.0.05 + * admin-sbm.php - Added check for sidebars only being called with integers. + +2010.10.06 - version 3.0.04 + * admin-functions.php - fixed bug in woo_image where $single was always true + +2010.10.05 - version 3.0.03 + * admin-sbm.php - Added default parameter to the woo_sidebar() function. + +2010.10.04 - version 3.0.02 + * admin-interface.php - Added string builder logic. + * admin-style.css - Added styles for string builder + * admin-framework-settings.php - Added new Font Stack Builder option, + +2010.09.30 - version 3.0.01 + * admin-interface.php - Added reset function for SBM. + * admin-sbm.php - Added reset and error checking functions. + +2010.09.17 - version 3.0.00 + * admin-sbm.php - Added new files for Sidebar Manager + * admin-interface.php - Enabled the Sidebar Manager in the backend + * admin-style.css - Added CSS for new Sidebar Manager + * Added preliminary stack builder source. + +2010.09.14 - version 2.9.28 + * admin-functions.php - Added fix in woo_image to not apply WM Multisite url fix if external image url is sent through. Added crop alignment option to woo_image + +2010.09.14 - version 2.9.27 + * admin-functions.php - added alternative taxonomies to be added to the SEO keyword output. + +2010.09.13 - version 2.9.26 + * admin-interface.php - fixed time input masking + +2010.09.12 - version 2.9.25 + * css/shortcodes.css - revised boxes + * admin-shortcodes - revised boxes + +2010.09.10 - version 2.9.24 + * css/shortcodes.css - revised buttons + * admin-functions.php - bug fix: removed alt tag from anchor from woo_image if resizer off + +2010.09.10 - version 2.9.23 + * admin-shortcodes.php - Revised buttons, started with JS toggle + * css/shortcodes.css - revised buttons + +2010.09.09 - version 2.9.22 + * admin-functions.php - fixed woo_image to not show duplicate image in single post when grabbing image from post + +2010.09.07 - version 2.9.21 + * admin-setup.php - Fixed some logic with loading complex options from previously saved options. + * admin-express-functions.php - fixed iphone function bug for tumblog themes + * admin-interface.php - added handling for apostrophes in theme option drop downs + * admin-functions.php - removed "beta" warning from Update Framwork page + +2010.09.06 - version 2.9.20 + * admin-interface.php - added manual off for SBM until it's ready for realease. + * admin-custom.php - Added fix to constants with correct php syntax. + * admin-sbm.php - ADDED new functionality + +2010.09.03 - version 2.9.19 + * admin-interface.php - Fixed a undefined index php error. + +2010.09.01 - version 2.9.18 + * admin-shortcodes.php - Removed function to remove shortcodes from RSS feeds, as it strips WP shortcodes too. Fixed ilink icon parameter. + * admin-functions.php - changed str_ireplace to str_replace (php4) + +2010.09.01 - version 2.9.17 + * admin-shortcodes.php - added function to remove excessive paragraphs and linebreaks from shortcodes + +2010.08.31 - version 2.9.16 + * css/shortcodes.css - fixed styling for box shortcode to work properly on some older themes. New ilink styling + * admin-shortcodes.php - added new ilink shortcode + * admin-framework-settings.php - made the options panel output disabled by default + * admin-functions.php - made the options panel output disabled by default + +2010.08.30 = version 2.9.15 + * admin-interface.php - Added extra markup for SEO Character Counters + * admin-custom.php - Added Character counter script, and removed td tags outputs. Fixed some SEO show/hide functionality. + +2010.08.25 - version 2.9.14 + * admin-tumblog-quickpress.php - Checks for (and includes) iPhone app functionality for tumblog themes + * admin-express-functions.php - iPhone app functionality file added + +2010.08.24 - version 2.9.13 + * admin-tumblog-quickpress.php - Bug fix for tumblog dashboard widget + +2010.08.21 - version 2.9.12 + * admin-shortcodes.php - added icon links shortcode. Fixed box shortcode to take more input. Removed wpautop(). Remove Shortcode from RSS feed. + * css/shortcodes.css - new shortcode styling + +2010.08.21 - version 2.9.11 + * admin-shortcodes.php - added missing sixcol shortcodes + * css/shortcodes.css - added missing sixcol shortcodes + +2010.08.20 - version 2.9.10 + * admin-shortcodes.php - added quote shortcode + * css/shortcodes.css - added quote shortcode css + * images/quote.png - added quote.png + +2010.08.20 - version 2.9.09 + * admin-init.php - added require admin-shortcodes.php + * admin-shortcodes.php - ADDED - new file to hold shortcodes. Added HR/Divider and Columns shortcodes. + * admin-functions.php - removed shortcodes. Added ' to $_REQUEST[style] + * admin-setup.php - removed decode option function + +2010.08.18 - version 2.9.08 + * admin-framework-settings.php - Added remove generator meta tags option + * admin-init.php - Added remove generator meta tags option + +2010.08.17 - version 2.9.07 + * admin-setup.php - Enclosed string arguments. Bug Fix + * admin-functions.php - Added check for valid Taxonomy archive outputs in woo_title(); + * admin-interface.php - Removed unused tumbleblog upgrade code. + +2010.08.16 - version 2.9.06 + * admin-custom-nav.php - Added notice to users that they should use the WordPress 3.0.x Menu Management instead of WooNav. + +2010.08.15 - version 2.9.05 + * admin-functions.php - Fixed shortcodes.css to be included from parent theme, not child theme. + +2010.08.13 - version 2.9.04 + * admin-functions.php - Added syntax to be selective about SEO custom options and post types. + +2010.08.13 - version 2.9.03 + * admin-functions.php - Added twitter button shortcode + * /css/shortcodes.css - Added shortcodes CSS + +2010.08.12 - version 2.9.02 + * admin-functions.php - Added image to related posts shortcode + * /css/shortcodes.css - Added shortcodes CSS + +2010.08.12 - version 2.9.01 + * admin-interface.php - Added handling for Tumblog Upgrade function + * admin-tumblog-quickpress.php - Added Tumblog 2.0.0 functionality + * /css/tumblog.css - Added styling for Tumblog 2.0.0 functionality + * /js/tumblog-ajax.js - Added js for Tumblog 2.0.0 functionality + +2010.08.11 - version 2.9.00 + * admin-functions.php - Added shortcodes + * /css/shortcodes.css - Added shortcodes CSS + * /images/ - Added icons for shortcodes + +2010.08.06 - version 2.8.13 + * admin-functions.php - Added default image placeholder + * adimin-framework-settings.php - Added default image placeholder + +2010.08.06 - version 2.8.12 + * admin-functins.php - Fix so woo_title works on older versions of WP (pre 3.0) + +2010.08.06 - version 2.8.11 + * admin-functins.php - Added info box for SEO custom fields + * admin-custom.php - Added info box for SEO custom fields + * admin-seo.php - Added info box for SEO custom fields + +2010.08.05 - version 2.8.10 + * admin-functions.php - woo_title() fixed bug to show custom page title on pages + +2010.08.02 - version 2.8.09 + * admin-functions.php - Google Fonts: removed add_action. Must be loaded in includes/theme-actions.php or functions.php in the theme to use. + +2010.08.01 - version 2.8.08 + * admin-functions.php - Google Fonts: Fixed PHP warning if $woo_options not set + +2010.08.01 - version 2.8.07 + * admin-functions.php - Added Google Fonts stylesheet generator + * admin-interface.php - Added Google Fonts options + +2010.07.26 - version 2.8.06 + * admin-interface.php - Added fix for secondary inputs resetting on zero values + +2010.07.26 - version 2.8.05 + * admin-tumblog-quickpress + +2010.07.26 - version 2.8.04 + * admin-tumblog-quickpress.php - User Permissions fix: does not allow any user without publish_posts capability to see the dashboard widget. + +2010.07.19 - version 2.8.03 + * admin-functions.php - SEO upgrades and fixes to archive indexing and outputs. + +2010.07.14 - version 2.8.02 + * admin-functions.php - added Taxonomy Archive title information to SEO function woo_title() + +2010.07.12 - version 2.8.01 + * admin-custom.php - wpmu fix for versions prior to 3.0 - get_post_types() not supported in 2.9.x wpmu + +2010.07.08 - version 2.8.00 + * BUMP VERSION + +2010.07.08 - version 2.7.29 + * admin-setup.php - Added woo_comment_reply() (moved out from header.php), added function_exists to some functions + +2010.07.07 - version 2.7.28 + * admin-framework-settings.php - removed the framework beta option, now permanently enabled. + * admin-functions.php - Fixed and added SEO keyword output for new options + * admin-interface.php - Changed loading credentials for framework update page. + * admin-seo.php - Added new options for adding site wide keywords and descriptions. + +2010.07.06 - version 2.7.27 + * admin-seo.php - Added SEO option to disable the custom fields. + * admin-custom.php - Added functionality to disable the SEO custom fields. + * admin-functions.php - Changes some Special character encoding in the Keyword and Description meta output + +2010.07.02 - version 2.7.26 + * admin-custom.php - Made WooThemes Custom Fields/Custom Settings appear on custom post types automatically. + +2010.06.30 - version 2.7.25 + * admin-seo.php - Updated wording for SEO options. + +2010.06.28 - version 2.7.24 + * admin-functions.php - Adjusted woo_meta(); and other SEO functions due to third party plugin queries. + +2010.06.25 - version 2.7.23 + * admin-functions.php - added fix for possible WordPress 3 Multisite on blog.dir issues. (Commented out globals $blog_id;) + +2010.06.15 - version 2.7.22 + * admin-seo.php - Added notice for WordPress sites set to private. + +2010.06.15 - version 2.7.21 + * admin-functions.php - Uniformly sanatized SEO description outputs. + +2010.06.01 - version 2.7.20 + * admin-function.php - Fixed some possible issues with get_the_post_image in woo_image. Also fixed SEO keywords issues. + * admin-interface.php - Changed JS to iterate throughout hidden classes/options more accurately. + * admin-setup.php - Cleared up some php notice errors. + +2010.06.01 - version 2.7.19 + * admin-custom.php - Modified the output to store relative ID's into the page markup for custom fields. + +2010.05.27 - version 2.7.18 + * admin-functions.php - Formalized the the_post_thumbnail to work with rest of the woo_image structure. Post linking and WPMU safe. + +2010.05.27 - version 2.7.17 + * admin-custom-nav.php - Backend fix for 2nd+ level category descriptions in the Add an Existing Category box. + +2010.05.26 - version 2.7.16 + * admin-function - Added fix for images used elsewhere in a theme with custom width atributes (html resizing) + +2010.05.26 - version 2.7.15 + * admin-custom-nav.php - added error trapping for function mb_detect_encoding() which checks charset type. + * admin-setup.php - fixed index check on texttitle, Adjusted save on activate + + +2010.05.24 - version 2.7.14 + * admin-interface.php - Rectified problems with $woo_options not resetting and repopulating on import. + +2010.05.18 - version 2.7.13 + * admin-setup.php - fixed output of custom css from options + +2010.05.12 - version 2.7.12 + * admin-interface.php - Added jQuery for collapsable functionality in option page. + * admin-functions.php - Modified woo_image() to handle WordPress image. + * admin-setup.php - Added thumbnail setup + +2010.05.10 - version 2.7.11 + * admin-setup.php - added check for textitle from old theme options. + +2010.05.03 - version 2.7.10 + * admin-custom-nav.php - added stripslashes to handle escape chars for before_title and after_title params, russian chars now supported, current_page_parent class added, 2nd + level apostrophe fix + * admin-init.php - Versioned up to 2.7.10 + * admin-functions.php - Modified woo_image to support gallery functionality, modified woo_title() and woo_meta() to use plugin data and display paging details. + * admin-style.css - Added new classes for 'info' options + * admin-seo.php - Added more options to Options Page + * admin-interface.php - Added 'info' option. + +2010.04.29 - version 2.7.09 + * admin-custom-nav.php - added depth arg to frontend output + * admin-setup.php - Modified theme activate save function to retain non-common options. + +2010.04.23 - version 2.7.08 + * admin-interface.php - Adjust image upload return class to match corresponding CSS class for resizing. + * admin-init.php - Versioned up to 2.7.8 + +2010.04.19 - version 2.7.07 + * admin-funtions.php - Added support for removing special from file uploads. + * admin-custom.php - Added support for removing special from file uploads. + * style.css - Added z-index to options wrapper + +2010.04.14 - version 2.7.06 + * admin-tumblog-quickpress.php - Swopped out default WP editor for simpler nicEdit. + * /js/nicEdit.js - added nicEdit wysiwyg editor compressed source js. + * /js/tumblog-ajax.js - modified to support nicEdit. + * /images/nicEditorIcons.gif - added editor icons file. + * admin-init.php - Versioned up to 2.7.6 + +2010.04.12 - version 2.7.05 + * admin-framework-settings.php - Changed wording for Framework Core Updater option. + * admin-interface.php - Modified version checker, avoids possible user theme rename. + * admin-functions.php - Updated Framework Updater to ignore lesser versions. + * admin-init.php - Versioned up to 2.7.5 + +2010.04.12 - version 2.7.04 + * admin-init.php - Versioned up to 2.7.4 + * admin-functions.php - Fixed SEO and 404 page functionality + +2010.04.12 - version 2.7.03 + * admin-init.php - Versioned up to 2.7.3 + * admin-tumblog-quickpress.php - removed reference to old validation css + +2010.04.09 - version 2.7.02 + * admin-init.php - Versioned up to 2.7.2 + * admin-interface.php - Added Datepicker and time controls + * admin-custom.php - Added Datepicker and time controls + +2010.04.08 - version 2.7.01 + * admin-init.php - Versioned up to 2.7.1 + * admin-interface.php - Fixed error with default values for textareas + +2010.03.29 - version 2.7.00 + * MAJOR UPDATE! + * Added admin-seo.php & admin-init.php + * Changed base theme loading structure to admin-init.php, to resolve pressure from themes functions.php + * Converted all alternative options pages (SEO & Framework Settings) to The Machine and the AJAX save action. + * Added resets to main options areas. + * Added branding and super user support. + * Added SEO support. + * WooNav fixes for edit error, js error, changeover to wordpress default scripts - admin-custom-nav.php & custom_menu_dynamic_items.js & custom_menu_initial_items.js + * Tumblog functionality fixes for dashboard widget and cURL error - admin-tumblog-quickpress.php & admin-functions.php + * JS minified - jquery.autocomplete.js & ui.datepicker.js + +2010.03.25 - version 2.6.05 + * admin-custom-nav.php - bug fix for special chars and the sidebar widget - added block class to nav widget, updated db links field to use text instead of varchar + * /js/custom_menu_dynamic_items.js - bug fix for special chars + +2010.03.22 - version 2.6.04 + * admin-functions.php - Updated WPMU test in woo_image + +2010.03.18 - version 2.6.03 + * admin-functions.php - Comleted first version of WooFramework Updater with Direct and FTPext support + +2010.03.18 - version 2.6.02 + * admin-custom.php - improved calendar control for multiple calendars + * admin-interface.php - improved calendar control for multiple calendars + +2010.03.18 - version 2.6.01 + * admin-custom-nav.php - bug fix for custom menu items current page item class if using static home page + +2010.03.17 - version 2.6.00 + * admin-custom.php - added handler for post/page metabox for calendar + * admin-interface.php - added handler for theme option type=calendar and JS, CSS scripts + * /js/ui.datepicker.js - Added datepicker JS + * /css/datepicker/* - Added css and images for datepicker + +2010.03.16 - version 2.5.07 + * admin-custom-nav.php - bug fix for custom menu items current page item class + * admin-setup.php - added define( 'THEME_FRAMEWORK','woothemes' ); + +2010.03.15 - version 2.5.06 + * admin-custom-nav.php - added support for umlauts and other special chars + +2010.03.15 - version 2.5.05 + * admin-functions.php - added 'Off' functionality to the url shortener + +2010.03.04 - version 2.5.04 + * admin-functions.php - fixed a bug with getting first inline image in post in woo_image + +2010.03.04 - version 2.5.03 + * admin-custom-nav.php - bug on opening external links in new window + +2010.03.04 - version 2.5.02 + * admin-function.php - switched file_get_contents for curl + +2010.03.03 - version 2.5.01 + * admin-tumblog-quickpress.php - added tag support for Tumblog Dashboard Widget + +2010.03.03 - version 2.5.00 + * admin-functions.php - Made Generic woo_short_url($url) function that uses bit.ly or tinyurl + +2010.03.03 - version 2.4.09 + * admin-functions.php - Added TinyUrl shortener function getTinyUrl($url). + +2010.03.03 - version 2.4.08 + * admin-functions.php - Fixed a missing character in the woo_image function regarding non resized images. + +2010.03.03 - version 2.4.07 + * admin-functions.php - added double check for WPMU $blog_id + +2010.03.02 - version 2.4.06 + * admin-functions.php - line 153, removed the extra [0] from the $first_img = $matches[1][0]. Was giving an error. + +2010.03.02 - version 2.4.05 + * admin-custom-nav.php - removed id's from menu items so that menu can validate + +2010.03.02 - version 2.4.04 + * admin-tumblog-quickpress.php - fixed Audio and Image upload so that they now attach to the post when using Woo Quickpress widget + +2010.03.01 - version 2.4.03 + * admin-functions.php - Converted woo_get_embed into woo_embed (like woo_image), and created a working depreciation of woo_get_image. + +2010.02.25 - version 2.4.02 + * admin-interface.php - fixed bug with Tahoma font selection + +2010.02.25 - version 2.4.01 + * admin-functions.php - woo_image is upgraded with 'src' to accept image url's for dynamic resizing, and 'meta' for title and alt text. + +2010.02.24 - version 2.4.00 + * admin-functions - Added Dynamic Height calculation to woo_get_embed. + * admin-tumblog-quickpress and associated files - added tumblog files + +2010.02.23 - version 2.3.08 + * admin-interface.php - Fixed bug with saving mechanism. + +2010.02.16 - version 2.3.07 + * admin-interface.php - Fixed ajax callback NOTICE errors, fixed color box bug, removed cleanSource() from image uploader in the machine. + * admin-framework-settings.php - Fixed XML markup error. + +2010.02.15 - version 2.3.06 + * admin-framework-settings - Modified SQL queries for possible compatibility issues. + * admin-interface.php - Modified SQL queries for possible compatibility issues. + +2010.02.10 - version 2.3.05 + * admin-framework-settings.php - ADDED - put most of the Framework settings HTML interface in a seperate file. + * admin-framework-update.php - ADDED - New file that will act as the template for framework updates. (BETA) + * admin-interface.php - Wrote new checks for update messages. Along with save functions for new framework settings. + * admin-themes-page.php - Modified with WP_Error checks. + +2010.02.10 - version 2.3.04 + * admin-functions.php - Added woo_active_template() function for checking if a template is in use. + +2010.02.07 - version 2.3.03 + * admin-interface.php - added more fonts / stacks + +2010.02.07 - version 2.3.02 + * admin-setup.php - custom css wasn't outputted if text title option enabled + +2010.02.05 - version 2.3.01 + * admin-custom.php - Don't show thumb.php in image custom field if there isn't any image + * admin-functions.php - Added a double check for WPMU files path + +2010.02.03 - version 2.3.00 + * admin-interface.php - Added code to compile all options into one database row, woo_options. + +2010.02.03 - version 2.2.08 + * css/custom_nav.css - fixed child item margin + * admin-functions.php - defined $_REQUEST['options'] + * admin-interface.php - $update_message was undefined variable echo only if isset + * admin-interface.php - fixed line 880 to check if variable isset + * admin-custom-nav.php - implemented custom nav fixes and upgrades (upgrading made easier, version added, max width, anchor titles, reset confirmation, optional open link in new window) + +2010.02.02 - version 2.2.07 + * admin-custom-nav.php - fixed current_page_item bug which occurs when pretty permalinks are on + +2010.02.02 - version 2.2.06 + * admin-functions.php - Modified typography option + * admin-style.css - Modified typography option + * admin-interface.php - Removed usage of thumb.php to display uploaded image. + +2010.02.01 - version 2.2.06 + * admin-setup.php - Added functionality for editing menu items, updated menu add, current-page-item class, added reset button + +2010.02.01 - version 2.2.05 + * admin-hooks.php - Updated with new hook definitions + +2010.01.29 - version 2.2.04 + * admin-setup.php - Automatically show Options Panel on activate + +2010.01.27 - version 2.2.03 + * admin-setup.php - Cleared some PHP Notice warnings. + * css/custom_nav.css - added ico-arrow to WooNav + * images/ico-arrow.png - added ico-arrow to WooNav + +2010.01.27 - version 2.2.02 + * admin-custom.php - Fixed a file upload handle error + +2010.01.27 - version 2.2.01 + * admin-functions.php - fixed parameter link in woo_get_image + +2010.01.26 - version 2.2.00 + * admin-interface.php - Added custom navigation menu optional functionality. + * admin-setup.php - Added custom navigation menu optional functionality. + * admin-custom-nav.php - added to repository - all custom navigation menu functionality. + * admin-functions.php - Added function to show options on html page + * admin-inteface.php - Added new framework setting to disable output of options page + +2010.01.26 - version 2.1.02 + * admin-functions.php - Cleaned woo_image function and added functionality to get first image in post (not attached). + +2010.01.25 - version 2.1.01 + * admin-functions.php - Depreceated woo_get_image and forwarded it to woo_image. cleaned up and fixed cleansource function to work properly. + * admin-style.css - removed import reset.css + +2010.01.12 - version 2.1.00 + * admin-hooks.php - Definition of hooks that can be used in theme + * admin-functions.php - Added function for analytics and IE output in head + * admin-setup.php - Added function to output css in head. Removed legacy comments function. + +2009.12.23 - version 2.0.00 + * MAJOR Update (Beta) + * Temporary check built in to prevent 2.9 from bombing out on the RSS functions + +2009.12.18 - version 1.2.03 + * admin-functions.php - Fixed WPMU in woo_get_image when resizer disabled + +2009.11.02 - version 1.2.02 + * admin-functions.php - Set thumb.php parameters to have width first instead of height. + +2009.10.12 - version 1.2.01 + * admin-functions.php - Added support for WPMU in woo_get_image() + +2009.09.24 - version 1.2.00 + * admin-interface.php - Added icons to titles + * admin-interface.php - Rewritten jquery slider animation to work with new icons + * admin-style.css - New styling for icons + * /images/plus.png - ADDED + * /images/down.png - ADDED + * /images/up.png - ADDED + +2009.09.23 - version 1.1.01 + * admin-setup.php - Load default.css if options panel has not been saved yet. + * admin-interface.php - Fixed 'reset' not working properly. + * admin-interface.php - Replaced Woo-icon in back-end to reference local file. + * /images/woo-icon.png - ADDED + +2009.09.15 - version 1.1.00 + * admin-functions.php - Added sort order for "auto image" + * admin-functions.php - Only add rel="lightbox" when linking directly to images, and not permalinks. + +2009.09.07 - version 1.0.09 + * admin-functions.php - Added suckerfish hack to woo_get_embed + * admin-functions.php - Added $class to img tag when no resizer used + +2009.08.31 - Version 1.0.08 + * admin-interface.php - Converted file uploads to wp_handle_upload() + * admin-custom.php - Converted file uploads to wp_handle_upload() + * admin-functions.php - Added IE7 fix of empty height on woo_get_image + * admin-functions.php - Removed "permanent link to" from woo_get_image + * admin-functions.php - Added rel="lightbox" to woo_get_image + +2009.08.26 - Version 1.0.07 + * admin-setup.php - Added localization + * admin-setup.php - Added custom.css stylesheet link insert into the header + * admin-interface.php - Changed ABSPATH to get_template_directory() when assigning the get_theme_data argument. + * admin-functions.php - Changed ABSPATH to get_template_directory() when assigning the get_theme_data argument. + * admin-functions.php - Reworked woo_get_image to be less dependent on php function and added, 'woo_force_all' and 'woo_force_single' options for image sizing issues. + * admin-interface.php - Reworked the file uploader to catch permission errors. + * admin-costom.php - Reworked the file uploader to catch permission errors. + * admin-style.css - Added new style for error popup + * /images/error.png - Added icon for .errors class in CSS + +2009.08.13 - Version 1.0.06 + * admin-setup.php - Removed permanent woo_option_output() from wp_footer. Added as parameter. + * admin-interface.php - Uploads rewritten with Content Directories Constants. http://codex.wordpress.org/Determining_Plugin_and_Content_Directories + +2009.08.05 - Version 1.0.05 + * admin-interface.php - Fixed but with Abolute path on Theme version checker. + +2009.08.03 - Version 1.0.04a + * admin-interface.php - Removed Update notifier. Added support for '&' in select boxes. + +2009.07.27 - Version 1.0.04 + * admin-functions.php - Modified woo_get_image(), added get_page_id() function, added post [insert] shortcode. + * admin-interface.php - Added Update Notifier, + * admin-setup.php - Added custom CSS header insert, added encrypted footer woo_ options output (debugging). + +2009.07.16 - Version 1.0.03 + * admin-functions.php - Fixed woo_get_image syntax. + +2009.07.07 - Version 1.0.02 + * admin-custom.php - Added alternative method. Javascript
                    hack for IE7. ie. Custom field uploading IE7 fix. + +2009.07.07 - Version 1.0.01 + * admin-functions.php - Added extra "$force" argument to the woo_get_image function. Adds ability to force woo_get_images to be set to given dimention when GD library is not available. (small image forced resize bug + img load missing height bug) + +2009.07.06 - Version 1.0.00 + * First Logged release \ No newline at end of file diff --git a/wootique/functions/images/1c.png b/wootique/functions/images/1c.png new file mode 100755 index 0000000000000000000000000000000000000000..57cca4c6ac31763e7202cd1cea337cbd4847815b GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^Q9$g*!3HFK_B1~NQY^(zo*^7SP{WbZ0pxQQctjR6 zFmMZjFyp1Wb$@_@G9|7NCBgY=CFO}lsSJ)O`AMk?Zka`?<@rU~#R|^BW-s<^>H(_T z=IP=XQZeW41xLXH3IYcl4(vY}928IQ+eo=O@f^)Fhi#?lqfa)wf zT^vIq4!=FKk&}Ue5#yqEhx>7#LR7g>s#m R%ndYy!PC{xWt~$(69DhlJk|gJ literal 0 HcmV?d00001 diff --git a/wootique/functions/images/2cr.png b/wootique/functions/images/2cr.png new file mode 100755 index 0000000000000000000000000000000000000000..42dfb8040ad1786ec1fb676328dd0b06c63efdd4 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^Q9$g*0VEhQuivo)QjEn;o*^91xT0qQIh+L^k;M!Q z+(IDCcIQ+eo=O@f^)Fhi#?lqfa=UW zT^vIq4!=EP$jQLK!C>$<;lEp%QIo=tT*hg#v%6-8tiGDHHEL}b3iWR#yW)M@v+vb! RTL6t<@O1TaS?83{1OR&kJ(>Uj literal 0 HcmV?d00001 diff --git a/wootique/functions/images/3cl.png b/wootique/functions/images/3cl.png new file mode 100755 index 0000000000000000000000000000000000000000..23c3a0db08181ab2f58a6a075b0334b0f556496d GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^Q9$g*0VEhQuivo)QjEn;o*^91xT0qQIh+L^k;M!Q z+(IDCcIQ+eo=O@f^)Fhi#?lqfaFVdQ&MBb@04GvBxBvhE literal 0 HcmV?d00001 diff --git a/wootique/functions/images/3cm.png b/wootique/functions/images/3cm.png new file mode 100755 index 0000000000000000000000000000000000000000..a776cd5c6947495a2845dda5d52865185765282f GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^Q9$g*0VEhQuivo)QjEn;o*^91xT0qQIh+L^k;M!Q z+(IDCcIQ+eo=O@f^)Fhi#?lqfahlK_LMVYz;MOxYZ*d$V^7^|~#-m|-G?LjB_3`{PbS UtERB+f1oi8p00i_>zopr0KMHiIsgCw literal 0 HcmV?d00001 diff --git a/wootique/functions/images/3cr.png b/wootique/functions/images/3cr.png new file mode 100755 index 0000000000000000000000000000000000000000..fb65265f7b6b1ae7c6e9b57ed1930666b0d9b2d6 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^Q9$g*0VEhQuivo)QjEn;o*^91xT0qQIh+L^k;M!Q z+(IDCcIQ+eo=O@f^)Fhi#?lqfa8ZA7 Uue&{d0yKre)78&qol`;+0A|WQtpET3 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ajax-loader.gif b/wootique/functions/images/ajax-loader.gif new file mode 100755 index 0000000000000000000000000000000000000000..6e5bace6e654c094f212632e8692e78c55ba3119 GIT binary patch literal 457 zcmZ?wbhEHb|By@uyNTm~>u{Lk&@8WQa67~pE8XTZz| z6jc1l!phFT%Af;M0MgFDtR1n7;rE7vqD_-hd&1XVkxtjWm15_l{x`66)s*<;& zIqgd8kM9qDI}uGk4+95Kzf{C7!QW>b6+?mvNj_N;l!eUOQPRYGhrlUC+cJ5Gf0Obl#L*GNa~ zva;*3mB?mn;M`ci=eV&jJgnhV*urUtjF8kbz|~7}a9zFEz1K6FBcG>yqd@C6(eTfv zQl(*PFTk$nL`;)t?Zt0e!JyaC-i&+v#}vMht^y5MV4W$GXZQdf$>o-zSS$fYsheh6}Rp0mcbX`(d%H;y7hK7y0X`JJ*hzZ6rn>@%N z9$`Xk76g|G;T1)RMIsTC)m=6k69&L}l_711x*l0|hU10RH1obP6K3`z-}5L32rVox zFVk<+Gr6#3eJPjAWOiXLu+HDFn3;RU>veVb}( zlQ&wnZ1*4a500Pf>)XR}%`EDNhMpoMO7dGqk@P&@1H@5L2^gvt3So@BeC~I)l+U}O zgtIT6KDi<=7#g!-`MMMNY zK#mc%s4{my&ecV?dB;LSZBnAvKp)&B6zW2-MV znyu1#FJ=b8>@pbCdt_M+(>xz40L<4LsMRuSHrw4N&z_sVbm{VZr?UVu!Dx>_L;w-N zWRl~k-^ZXogqj)53|{B@7hkye<@W2_Yp=Zg(!ImO-Z%L)uO|MZg~`NwS2pVP?u{?L z+MeXayw)3y>+OY3vvaCjb~@eeQGdXXKKV@V{Qk%3(P(S}a}TQ#7iIsi zy?i`5rq0dRk2lYsZ@;>=HKcJ|lm$@D3e50tx1Do#oKN-Z@4jDYw-%b3Ws4z26h#3A zAgyKt?RN9l-rnxb<2?73osX8P<6t=MPR66RVv0rs6NwN?XovxMQQ)ZGo8G;9uQ!>D zGlQJ~%F<{w_J>CYEXo36Knww8h|m}!LRrF6@?@%!DLW}XCMl(qvgx!yEK5Lu7!qO` zpk{>8Kr;}A%3C`zghm5N&;T=lmOx9;L?WdGGlLQT+>*_rR6Ry8Mi>(^^(1K_#tK9x zkgS?u0B6am6w`=EA|_%m93qk;B2Y`LAVBpTc!DA^2mzYGJ7G~2bD!S${I!GohtJe% zS)l|#7z8kJAOwVon?ZsISnVPfVsgFSV6D^XoNl)osvsfG!K)_kHK;0JaI-w}s>!Ry zl#&ZEq^oc5Tz_Zhiqz|K8|u~Z{=orm{%~u3Z+BP9Y3|Hs2husm5ZQq9HSe9@*jWD) zzy|=JWl^+l-~I`|{B~zEg}51G33B!yBm&g33}qw+!x7BPKlmK9)``)!{@0T$J r5eWV#M}PnVW1=iCEhP~tAFTWhk|@f$ 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 jGP8Oh$~x z-q#r8AEQ~Ep^PF$k;+L)xQ~(~xw^d6{Ma;2V>dL8$mX(`#yIlj9E7fb5kSoLCSgTYkN1iv{4};L=oSTfZ4Die_Mq#d@24SGz z-TUX|et+N)4NnOS=C5zIy@)1rMq`~PoN%6`Vj(c}`0Iv7xDe{jo!wk6XNhvjo)8$!)?2Nk zC}yHq%;V)|<6accZP3C%$6_fd_fp9Yw>zDBzW7qO)M&_Fua_mj33vYZ)8YaNz?rL6 z%kRM^BDus8^hV0UZV5P)u6tk=3I)w|_ZbK{CUBp$E}W;ch{}X>_1u{?$D2&RD*0bV zQUIEvQ$rY~xYA~cXbiqEst$$&GCUk}Gn);FfE+d(O;WD121IZS z0Rcw@01_v`PSqBR1MV51QX7rB9R#6D;2%&Sc42=o>=TukhM}`!p%?*b?Rj$=7$c)6 zl+wIJC_WsIpU^lKMDRq|b}<8LHov?1g8|boYnq0k10TzsnkCb%N*q&jYwH8e%9?r4 z^8zxDqCA){_IpqJ^_p|~%{Q*B!Uko5`oybLI90{U-*@jR_wPTP`2J*6v28&%)?43v z@%d-#5X-gA_NBq8<>fEo`#pGc<$sm({r3Btxc}_gjq_*EzFnoJ#dt% zaYstuiRe5}O|8;NEA%ba6j)5k7TbN(gNwC&D)Y{1Cu2PhDy(ymnp7_1Ai(k{X>FbJ zg$yQ1aX#U+v{)u7c4kS5=DdO;0Y*k<=8BdGnYaWYcOkak83LIJ0`39}`h<8zSFc^O QT3n!+Z|k=0I}{nL0T`orxBvhE literal 0 HcmV?d00001 diff --git a/wootique/functions/images/colorpicker/blank.gif b/wootique/functions/images/colorpicker/blank.gif new file mode 100755 index 0000000000000000000000000000000000000000..75b945d2553848b8b6f41fe5e24599c0687b8472 GIT binary patch literal 49 zcmZ?wbhEHbWMp7unE0RJ|Ns9C3=9Vj8~~DvKUo+V7?>DzfNY>Fh|Ltj$Y2csQN9XW literal 0 HcmV?d00001 diff --git a/wootique/functions/images/colorpicker/colorpicker_background.png b/wootique/functions/images/colorpicker/colorpicker_background.png new file mode 100755 index 0000000000000000000000000000000000000000..8401572f1939a1a24c1963513573b0194ad36ee0 GIT binary patch literal 1897 zcmY*a3pATo9RCoHhLk=v9+hya?P*IB^(tbYgf7-$bhEY|(I?UtUPi9vs#R ziy#P&{yr@fLG&2ly2iu^RFBrRRp1Ms>i=nK7%MiF8HO#xOG2 z_n6)YVr)vMq5IN*f2sWccT3)gRvu2oXh6my%^v}*O;ra5-< zrfBywZT3aSz8bWP1#@=ep&&&2r%2Xx zddEiY1@l}|b6YxdaO6Q`RJq3)wtKZi&2z5yNzot36|pnd_gApH!?MH9gq?hIkpDQ? zoi#k4#OM3Qvsl*nW+NM0+h-~TfAN~J`Np!FYfHA<4F{vc3Gd`y^@%F1#Ljo6xgBMf z>q*?e(2(gjbtEPC06P3(T2t>_N`opfT&(A|#nr9ubq;Roe8EGc50&a+@Ca&D8N&V5 zfWzVZ*wTW^c5k?}vCRiBX+63NTRRx9IULPb=kLtbG7G2PR9LSNtF=j!&s8JxkH+I- zofPjPqCAy{x*V^kY%4z8I+~=}5Ut2+RB9hQnF-=Yy8f)_*S6oz?C#RkmvpMq7QP(o zbZ!bUKi!a-F8i&JTjM>>TAUAmd?)cz-HnW2PWdWk#$QRa^0SMsE*Ei8-<`C&zPP^R zdHWR`(Q|r$)T?{(gtteqpleg1llyjZ0ZVLw8leHw(a;G~vcN1Y>6s-e44f7NN&vzO zSzky!K z<_U2aPpuI;9PaSb&;Ej+#b@gJvw)$&8ZCQ!O0HDG-5Ryk0-~ziB-tPWKJK=>?ocx|gRt#KYNSCK| zmrMW=4om~tMIU%ONCY$t9RcY(kaUNR#1=v%^?pW-QzJnZCkAr|iCQDD687K8FZ`q_ zi57h%KMX!lwtAe@@x)l}04zNB(A4Qum^BC!^1cdZ=xa=ei3OvQ+5@W08>NszykE}f zv?z;H%6*$BjvuB;iP6rpc{~#`#C$juv62eaJ-(#wzbS@&`|x8xR0#<2lFZ9l84oq~ z)RtYb1_uH_On@$HmKKWl$={|vFVC?D2S?ere)+Ii3ZCYJc1u{wg0CgRowk%p6z-vm z25al~YDe{K&MKf#`#$i4g$_`C3_gpv%r}IrbhdU7n7ws`iL~u?7mnTC+5f*Z3oqn> z!F~y5)zR3`!AmrFCO)o-qINJDjGjk AumAu6 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/colorpicker/colorpicker_hex.png b/wootique/functions/images/colorpicker/colorpicker_hex.png new file mode 100755 index 0000000000000000000000000000000000000000..4e532d7c65393fe56d7463e1da3faa591f03de84 GIT binary patch literal 532 zcmV+v0_**WP)h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA2nn^@KRCwC#n6YcZKorKmBnM{5VnN~}9ReD%Nhj%)e@2UckI?wn+*F*3;85I( zxENdy>|*I~AlHjh(Li4w_e~$k1>TSMlH7e>k|a?SftQq0B8sB@e$Nc7)9DBRzVCyb z1b`q2c!CKbZg`U5o2itl0Sv%)yQM?b>-9{KyTHhep8?|QckHZYvzcW~5d<@9^YvHp ztN^T5E7MqasmZKO0Qfo_tQD_Cp^cRCbkSPY3PWmOrwUtP=mYq!XfhrH$n!kUb8V{2 z2zJb@O#p!BU0T}j_bo$O28aMq#VY1=a}K4HFOx|FxU3(vcdlc4{G^oH07wS|@(ugl zu}h2#{EpG-rzyuU{=%QDL_0lRX0#t`gyJhJT=_461{Fr^gFFz2D& z?#3}Quw7Y-ZXCZam(0MPhC`Q9H4*H#%p;?>f&5sn>j`t-77IF5&!dq`sa#4$MD?Up z1Z7s}QYx2H{U_Ho#}=1TQ65E?QgHyga(l)Q>~phW+cE0rF`i(%vV0^K=++YE{0sm& WpVhv@?^YTB0000h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA4P)S5VRCwC#nn6n&K^TU=-E6Jmny{kAgHdYMnDn-IF?jG$4BqP9gMtMis0Dw8 zAV{dW=nt@ez?%dVDIU_2gRqI_5Em~-k8ZNXWV1btZa3MO4c19#+Wqh_Zf2N=;hoLQ zLzrMN$n!kVR;sFUJkQ_V-BE`=I5@}w0L!vKVQ~Q9@px!O=Q!>KBXRE#RaJ4J1Hkq5 zH74#rAmB*#N9cI-&+9?5X8Zj7{P_5|^XQH{u=yKC6vb33b$ff;+uIw9#SFtZ zJw0vcV;BZjbSqURlaVB;VRjAxerlS1&~!NI`5fVIQh?ryB; zCRH|X*Y~znJyFxHP3oeqGU3e&1O9;`*C3*9*=)dr#lP& zn<{s4fg0h-$-2z|0F15BXa1p~(a}*s5CEWXbyYJAdmo&O{#YpD48vSpURq~=HZW^z zYn4ic=lPM5k&}~?zi?i#P(>mU00>*Q=~G~A=!rx^QIxK(E{0+5@9$+<_W68FXS3cg z9in$e&*$@{Qpx;xe0;nc^Q+Ji{h4jrtW!Iut3V(?BD!Pgx=!e-({Wy>6NMqMNDj~M~n z)!GO=qQA@t;I7t2;1S(50Ji7R-H^E z;Fxt5y+yKp{*YWFP<>kUy}douSY2JE!wBfrD*F4hvVtJ@ z_xH_*L>mEXHkOx{0bprq$rczQjer>#REvv?4Nu550(w0tO-7)tlOusf;N935Ms)0f sary=%7ro}V>f{=MmOlY4Yuc{?08g~^-7;vm)Bpeg07*qoM6N<$g2&OnRsaA1 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/colorpicker/colorpicker_hsb_h.png b/wootique/functions/images/colorpicker/colorpicker_hsb_h.png new file mode 100755 index 0000000000000000000000000000000000000000..3977ed9f21e3186eefd37b198a7cc3f8de6c69cb GIT binary patch literal 1012 zcmVh+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA4dPzh1Z?xtc9W|d^8%pySrl!Jsywq01yZSfWhDafa5q;(RrSK!_25Mnz_o6R-Q8VL6wU6+%F4pRf-Q$MI@dS4=mAHh)9FT|@$~eByOWcX z!Cq-b_?cFRh?(5s;V}d2mk4K?&4-6bIBX^iheAZrO{%IS z0YIfv$z`+F(Rl#Sb=`U9^73-C*$nbL0E`QQVHk#CxMmUxbFA4+=9etvc4lVg#bpWz zInPX|)2gcCza|_G>$(mIxn`0I%UGFA#{CZCigR#qP_0(EKmY)WdwYgq^vWbf{@jo* zE^s3|JL^F2F_(#niAW>@0HNVwp65~TOfr++9V?g3RwW5{t@J$$rn?^>GJgkDFu7a~ z0J4_L6actnGO6o2dKt1Tm&@fyBr-HKgb=#EzCJrUYqeSQ+^ z@p#6tJ$H`nQONIahe-%W5W9r2sHGI!dV# zn9t`wEiLs)_< zqd%&uZ8MDk?wUrxmh*4WOQjM3lu9KVI=x0fd;SdeWoPH>w{N(;v%SrL5$IU%>swn} z&Ykoc0rTVI;o%`}Y;JDa?=Z*_rV$WDQ4~e15wPVDEf~Cg-q^s9M@L8IPO6Q7wKmq* z*8yN{ZOu_IR2l)>*Xq^PRofnVjezF$`JY}R@TxaQ3XQ;rsVRc!#0$pj@kcMZ?m6r9 i8Ue%TbFitZe+B@uIz19ZnQ%P-0000P)h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA58A(JzRCwC#nn6h0U=+t+YIIeCZ8N0REt9otS9j@(Ajt5v?W7gKqX!Ee2!alT z*{jEbDCoQ>c=RY9Hf%t4)YgLZFxlE#lxYuB4{FKmYLj+{XqP4>>D<09+4?7kkiL)i zCw=+8yx$khX0s6l0a_EoFgQUFr>Ccyv)*xTdJ9d`TAin3TNEXx9h36D@HluRbgX0xZi|M`m->2&(y;zATt zUtgb2rxE!!7z{#JcW)%jt^)w9^msr~9*-v;i!CfHcs!of)m5L*$Fi&_47G}h;x`gy z*8u=lD!{P5zCN4HW;7V?-@EsXVF2Ld*VWaPbRbERt*xy_qcI!~ z@9yrBBxyFAg#ir>4MLasI!M{&seDmP)0v*(}F#R;yKycq%MgFbV-Kmy2at z6btolO5PRDr@!4Z$8p@>z3aEPu8Q|{ty*UoMyqW#X);+#XFW~m>+vyeF`IXyQO#NJ zbh~RrKwCuMN$DHKAJ?Z?3}IWn844lt{j9sYMg;ybB7j=*MBv)`?T7$s$rFKV>l!5j zc-gjXW@g6ebar)h4ST%+u)Mq+iA1Vh>;hK~hoekI)rdfi2>c2WDBo(VtgHlsL7oWA z&(HHjpvo(k$QAFtqAp4OL_n^=BM3sifqK^6t;x3f;LDd95%>>@z}MsBc8bzsTdm2i z6abo=n^j5#I^FK)FJH<8eAw7fFA-2=n(8G26ji+};bGxL%+uSO z+~1duRQyKZk=2THHElK;WdhRY=jtT_oYMBcdWk?qZ;mP?0uS5U5n4xHFiI<+dadUb l@49-4fb1urmzm6u0RTq3k6f>52*3aU002ovPDHLkV1hB)7U=*0 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/colorpicker/colorpicker_indic.gif b/wootique/functions/images/colorpicker/colorpicker_indic.gif new file mode 100755 index 0000000000000000000000000000000000000000..f9fa95e2825eadd2d779ad270a71eddb94f94748 GIT binary patch literal 86 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 RdwKu>002ovPDHLkV1myV#+d*B literal 0 HcmV?d00001 diff --git a/wootique/functions/images/colorpicker/colorpicker_rgb_b.png b/wootique/functions/images/colorpicker/colorpicker_rgb_b.png new file mode 100755 index 0000000000000000000000000000000000000000..dfac595d017e279ff670df2c816e02d922660d9f GIT binary patch literal 970 zcmV;*12z1KP)h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA4P)S5VRCwC#nn6n&K^TU=-E6Jmny{kAgHdYMnDn-IF?jG$4BqP9gMtMis0Dw8 zAV{dW=nt@ez?%dVDIU_2gRqI_5Em~-k8ZNXWV1btZa3MO4c19#+Wqh_Zf2N=;hoLQ zLzrMN$n!kVR;sFUJkQ_V-BE`=I5@}w0L!vKVQ~Q9@px!O=Q!>KBXRE#RaJ4J1Hkq5 zH74#rAmB*#N9cI-&+9?5X8Zj7{P_5|^XQH{u=yKC6vb33b$ff;+uIw9#SFtZ zJw0vcV;BZjbSqURlaVB;VRjAxerlS1&~!NI`5fVIQh?ryB; zCRH|X*Y~znJyFxHP3oeqGU3e&1O9;`*C3*9*=)dr#lP& zn<{s4fg0h-$-2z|0F15BXa1p~(a}*s5CEWXbyYJAdmo&O{#YpD48vSpURq~=HZW^z zYn4ic=lPM5k&}~?zi?i#P(>mU00>*Q=~G~A=!rx^QIxK(E{0+5@9$+<_W68FXS3cg z9in$e&*$@{Qpx;xe0;nc^Q+Ji{h4jrtW!Iut3V(?BD!Pgx=!e-({Wy>6NMqMNDj~M~n z)!GO=qQA@t;I7t2;1S(50Ji7R-H^E z;Fxt5y+yKp{*YWFP<>kUy}douSY2JE!wBfrD*F4hvVtJ@ z_xH_*L>mEXHkOx{0bprq$rczQjer>#REvv?4Nu550(w0tO-7)tlOusf;N935Ms)0f sary=%7ro}V>f{=MmOlY4Yuc{?08g~^-7;vm)Bpeg07*qoM6N<$g2&OnRsaA1 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/colorpicker/colorpicker_rgb_g.png b/wootique/functions/images/colorpicker/colorpicker_rgb_g.png new file mode 100755 index 0000000000000000000000000000000000000000..72b32760a5c40b7ab834d176ac588750a06f13f2 GIT binary patch literal 1069 zcmV+|1k(G7P)h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA4vq?ljRCwC#na@w+KorMcp|EVXQK$+YM6*gzHqnN7BF59kyLV$Gkwjyn8-M%_ zE{RbNUKIZauO4)ds|T|oT-ef(s1a0_$f>a^t?r@HEtF8AJM1*eOAln2$@}v7PN(lv zVqjo^rfD!+2!cS;G+ihZOeejotBV8xi^T#a3=#mWR;yX1lO*|ym8f@!APA_W1Hk3w zB_iEkuh&r3o1~-lLnG2_dVP3!cw}V6=kpbd#Y`r1aB$FM>4rPdqTFGsf@RrABvLAs z_V)IUj*iC1$ET;KtLC7VuFaK9CiU4#0Js;$s%4Xtll%Mo+uPgi?d>#8=kxjb`T6VX zYnRih&Uxo>AeFAF`pIzskVqr~Lqpo^765pv442ErFwDvEaR>5>mzrVKEiOMUN%>sbW=d;^vxor09`ug(nG5}<=S@G^porYX_`AU~VE3z!TGDK12 zc|IHtTS-zB#k2Esx7%GV#GgQ4^p{X9P7p+z=e5~u7zO}#c6JsQ7vu3b&+`;T_4M>` z9GA&t7={6YXue?rfdBvuX|^c<5G>0+K0fLf%ChWqI(vJ2Z8lpnnM|cp%5P9_w|2W7 z>1kS1l^S-tomBpdnunPn2&bo~4-XFj(BI$hKzujU8^&M)%d(Orp*X1D81+?=O8VFB zIa!wfZPi~d9gF96vq~2P!K`gH<8pO-Jf@R=lh2dg9?y?N!gSI{gTWRNFc%T{RQW{l z*CWMo2;1uKCntz>kA*@lBG4iNxDWx@ z)`lq&7!3wLPfXOA@a^yrUm{@0H1Q<@4N1q72$V`Cvl4;&Z#A$c0u5CiPaZTH69Gx%^@W86{U8at z_Fg3dSGk-*1b!6?u~UR@?manP6sovBm$~8BD1qf>UcbEU>Hn@ zfYuw~a2Nn)W@dDT!IB76y{(>_nyMPXmk7v4umABS0u4PmVn_r&_Vpo@j@&Rtryjo2 npA4&xFA;ctuJh%cDE=M*G)vtq^hrv*00000NkvXXu0mjffA{0B literal 0 HcmV?d00001 diff --git a/wootique/functions/images/colorpicker/colorpicker_rgb_r.png b/wootique/functions/images/colorpicker/colorpicker_rgb_r.png new file mode 100755 index 0000000000000000000000000000000000000000..4855fe03f8ea8d88b4f8ae625c7958eea65208ac GIT binary patch literal 1066 zcmV+_1l9YAP)h+v*8l*BQUCyPMF0TmW&i*=2LJ#e`2#0~ zRsaA4ut`KgRCwC#nL$e%K@`W|#$^*@2)1ijA*P`i*Vs!8o}|Yj_z@}|6buN87D4dl zS;)b(p0whp5G)M=FI7^gQ8aB#6dSZ+h!%w1Y;?1+hmFg+nRFn+=R+9LJG1n=PBo8cw>y;UEFPWHNyPjRb(ErY56GCrR=VBT=6aj^j{C z2Y}PlQ$)I5E>~4mPm+!{9%_-UkM*gkDWxt5LNprP-`}sZ^r|P&B!6Kv=J9woH#gVT z*4Ee8bGcj~5O6x38Xwfs)pPCb?dfMH0U$33`jPQ?{QUg<*V)k*x3{;YrDbbti|2U@V!3Kl zRCTj#GL@3+Y**KVSOqeE%ahy@p z>gUg%wKI(2q+et*WIMxri^U8lz0dD&5CLNmfmf=FKMMPvNFYqBzie+K(*3%>zd-~V zL;x2efZ8e(fs*tF5oi#B1`)uT2$WAXLZQ&n(GgA41VQBU`NhRWQ51QeZ*Fd`W2iq+ zC9AKVB^iPU{58STq)rq?Q52=WX&5rCK1rt=MBqOp0vDN#+vPH1T5ZUz6aegYJElaS z&+mUTFi^oE5)R`_1gbJke2G9!((xn$q9_`b2vmO6z?uluwCZ>gfvT~NFA}u zJ+zYaydY?bOazXPk7GMK??WM;=NX3ieRZYrsgLwvFbDv_U{E6+Um_sgKZCuSp8l}3 zB-f`^k&G`9D5zq6Vq!wyh%XUP9v_#Nm*vX%__#5MfK({RB``K7i(FY*Q5vx(0tHD@ z%IN4Q0E~=`C@okM0nKam@bIvv1z#c{ReS!&mk88!bHtDcymY$}N=F_r<$jdLkY231 k>i80YySoaVIYIa{0Hu_2rW%yutN;K207*qoM6N<$f_Z=6i~s-t literal 0 HcmV?d00001 diff --git a/wootique/functions/images/colorpicker/colorpicker_select.gif b/wootique/functions/images/colorpicker/colorpicker_select.gif new file mode 100755 index 0000000000000000000000000000000000000000..599f7f13a6854d198f501588948ffcf97bf9f365 GIT binary patch literal 78 zcmZ?wbhEHbij|08)1sO8@`> literal 0 HcmV?d00001 diff --git a/wootique/functions/images/colorpicker/colorpicker_submit.png b/wootique/functions/images/colorpicker/colorpicker_submit.png new file mode 100755 index 0000000000000000000000000000000000000000..7f4c0825f53cc4faba8fc9e043502276765da1f5 GIT binary patch literal 984 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 M07*qoM6N<$g8ma3*Z=?k literal 0 HcmV?d00001 diff --git a/wootique/functions/images/footer-widgets-0.png b/wootique/functions/images/footer-widgets-0.png new file mode 100755 index 0000000000000000000000000000000000000000..909984ac7e60657642d6c9b155e7dac5e84bbe1d GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^Q9$g*0VEhQuivo)QjEn;o*^91xT0qQIh+L^k;M!Q z+(IDCcIQ+eo=O@f^)Fhi#?lqfa(lA zT^vIq4!=EP$jHFJ!?fV0{nJ@94)HTh*gti})vT>iYr|HfQ28Ra&)c5e{^|ckpk@Y7 LS3j3^P6IQ+eo=O@f^)Fhi#?lqfa=UV zT^vIq4!=EPD9FIT!Ls1}{j&mQhRx00?2I1sJEPWyt-hMI6-@nqWwjW}yC=bK@ucwb TAL6Bs;Q{an^LB{Ts5NkKhk literal 0 HcmV?d00001 diff --git a/wootique/functions/images/footer-widgets-2.png b/wootique/functions/images/footer-widgets-2.png new file mode 100755 index 0000000000000000000000000000000000000000..810fbd21246552995bb8b5afe913969ada4ed281 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^Q9$g*0VEhQuivo)QjEn;o*^91xT0qQIh+L^k;M!Q z+(IDCcIQ+eo=O@f^)Fhi#?lqfa+{K zT^vIq4!=EPD9GTz!D9HQ+WClOCAYuh;gr{NL#}C=NcFlczL)`~-e3G1KZ&OdD)gnL ZuAk%0L&ldEzXQ!-@O1TaS?83{1OSP#KP&(M literal 0 HcmV?d00001 diff --git a/wootique/functions/images/footer-widgets-3.png b/wootique/functions/images/footer-widgets-3.png new file mode 100755 index 0000000000000000000000000000000000000000..844e482c014cf02a760da2a30f9cc791fe6c6d6d GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^Q9$g*0VEhQuivo)QjEn;o*^91xT0qQIh+L^k;M!Q z+(IDCcIQ+eo=O@f^)Fhi#?lqfa>f# zT^vIq4!=FKk(0rIhsE&y{@Lw6d~F)LSuU}}RxdcUnXA`r@x=@iDG>GI|BHLxllJ|G baVOjJJ^vcml;JQ7XcB{`tDnm{r-UW|oQ6V4 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/footer-widgets-4.png b/wootique/functions/images/footer-widgets-4.png new file mode 100755 index 0000000000000000000000000000000000000000..1f44c36f4d6cb38c431e9aa176ad90a58965cb0c GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^Q9$g*0VEhQuivo)QjEn;o*^91xT0qQIh+L^k;M!Q z+(IDCcIQ+eo=O@f^)Fhi#?lqfa>f# zT^vIq4!=EP$je~B!?N+ib1{MQDhx)Uq0>*9-+ORsGgq(M;)@w3QXuNZ{}=aEJ@3~; dco|<#%J*&md+_nKY9pXY44$rjF6*2UngDS;LVf@M literal 0 HcmV?d00001 diff --git a/wootique/functions/images/gray-grad.png b/wootique/functions/images/gray-grad.png new file mode 100755 index 0000000000000000000000000000000000000000..e4e1081afe92e0b61a96e9d3172934399279e0b4 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^tUxT!0VEi>JR^<(DFsg##}J9j$u*}LSakk7st7YT l9noh>OzxU+>X@o`4+q09IeyF5_DD969#2<4mvv4FO#mnR6`%kB literal 0 HcmV?d00001 diff --git a/wootique/functions/images/happy.png b/wootique/functions/images/happy.png new file mode 100755 index 0000000000000000000000000000000000000000..e463fa82754f9193f6b2fb06664cd88e0a8b37b2 GIT binary patch literal 1173 zcmV;G1Zw+}2+Q!B@CY~VjpnByFMuEnm0?=1LU^PK>0=-B> zwmjpmZ+hdiH+MFAPZ#^k{OYMzD$p2B(EsiX5S#E*T;~fp$KyE?4 z@43cppIfU*q0r3egArJ1mo^r$YZaN|`onb{uWhOE2InSmZt{B!OblR0Y5Cr#YdwOJ zN%aEwba?_C009^`Ee3Q4Cjd;4`(ZbVRAkE)cU^1k*EQRHm7&Be`fmS-fm;KB00go( z;&UT&C(;+P{mXBGvB+g%n}U*;J@0#Kz2B)-iibUEa4Zn~ErTp!Unom^d~Nkz4bL}v zV`z<5SOVbv4wHTs&4yX_@}GTL#5 zojEL>%n6bi3OE30i`dn&OtG)EzGLsMCT}Pn!uk1MFdP|z-D!tpv&c@(*3KF4B_aW= zWcey!Ma)_7dj7kccDp}1JNX0IU64XUMPnre?d)Zz4oTgvpct|ctvJgUwkz(2Hecty z7n>_1N(6(63%DE~hTUlcWk`q$Jqi;&uslE`k`B>Vb4zntC*lDimYoN)>d0}q(DcGS zF9GQ~Y5Lz1`)pHsiRx)M=IeaB>Yz8GgfX1Hh-;YK1QIjpC~IJ4TJ` zaJuYBL{hR5(c8h{2U)(7?iOI>5K_Xo7==#D@s-oz%$E%r7c=K!x7%>Q+g#->soYt- zX=AQ}1g;w+7{@3a4hfNHG@(qTjsm2IP_ha$5&@n>Pi8oKL|3(l%kID&o5PSgh?qD> zw{G5?t64J`XMZ3-Z@?i*NXp6i$XK)m9E-{MYTS_jB_hTB@quJpI-$fIRy$-SR_;agF8dStc@9R3GMzHBQdA^}UXo^XG(B`VKHC5sI*3uDL_!~`FQ zKn2W5Bu}c%jz|c(v z@=zYKA~T{E3ZCTt;MtkB$+1w3>J)*I>G|Dy?{Rf)6)b91Zswx00000NkvXXu0mjf`|u?% literal 0 HcmV?d00001 diff --git a/wootique/functions/images/headertile.jpg b/wootique/functions/images/headertile.jpg new file mode 100755 index 0000000000000000000000000000000000000000..1f55a930aee845f667bc54099526259f0a3d97e2 GIT binary patch literal 373 zcmex=9tBLtcm#hFpP#Jd{_qh+o#l?i$VYxrYBN)y6za QKG?X*7Y|y7ao^_s4Pba0t^fc4 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-add.png b/wootique/functions/images/ico-add.png new file mode 100755 index 0000000000000000000000000000000000000000..21adda4bc3ad1115bc0f9c42fe651b2372438419 GIT binary patch literal 397 zcmV;80doF{P)MB)k`04Iu;mzyE&o|BKJZ!8Ftm(hRuxvj6{q2T5R>JOf_z z{6G9K6-*OjzzSqPZ@HNF|HP9junRymh>sQ~ThI;o@ci?+|4%+0`TykOA)w7A|M%WY z{=esLESLuILE?{r`1RK-U_&qrIQXFP|C($5|2JF@{J;5T$p3A(!vAl-9Ra36e31C+ zt3Lk^KB&iTz_q8_|DS!h=>M4q^Z)O^RsVnUt;qiyZv=tqBM%+)?p1i~6AW)nGh?!xA;Bo=T r04^XF24X27mIh)mAm+zw03{dzH;ij?3KX@&00000NkvXXu0mjfQ02b# literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-alert.png b/wootique/functions/images/ico-alert.png new file mode 100755 index 0000000000000000000000000000000000000000..f985243ab7079b30cd4b5f73c91331745a5a8e98 GIT binary patch literal 563 zcmV-30?hr1P)+o2(tv$N3p`{8VC;6>B$oXxsxb9@{Q56MkViuteS353`skPIQE z`FRuv24Kz2!Q!pllWD%MnO~`&;SiOi-baHbeRvppA^~G$1m?s9?Ao;h=6ZlOsav0( zMv-L{<8kPG8>6ErEiKjSP5>Yq)mxru5Rm)P11;K%LM)B~-!=gm-XsiBfL3WsDVaoR zVF7oM2+XM|n9M*rV=)sg8g;|84i5tm1u#waSFV}u?uJ3LbVTxy$-HJ6Ho;O>IS6S| zfQzfaLFhEfi8t(k%m($1YL*ec?CXQQxagLWV~Jj%%?i*$RjxQha++su_k|_1e{soB zGt9^vqONd=l0!wx37P#r+llwHb-dNa4|R<1>L0zgCH;n-Sw#Q<002ovPDHLkV1hgL B1pWX3 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-changelog.png b/wootique/functions/images/ico-changelog.png new file mode 100755 index 0000000000000000000000000000000000000000..e1649f5361f6bc76484f4b3e8fb57bc50dbd71fc GIT binary patch literal 582 zcmV-M0=fN(P)3(Vuqh>X4UUgR|Rkyrl_A+ZQ|&sv{h*A#H7Q{ccY6~jLS+TKqYXJ&tM1fM5V z)bxfEHFiw_#q^!IO$r|LPhldmhyr>N-_Lc%u%xfzcx%wOGwhlIPTte7?|KyZbwdb- z<`JD+!5IC>h2>SuXbUL3Ic@YAc1;0AEedwmhOw(!#-7r*sJuUlrq@ASXdFQQmk0tg z^dlRhhQqEY;MffX+bcqAT#=D|c??@ieAwpkV@JsceEO>3T90P**);_eH7eLyNyAtF zLd8#PIsXpX?jgfrHxXd5Sd!=VuMnSkeoK-nK~jeG2{%QIH1HA!+f9I3AI zzA7r{@zjl=^NiE!OqFalTe975PobbRDx}k%LA#5{B(maUQr#8rr4wm%PD!Tq3%(+Q U@7I{AH~;_u07*qoM6N<$g2{>qg8%>k literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-close.png b/wootique/functions/images/ico-close.png new file mode 100755 index 0000000000000000000000000000000000000000..f985243ab7079b30cd4b5f73c91331745a5a8e98 GIT binary patch literal 563 zcmV-30?hr1P)+o2(tv$N3p`{8VC;6>B$oXxsxb9@{Q56MkViuteS353`skPIQE z`FRuv24Kz2!Q!pllWD%MnO~`&;SiOi-baHbeRvppA^~G$1m?s9?Ao;h=6ZlOsav0( zMv-L{<8kPG8>6ErEiKjSP5>Yq)mxru5Rm)P11;K%LM)B~-!=gm-XsiBfL3WsDVaoR zVF7oM2+XM|n9M*rV=)sg8g;|84i5tm1u#waSFV}u?uJ3LbVTxy$-HJ6Ho;O>IS6S| zfQzfaLFhEfi8t(k%m($1YL*ec?CXQQxagLWV~Jj%%?i*$RjxQha++su_k|_1e{soB zGt9^vqONd=l0!wx37P#r+llwHb-dNa4|R<1>L0zgCH;n-Sw#Q<002ovPDHLkV1hgL B1pWX3 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-delete.png b/wootique/functions/images/ico-delete.png new file mode 100755 index 0000000000000000000000000000000000000000..d9bc51b1ff565bec30e7375ada4cc3f29015ac7e GIT binary patch literal 662 zcmV;H0%`q;P)+f3oIcR<9S%P!;C) zR2eg+CAmqhhI>bBSc9qD5>k8&{dg3ERvELjvga@67yctDgWC;A-4$K-#@v4wu zpR2`0Qo%AjT~6@}w>z*j^%l{-JBYU15p6z)A2*w@INS%1$$(L1HvdeXNvsmg=yZY@ z?B=ewV~KGgdhrZ=b_@KrYJ@LX5NV(hww^%v-VMwhB{6(xpZl?Fk02q4!SsBs8H=v5 z_>Un64ewbaf_1u8;ZBkWcU{5DybKITGw6ii19gN6bX`TXvl%{XCB7C(lV+ik1aGT> z$5MrdL^_iYFy-1{*Ei-MufR)p&f2%aii zS1@0yg1@N|{o*Yvf{79p9Nf!}N_OE(wGrNi^YMJDI)+C%TbE(>cR1-X4N7+l2gK=SC$W=x wkiVVl7j5QxbJLif>{N4i<_6(kxA9-|6CKjdxk+*x{r~^~07*qoM6N<$g0m4c=>Px# literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-docs.png b/wootique/functions/images/ico-docs.png new file mode 100755 index 0000000000000000000000000000000000000000..8b7877106dc724f82d2105e1a9e5361032cee958 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp@KrFz)0wmK{*=_<-%RF5iLo`HL4;t#V1d6a-D89ej z-Y77FVVU?^--r!)F3V=zXmeS9$wzU|c}r2C`lWo_3^VROKmOc*M!SmVB$bn=qW$Fc zw{L0E7gY7C+*NOX)7)UA!095B_dRTEUWt_jk3CE;Fx<%D;^kp&2+CN%$Y9XG!kDH%(Gp$ z55r3sMA0dwli{_xC`OX#%}azQBf8Wr!UzK;ih852br6FFX5Rb1_y7I=-!qozY%6yk zce`A!@>si&bXMm*Sc<}rL zO{Gyf-oeX;MoEqimDfy+cDb5c@}?yBLqzn#tf~jeFE8gwLREs~g@!nYn-SQjwihhe zUFb~7g?^b+$d=PYbDqZp8blJ2*9LT(&j-m(ULNnAW11v3RZxGB+;S=%PY@Bqf^Sf)V5I){&8bhZ96q=LOKa;W5|+mJu)>#FwWiHh8#ug4S&{B zaZ#iJ!H|bEsH2z=B=HTUs0uHJ{365neZbFx#sI^F!XUtT*)Z$#`6AHK4L)$8CJ?L28tb! z=rfRE_ZcP;>24t6lC0{E?38CKS^-+>HK>S|p%I(;<<(v6|2yt2tnxoOqp>rz(;R;_ zOYsPIptId+eJtz@57hC*Sa>vA%P0+x)w7roO4W5oAG~!hf{JKcS4H#e{L%Uvl`Q@LLE0NPyVPol@{sIGJ5*b)HiY>*S z`c$h4tJ$8<_b%_>H}s-#>&e}7Yt@Sj;Ys~#xV-Y`1lKfEc-S=ZYNdAM&BmDx=a&$R Lb_!3!S4MvWvr%`H literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-dojo-banner.png b/wootique/functions/images/ico-dojo-banner.png new file mode 100755 index 0000000000000000000000000000000000000000..1ead4d55ad77d30cf8d6c47ad8fe380f41acfc3f GIT binary patch literal 2452 zcmbVOX;f2Z8V))TjRH~_cG?(G1kJ{hO+XStNWdTjECHE;OA<_kEF>XpihzZp5TFIL z;8GVL15rdk*~*BZsJO5Q0Ynr<5Y&oR7IA5NqvFgDPv@Mu=iK{#-*?~VdG~YgK7T)N zeV8Q-0)gl==u{RcH-WeFGCl26<`D%73%M6t9w?5I#{*Ixgv=F3^56_1u!G0q0o=sc zYdlv7WNDNjh%IL`w~#nuAqvpypb~@<5DkI2ZcdN@oM@gL9?9Dw5V;|yn=c^X0GcerZ;2_z8mDp`PR@8dek0rwgTBkU+5+?IAu}JnQQDDl@34jERMPblFp*F4$ z+A=wd_a8UDs4WXhlV^Q{ptu4qiAKiLuvok^2JeW$5wKV?1w$Y@IZ_;*ot-_sTxg3NU&7+>cqb}>>WO!z zf*f900vSuCIXaO&i8xOu7ccT6mLZbK0TG9{XjcH*{e-3bC6?qVCjXP^t532+1=?Ot1+kI_DvT;FQBg zIC!vl7dVPb2aB=Qmss>S+YKB}Bqt^oJC7d9+?6*2WyNziW3ak2XYwAj6ciL}i1@{O zV6Nb~>hBvZ-Wg2cdoQGUq_$rrH#apUv~;FnM^`zc-yAla-K_?$d01UDq zFWulVKR4F^x!c{{YHDg))sOA{M|y7lGh1I4Ah;MK5ZC$m8!*V%)@QD7lO)<=UwnOn zfWb&~9qMXo+H6u!)BDbvXOXNC{WIHHSwYCt(Fcb(4D*dlg<(eU|<;CEzzOU zYZ)e$mENiA-KWv~<{V7PZlaa9#Tvr3T)(nlxz#b+Y#^}uWLI_iyIm90lXNt@qC5@=546p;F;FNJ z9afz^Jw|U|zT{}$J}I&vY?vG3wk|P=fD{_)ybHA}yRBzhq1LPXn@A-(dcIn%R^RYV z=J7&?wmsRY%+6jhQKcRm7?TNfv+LxhX0^vJlD83%31NBbq1^eddQ+S;_F~xhxT{a7 zpc#X|l2V?V6O8mu2>)gDRnAJo`zSU`(NkdOeM_~K_(-EU5Y^)h_p+vJ*cFimAXGqlwk_8=3&gzAm@(Z&4!-$y$(UXlA0_~u#Ru(C1hG4fi)ckeAL z%%@Wy8^uz6`pS!~Qgrm~jvqZ)Rv(~hUw&!c!@$bX(#2(Ze@UCdxb#ZR?CfmAQK^3y z5*=Ri4Gh+B7BVobJ~;$+C!X?*-ddQFf-0bY^ zhwy7f1#vs>1aub z<@v@&3$qxC*x_MXk!ZFm4Hl$c*5J5GAb+s98< Z_Uz#_6_+x@&(XC1NenMPY853S{ZCF{0iXZ? literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-download.png b/wootique/functions/images/ico-download.png new file mode 100755 index 0000000000000000000000000000000000000000..a5643deee5828c66b05c15752a064b4cb6553500 GIT binary patch literal 582 zcmV-M0=fN(P)D7{#wMyW{TcpCF6E9;=6X3@wlyw?dsE2y!p9C2cE1O|N zPzmiOiaR^IYgubV>Dan5>#7YEZ9Pa*7zC&9N)u=<;SL-w%y-W39=^)}u$9!M1*gMt z1-A!la4k~JWv=97#Q@!jTFfn&D13hn^HYKY=2iu`qt_z)C5&OK4f@2H(g2fRyYa$m zN1{}K-5`-YTM9ryrqG3FRx6U`Dgk6()03*h*ym29W{x5`rE5Fl@J3UVVE=Q@*8VZs7U*)6nxx=+8CcQD!fmP98$!%}HE+Qe7b5 zrlLEbn)P8_`88r)hdzA-eP#n5Pc$GpdIFbwtA0{A@ZTlg90;ld#wonCE>MGJM2r^n zq?&m3R>s)BOSHcwkp94f*gF+NxhuGrI>5uXY@gHVWJ^L0hoj8n@rYipSMvFM<#ftQ zedUJEz8Yh2{5&r8RvFuNRBR-V%;$7UZns~{91s;0+J#^>vnd4?+!ea4xN}ts)s-uyP*B_m zf{Y6#J`rpkU$qhE}HxHQh%Gf1EjzJNf$|I~+#>7y|-<6!N2Kv_{+Z_vQBJuO>g$ z9_~&47VP};XYG1Q7-KkhAx*>gnelzZ?CAz#;r2bN*RDFH8cp}jiT=_80-bb3nZ7gh ziv_SfS>pKpdz=`|&=v|I1Rw<%gGP7n?CCqU!CJ3Wq%AV@-4?%iQs#|YDOdn@ zK%;3e?bWa>-2xB-jZQ>5!e_1ddfvdZ8${hj^sZkM8?Mx*o*q2Bw{s|S)%s8ag%lDY zKw}coxsh~gLM_&)U z>dOsGI<<)^(rWP@VGs=T`#uW41#s)`NKfCkueu}T+4CqHIGwMLT)RB}gZsGX020uC z(+9xE|L-ytD&ZZMuMAFP?q)9iJ(M54^W6QX(KHnx4%7h`X5D;W{r$Upzi68ijJ!Ki hKnR!v*zf93##;@AF(=6(f4~3$002ovPDHLkV1n}~XcYhe literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-forum.png b/wootique/functions/images/ico-forum.png new file mode 100755 index 0000000000000000000000000000000000000000..deec4534725a3d9a1c869c44cc7beb5d1cbbca98 GIT binary patch literal 617 zcmV-v0+#)WP)l=lsY)R72mB5G0uvYR zO#B5VE=^bd0N1uVT^Kdj`%O`)(Z$JpGxwf3=brl!hr>bUu^I}IwMfL4Oe6;U)>c0f z4&S-w_Y*tAT8=@wO)rt zs|BWMLOz#!VZ+)#i40n~>-GBOYV~uaT7}}?9!RAU)Ef=JZx&*|$>f`IxeUV24rH=fXrNV0_$Ah^TYWP!aiMP-H}y}gpz6A+s^?8j zgN|WP;zyi`o7D(fCN8J*k{At#$#Nh-S3y{oT~4P`A9m5AgaM@l;S344R)ayZxv@dk zqEX`fMdU)E1zdDft<_#VI6VA>VL&Vv1D@wWQIv08!#FF7;xi;A!W?(QBBJNpiY&jK zOeXN~=m=`63aNA&(wHipk*?(a!2yg$BN&gzKMJDwoZ6=I@q_(+==J+hm1QWQS_zve zp^Rr)QLLZox(?>?F?8DP3kSp4=xnF`UJtt6F6iwxwD7hxF-Z%}CTKLIPRFVb1_Lng zjA9x=b{tbPG1U{qBgEqwp3GpqV-}}~6TCqtu4D5j0IJ1MA#+;^00000NkvXXu0mjf DHh&m* literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-info.png b/wootique/functions/images/ico-info.png new file mode 100755 index 0000000000000000000000000000000000000000..eb228bdb6e2076e1651e778b4944db188350dc0c GIT binary patch literal 555 zcmV+`0@VG9P)*t+N87h52UgYv9nMEf`yi*@(&1h5+7w6 zF^VGiASy)S1G9?R+1bb3hsA6rX18#`0|zemob%oDxJSJA{Eq~OZZ89z1Fivwhm2bR zt^;>v`qndm`uuFIdUUc3|4K+;Wj*1-{r46q2fgd+%WlZM*Ue$#**B)x85Q)eB;Bnx z4d2@q>%jHt<>`opVzsX{AhbRuGfQ2fOj6}2H!VHj2nqCoi@%DdcIqg<^XFm z?Uzf7Z!oQx9S4q}!wg^*IbjRn!2Xp%t*n_lI7;o*aV{>$d}!F*Zaq06?}0I%G|jXK zoSqO&y9Gd}ndG)K^_bKTme6WDl6KaaW^7nW*O@(A48K=a>1%&;1odqM=sF`_wk-H`njXDT$(JR4EmTNI^uj t_g;yJ>Ln?8NVfM*L>yqf_o*?a`v;5$?qW#Gp)LRb002ovPDHLkV1mSl2PFUi literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-note.png b/wootique/functions/images/ico-note.png new file mode 100755 index 0000000000000000000000000000000000000000..4f2bd65925157d320f21bb44049d0b7ae5eb2546 GIT binary patch literal 447 zcmV;w0YLtVP)frezc;g6>d(F92|s}tcYYOwftBSY00t+#lhO9 zC|di$G;Cx0&i4I&On;agO*SDU1zu!I|1pvi=D4douiH5mkkS7<@@*OB( z(uvR>J~B^vc?nvji0?a4?A}u0J+TAvwllYo9%5`=3dDZ`n@VI})*u8sa=Yt;5LuQ9 z#8x5rG=$k$i-wvKx(9R+9v5W-Q8RdN8?n8rg`vBgY=W-~!oz}0AhH7frj@W+v=|$z zBAei4pAnwV4pidpVF~H0Cc=GWfPH6_Z2Ywve8?mdxHlo?swV=+?Krpfk}Z9~BEgxg zz(xfG{}i|r6|pv14RvD?*^*~n{z{LXm^*G{(r9{fp&wj3hYzc=FsjCs0fOi^+ z(`Ina9&m00lAggV1K?bGB%M0;21XJnWW?9tEX0TvVsxLKv_pu`b}A-0V9$5K`RAlS p`1fTRX5RmBnM9`lEAZdz{0XfJ>2h7D3?Tpj002ovPDHLkV1lNQ$btX> literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-preview.png b/wootique/functions/images/ico-preview.png new file mode 100755 index 0000000000000000000000000000000000000000..0b5d768562792e363214310fa534c68b348b99c0 GIT binary patch literal 1060 zcmaJ=OH30%7_MLx8;L}t2A}KV0g2s5ACzvWWa+k2;?`0c+l!H9cS={-hr3f+D#k>K z5kXCi2M@;R!I&83;)O^e8e;+n(u*2S8jJ@$po!t2=)u|2Ru9%qW@rA%_kI6!#-ov= z_4ZwMo6S}q?&4x--)ybA_2~a=^yU!S8euRAd$knI3I?#TlGYEfup$hA7!ah9GxMO` zW~;^JcoHW0V~nUNgkWKaoT4MP&DP$L(*65L0Ku4fjs|zsG?NRCX9hU@%~fTjF0Gmi~&>27$Rz1s>yPtGXVn# zP&4A1HdL-+G_66+Olvw8==ET{Aj+y`7x6sLgjEv?stCfIA4dv=EK5wl%eg{smn-P= zurwW{+9;QYb%!X{)5^NtE>D@uX<|kJDlBuQKU{ZJt~CmZjy!X~kcWX3GBgD%rp(CI zW1*|+mAF#%Se#Y4BnpPK8v9qH%U5W6tYc+tkx?0ZprUCv&{*G#?yo^l;#QbrAr4(!b@$@{{hi#-9&%-v4|mSG(cco@ZNEUd~zX NHXMv_Q=NSmegjI}T8;n! literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-refresh.png b/wootique/functions/images/ico-refresh.png new file mode 100755 index 0000000000000000000000000000000000000000..c567ffcc563e7f72f21f3586b47a09e265eec834 GIT binary patch literal 1587 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKVEUiw>>S|f?5q$_l%JNFlghwg zak@9;tiQ0MNWJdqB&Lr_N@mA$Y%-D?bTUMeT%x09Fv-w?9>u z;Sta8I=1_x^1MIH9SjV5m6H)GfK`VbX?uH~Gr~|IA1!tNVN}zwZ6n*>f3J z)N8!lB_+b(HOteubA^GOp{B{6W(Ap6Hx9?eD$-RdbLE(Fdbsy*eQPd|@VM&tzkmC; z9g{IkX*j@mq2&uJoR?GG*Lhx~1HIw$-DmW0}ilC_GB$5zo;vnzOa=%%h%^ zUjqHgb{gVKWgaO#+P3C=+=oPK_SL599d0X>xYvkfMxE2v`ndEr|M&WBlcEYA%O1M7 zWcEd#KJ|_Dr!W5tlsO#Hej%ptiPR&pBY{VK`YgT`>dxMk^_hA5@>9){?VoMjlM1)_ zA35z-YVoe&XSQL`}I~g$X&1I);f`@eOzIe#HtqCsjOAb6T{!v-rcE7E9q9cX__2Z?xd*Srp!wslAO+=$6S0 z*M0k*>#VtYr*Pe5@1nag{2X^w-x*y$eYBvgQMyR7W={V{L4hBaYxwV<v=1O zowtieR+0N`g_WxkcJed|HDAy=S;|oT`OWJcQ#an*#>y@p|r z0Yl%MuQ`c(g4^X8b>>di-ty|sdxr<64HNAzr=Fj+=*P1?>#uJ6P-kMpaARlu>e~9C z)o*QF|N1tBzw%$H%yn(Qn)-cUj^Hfth%9Dc;1&j9Muu5)Bp4VNQ!+y$N+NuHtdjF{ z^%7I^lT!66atnZ}85nFTtboki)RIJnirk#MVyg;UC9n!BAR8pCucQE0Qj%?}6yY17 z;GAESs$imLqGzCF$EBd4U{jQmW)z9|8>y;bpKhp88yV>WRp=I1=9MH?=;jqGLkxkL znOgw2D6bgmE1>`MD-sLz4fPE4;U)t$+5r7%GzXtKQyi=)V~ z^ZPGki#n;hZ0yx|lJq_8|C3v}CI99GXozT?)w&|o>g2Tas)k9CpyT3@m7$BKD%{zgAJ~MB6~N@e_natKUOqSJmZF2 zl|w4CuivDUD-y=sYHOu3gdqwTlt{Cs%agMMl*0U0WL9!b`7il;_M#b@yw@&ADgG2pPxP;t$JB9J z&FsBMjnMpzNm;7bW^KM9Fzsr%o0t~}@`*IIMS%ErIf#NWkp?bGja bHg}ExcaAsmLE{ZQP+InM^>bP0l+XkKbP2CB literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-social-delicious.png b/wootique/functions/images/ico-social-delicious.png new file mode 100755 index 0000000000000000000000000000000000000000..f48af14a5b41c3dfda2b1021ea49202b603a4abc GIT binary patch literal 650 zcmV;50(Jd~P)md;?E>1N;cyyl&!&qc=@VIBy^Ugz#tK zuo88&eR@h`+WYw2=`-zJ12OdP}m9&$EOPmvR~CXeU=3<`WoXw7QPty z!iV?Y@b%+MW1|BUjImf)oS5E~1Nt~qaIsb=QIx%){n?WT(kZdq8rbASTDY2mz?IAb zHo=wUDdC=K_opOLKoph)R}Q3v`}HjjWQ9kkAPLR_2Y5ul$u739t$`G9%9g`$yJWb& zakmRd3l|A+`;OzrW|&JT!I!@|9-rNZy=3VeNV_(|aDrT09?S((@H>}h-wCt8^&_sr$+TbH(kd+?ap&smVpcD^cCrn|qxs8Xq*TrQ*8Y{K(A zwIx&5_3?O&(P*Tyj(WYG8dfY8@#xKkti6sGKqI12M&YyB4E=r|gTVl<`)?yobbtg9 zSi>F1L8sF}uh)ZVnuos+=y@f$Jetw%cGaklb|KLYv|25++wFsmdZPf_wiUS1XykJz z91e$=OeXnVN{?ar|9LGp41`0-Gd=d$`GOHZ|0Efcv~t-g|p4uo6DUJ1}Hkcg*Yi}o0Flv=V}65Kyr1;PTf k2;%_oun1kS5|C&70m9mHLYHnx?EnA(07*qoM6N<$f+zAi_W%F@ literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-social-facebook.png b/wootique/functions/images/ico-social-facebook.png new file mode 100755 index 0000000000000000000000000000000000000000..b4183ef0ce0bcd7f50dbdbf5a743e691006ca90c GIT binary patch literal 686 zcmV;f0#W^mP)c83GN34kbg!ZXr;zck7y=e?TB(p@pm+ z0)hU5kT|ZL#Krd6=O5?#r0D6LF7nxD`_jAI&<8?KXPv%J-+T8YGa&?|X}2I{OP#<( z@WIQC_kK(;I-GOWW2iVeRq2`k2AFp!acJD1o4~ae`xya|DR+B&3A9K6rL111rmS`!fB__MV!j)*Ph( zH|3839PMhJ=*xkLUIIo&N0dDb91TO!Xm+4(J5Z_GLqgyah#vExz24ddtKJ4%0^3ao z+D;edW~ZRpa)uNlaV1mKgbUjDqY^lsZnRQNA%Mu>WvkV<@HpTDz5)utxZs-`PeT{p z|M<%Hv#TG*B;eJ6QQ*Z=4bJ}9@gGKJtsexApv8;2?CZ&#hJFYF;1wC;{Fw!Xi<
                    TC~*Xl=yvsdq*#Vm&y$ZURArku?qwogE-fF$mC62+Yp!jnCR;B@v$Y=eL%!4d%P`P<<&@Cl@8m+w%Z U2yyXDR{#J207*qoM6N<$fNkl( zm4-(Pg#w-FJg;|V+UcE^))HH~@MO-++{c{nyXT&BW`g_5sJtI#e60>zlY$bG*DpeOab&rfHx#lzvp_ZG0@ZO(O>cZ&m+>r~g!m-|C|ccm?@8=6Nr0>I=@TPpN`M-55ZTU3 zNHLXU1#jkmK~ki~Z@lHhCSOLJ2UJak#?Vag(uz~rBDOO{q>e1W+kOHW8cQX$ApsUW z%@N?Ef6%WZccz%&nY@gReF0mCBJ*@5k0%D*5GMQ49ZxkRpt3nld!W1pp#g&LJ2F<& z7bf_r5#d!58TCQx8G;tyYD^$9bQKR+aS$E=hI)&5yLNQxgRw{u(T85>;~_}9r@-9O zFJCWE^=)(c%i5<}8 z1M5R$@-AGF5xAoDYd{SFl~pMNxKJoqM%aThj{~MQ6gJN_6E^jqz6k|EsHxT0`cbMV z%76M<8)0zEOB_iX!);k;r|~#!FCfcu#8lr=6^xSAALrezyI(t z(N5&q*RLY%vcmL?VcP`CUNA`9=Uvo7G0N-()87WT^~#~(36x2YHh}Xa>^~2iKquu7 XWWeri;>dsa00000NkvXXu0mjftrDDa literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-social-googleplus.png b/wootique/functions/images/ico-social-googleplus.png new file mode 100755 index 0000000000000000000000000000000000000000..41bc43a6a6ed09f76b76c9f4512831786d48171f GIT binary patch literal 1643 zcmex=x^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal@=Hr>m4GgVcp_+a(EzE+-j#U+V($*G<$wn{(~^fEJ3tSnueEKS{v4IEuv zoDB_K4J<8;OdO5f3`~rj+>DIPU154%@{>z*Q}aq-dQ%X34RPuPC57Aqpv^9+MVV!( zDQ-pixe8z}TV>*Oi;*i%^PqZDaJt3F4X0jxpkwqw5sMVjFd<;-0Wsmp7RZ4o{M0;P zYA*sN>;LZ<_`r#kA>{xt`!N2$&CtTY#=^qF%EHFV%ErkC#M~TgY#iJ?TwL5-Ts#6i zU?9N5$1lLo$0IB(A|fm-BP}g0BM%3R?Ck8kJiHPD0uoZ9f}&Dz31S)l4=@OFFeor6 zFf$4=FbOg;3o`yc!cfJ)z|6>q$omWoENtvR5k{aevM2)!D;uK#10ypND-$yZGgOL+ zk(ou1l|hJ&ox@OA(J@fTD0uPa%dX;ulSP1bFfp<)A(_I+#4M;N#KKzGXy}+Y@&7Fb z9-t(XAhRHYJ;RE3&%W!m?{(XJJaM|pZkbezCq1VueNM2lxHLap-&-g=vF5=?(MkUq zR=l?Oe)QC9v+R~llRvM&u;{qPnOQ=GJ3JmO-_p?+wEt#rc>J}%T)|DJMbcGQ-I->; zEPcz?%O~fS>V7@?(078h@o4x7C-uT?IfJwLcV^YnfcdY2s zNMGx{eMV@e-_!$Aug=;F9bB=lOnJ(k_T2a10`IK2DC^)WzJ12a_f-$r?F=>kot&Zh zG^hHtaRbv+@4tJ`H$VQdO#J!&2Gd)*H@ri-#pY=1?tOMDsPQgO_+O8{iBgk9t$H(N zFwA{;cgbAifXoG(ZXaD_n31=FYtsu2zVx&H)u(?PU@VOM_w4z(kAH$+f4*^mKc?X( zZ{XTe9qqTB&x*}OlI#w@a_VSEOLAJIetpN*4+n%59_zi~)z~mGc+vOR-x18qkHy}w zdKTfe`fByMziSx1AOAa%HCJ@yvithyHqShz literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-social-linkedin.png b/wootique/functions/images/ico-social-linkedin.png new file mode 100755 index 0000000000000000000000000000000000000000..ecf0a1c6edd3bf7e929891b7ce4b4e1b96f72564 GIT binary patch literal 965 zcmV;$13LVPP)4HX-riK@M=kMCn2P0Ar%YJBbHw zhTaU`Flr<Aki!spSTeEL={97MNw6+ub_B+Zw^Gn8~Zxp{}Hm8FWxgP0gO*v(32-$ zMKxkbLHx0(zfq*`#M5&Uj2k+k%$GY=j-L2ff0>*xEg4W%Zs&^)13q#WZcf;@B8V#1 zdGl5j>m=+4I-Xn^JCH#{*N=hdNgt5-ZY(VE={G;~&RCY?*kuRXh;baxVf=bs+r(y3P%8QSHYYNG(6F0g)jbv90!vlbfxl^Y)9$Wwz% z-W?|#JjFE5Ak6Qf60D?toI n0R$k-HW-hB2tGmp?QH)67<7}c>rvro00000NkvXXu0mjfb`Z?} literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-social-rss.png b/wootique/functions/images/ico-social-rss.png new file mode 100755 index 0000000000000000000000000000000000000000..ccd92f3d37037cefd88aa6349723e6c5e9e05c0a GIT binary patch literal 1233 zcmV;?1TOoDP) zT~HHO9L3Q-J3jW&=}R9v?Tgx?j&(XtJFVJw9EAjomCQBeBjMSIz%$X$j?%wm; z`#<;Iqyb2KluG*_U}ghT`aTquya(p&E-=OK5bXq0lnHm?j<8O@1$V)Aq71ly*ar8h zt#F@w9j@)6Y19eD|^{1@Rmyb;d47myHung+(&A^!6_Q5%sC;%FS&zw{-(bB}iV59uFdZjS zGUu-ECbL%rXHI$o01`M_b9vf>q8~Faft`kXtOr(oIqqw7!L;WlWzIEyOiFhK)8DL4 z06@}C11Hx!6c8}i6$%ExSo<)lD}Y^_HLp3>@R3xy>8zEB0Cq}gmjf5D^&mJsh@fYj z!1!kc5q%y^bk|@^^99(}{d1bLwL9SN$c1Ci6A1vwI;Tr5F71W_2}&^6OF*Fj9|tl` zGBT>!54JgCPED`A3GXkP;jP*LPx-SF+|=&J=LVn~3|;5*Ej5~vfWs6A;kwrab7dwx zmp8*xxn44jRgwUWin-qm@;Bekq-ZeE;>;G5td6I zrU*ceRC=n(X{YsN>)(a<=Z(?;Y~9-s?M4;Elu3utqV#aTW*342tMu7>Ysn0y0zl4l zdZbcwuK6>t)mvdW{4{jgPf4G25bxzp5GH$65Ejh=#e^GfQrdaOhVjZ*lLw%GCg^!i z(@o!+nz}{|;WbV^WeBz=Lj}NCjZu>udsKZ^&E6CM$UhfabNK=Hs6oBa5D2-CH595= zhTKl`Ab9Lbm#y>1Q&xQM|-yvCa<=xt7cZ@GvC< zP%mm23qTu|{f7X{sAnv|Qlb?yz+x%_u!4HdoPp&;8|V#-De4jNS`wFmNXIioYl+r9 vWUY;iy?nL|#6r+=Jhn($Dx0eS9;N;TwDPKvxL}s*00000NkvXXu0mjf)7w6p literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-social-twitter.png b/wootique/functions/images/ico-social-twitter.png new file mode 100755 index 0000000000000000000000000000000000000000..dac33d34b6b48ba283c83769e542bbf89c7f9de4 GIT binary patch literal 638 zcmV-^0)hRBP)JPD#w zUrH@f6Z6_+_VF;8K1!#NMv!pQafi53u&W{)F;+^S8bW`XFmNqGUzPTmu!Td4Km_+*j*N&4T8vB0DC z=>_KgC#d$|pLOJ|2-Yq@(@qP*G0`4^r&r-i8;-h;{8Xh_S2-QIb2|(C?&GNzg8Z|9 zvmg=|2k|_QWAi0^Z@{l+`og7BfB;>H(()Fdx&nn2C}ie>Sf0mGzLL>#tdChM&=L6B z9wVS%8J`@?Sb#o854-TK4L>`uQ-R0VlOlA9j^oyc5Et~xKewP#cjN$jowM)k{mlRY zt)4S^rQs@=#~*Q4$h;2hH{tLkIq4{Z7k}aItJ4b!ssq*T_({1O)PZB;0&nNz^o4`! zz$D~y?pj)c)zulhz!-xu#?0$e+&GNHfC2Jz{2j>mIR`E#;W Ye;JDOvG{?z(*OVf07*qoM6N<$f?bC#@Bjb+ literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-social-youtube.png b/wootique/functions/images/ico-social-youtube.png new file mode 100755 index 0000000000000000000000000000000000000000..8cd302cd9b7ea4638db1f4168ab35510cf4d9ae0 GIT binary patch literal 1297 zcmV+s1@8KZP)M$k6Vubv1bDsP2zWdmhTH9?si`TNoSY<=%N54N!~~6xkJISrD8uP=GKPnT8H0m^ zG%zqgQ3Zhb?CgwAPfr;b%fF-HTmkN+KA08gEdPD)^uC6W` z8ylm8g9F;%-w$JNZ;!FFv%}cl-VS4HYm0$By}iBq1jwop?*9IM+TGoy=H_OapP$!7 zE{HcbHyLoCySw{h0q_z6WO8g;TwJ8q)>c|tTB7>;dL~_8U*}w-9v}>unVF%rwKZPv z^Z6nKU_H+2?Cgv#0Qr>35jONqO-j1Lc%GY^%c*K>Yonr~ zA|~J1*kC{a&eAOaqypH83a+cG;~Rn$fEZpQHMO<1EGj1_ha=L`(n5uWh3q-V5fuRE zbaZrFECAOG0<`1^Il>FCanRh{92FNAvj7xTRaF%W$jZv%Yl>*)<>iIR;r+_W3fBpu zcBuf6%7B1{g$1gttYp$aAV3a>gTsznQBhIB0x~l*`8`0LK+N*;GS|cG>@4p=N)W9J z1t5GP0x~%u!VWL|em~{s=QC-0dpnhumU6i5b~_8o&d#Q^v@|A_p<96VjstSokq#8x z>gp;rHa3R6O-@dxva&KJPfbmIc>&0uR)DzUa@gT{Nl6J=tyU%~C@5gN(P&gojG>g2 zln4Qcm@WZ$(;?uzM+Tk?a(IrKfVa3-f&gQ@l3HRhhJfno>gWRSmJ4#^HCS9pK}RXg zOjhtVEm)H24?_~U;;->oK-d8}1voEi1W>_fxfFOh^i) zK(Vnf+kNh*9zWsUefLY=ulpL}yN}{S#R4Pd1P0o4#*gH-ej6fCiG)r37Ix8miqMgG zi~bbgBZ5WZ+Vq>v4E8SL5xG>NQCo;e*v75*xEFS}{SkS7bx_|2A5*`{tUm%UB2QvN zm(fIBCX;&TLvq``38mmS2lud}4cQ-X@3GyZ6XgRm`uLa7p3lGF{Vyc|i^K!cW;8HD zHSmyzZhlCo8=JH}y%sLCpW%HyNaPL*yE51i%GCSpX&satcHt)*E6Kysjdap2fwgbD??u9WfUhvF^N= z5M1Dt1zc5d9pMrGEd{s#W!zHFHl0@kvIwN(wf_iL1$l&kSBbv>20YvAp2yV}00000NkvXX Hu0mjfk|uP= literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ico-tick.png b/wootique/functions/images/ico-tick.png new file mode 100755 index 0000000000000000000000000000000000000000..964e9dd0a0095c9b4f25bcc291fb4ffc90b5775a GIT binary patch literal 665 zcmV;K0%rY*P)UE0;sodljmsoJ2%K z7>L)*CCb1X#$_IK-0Q)-yL11C9PxW5Q!VBMRv^MJ${@@Mb`prsh)pwpIJaf+ai4qr zw|f7}tdRb1x5fIu#eRe13?e+D4C3x0LJBRCS;A(5yrNuUFhdyOHivRr1RwK$IPLzV z|LR+m{|hbU`!BIt@V;c6s11X#s{p^lX3KT6UQYY3vr>79fIdIBC=b|nX1LAAyzk9< zHvPZZVT1qD8^r$0uMvMN6)t8Cl4mg4q_Z~deB%GC>nZ{}tCsK9C9(vjYVv$Pxzii3+VohqeCeolyIq{vhuE z+~?E&Ys^+yz#Put5qQ|^?#fS#{)avE`fqkt=fCnssYjAQqBda7BBIP7Z!!priLl7F zigy{G(faRj)AWDg>(u}2-mLt;^x>k0zw;f7|Eim19!La>z-@*FHiM`D zFcw5aSmfFyCRtxL`0x9|;eX?olK=bvZ~LG3Gw#3lQ@j7_Tjd^$2SPQAAT&b^0C7Nu zh>CE^cSy{1x@Y!3>Z8y9wC`d6qrUq5H$JNVR4h=~0o`U~0~kcbM43c^X+cC@m_u=b z3(Vuqh>X4UUgR|Rkyrl_A+ZQ|&sv{h*A#H7Q{ccY6~jLS+TKqYXJ&tM1fM5V z)bxfEHFiw_#q^!IO$r|LPhldmhyr>N-_Lc%u%xfzcx%wOGwhlIPTte7?|KyZbwdb- z<`JD+!5IC>h2>SuXbUL3Ic@YAc1;0AEedwmhOw(!#-7r*sJuUlrq@ASXdFQQmk0tg z^dlRhhQqEY;MffX+bcqAT#=D|c??@ieAwpkV@JsceEO>3T90P**);_eH7eLyNyAtF zLd8#PIsXpX?jgfrHxXd5Sd!=VuMnSkeoK-nK~jeG2{%QIH1HA!+f9I3AI zzA7r{@zjl=^NiE!OqFalTe975PobbRDx}k%LA#5{B(maUQr#8rr4wm%PD!Tq3%(+Q U@7I{AH~;_u07*qoM6N<$g2{>qg8%>k literal 0 HcmV?d00001 diff --git a/wootique/functions/images/icon-32.png b/wootique/functions/images/icon-32.png new file mode 100755 index 0000000000000000000000000000000000000000..6a20ad5777d341d717b6c1a5c8e5907bf1d7a309 GIT binary patch literal 2179 zcmV-}2z>X6P)NJImI99mImkkx&Z!HhcuGms{jD2rQn zgAGc%5Ot#9zKys%dZdJXi?$ZU{t; z%sG%6DhZ&5NdktLjEk6S6}ULhIw-xsIwLKE6NeIsS>W~%veeKyTduX0xrum;6{D*WVq`zA!Xzl<|kZK zgfUCh__E|EHtsnAmo#m{eUSVMh*QZsMS&CNuL2#d*jarU+=RWXUzD;BJTh@%a``{y z8%22di_2+@Ont>ii{1xIf7xovY(jLbWBeX0`h$klY#X#s;y2ZBN>ueAIEXRN?|Wk!97ETqN*A+JbVDOKSOJC6HZ>fg=txp;4LnDWuhubbN1un)f;GQ zX`*BAKWIR8a=a>3N@JLrcl&qpTW3wyK z^!O2ad)Dr*fdkoTaauVMx<*csD@n>M#Yb(B29mb#UH?U)KR5h@UErPSG z2!Fb9i?#oF<`R^LPO|;SjZN@M+X(^5ZyUN&P8oZLOL@`)*vH7p_WZ;IJ!ynnd;xe1 zzJtxY0xa01AZ6Ifk{msM1IFQ7k+tIxYfId+8xHgGNb=isU%NX|tMV~;+LxHQx)g0~ z&uRO)x}RY-I~QqrYIZ_LYcIfNW+qHN-;Ao-t1M^iMg?qR3PG+;Ic4NAQ|dG~8}=p(qshf-hT|n zA(`OD`+Tf3ns>GfK@~;EN5p!mZM_x{I0M97DU&G zDM@mQGbTi8KWi<_LbH&byO#}Go?nJR{wt7@y^|#GUT^KspTjR98#NcN(fucljo{5% zjpcbtHYRdq9?fY#dmU`TvT*jwO=gn!A7XUG8r=TnFLeJbSpHZ5VN+Z zOQ>84lj)hTm=q@`Ur$q|HX+Mk7PJh(DYgHmWBWC4R7*EN7>4a!GHFVTuDY;N#Iyn)eXD`Ro=4LwRLftK_&fUQds;oW< z;k0{>Jo;HpAU=iDjh6sJ6L@`kv19GS0 z%5`Q1+sO7dHa=l%FmPTvK9S5sz-YV;F@!ZBbzYR_I| z?Lo0i!SRm3ox9A||4I(7BveLo%QACGSuwZB@tQL*bo(4;zOmrAhRCVkaK}oGJi=h) zISYCtgYfMxbq^t$>OW$jC;$e|p_m@GvWGvvxD0){{_qM*KzloLlAn`zv8oEE&vl9X z@zhxi76(FK9E{>J4Qszt_Y;bh`_aTM3@}5Q4g*ODjJ(1@evinhK@J{L@-qsjkbo-Q%W5Lto$r z1Cc*m0;ACUvdmt8b}7}+=T5*d=O9|w5P^@JGO%@>Pa34-i-As`!ofR)Ep+;tQB|P- z2v^###V2;&7#k9ej*j*&q50dEc4FA7WcqW-}H=F%s%S$pOjKASNYI#%u& zBAiIzi;rzR5gaAM`HNRb-M7%O_v`DClfMmv9X)BT&YXiCy$Yy-R^l%P*}G$qy$6lH zW}~1`Guv|a?mbwH91C4*SCExwV#xbL6A@B>yN(sQCGR_YU?ik{`nGQ9M>tFb-f)`~ z3clB546q!9{ua)}@5%7c@PrPr>07&i=P?=XB-WTm@)K@-JNK@91O_&vzozsoggpHb z;ud`?3AE5L6~M(e808fQFve#pKH_jO(3y)hBwo^kql-&I$7o}9EyYB5FEN&)C`!*<1KNWprIF` zZ3Nfekmn@PluXc9tM65zo%n#D&pW`7AdB!meMM+9vDv*LPd8n?3H?vOmT+(D63bux zE`0w@p`Gw1IgSxLA??Bc&q6y9LE!S%Lf@NzO5PWte+N$VI@*xu7S8|x002ovPDHLk FV1m~J4*>uG literal 0 HcmV?d00001 diff --git a/wootique/functions/images/info.png b/wootique/functions/images/info.png new file mode 100755 index 0000000000000000000000000000000000000000..4224de592331b97b284545ac46963999f22a8e0c GIT binary patch literal 934 zcmV;X16lluP) z{B;51bE`GXPNtb5AJHs1H6j6aZMoS*Rc&2V@A^#j&OyQsxZs3aB!DIFjg!_tcF^*N zc3L(_;D8HGxJ3fc`X|0=-X{b*;T8(8w%S2UE9^q#zV75kq~5Xl6gY(gtmH+r=(eq2&NOt9v*(NZ*5mU)^>7LYSi#RM<(5^J zbiSQ69X}QxaCY}7)_Z_cI6%f-J0+J{WhrRvq|4?O+E7^O4e+wfrdaO*PT>IQe9PvQ zcF2-+`YFviSw+Q-4sU?$@>h!W9^e!Xkj9DUTy0k*qulCk-fVSI;#qUQ^#D%c0IAp7 zY1X9=iWJqme*E>jUe|A}2RMZT%rE*#2^TD~q!zb(o7=m(X~Fr|WadSQ^Gag?oWcQS zU$oHV)2*_csIm3=27rwPH8kmXlj0Zvr*MG8b8R#+uSJ%Oe6zRlxynYGxu=xka_bc9 zJ-{g(AmLOi#TLZYR4{ z18sO~Nx5vH!~zRV=fyK^kiY>KoN&wa9KsCM>2zwnUayJUTai6C|1GV%(?Og0KiD>Y zo!b4(LHnLN=s>N54%Ip7umZS-8q{J8#=-#?ob1jq8jb$J!NF?uboa&qHxJ;wo(UZm zJ0&tU>*lfeoJSU)y%n={NAV<0jE;M0IDlFe7#QehFc`EP!oU}XGZB0o#rv_$ zI3}8jkr>~L*q`WqEk+s_Ejh+8k?b9bNn*0nq}A?6z_&%M)oT3_1nC%~lr)Ts!g)V} z_aminn8j!adx7K8T!U*7QZ2@WbA1?NGJM~3XpBjlOs1jIso1M0a#Cb&Yv6kVSTa7)39&TfBv`OH=#&%!YlM2cmMzZ07*qo IM6N<$g2Z6R{r~^~ literal 0 HcmV?d00001 diff --git a/wootique/functions/images/layout-off.png b/wootique/functions/images/layout-off.png new file mode 100755 index 0000000000000000000000000000000000000000..a7d12873b34f76321fa9de3087ab688767f33231 GIT binary patch literal 691 zcmeAS@N?(olHy`uVBq!ia0vp^Q9$g*!3HFK_B1~NQY^(zo*^7SP{WbZ0pxQQctjR6 zFmMZjFyp1Wb$@_@G9|7NCBgY=CFO}lsSJ)O`AMk?Zka`?<@rU~#R|^BW-s<^>S17D z()Dz445^s&_Rhw>M+PFT4~GD&qG;$`){_uo>$b(V;ShU=5%Gc?O|Q{5S5)a|}^ zS=PHwe*Hq2Ya_SayYIinLq7kDxPKtu^THAqUoRqwQ>rCinV)+yXO-=k{I`hRmWNqy zI`^-A>*rnkZoBUK>t&MF&$+53*zV++GaRt!3k|5fpDc6S*Es44TUFnjXl_&Yb#pIj ziC^$Ou`_6e>XWU;QE7aCc`Uzky^<_?*>i2C({zRBa*k6K_Rl(ag2!rUNY9+#oLku{ z?G8V>`hN1hNBf;PIt;@cb!+u>k99o$xZ~HZwKE-=9j=!$Tx-6{z+6A^^Q<>#>Unmr zbMD#r(`wp@2IhkA%fAiy6 zj*gDgr%xX~e0bixc~`DndGzSf{{8zGEn4*O;luOi&tJQCZOM`)Cr_TddiCntw{Lgv z-hJlGnb)shPnj}h$BrHA*RQ{L@#393cg~(YJ7dO-0|yQqIdbIIty|~Lox6Pb^6lHV zpFVxcKp9Z{&+X?L671|4;A*62z|06VP4STSLQtts|)>s$Cj4Xwf`O}@aM8vt$S;ECd$~+b? zsP)M4cLX_xm5YIeL5B(G7#^@=!hw$Q&|wql?PxlXV`Rv{pk^@BL{+%)h>@g$MBB56 zD>!8KNh~i`5{kU)%gVIQ@4{7v{(~BGD&Da$WmP*Tvc$?VB(rz>@o+L`vIKJ~xhBdA z*VN8(f!W0Y@;D>VCO!rR*1!aXzL+a1$y#YLkCfaGq~^zZA5w{IiaoE#kT_wHV!+}a zPRSD-A)0*)pKnezo8EgM!nHu}fhWUaL1*S>-nN^o@`5MlO%J$zg1JmS;+>Yn0!4(6 z;I^u;YzT!fvAy)VdxCyY5vlu1M+CyP;7xjW4n z<~uCm0=GVqh#`!_eS9`R1Ca^%0Xz zn{7;dPx@#&ZJjiUiJ56PFNfK5-XKYhQ1$75X7NfC$V(@bFbYfYyKpd-FhvOSv9jfK zIjgZSuro?ahc!7@N={{IR~2t|63+331sfB@UVf0j*wP&u3p9EJ`X_rXU}6YinzQ&} zk*BYU&{PBI7hx+jG}Ie}mhED^`f`a&u~M&(`Qk?>E>=vvbJ_F3M@}b6U`AkcclVZK q>u{FykCoA?&rHsU>UEkNtLc=Oos#BWC(6X2DH&2;-_z^JU=08U_>FG> literal 0 HcmV?d00001 diff --git a/wootique/functions/images/loading-top.gif b/wootique/functions/images/loading-top.gif new file mode 100755 index 0000000000000000000000000000000000000000..690da655d7fd9c2a0c67984408ec81e9eae6a1dc GIT binary patch literal 1493 zcmc(e2~!hi9Eaa`HyfADK@4a~f=W25l0c%?3N|2+gd?0Hn2xpW#6qhMVx?B`XpNhg z3qd)H0s+MXT2QU>^vzu{g=Nh*#!h#SUL1Oq_|11mFAvst4fj8KS=`pWt>)aE4|m9SSA=fVe|+#n zUiF!MC+*9(T5gO_FZgtC)YpfMEe_sCh2RJ|6U({sMeQXAP?M^NCYN&1q+!9rZ6~7&JB8Z z^FkcXWdv~*C@%#4VjCL5)1@=Ly_>X(&?8B)Za0ho1Q5H+Sa03blv|>hjTzBcXI|)b z*z-e%Ah-a1F)%j4%Lib%pTKc+-S~9g!W>-Pnaa8K`p;b{=LY_M7?~2Gkfub!6`8rq zQp6I%On}1jEe8l`yh0>WdRVyo4hThJ0Wd3Hi<7vY4u1zC2s9MqVd0|Lb66#YA~6H= zsVYWh#YEQ?!vtkzBZ(-0oE1I0F(D4bieRlT?7RZmTzM4D5MM>m&?|IO*`@SeMepL` zjJZ&upsI0hmn@DWD~W5QikV%V`~Sd%z@`-Pv~*HOPf0=aX1a;akXR1W{Yyy| z#;^!5RfRbqxlRuW*)ck#F3xVKfb#{jX>bW&1Z|gXBEAah2|GljOqoOPEw!rvNVTV8 z5;4T_$MoE!z6m6DNJwCXXt4owm z9o3;V)+1JZ!!feL3JC(5gd~bWsW6xh+aWiIksg?SC7oK=l!inB5QP9y$-Qw|ihV^;;XW;zDGoq%fEAGjB)hi${p$DB6;LdwH-s-+>SbPQh}Nlzm6aBfK#Qp72AiAJnbd2$ z=Bz#M!}qn3%z84A)lWEsg%RcmLyc3+#&JX03bUFAP#?^o=J3=m7$Kba-IAT{+7CYX E7b#2G4FCWD literal 0 HcmV?d00001 diff --git a/wootique/functions/images/logo.png b/wootique/functions/images/logo.png new file mode 100755 index 0000000000000000000000000000000000000000..c12353ecb44801726cfbeda1dc8f8c9098cb1ed3 GIT binary patch literal 7093 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 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/menu-arrow-frame.png b/wootique/functions/images/menu-arrow-frame.png new file mode 100755 index 0000000000000000000000000000000000000000..962c6561c78552dd0fe49517364d79927bc328fd GIT binary patch literal 357 zcmV-r0h<1aP)?4<1`E^-_URT$E7&j;FoLZCo58?&yGtbqT>%3F6Ht(O94AvvDwr@7Fv87XmE*s#Lr@l70mP|n5T|Yq@aSj3 zPyq2R#IamYmq?kTD}Xo^;$5~*{rvUp%;*YGynDS)BMw~w$P8GJv3ZNH*u^7=t^na( zV9Xp#H!sIjzz8>kRi5wc7EA>&?}CDieWf!Q3J6+(LpbGDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_c!MV>B>AsWHSDG6*&VQgXwX=yS~dy3e)m>IqVvTWoyaWDd? Oh{4m<&t;ucLK6UVM<0Ly literal 0 HcmV?d00001 diff --git a/wootique/functions/images/nicEditorIcons.gif b/wootique/functions/images/nicEditorIcons.gif new file mode 100755 index 0000000000000000000000000000000000000000..a0fdc7e4f59fcb8b8a9f404d0576ca950c125431 GIT binary patch literal 3514 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 GAmo4V(U3C$ literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-ads.png b/wootique/functions/images/option-icon-ads.png new file mode 100755 index 0000000000000000000000000000000000000000..463e64b6de5d5ecff2d3933b91576e131798a168 GIT binary patch literal 596 zcmV-a0;~OrP)xOh=}59AWL>x2xRlJ$g;Pf%i=}bXvrm6r-P_?=^%?Hbnq;l z>QsS5B6;ax9sHAspeTeT>P1CTRDQkpmXXy87CL-DkBk6-&`kpz$DwdIyqiv^91L?XVM1_YQo5D46j$Kw~ZTJ6VbwE}#6 z$_MUaueW(Tp2xgIBJn(z%e|XSCgWza3A5P@$T|&tXP7s?&d>YH%S+g>T&~UMbC^!2 zFdB`ZTCD;Of!pnVLId9z=IuBbgyG4_rr~gHFc?6u*Mn}i3&moQ9y=V4r!?@1VLsLm z523ujzo}f_P^na?d_E7YRtxlc{RIuYLg@3Cy}fbs-~cw@z49832H=NB1KDhr&Sf$g zM*}Yr@?l@Mu`J8+TrSs(SSNP^;DJ01hLg(a4%iremAU=EJT&WxT+9 zL;}fV@;$!rj=^9+gi@)z9zbTZ8R45L8c?ZJJU@BY1esr3r;&dK_`iss#RHK@6eP%; iU*Foop8@joKYjz`+0Hv_WhJx#0000D z@Ey9A_A#(_f}wa4eP53tFaLo3@fTG1-!Of^*}H56_v|+~AAUk*=K|~<^S>SK)2r5- zPeNDkyav$+>;c6HrS7L=CVP)xx@<8EA@a#Za-sb89Ed(pc5B86h4qheDIh2yw2Nna zM;9oSr;I=({?-OGGkw73duaqBse6kzVw~v%=H}2DYwLsxL{j%0V47Lx04r&UG7yQs z)yJyT?ECpbH-nF2ETMOH0xlrKqqex>P!u*uP%p2;m-n@Paz4f8BZ z7bxZW+kAdN(gIoL<}qA+oehlQ8cMNkPr1l5Hk2t_!*@!RD-J=5(toge#Xn|apUrqgXTnYuL1 z=@vGFC~D+I5-I3~7tu|E5YbIRS4J1V-uK`nHE+Cl;PB@>&wI}Q9DzzA7VJl}tW>O) zmb}raYo@*Z)&c+`g7Dva{wub~%NmHd#55M8qoo>cOeL7RMQCfTU31vl^`AejWs%UK zJpm%gn8uP-wX_%pwhp~U1?(mz554Zx)}o1olnr87yO|*pN#B;W%JMo^Sq>6`MqUO( zYdw0pWZ7nD=3QHHwvm5XSvR{{88R^14C{^lI?o z^$31{Uj%+EVPvoieHQga!Q`_SLPE*|vnrejBv_7*A~?{2moxp?{Pvy~6VL$J%>^1r zC8Rqn>bczk3Z2EKoIB**fpo%IXAc`cXy6Rtx{K2<9W;vLw3Kn^z+xyt&cZYsUu z8x`)!^ZAxQ)-|0c?VQA(lC=3}TTTS{!B*t(aClzCg=UVk4=1t|p4pQ%=FqVs_h@SF h%wlp%k9~(s`3pvZUKQji{_y|+002ovPDHLkV1hhMN<;tv literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-calendar.png b/wootique/functions/images/option-icon-calendar.png new file mode 100755 index 0000000000000000000000000000000000000000..197359c81acae8c4199f6d90ee0efed8788d012f GIT binary patch literal 289 zcmV++0p9+JP)TRwg9i`b>?>EUfayO!-eVf@@#Dw;r%xRK<0+GR;OyD6reKJ#TCot93x0#~?j0N9 zwjS8O9c&{AZ{NBOOoI%;FyP0JAOA0%I}XM(r%i;jzeoA}KOEoz#~`tlD;D4ngKb;Z z0?8l$|Ni;_*7Sde8yK(lbtK&dAOk=eVVHmmC00000NkvXXu0mjfsBnP8 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-cart.png b/wootique/functions/images/option-icon-cart.png new file mode 100755 index 0000000000000000000000000000000000000000..1baf7b9fde1195da75a09a4ac8a7cdcc11542c3a GIT binary patch literal 421 zcmV;W0b2fvP)|9mIxVK*qV(LJCr#hETgDW!z&|9$wh3`VrtfF?un9PlRLs>2y(-4 zrLKn+LM$+c2R9RpV`rECN`sK@HGt)oU|=2}GdOWzXOuyDL72-1pjr{L%5=%8 zRQ(pEyJS{6KMcTc^`djdIyOcaz(RmDeoTeB8zvcNthS*`>A=K4->m8f9c)wTh(V)x P00000NkvXXu0mjfbTF;3 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-connect.png b/wootique/functions/images/option-icon-connect.png new file mode 100755 index 0000000000000000000000000000000000000000..586833eb2d61bfbb767aeed85bee4c918b6f547a GIT binary patch literal 719 zcmV;=0xPcJ&m^Suy%UetkQ67 za)IykGbG8jwwLtv4Vt#JwDtZMAYr|kTiOxiB_(E3H!w)OUdNVJEoWyJNRo4Na|{YP zF|lXQK4-C50g?5o)>AAq=#$B9vB&YJJntgpb8Vt)M$&L;+rBbg# ziR2)pQtvh3SFuU%`vTF|@gfmF6j*aMdkb~34y;yGQ2T0#i;G{mxcH6p^PhS8bX>bk zb`+kT$JT(~rEse8LR_$&Y`h|;m^UtFGB+`mcS}pzrRn47=nVDxX--YeGbJVKjicjU zV?kJ-P-mh2J|JrCX%v5&P#xx2t%Q$nU*OF<73@^MW_R}pwb~&L4^J{GN^Ss948UY9 zp?q`eQiC0TR$KF1kr55~;9#5s@0FIbQ{B(z<}RvKJ$&(^mmVI6rvR(~xV{QZq`tzoCSmt|#5R4AI5msi4&kh7QV?Zp6)@fR?Y1f*@-3c*$kCnvXS`O9oqdZ52|1L@Q%6HX&zuVkj0S++0Qv#Utpc-`faskzuyyr-AV?vRcpdUO=$G!} z6Po7l9}yf7aLP73Tn;NM8vuv~Kmf=8k+8ExW z7XrW|;5bmTvq731YzhEFK%>d-H<+CzI7?1Y;Lak_??GrtN|4mLpXJ$C=;|8T^bde} z;H(TR&d#NVtllGr%8omfg-%oG_=!kGK+1x?iCB%|GJfH3Ll@Pj2C(~sOiU)99=jBo zG4yqo(Q<8cq`hjZRMF?cPIC->bpnYj2px0{vKjQu5@h2njKAjd@Y|uz+f%)OnxBDo z{?=5__ldDL@q`5oHbf?gNGA~KB>Gwk$)FHVT8NF0ynFsBeG$-i4^dxHr7MZ)D3aNa zP&I_AB2*PL4XlSqOn>0FDtA467R&B=NM4t*#_B0X=rWiJ!R7-Y!A2agV0L;a$gGtD z3wsKfjB?24t3q~FvT3X(u{49osdxe%D9%EZq8ygQVi<_*7LWkUMmcEn))D&}W#!xO z%z91?AlO*`K62An+gfM!)M7S7>hpa5`a{~jJmc8o#?jnXPX3kB?w`5w@d=;-1gjn9 zf!>;VG^=ofwExM zn>$#;aL2q|NGH6=Y9|~mAtEOBz;7>~qMp10zrAAWHZ+Sz{SaA2f{|S1P^P=P$O5*1 zR?e6TnE7jDwG-Kt2;+9v6skqN-Jo7G!HyDj;or@#f~av133ki`nilKB!__xrRT&T0 z!z>Rzb3MX7V}oZs-cJI}OrR*i&(P00kh$n(uj@l5-ovwz^zy7ntWbhqNT8SrYpYiSYv`+q<%NTKUzwH4+U457+nlmToXSa`Brdo9!6ky3)9mMj0_DtQLQL} z+ck;9z&!J^iv9aO>udo4+)oO(x2sG@;*Y_WtkL5^8 SqA5TC00007snUBv4ELWHU8A6&al9&yi0o@)5F#tp)_$!i}lNM~e r4+#SX3IU4}uQJfIyCiD_=>q`(LJqjE%k5+A00000NkvXXu0mjf5IJ7f literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-general.png b/wootique/functions/images/option-icon-general.png new file mode 100755 index 0000000000000000000000000000000000000000..b74083e37ec23effe66003878a2aba0e86f01c9e GIT binary patch literal 688 zcmV;h0#E&kP)#_TQ?s)dh|As&4;Yn%*@R3{rmU-zkmP!KRG$M113IW z#*Brbp`qExYMDYpLZ-B}wQU1A87AoE<&^+3;N{Dg|4*Jg`M}uN*u1>Fyy?%MKmXm_ z+)^=|8y6Qhzq-15J&?%^;wva9nBTp7_y6O^kN-b^{v70uUmycdojUbhKtMnbo0nO# zva;6Y=jSg1xn$zRi3?x6cmX!x>C>nGU%!6+|H_ps|9yRZC*TQm2A1^n^i|uoZF~0i z?YsXE@8A2Mo|?MJ)6;WOY;5dmRaI4x)7kMEz&&HyjIB3r-28v%=C%Km=PbI*z{x4Y zKn&pH;}hDxefxncSFZlQaPG|i`Pp;<;oM&-oIdbHBUS7e9dGqES`}pzWe;*$oOk3E6+_>GlKN>fm`5(Rd*?&F1Wk*Q|xt1<_{JEt`kKwZeIf_G2qFZwe0YM z%vqNifTjqrFvedg^$iWRJjhpFA@ia3epMqk&^`yRlj7lx#~IImzQT8x;s2%^4EOS+ V-D`PNe*pc-;OXk;vd$@?2>@dBaZdmM literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-homepage.png b/wootique/functions/images/option-icon-homepage.png new file mode 100755 index 0000000000000000000000000000000000000000..ecbc7c5aeeb2d2d20edb0b843d1be93801f8cf8b GIT binary patch literal 439 zcmV;o0Z9IdP)(thw+q5BQQB2}yZY4pyZ)>Ccb@i6R|Bt9$_d~_M`?Rue=l_NK@Bb%gfP!y_zfNfXx5=BX{qJ0V{r~LUcY%hi z{{hlS&;SLmHgi?~uCHCIFZ}OZcm03S{PX`S7GDG#65X%?zX8hb?J6pMogeBJp7__l z`NsdkdFSA`e9?vfvv%J3zhK`zumRek4Qwcyr32f9mHoP&WcBa<)4l%c|LmD3|7XoW z#rbni|DU$)=6}zErQekOy7$5j0WnnkyG{mGuKC%s{>uN7{{#-(2Ff#WSa-Xi-~pMu+4}h(AorFL3D~CN%9gyl!rix!FWf?SzAYylNaBz za_h{m(NTT`_yQcTfA@V)Y>#=;TF>@7d9M5ayRYlo^R%@5hvz~jmy8i`h7D4?);x1w z@Dkw)K|=$zS`F1|l~J$PnWU>*yug`<6@~5Vx$q^Oc@cS2hJ=|wx^Jx^`5~#VV7rt6=>V^<_ZbRm3JWT z?1HRQ$y$Hdr(sLwjj;Q<%tn})G$Fs1g;u8}f}3c+C51wH7wd1|VbEwmBpOD~Jr(Ak z+xZ>r?3dXHR1jL>*uwM!{gBAy?B>BC1Cr@D?yGyzaa)0BjyX2Qsi3mEg$0*`F>W5k zv~>~zZjmf2#+b2ALDka@MTeZ#={cT&+T)2R!mB|nbAGsAIANc+VQ9n%;M1&07*qoM6N<$g6*#$=>Px# literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-layout.png b/wootique/functions/images/option-icon-layout.png new file mode 100755 index 0000000000000000000000000000000000000000..1d39799d0f34b4dad9c8e6a631daee178dbd2741 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6x;$MRLp07O$5`|#PG%IJAvgV~ z!TsYL@|lSW u&HV|y#}!;W*dB7fs=w_0!Nr`JnW2U;I5BHk?s}lB7(8A5T-G@yGywn`xk)(y literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-listing.png b/wootique/functions/images/option-icon-listing.png new file mode 100755 index 0000000000000000000000000000000000000000..ff39de5cc539b7a1aa3f051057ba94750d2ea726 GIT binary patch literal 513 zcmV+c0{;DpP)BKG+--QSr`adWyl|Nt+a2p|ZVxvM7@%_x4 zyUwyjtQ;8b-Q6>D&YXK!ozG{wC3LIRdQPX)@3w7U1%U*qlrrmTwVE!M%MZ)4209c9 z-IvSd$HU=p0inPxl41su5Nx+wS}YbcnM_vW@%T;i#{)q9{txZW9(X%uO# zDVa=?-%yc_h8QoK&6+)$6$%APrBc*vHkaBs$qfL4L?fPo*vqr{fB-HK2$<38^}4cz z?LXK3$@9{1IHY#F4e6d2S^((0+wD9LzkMza00000NkvXXu0mjf DtW50E literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-main.png b/wootique/functions/images/option-icon-main.png new file mode 100755 index 0000000000000000000000000000000000000000..cd472b99e4e5337cf384112b47634272797511ce GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`cRgJkLo80uy==?XVj#epkiWxS z&~d{A)m9J?5Mc4l+$#Q2LaT{I(1p7`ZLX%6icX){ddYjgIXb2VdC4`hPh?1ltekgv z-}~*&)=Zmp7CQ%uyh)HRXIYZz)m}O8=0Ur6920`1^k*#NjC=pdh(*Pd>Grm{4TUl* zKWKiv|EIyCk2gVr%}&5|BIB3Z^X!KVT1sR68?MdbXK_qmh`s)iQL%+_OYUj*n)~gk zk$w)BP5zvJQ7Ok*8tWVyI{l#Bw?g-Z*Sn5!uWPEkBly6APxc*KIm?Z0y8Q>5FTDT5 Z%6?Oqv9oB>GoVKqJYD@<);T3K0RRR9YH$Dm literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-maps.png b/wootique/functions/images/option-icon-maps.png new file mode 100755 index 0000000000000000000000000000000000000000..d6a7768961e8a101fb4ba8cfa73cb73f8b9712b8 GIT binary patch literal 605 zcmV-j0;2tiP)YuW6o&8Ky>X}8ZcXeDFa{U?0(4`#QWF=3MUA9k)5N3;6AS^mAhD@ntn~v(6I-hd z3=HKPTCg2NpukWV1Olazbn`mr)}bkmdXhJ1PIBMpoO|vt0Bk?y!(Q^ksS@wua5z9= zv)Pc3y+JOzg5B-ch-}`%pmhh~4Fj^`OFF`sl=kCzpq#3&VAyY=TCH+Gxm?CkuYp0g zj((?(j^fA3NJP8&4!w2-+3+$LbtQ9G`HoJjh)%PBR4T;*@pv4HoJXskL$kJngW^0I z77Jvv89k+hw6OFWpmv@#YY~Y=xVc%)j?MDyEI!%oD&Pf})9FO5RzoI}IoCNFjdC-E zAP6`-NTV?~$IWXqGw?4gAhERw2Av=?jU5h$c^wP}A(s>QmV1Cl)6=*&HN_{|-gpjX zS4XK-Do7@iyt6j8D2fP$LcI3*d?@8Nu@k!qm&*mC(Rc>P$5;8L+l@WmSufmfH;TLK zD!>3ql3-T%a0XD{nE;CX6^c4`AP|7p>xIYT;YJM*TD-&o6jrMhrPwnp-@O3#asE15 z(h3S&50QCmfatoy4^QeyxOxuobN>l`EL{XU{Bj#7vKzywfgk#p2yone%<~vfU%P=( z!SY}8UjcLv>GOTvvGuO-2Y@z78>KBzN^gl8V7x>PpeOA=piFhO_!OhzE1t*CNI@TZ rGMP*qK$+_G)ywGBuklQ^IwkuB`V29_r@%TR00000NkvXXu0mjf?Sm2y literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-media.png b/wootique/functions/images/option-icon-media.png new file mode 100755 index 0000000000000000000000000000000000000000..e57308cc021a3ed247190c14e1058188d4653bcb GIT binary patch literal 767 zcmVgfwB^~TcA zTAdcfB@_*`I>xS&SFIN*@cJ9?Pfm_w z_2UZ0#>e1vIT2{OgoVX9czhm4u(gE=r=}i2t>wQa2<$c03vb^oG67{_X`U6+ds;-H zb2_fCuhDGw5(F}i|1t5`4t#ze+#VO3w*;FR-92GEdi;>>fYb0u5J(k@QA4>gPBWlI zk!ul*j1IGVDyA$hEns%`HOoM&FWE^DoRiCDgY9j|&d$Vs7nYabGZMN$T3czifv!&w zND2zdbMy1p3Z#V)i^b58-WyG2tZjAmH4I&e4uL>`bb#B@>eMR-S}D%X5ldy~?`33W z;$(U{L?RJ{LLripl8|;h4H;Qkdsdrm^=dS-NyI+|lDu3Z)+j z-2iW+hv9TJFw8ddFGHywDzz#`*2b71Ia$O6WCKhHvi|E0dRVO% zm@O6LSgUu*+D`&rqay!V%2Ms_3!^O*M5Et}!Jz>R4E7_`*@5e1Yz|&VQ*!{0DhEtv zBRNFe77+vloLb2Q#U!wOL7>Uc1VguOpuM9F9iet6u-Gi9ch*74$>S=Xi?Yyia!>6E zMM5Z4@;Dte#e6*VSSq|ecTAFZnh09sW#whNB!_KlrR6($-%GxH^iS$%&Poo1SXOR8 xO>GriZYLbo_HWg-jt}JdU4o2of^cNN{x?t_@#p|qer^B&002ovPDHLkV1nmyU9$iH literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-misc.png b/wootique/functions/images/option-icon-misc.png new file mode 100755 index 0000000000000000000000000000000000000000..3e3c124527c439cac025d5f2e435aae38fcd7e83 GIT binary patch literal 861 zcmV-j1ETziP)o~5#_)#ut@PD60;1W?z#wX!aJ$N187UqgjRXTX%fVm=5#`8Q(GF-vXr8k zHHl8cOgjwO)NO{Dn>lCd#7)zAnr=S5-^|Kxd*HqJ_;`Nr^FALR1Hk@gSax<1yMDcz z6&K%QQYkn0Pe`S82gKqkR#x_~_{oztt3sht6%^cwXQbTRVwRV8i(S4fWfw1AVPwAT z1r!zC-Bnff^g(B*2`beGD*@7*n%c%zRsfgFjhq}w2L})eB}^=?^a8T7#LP?M0JQCy zR%?dG1I*32F*G!R`S~TRsj*Q#bL!NEE9K?&O@)QkH*#`{)&O!Q5>@bIvWI51S`WK@ z4vUK(uZe?k3D)Fr%wl=jgPxuNh(xkf~lzmOi#Pe-)}=l zhZ)`7gBTvRuLF&Y{J@zr>22G$`)_3V`SQB<_Rq9=9yZ$yCMOrj*oTY^aW9{L{*^=` zx2e@#bdvoyprYb|ld%o^!^00VCX+Q-T3U=S8m+Ke9TamBb#*Ei^|gz#kdl(2Wj;QReEBj8i^WbiPvOy{ms6K6iLwO(;jzrjtCH4M z-ICi4N&z^XE^iOyd(5Jv6S&WD^UWI_Or~)f8$lcx9i4%}@D1#5KY%+9*8u;8Kh zV|0QEwY4e)1_mWFfgo#JVWE8N^=lop+5u=Z{ow93o5u+e*;oeGuYpX ziHV~hCjV=5^GB%F-H3{ceYa)H=7^-Eb6Ogsudna%b%waOq;=2n@rlgO&+pLg-Fq^R n964IcV^enhzLO!h8L}i5(ViZ><``qi*6!A zrG#WoQxx5tIyaGRX*N6Cl<-Wg?WpM8&fE8Vd4^qe;Nj)_-sky!?>Xla>gwtQsJ^~l zuvjb^R;#su=?2psrq<(%bpiVDsTm>?gcE?AhK2@9M|by2hszcC8jB^RL?RWFq~y%v zVgUQ-!}kxsWHJe6vpMH>Q&a2U$cW1?ipshq(eB_v_Ps;a8YpQolm3_uVdpC%^KHSqQ|ZB$>U z(72QLmm(3G@OVPVaX>{yMeF?Ps;mMaOfbvBzDhj>4VUTXz&k#PluYt|P!wh4IH0_| zylpuWNxiV!X_AdRf2^B5J`$OE@s=^Yhi?L3cxx+#90!z@mEH5Lt)(ZxNgq6MGCT=V zWtWdnqJ9$yo^P?3j2s8(^?IvwdU^%#hUWCzZ>sLu;1HaOuv+m7@VUL-734Ueq@+aG z*4}OpZEh-~!A)v>Bhzd+`OjZaA<^w^jITVj+3d)1Kyh(#Mp02w^N_=_@O<)sJnOsZ zaZla@Kty)I#>U4N;75)FbUK|-SXg*gZ!p+~hKGGW;&Da2Na{`ewZBh$hlh%DY|K|$ zT55wIIS#;+m6avr=H}+*=jY$Q+uYnY<93Ioot^!IqoY)uRnOd9xTU3~4}JLH$D;yH zG37B`(P%W+GBYzx+1c3-v|4Q!(=$}8vCsNfneQUgnUeqwla}cm(}n-&JW~$SX%+AX X)|^y-C>K^Y00000NkvXXu0mjfD4A@a literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-portfolio.png b/wootique/functions/images/option-icon-portfolio.png new file mode 100755 index 0000000000000000000000000000000000000000..6fba286601e129d11d9e193966b143c8128c4d2f GIT binary patch literal 627 zcmV-(0*w8MP)VmBi3Y76+;=$!&Vmzo9PjaCcaiI}WyG%?2up2;?9;` zmE=vo4>TXhtOWR#fZM~v(c>pR{FKu7cT>_;M*JAP2?yT~Umy%V z5Gr>#JrtjQN$KnowcK`7%61H`42lY8ttr2+Z4e;k{h}`8j7V!z{NKZ#m@}&^dxG zZU|)YfttENS}W+}CB)?ue`ix+)+W7}Lxnd5kXMO3>K`bu-bFn1=SMvH=8*sZ N002ovPDHLkV1huh8$|#B literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-post.png b/wootique/functions/images/option-icon-post.png new file mode 100755 index 0000000000000000000000000000000000000000..7908df00efea45ad97e9e3c9854098af950a8094 GIT binary patch literal 268 zcmV+n0rUQeP)%t zF-pWx6ouh0VJa8ka%?O`WEw35!A6Knna(CDloS^BZoqcNon(>~m}IyX32~C~93EV_ z_x~ z+4)ANb*sx>a)eDBqKPKzsAC`1(Jq?^D_SJJ#Oxs#&b3(agT$p^c81PKNPR8{SIh}F zv->B6#K#04bhjkjFE)rjLI>U!-|=YZOc76Gz%gNr=%vn_D%Fnz#X9r93Vs3O6Mm?j S<_f_800003(Vuqh>X4UUgR|Rkyrl_A+ZQ|&sv{h*A#H7Q{ccY6~jLS+TKqYXJ&tM1fM5V z)bxfEHFiw_#q^!IO$r|LPhldmhyr>N-_Lc%u%xfzcx%wOGwhlIPTte7?|KyZbwdb- z<`JD+!5IC>h2>SuXbUL3Ic@YAc1;0AEedwmhOw(!#-7r*sJuUlrq@ASXdFQQmk0tg z^dlRhhQqEY;MffX+bcqAT#=D|c??@ieAwpkV@JsceEO>3T90P**);_eH7eLyNyAtF zLd8#PIsXpX?jgfrHxXd5Sd!=VuMnSkeoK-nK~jeG2{%QIH1HA!+f9I3AI zzA7r{@zjl=^NiE!OqFalTe975PobbRDx}k%LA#5{B(maUQr#8rr4wm%PD!Tq3%(+Q U@7I{AH~;_u07*qoM6N<$g2{>qg8%>k literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-sidebar.png b/wootique/functions/images/option-icon-sidebar.png new file mode 100755 index 0000000000000000000000000000000000000000..841f6da24a7e15beb85d0f8e9f6f20914fd94175 GIT binary patch literal 252 zcmVo(=44XG^Ce8&QBEeq~F1cXieFmT(@!AgZJInwke9prM z{`~oa+WHx<;-&xK_12_!l8`Fv0;7H!)w5Cj3}fAxAjy?HPg zKr9xsiP}cNU$on8$Ye5qiay8VF(`@xvMk%6JT+*V27y4pS(Hd5AfM0Mp!~l@FX{+h z-zFv$JBezw8i_6}qQ@r%p5>tl#ZIDZHcO&Yi%3?6pbg(mC|)G$_xlhG26Y*2%b09a zbbTY*SR^WyN+ftd4oPB&K1QPvbh};XbUHRDPtA0CEX(REp;aJjG|Z+5@037e?lec0 zN(Hd?&hPi{;%TlTD;5!cVIL>E9u9|>-ttf=1b7GUlgZ=}3N{ytFtLps#N%4arZ@7m1h>Cp5J-rvLx|07*qoM6N<$f{uCD$^ZZW literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-styling.png b/wootique/functions/images/option-icon-styling.png new file mode 100755 index 0000000000000000000000000000000000000000..612ea9848793e43291e5cbfe3ec1dcbeb2020eb3 GIT binary patch literal 504 zcmVfdzI^#VARyrX%$YNPgT!%aUcY`l z4@~oo8#myZSFc|EKPV{Z|EyWF{x4s?9PE-?{s!;vrTP53?<6-5-JJhduU`HCZhSJ(etyLN%R0(OO@q~ys!5nUGZgG$#Ff4w*c=6)jvuDr#-@kwV|LN1G{~teo99=Ur zh?r-keC3>v;ZNi+;DN^d&uiDN{ol85-~U604q?>{0&~pduAQ=!MlpavMn*;$q%UAp4uPMJ%7!Id=FfjAt>X2qtU uQcd{KW_{83Ff|at0pdJGA!wxLUXRWuaD#|KyIh=C(({})9xnvp>tL-MkNy%FuK47cc zLPDTXt1%p3JrAl%RKrY3nkZHrIv-+ECub;9i6>Lchp1Lm)}Rn2sz+6E8kM9K$&{i7 zt)fP8{e7PNdq%z49J931oNE7$Q} z`0bBlycdEOut?4U7YYIpR2Qf@L;#>J!q(;n-~8}1NfTg%qR!6C*GQ&R8G?^UsE6R4 z>lDpZX44Ul0Ay0m6kgc7u?+?Q_)Ln1AP7pM*(KsSVLY4cciP>f(CUrEIRgLy00000 l@GAh|Qu2||9nVJl{{wZJbDe@23tj*K002ovPDHLkV1kG+RjdF2 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-typography.png b/wootique/functions/images/option-icon-typography.png new file mode 100755 index 0000000000000000000000000000000000000000..d191038cba900416dca0eb36a05e4659ffdd0103 GIT binary patch literal 404 zcmV;F0c-w=P)cJZnxWCq-o08Y&QH^7|8;w z)e1?HAR!3|A&5zg_r(Ht_qSO3%i>5DVDe5Rh~gMg6j4H4>K9nA*F3^t^SJ>MQ#p>f z=-4(Uh5^s>aD8*dBWLHQ`}4>RFfj}nA^QD3%H=YQi2>WO@$~$N*S8m#rdb?dVh~V# zAJu9V!{G?6qZa>)Z_C8z*9TnJEe-@h0H4a!hbijyIvfKUayBvry~~li~kLXk{6f@{>~Zm%>4n`zlxY2(UbZB0000wy_@6EmEo^$Vg#PdA-&mtpNuXRt{y>ky9 zPXB9=<2b*TJ}gb9zoj!mFsO_qhK6nuLVy+<_GEiW6ydloY}*DoNJ-FaHj&9>lBQ|h z7X(p^2V@zwy*;$$uwcuykW7As7SYhx*AJHhwE+Y{Kr|X1q&rcdLALEU@Tfx@fTx+W z*`LVfawwN~p=lB7DIENF=-YN|+q5hq_>^6T={m%KWnr0_AnFT_o*gQ9>yz^lU54oR zdYQS@F&2yYAQ4T25)AqhmFJ>JqJXDR$Kf^b36~725wR9YAA%xaM-VSskjT%-iJD{22moY)=oemF-l2t1WH3- zgqQ@1^B-H z?UW%&5)?(HnQK@tKZh(6hye>VBM(k#qVweLXuXmoe4$WC(v_Q^n_H=N!=4@bCi}s*yZlhsW5LCLLDiL0<@7O}ASTv@mrk=7|G>xV;c4O@P z;^NZs-HD0oDGJQa6PJhAbK9ZgM`OLWB~=N0-%P*LYs(8A-DI`hN>)rVHa`C3_3WGU zsd#*_U1T=la*#t<<1n)_ZhdJ!@J4UNCuNnxxhuWk**H>@sf9F6JMwbo#Wc;lN%sM2 zY<@l4@;uY=uaox10F~7Jy$D TRaj3v00000NkvXXu0mjfRrymm literal 0 HcmV?d00001 diff --git a/wootique/functions/images/option-icon-woocommerce.png b/wootique/functions/images/option-icon-woocommerce.png new file mode 100755 index 0000000000000000000000000000000000000000..178c69c8dffdfa50e41b2e74cb537de0f04c7824 GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf-TUaM){Yg6d=}*;ueurnGLJnz7^&M|G`3qM)_&Gm$ zZ+effc#OfZohKao9rOxc9%&STwVH$_!B0d%F6$taD0e0szh^#C`w( literal 0 HcmV?d00001 diff --git a/wootique/functions/images/quote.png b/wootique/functions/images/quote.png new file mode 100755 index 0000000000000000000000000000000000000000..6691ef43ab35dd322e2cdf5b37161381b5ea79ee GIT binary patch literal 550 zcmV+>0@?kEP)00pzi2XcytY7w#0YmbbbKoWTrem!8DRtBl{r@o3L#@!FZYNLG8BTaW9)_W*&+yv z49&J~YrroV3Wed!AG%)1I|&Aj!f+y}TN;vBh_GeQU}wbHsx%ROH`W}Y(JXzTRUjJ0 zx2x(BBNnpYr2+EBp@huc@(U}(+F3P1Iz*+NFP~tFvU}Mz+JPBjgN=OUE_)0L#f|qy zNRI?fig5AA|A|;Z)N*IPt?i7Z&vu6&3@Hj>($YN#Gzv}Xzmk0}b}uL18Zi^D_6QDs z)f7WYiXm=^cV1eG{3jVAC{lzYAps!)W2X%k7NhwsRio$rFV;zII|@R|zLwLfROwQ6 zBYsSz0`vR}hP2ZDYp?3gwFo@)2=bjJPu7+Vsyq8!6_AlSl01i*la0G0mD``%TjRql zX|rB{f_y++(f`F1_r`|_^Qjs)>_@YD>bqmZVp7cOqNiNUr>Cc?A!}4|qFoN$YnT)v zsXQ+|&WNKj>>sKz7w+~5^KyoEo{bM~n2O5O8+F94yq$vKQZe)h`cP4w+!w0LgavEX oZ1{2~eyRFk$%YMU!bh+F1EfJz=pO_pfB*mh07*qoM6N<$f{pb0@c;k- literal 0 HcmV?d00001 diff --git a/wootique/functions/images/select.png b/wootique/functions/images/select.png new file mode 100755 index 0000000000000000000000000000000000000000..96b94a71a81579e5c6e28fc2a31ec8ead8170d92 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZF!2%@tV!to}seDft#}JFt$rhjGIV3#VeR_DF zGzRwmFfqD#=-9dcDK|MTwMA?DNhd}XWFAda-c%$Lm7natdIf`bRO-Qp?oAty9CC4~ zm}V>_Yw^_LM$6*njWP>)ci-$UOn>rUw!+BraBz+4f%+nE2Dd8pPZQS(GT2v5h|gMd RdkN5L22WQ%mvv4FO#tNeJ*WTx literal 0 HcmV?d00001 diff --git a/wootique/functions/images/shortcode-arrow.png b/wootique/functions/images/shortcode-arrow.png new file mode 100755 index 0000000000000000000000000000000000000000..c724754b304c80a114f3f8ac16e50873a1f091b2 GIT binary patch literal 357 zcmV-r0h<1aP)gL{H3=4a~GTc zOHZ$_$Gyv#iu;#v9`Tsk2WdCp7miE74bK?J|t?B<~9BTd_ zv%u!RYCXdroCZYC*8IQn)P(;_PxSs@c&zLHyrUgJL$dx)Kh*R;ZK=n9#af0}(v=Jb zI1LD#uK3S$qVzxKe$ju{-TeRJ=3D)rcCg`p(qgy&^0f@lB`X=UNQwpRX2!4a3!VSV zS2H{TYE~yX8i7v!Dp$??U$l}zk?fQxT+YBbxbp%4hn2_r4&AKm00000NkvXXu0mjf D^Qyjn literal 0 HcmV?d00001 diff --git a/wootique/functions/images/shortcode-bullet.png b/wootique/functions/images/shortcode-bullet.png new file mode 100755 index 0000000000000000000000000000000000000000..fca7bae0d11566227af4dc812671ceb7dc2703a5 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6LOop^Lp07O|2W?uZxj%Gu<0y! zLyf?Jr4Rle|1Y3gA>uIQLC6O-9`QfNS3WrR|M!3Szx8d4SX>YG{@?!Z{@?!s+naVL rbR6%JcIdc1aXM$k<|{Lo7}w|M>sko>_H9;tVMU zrhB$Lmu+`R{M%h>^oRYTf}O`44Q7X~$2AOD z@4M{e-}eh6czl|FC=@Q@`M_XR{jBop|F7&4|E|AHX1EM7Vo!rvsa*Px`=v}C^39hV z_K9!QD_EBnA#6PR;s2Imp8v~ZS}uT8-iVmMtjTus#ZAtQk|1kjdlim4FVdQ&MBb@0EuZ~4gdfE literal 0 HcmV?d00001 diff --git a/wootique/functions/images/shortcode-icon.png b/wootique/functions/images/shortcode-icon.png new file mode 100755 index 0000000000000000000000000000000000000000..e3cbc08a755745ff9a6bfc025841810a3257def4 GIT binary patch literal 671 zcmV;Q0$}}#P)$=%k+4I*}#ny~PLaz+1@S;g{A-JN;#xI4XH*inW&Xr*qx#v5GJ>5po$qtm|tpaUS z8t!nsvCnqVzsO|U3)HlIFN+C3wE?M6Pm$0gQH`PN9%rv~qR795$!sA^-N4wZw;U*` z;nB!AUuM5jsBb6bl#z+44@|tDA+o3ew*<9V=)NZxt=`DB_C5~k8m$3T>8~>L=`*zr zO|><>oGLnqV94Ft5w-zp)@L!4VK5l zGV8+mV_jUg{wm2S-v%$=G$hHGxLxrW63G2 z#@N!%GGz=|g&N}aXXB^{N4g`8{IV*PQ7O3iMzT0CMl4(rsIp0%e0JjC5sIr2BngOS zk$W&Meky_8I4i=CY=}k@6eoyw3F~m%+Q}zEEL`dvhNFBtj^00vKhNhvICt>eEEc-T zw_v|6cz(!&n6o+9%aqKAd9^QR&rMia(0;h!!vE5-zX47E4gk0BA5QAldNrV9nCX2ynviMuXAXp3*i^X6O z401eY=DwM?%WE6HH}{@%?tO1(D*)9fq~ds81Oj5-w;@j%Wy^xUqi!I;<27^=8-A0t zp-jjNeh*fofrra@swa7g>b6W?@Uy>c1h~IQFreP`RcNT;Z;O;EJ0rgSS zu%Ny8@_5%p2?UY={pmIbf#6GqZ- zZ!MzU_2jv(Ozq_bFSFxmSpPRsPx9|o9W(AL8~b{}b7w3NV0RHZiLtJlNE^z8yx?i3 m5`lo2_ie~iM%i))qwo)j{BJ+8b%nqH0000k+8ExW z7XrW|;5bmTvq731YzhEFK%>d-H<+CzI7?1Y;Lak_??GrtN|4mLpXJ$C=;|8T^bde} z;H(TR&d#NVtllGr%8omfg-%oG_=!kGK+1x?iCB%|GJfH3Ll@Pj2C(~sOiU)99=jBo zG4yqo(Q<8cq`hjZRMF?cPIC->bpnYj2px0{vKjQu5@h2njKAjd@Y|uz+f%)OnxBDo z{?=5__ldDL@q`5oHbf?gNGA~KB>Gwk$)FHVT8NF0ynFsBeG$-i4^dxHr7MZ)D3aNa zP&I_AB2*PL4XlSqOn>0FDtA467R&B=NM4t*#_B0X=rWiJ!R7-Y!A2agV0L;a$gGtD z3wsKfjB?24t3q~FvT3X(u{49osdxe%D9%EZq8ygQVi<_*7LWkUMmcEn))D&}W#!xO z%z91?AlO*`K62An+gfM!)M7S7>hpa5`a{~jJmc8o#?jnXPX3kB?w`5w@d=;-1gjn9 zf!>u@{>kF=O5c`Ul>fi`q0|5BWs2{cR%*_zS_;v;%PuK^UDUiv6HG6^r1-yKrNZapS@I>=!UxU(8X^Kz z^lZrmwcj8^Kmg>T$$M4)l+2bt0hDLNYXH;`37{b_=bhI03o>NM1&#kDv*h0c#iemY zFNOe6u`JM#Hw(__{HtD~@EPduFns9)Q-Fa%Qs17}zi@{9m#|{-JRsi`h>d|*2Z)tG u@`MbK1}W6CqIg3sds000089bzR9O z7#>0hyh_Fx_dJhO%JtSXO%n~npi{0ZSx)mj{{Sq@QYJ~l<2W`twP_k&*L4Yy+kOI% zqKM{sHcIqjkG=wmpm`;*M+1!GxaE~l{Y;63Lf3VFfn3+6Fbp+g%>e55eNS1IodOg^ zK|v6FGf-Cm>hpC@U9mj?fC1uh7w5*2-azk94Se4>7Vw~f)nBmjfpTIct!eB;^zQSZ mXCZ~R+qS(lO!(&5j`JI#fc!w`Mx1m20000y~&_MrfY*1ubo z94{!curps&ZC2=1Qj+NCa8hzKRPk=xVZrgQ)oHq4>m@NS?p({KF&~c3cI0B4SFqzb zb6ya0z;5=hv(Bb1;b~$x{ZuGWBysm$CEs9H)AKJ359?SP8O-%N{kN|F^Upu}Gg95z zjy*Q?TRz!s-t!x8%eY>xI^V}rF|Ymc#}yM*IQ95Tuco`Ru{AUDwKuc9|MQuf6)X^Q z-8E3;Mvhs;`s;_Dn~PjeKVxvZkLSzp+LXw)qe+e1_3yMurrn&#czfH`hZBQ6gje?F~BIck{&i9&4pt1S~bBD~Ija;8&O@P77;OXk;vd$@?2>?$4t|b5f literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ui-bg_flat_0_aaaaaa_40x100.png b/wootique/functions/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..89ee1f10d13e2c9125825a0d1ffac9b2de1a3da8 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F0VEhM^6M@GQktGFjv*0;-<~q$Wnkc7Hh6ZQ qQ!Bl3`jWk~=g#g}q|pUMKP<&`^qkJ>++tM%Y4&vWb6Mw<&;$URUL0Eh literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ui-bg_flat_75_ffffff_40x100.png b/wootique/functions/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..af7f4851300e3f5f546dd6e993e9997dd3270b2c GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F0VEhM^6M@G33$3VhD02Gduk&u0|N)M!tehV ozp;i3&p3I`*CkNI6^j1Ia4$WO!We8_9RSkn>FVdQ&MBb@0BFz}p#T5? literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ui-bg_glass_55_fbf9ee_1x400.png b/wootique/functions/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..14ebfd7eebddb94267074cd56e5e19bf59fe0e7c GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjg9*rbU^TY~NLhHgIEGmGC;#~TTKTYs+|k7n z*8l!~mX-L=bou?l8il{FnJ2I%&9E}~+xhVP`|}RJj3?N4xqsYnoS`$l^JLe9%Yr~N O7(8A5T-G@yGywqfbtELo808y?C3KL4m{h;_m+o zezcrmJ9mMf*OGaQZ(+zWHPtG&=Qigrn5rp$JJn=eXCT$wD*S1BYmDvmQg!dUW`aOd O7(8A5T-G@yGywoT^(6}c literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ui-bg_glass_95_fef1ec_1x400.png b/wootique/functions/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..cf3abc31efc1e03cb34cfa3d9bbffca17f1956a6 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjg9*rbU^TY~NLhHgIEGl9etW@?i$PI@`J(5$ z`e?@pmi?^?V%5ySHfp6a_DXhi*gq}~jhw{&mdo4hj&$*=KVte3Gcx$NU5py81I=LY MboFyt=akR{0BT(!MgRZ+ literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/wootique/functions/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..a54ca8c87c08a91c0cefddaba61bb5b6a9d41a76 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i0VEib+*$VkDOpb!#}J9j$rVSAIEem`=TKB( j`FA+Mm?4v686yirw~p}So3$+<6Bs;Q{an^LB{Ts5^|=(H literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ui-icons_222222_256x240.png b/wootique/functions/images/ui-icons_222222_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..dcfc3e9a7b0a2dc28fefb73f72476e32c5496ca3 GIT binary patch literal 4197 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 W3hs-eYL36pz(oTy{W4t_;(q|m^Uxgt literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ui-icons_454545_256x240.png b/wootique/functions/images/ui-icons_454545_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..568ec49b20adf051db9552ab3e90f3580a829193 GIT binary patch literal 4197 zcmd^?=U3Cq7KVQ*gpyz=N{0mG(1oA~NDUp8rqY{1=_Led(nApeX-cu7CU6i?niN3- zA%GeL6al3xy$I5)K;UxDz5m61_N>|SWj^e8y|dOk$rfft>}&#T006LGG}gZg0HEU| zu*w2C-UlyU`g7ctEKDp7^bPg@e-_H`NbPuVv!JVH*8o0_vrra`=J?0*VwMD~J5GS> zGXkx_qicLg#9jh(Rql?`-PktoPu+A?eW9jzk*{kD(@M&!r5G>7SJ+_SjDj0EDtEu!dm3q=F_-qFD~3$7s#|FRn>|6zaL z?keTi1Np^$hW3|3lD^1^=D&?|-2_+qCA(S0VDSZgXz2+;%j#dChX_Ol5Q{byR^qD~Ucm>D2Jc_F5<4RO01U+rI;qj#;)*`MBF5IQgJjx0 z~oQ&d0G3a^P!1gF7t96@x*(l+fi+Hvd7LS38NdloF_ zC(K|s_=iaSdrLyV`9^4LDKqR(pkP3ILY#2BmuOr7eaVG8ZJ;teyhm$!P%nWHHk~{f zjNa1~JB3zVjumsdy;Ds)KZbfC!Tn!JmSvU4avR7`$wHJKMn=#da!=taxI(tp zH4SS|Kvt5fS{rA>e2R@U;rKJ7kR@(QebS)>E6(6(H?D!-(=-V25q|o^DwEj$lTi2g z4j;>U5%E#jJ1*VK3CwLJ!Ai8OP>B9i|9y6QGHCf~Xb=KA8K&w>i=h}0zk?}Z?(crz z2mp_=uToocQetrjLLy@AwYsPpbOAg`o@)ub>|EYxBNfqkuMA7dP(_#o1yotjpN1A2 zYhmxufqMG)uj*{Pcjvf_Q0d(iT1TJIwib$%8DcE{FJA>X=dFt-R^KB$piNec%6{-+ zu8&Q5-?GMD;7>Bgw$Q*QQc|sq>Pf@m$iO|PxjC14E;ZrwLD}H4M2CZxMqZuhw;g~l z%s6_C2p(f5%$)1m^0s&RlY?Hqv$9>rU5QYMf=cPPdd#f{SB}=Iu~!(VDtzRTwn*n0 zmed`OnR>J3t}d$kMv*3l4M{G$8_FQTW>m{@&sRdT_bK&l;&Dbv)_f-`Zr)HjrzVq) zOfsr?V~Txqpr;y>eUSHG7d6FEXSg4?Enz+1T?%h|QE;SnhDr6Ioyp2&BO3_W%hca| z=`~Z(nzeaGqI*jw|Cm<|4`7DdZ3k_8*Rm}yjWjyy3HI=J0n{akd%e+(3qrpG1NIF7 z4zCkQh>Z|VY&o(2B<^q2b_u)`2kPINO;5{3XE3!h*e*Bhcxx(Yz!IES&Z-SG<+LjT zX7@%a>@ccu)w_{_aah7r+tsO)b?=c$TG)!{vWEDcBegxre}o@Za0N2Uq8afT-5bml zZzmAWBB6X&Z1UZN%c6{%C?hO@XLbsdgT07+4;d8J1N7G0t1?B-pz*e^65?OUJgT+< zurBW!P9J$Kgp*zT=0|F6JNi5N30J7T!OmjcS7uvHOBJ$ zg~S6Nfpv}UKx25Zx_N`wlb3;oZ)$+C@X-DG!`KV!ZEc7=;@WK?tymr6H3An#i6x=m zz8Ym=mBQVt{8c>i>|+xNEjSjmjpWR|3D`o?c+3GH>p8LQ*Qz-TWMpL2zkRz|E;N?jeZE7jsy63Fbi8qj<1@_zyHDHk>m4yIkeA{mtId0 zBK%B5u;B~2PCSp)!>xzT@JiOCV370A^w?8&P*?Y;RwRvAQ5*NctJ1H#y{pBQ@r~VK zqMc;3v9N>^2PsYO`M33SE;N)cs_h>bu?)BsYAnOfh~TY`{PQg!zF@-kS$I1v08jJ#d*2RRuWD?^I%s z-e&Y$$;FmU$&Ua=AkFafn_ky&WjDKW(Ylp_K2jVkNTtpPr+@m;Oo0d|YZJqV7m=F? z>^osao-b2Ak!g^hq|}rz;7T;D2s5v+nRnPRHSz#kD4Hd0zRsFe0$Ug!z{=%CJ%Z8Y z(%HT>gbI(O8t^&|L6Zo4o0HQsucxx&nvden+UF3PCj=woK{gy%X;+cR>SZ@owL84r@V!Hk~j@ya9eN}4Ag*XW*tMz9$%u|En19h+o6 zAjVV)a~q;;fDV)P(ngrYK(OW}M`h}A&5(h~K5OcFJN${jT0R=hjes*K!kiKy6RkhX zo`lT`6z?s_Icb3`pN*vD+GPGipKlGFp=zv^?mA*+5Qky62m3?$E#0c1{^)qE z320t2{f-;g-Uz5sdAqdfz)N3g@0XhqO~>!co;B|&KD+p0)ydOY2d&6VFMm-A72tm0 zQ_`FVEBW#5JFm8wSh(f=?l@@2$oztp4|F#Xd7KO~GYJr>+cz4(#A_+g>4BsN3VOSd z&$?q8KjtOPMtW<_UFN=?FBN^ruU$1Ow7Ty>zr6;gpKIg(Z2VF%_fMi(uJ*~+HJ3eP z%4BT|&HlxHouqxXWtAuQqdv#*slJ~Z;TyA`pQ;=!JN1OcKJb>USIoag*Rl*eQ`Zbj zkn0@mAA3temSfOQrp~`L1c*<5C^BQ1F)HjN$?+wJ{5t>r?UM~Xr1T7Z z+u~m;TahEKs|%*tMhR3rdFjyjm#$7=7hC~!pRu`p)ta^1{4+=|W@)`?|HD8i0PAux zkXLqnv~!x7CQt0g>Rg-T!3eA|7G`{{bGyJP7iKMY&tcP3@5zp;nC4NQ29jgk<;)L> z$M5;Q`s{$f&P^_faSoa&VUUw>f<()@uWTDEZwD2(ND8de^ z_#pCo2uHVsf^)#5?YeFx;R_$YDO}~^|G3d^AvEOeZZn2sh0nsZdI)h2`m)8Z8_XNj zG8Mz$@Y$$f#m?;%xmOcX*&4*rL--S)2UB!vJqII6rR0x8-wS83Gl+1p2HQPQx@O!g zi#oHjPly?^K9bzk-M}$c^}wV3tm}oSaui`hwXs2MnkR^qY@D?%9{KxO7V9xj4T>T| zH`gkF)x|Z<-XqObDtEL)dPDOMK?Vv!o0{3D-zsEnVoz0^RXL#7_TVGbyFUWB{@Xub zq+ky)Djck}DMvSO z-8}4Ze8w(B9Q?#W3RYnw)e))er>U6!1#OIP^CTr>sfpAy&lf2qgOipcm0}NW#7tTTEv|Z9!L2Pm)TN5 z&-n>H6*Cfy{IM|*jWXt6#r_L^?;nv^cUVs8PS%Mu>tM40nmh)Ha2jZ6EpWhqPjB~^}{TDLfU(6l4ilcgzR$J@8)EyEObZ0QNBJQyolje!iVTo+ z`eI^`Y;5e7@tSV|F+6Cg9&@)O+K85MMveRWwV&z;3+^kQw;KUVoc(Q<`oMS`tA=*W zm%9vQ;VUhcN6UuAGZDbberSx;-j8+D7J5a6z%W@4mQqpRMVOH z{goY7kqWWSwCu%>#s0byp*tF=RdNjNDpi~)&%185Q&tlqyJQuknf1xxkgRYtUiN}R z4pnC-=xkQSc;BrKt#-K)STm{yC(f@ws5n6{uj?#Z-2dyA&4uflfk*HH%}qKgCUZz6 ze<)?q=fI@G=;KVjWHpQ%Jdjmru^X;~tnn`+}*=i0g zz4$P`)Q&n$mxP>qG$*V(xTW;=mr_Hy5WQUZv8ixL@QiB6QU`wFQibflX-{1IeJf~u zc$y(eJFs_fq{c(hCcv%f!{%joZY*iU006GJh{EHrAKkqjV1L1lZ_@n4#;M)lf33{Q zI+EC+`5YU>D_*sw(jc?86T7|Vbbt5}@Q3Q3bvRN9l&qBXj@1CgGe;WG`oo{ZI4=;} z!g4xji0kEHNAL9?f^g4@=B7P=Z&01{k*NnL<8bFYa(=5>FPdiW`|7YcAwiRV1o|`^ WD6}t*tUdld0~Za<^viW|asL5h3yZ1% literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ui-icons_888888_256x240.png b/wootique/functions/images/ui-icons_888888_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..a7bafd63de35881676d958a7dd065302bd09c9db GIT binary patch literal 4197 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 literal 0 HcmV?d00001 diff --git a/wootique/functions/images/ui-icons_cd0a0a_256x240.png b/wootique/functions/images/ui-icons_cd0a0a_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..fa7a9bbd008ffbc45ad3cfbac75de062963cadde GIT binary patch literal 4197 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 V!2>a5?aB8UxTJ5YSFYn6_aEnNk+T2* literal 0 HcmV?d00001 diff --git a/wootique/functions/images/warning.png b/wootique/functions/images/warning.png new file mode 100755 index 0000000000000000000000000000000000000000..9a1dd8455e59c654656a840ae84f96cbb741b3a5 GIT binary patch literal 857 zcmV-f1E&0mP)Ii35;Y1z^;KO(Zo6z{z1B1j3b$eZY*E<&P@3oD4A3`v&)Iq2-}8UB!`O60r2CWT z{s;K$0zA3uG%zJhKSM#HUvU~_0+jYWDx$!b4*E7d5ES5o6K?FM+;XA zP;2$WDIZ|yGWp--t5RFOh1{-80cx#&I2RD$68YcesZw8&LpQ6k1gN$8;gk>Hxj_D& zt*SKCY@-{MnF7>W{cuVLm>R4gUw5u5t&Mx>+Qp3m)LQ*;$_M!5BH!yARazPf$X&ic zfLf~`PU!%FfpVJc+N?_F{X(igw@!dss~=AJ03XX}^5rH~p0(stUC9~&YOQ`au zC2wc8D!woYDdOy~Q-~G*gqWV-Ex}y>QA0=sr&457SgRv@?cw2PtVH#^oRHf`l2AwW+2vBSF!zmx&#XC)25+I9h;Os~=A30N&1h zG7th-kuf|yd8N2 zC*1SRT*QQ!OeVeAY&NuCahAPr%O!8$Sqco+QNZIS|Il^v4>vMROfz%qH#93fjbaVf z!T}eY>^^U`TEn8EqV$+4X5)f~hx6IYL}#qECbZTpt9|TtdV=+<7_NKl%vx_-&YQF| zCZ1*B0D4_SL`0~?Vli?E3*U%goP524&xy<`CW%Q_NSQ_I9A@83R@Nmcj+IOTd*iT4 zY*yK{UVH@nw&;yUV;F)U9b;9JI=Cs8&rA6nr-Z{U;vt*`uH(4}_nb;E*2HqZgRxtF z93~9LrtNlni1P9O`aE!>J~A>g)Mm3GlmTxS7V>N19M*`S^TGFx%Fe>^Jn?H`JSY^; j7rSN#{yg-b|8Mvm_!n_|6|Mxo00000NkvXXu0mjfW)+tu literal 0 HcmV?d00001 diff --git a/wootique/functions/images/wf-tab-icons.png b/wootique/functions/images/wf-tab-icons.png new file mode 100755 index 0000000000000000000000000000000000000000..d56a5aa1787aa4e4cfc4b8726708fca16e1ee2bd GIT binary patch literal 2304 zcmZuv3s_R;AEv)+Qzu(#t$A6RdBqD;GtJ>hgF;mB0^YTyV%||uF`f0yiD`KmKHiu! ztBK`>H7zvfEsbn#n9U4lB8dcPDq=HzM9u$kY(%>EJe+g*e((3b@9%fMd@sxiu)2;q z2m}JVp%6YG&<+^zUaqPF+*2&rs=z~q?COS7RaG4mU?)JJ|LJ*o;E)@CgUjVInarG= z95R_47Z(>56%`Z|1XO@^Hk;km)df@;3Bw1Qo0u~k9-fS@d{Tm?$=^Ydb{7ziL&075FP<>GRJ z!WwW<=Ew&k&!Av#AB#MUA}!!3Z+r_AP~P4<5 z7*~Qs30V;r4g;yxl2CzU5a>hA&EJlp@w02dqFxFzAjOv$l|ng1B7j^XiQxo;<1r)x zg-D7c8yxesPi6@>H}Bo#9U~D=rNj^u4RA3D1dxpl6u4|H#o z6fNYZ?@I&U8_F{RCgT>@D+kuK@*yw0ANtXEMNbsNKDYB%J-i=4W8jCNd zD|+hC==x;Rw5NxT)&aEroFBcYsA*S)lap<%Lj?9L#k7JP>SFC|?)bvh+6dDl*=DzvvNH}xO}o@?s(1;Ty05dZd)+fD zlunAT-|YzRza7c_L$7ynvEhl4Zt2?7d~fSaRVu}{;)|0X5z{gd4H|yT$+eq11SI6a z&L{RWaih6nF}O@xnHrxV5?4j%_*-h((V%Mke3*Ft@`K4+3|>Qo&jF{3fR z8NG(8?~~PPJ*#;h*>{n`+K(RLXh2cL9%;QT1Ib@5QoCJWMCa@)u93{b*6%b)f14H+ z(?&}k>MxJXt!5m2UG{v%0kCPi%wUM-Ud5-1T$>&Xb6O%UuBBQqm%I#~SRt6mBSt;?=x&MY?~s=h0&>mwe@15nNxaQq~qG%EqMgPGLBK zv@=Jv$Wy$;wx>(yJzKk2Fy}$h^U~8k-fG0G+WC;EFx%3~jc~U=+9#iIkN-$R&2-RE zhk|D8;jPk%#71JLjV2y5XVK-Ckp;15wHocDBda=7y=Tk|7AqIZM~^0GCDvV?SIvi1 zH2R8)#`bDU)FA@r)r21x29k-l<1bZceG<}OYiRNO$V#1*Vm@dFss1hK>%m_TdB#hJ zi~`J>B}|6+G#pDT$scZaORf|@d z-nymHeY*dIBmp7_ZJQH@egPd@5>Bj*c680rtFc=gyaRj#4P++8=4F@Djd_zi*lK zGqcjU%lrK;$7J*GWl=n|p5%JAk(655I2?|CUFj!ka3fyXRocBlr~45aWBY_Z;L?Ag zB29MjvvQZuR|N)I2?lnD?_k*xJyQ|;oOvdQF+qlp0E~Y?UygQxtGRq~sh>`{p$l7& z*O?)&7f$hb{Grnia{R#~oh32wi_=hOca&4taWt+^7;CjItz8bK>ylRXaU4zlCc&mD zHzm*J!EMtyrj24wL^;wD<`2WuhaZ8lVe2+Ycuh5|!`KC%SJ;hb?mfO>=%7dghMn@o zv-j&RU<)5w7UsMm8W?EvgoNS_LWn_OX3y--@BXX#JLgtEyk>U`H9wuacXJqSNDSg9 I*RQhw555_kJ^%m! literal 0 HcmV?d00001 diff --git a/wootique/functions/images/woo-icon.png b/wootique/functions/images/woo-icon.png new file mode 100755 index 0000000000000000000000000000000000000000..7628ce37f382d557be21ac0be6df1c786fef76b3 GIT binary patch literal 657 zcmV;C0&e|@P)t zjaX4sAd+@5y3lp3)Sw)#$x-K@fBwsNT1Xe76nb`N@xJeY_Z%f6)HLlAPZywc1e9V* zL=Z7pfy3KtXO*gH+Apen5qY!9P+9}i7%*wzPmD4?_zcU~h2+mF!=71!nlAk}l+xIR zF|>|MuKlN2Oo*6p3I~l+8q0(MtLGOon06S+Mi3JKil(|4X~(BC@eK(>B6(3z3gf!~ zn83%F5N-S%4U5ZYsI+j?Ne*pTK%qOt&Uh`!#AD9wT|@WDZ8TJB=0zQ@A8q2su}zff z35@R&i7i;#GP|^xMHNMir&F}-X{JB%g2sjwd>kCWQgG({6}HCfSzZ;RwXK7Ru~90D zqx3v|g$_N3mv8!5T2sxz?Ty^+y3el78%VtSKy~FDZg)LEv_&?PA>WSB+5HHK*o>t{ z2%K@4yLPKo#dnC4btUn>U*^@vB{iCsj+=Mn$cfYPy6=O0PL9Zy-3O%g;#Il#@QDl! zf0f#G%~D>!Nvy!l;01>ETb*3E)P@sU96o-E^{eV=z1+^wr;iK|f1&4jg5K8yY+O^v z{obb}zmB0S8#Q}LTta0LdM+lH!Jb)y7=xclVHLzC4=41{b`%w{F 1){ + clientTop = 0; + clientLeft = 0; + } + + var top = box.top/zoom + (window.pageYOffset || docElem && docElem.scrollTop/zoom || body.scrollTop/zoom) - clientTop, + left = box.left/zoom + (window.pageXOffset|| docElem && docElem.scrollLeft/zoom || body.scrollLeft/zoom) - clientLeft; + + return { + top: top, + left: left + }; + } + +} else { + // Get offset adding all offsets + var getOffset = function(el){ + if (w.jQuery){ + return jQuery(el).offset(); + } + + var top = 0, left = 0; + do { + top += el.offsetTop || 0; + left += el.offsetLeft || 0; + } + while (el = el.offsetParent); + + return { + left: left, + top: top + }; + } +} + +function getBox(el){ + var left, right, top, bottom; + var offset = getOffset(el); + left = offset.left; + top = offset.top; + + right = left + el.offsetWidth; + bottom = top + el.offsetHeight; + + return { + left: left, + right: right, + top: top, + bottom: bottom + }; +} + +/** + * Crossbrowser mouse coordinates + */ +function getMouseCoords(e){ + // pageX/Y is not supported in IE + // http://www.quirksmode.org/dom/w3c_cssom.html + if (!e.pageX && e.clientX){ + // In Internet Explorer 7 some properties (mouse coordinates) are treated as physical, + // while others are logical (offset). + var zoom = 1; + var body = document.body; + + if (body.getBoundingClientRect) { + var bound = body.getBoundingClientRect(); + zoom = (bound.right - bound.left)/body.clientWidth; + } + + return { + x: e.clientX / zoom + d.body.scrollLeft + d.documentElement.scrollLeft, + y: e.clientY / zoom + d.body.scrollTop + d.documentElement.scrollTop + }; + } + + return { + x: e.pageX, + y: e.pageY + }; + +} +/** + * Function generates unique id + */ +var getUID = function(){ + var id = 0; + return function(){ + return 'ValumsAjaxUpload' + id++; + } +}(); + +function fileFromPath(file){ + return file.replace(/.*(\/|\\)/, "" ); +} + +function getExt(file){ + return (/[.]/.exec(file)) ? /[^.]+$/.exec(file.toLowerCase()) : ''; +} + +/** + * Cross-browser way to get xhr object + */ +var getXhr = function(){ + var xhr; + + return function(){ + if (xhr) return xhr; + + if (typeof XMLHttpRequest !== 'undefined') { + xhr = new XMLHttpRequest(); + } else { + var v = [ + "Microsoft.XmlHttp", + "MSXML2.XmlHttp.5.0", + "MSXML2.XmlHttp.4.0", + "MSXML2.XmlHttp.3.0", + "MSXML2.XmlHttp.2.0" + ]; + + for (var i=0; i < v.length; i++){ + try { + xhr = new ActiveXObject(v[i]); + break; + } catch (e){} + } + } + + return xhr; + } +}(); + +// Please use AjaxUpload , Ajax_upload will be removed in the next version +Ajax_upload = AjaxUpload = function(button, options){ + if (button.jquery){ + // jquery object was passed + button = button[0]; + } else if (typeof button == "string" && /^#.*/.test(button)){ + button = button.slice(1); + } + button = get(button); + + this._input = null; + this._button = button; + this._disabled = false; + this._submitting = false; + // Variable changes to true if the button was clicked + // 3 seconds ago (requred to fix Safari on Mac error) + this._justClicked = false; + this._parentDialog = d.body; + + if (window.jQuery && jQuery.ui && jQuery.ui.dialog){ + var parentDialog = jQuery(this._button).parents( '.ui-dialog' ); + if (parentDialog.length){ + this._parentDialog = parentDialog[0]; + } + } + + this._settings = { + // Location of the server-side upload script + action: 'upload.php', + // File upload name + name: 'userfile', + // Additional data to send + data: {}, + // Submit file as soon as it's selected + autoSubmit: true, + // The type of data that you're expecting back from the server. + // Html and xml are detected automatically. + // Only useful when you are using json data as a response. + // Set to "json" in that case. + responseType: false, + // Location of the server-side script that fixes Safari + // hanging problem returning "Connection: close" header + closeConnection: '', + // Class applied to button when mouse is hovered + hoverClass: 'hover', + // When user selects a file, useful with autoSubmit disabled + onChange: function(file, extension){}, + // Callback to fire before file is uploaded + // You can return false to cancel upload + onSubmit: function(file, extension){}, + // Fired when file upload is completed + // WARNING! DO NOT USE "FALSE" STRING AS A RESPONSE! + onComplete: function(file, response) {} + }; + + // Merge the users options with our defaults + for (var i in options) { + this._settings[i] = options[i]; + } + + this._createInput(); + this._rerouteClicks(); +} + +// assigning methods to our class +AjaxUpload.prototype = { + setData : function(data){ + this._settings.data = data; + }, + disable : function(){ + this._disabled = true; + }, + enable : function(){ + this._disabled = false; + }, + // removes instance + destroy : function(){ + if(this._input){ + if(this._input.parentNode){ + this._input.parentNode.removeChild(this._input); + } + this._input = null; + } + }, + /** + * Creates invisible file input above the button + */ + _createInput : function(){ + var self = this; + var input = d.createElement( "input" ); + input.setAttribute( 'type', 'file' ); + input.setAttribute( 'name', this._settings.name); + var styles = { + 'position' : 'absolute' + ,'margin': '-5px 0 0 -175px' + ,'padding': 0 + ,'width': '220px' + ,'height': '30px' + ,'fontSize': '14px' + ,'opacity': 0 + ,'cursor': 'pointer' + ,'display' : 'none' + ,'zIndex' : 2147483583 //Max zIndex supported by Opera 9.0-9.2x + // Strange, I expected 2147483647 + // Doesn't work in IE :( + //,'direction' : 'ltr' + }; + for (var i in styles){ + input.style[i] = styles[i]; + } + + // Make sure that element opacity exists + // (IE uses filter instead) + if ( ! (input.style.opacity === "0")){ + input.style.filter = "alpha(opacity=0)"; + } + + this._parentDialog.appendChild(input); + + addEvent(input, 'change', function(){ + // get filename from input + var file = fileFromPath(this.value); + if(self._settings.onChange.call(self, file, getExt(file)) == false ){ + return; + } + // Submit form when value is changed + if (self._settings.autoSubmit){ + self.submit(); + } + }); + + // Fixing problem with Safari + // The problem is that if you leave input before the file select dialog opens + // it does not upload the file. + // As dialog opens slowly (it is a sheet dialog which takes some time to open) + // there is some time while you can leave the button. + // So we should not change display to none immediately + addEvent(input, 'click', function(){ + self.justClicked = true; + setTimeout(function(){ + // we will wait 3 seconds for dialog to open + self.justClicked = false; + }, 2500); + }); + + this._input = input; + }, + _rerouteClicks : function (){ + var self = this; + + // IE displays 'access denied' error when using this method + // other browsers just ignore click() + // addEvent(this._button, 'click', function(e){ + // self._input.click(); + // }); + + var box, dialogOffset = {top:0, left:0}, over = false; + + addEvent(self._button, 'mouseover', function(e){ + if (!self._input || over) return; + + over = true; + box = getBox(self._button); + + if (self._parentDialog != d.body){ + dialogOffset = getOffset(self._parentDialog); + } + }); + + + // We can't use mouseout on the button, + // because invisible input is over it + addEvent(document, 'mousemove', function(e){ + var input = self._input; + if (!input || !over) return; + + if (self._disabled){ + removeClass(self._button, self._settings.hoverClass); + input.style.display = 'none'; + return; + } + + var c = getMouseCoords(e); + + if ((c.x >= box.left) && (c.x <= box.right) && + (c.y >= box.top) && (c.y <= box.bottom)){ + + input.style.top = c.y - dialogOffset.top + 'px'; + input.style.left = c.x - dialogOffset.left + 'px'; + input.style.display = 'block'; + addClass(self._button, self._settings.hoverClass); + + } else { + // mouse left the button + over = false; + + var check = setInterval(function(){ + // if input was just clicked do not hide it + // to prevent safari bug + + if (self.justClicked){ + return; + } + + if ( !over ){ + input.style.display = 'none'; + } + + clearInterval(check); + + }, 25); + + + removeClass(self._button, self._settings.hoverClass); + } + }); + + }, + /** + * Creates iframe with unique name + */ + _createIframe : function(){ + // unique name + // We cannot use getTime, because it sometimes return + // same value in safari :( + var id = getUID(); + + // Remove ie6 "This page contains both secure and nonsecure items" prompt + // http://tinyurl.com/77w9wh + var iframe = toElement( '':"" );inst._keyEvent=false;return html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,secondary,monthNames,monthNamesShort){minDate=(inst.rangeStart&&minDate&&selectedDate "}else{var inMinYear=(minDate&&minDate.getFullYear()==drawYear);var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);monthHtml+='"}if(!showMonthAfterYear){html+=monthHtml+((secondary||changeMonth||changeYear)&&(!(changeMonth&&changeYear))?" ":"")}if(secondary||!changeYear){html+=''+drawYear+""}else{var years=this._get(inst,"yearRange").split( ":" );var year=0;var endYear=0;if(years.length!=2){year=drawYear-10;endYear=drawYear+10}else{if(years[0].charAt(0)=="+"||years[0].charAt(0)=="-"){year=drawYear+parseInt(years[0],10);endYear=drawYear+parseInt(years[1],10)}else{year=parseInt(years[0],10);endYear=parseInt(years[1],10)}}year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='"}if(showMonthAfterYear){html+=(secondary||changeMonth||changeYear?" ":"")+monthHtml}html+="
                    ";return html},_adjustInstDate:function(inst,offset,period){var year=inst.drawYear+(period=="Y"?offset:0);var month=inst.drawMonth+(period=="M"?offset:0);var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);var date=this._daylightSavingAdjust(new Date(year,month,day));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max" );date=(minDate&&datemaxDate?maxDate:date);inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();if(period=="M"||period=="Y"){this._notifyChange(inst)}},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear" );if(onChange){onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])}},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths" );return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))},_getMinMaxDate:function(inst,minMax,checkRange){var date=this._determineDate(this._get(inst,minMax+"Date"),null);return(!checkRange||!inst.rangeStart?date:(!date||inst.rangeStart>date?inst.rangeStart:date))},_getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst);var date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1));if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(inst,date)},_isInRange:function(inst,date){var newMinDate=(!inst.rangeStart?null:this._daylightSavingAdjust(new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay)));newMinDate=(newMinDate&&inst.rangeStart=minDate)&&(!maxDate||date<=maxDate))},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff" );shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){if(!day){inst.currentDay=inst.selectedDay;inst.currentMonth=inst.selectedMonth;inst.currentYear=inst.selectedYear}var date=(day?(typeof day=="object"?day:this._daylightSavingAdjust(new Date(year,month,day))):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null||props[name]==undefined){target[name]=props[name]}}return target}function isArray(a){return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))}$.fn.datepicker=function(options){if(!$.datepicker.initialized){$(document).mousedown($.datepicker._checkExternalClick).find( "body").append($.datepicker.dpDiv);$.datepicker.initialized=true}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getDate")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}if(options=="option"&&arguments.length==2&&typeof arguments[1]=="string"){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$.datepicker=new Datepicker();$.datepicker.initialized=false;$.datepicker.uuid=new Date().getTime();$.datepicker.version="1.7.2";window.DP_jQuery=$})(jQuery); \ No newline at end of file diff --git a/wootique/functions/js/woo-admin-interface.js b/wootique/functions/js/woo-admin-interface.js new file mode 100755 index 0000000..714e6a7 --- /dev/null +++ b/wootique/functions/js/woo-admin-interface.js @@ -0,0 +1,355 @@ +/** + * WooThemes Admin Interface JavaScript + * + * All JavaScript logic for the theme options admin interface. + * @since 4.8.0 + * + */ + +(function ($) { + + woothemesAdminInterface = { + +/** + * toggle_nav_tabs() + * + * @since 4.8.0 + */ + + toggle_nav_tabs: function () { + var flip = 0; + + $( '#expand_options' ).click( function(){ + if( flip == 0 ){ + flip = 1; + $( '#woo_container #woo-nav' ).hide(); + $( '#woo_container #content' ).width( 785 ); + $( '#woo_container .group' ).add( '#woo_container .group h1' ).show(); + + $(this).text( '[-]' ); + + } else { + flip = 0; + $( '#woo_container #woo-nav' ).show(); + $( '#woo_container #content' ).width( 595 ); + $( '#woo_container .group' ).add( '#woo_container .group h1' ).hide(); + $( '#woo_container .group:first' ).show(); + $( '#woo_container #woo-nav li' ).removeClass( 'current' ); + $( '#woo_container #woo-nav li:first' ).addClass( 'current' ); + + $(this).text( '[+]' ); + + } + + }); + }, // End toggle_nav_tabs() + +/** + * load_first_tab() + * + * @since 4.8.0 + */ + + load_first_tab: function () { + $( '.group' ).hide(); + $( '.group:has(".section"):first' ).fadeIn(); // Fade in the first tab containing options (not just the first tab). + }, // End load_first_tab() + +/** + * open_first_menu() + * + * @since 5.0.0 + */ + + open_first_menu: function () { + $( '#woo-nav li.current.has-children:first ul.sub-menu' ).slideDown().addClass( 'open' ).children( 'li:first' ).addClass( 'active' ).parents( 'li.has-children' ).addClass( 'open' ); + }, // End open_first_menu() + +/** + * toggle_nav_menus() + * + * @since 5.0.0 + */ + + toggle_nav_menus: function () { + $( '#woo-nav li.has-children > a' ).click( function ( e ) { + if ( $( this ).parent().hasClass( 'open' ) ) { return false; } + + $( '#woo-nav li.top-level' ).removeClass( 'open' ).removeClass( 'current' ); + $( '#woo-nav li.active' ).removeClass( 'active' ); + if ( $( this ).parents( '.top-level' ).hasClass( 'open' ) ) {} else { + $( '#woo-nav .sub-menu.open' ).removeClass( 'open' ).slideUp().parent().removeClass( 'current' ); + $( this ).parent().addClass( 'open' ).addClass( 'current' ).find( '.sub-menu' ).slideDown().addClass( 'open' ).children( 'li:first' ).addClass( 'active' ); + } + + // Find the first child with sections and display it. + var clickedGroup = $( this ).parent().find( '.sub-menu li a:first' ).attr( 'href' ); + + if ( clickedGroup != '' ) { + $( '.group' ).hide(); + $( clickedGroup ).fadeIn(); + } + return false; + }); + }, // End toggle_nav_menus() + +/** + * toggle_collapsed_fields() + * + * @since 4.8.0 + */ + + toggle_collapsed_fields: function () { + $( '.group .collapsed' ).each(function(){ + $( this ).find( 'input:checked' ).parent().parent().parent().nextAll().each( function(){ + if ($( this ).hasClass( 'last' ) ) { + $( this ).removeClass( 'hidden' ); + return false; + } + $( this ).filter( '.hidden' ).removeClass( 'hidden' ); + + $( '.group .collapsed input:checkbox').click(function ( e ) { + woothemesAdminInterface.unhide_hidden( $( this ).attr( 'id' ) ); + }); + + }); + }); + }, // End toggle_collapsed_fields() + +/** + * setup_nav_highlights() + * + * @since 4.8.0 + */ + + setup_nav_highlights: function () { + // Highlight the first item by default. + $( '#woo-nav li.top-level:first' ).addClass( 'current' ).addClass( 'open' ); + + // Default single-level logic. + $( '#woo-nav li.top-level' ).not( '.has-children' ).find( 'a' ).click( function ( e ) { + var thisObj = $( this ); + var clickedGroup = thisObj.attr( 'href' ); + + if ( clickedGroup != '' ) { + $( '#woo-nav .open' ).removeClass( 'open' ); + $( '.sub-menu' ).slideUp(); + $( '#woo-nav .active' ).removeClass( 'active' ); + $( '#woo-nav li.current' ).removeClass( 'current' ); + thisObj.parent().addClass( 'current' ); + + $( '.group' ).hide(); + $( clickedGroup ).fadeIn(); + + return false; + } + }); + + $( '#woo-nav li:not(".has-children") > a:first' ).click( function( evt ) { + var parentObj = $( this ).parent( 'li' ); + var thisObj = $( this ); + + var clickedGroup = thisObj.attr( 'href' ); + + if ( $( this ).parents( '.top-level' ).hasClass( 'open' ) ) {} else { + $( '#woo-nav li.top-level' ).removeClass( 'current' ).removeClass( 'open' ); + $( '#woo-nav .sub-menu' ).removeClass( 'open' ).slideUp(); + $( this ).parents( 'li.top-level' ).addClass( 'current' ); + } + + $( '.group' ).hide(); + $( clickedGroup ).fadeIn(); + + evt.preventDefault(); + return false; + }); + + // Sub-menu link click logic. + $( '.sub-menu a' ).click( function ( e ) { + var thisObj = $( this ); + var parentMenu = $( this ).parents( 'li.top-level' ); + var clickedGroup = thisObj.attr( 'href' ); + + if ( $( '.sub-menu li a[href="' + clickedGroup + '"]' ).hasClass( 'active' ) ) { + return false; + } + + if ( clickedGroup != '' ) { + parentMenu.addClass( 'open' ); + $( '.sub-menu li, .flyout-menu li' ).removeClass( 'active' ); + $( this ).parent().addClass( 'active' ); + $( '.group' ).hide(); + $( clickedGroup ).fadeIn(); + } + + return false; + }); + }, // End setup_nav_highlights() + +/** + * setup_custom_typography() + * + * @since 4.8.0 + */ + + setup_custom_typography: function () { + $( 'select.woo-typography-unit' ).change( function(){ + var val = $( this ).val(); + var parent = $( this ).parent(); + var name = parent.find( '.woo-typography-size-px' ).attr( 'name' ); + if( name == '' ) { var name = parent.find( '.woo-typography-size-em' ).attr( 'name' ); } + + if( val == 'px' ) { + var name = parent.find( '.woo-typography-size-em' ).attr( 'name' ); + parent.find( '.woo-typography-size-em' ).hide().removeAttr( 'name' ); + parent.find( '.woo-typography-size-px' ).show().attr( 'name', name ); + } + else if( val == 'em' ) { + var name = parent.find( '.woo-typography-size-px' ).attr( 'name' ); + parent.find( '.woo-typography-size-px' ).hide().removeAttr( 'name' ); + parent.find( '.woo-typography-size-em' ).show().attr( 'name', name ); + } + + }); + }, // End setup_custom_typography() + +/** + * setup_custom_ui_slider() + * + * @since 5.3.5 + */ + + setup_custom_ui_slider: function () { + + $('div.ui-slide').each(function(i){ + + if( $(this).attr('min') != undefined && $(this).attr('max') != undefined ) { + + $(this).slider( { + min: parseInt($(this).attr('min')), + max: parseInt($(this).attr('max')), + value: parseInt($(this).next("input").val()), + step: parseInt($(this).attr('inc')) , + slide: function( event, ui ) { + $( this ).next("input").val(ui.value); + } + }); + + $(this).removeAttr('min').removeAttr('max').removeAttr('inc'); + + } + + }); + + }, // End setup_custom_ui_slider() + +/** + * init_flyout_menus() + * + * @since 5.0.0 + */ + + init_flyout_menus: function () { + // Only trigger flyouts on menus with closed sub-menus. + $( '#woo-nav li.has-children' ).each ( function ( i ) { + $( this ).hover( + function () { + if ( $( this ).find( '.flyout-menu' ).length == 0 ) { + var flyoutContents = $( this ).find( '.sub-menu' ).html(); + var flyoutMenu = $( '
                    ' ).addClass( 'flyout-menu' ).html( '
                      ' + flyoutContents + '
                    ' ); + $( this ).append( flyoutMenu ); + } + }, + function () { + // $( '#woo-nav .flyout-menu' ).remove(); + } + ); + }); + + // Add custom link click logic to the flyout menus, due to custom logic being required. + $(document).on("click", ".flyout-menu a", function ( e ) { + var thisObj = $( this ); + var parentObj = $( this ).parent(); + var parentMenu = $( this ).parents( '.top-level' ); + var clickedGroup = $( this ).attr( 'href' ); + + if ( clickedGroup != '' ) { + $( '.group' ).hide(); + $( clickedGroup ).fadeIn(); + + // Adjust the main navigation menu. + $( '#woo-nav li' ).removeClass( 'open' ).removeClass( 'current' ).find( '.sub-menu' ).slideUp().removeClass( 'open' ); + parentMenu.addClass( 'open' ).addClass( 'current' ).find( '.sub-menu' ).slideDown().addClass( 'open' ); + $( '#woo-nav li.active' ).removeClass( 'active' ); + $( '#woo-nav a[href="' + clickedGroup + '"]' ).parent().addClass( 'active' ); + } + + return false; + }); + }, // End init_flyout_menus() + +/** + * banner_advert_close() + * + * @since 5.3.4 + */ + + banner_advert_close: function () { + $( '.wooframework-banner' ).each( function ( i ) { + if ( $( this ).find( '.close-banner a' ).length ) { + $( this ).find( '.close-banner a' ).click( function ( e ) { + var answer = confirm( 'Are you sure you\'d like to close this banner?' + "\n" + 'Before closing this banner, make sure you have saved your theme options.' ); + if ( answer ) {} else { + return false; + } + }); + } + }); + }, // End banner_advert_close() + +/** + * unhide_hidden() + * + * @since 4.8.0 + * @see toggle_collapsed_fields() + */ + + unhide_hidden: function ( obj ) { + obj = $( '#' + obj ); // Get the jQuery object. + + if ( obj.attr( 'checked' ) ) { + obj.parent().parent().parent().nextAll().slideDown().removeClass( 'hidden' ).addClass( 'visible' ); + } else { + obj.parent().parent().parent().nextAll().each( function(){ + if ( $( this ).filter( '.last' ).length ) { + $( this ).slideUp().addClass( 'hidden' ); + return false; + } + $( this ).slideUp().addClass( 'hidden' ); + }); + } + } // End unhide_hidden() + + }; // End woothemesAdminInterface Object // Don't remove this, or the sky will fall on your head. + +/** + * Execute the above methods in the woothemesAdminInterface object. + * + * @since 4.8.0 + */ + $(document).ready(function () { + + woothemesAdminInterface.toggle_nav_tabs(); + woothemesAdminInterface.load_first_tab(); + woothemesAdminInterface.toggle_collapsed_fields(); + woothemesAdminInterface.setup_nav_highlights(); + woothemesAdminInterface.toggle_nav_menus(); + woothemesAdminInterface.init_flyout_menus(); + woothemesAdminInterface.open_first_menu(); + woothemesAdminInterface.banner_advert_close(); + woothemesAdminInterface.setup_custom_typography(); + woothemesAdminInterface.setup_custom_ui_slider(); + + }); + +})(jQuery); diff --git a/wootique/functions/js/woo-custom-fields.js b/wootique/functions/js/woo-custom-fields.js new file mode 100755 index 0000000..cab19b9 --- /dev/null +++ b/wootique/functions/js/woo-custom-fields.js @@ -0,0 +1,192 @@ +/** + * WooThemes Custom Fields JavaScript + * + * All JavaScript logic for fields in the post meta box. + * @since 4.8.0 + * + */ + +(function ($) { + + woothemesCustomFields = { + +/** + * adjust_form_encoding() + * + * @since 4.8.0 + */ + + adjust_form_encoding: function () { + $( 'form#post' ).attr( 'enctype','multipart/form-data' ).attr( 'encoding','multipart/form-data' ); + }, // End adjust_form_encoding() + +/** + * setup_datepickers() + * + * @since 4.8.0 + */ + + setup_datepickers: function () { + if ( $( '.woo-input-calendar, .woo_input_calendar' ).length ) { + $( '.woo-input-calendar, .woo_input_calendar' ).each(function () { + var buttonImageURL = $( this ).parent().find( 'input[name=datepicker-image]' ).val(); + $( this ).next( 'input[name=datepicker-image]' ).remove(); + + $( '#' + $( this ).attr( 'id' ) ).datepicker( { showOn: 'button', buttonImage: buttonImageURL, buttonImageOnly: true, showAnim: 'slideDown' } ); + }); + } + }, // End setup_datepickers() + +/** + * setup_timefields() + * + * @since 4.8.0 + */ + + setup_timefields: function () { + if ( $( '.woo_input_time_masked' ).length ) { + $( '.woo_input_time_masked' ).each( function (){ + $( '#' + $( this ).attr( 'id' )).mask( '99:99' ); + }); + } + }, // End setup_timefields() +/** + * setup_wordcounters() + * + * @since 4.8.0 + */ + + setup_wordcounters: function () { + if ( $( '.words-count' ).length ) { + $( '.words-count' ).each( function() { + var s = ''; var s2 = ''; + var length = $( this ).val().length; + var w_length = $( this ).val().split(/\b[\s,\.-:;]*/).length; + + if( length != 1 ) { s = 's'; } + if( w_length != 1 ) { s2 = 's'; } + if( $( this ).val() == '' ) { s2 = 's'; w_length = '0'; } + + $( this ).parent().find( '.counter' ).html( length + ' character'+ s + ', ' + w_length + ' word' + s2 ); + + $( this ).keyup( function() { + var s = ''; var s2 = ''; + var new_length = $( this ).val().length; + var word_length = $( this ).val().split(/\b[\s,\.-:;]*/).length; + + if( new_length != 1 ) { s = 's'; } + if( word_length != 1 ){ s2 = 's'; } + if( $( this ).val() == '' ) { s2 == 's'; word_length = '0';} + + $( this ).parent().find( '.counter' ).html( new_length + ' character' + s + ', ' + word_length + ' word' + s2 ); + }); + }); + } + }, // End setup_wordcounters() + +/** + * setup_image_selectors() + * + * @since 4.8.0 + */ + + setup_image_selectors: function () { + if ( $( '.woo-meta-radio-img-img, .woo-radio-img-img' ).length ) { + $( '.woo-meta-radio-img-img, .woo-radio-img-img' ).click( function() { + + $( this ).parent().parent().find( '.woo-meta-radio-img-img' ).removeClass( 'woo-meta-radio-img-selected' ); + $( this ).parent().parent().find( '.woo-radio-img-img' ).removeClass( 'woo-radio-img-selected' ); + $( this ).addClass( 'woo-meta-radio-img-selected' ).addClass( 'woo-radio-img-selected' ); + + }); + $( '.woo-meta-radio-img-label, .woo-meta-radio-img-radio, .woo-radio-img-label, .woo-radio-img-radio' ).hide(); + $( '.woo-meta-radio-img-img, .woo-radio-img-img' ).show(); + } + }, // End setup_image_selectors() + +/** + * setup_colourpickers() + * + * @since 4.8.0 + */ + + setup_colourpickers: function () { + if ( jQuery().ColorPicker && $( '.section-typography, .section-border, .section-color' ).length ) { + $( '.section-typography, .section-border, .section-color' ).each( function () { + + var option_id = $( this ).find( '.woo-color' ).attr( 'id' ); + var color = $( this ).find( '.woo-color' ).val(); + var picker_id = option_id += '_picker'; + + if ( $( this ).hasClass( 'section-typography' ) || $( this ).hasClass( 'section-border' ) ) { + option_id += '_color'; + } + + $( '#' + picker_id ).children( 'div' ).css( 'backgroundColor', color ); + $( '#' + picker_id ).ColorPicker({ + color: color, + onShow: function ( colpkr ) { + jQuery( colpkr ).fadeIn( 200 ); + return false; + }, + onHide: function ( colpkr ) { + jQuery( colpkr ).fadeOut( 200 ); + return false; + }, + onChange: function ( hsb, hex, rgb ) { + $( '#' + picker_id ).children( 'div' ).css( 'backgroundColor', '#' + hex ); + $( '#' + picker_id ).next( 'input' ).attr( 'value', '#' + hex ); + + } + }); + }); + } + }, // End setup_colourpickers() + +/** + * setup_field_tabber() + * + * @since 5.3.0 + */ + + setup_field_tabber: function () { + $( '.wooframework-tabs' ).tabs(); + }, // End setup_field_tabber() + +/** + * setup_upload_titletest() + * + * @since 4.8.0 + * @deprecated + */ + + setup_upload_titletest: function () { + if ( $( 'input#title' ).length ) { + var val = $( 'input#title' ).attr( 'value' ); + if(val == ''){ + $( '.woo_metabox_fields .button-highlighted' ).after( 'Please add a Title before uploading a file' ); + }; + } + } // End setup_upload_titletest() + + }; // End woothemesCustomFields Object // Don't remove this, or the sky will fall on your head. + +/** + * Execute the above methods in the woothemesCustomFields object. + * + * @since 4.8.0 + */ + $(document).ready(function () { + + woothemesCustomFields.adjust_form_encoding(); + woothemesCustomFields.setup_datepickers(); + woothemesCustomFields.setup_timefields(); + woothemesCustomFields.setup_wordcounters(); + woothemesCustomFields.setup_image_selectors(); + woothemesCustomFields.setup_colourpickers(); + woothemesCustomFields.setup_upload_titletest(); + woothemesCustomFields.setup_field_tabber(); + + }); + +})(jQuery); \ No newline at end of file diff --git a/wootique/functions/js/woo-medialibrary-uploader.js b/wootique/functions/js/woo-medialibrary-uploader.js new file mode 100755 index 0000000..cf7ad10 --- /dev/null +++ b/wootique/functions/js/woo-medialibrary-uploader.js @@ -0,0 +1,157 @@ +/*-----------------------------------------------------------------------------------*/ +/* WooThemes Media Library-driven AJAX File Uploader Module - JavaScript Functions */ +/* 2010-11-05. */ +/* +/* The code below is designed to work as a part of the WooThemes Media Library-driven +/* AJAX File Uploader Module. It is included only on screens where this module is used. +/*-----------------------------------------------------------------------------------*/ + +(function ($) { + + woothemesMLU = { + +/*-----------------------------------------------------------------------------------*/ +/* Remove file when the "remove" button is clicked. +/*-----------------------------------------------------------------------------------*/ + + removeFile: function () { + + $(document).on( 'click', '.mlu_remove', function(event) { + $(this).hide(); + $(this).parents().parents().children( '.upload').attr( 'value', '' ); + $(this).parents( '.screenshot').slideUp(); + + return false; + }); + + // Hide the delete button on the first row + $( 'a.delete-inline', '#option-1' ).hide(); + + }, // End removeFile + +/*-----------------------------------------------------------------------------------*/ +/* Replace the default file upload field with a customised version. +/*-----------------------------------------------------------------------------------*/ + + recreateFileField: function () { + + $( 'input.file').each(function(){ + var uploadbutton = ''; + $(this).wrap( '
                    ' ); + $(this).addClass( 'file').css( 'opacity', 0); //set to invisible + $(this).parent().append($( '
                    ').append($( '').attr( 'id',$(this).attr( 'id')+'_file')).val( $(this).val() ).append(uploadbutton)); + + $(this).bind( 'change', function() { + $( '#'+$(this).attr( 'id')+'_file').val($(this).val()); + }); + $(this).bind( 'mouseout', function() { + $( '#'+$(this).attr( 'id')+'_file').val($(this).val()); + }); + }); + + }, // End recreateFileField + +/*-----------------------------------------------------------------------------------*/ +/* Use a custom function when working with the Media Uploads popup. +/* Requires jQuery, Media Upload and Thickbox JavaScripts. +/*-----------------------------------------------------------------------------------*/ + + mediaUpload: function () { + + jQuery.noConflict(); + + $( 'input.upload_button' ).removeAttr( 'style' ); + + var formfield, + formID, + btnContent = true; + // On Click + $(document).on( "click", 'input.upload_button', function () { + formfield = $(this).prev( 'input').attr( 'name' ); + formID = $(this).attr( 'rel' ); + + // Display a custom title for each Thickbox popup. + var woo_title = ''; + + if ( $(this).parents( '.section' ).find( '.heading' ) ) { woo_title = $(this).parents( '.section' ).find( '.heading' ).text(); } // End IF Statement + + if ( woo_title == '' && $(this).parents( '.woo_metabox_fields' ).prev( 'th' ).find( 'label' ) ) { woo_title = $(this).parents( '.woo_metabox_fields' ).prev( 'th' ).find( 'label' ).text(); } // End IF Statement + + tb_show( woo_title, 'media-upload.php?post_id='+formID+'&title=' + woo_title + '&is_woothemes=yes&TB_iframe=1' ); + return false; + }); + + window.original_send_to_editor = window.send_to_editor; + window.send_to_editor = function(html) { + + if (formfield) { + + // itemurl = $(html).attr( 'href' ); // Use the URL to the main image. + + if ( $(html).html(html).find( 'img').length > 0 ) { + + itemurl = $(html).html(html).find( 'img').attr( 'src' ); // Use the URL to the size selected. + + } else { + + // It's not an image. Get the URL to the file instead. + + var htmlBits = html.split( "'" ); // jQuery seems to strip out XHTML when assigning the string to an object. Use alternate method. + + itemurl = htmlBits[1]; // Use the URL to the file. + + var itemtitle = htmlBits[2]; + + itemtitle = itemtitle.replace( '>', '' ); + itemtitle = itemtitle.replace( '', '' ); + + } // End IF Statement + + var image = /(^.*\.jpg|jpeg|png|gif|ico*)/gi; + var document = /(^.*\.pdf|doc|docx|ppt|pptx|odt*)/gi; + var audio = /(^.*\.mp3|m4a|ogg|wav*)/gi; + var video = /(^.*\.mp4|m4v|mov|wmv|avi|mpg|ogv|3gp|3g2*)/gi; + + if (itemurl.match(image)) { + btnContent = 'Remove Image'; + } else { + + // No output preview if it's not an image. + // btnContent = ''; + + // Standard generic output if it's not an image. + html = 'View File'; + + btnContent = '
                    '+html+'Remove
                    '; + } + + $( '#' + formfield).val(itemurl); + $( '#' + formfield).siblings( '.screenshot').slideDown().html(btnContent); + tb_remove(); + + } else { + window.original_send_to_editor(html); + } + + // Clear the formfield value so the other media library popups can work as they are meant to. - 2010-11-11. + formfield = ''; + + } + + } // End mediaUpload + + }; // End woothemesMLU Object // Don't remove this, or the sky will fall on your head. + +/*-----------------------------------------------------------------------------------*/ +/* Execute the above methods in the woothemesMLU object. +/*-----------------------------------------------------------------------------------*/ + + $(document).ready(function () { + + woothemesMLU.removeFile(); + woothemesMLU.recreateFileField(); + woothemesMLU.mediaUpload(); + + }); + +})(jQuery); diff --git a/wootique/functions/js/woo-scripts.js b/wootique/functions/js/woo-scripts.js new file mode 100755 index 0000000..5b4e136 --- /dev/null +++ b/wootique/functions/js/woo-scripts.js @@ -0,0 +1,27 @@ +/** + * + * Style Select + * + * Replace Select text + * Dependencies: jQuery + * + */ +(function ($) { + styleSelect = { + init: function () { + $( '.select_wrapper').each(function () { + $(this).prepend( '' + $(this).find( '.woo-input option:selected').text() + '' ); + }); + $(document).on( 'change', 'select.woo-input', function () { + $(this).prev( 'span').replaceWith( '' + $(this).find( 'option:selected').text() + '' ); + }); + $(document).on('click', 'select.woo-input', function(event) { + $(this).prev( 'span').replaceWith( '' + $(this).find( 'option:selected').text() + '' ); + }); + } + }; +})(jQuery); + +jQuery(document).ready(function() { +styleSelect.init(); +}); diff --git a/wootique/functions/js/woo-typography-preview.js b/wootique/functions/js/woo-typography-preview.js new file mode 100755 index 0000000..9b4edc9 --- /dev/null +++ b/wootique/functions/js/woo-typography-preview.js @@ -0,0 +1,220 @@ +/** + * WooThemes Typography Live Preview + * 2011-10-07. + * + * @description The code below is designed to generate a live preview using the + * setting specified in a "custom typography" field in the WooFramework. + * + * @since 4.7.0 + */ + +(function ($) { + + wooTypographyPreview = { + + /** + * loadPreviewButtons() + * + * @description Setup a "preview" button next to each typography field. + * @since 4.7.0 + */ + + loadPreviewButtons: function () { + + var previewButtonHTML = '' + '+' + ''; + + $( 'input.woo-typography-color' ).each( function ( i ) { + $( this ).after( previewButtonHTML ); + }); + + // Register event handlers. + wooTypographyPreview.handleEvents(); + + }, // End loadPreviewButtons() + + /** + * handleEvents() + * + * @description Handle the events. + * @since 4.7.0 + */ + + handleEvents: function () { + $(document).on("click", 'a.woo-typography-preview-button', function () { + wooTypographyPreview.generatePreview( $( this ) ); + return false; + }); + + $(document).on( 'click', 'a.preview_remove', function () { + wooTypographyPreview.closePreview( $( this ) ); + return false; + }); + }, + + /** + * closePreview() + * + * @description Close the preview. + * @since 4.7.0 + */ + + closePreview: function ( target ) { + target.parents( '.section' ).find( '.woo-typography-preview-button .refresh' ).removeClass( 'refresh' ); + target.parents( '.typography-preview-container' ).remove(); + }, + + /** + * generatePreview() + * + * @description Generate the typography preview. + * @since 4.7.0 + */ + + generatePreview: function ( target ) { + var previewText = 'Grumpy wizards make toxic brew for the evil Queen and Jack.'; + var previewHTML = ''; + var previewStyles = ''; + + // Get the control parent element. + var controls = target.parents( '.controls' ); + var explain = target.parents( '.controls' ).next( '.explain' ); + + var fontUnit = controls.find( '.woo-typography-unit' ).val(); + + var sizeSelector = '.woo-typography-size-px'; + if ( fontUnit == 'em' ) { sizeSelector = '.woo-typography-size-em'; } + + var fontSize = controls.find( sizeSelector ).val(); + + var fontFace = controls.find( '.woo-typography-face' ).val(); + var fontStyle = controls.find( '.woo-typography-style' ).val(); + var fontColor = controls.find( '.woo-typography-color' ).val(); + var lineHeight = ( parseInt( fontSize ) / 2 ) + parseInt( fontSize ); // Calculate pleasant line-height for the selected font size. + + // Fix the line-height if using "em". + if ( fontUnit == 'em' ) { lineHeight = 1; } + + // Generate array of non-Google fonts. + var nonGoogleFonts = new Array( + 'Arial, sans-serif', + 'Verdana, Geneva, sans-serif', + '"Trebuchet MS", Tahoma, sans-serif', + 'Georgia, serif', + '"Times New Roman", serif', + 'Tahoma, Geneva, Verdana, sans-serif', + 'Palatino, "Palatino Linotype", serif', + '"Helvetica Neue", Helvetica, sans-serif', + 'Calibri, Candara, Segoe, Optima, sans-serif', + '"Myriad Pro", Myriad, sans-serif', + '"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif', + '"Arial Black", sans-serif', + '"Gill Sans", "Gill Sans MT", Calibri, sans-serif', + 'Geneva, Tahoma, Verdana, sans-serif', + 'Impact, Charcoal, sans-serif', + 'Courier, "Courier New", monospace' + ); + + // Remove "current" class from previously modified typography field. + $( '.typography-preview' ).removeClass( 'current' ); + + // Prepare selected fontFace for testing. + var fontFaceTest = fontFace.replace( /"/g, '"' ); + + // Load Google WebFonts, if we need to. + if ( jQuery.inArray( fontFaceTest, nonGoogleFonts ) == -1 ) { // -1 is returned if the item is not found in the array. + + // Prepare fontFace for use in the WebFont loader. + var fontFaceString = fontFace; + + // Handle fonts that require specific weights when being included. + switch ( fontFaceString ) { + case 'Allan': + case 'Cabin Sketch': + case 'Corben': + case 'UnifrakturCook': + fontFaceString += ':700'; + break; + + case 'Buda': + case 'Open Sans Condensed': + fontFaceString += ':300'; + break; + + case 'Coda': + case 'Sniglet': + fontFaceString += ':800'; + break; + + case 'Raleway': + fontFaceString += ':100'; + break; + } + + + fontFaceString += '::latin'; + fontFaceString = fontFaceString.replace( / /g, '+' ); + + // Add the fontFace in quotes for use in the style declaration, if the selected font has a number in it. + var specificFonts = new Array( 'Goudy Bookletter 1911' ); + + if ( jQuery.inArray( fontFace, specificFonts ) > -1 ) { + var fontFace = "'" + fontFace + "'"; + } + + WebFontConfig = { + google: { families: [ fontFaceString ] } + }; + + if ( $( 'script.google-webfonts-script' ).length ) { $( 'script.google-webfonts-script' ).remove(); } + + (function() { + var wf = document.createElement( 'script' ); + wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; + wf.type = 'text/javascript'; + wf.async = 'true'; + var s = document.getElementsByTagName( 'script' )[0]; + s.parentNode.insertBefore( wf, s ); + + $( wf ).addClass( 'google-webfonts-script' ); + + })(); + + } + + // Construct styles. + previewStyles += 'font: ' + fontStyle + ' ' + fontSize + fontUnit + '/' + lineHeight + fontUnit + ' ' + fontFace + ';'; + if ( fontColor ) { previewStyles += ' color: ' + fontColor + ';'; } + + // Construct preview HTML. + var previewHTMLInner = jQuery( '
                    ' ).addClass( 'current' ).addClass( 'typography-preview' ).text( previewText ).before( '' + 'Close Preview' + '' ); + + previewHTML = jQuery( '
                    ' ).addClass( 'typography-preview-container' ).html( previewHTMLInner ); + + // If no preview display is present, add one. + if ( ! explain.next( '.typography-preview-container' ).length ) { + previewHTML.find( '.typography-preview' ).attr( 'style', previewStyles ); + explain.after( previewHTML ); + } else { + // Otherwise, just update the styles of the existing preview. + explain.next( '.typography-preview-container' ).find( '.typography-preview' ).attr( 'style', previewStyles ); + } + + // Set the button to "refresh" mode. + controls.find( '.woo-typography-preview-button span' ).addClass( 'refresh' ); + } + + + }; // End wooTypographyPreview Object // Don't remove this, or the sky will fall on your head. + +/*-----------------------------------------------------------------------------------*/ +/* Execute the above methods in the wooTypographyPreview object. +/*-----------------------------------------------------------------------------------*/ + + $(document).ready(function () { + + wooTypographyPreview.loadPreviewButtons(); + + }); + +})(jQuery); diff --git a/wootique/functions/thumb.php b/wootique/functions/thumb.php new file mode 100755 index 0000000..7059b07 --- /dev/null +++ b/wootique/functions/thumb.php @@ -0,0 +1,1264 @@ + /dev/null 2>&1 & + Then set WEBSHOT_XVFB_RUNNING = true below. This will save your server having to fire off a new Xvfb server and shut it down every time a new shot is generated. + You will need to take responsibility for keeping Xvfb running in case it crashes. (It seems pretty stable) + You will also need to take responsibility for server security if you're running Xvfb as root. + + +*/ +if(! defined('WEBSHOT_ENABLED') ) define ('WEBSHOT_ENABLED', false); //Beta feature. Adding webshot=1 to your query string will cause the script to return a browser screenshot rather than try to fetch an image. +if(! defined('WEBSHOT_CUTYCAPT') ) define ('WEBSHOT_CUTYCAPT', '/usr/local/bin/CutyCapt'); //The path to CutyCapt. +if(! defined('WEBSHOT_XVFB') ) define ('WEBSHOT_XVFB', '/usr/bin/xvfb-run'); //The path to the Xvfb server +if(! defined('WEBSHOT_SCREEN_X') ) define ('WEBSHOT_SCREEN_X', '1024'); //1024 works ok +if(! defined('WEBSHOT_SCREEN_Y') ) define ('WEBSHOT_SCREEN_Y', '768'); //768 works ok +if(! defined('WEBSHOT_COLOR_DEPTH') ) define ('WEBSHOT_COLOR_DEPTH', '24'); //I haven't tested anything besides 24 +if(! defined('WEBSHOT_IMAGE_FORMAT') ) define ('WEBSHOT_IMAGE_FORMAT', 'png'); //png is about 2.5 times the size of jpg but is a LOT better quality +if(! defined('WEBSHOT_TIMEOUT') ) define ('WEBSHOT_TIMEOUT', '20'); //Seconds to wait for a webshot +if(! defined('WEBSHOT_USER_AGENT') ) define ('WEBSHOT_USER_AGENT', "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.18) Gecko/20110614 Firefox/3.6.18"); //I hate to do this, but a non-browser robot user agent might not show what humans see. So we pretend to be Firefox +if(! defined('WEBSHOT_JAVASCRIPT_ON') ) define ('WEBSHOT_JAVASCRIPT_ON', true); //Setting to false might give you a slight speedup and block ads. But it could cause other issues. +if(! defined('WEBSHOT_JAVA_ON') ) define ('WEBSHOT_JAVA_ON', false); //Have only tested this as fase +if(! defined('WEBSHOT_PLUGINS_ON') ) define ('WEBSHOT_PLUGINS_ON', true); //Enable flash and other plugins +if(! defined('WEBSHOT_PROXY') ) define ('WEBSHOT_PROXY', ''); //In case you're behind a proxy server. +if(! defined('WEBSHOT_XVFB_RUNNING') ) define ('WEBSHOT_XVFB_RUNNING', false); //ADVANCED: Enable this if you've got Xvfb running in the background. + + +// If ALLOW_EXTERNAL is true and ALLOW_ALL_EXTERNAL_SITES is false, then external images will only be fetched from these domains and their subdomains. +if(! isset($ALLOWED_SITES)){ + $ALLOWED_SITES = array ( + 'flickr.com', + 'staticflickr.com', + 'picasa.com', + 'img.youtube.com', + 'upload.wikimedia.org', + 'photobucket.com', + 'imgur.com', + 'imageshack.us', + 'tinypic.com', + ); +} +// ------------------------------------------------------------- +// -------------- STOP EDITING CONFIGURATION HERE -------------- +// ------------------------------------------------------------- + +timthumb::start(); + +class timthumb { + protected $src = ""; + protected $is404 = false; + protected $docRoot = ""; + protected $lastURLError = false; + protected $localImage = ""; + protected $localImageMTime = 0; + protected $url = false; + protected $myHost = ""; + protected $isURL = false; + protected $cachefile = ''; + protected $errors = array(); + protected $toDeletes = array(); + protected $cacheDirectory = ''; + protected $startTime = 0; + protected $lastBenchTime = 0; + protected $cropTop = false; + protected $salt = ""; + protected $fileCacheVersion = 1; //Generally if timthumb.php is modifed (upgraded) then the salt changes and all cache files are recreated. This is a backup mechanism to force regen. + protected $filePrependSecurityBlock = "handleErrors(); + $tim->securityChecks(); + if($tim->tryBrowserCache()){ + exit(0); + } + $tim->handleErrors(); + if(FILE_CACHE_ENABLED && $tim->tryServerCache()){ + exit(0); + } + $tim->handleErrors(); + $tim->run(); + $tim->handleErrors(); + exit(0); + } + public function __construct(){ + global $ALLOWED_SITES; + $this->startTime = microtime(true); + date_default_timezone_set('UTC'); + $this->debug(1, "Starting new request from " . $this->getIP() . " to " . $_SERVER['REQUEST_URI']); + $this->calcDocRoot(); + //On windows systems I'm assuming fileinode returns an empty string or a number that doesn't change. Check this. + $this->salt = @filemtime(__FILE__) . '-' . @fileinode(__FILE__); + $this->debug(3, "Salt is: " . $this->salt); + if(FILE_CACHE_DIRECTORY){ + if(! is_dir(FILE_CACHE_DIRECTORY)){ + @mkdir(FILE_CACHE_DIRECTORY); + if(! is_dir(FILE_CACHE_DIRECTORY)){ + $this->error("Could not create the file cache directory."); + return false; + } + } + $this->cacheDirectory = FILE_CACHE_DIRECTORY; + if (!touch($this->cacheDirectory . '/index.html')) { + $this->error("Could not create the index.html file - to fix this create an empty file named index.html file in the cache directory."); + } + } else { + $this->cacheDirectory = sys_get_temp_dir(); + } + //Clean the cache before we do anything because we don't want the first visitor after FILE_CACHE_TIME_BETWEEN_CLEANS expires to get a stale image. + $this->cleanCache(); + + $this->myHost = preg_replace('/^www\./i', '', $_SERVER['HTTP_HOST']); + $this->src = $this->param('src'); + $this->url = parse_url($this->src); + $this->src = preg_replace('/https?:\/\/(?:www\.)?' . $this->myHost . '/i', '', $this->src); + + if(strlen($this->src) <= 3){ + $this->error("No image specified"); + return false; + } + if(BLOCK_EXTERNAL_LEECHERS && array_key_exists('HTTP_REFERER', $_SERVER) && (! preg_match('/^https?:\/\/(?:www\.)?' . $this->myHost . '(?:$|\/)/i', $_SERVER['HTTP_REFERER']))){ + // base64 encoded red image that says 'no hotlinkers' + // nothing to worry about! :) + $imgData = base64_decode("R0lGODlhUAAMAIAAAP8AAP///yH5BAAHAP8ALAAAAABQAAwAAAJpjI+py+0Po5y0OgAMjjv01YUZ\nOGplhWXfNa6JCLnWkXplrcBmW+spbwvaVr/cDyg7IoFC2KbYVC2NQ5MQ4ZNao9Ynzjl9ScNYpneb\nDULB3RP6JuPuaGfuuV4fumf8PuvqFyhYtjdoeFgAADs="); + header('Content-Type: image/gif'); + header('Content-Length: ' . strlen($imgData)); + header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0'); + header("Pragma: no-cache"); + header('Expires: ' . gmdate ('D, d M Y H:i:s', time())); + echo $imgData; + return false; + exit(0); + } + if(preg_match('/^https?:\/\/[^\/]+/i', $this->src)){ + $this->debug(2, "Is a request for an external URL: " . $this->src); + $this->isURL = true; + } else { + $this->debug(2, "Is a request for an internal file: " . $this->src); + } + if($this->isURL && (! ALLOW_EXTERNAL)){ + $this->error("You are not allowed to fetch images from an external website."); + return false; + } + if($this->isURL){ + if(ALLOW_ALL_EXTERNAL_SITES){ + $this->debug(2, "Fetching from all external sites is enabled."); + } else { + $this->debug(2, "Fetching only from selected external sites is enabled."); + $allowed = false; + foreach($ALLOWED_SITES as $site){ + if ((strtolower(substr($this->url['host'],-strlen($site)-1)) === strtolower(".$site")) || (strtolower($this->url['host'])===strtolower($site))) { + $this->debug(3, "URL hostname {$this->url['host']} matches $site so allowing."); + $allowed = true; + } + } + if(! $allowed){ + return $this->error("You may not fetch images from that site. To enable this site in timthumb, you can either add it to \$ALLOWED_SITES and set ALLOW_EXTERNAL=true. Or you can set ALLOW_ALL_EXTERNAL_SITES=true, depending on your security needs."); + } + } + } + + $cachePrefix = ($this->isURL ? '_ext_' : '_int_'); + if($this->isURL){ + $arr = explode('&', $_SERVER ['QUERY_STRING']); + asort($arr); + $this->cachefile = $this->cacheDirectory . '/' . FILE_CACHE_PREFIX . $cachePrefix . md5($this->salt . implode('', $arr) . $this->fileCacheVersion) . FILE_CACHE_SUFFIX; + } else { + $this->localImage = $this->getLocalImagePath($this->src); + if(! $this->localImage){ + $this->debug(1, "Could not find the local image: {$this->localImage}"); + $this->error("Could not find the internal image you specified."); + $this->set404(); + return false; + } + $this->debug(1, "Local image path is {$this->localImage}"); + $this->localImageMTime = @filemtime($this->localImage); + //We include the mtime of the local file in case in changes on disk. + $this->cachefile = $this->cacheDirectory . '/' . FILE_CACHE_PREFIX . $cachePrefix . md5($this->salt . $this->localImageMTime . $_SERVER ['QUERY_STRING'] . $this->fileCacheVersion) . FILE_CACHE_SUFFIX; + } + $this->debug(2, "Cache file is: " . $this->cachefile); + + return true; + } + public function __destruct(){ + foreach($this->toDeletes as $del){ + $this->debug(2, "Deleting temp file $del"); + @unlink($del); + } + } + public function run(){ + if($this->isURL){ + if(! ALLOW_EXTERNAL){ + $this->debug(1, "Got a request for an external image but ALLOW_EXTERNAL is disabled so returning error msg."); + $this->error("You are not allowed to fetch images from an external website."); + return false; + } + $this->debug(3, "Got request for external image. Starting serveExternalImage."); + if($this->param('webshot')){ + if(WEBSHOT_ENABLED){ + $this->debug(3, "webshot param is set, so we're going to take a webshot."); + $this->serveWebshot(); + } else { + $this->error("You added the webshot parameter but webshots are disabled on this server. You need to set WEBSHOT_ENABLED == true to enable webshots."); + } + } else { + $this->debug(3, "webshot is NOT set so we're going to try to fetch a regular image."); + $this->serveExternalImage(); + + } + } else { + $this->debug(3, "Got request for internal image. Starting serveInternalImage()"); + $this->serveInternalImage(); + } + return true; + } + protected function handleErrors(){ + if($this->haveErrors()){ + if(NOT_FOUND_IMAGE && $this->is404()){ + if($this->serveImg(NOT_FOUND_IMAGE)){ + exit(0); + } else { + $this->error("Additionally, the 404 image that is configured could not be found or there was an error serving it."); + } + } + if(ERROR_IMAGE){ + if($this->serveImg(ERROR_IMAGE)){ + exit(0); + } else { + $this->error("Additionally, the error image that is configured could not be found or there was an error serving it."); + } + } + $this->serveErrors(); + exit(0); + } + return false; + } + protected function tryBrowserCache(){ + if(BROWSER_CACHE_DISABLE){ $this->debug(3, "Browser caching is disabled"); return false; } + if(!empty($_SERVER['HTTP_IF_MODIFIED_SINCE']) ){ + $this->debug(3, "Got a conditional get"); + $mtime = false; + //We've already checked if the real file exists in the constructor + if(! is_file($this->cachefile)){ + //If we don't have something cached, regenerate the cached image. + return false; + } + if($this->localImageMTime){ + $mtime = $this->localImageMTime; + $this->debug(3, "Local real file's modification time is $mtime"); + } else if(is_file($this->cachefile)){ //If it's not a local request then use the mtime of the cached file to determine the 304 + $mtime = @filemtime($this->cachefile); + $this->debug(3, "Cached file's modification time is $mtime"); + } + if(! $mtime){ return false; } + + $iftime = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']); + $this->debug(3, "The conditional get's if-modified-since unixtime is $iftime"); + if($iftime < 1){ + $this->debug(3, "Got an invalid conditional get modified since time. Returning false."); + return false; + } + if($iftime < $mtime){ //Real file or cache file has been modified since last request, so force refetch. + $this->debug(3, "File has been modified since last fetch."); + return false; + } else { //Otherwise serve a 304 + $this->debug(3, "File has not been modified since last get, so serving a 304."); + header ($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified'); + $this->debug(1, "Returning 304 not modified"); + return true; + } + } + return false; + } + protected function tryServerCache(){ + $this->debug(3, "Trying server cache"); + if(file_exists($this->cachefile)){ + $this->debug(3, "Cachefile {$this->cachefile} exists"); + if($this->isURL){ + $this->debug(3, "This is an external request, so checking if the cachefile is empty which means the request failed previously."); + if(filesize($this->cachefile) < 1){ + $this->debug(3, "Found an empty cachefile indicating a failed earlier request. Checking how old it is."); + //Fetching error occured previously + if(time() - @filemtime($this->cachefile) > WAIT_BETWEEN_FETCH_ERRORS){ + $this->debug(3, "File is older than " . WAIT_BETWEEN_FETCH_ERRORS . " seconds. Deleting and returning false so app can try and load file."); + @unlink($this->cachefile); + return false; //to indicate we didn't serve from cache and app should try and load + } else { + $this->debug(3, "Empty cachefile is still fresh so returning message saying we had an error fetching this image from remote host."); + $this->set404(); + $this->error("An error occured fetching image."); + return false; + } + } + } else { + $this->debug(3, "Trying to serve cachefile {$this->cachefile}"); + } + if($this->serveCacheFile()){ + $this->debug(3, "Succesfully served cachefile {$this->cachefile}"); + return true; + } else { + $this->debug(3, "Failed to serve cachefile {$this->cachefile} - Deleting it from cache."); + //Image serving failed. We can't retry at this point, but lets remove it from cache so the next request recreates it + @unlink($this->cachefile); + return true; + } + } + } + protected function error($err){ + $this->debug(3, "Adding error message: $err"); + $this->errors[] = $err; + return false; + + } + protected function haveErrors(){ + if(sizeof($this->errors) > 0){ + return true; + } + return false; + } + protected function serveErrors(){ + header ($_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request'); + if ( ! DISPLAY_ERROR_MESSAGES ) { + return; + } + $html = '
                      '; + foreach($this->errors as $err){ + $html .= '
                    • ' . htmlentities($err) . '
                    • '; + } + $html .= '
                    '; + echo '

                    A TimThumb error has occured

                    The following error(s) occured:
                    ' . $html . '
                    '; + echo '
                    Query String : ' . htmlentities( $_SERVER['QUERY_STRING'], ENT_QUOTES ); + echo '
                    TimThumb version : ' . VERSION . ''; + } + protected function serveInternalImage(){ + $this->debug(3, "Local image path is $this->localImage"); + if(! $this->localImage){ + $this->sanityFail("localImage not set after verifying it earlier in the code."); + return false; + } + $fileSize = filesize($this->localImage); + if($fileSize > MAX_FILE_SIZE){ + $this->error("The file you specified is greater than the maximum allowed file size."); + return false; + } + if($fileSize <= 0){ + $this->error("The file you specified is <= 0 bytes."); + return false; + } + $this->debug(3, "Calling processImageAndWriteToCache() for local image."); + if($this->processImageAndWriteToCache($this->localImage)){ + $this->serveCacheFile(); + return true; + } else { + return false; + } + } + protected function cleanCache(){ + if (FILE_CACHE_TIME_BETWEEN_CLEANS < 0) { + return; + } + $this->debug(3, "cleanCache() called"); + $lastCleanFile = $this->cacheDirectory . '/timthumb_cacheLastCleanTime.touch'; + + //If this is a new timthumb installation we need to create the file + if(! is_file($lastCleanFile)){ + $this->debug(1, "File tracking last clean doesn't exist. Creating $lastCleanFile"); + if (!touch($lastCleanFile)) { + $this->error("Could not create cache clean timestamp file."); + } + return; + } + if(@filemtime($lastCleanFile) < (time() - FILE_CACHE_TIME_BETWEEN_CLEANS) ){ //Cache was last cleaned more than 1 day ago + $this->debug(1, "Cache was last cleaned more than " . FILE_CACHE_TIME_BETWEEN_CLEANS . " seconds ago. Cleaning now."); + // Very slight race condition here, but worst case we'll have 2 or 3 servers cleaning the cache simultaneously once a day. + if (!touch($lastCleanFile)) { + $this->error("Could not create cache clean timestamp file."); + } + $files = glob($this->cacheDirectory . '/*' . FILE_CACHE_SUFFIX); + if ($files) { + $timeAgo = time() - FILE_CACHE_MAX_FILE_AGE; + foreach($files as $file){ + if(@filemtime($file) < $timeAgo){ + $this->debug(3, "Deleting cache file $file older than max age: " . FILE_CACHE_MAX_FILE_AGE . " seconds"); + @unlink($file); + } + } + } + return true; + } else { + $this->debug(3, "Cache was cleaned less than " . FILE_CACHE_TIME_BETWEEN_CLEANS . " seconds ago so no cleaning needed."); + } + return false; + } + protected function processImageAndWriteToCache($localImage){ + $sData = getimagesize($localImage); + $origType = $sData[2]; + $mimeType = $sData['mime']; + + $this->debug(3, "Mime type of image is $mimeType"); + if(! preg_match('/^image\/(?:gif|jpg|jpeg|png)$/i', $mimeType)){ + return $this->error("The image being resized is not a valid gif, jpg or png."); + } + + if (!function_exists ('imagecreatetruecolor')) { + return $this->error('GD Library Error: imagecreatetruecolor does not exist - please contact your webhost and ask them to install the GD library'); + } + + if (function_exists ('imagefilter') && defined ('IMG_FILTER_NEGATE')) { + $imageFilters = array ( + 1 => array (IMG_FILTER_NEGATE, 0), + 2 => array (IMG_FILTER_GRAYSCALE, 0), + 3 => array (IMG_FILTER_BRIGHTNESS, 1), + 4 => array (IMG_FILTER_CONTRAST, 1), + 5 => array (IMG_FILTER_COLORIZE, 4), + 6 => array (IMG_FILTER_EDGEDETECT, 0), + 7 => array (IMG_FILTER_EMBOSS, 0), + 8 => array (IMG_FILTER_GAUSSIAN_BLUR, 0), + 9 => array (IMG_FILTER_SELECTIVE_BLUR, 0), + 10 => array (IMG_FILTER_MEAN_REMOVAL, 0), + 11 => array (IMG_FILTER_SMOOTH, 0), + ); + } + + // get standard input properties + $new_width = (int) abs ($this->param('w', 0)); + $new_height = (int) abs ($this->param('h', 0)); + $zoom_crop = (int) $this->param('zc', DEFAULT_ZC); + $quality = (int) abs ($this->param('q', DEFAULT_Q)); + $align = $this->cropTop ? 't' : $this->param('a', 'c'); + $filters = $this->param('f', DEFAULT_F); + $sharpen = (bool) $this->param('s', DEFAULT_S); + $canvas_color = $this->param('cc', DEFAULT_CC); + $canvas_trans = (bool) $this->param('ct', '1'); + + // set default width and height if neither are set already + if ($new_width == 0 && $new_height == 0) { + $new_width = (int) DEFAULT_WIDTH; + $new_height = (int) DEFAULT_HEIGHT; + } + + // ensure size limits can not be abused + $new_width = min ($new_width, MAX_WIDTH); + $new_height = min ($new_height, MAX_HEIGHT); + + // set memory limit to be able to have enough space to resize larger images + $this->setMemoryLimit(); + + // open the existing image + $image = $this->openImage ($mimeType, $localImage); + if ($image === false) { + return $this->error('Unable to open image.'); + } + + // Get original width and height + $width = imagesx ($image); + $height = imagesy ($image); + $origin_x = 0; + $origin_y = 0; + + // generate new w/h if not provided + if ($new_width && !$new_height) { + $new_height = floor ($height * ($new_width / $width)); + } else if ($new_height && !$new_width) { + $new_width = floor ($width * ($new_height / $height)); + } + + // scale down and add borders + if ($zoom_crop == 3) { + + $final_height = $height * ($new_width / $width); + + if ($final_height > $new_height) { + $new_width = $width * ($new_height / $height); + } else { + $new_height = $final_height; + } + + } + + // create a new true color image + $canvas = imagecreatetruecolor ($new_width, $new_height); + imagealphablending ($canvas, false); + + if (strlen($canvas_color) == 3) { //if is 3-char notation, edit string into 6-char notation + $canvas_color = str_repeat(substr($canvas_color, 0, 1), 2) . str_repeat(substr($canvas_color, 1, 1), 2) . str_repeat(substr($canvas_color, 2, 1), 2); + } else if (strlen($canvas_color) != 6) { + $canvas_color = DEFAULT_CC; // on error return default canvas color + } + + $canvas_color_R = hexdec (substr ($canvas_color, 0, 2)); + $canvas_color_G = hexdec (substr ($canvas_color, 2, 2)); + $canvas_color_B = hexdec (substr ($canvas_color, 4, 2)); + + // Create a new transparent color for image + // If is a png and PNG_IS_TRANSPARENT is false then remove the alpha transparency + // (and if is set a canvas color show it in the background) + if(preg_match('/^image\/png$/i', $mimeType) && !PNG_IS_TRANSPARENT && $canvas_trans){ + $color = imagecolorallocatealpha ($canvas, $canvas_color_R, $canvas_color_G, $canvas_color_B, 127); + }else{ + $color = imagecolorallocatealpha ($canvas, $canvas_color_R, $canvas_color_G, $canvas_color_B, 0); + } + + + // Completely fill the background of the new image with allocated color. + imagefill ($canvas, 0, 0, $color); + + // scale down and add borders + if ($zoom_crop == 2) { + + $final_height = $height * ($new_width / $width); + + if ($final_height > $new_height) { + + $origin_x = $new_width / 2; + $new_width = $width * ($new_height / $height); + $origin_x = round ($origin_x - ($new_width / 2)); + + } else { + + $origin_y = $new_height / 2; + $new_height = $final_height; + $origin_y = round ($origin_y - ($new_height / 2)); + + } + + } + + // Restore transparency blending + imagesavealpha ($canvas, true); + + if ($zoom_crop > 0) { + + $src_x = $src_y = 0; + $src_w = $width; + $src_h = $height; + + $cmp_x = $width / $new_width; + $cmp_y = $height / $new_height; + + // calculate x or y coordinate and width or height of source + if ($cmp_x > $cmp_y) { + + $src_w = round ($width / $cmp_x * $cmp_y); + $src_x = round (($width - ($width / $cmp_x * $cmp_y)) / 2); + + } else if ($cmp_y > $cmp_x) { + + $src_h = round ($height / $cmp_y * $cmp_x); + $src_y = round (($height - ($height / $cmp_y * $cmp_x)) / 2); + + } + + // positional cropping! + if ($align) { + if (strpos ($align, 't') !== false) { + $src_y = 0; + } + if (strpos ($align, 'b') !== false) { + $src_y = $height - $src_h; + } + if (strpos ($align, 'l') !== false) { + $src_x = 0; + } + if (strpos ($align, 'r') !== false) { + $src_x = $width - $src_w; + } + } + + imagecopyresampled ($canvas, $image, $origin_x, $origin_y, $src_x, $src_y, $new_width, $new_height, $src_w, $src_h); + + } else { + + // copy and resize part of an image with resampling + imagecopyresampled ($canvas, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); + + } + + if ($filters != '' && function_exists ('imagefilter') && defined ('IMG_FILTER_NEGATE')) { + // apply filters to image + $filterList = explode ('|', $filters); + foreach ($filterList as $fl) { + + $filterSettings = explode (',', $fl); + if (isset ($imageFilters[$filterSettings[0]])) { + + for ($i = 0; $i < 4; $i ++) { + if (!isset ($filterSettings[$i])) { + $filterSettings[$i] = null; + } else { + $filterSettings[$i] = (int) $filterSettings[$i]; + } + } + + switch ($imageFilters[$filterSettings[0]][1]) { + + case 1: + + imagefilter ($canvas, $imageFilters[$filterSettings[0]][0], $filterSettings[1]); + break; + + case 2: + + imagefilter ($canvas, $imageFilters[$filterSettings[0]][0], $filterSettings[1], $filterSettings[2]); + break; + + case 3: + + imagefilter ($canvas, $imageFilters[$filterSettings[0]][0], $filterSettings[1], $filterSettings[2], $filterSettings[3]); + break; + + case 4: + + imagefilter ($canvas, $imageFilters[$filterSettings[0]][0], $filterSettings[1], $filterSettings[2], $filterSettings[3], $filterSettings[4]); + break; + + default: + + imagefilter ($canvas, $imageFilters[$filterSettings[0]][0]); + break; + + } + } + } + } + + // sharpen image + if ($sharpen && function_exists ('imageconvolution')) { + + $sharpenMatrix = array ( + array (-1,-1,-1), + array (-1,16,-1), + array (-1,-1,-1), + ); + + $divisor = 8; + $offset = 0; + + imageconvolution ($canvas, $sharpenMatrix, $divisor, $offset); + + } + //Straight from Wordpress core code. Reduces filesize by up to 70% for PNG's + if ( (IMAGETYPE_PNG == $origType || IMAGETYPE_GIF == $origType) && function_exists('imageistruecolor') && !imageistruecolor( $image ) && imagecolortransparent( $image ) > 0 ){ + imagetruecolortopalette( $canvas, false, imagecolorstotal( $image ) ); + } + + $imgType = ""; + $tempfile = tempnam($this->cacheDirectory, 'timthumb_tmpimg_'); + if(preg_match('/^image\/(?:jpg|jpeg)$/i', $mimeType)){ + $imgType = 'jpg'; + imagejpeg($canvas, $tempfile, $quality); + } else if(preg_match('/^image\/png$/i', $mimeType)){ + $imgType = 'png'; + imagepng($canvas, $tempfile, floor($quality * 0.09)); + } else if(preg_match('/^image\/gif$/i', $mimeType)){ + $imgType = 'gif'; + imagegif($canvas, $tempfile); + } else { + return $this->sanityFail("Could not match mime type after verifying it previously."); + } + + if($imgType == 'png' && OPTIPNG_ENABLED && OPTIPNG_PATH && @is_file(OPTIPNG_PATH)){ + $exec = OPTIPNG_PATH; + $this->debug(3, "optipng'ing $tempfile"); + $presize = filesize($tempfile); + $out = `$exec -o1 $tempfile`; //you can use up to -o7 but it really slows things down + clearstatcache(); + $aftersize = filesize($tempfile); + $sizeDrop = $presize - $aftersize; + if($sizeDrop > 0){ + $this->debug(1, "optipng reduced size by $sizeDrop"); + } else if($sizeDrop < 0){ + $this->debug(1, "optipng increased size! Difference was: $sizeDrop"); + } else { + $this->debug(1, "optipng did not change image size."); + } + } else if($imgType == 'png' && PNGCRUSH_ENABLED && PNGCRUSH_PATH && @is_file(PNGCRUSH_PATH)){ + $exec = PNGCRUSH_PATH; + $tempfile2 = tempnam($this->cacheDirectory, 'timthumb_tmpimg_'); + $this->debug(3, "pngcrush'ing $tempfile to $tempfile2"); + $out = `$exec $tempfile $tempfile2`; + $todel = ""; + if(is_file($tempfile2)){ + $sizeDrop = filesize($tempfile) - filesize($tempfile2); + if($sizeDrop > 0){ + $this->debug(1, "pngcrush was succesful and gave a $sizeDrop byte size reduction"); + $todel = $tempfile; + $tempfile = $tempfile2; + } else { + $this->debug(1, "pngcrush did not reduce file size. Difference was $sizeDrop bytes."); + $todel = $tempfile2; + } + } else { + $this->debug(3, "pngcrush failed with output: $out"); + $todel = $tempfile2; + } + @unlink($todel); + } + + $this->debug(3, "Rewriting image with security header."); + $tempfile4 = tempnam($this->cacheDirectory, 'timthumb_tmpimg_'); + $context = stream_context_create (); + $fp = fopen($tempfile,'r',0,$context); + file_put_contents($tempfile4, $this->filePrependSecurityBlock . $imgType . ' ?' . '>'); //6 extra bytes, first 3 being image type + file_put_contents($tempfile4, $fp, FILE_APPEND); + fclose($fp); + @unlink($tempfile); + $this->debug(3, "Locking and replacing cache file."); + $lockFile = $this->cachefile . '.lock'; + $fh = fopen($lockFile, 'w'); + if(! $fh){ + return $this->error("Could not open the lockfile for writing an image."); + } + if(flock($fh, LOCK_EX)){ + @unlink($this->cachefile); //rename generally overwrites, but doing this in case of platform specific quirks. File might not exist yet. + rename($tempfile4, $this->cachefile); + flock($fh, LOCK_UN); + fclose($fh); + @unlink($lockFile); + } else { + fclose($fh); + @unlink($lockFile); + @unlink($tempfile4); + return $this->error("Could not get a lock for writing."); + } + $this->debug(3, "Done image replace with security header. Cleaning up and running cleanCache()"); + imagedestroy($canvas); + imagedestroy($image); + return true; + } + protected function calcDocRoot(){ + $docRoot = @$_SERVER['DOCUMENT_ROOT']; + if (defined('LOCAL_FILE_BASE_DIRECTORY')) { + $docRoot = LOCAL_FILE_BASE_DIRECTORY; + } + if(!isset($docRoot)){ + $this->debug(3, "DOCUMENT_ROOT is not set. This is probably windows. Starting search 1."); + if(isset($_SERVER['SCRIPT_FILENAME'])){ + $docRoot = str_replace( '\\', '/', substr($_SERVER['SCRIPT_FILENAME'], 0, 0-strlen($_SERVER['PHP_SELF']))); + $this->debug(3, "Generated docRoot using SCRIPT_FILENAME and PHP_SELF as: $docRoot"); + } + } + if(!isset($docRoot)){ + $this->debug(3, "DOCUMENT_ROOT still is not set. Starting search 2."); + if(isset($_SERVER['PATH_TRANSLATED'])){ + $docRoot = str_replace( '\\', '/', substr(str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']), 0, 0-strlen($_SERVER['PHP_SELF']))); + $this->debug(3, "Generated docRoot using PATH_TRANSLATED and PHP_SELF as: $docRoot"); + } + } + if($docRoot && $_SERVER['DOCUMENT_ROOT'] != '/'){ $docRoot = preg_replace('/\/$/', '', $docRoot); } + $this->debug(3, "Doc root is: " . $docRoot); + $this->docRoot = $docRoot; + + } + protected function getLocalImagePath($src){ + $src = ltrim($src, '/'); //strip off the leading '/' + if(! $this->docRoot){ + $this->debug(3, "We have no document root set, so as a last resort, lets check if the image is in the current dir and serve that."); + //We don't support serving images outside the current dir if we don't have a doc root for security reasons. + $file = preg_replace('/^.*?([^\/\\\\]+)$/', '$1', $src); //strip off any path info and just leave the filename. + if(is_file($file)){ + return $this->realpath($file); + } + return $this->error("Could not find your website document root and the file specified doesn't exist in timthumbs directory. We don't support serving files outside timthumb's directory without a document root for security reasons."); + } else if ( ! is_dir( $this->docRoot ) ) { + $this->error("Server path does not exist. Ensure variable \$_SERVER['DOCUMENT_ROOT'] is set correctly"); + } + + //Do not go past this point without docRoot set + + //Try src under docRoot + if(file_exists ($this->docRoot . '/' . $src)) { + $this->debug(3, "Found file as " . $this->docRoot . '/' . $src); + $real = $this->realpath($this->docRoot . '/' . $src); + if(stripos($real, $this->docRoot) === 0){ + return $real; + } else { + $this->debug(1, "Security block: The file specified occurs outside the document root."); + //allow search to continue + } + } + //Check absolute paths and then verify the real path is under doc root + $absolute = $this->realpath('/' . $src); + if($absolute && file_exists($absolute)){ //realpath does file_exists check, so can probably skip the exists check here + $this->debug(3, "Found absolute path: $absolute"); + if(! $this->docRoot){ $this->sanityFail("docRoot not set when checking absolute path."); } + if(stripos($absolute, $this->docRoot) === 0){ + return $absolute; + } else { + $this->debug(1, "Security block: The file specified occurs outside the document root."); + //and continue search + } + } + + $base = $this->docRoot; + + // account for Windows directory structure + if (strstr($_SERVER['SCRIPT_FILENAME'],':')) { + $sub_directories = explode('\\', str_replace($this->docRoot, '', $_SERVER['SCRIPT_FILENAME'])); + } else { + $sub_directories = explode('/', str_replace($this->docRoot, '', $_SERVER['SCRIPT_FILENAME'])); + } + + foreach ($sub_directories as $sub){ + $base .= $sub . '/'; + $this->debug(3, "Trying file as: " . $base . $src); + if(file_exists($base . $src)){ + $this->debug(3, "Found file as: " . $base . $src); + $real = $this->realpath($base . $src); + if(stripos($real, $this->realpath($this->docRoot)) === 0){ + return $real; + } else { + $this->debug(1, "Security block: The file specified occurs outside the document root."); + //And continue search + } + } + } + return false; + } + protected function realpath($path){ + //try to remove any relative paths + $remove_relatives = '/\w+\/\.\.\//'; + while(preg_match($remove_relatives,$path)){ + $path = preg_replace($remove_relatives, '', $path); + } + //if any remain use PHP realpath to strip them out, otherwise return $path + //if using realpath, any symlinks will also be resolved + return preg_match('#^\.\./|/\.\./#', $path) ? realpath($path) : $path; + } + protected function toDelete($name){ + $this->debug(3, "Scheduling file $name to delete on destruct."); + $this->toDeletes[] = $name; + } + protected function serveWebshot(){ + $this->debug(3, "Starting serveWebshot"); + $instr = "Please follow the instructions at http://code.google.com/p/timthumb/ to set your server up for taking website screenshots."; + if(! is_file(WEBSHOT_CUTYCAPT)){ + return $this->error("CutyCapt is not installed. $instr"); + } + if(! is_file(WEBSHOT_XVFB)){ + return $this->Error("Xvfb is not installed. $instr"); + } + $cuty = WEBSHOT_CUTYCAPT; + $xv = WEBSHOT_XVFB; + $screenX = WEBSHOT_SCREEN_X; + $screenY = WEBSHOT_SCREEN_Y; + $colDepth = WEBSHOT_COLOR_DEPTH; + $format = WEBSHOT_IMAGE_FORMAT; + $timeout = WEBSHOT_TIMEOUT * 1000; + $ua = WEBSHOT_USER_AGENT; + $jsOn = WEBSHOT_JAVASCRIPT_ON ? 'on' : 'off'; + $javaOn = WEBSHOT_JAVA_ON ? 'on' : 'off'; + $pluginsOn = WEBSHOT_PLUGINS_ON ? 'on' : 'off'; + $proxy = WEBSHOT_PROXY ? ' --http-proxy=' . WEBSHOT_PROXY : ''; + $tempfile = tempnam($this->cacheDirectory, 'timthumb_webshot'); + $url = $this->src; + if(! preg_match('/^https?:\/\/[a-zA-Z0-9\.\-]+/i', $url)){ + return $this->error("Invalid URL supplied."); + } + $url = preg_replace('/[^A-Za-z0-9\-\.\_\~:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=]+/', '', $url); //RFC 3986 + //Very important we don't allow injection of shell commands here. URL is between quotes and we are only allowing through chars allowed by a the RFC + // which AFAIKT can't be used for shell injection. + if(WEBSHOT_XVFB_RUNNING){ + putenv('DISPLAY=:100.0'); + $command = "$cuty $proxy --max-wait=$timeout --user-agent=\"$ua\" --javascript=$jsOn --java=$javaOn --plugins=$pluginsOn --js-can-open-windows=off --url=\"$url\" --out-format=$format --out=$tempfile"; + } else { + $command = "$xv --server-args=\"-screen 0, {$screenX}x{$screenY}x{$colDepth}\" $cuty $proxy --max-wait=$timeout --user-agent=\"$ua\" --javascript=$jsOn --java=$javaOn --plugins=$pluginsOn --js-can-open-windows=off --url=\"$url\" --out-format=$format --out=$tempfile"; + } + $this->debug(3, "Executing command: $command"); + $out = `$command`; + $this->debug(3, "Received output: $out"); + if(! is_file($tempfile)){ + $this->set404(); + return $this->error("The command to create a thumbnail failed."); + } + $this->cropTop = true; + if($this->processImageAndWriteToCache($tempfile)){ + $this->debug(3, "Image processed succesfully. Serving from cache"); + return $this->serveCacheFile(); + } else { + return false; + } + } + protected function serveExternalImage(){ + if(! preg_match('/^https?:\/\/[a-zA-Z0-9\-\.]+/i', $this->src)){ + $this->error("Invalid URL supplied."); + return false; + } + $tempfile = tempnam($this->cacheDirectory, 'timthumb'); + $this->debug(3, "Fetching external image into temporary file $tempfile"); + $this->toDelete($tempfile); + #fetch file here + if(! $this->getURL($this->src, $tempfile)){ + @unlink($this->cachefile); + touch($this->cachefile); + $this->debug(3, "Error fetching URL: " . $this->lastURLError); + $this->error("Error reading the URL you specified from remote host." . $this->lastURLError); + return false; + } + + $mimeType = $this->getMimeType($tempfile); + if(! preg_match("/^image\/(?:jpg|jpeg|gif|png)$/i", $mimeType)){ + $this->debug(3, "Remote file has invalid mime type: $mimeType"); + @unlink($this->cachefile); + touch($this->cachefile); + $this->error("The remote file is not a valid image. Mimetype = '" . $mimeType . "'" . $tempfile); + return false; + } + if($this->processImageAndWriteToCache($tempfile)){ + $this->debug(3, "Image processed succesfully. Serving from cache"); + return $this->serveCacheFile(); + } else { + return false; + } + } + public static function curlWrite($h, $d){ + fwrite(self::$curlFH, $d); + self::$curlDataWritten += strlen($d); + if(self::$curlDataWritten > MAX_FILE_SIZE){ + return 0; + } else { + return strlen($d); + } + } + protected function serveCacheFile(){ + $this->debug(3, "Serving {$this->cachefile}"); + if(! is_file($this->cachefile)){ + $this->error("serveCacheFile called in timthumb but we couldn't find the cached file."); + return false; + } + $fp = fopen($this->cachefile, 'rb'); + if(! $fp){ return $this->error("Could not open cachefile."); } + fseek($fp, strlen($this->filePrependSecurityBlock), SEEK_SET); + $imgType = fread($fp, 3); + fseek($fp, 3, SEEK_CUR); + if(ftell($fp) != strlen($this->filePrependSecurityBlock) + 6){ + @unlink($this->cachefile); + return $this->error("The cached image file seems to be corrupt."); + } + $imageDataSize = filesize($this->cachefile) - (strlen($this->filePrependSecurityBlock) + 6); + $this->sendImageHeaders($imgType, $imageDataSize); + $bytesSent = @fpassthru($fp); + fclose($fp); + if($bytesSent > 0){ + return true; + } + $content = file_get_contents ($this->cachefile); + if ($content != FALSE) { + $content = substr($content, strlen($this->filePrependSecurityBlock) + 6); + echo $content; + $this->debug(3, "Served using file_get_contents and echo"); + return true; + } else { + $this->error("Cache file could not be loaded."); + return false; + } + } + protected function sendImageHeaders($mimeType, $dataSize){ + if(! preg_match('/^image\//i', $mimeType)){ + $mimeType = 'image/' . $mimeType; + } + if(strtolower($mimeType) == 'image/jpg'){ + $mimeType = 'image/jpeg'; + } + $gmdate_expires = gmdate ('D, d M Y H:i:s', strtotime ('now +10 days')) . ' GMT'; + $gmdate_modified = gmdate ('D, d M Y H:i:s') . ' GMT'; + // send content headers then display image + header ('Content-Type: ' . $mimeType); + header ('Accept-Ranges: none'); //Changed this because we don't accept range requests + header ('Last-Modified: ' . $gmdate_modified); + header ('Content-Length: ' . $dataSize); + if(BROWSER_CACHE_DISABLE){ + $this->debug(3, "Browser cache is disabled so setting non-caching headers."); + header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0'); + header("Pragma: no-cache"); + header('Expires: ' . gmdate ('D, d M Y H:i:s', time())); + } else { + $this->debug(3, "Browser caching is enabled"); + header('Cache-Control: max-age=' . BROWSER_CACHE_MAX_AGE . ', must-revalidate'); + header('Expires: ' . $gmdate_expires); + } + return true; + } + protected function securityChecks(){ + } + protected function param($property, $default = ''){ + if (isset ($_GET[$property])) { + return $_GET[$property]; + } else { + return $default; + } + } + protected function openImage($mimeType, $src){ + switch ($mimeType) { + case 'image/jpeg': + $image = imagecreatefromjpeg ($src); + break; + + case 'image/png': + $image = imagecreatefrompng ($src); + imagealphablending( $image, true ); + imagesavealpha( $image, true ); + break; + + case 'image/gif': + $image = imagecreatefromgif ($src); + break; + + default: + $this->error("Unrecognised mimeType"); + } + + return $image; + } + protected function getIP(){ + $rem = @$_SERVER["REMOTE_ADDR"]; + $ff = @$_SERVER["HTTP_X_FORWARDED_FOR"]; + $ci = @$_SERVER["HTTP_CLIENT_IP"]; + if(preg_match('/^(?:192\.168|172\.16|10\.|127\.)/', $rem)){ + if($ff){ return $ff; } + if($ci){ return $ci; } + return $rem; + } else { + if($rem){ return $rem; } + if($ff){ return $ff; } + if($ci){ return $ci; } + return "UNKNOWN"; + } + } + protected function debug($level, $msg){ + if(DEBUG_ON && $level <= DEBUG_LEVEL){ + $execTime = sprintf('%.6f', microtime(true) - $this->startTime); + $tick = sprintf('%.6f', 0); + if($this->lastBenchTime > 0){ + $tick = sprintf('%.6f', microtime(true) - $this->lastBenchTime); + } + $this->lastBenchTime = microtime(true); + error_log("TimThumb Debug line " . __LINE__ . " [$execTime : $tick]: $msg"); + } + } + protected function sanityFail($msg){ + return $this->error("There is a problem in the timthumb code. Message: Please report this error at timthumb's bug tracking page: $msg"); + } + protected function getMimeType($file){ + $info = getimagesize($file); + if(is_array($info) && $info['mime']){ + return $info['mime']; + } + return ''; + } + protected function setMemoryLimit(){ + $inimem = ini_get('memory_limit'); + $inibytes = timthumb::returnBytes($inimem); + $ourbytes = timthumb::returnBytes(MEMORY_LIMIT); + if($inibytes < $ourbytes){ + ini_set ('memory_limit', MEMORY_LIMIT); + $this->debug(3, "Increased memory from $inimem to " . MEMORY_LIMIT); + } else { + $this->debug(3, "Not adjusting memory size because the current setting is " . $inimem . " and our size of " . MEMORY_LIMIT . " is smaller."); + } + } + protected static function returnBytes($size_str){ + switch (substr ($size_str, -1)) + { + case 'M': case 'm': return (int)$size_str * 1048576; + case 'K': case 'k': return (int)$size_str * 1024; + case 'G': case 'g': return (int)$size_str * 1073741824; + default: return $size_str; + } + } + + protected function getURL($url, $tempfile){ + $this->lastURLError = false; + $url = preg_replace('/ /', '%20', $url); + if(function_exists('curl_init')){ + $this->debug(3, "Curl is installed so using it to fetch URL."); + self::$curlFH = fopen($tempfile, 'w'); + if(! self::$curlFH){ + $this->error("Could not open $tempfile for writing."); + return false; + } + self::$curlDataWritten = 0; + $this->debug(3, "Fetching url with curl: $url"); + $curl = curl_init($url); + curl_setopt ($curl, CURLOPT_TIMEOUT, CURL_TIMEOUT); + curl_setopt ($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30"); + curl_setopt ($curl, CURLOPT_RETURNTRANSFER, TRUE); + curl_setopt ($curl, CURLOPT_HEADER, 0); + curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt ($curl, CURLOPT_WRITEFUNCTION, 'timthumb::curlWrite'); + @curl_setopt ($curl, CURLOPT_FOLLOWLOCATION, true); + @curl_setopt ($curl, CURLOPT_MAXREDIRS, 10); + + $curlResult = curl_exec($curl); + fclose(self::$curlFH); + $httpStatus = curl_getinfo($curl, CURLINFO_HTTP_CODE); + if($httpStatus == 404){ + $this->set404(); + } + if($httpStatus == 302){ + $this->error("External Image is Redirecting. Try alternate image url"); + return false; + } + if($curlResult){ + curl_close($curl); + return true; + } else { + $this->lastURLError = curl_error($curl); + curl_close($curl); + return false; + } + } else { + $img = @file_get_contents ($url); + if($img === false){ + $err = error_get_last(); + if(is_array($err) && $err['message']){ + $this->lastURLError = $err['message']; + } else { + $this->lastURLError = $err; + } + if(preg_match('/404/', $this->lastURLError)){ + $this->set404(); + } + + return false; + } + if(! file_put_contents($tempfile, $img)){ + $this->error("Could not write to $tempfile."); + return false; + } + return true; + } + + } + protected function serveImg($file){ + $s = getimagesize($file); + if(! ($s && $s['mime'])){ + return false; + } + header ('Content-Type: ' . $s['mime']); + header ('Content-Length: ' . filesize($file) ); + header ('Cache-Control: no-store, no-cache, must-revalidate, max-age=0'); + header ("Pragma: no-cache"); + $bytes = @readfile($file); + if($bytes > 0){ + return true; + } + $content = @file_get_contents ($file); + if ($content != FALSE){ + echo $content; + return true; + } + return false; + + } + protected function set404(){ + $this->is404 = true; + } + protected function is404(){ + return $this->is404; + } +} \ No newline at end of file diff --git a/wootique/header.php b/wootique/header.php new file mode 100644 index 0000000..6ac6f48 --- /dev/null +++ b/wootique/header.php @@ -0,0 +1,109 @@ + + + + + + + class="no-js"> + + +<?php woo_title(); ?> + + + + + + + + + + + + + + + + + + +> + + +
                    + + + +
                    +
                    + 6, 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'top-nav', 'menu_class' => 'nav fl', 'theme_location' => 'top-menu' ) ); ?> +
                    +
                    + + + +
                    + + + + + + + +
                    + + +
                    + + diff --git a/wootique/images/ajax-loader.gif b/wootique/images/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..23c855e75a2542f97b88d17159d3fc860a352c11 GIT binary patch literal 847 zcmZ?wbhEHb6krfw_`<;O|NnoNDffQ<{+qk{>5|j$Jf_`?U;OC7+aLRHeGZxXVAjz$ zefwU$`uuD2<&RgMeXH2?ylMLj22z0HKPl&;)Wnk16ovB4k_?5!ti+0({KOQ!%)GRG z2F0H&3|v6t6#sMkxrPKgI|jHK=@~FH0)=!ywtyVTz#5>S(3g@qZ>fPuj-pme!m711 zM2=0AGHv+4cC(`)x|hX4y*sU&^aXbI0$n29BBBE9O&N6W)@!3wc;ix&1fW(%BG zc4XkT2{1Qcx8Y=IFyM=1v(Vz@Y*$u>Uf%AY4_+!FE7;yMx_!l}EY-SE9} zBbSx)X+!TV9xY7|**x@SsNCFG$-p77@8TKO8(G|Xjo~g1claV178!VOinZz(^f_JO z>dO}JdiItl)ZVn5nWaW0n>R+2pQjsUDKoOAL6Bf=P?*AGD00+cMYFRU+Zyp>+1*WZ z7!{qKB-k@FZfDvzLD{v*qRJ^Sq9J*A?xHeoA*F>1FAptFXiRA14Ru>4S#(E|Z)w46 z&ChB78(`M3AX@|S8!+}(IPka{3LH8qksB*F!Hs`GQjwtZ31k`Idh=_!gaPE9?uY~{bdWN;r z9i}|XT=LO_P4K4xLrwmZr`s<}IIq~s_Np~&t&^r|%+a|GMdx;0UNog?cIBT9T{|O; zp9mcC+*_XVzBc7~OiK3KM@h+Nj(V*;5%u~+N5zMl7YRyM|Cx9go+`R9Zr;p%ALs@K MPgg&ebxsLQ04>#0TmS$7 literal 0 HcmV?d00001 diff --git a/wootique/images/arrow-superfish-right.png b/wootique/images/arrow-superfish-right.png new file mode 100644 index 0000000000000000000000000000000000000000..4e9c3379ce3fb6e0797c5f92ae17cb13dce6bdda GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1p!3HD`EN_1Yq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c6?uEQIEGZ*N=ivcxWNAC_QHh=?@KIb;OuzXa3k;QtE)x^ zj&2IyQXLx79cnsT8AUx94UKmxbe*zysA0{xnJmDr@_E)Q!3HEdXMMW?q*#ibJVQ8upoSx*1IXtr@Q5sC zVBi)4Va7{$>;3=*WlCHlN`mv#O3D+9QW+dm@{>{(+%k(&%kzt}ixr%Mjb~hQV+N}8 z_H=O!;h33v%8<_?K*Z(Z;qZ%EItSbCJ=1J)TNJdS#pN@1;;fmoty!x|{zZD9*bP0l+XkK9tJ}c literal 0 HcmV?d00001 diff --git a/wootique/images/btn-feat-left.png b/wootique/images/btn-feat-left.png new file mode 100644 index 0000000000000000000000000000000000000000..918c1b8c221dac315e1161b69eb59495b77372f3 GIT binary patch literal 2717 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 X>{rEuBquq8zhVeAkWM-8zcu&Yk}%RQ literal 0 HcmV?d00001 diff --git a/wootique/images/featured-products.png b/wootique/images/featured-products.png new file mode 100644 index 0000000000000000000000000000000000000000..1190f145251ae4ac176ebd1b442d55bde6d59564 GIT binary patch literal 5798 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 literal 0 HcmV?d00001 diff --git a/wootique/images/html.png b/wootique/images/html.png new file mode 100644 index 0000000000000000000000000000000000000000..0214a64ffef89842d074bf283a5ac3128a5d1313 GIT binary patch literal 46032 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 N44$rjF6*2UngE@+ioO5< literal 0 HcmV?d00001 diff --git a/wootique/images/ico-cart.png b/wootique/images/ico-cart.png new file mode 100644 index 0000000000000000000000000000000000000000..0638ff15e1e304ab6c1ec6d70d9c7b84e8d51bd2 GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CN!3HF~3v%Lt6icy_X9x!n)NrJ90QsB+9+AaB zH9{cFcP+kTkADo|7Ql40p z%HWuipOmWLmRXcqo?nz*tl%7MJmZ=hGf>@OPZ!4!jft%nZM~cs1&(~Ye?)vX%a*O- zv*$Qm^s;HbQ7MrBjCBp`N!AdiN8&D?f}6$m9WZu_iAYO-uwO^#&0`_<(5L(JK6IM* zOuF-9-H+JrRlht!J&SsT&s=A?`ioU=mf4(bRjnuG4+xe`Kj6K(JhXKGGa1isyACL) zS$G@8vL~=htyuM4#duFr&p)XLV&{F;D-MaVX*(=z_YCdbeZbW1M&4hy)t}4c)K2y< xe;^?KqI^^E9R1q-r{{cmtZ#3vo1pT6bxTKrSnst$L7;aSJYD@<);T3K0RYj&ggF2J literal 0 HcmV?d00001 diff --git a/wootique/images/ico-checkout-light.png b/wootique/images/ico-checkout-light.png new file mode 100644 index 0000000000000000000000000000000000000000..8de58f449158b37a31e1c6c40e0ef3ad388d411f GIT binary patch literal 427 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?HN@zUM8KR`i|64!_l=c3falFa-(g^d?b<{c6t z3ntI-_V&Ga;nFRMrrnE8cI^1UB{fHC(ZZ`&U1e73avUd_T0{OpKaU4Jm;xedKOK4Vso-;(!}h*xerX^9?H&ptl3u>5SqWd)>-{ui}Rl2 zHuoOvG2g4SVwH2v0iJWWwpjkz%bR(CvF`&ze?eE_q@{@xMY1nd-#s+`_F=8$nb51J ze64em82vv;cvp1nzOkceO3H3stJ^!&d-odTy$=t~4V|RF_M!Se^TmQq-S75yc&h&F zja^e(VL$74(e&E~U(H=6m%Lxw&;RG%(|-@Im{fCw`_Id+%gH{w?$p-oWeIGJH2P>G R69o)722WQ%mvv4FO#r40ujT*% literal 0 HcmV?d00001 diff --git a/wootique/images/ico-checkout.png b/wootique/images/ico-checkout.png new file mode 100644 index 0000000000000000000000000000000000000000..991672ea328ef0448704c6714a2d95fdd4ebd2ee GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kmSQK*5Dp-y;YjHK@;M7UB8wRq zxP?HN@zUM8KR`i|64!_l=c3falFa-(g^v<}Mtx^Y;nz?2nV;0ReTdY( gecQ|Q^`nR4tAnl1*0vux1@tb1r>mdKI;Vst0J}e%k^lez literal 0 HcmV?d00001 diff --git a/wootique/images/ico-cross-small.png b/wootique/images/ico-cross-small.png new file mode 100644 index 0000000000000000000000000000000000000000..53c3a71b25917651d5294126cbaa30f33d18d971 GIT binary patch literal 296 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 qx%1=YrH{R+#zJ5oK>c@}-vgT zf+mILqnq9A%=mUREB0c=2fv+pGjD$Td-L8XLJ0hi>A9JdKb|98B_wuuu1dH>SXACl zPxyx_;}_;Mb9gsR|E5TRybw>nRd_PpvG`Qnfx?J-d z@U13<#}J>Mhn`5HTgk&IzJRl`1mU*-px|2#`Y<_Hf3FIO+VT_BU*8Ag9FfDP(LZ&a z2oDDP0e)FPAebNp9IRGC>%$TX57Jo6+@J^reUoWugX3~vg7IwxL?~P)F?@U$V`uIm zIdd7xw;~D;=fK)^M30`Q^us}1@2(_)-wWLCQf^(8pWQ*_`EBR}qu6_D0Wk_(%iM(; zGGL~rWDK{x;I0D&tm%R^9I*E?zEvr5@7jd z*ySP+-v{q=0i9}D#_(1*NWt&K1DX-~GB_F|d3Dq&zYbMoAgsaERD35t8d4FWYHV~o z?1>uCV!KdV-Joi)xZg-EDj>p#Cg^2^5H%x!7J{Pu6c_K6S#S(77lPCYhsM$?zZAA& zS(ceSHa2f*%GrN;g>6sVoXoCXQ6iCuL4H_O)v*6M>2myEs|uNH{GI?ZTJk%{hsPLm d$hUt8FaUvjD0ps~h))0j002ovPDHLkV1fqmHKhOm literal 0 HcmV?d00001 diff --git a/wootique/images/ico-search.png b/wootique/images/ico-search.png new file mode 100644 index 0000000000000000000000000000000000000000..1f8ac0f19492731e879b541157da00c23d1cec7e GIT binary patch literal 1789 zcmaJ?c~BEq91fSHVt^`E3kpj>r7FpW5CUs3O_c29hQkBQJLW~MW#j(prrGc0z3mm3TP1m1`OI1R1X;f>0`POxi=p(>A)C-&;-&y z1SOY703r-W01gB6R)BsW;KyRH*uGpYcQN1tvOp&2!({n*v$zo32LeIh<3lIC;mSlP zQXKNp7ik63RRp1fn9TI_bVfRxf#FF^RzN_2S;NQ2n?!i)Gf)CHc%yocaRo7=SKw+L zp~g_atOzGysYD>1jPyeaTHS;!s{dFfvS3UDtYfkmpgE;+pj7(*P_1?XttTRpPx1bz zuwIs-Lzt0>9!td)WaAP&%&v5h2uEN7!(|wjGG4_96-Hos6{Z73Q5--DE7Yjj9>Yte zkOb8eFseW#;y^m7z)-7|kkFSC91tQB`g6p7ES5MV0AvS?1VXWpBV-FXT-G>Oj44vJ z2uh4|m7lnxNx9}x(CSFfVgy&GA<7UO(*k2DL+Z(637AyxBUd?jEP_e7Ofndzxv~Fh z^!O1uJ?8Di*pkM?;3FtG?KnBs*YQ;iwCUFM~%58WW|?VbFHqF0MZ#VQhZ7V zE<9Fo$MeY&SYQBok4J5&$KU8G)nz5|n{RKdciTAB|Mp;eRh5Icr@K?!)I6a>?bg=g zoiC!wJ#X<^$b#)FET&huWWD{9MYCEFk7+D9b9ZFaU&$CyNITaqSh07|-TC|9`VG8! z#ci=h{}^YxLQ`9E)qMT?Z=4P!ZOPqG(UmL=?Rm4PbNs&E#@jL7 zw_g&1Heaf>{nOsMZ;#L<(7K)JgM$5|t5-T5iu+M;GR|hG_0cagV(Rl7LQV4|mh*3T z_yx@$m}4!-iK(R>tn7Ir2TQU_Z@FGbA2m4!uZ%6QU8HIN=fpfrtL1EkDYoAkI0DOldTsNcBT=+%7oMd>W&&z8$Pr$py%AUo^xa?4dio2sTSdk)2D9PJJ9$VuVs)UHK*CQY1zeTP0H!( zP^5+4bn~GI<2h~7MRyXbEiB!h|9YhPP2|C#glyXy{35mbz+abZ*geL%F6I7ZaqF|W z#m#OtX)m76y(DjZ^c8zqCY$z*aNc(M)cQQx!eCS8yPAUTZX@?(zJ1=IyuBq)t&(e2 z?ecu7cqDiChlZ*)A8r0(=bhe)*ha0k6y=`takVc{O+RrTt!=GaTi;R~n$hRZ6<>_( zj}4+;U3e>T)1wPXDvgarxZq$(UdSPfx{;+_OTaT*EJt$fOnWniPugz$f&Z=PYHqt! zGQH@|$Z5gs=(h5(YSminJ=2zVpfz@0i#o0_OdVMUjV#*cbZ2+ntESyp`Oa;smeBeG zORQ$bni{8^Sqy8I2l0oQd(?{-JGSJ6j=X-}?$Xvjc%q99E0xxDm(#S&u41eB&e##o zNZDPRtE}kuoB_k@+}zy0qT=1mrNe9X5BIEjmTfVGGW+QHr#}_VY%>3lB*Ee0Q^NR7 F{{Y(L$I1Wz literal 0 HcmV?d00001 diff --git a/wootique/images/ico-slider-next.png b/wootique/images/ico-slider-next.png new file mode 100644 index 0000000000000000000000000000000000000000..9d5e28293a1fdb607f62bb93092cff55f94f096c GIT binary patch literal 1219 zcmV;!1U&nRP)Kjs{jB16?8>dbVG7wVRUJ4ZXi@?ZDjy9FEKbT zF){3S7x(}G0338hSaefwW^{L9a%BKPWN%_+AVz6&Wp{6KYjYq&Q#En5<2C>Q1RP03 zK~zYIwUtY38&wpB|FOq2W6yZ(_?g&=LtYJ10w}G*vlM6w5<)CcTu6Z~*dZaLs;CrI zT|tl#-Jl{QU{jS!5Qr-_Ew5}4kG6<}NYJ2?*m3i8^D-WfXY3izgGI0#6WghfdZb^v z(mD5h=bn474q=)mZl{p|KoCS#=l!pLeq36+aiSmyPE9G?3?c}SG;K1xOJx0x!&lyY z?$p+OTZ<-4)7%Dl;EmW|W-c+Jh*^^JcoFL8L`zpU*ak23ViDQ(6)Y!bk(!M|5(LEuk5aj@7u@C5i^GvuNHxoASwH#bsN0<4XIgR&sKcpbn0 z_&xGD5uUcL*st#$K3Egbf8>+Vjrd>D#`X^M?A;F;3?$V+y=!tY7P#$JjE`MFDiMdT zvpcpvbL}7i%wBjKmYe;KJ(Etxqv2iMxM$!gtSdH%c^!ss!Zd0tBkNeo6w&kW<7jGY zM>-jg27CGjOL@xxVIlE_opYkQe=k-94Moj_VceROqJedp!0!D|f?^m5i^-7+z`aL5 zJ6;g8WbcFfAQ?22qEWZ%YEp{^He?fbJ+u#sm?Z;u-hHeLkkhLtSl$J9uo+odgJ~H5 zOMfpVN<#@8RFiikvnfU#k-O;z6c({FxV-$%oovH?Aje^{1~8;0<_q3Isva{2K%TcwH1iUMr?9 zeT%ildGO)(SUT~?`BL6(1E=rhGo#s5GD_Mg^xXFdT!9Frybd8(gp}WWVGhO$7e|7% z6Zkuo#PsAZPz!nRq4wD1hcDG0I3?Tj>ZgO!+QNvM%aSz9!53;lQ)>rU-UnSTB9~di z>e4(mmgiBBWzZb2vHq5!iT9u1d1P+2zE{p2Q?u(QRVnM#RFx=?Hi7_2Q6|OmBE|cL hCqFn`f9T&%`v)2tKS^X7&f5S0002ovPDHLkV1oKbB*g## literal 0 HcmV?d00001 diff --git a/wootique/images/ico-slider-prev.png b/wootique/images/ico-slider-prev.png new file mode 100644 index 0000000000000000000000000000000000000000..daafda087d40886151554c89ffd7dee0c067cd72 GIT binary patch literal 1217 zcmV;y1U~zTP)Kjs{jB16?8>dbVG7wVRUJ4ZXi@?ZDjy9FEKbT zF){3S7x(}G0338hSaefwW^{L9a%BKPWN%_+AVz6&Wp{6KYjYq&Q#En5<2C>Q1R6<1 zK~zYIwUuvZ8+91RzrW;icj;a3+O%m*+NLzkwo2DY(QW?0ZuqBypu(1|L+K0O2_g(( zo9JGsTS3-0{z35Fz~NkJm~UiCbs$*X)NMughia2%Yqus%+bp?U{$1|w=L^@YX%jnz zJ@CA^d!FY$56_=_2&EMFQy2gsgj6*?dT``Wb|L63Std*dSC9pFV+`bjX zA3y$pysE<4u_5%^hl6`+0=Dk|d~_-NXVB9bK+luUKs9a16wR9TB?J&z3+j2`()VW& zn~tCroSG7rCjerqq~yPaIj_LCiLul9*MjKO5Ol9X-zc^3MFqKrkLp2 z@fvRS9EAPg=yZK7E2};bHGD8`@!-&(l?_c z6@YDTetEEvQJBq-_aR-fLDS8D&AgfxG!u$u#g-@fP|PSybJvywWk5cect?1? zS$~Wpw1y7yEK2e3@9imhsVDGSypfvy>s7SIrruj?? zEJM~z$C=+3@Y2v2-aGj#V##a;pqg?FL3$xx31B#m&Q482;4Etz$J99?wrs|C5sDX& zj^W)e{sGk*0+F*~el`k*?}cIb_Se7 zQp*6o-gP9GQIJX8fWvNuY0#R=*qso(-BoR}-HO|D5frm3c-eKN47l*|E5p1f>5~_J zhRm11+bsWilUXZ)Y&US_{5V)q(w8Dvhbx*~=WZV;go@Re5SxADrITj*lv_Xpph7=-$2q^==>1st!dhAzw5>2q4(4kOUj-9FU4f z@z=yJ&iILq?z8z*;X7iLdss={!Bh$e3vJU%}J$pypIp{5c@+`56K zxmgr)IdGz+*SXpTE`9Ry`X_Ux^uB)LfTk=S*0PF2*EE9VKtjNTE*bQu3RJ78y|)9vlq`~CK}bGzfrj77#H790x~ur$~a1i_s(8MaJG z--nOCP&G_J&Cu*!4IAkDw)5I$$8p)ggCMZg)zyjcYscf4(Nb@rCDshl><58UX4y9Ty}+vR&TO^ zyl@)>53iM0D73pmClb0h%Co{_!mi|VAa8DD;oTeMqT^{^39V4L?&J>Xvv0-Yw%lRQs!HWJ$KUszr$#AbCZpY4R&{T@!lgM zc<Gl3?#$z2& zRYW9(M^VJy-X67Djb^j?@by5luHJisAYgxgpL)GMzk(!jpi-$&tyUjw)*}UkVMw)F zrBo^{rY1Z*Jmlo$WN}65JS_h|%W~%&&N(+PsEgy40}fc8)y z_BulpfGfb9nI-nG0I!^L-=`UAdwY8-^48YYTc8YFnpr9!abX2`k+tX^!+;KO3|z*C otC1Cuh;R=8&x%McQUQyMzrxybLM$rlY5)KL07*qoM6N<$f_MZrk^lez literal 0 HcmV?d00001 diff --git a/wootique/images/ico-social-facebook.png b/wootique/images/ico-social-facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..8ff369194e81d620ecf74811674d6048c330ea43 GIT binary patch literal 692 zcmV;l0!#ggP)(#{sDoEg%+}Q zC3!dQ@A=(XFf$fuSFm7PIDw_% z2iv*5Fel6a5rG+CW{`4}Pim}v4#q@u@y_sx)Vq)SZ$%`5?c5$efA&-XLV+q^!zUgf zq{f;M1_ZcqbINU)4{HYRDc;Mo?B}5#!B@HbRbC#8K@&Asc~>8B1oy{5qzn} zcWzw;5l^lG*3!=zoLGG?B}Ee$mUf=tQmStm99@K};Qk&wyPmoawoKH_dh+B3n3tc z5SIlilnvB?0I&=I-+mTw_$41d=bJ~w!e`t_cogF95LB-p4QrXc8g;@PWS_!G(~( aBJB_FP@o7A$Leta0000q0knN=dfSq_IY9%oMA zT(4pE?!C^M2nf=BFVRF2^S-M{mrVpXvVDEMq>^|lnFFhL@5$xjr3g z=WU-I-yQp()hge7bzKcq0Kg9d;=mKmgoNW`B2Gpczms@2mC4YX^L;rGIXQW7B(nEb zT{i(q5;*(aODHtSuTO8`!C4+@si2)*I+E(N0S^Bv+Q4c4`U71TF$3Z7-NPs zBB4vF)y)a+)EumUHWp)H--Wg92^trL(kCGZ0W5vZ|(?z$I@h1-u?e7Ri3`>h6{8QAY9SGGqakm&JSFAZ8B0UGHd zve5{rH3EWG$oIGYA_#-wJKlrmBW^|s1+>u^Z6olbh-(d>jk-^5F9Li&t7u_x&_fAW z%xDCX**}xD>>q|`E7T8KtnauyeeMyOP8~1Iq;MAtoLjC9C7>4zqbtx}g82)I-=DR3 zxb=qh9hX>k5Ks>wKV^B3V5D}@B7?XNHOWW%SzQ{ZPSZnpG#A^oMGv+TvXZ$ROJioTn@YP z40*5{9W)j{#3^0GSsL5}`Uq%a@O__Vvl%&2P`;X@d^I=xT&2J%7jeqP|8^#HUAM1S zpX#AB48#BFv0N#IQc9f`sES6H0t(2UV&K^$%(w~^5Vxy$^7(NSC;&}Bl!&zDp9U6w z`uUfYaU$RN?%NWu1{{h=OrWj8H1Kg!q7xhfyaE0O4x=qcND^q1P-6g3l8FC2VghG5 Z{sCmb?rlU$TzUWi002ovPDHLkV1ilhr&|C3 literal 0 HcmV?d00001 diff --git a/wootique/images/ico-social-googleplus.png b/wootique/images/ico-social-googleplus.png new file mode 100644 index 0000000000000000000000000000000000000000..3cbada36ac6a2352104e0c8304a00628a7eafbda GIT binary patch literal 2195 zcmbVOc~BEs8gCB4P;$(uh-gV0lwFi0-2oDkO*nE%)Br*h5m^XH0}*o2X(WVML>O35 zR2XF$4sV%pM!8fL?|r}DcUN_$ zpU*mTGg~tN0L+EnJb!!z_3wNW{HxLFUg679jK38NP(@(z5)=WvWU6ok6e=W1y}04xu!S|W``Ffbg6lq=c9k(w(+P%dK= z16@UsNXrI^7ARLNG*us1%q=g6T|WDieahPY)5d zhRPzC{yf1aTe!p~Mq!wmNuk8Y$CKlo$tpCG0y7v4JqMLa!Zk>m1SKZXl9U?zIR+l0 zk)m=nCRZszJ)UrOp1VIbq*uhfVfvzSyeN_wo=O_0K$Mt}$0p)8WSLyX z6wv7c7^b^GbSgx1gJCxwhvUYfQ=PdqF61I`o#XftmPZ!|_--y-4vk8KVLs%=pz%3g z&afBk>_vyYXmePhQiDm9Qe@7q9Jl)k%lShrlZzq}OofV7s+hSB@QYGmDovD14RQlq zL6Jl%SL$Vbc|JzVLs0onL?%F03h+aInes2#|KD+c#LE7koKbLRDEj93uV$G$!aGpE z{oMMv@OgL;B|b4IJ{m~Y@4*0Id`-yn5^I0E5a{bG<6D&_jSqN0kX45F(_Ycksuj(G z6E|!u9g0{5&rDl=kNsi;ju9q@dt_{Nr^wonkT`aZZZ0`sa^5?8X?p%t#B^M6du>v1 z*^hRmg0%t9liGI;2DWc*XB%cGy}lSQ9o9cF75Vt}449)L6c?;Iy1#n#ZcS+YwaVKS zkBssTdG|KZFT0d%V9zV>xmVuRYIP|n<_-(88*U4b*g3^aC^{N=&> z?d{xF<~>gDFXG)B!KKkMh(!SC`&LI;0-nXySqgrtk3q6e#0IGPQR%uFyUSIt9M@0I z_q>$Q^M1=}YEh?@#rc&GmU{M2Sk&%wHaUxdWV5jh1FcYEU;D}Z(9rDqF=G)U+2q^_ z_&ZZClVo7?L7KYb&q&BAc%chcY+^RFO6XrfJA3H6+er^Ysk^7PmF%EZnZ+EnSwlM1 zB5IT`w96D5v}O52X)(E|02s}>Rez#szeUbAaEs$nX>cE5Tl{|CpA_fAYU2tEM(b~$ zzhzWTou1q$A24w5Ftyljss44jeCP5QpR$gd*9q8}_9mxSK_lZEP3rk7c6goC==L48 z+qWepq?3nEcfYtgIY|?rX(#kIEi}5M>(xlwx*{BDw*ML&T;oJ07mSRLYcihLtjXQe zF-=Tb4P4I1^XDw$r)PRI=9LW%@0wR1cj<6*Kz2=g=}MsV!M+~@4eQURB>P?2at0Y* z%}A&Zp}V@yYl(2~F4~{T5{r$@r1kuy*jR(Y!ou>3ikxLbQ!`7m-@Hla?C!p~@9xyC zTNX}EPK!)VRauOp(Mv)?Lkr#cHNkc{^6i0?)+3Bc8S;~u`e;JO z&f8OKF$x!Kh`z2pJmY`IcD8Dr=fS3aYSED+SKHdYT40je{J65xb>TAJDi3#e+WJh} zed$5mSZV6rmaGL%J?TS3LlmpH#xpC*lJfHMei#dizENjtYFb`f8zYO1jBI_5h3Rz6 z0MCY2WmR1}gk&DeL*cN+o%ZFkU0p%ftij#K@Bg*pUT9Fz?)?1x?K>CcMvQ!A)qP>S zXXpJo{*tW3(2I@@2BUS{%Lb;82cm~7)BbV0r6qrn{fV$AX^j&pWu1$ESowY+ieY0` z+S3#AO>0_^+#%nxK15|aY|y7mX)v~P-s|_WukUz8Q3f@Qb=3<^djQfL+>&85b8Qvr z0AW~=xL8y5aDq9uJnbCdvTba6$;F1;nq_Z}gbf=Fltw>z@ucFgU*6lb6wUlS=k2fdT;jbuIGvLF6rGMg$9m&2vtSIP-X`8T}@fSmvU literal 0 HcmV?d00001 diff --git a/wootique/images/ico-social-linkedin.png b/wootique/images/ico-social-linkedin.png new file mode 100644 index 0000000000000000000000000000000000000000..ecf0a1c6edd3bf7e929891b7ce4b4e1b96f72564 GIT binary patch literal 965 zcmV;$13LVPP)4HX-riK@M=kMCn2P0Ar%YJBbHw zhTaU`Flr<Aki!spSTeEL={97MNw6+ub_B+Zw^Gn8~Zxp{}Hm8FWxgP0gO*v(32-$ zMKxkbLHx0(zfq*`#M5&Uj2k+k%$GY=j-L2ff0>*xEg4W%Zs&^)13q#WZcf;@B8V#1 zdGl5j>m=+4I-Xn^JCH#{*N=hdNgt5-ZY(VE={G;~&RCY?*kuRXh;baxVf=bs+r(y3P%8QSHYYNG(6F0g)jbv90!vlbfxl^Y)9$Wwz% z-W?|#JjFE5Ak6Qf60D?toI n0R$k-HW-hB2tGmp?QH)67<7}c>rvro00000NkvXXu0mjfb`Z?} literal 0 HcmV?d00001 diff --git a/wootique/images/ico-social-rss.png b/wootique/images/ico-social-rss.png new file mode 100644 index 0000000000000000000000000000000000000000..ccd92f3d37037cefd88aa6349723e6c5e9e05c0a GIT binary patch literal 1233 zcmV;?1TOoDP) zT~HHO9L3Q-J3jW&=}R9v?Tgx?j&(XtJFVJw9EAjomCQBeBjMSIz%$X$j?%wm; z`#<;Iqyb2KluG*_U}ghT`aTquya(p&E-=OK5bXq0lnHm?j<8O@1$V)Aq71ly*ar8h zt#F@w9j@)6Y19eD|^{1@Rmyb;d47myHung+(&A^!6_Q5%sC;%FS&zw{-(bB}iV59uFdZjS zGUu-ECbL%rXHI$o01`M_b9vf>q8~Faft`kXtOr(oIqqw7!L;WlWzIEyOiFhK)8DL4 z06@}C11Hx!6c8}i6$%ExSo<)lD}Y^_HLp3>@R3xy>8zEB0Cq}gmjf5D^&mJsh@fYj z!1!kc5q%y^bk|@^^99(}{d1bLwL9SN$c1Ci6A1vwI;Tr5F71W_2}&^6OF*Fj9|tl` zGBT>!54JgCPED`A3GXkP;jP*LPx-SF+|=&J=LVn~3|;5*Ej5~vfWs6A;kwrab7dwx zmp8*xxn44jRgwUWin-qm@;Bekq-ZeE;>;G5td6I zrU*ceRC=n(X{YsN>)(a<=Z(?;Y~9-s?M4;Elu3utqV#aTW*342tMu7>Ysn0y0zl4l zdZbcwuK6>t)mvdW{4{jgPf4G25bxzp5GH$65Ejh=#e^GfQrdaOhVjZ*lLw%GCg^!i z(@o!+nz}{|;WbV^WeBz=Lj}NCjZu>udsKZ^&E6CM$UhfabNK=Hs6oBa5D2-CH595= zhTKl`Ab9Lbm#y>1Q&xQM|-yvCa<=xt7cZ@GvC< zP%mm23qTu|{f7X{sAnv|Qlb?yz+x%_u!4HdoPp&;8|V#-De4jNS`wFmNXIioYl+r9 vWUY;iy?nL|#6r+=Jhn($Dx0eS9;N;TwDPKvxL}s*00000NkvXXu0mjf)7w6p literal 0 HcmV?d00001 diff --git a/wootique/images/ico-social-twitter.png b/wootique/images/ico-social-twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..dac33d34b6b48ba283c83769e542bbf89c7f9de4 GIT binary patch literal 638 zcmV-^0)hRBP)JPD#w zUrH@f6Z6_+_VF;8K1!#NMv!pQafi53u&W{)F;+^S8bW`XFmNqGUzPTmu!Td4Km_+*j*N&4T8vB0DC z=>_KgC#d$|pLOJ|2-Yq@(@qP*G0`4^r&r-i8;-h;{8Xh_S2-QIb2|(C?&GNzg8Z|9 zvmg=|2k|_QWAi0^Z@{l+`og7BfB;>H(()Fdx&nn2C}ie>Sf0mGzLL>#tdChM&=L6B z9wVS%8J`@?Sb#o854-TK4L>`uQ-R0VlOlA9j^oyc5Et~xKewP#cjN$jowM)k{mlRY zt)4S^rQs@=#~*Q4$h;2hH{tLkIq4{Z7k}aItJ4b!ssq*T_({1O)PZB;0&nNz^o4`! zz$D~y?pj)c)zulhz!-xu#?0$e+&GNHfC2Jz{2j>mIR`E#;W Ye;JDOvG{?z(*OVf07*qoM6N<$f?bC#@Bjb+ literal 0 HcmV?d00001 diff --git a/wootique/images/ico-social-youtube.png b/wootique/images/ico-social-youtube.png new file mode 100644 index 0000000000000000000000000000000000000000..8cd302cd9b7ea4638db1f4168ab35510cf4d9ae0 GIT binary patch literal 1297 zcmV+s1@8KZP)M$k6Vubv1bDsP2zWdmhTH9?si`TNoSY<=%N54N!~~6xkJISrD8uP=GKPnT8H0m^ zG%zqgQ3Zhb?CgwAPfr;b%fF-HTmkN+KA08gEdPD)^uC6W` z8ylm8g9F;%-w$JNZ;!FFv%}cl-VS4HYm0$By}iBq1jwop?*9IM+TGoy=H_OapP$!7 zE{HcbHyLoCySw{h0q_z6WO8g;TwJ8q)>c|tTB7>;dL~_8U*}w-9v}>unVF%rwKZPv z^Z6nKU_H+2?Cgv#0Qr>35jONqO-j1Lc%GY^%c*K>Yonr~ zA|~J1*kC{a&eAOaqypH83a+cG;~Rn$fEZpQHMO<1EGj1_ha=L`(n5uWh3q-V5fuRE zbaZrFECAOG0<`1^Il>FCanRh{92FNAvj7xTRaF%W$jZv%Yl>*)<>iIR;r+_W3fBpu zcBuf6%7B1{g$1gttYp$aAV3a>gTsznQBhIB0x~l*`8`0LK+N*;GS|cG>@4p=N)W9J z1t5GP0x~%u!VWL|em~{s=QC-0dpnhumU6i5b~_8o&d#Q^v@|A_p<96VjstSokq#8x z>gp;rHa3R6O-@dxva&KJPfbmIc>&0uR)DzUa@gT{Nl6J=tyU%~C@5gN(P&gojG>g2 zln4Qcm@WZ$(;?uzM+Tk?a(IrKfVa3-f&gQ@l3HRhhJfno>gWRSmJ4#^HCS9pK}RXg zOjhtVEm)H24?_~U;;->oK-d8}1voEi1W>_fxfFOh^i) zK(Vnf+kNh*9zWsUefLY=ulpL}yN}{S#R4Pd1P0o4#*gH-ej6fCiG)r37Ix8miqMgG zi~bbgBZ5WZ+Vq>v4E8SL5xG>NQCo;e*v75*xEFS}{SkS7bx_|2A5*`{tUm%UB2QvN zm(fIBCX;&TLvq``38mmS2lud}4cQ-X@3GyZ6XgRm`uLa7p3lGF{Vyc|i^K!cW;8HD zHSmyzZhlCo8=JH}y%sLCpW%HyNaPL*yE51i%GCSpX&satcHt)*E6Kysjdap2fwgbD??u9WfUhvF^N= z5M1Dt1zc5d9pMrGEd{s#W!zHFHl0@kvIwN(wf_iL1$l&kSBbv>20YvAp2yV}00000NkvXX Hu0mjfk|uP= literal 0 HcmV?d00001 diff --git a/wootique/images/ico-tag.gif b/wootique/images/ico-tag.gif new file mode 100644 index 0000000000000000000000000000000000000000..dbf50439d0d7d252e0574dc671db8d82b7eacdf4 GIT binary patch literal 594 zcmZ?wbhEHb6krfwc*el+>txRFGX=l||Z`hRc2&okA3FBSiPbMV)>y5F}K{=3@#=W5H}i^c!1)qXqM zw{6p^|F_x>Zl3n;;^YnMR=+(`cK*`Md*@dDf4$@P@$}!98vpi=97RS@!DnyZ5Uc{~S-bb#}v#i&Oue%KCL{!T%pG|D4Kx zxWM+;gYDn;#s0i9>&qsuZ@VM*A36K!SmD3#uTF01`~7J5_k&5l?rr*gW5&O4FaA6~ z^7rlK3kT-CTjlug+tZ&Hd;eap`2Y6kABU5_ zABg|||33p|K=CIF*Z>_635pX2_Vo=}n(VyF?7{&SS=~KZ;R13dO6t0C{1Ls~G8(}# zf!;z|{)xUbCAoC645dRPn3=^Bdc_pv6&++l8Fw?P^7ZhTafUfNS~8qC5#`bCo)T}& zp^|dtYKjPVmS{$X-ktjoG6bExTr;1)c=^IS%hM+P!^ck_{JN9u(|-Q?ou=L65`Bt8 z#v*{L(arjpM$C#0?#o==xHx9KSnSZ--m~e1K|(_(o3MoB!HR{8PdmCbGB8*J09z0~ A;Q#;t literal 0 HcmV?d00001 diff --git a/wootique/images/ico-tag.png b/wootique/images/ico-tag.png new file mode 100644 index 0000000000000000000000000000000000000000..0f4f1e118547bf9fc6927b02aa7a509ce6af03c4 GIT binary patch literal 554 zcmV+_0@eMAP)Dl`u?2}^5VOcdLtU*>vtkx8o10r1Z7dWb!Gb|lSu zjyet&^hF?+wXia=vYvkTn@0IYCp~cS@;op1<@G)w2_fh{P)mP5y&fK>w_Y!O@cXGN z7^F|35cSN?k~0#~fYEDoJHlZ;zv3=|7L1+aXBb|*zdn4IKnpw>44s~xiRU)kHkKZWb z$}54@>or2+PvJ%U@KF3uCM5}%yq}m@Sl`~36>;gMU}&fTk}pXdMiU7U+uxTYT=K@_ z`LVLKB`f06jzB<1X1Ch}$=3rMZtU)g&AmNI!X<5kgFpYpVzMGGedqJ>=Mpvb^-U#k zxPtFn+u4yMT=L58{s#Q@5R+sSrM1E4h+=f zE?r|b6JeNet96xDYnUZEyZz7K1F$BbBO? si;C6iZtT@S1)cy!R>X4;=)QmF3zya+Q*-AET>t<807*qoM6N<$f+$Y=qyPW_ literal 0 HcmV?d00001 diff --git a/wootique/images/ico-tick.png b/wootique/images/ico-tick.png new file mode 100644 index 0000000000000000000000000000000000000000..54bd3d5e1d0457707ec0189773855cabc202c970 GIT binary patch literal 1441 zcmeAS@N?(olHy`uVBq!ia0vp^d>}Rl8<3oNC%zs?NtU=qlmzFem6RtIr7}3C)9WTXpJp<7&;SCUwvn^&w1Gr=XbIJqdZpd>RtPXT0NVp4u- ziLDaQr4TRV7Ql_oD~1LWFu?RH5)1SV^$b8>f+_U%#ji9s7p}UvBq$Z(UaSTehg24% z>IbD3=a&{G10ya?8Dv#~m2**QVo82cNPd0}EEEGW@=NlIGx7@*oP$jjd=ry1^FVyC zdS72F&%EN2#JuEGPZwJypb2`JnJHGL&W=v5&Mt-)&Mp>)hAwW7#*SuAW+n!Xmac}T z&XyK1y)OC5rManjB{01y2)#x)^@5T@ZUN9{m(-%nveXo}qWoM1u$Qeeak|CX4X1ff zy(zfeVt`YxKF~4xpom3^XqXT%^?;c0WDDfL6MkwQFtrx}lXZUnN*x9UCQ(lp$B>F! zEkWKH!hs^T#*>F+hxkRi<&Pvp1!g8)N?4nzV?250l9PYtl`mVYA-3nt&h%$z_kQ2|`Q6h3ZKfX< z4RQueo_WIj9Osy>U9T*%5&BZrU%)F?eI!{qdNbqQ=HL@aiHEKneSA~!k&J7Knctt= zOdARxJ1Et9goe(sx0=@0Ip@8-r;MsEkBhLoQ1s)CZPyIa;_Uvj%#QuPHM#A}-qM?f z&pUFh7ImK98#{4x^{+Di4BxZ!bkB&H`p#Z-G{d!hk{h2}k3>temo)mK|CUdg!s=lCImrJZ(uJ2oX(*LZCI za)5v3z8e8kGo$7&XzH1y`LQKJ_so8OwaLG?Jw07npQUkkcZAOIMb^pHy8Ev#UE}3_ zYSo{XCvi)~B=f4}wsorQc8s=`Dpo$u$FEzIR2|mBP)OIy3gKk9Ii8bWhUZ zrk>J)Rj)QpdDJxLLXB!|8uv4cW!CW%%>Tcf{D4Pfp|nx=qvoZ~>Dq3KO*p4Sk?O)6><@Wt~$( F699bp8kYb7 literal 0 HcmV?d00001 diff --git a/wootique/images/icon-32.png b/wootique/images/icon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..c8de09d244f892b7250da132a2b833fd7a543b3f GIT binary patch literal 2304 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 literal 0 HcmV?d00001 diff --git a/wootique/images/sidebar-right.png b/wootique/images/sidebar-right.png new file mode 100644 index 0000000000000000000000000000000000000000..96e582a02dff725a6e4e58ea75cd25c0b842ed2e GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0y~yV7>xmGjp&3$s%_5J|M+X?Bp530R%N1DIGvQXMsm# zF#`kF2M}g-T4OQ;C@53n8c`CQpH@2HROL=~TKY98+!X$;ZH;8)`b2;lKoQS)ghLX~`@g ZnepSvB(~>V-ufU8gQu&X%Q~loCIC82F&+Q_ literal 0 HcmV?d00001 diff --git a/wootique/images/sprite.png b/wootique/images/sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..121ecb6c5f938800eff9bc138e3c4aa7e58fdd77 GIT binary patch literal 12033 zcmcI~2UJs8+ionQjM&Ce6r_!Ug)Y4Y8`6vPj`R-FTS6Qhbrb~&0@6jAbO8y{f{K8M z5D^gRNDD=X5FkJ(|9irGcl`dj-@oo%>)tE~WS^6L-u=A2+||)i-nWNs4+@3ar>b&U z7lqn3gF9fe}qmMn=vo!MIcV4zL=)}2mH z2`T(W`25+hKXBxMPv|b>4#(GiT^8Aa^5~J3K>5Py!m7gDW4=8olt5U;l(PU!`{x3) zGDlL1Gs&~R(xBKlKi75`xtzqCDCzzwOEZygBSdKHewXP<_Qr0>m?7YgOlmmuMa;98&p^m)FD&(DsvSJjn6!1(P#8<52F z@+HV<_>Jbr+X2jb$olIAX=G&*zOVCY-z5}EnwhxTS(IB|UjB_hAV~IOs4YGX*Miwm zHCqS1FifM-n!S?D zj1~5y&Ob1#2`=ODGf5!}`U%0a2LM!pyZT?Cz79g<=`TvQPK-#*lN(PFK^B1xUY(Ez zIX-?Hg}TlnzxKUuYGy{Ts-U1iQ>x#$J?R{Bsv&`ii3uHf&eS=KJg1Seva$hV84hot zJv}wm(bkrBhbuI&hswdhk(-y7=MtQZ=tXHpS($;myZbF%d0ANwKs-fjX9!ttK{nUQ zJ7wR|cTo&+6}Y?uo^h{nq;g|*npu&wTM7BL8(MF;ehcL5ta`xw^9%vmT0tmB?b$kz zV@XP7A;0P!nK5R7a9ld#)TvWEIla<>-?Ft|f6yC*?uT2FcwKVptkm9ZaIV1RuXj3od(HgK%*+x!DkrmKY#F$ld<5M7rTh^Q z5xF*7?0B4)^0~7!Cq4br0mZfNFUWGTvie3wMx6_?44a|q>YCTn)3ayO!_`&K)z!6= zlFcwb`exdS^HGr#@1joLN+s*vG5K>B>Xpgi$VR{Q#jc}Z0uW_#?8aoh4L`?V`;chX ze-i|R@_!kERyzeh3nTn~pZ7-r!Vg~Tni?7^y5(Nqhc1``1}^#_p4(LW1qB5o%|O#| zH61^1L*2Ny%2UIwdgb8GREtmgfLlena-_>h!vjZwP#mt7y>VrK9_ZmSuYLRW;a_zB zck}upg<(#I&&S?Kd2#q@vf>B&9r zS?$$ILhcw6csW}+4X1aM=K=`&{kjZ}+(dRqOvHnFo1RL)yrpm5VlyjXAo*Cr4g55c z7&2?uo}~%;tXGdC-D2FYV@C*XOQ0u46+_; zE7XkQ)yLO4@7f|JfMMXnZ}2|_RQ~A{lA402f>L-m$jDJ$9#2;S6!?V~F>09%GkVeU z+O?tkZ{1y7rlJ>o!5T0(u&y9}i5rW>cBxI_U)bN(+lE5LEG#beuTA9@?XtDCy&!`a z^(X$m65`_T2s0(e&jKAC5&q33hj(5Go$D577#$VF&g)!qkQ+>7fQ^9ll@r%dgo(ywzJ2pk&!P6Wg(4Uvw)U+;W0jo*-(f1qams z)YTP0%_}0ZX=rKf8eLVT?!le&@}3P>3?p}-4jwuTBwh?d z{DsRqx43g<4!umMSGr<*h0fv|5nr<9Q6&DT!fZo5->U-$W%?O$56^znfbT#5HyHjl z-W>;#dyIGerxir^d%V7QvHx^IX9@9Tz=_BQ51PD^N{&D1-X91%ckHb*o;uu`OC%Cq zdHwe7-RpL?zk%TwbwHc$lNs>*30D){dk4x~I{E5H=2&~T*jU(^XVm;RSC=ram;OHS z7K0FX^H1~-9zsr~bBSR$8T|NfD?bRpKe71VuRPW?AW&$}#OtJ*A%8Wqk$?fY(;D-NQ68|>5Y;O=2H>3W! z@}so=FYkALpEa_x{onrZ-&SU%zez`gai5`Y$#G?4W8;{#R`-JjHy<+iRf#&0SlL^p zxkW`3Q&o!{J9e0x9mxy-i4-egbM`FIV7f64L|XA2Qq{_lGA1K0jvsVxI=_5cf`3kM%z5yn5` z(9Ujmt|&C~Pe0e&Cxb$%w}{-&)cTq~H9cLW|7ra9-+zbmfe4(}q`UL?l;%uEO?>-y zU+rGa?+4>+LTC<0zM@Q%?pqTyvlUn48l3Uj$q25KzZ(Eejf#bx)f7@_jW z{xQic-5l*Pn`A4c{5YTD*=EJ7@|FSMAqd6-OIPbegp&Dn4(=4T6OAwG524gVj;16? zTK1NE)+(?)@DSU3(nKjgz1wXmDrB~T{5vKeKNlRH!Oy#1nDI^^t-245PS!YuGnxG< zM}MlsJby5rUs$z~heP93G|6zz6!pyH*3)FQ%#Dtce9t1&GPS#xFJ_qpJxHL?6OxiT zzJGsi-qmkv?&edxk!Nobf(VO~xUA!$h>?ko96fIfT7#YFN&vp2yF32j;fj$6IrNt= zUzWdMsBEmP73YlHs7fcj$;km8?oLk2Qy8kO-;{nAmex;u%;O0_L|0&|UlV2&T3T8R z>fbw*218^3NlzobX*BL$`IxPQq$J;=_=4Ev@t~9|SFVgox4N$gZ(EtGq_)ZxdAhlM zOYyV>M-$Kouvm32%vBPLi;F{uK@T20!1B>}p9EG55!~r@c}7Ks5G?vt@-uDEY0Bpjb0AxA&ApD?57?Bb$pVbPxygk0Ra_Z?i+Iu(6~jM)K6#qgd$Gd;a%kTCmW zSL(;cFC2U)vbVFVD=#NURkoiawz42C?LwQAKIlm69rs=rC#Q!Qy=p${JcoK&@J1)1 zz8D^Ee3TI=AKHF#9wN&6;;aWo;%vzh*=r}+9^_V3R160em{;g#IrAm9w62I~mJSDk zm33!s;%9p>pzlyk5acOx5;ygzmMk(Uy#nmPJG7job*~H-wb(bf`Vg-fl}7sc`IXjh zzwzTZI&OvK4{aWY0a0^F4Sv4-)d#fiPU7u#2v-8H1n>O$gV8Wkxt^nYJuj;=N|&ggn5co zc)V5P=X#_EHzSLUHL{#j;?y#~;akY9Ws$WTi$x^*TqJIdYh!(Ib6staMy<{Bl9 zi{DB~E{jv0mE#GnYEqy~3nUTHxFY(+n9 zgevjK)F(RhHbPoeGxw#~mfY3Z`M@f4Wh}G(Yi2QIQLSIf8a3M=SsydtVoshhUbHd& zR?T-L?Q|+em*74P0Z**G$vhVK**MFY#hY*aqSx|w>uy2;t(vR=*7Wl^_Jo(3`$%XrbPLaJPu?EYRtO`q8HqQypVw&qs zoh*qIVN=U78w2leU(P|)`wVg+@ML0yxL)OU@n)8f`h1yp@BUmyAh57l9H}k*6bK^Y zO@H~Zn(sl^c3kay4`HMGRv|NGS#FYM0bnGScn{t6opj{`kr9!$O(s|$yH)5<=u)YT zzl}c5B3FdD3aQGIr)|$5tY7$~F5EW>&X1qK@D=&Ru$X|x6j z;!A>9Z>I%-gtBpRe&#Pq@?Zh@KRL^g90gnii^RMzD`Ct+fjN-Bhr&~8cxom!J)bu3 zdM=RM7Syt)zhE9&inZvj|GX?RK;=stSj<3|znAa>^sku$R|YPgwBFt6-@6e{j)(0k@EZqd{T z$<2xw8(`bluU|j8S_w-Ri58bsv={6tQsp^Rs-;LOiR|WPdRnj7#&4MaF*D9GL6Ixu zN|K3<%!Pwrn49uGpk=rI(GXB%+V1mvt(9eyo|p~rd7;v8dR3q~!LKYZ-WYX|?bg(h zov&Z78NAA^c>l<~7mV(_Jmr?1s0jvL7{)Cz|?ENTY)Mk;Teh*I*wfYj+2*3WL z2RP-WW5S~&JF6a6n|EP}XADERaCoh3M{~XfLC>IYQ&Uriy}kl0dQg)g2Pq1QS#HL{ z)x)osmi&`(8z0o8j^9p$IGaS>DEJV#?)zJiOoR^@hjlyTKWa1>jM`U&MP1QNqc5nr z)MA_BNt&3mvvbf`H5hwK4=$gPPAfKM)SHZt&Q*m~5W@}Sj*pM$7Lt=%93(_UxJgw1 z7!MzdfUcpTp%`j~TMB zXpsV_!Lby+e*Id|^>hAJ3k!?1=P}{OcV5WE3cLl0360EP?J^R6VC3CTV;zx@m94BQ zESycIwzy(2n1;Xy5fQTy^)^N%sUmPbtRrKUvtkf_p2SX9dlfdoEx%>)j;jo#4@E{F%Lw@HSZTXx>XEdmdim_gli4Y0$>e_r9`NTb@G|*9(nP$m`xf7in-~ zW)N+DSQ&qaHi+9yPhEa{`a@1mj$*mMbP1o0f+8G){QGXsFBXT?ET*3SGjLHbS!*+rK3heRQzAL? z@NxzY{qDJ0Z?$$y>fE_Ga+}ivhtC)&c&fbLRL86^Zl#&7zI1Nx)s6!TzJ7id$W3id z;;Z}XL=MGl|LKBAe2W84R8(}nY<6~*67%*`1czKoKM@-u5Zz>MoiN^G;*IB7A>u?6 zThKlL4cem8y)lA=G!R5iwv`W#-}4vUuN~o_I7#h2IS*czQ}+7MtIKW8d7P;-`U+^&jd}xuQ?_nS zFRx!W0jnCC={c*PVx=|(vD5+mU*%)eu*SM^_9jMT%Jwno2=lIW6QR~YgJ4fbN5^FE z@MlmSDNM92{z7mP55DS!hKN>0G7&qP5;8m4TGP^972sK^n)gsH8C0W3mCGajD;Ky17{YYMp=u6 zU_`8SvBjYjYWSZzI`jiXhwQM}W#j(fBpr$&hfl z+A0c>PUSZ$tPUbzt|%+l5}=%}J)R;|{#Y$w5KC)?ppx#kqM@mYbp~C)8L(yB)owHp zX5^ZaJTiP`3x5B7n@ohBf34au27)&F$lS|AcQ1ckic29w#H$8L2}CR*Kukcy+zRFH z<>8UiF)d0W_-3=zO)_t8 z&I_XLCffRDjK-Gpg6d@-vwSnPUZVnPB>OSP8oM%YQPi)_b_hj7Ph zgg!Ngu*DAtVRtqx@g{FvG85R`Ep2oryS}Ml4_X=TMe7g1d35F)SagnxiHmpCz~O5j z9bP6X{-&zr!2=U7pYS60l({mO=L^K*gaT3m>)$|j zgSI#Myq;%Rpv!Y8YP#~4@onpO1oxnnIK`tOreB3vQ#Zjsf1iWhSXrBn&a#e_V(Cl0 zBpGs2GCcd-xhUbju?ELd_g*e14-cV`MaZ&8r6VA|`K{55kEKtaudKTy|3JQ3`Ru;> zZ8yfUu2*XC#kiEa(?_5Xd8DX|edq6(!7k`D*!3WiX}w)v};OPKrPX; zNHP_o3qh@>(EbYl8B^BVSC@z%iIirMy%G`LF7}nHX?c&To^?D_}5j;;l zdeMtrIZEX+;DL8epk?Uhya{UIr7zAgo>M*;N}n-$6hV^cGA|Y7jHKivkJ#u|q?anX z@`<6ZGIpY^vl_`zu~r0kSExmbYEl#Q`6Na#3y^R~>`m8so_GIO;RicV%~!26uOHl5 z4h2Ac0aX3oIvt3>Eph9My*!%J-eKG?1tHtO6$UC7V17Z9lYGQQMRnO5@fi@(yCr&} zCw+qxGg8NFcH%qw`l{WDE8>!pER9X0v^+?;vYg*jwNhJrCqDkRK4nykr_hn8(-(q2 z$j=}{AD&w=shBGkP>&dSC$3qu)Z+>%oZi8mF3!$vxAz?%tt@owH9QgZ5%N`c{6=LU zCLuAgyhSP%oMa-8f}T9u6FY5&EQAYHIwfX=s5dxL?;YXabBln-ytb(D&b)o+j+DBr zjwm|uI2&75Ju5rA`CN}{kvmh^E8}vH{yB(FqC~wy_2({ayB2@uuzQ^d`dDP+SkORH zfYLnH3Ys{#t8RzeJAaoaMU#V8)ZJMc@2cSKO(?0JXvCz^ z^wUJmViz}7#`T0EtdDV>X(dB#J$SZaP#|k_g@h}-d?GDem4dr zb}(5!NLL%ZVrNZ<%4M#g8Nmr0fVYJaT!+|OYC=j$P7&SpK`K>+2hT-*6AI>g216}& zrw1ns_0*5}m|(Frn88%4daV9($>&`BQwui7>({T3k#HN-=9}CiJkIb5dvNESu0jhr z-NTO2P&f=_K3twWE!dp9n(_{$Ez7x3FeO1FQ}-9uTH9X2iKssXnn4}omqavu8YJsP zK0^&85IQ+&c(&VZ@`D(NbrSfCsznRi8>d#Nn_Rt8h&XOdWN=JB_%Mgr2bRHN@V>$LE8+Lvz6jAfI@l;%D;Pj; zb`y7>Y?-869~?TL%jmeBt2zquAE_A*$-S#7p_&=%5u+3)cE9 zT`^0#t9osjT`{zeIqaIvwiW5jfO*;E);IG_k=k>$c@;N}%B*Mza$E)i7l}WbD4vEHs0u! zz!VyeT9w`&*Zv3s_GC|Vz1RFLQKqm|2hsS8ZI#Qz;W3JaLdnGS5$NplY5B6d%HioV;8jd za34~q<;lULXOssmxeUQ>Nt3wg!z+(DAayWWEMc%$EOr}$Y26?qrY#f zff@)@I-yo&`E`M(xnw@uRY7-EhDcGAl#nPB!$m#bcU*Gfz~=V@en^*adkK6zY?-Q+ z4fVZp^+rcu--T(!RR^P2?ng#a1UV2x(g;B`S}YZDp+vny%CMOf8oiMMm2;AGW}!Zs zi$rxWwbx{#2Kid_|NvOI61#cmJ3({N;d08NA2okdOl5Fl#`Lk zffNOz>n62NmkuZ_2-nrsh2*w41_mw{3y02y<5I)Fj*iGL58d4Kv9lXZ&1-RlKXhI% z9#tB&v_{~GgPdGkMglC+*2hW&)S=fFOidh2QY7RW3uHkg0NK^VZpG!-_xaN~f-cbVL*+#krmc2?R-Mk*)BgS{jD(zz5w2QewQjTPm4!=tq6$>QR3_N6A>1dC!wvdtn!oP2%tfp{^86T5cpO5x<- zh#8T-B@M{kghsLO3j%?79qJq@9~!+ZjDTu3cJ@(pH!76>aPDIYePeWV^k^iPBGJ*w zNhQ`kr?5~9>UZ!1Wwa7^GuRjI*OyJ6U24vkoyQJB&AA_mTsS#X{QF)m2hP8Hr?N3+ z-99|(q4HH_K9W;mH3otc1yfCQVuvQqi7Km>#=3o2zRNwR(}rb)x=Ab_{lp%U~^ zd&9Ap!0gq~*tprQr>!87KGp|?=^S6#^||QN+AMqQC&g==6K;jyfrM}70D5_7&U*ye ztIUNe<2C&DGo-0*lgn!h*@_$rkXcz7CXzr|9Er3VO7auqa=%{3~ZU#AT*e+54za!1DIWrF5MXSvoVl+9?ALEL3LnZBX#=}CDZ zO_Ha6;7=jXI6FB>H+m&CH;?&%#uRa(G0U|IOJ8hBj~bdNUCYaXR?x0I2^Gia!6FPg zlfL-z(t-7S-`aUE2&oTP`gIyyn)F@8LeNx_zs5KBhSy;C?%fhHGAl-i%wq?a8>F(Z zGVdu}uW#;-1fYt#y1Gu!(+v`|Lu-jEEuO7kiZDspDZx|U?c*#Yhbw2fKE#sVy?f_K zsomVz&07JHBWPu3USZ{X&Fps7LE4e<`orP%kF3Vfva-3ra~E&#`B$yUa;Zu77|WpE z-T}!Nt!xqvTdVVoYO(s|i*YE1SnES><%$c3h)UDZk^CX1qN3T(6v^2rg%(vyI|%Mp zLT87iThrRw+9*hFca%t}8r$PvAzeNYJZ%p(qd+ThHut#0O%A1ZPM9y0j6I>y zwKAnE^zKgiuD+~VRK_hR3pUx!WA9#ms;O(|;*v`P-#WOtR9?HzpNu9_^GjZ{=Suab8l~Rxr)LcJZ z?=&#-tG6kh)@-jf#$yII7s0eiAthGf%@M_ok@J~!-MDXY>tA8_Pq)4qT}_&}b=30Z z{5l1n$TlmqSfo6zUA{AFgqa)?l7ut7J7$0fOE-h_e`*;WaC=jeswM>-C zi{rQ3xK+Wyf-56i293qsj6|v!5%M%&{5PjMu^R!c|e~lPfo1bV) z*Tzko4JHg3rlCU39trjYRSX|)^VF*NnP-K%elnha&&nO&;Hio!>Ez_(bIC;Jn4EU8 z9qsc?3ME8}qa*(#C9e}>^Er~OHZyVJ?)RxOVej|>jY3h#p^=pBOvAES_v zDo8y#I_@{y!!Q`HA?EIL=)dowIl#<9S?0W-0!&wF7OSNW8Qy_5_o=OElE0ggjOP50 z4eX0yTTOasbZ>QS4<14~f`9Bpnwh^LlLzNj{%+AS{rva9)L-LN_rjN~yZquAEyyEW z?XzeI;0s}B3Pgif9Y*3FNfi{#PEJ-B>c(XVs^j4x@Us5g-Q9%DI=y-78@#5gn#fxw zpb8Is^7LXGahAMc~$?mqTAdv=Y+oKlKl)kzO@74>E$l^z#-*{{e=-yS$9vFgMTN-T6N* zdu3z${4BtR@Tvp+`i6bZir9&dX$J^pWzcXIHn|8Vl22deQczHcQ|l4Pu~#jDkpq}r z`~b{1L1wFrA8AEe@#m<2isfxWw$MM*12;=~etB+f1j9T}+a`3!VJzeQ8B2wM&Vd1; zK^o+NWp>CU%>2Db=W;kdi5mOE`R}sEor8?6ZyJSqbtoNrxc^4+UtEPgEH}@O5d4S_ zgXKua_g|9mBLqK)31bN2=}RXre~UQAD1`ppxtZBZclOV?0OJH$%u4{7967qtnMZ~N7_s;?d31mTaig9{=^oTJTzKgUoSsK zr05}Ca_bcGPuBb(+5s~|b&)X|_m`&rsNMhf7O>;F3eSlyKiHojuV$4E`K;^HpkcWey5nT!76~L4nFeoO&!*z3GeG7+g oFxd&^L*U_s=N(O;=6q{7wq$d`Kk?Bo5NoEYq;c_4*&oF literal 0 HcmV?d00001 diff --git a/wootique/images/star-small.png b/wootique/images/star-small.png new file mode 100644 index 0000000000000000000000000000000000000000..48d83f40f1c7af40fff6ad3fa7ddd147d0c32236 GIT binary patch literal 672 zcmV;R0$=@!P)^T70Tm)8t zs_4Ifo4_03t5RyW;+(qyOaT{wL!r8X9pEjnmH;(iCITbc3{XpyQp-Ri0vD^Hlv*wx z-2gTt@MaM-0Z>Zq02>j*hA;zd-5)XZHQ#W|k2sXEulZ4{z%$^5QmO^uoI49#0}hsQ zI_LU-rfGU9P1C86R+^-8VN`G^7FuC;chsC5Zg zkHG7~^d4ue{Ry-phL$h`ZLRJB4`{w&+&jOLUDEtn>H>?vb8GDffGo>S0@s0&NOs8c z{A!-(vmve2dt=NP@JX%{TI+AV9-5^GQo@Lw%NdL@qrfS8vvg;Oc|>oP-fOKp6=TeO z;0kbh?^gk^4Kx!u{0l~y?L=$63e5e7VNPqkT0HtG(2T%MVR~KCTK@*x5kp&;fwmrq z82Xw&8pq|g1H6>;EHLV6rLWy0@I-6<1;7~d7`O!-DS*F*?2tJ8HB2V}0000 literal 0 HcmV?d00001 diff --git a/wootique/images/star.png b/wootique/images/star.png new file mode 100644 index 0000000000000000000000000000000000000000..5e6b093a40294f9e1e9aae61cf5ffd6079b3ff5c GIT binary patch literal 553 zcmV+^0@nSBP)KmcdQKU<`#HEqA&C8-U^g!UW9*^kiSzfR4b` zz7!^)oq%w61WZ8LpxuB&T&W3Zngj_6sZWa3G`9QxyuY7*phfPUx%;%O=B%Z80^l=l zFNtW=R5xlFeh*+0*L^Ps?w$g8seOGzMEOw%(Y$DwyNG912eH-+Knh?QmfN%eumX?+ zSf082a|{@wD(MWv=~Cw5YOz_C5>qozJ!fBj38>16S_sRrk@0c!vc03IXWomTFCfpX8>b#PgV znKNb{#sg-q@W9OekO$11qJalyme*^?2bvf78EKj%$wyHX>xzR|>tG(7$FKGIH%L8jM&j<0W>LAwopLrl6gLxn#<@rEFdY=!Xry8TG rcH)7EoOrOOgFJ|McUq}xBM-g-KcBQHTZawo00000NkvXXu0mjf9BSu2 literal 0 HcmV?d00001 diff --git a/wootique/images/twitter.png b/wootique/images/twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..bb3b0dcb1c6356bce96d5006c4adb3ffe3de31aa GIT binary patch literal 3567 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 literal 0 HcmV?d00001 diff --git a/wootique/images/woothemes.png b/wootique/images/woothemes.png new file mode 100644 index 0000000000000000000000000000000000000000..844bf5f9390e3d72e24480af72bf31a8c865f87b GIT binary patch literal 2407 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
                    ",buttonPrevHTML:"
                    ",buttonNextEvent:"click",buttonPrevEvent:"click", buttonNextCallback:null,buttonPrevCallback:null,itemFallbackDimension:null},m=!1;g(window).bind("load.jcarousel",function(){m=!0});g.jcarousel=function(a,c){this.options=g.extend({},q,c||{});this.autoStopped=this.locked=!1;this.buttonPrevState=this.buttonNextState=this.buttonPrev=this.buttonNext=this.list=this.clip=this.container=null;if(!c||c.rtl===void 0)this.options.rtl=(g(a).attr("dir")||g("html").attr("dir")||"").toLowerCase()=="rtl";this.wh=!this.options.vertical?"width":"height";this.lt=!this.options.vertical? this.options.rtl?"right":"left":"top";for(var b="",d=a.className.split(" "),f=0;f
                    ").parent();if(this.container.size()===0)this.container=this.clip.wrap("
                    ").parent();b!==""&&this.container.parent()[0].className.indexOf("jcarousel-skin")==-1&&this.container.wrap('
                    ');this.buttonPrev=g(".jcarousel-prev",this.container);if(this.buttonPrev.size()===0&&this.options.buttonPrevHTML!==null)this.buttonPrev=g(this.options.buttonPrevHTML).appendTo(this.container);this.buttonPrev.addClass(this.className("jcarousel-prev"));this.buttonNext= g(".jcarousel-next",this.container);if(this.buttonNext.size()===0&&this.options.buttonNextHTML!==null)this.buttonNext=g(this.options.buttonNextHTML).appendTo(this.container);this.buttonNext.addClass(this.className("jcarousel-next"));this.clip.addClass(this.className("jcarousel-clip")).css({position:"relative"});this.list.addClass(this.className("jcarousel-list")).css({overflow:"hidden",position:"relative",top:0,margin:0,padding:0}).css(this.options.rtl?"right":"left",0);this.container.addClass(this.className("jcarousel-container")).css({position:"relative"}); !this.options.vertical&&this.options.rtl&&this.container.addClass("jcarousel-direction-rtl").attr("dir","rtl");var j=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible):null,b=this.list.children("li"),e=this;if(b.size()>0){var h=0,i=this.options.offset;b.each(function(){e.format(this,i++);h+=e.dimension(this,j)});this.list.css(this.wh,h+100+"px");if(!c||c.size===void 0)this.options.size=b.size()}this.container.css("display","block");this.buttonNext.css("display","block");this.buttonPrev.css("display", "block");this.funcNext=function(){e.next()};this.funcPrev=function(){e.prev()};this.funcResize=function(){e.resizeTimer&&clearTimeout(e.resizeTimer);e.resizeTimer=setTimeout(function(){e.reload()},100)};this.options.initCallback!==null&&this.options.initCallback(this,"init");!m&&g.browser.safari?(this.buttons(!1,!1),g(window).bind("load.jcarousel",function(){e.setup()})):this.setup()};var f=g.jcarousel;f.fn=f.prototype={jcarousel:"0.2.8"};f.fn.extend=f.extend=g.extend;f.fn.extend({setup:function(){this.prevLast= this.prevFirst=this.last=this.first=null;this.animating=!1;this.tail=this.resizeTimer=this.timer=null;this.inTail=!1;if(!this.locked){this.list.css(this.lt,this.pos(this.options.offset)+"px");var a=this.pos(this.options.start,!0);this.prevFirst=this.prevLast=null;this.animate(a,!1);g(window).unbind("resize.jcarousel",this.funcResize).bind("resize.jcarousel",this.funcResize);this.options.setupCallback!==null&&this.options.setupCallback(this)}},reset:function(){this.list.empty();this.list.css(this.lt, "0px");this.list.css(this.wh,"10px");this.options.initCallback!==null&&this.options.initCallback(this,"reset");this.setup()},reload:function(){this.tail!==null&&this.inTail&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+this.tail);this.tail=null;this.inTail=!1;this.options.reloadCallback!==null&&this.options.reloadCallback(this);if(this.options.visible!==null){var a=this,c=Math.ceil(this.clipping()/this.options.visible),b=0,d=0;this.list.children("li").each(function(f){b+=a.dimension(this, c);f+1this.options.size)c=this.options.size;for(var b=a;b<=c;b++){var d=this.get(b);if(!d.length||d.hasClass("jcarousel-item-placeholder"))return!1}return!0}, get:function(a){return g(">.jcarousel-item-"+a,this.list)},add:function(a,c){var b=this.get(a),d=0,p=g(c);if(b.length===0)for(var j,e=f.intval(a),b=this.create(a);;){if(j=this.get(--e),e<=0||j.length){e<=0?this.list.prepend(b):j.after(b);break}}else d=this.dimension(b);p.get(0).nodeName.toUpperCase()=="LI"?(b.replaceWith(p),b=p):b.empty().append(c);this.format(b.removeClass(this.className("jcarousel-item-placeholder")),a);p=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible): null;d=this.dimension(b,p)-d;a>0&&a=this.first&&a<=this.last)){var b=this.dimension(c);athis.options.size?this.options.size:a);for(var d=this.first>a,g=this.options.wrap!="circular"&&this.first<=1?1:this.first,j=d?this.get(g): this.get(this.last),e=d?g:g-1,h=null,i=0,k=!1,l=0;d?--e>=a:++ethis.options.size)))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)));j=h;l=this.dimension(h);k&&(i+=l);if(this.first!==null&&(this.options.wrap=="circular"||e>=1&&(this.options.size===null||e<= this.options.size)))b=d?b+l:b-l}for(var g=this.clipping(),m=[],o=0,n=0,j=this.get(a-1),e=a;++o;){h=this.get(e);k=!h.length;if(h.length===0){h=this.create(e).addClass(this.className("jcarousel-item-placeholder"));if(j.length===0)this.list.prepend(h);else j[d?"before":"after"](h);if(this.first!==null&&this.options.wrap=="circular"&&this.options.size!==null&&(e<=0||e>this.options.size))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)))}j=h;l=this.dimension(h);if(l===0)throw Error("jCarousel: No width/height set for items. This will cause an infinite loop. Aborting..."); this.options.wrap!="circular"&&this.options.size!==null&&e>this.options.size?m.push(h):k&&(i+=l);n+=l;if(n>=g)break;e++}for(h=0;h0&&(this.list.css(this.wh,this.dimension(this.list)+i+"px"),d&&(b-=i,this.list.css(this.lt,f.intval(this.list.css(this.lt))-i+"px")));i=a+o-1;if(this.options.wrap!="circular"&&this.options.size&&i>this.options.size)i=this.options.size;if(e>i){o=0;e=i;for(n=0;++o;){h=this.get(e--);if(!h.length)break;n+=this.dimension(h);if(n>=g)break}}e=i-o+ 1;this.options.wrap!="circular"&&e<1&&(e=1);if(this.inTail&&d)b+=this.tail,this.inTail=!1;this.tail=null;if(this.options.wrap!="circular"&&i==this.options.size&&i-o+1>=1&&(d=f.intval(this.get(i).css(!this.options.vertical?"marginRight":"marginBottom")),n-d>g))this.tail=n-g-d;if(c&&a===this.options.size&&this.tail)b-=this.tail,this.inTail=!0;for(;a-- >e;)b+=this.dimension(this.get(a));this.prevFirst=this.first;this.prevLast=this.last;this.first=e;this.last=i;return b},animate:function(a,c){if(!this.locked&& !this.animating){this.animating=!0;var b=this,d=function(){b.animating=!1;a===0&&b.list.css(b.lt,0);!b.autoStopped&&(b.options.wrap=="circular"||b.options.wrap=="both"||b.options.wrap=="last"||b.options.size===null||b.last=b.first&&c<=b.last)&&(c<1||c>b.options.size)&&b.remove(c)}; this.notify("onBeforeAnimation");if(!this.options.animation||c===!1)this.list.css(this.lt,a+"px"),d();else{var f=!this.options.vertical?this.options.rtl?{right:a}:{left:a}:{top:a},d={duration:this.options.animation,easing:this.options.easing,complete:d};if(g.isFunction(this.options.animationStepCallback))d.step=this.options.animationStepCallback;this.list.animate(f,d)}}},startAuto:function(a){if(a!==void 0)this.options.auto=a;if(this.options.auto===0)return this.stopAuto();if(this.timer===null){this.autoStopped= !1;var c=this;this.timer=window.setTimeout(function(){c.next()},this.options.auto*1E3)}},stopAuto:function(){this.pauseAuto();this.autoStopped=!0},pauseAuto:function(){if(this.timer!==null)window.clearTimeout(this.timer),this.timer=null},buttons:function(a,c){if(a==null&&(a=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="first"||this.options.size===null||this.last=this.options.size))a=this.tail!==null&&!this.inTail;if(c==null&&(c=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="last"||this.first>1),!this.locked&&(!this.options.wrap||this.options.wrap=="last")&&this.options.size!==null&&this.first==1))c=this.tail!==null&&this.inTail;var b=this;this.buttonNext.size()>0?(this.buttonNext.unbind(this.options.buttonNextEvent+".jcarousel",this.funcNext),a&&this.buttonNext.bind(this.options.buttonNextEvent+".jcarousel",this.funcNext), this.buttonNext[a?"removeClass":"addClass"](this.className("jcarousel-next-disabled")).attr("disabled",a?!1:!0),this.options.buttonNextCallback!==null&&this.buttonNext.data("jcarouselstate")!=a&&this.buttonNext.each(function(){b.options.buttonNextCallback(b,this,a)}).data("jcarouselstate",a)):this.options.buttonNextCallback!==null&&this.buttonNextState!=a&&this.options.buttonNextCallback(b,null,a);this.buttonPrev.size()>0?(this.buttonPrev.unbind(this.options.buttonPrevEvent+".jcarousel",this.funcPrev), c&&this.buttonPrev.bind(this.options.buttonPrevEvent+".jcarousel",this.funcPrev),this.buttonPrev[c?"removeClass":"addClass"](this.className("jcarousel-prev-disabled")).attr("disabled",c?!1:!0),this.options.buttonPrevCallback!==null&&this.buttonPrev.data("jcarouselstate")!=c&&this.buttonPrev.each(function(){b.options.buttonPrevCallback(b,this,c)}).data("jcarouselstate",c)):this.options.buttonPrevCallback!==null&&this.buttonPrevState!=c&&this.options.buttonPrevCallback(b,null,c);this.buttonNextState= a;this.buttonPrevState=c},notify:function(a){var c=this.prevFirst===null?"init":this.prevFirst=j&&k<=e)&&a(k)}}},create:function(a){return this.format("
                  • ",a)},format:function(a,c){for(var a=g(a),b=a.get(0).className.split(" "),d=0;d"),l=a("");p.addClass(k.buttonClass);if(k.useID&&m.attr("id")!=""){p.attr("id",k.idPrefix+"-"+m.attr("id"))}var n;if(m.is("a")||m.is("button")){n=m.text()}else{if(m.is(":submit")||m.is(":reset")||m.is("input[type=button]")){n=m.attr("value")}}n=n==""?m.is(":reset")?"Reset":"Submit":n;l.html(n);m.css("opacity",0);m.wrap(p);m.wrap(l);p=m.closest("div");l=m.closest("span");if(m.is(":disabled")){p.addClass(k.disabledClass)}p.bind({"mouseenter.uniform":function(){p.addClass(k.hoverClass)},"mouseleave.uniform":function(){p.removeClass(k.hoverClass);p.removeClass(k.activeClass)},"mousedown.uniform touchbegin.uniform":function(){p.addClass(k.activeClass)},"mouseup.uniform touchend.uniform":function(){p.removeClass(k.activeClass)},"click.uniform touchend.uniform":function(r){if(a(r.target).is("span")||a(r.target).is("div")){if(o[0].dispatchEvent){var q=document.createEvent("MouseEvents");q.initEvent("click",true,true);o[0].dispatchEvent(q)}else{o[0].click()}}}});o.bind({"focus.uniform":function(){p.addClass(k.focusClass)},"blur.uniform":function(){p.removeClass(k.focusClass)}});a.uniform.noSelect(p);b(o)}function e(o){var m=a(o);var p=a("
                    "),l=a("");if(!m.css("display")=="none"&&k.autoHide){p.hide()}p.addClass(k.selectClass);if(k.useID&&o.attr("id")!=""){p.attr("id",k.idPrefix+"-"+o.attr("id"))}var n=o.find(":selected:first");if(n.length==0){n=o.find("option:first")}l.html(n.html());o.css("opacity",0);o.wrap(p);o.before(l);p=o.parent("div");l=o.siblings("span");o.bind({"change.uniform":function(){l.text(o.find(":selected").text());p.removeClass(k.activeClass)},"focus.uniform":function(){p.addClass(k.focusClass)},"blur.uniform":function(){p.removeClass(k.focusClass);p.removeClass(k.activeClass)},"mousedown.uniform touchbegin.uniform":function(){p.addClass(k.activeClass)},"mouseup.uniform touchend.uniform":function(){p.removeClass(k.activeClass)},"click.uniform touchend.uniform":function(){p.removeClass(k.activeClass)},"mouseenter.uniform":function(){p.addClass(k.hoverClass)},"mouseleave.uniform":function(){p.removeClass(k.hoverClass);p.removeClass(k.activeClass)},"keyup.uniform":function(){l.text(o.find(":selected").html())}});if(a(o).attr("disabled")){p.addClass(k.disabledClass)}a.uniform.noSelect(l);b(o)}function f(n){var m=a(n);var o=a("
                    "),l=a("");if(!m.css("display")=="none"&&k.autoHide){o.hide()}o.addClass(k.checkboxClass);if(k.useID&&n.attr("id")!=""){o.attr("id",k.idPrefix+"-"+n.attr("id"))}a(n).wrap(o);a(n).wrap(l);l=n.parent();o=l.parent();a(n).css("opacity",0).bind({"focus.uniform":function(){o.addClass(k.focusClass)},"blur.uniform":function(){o.removeClass(k.focusClass)},"click.uniform touchend.uniform":function(){if(!a(n).attr("checked")){l.removeClass(k.checkedClass)}else{l.addClass(k.checkedClass)}},"mousedown.uniform touchbegin.uniform":function(){o.addClass(k.activeClass)},"mouseup.uniform touchend.uniform":function(){o.removeClass(k.activeClass)},"mouseenter.uniform":function(){o.addClass(k.hoverClass)},"mouseleave.uniform":function(){o.removeClass(k.hoverClass);o.removeClass(k.activeClass)}});if(a(n).attr("checked")){l.addClass(k.checkedClass)}if(a(n).attr("disabled")){o.addClass(k.disabledClass)}b(n)}function c(n){var m=a(n);var o=a("
                    "),l=a("");if(!m.css("display")=="none"&&k.autoHide){o.hide()}o.addClass(k.radioClass);if(k.useID&&n.attr("id")!=""){o.attr("id",k.idPrefix+"-"+n.attr("id"))}a(n).wrap(o);a(n).wrap(l);l=n.parent();o=l.parent();a(n).css("opacity",0).bind({"focus.uniform":function(){o.addClass(k.focusClass)},"blur.uniform":function(){o.removeClass(k.focusClass)},"click.uniform touchend.uniform":function(){if(!a(n).attr("checked")){l.removeClass(k.checkedClass)}else{var p=k.radioClass.split(" ")[0];a("."+p+" span."+k.checkedClass+":has([name='"+a(n).attr("name")+"'])").removeClass(k.checkedClass);l.addClass(k.checkedClass)}},"mousedown.uniform touchend.uniform":function(){if(!a(n).is(":disabled")){o.addClass(k.activeClass)}},"mouseup.uniform touchbegin.uniform":function(){o.removeClass(k.activeClass)},"mouseenter.uniform touchend.uniform":function(){o.addClass(k.hoverClass)},"mouseleave.uniform":function(){o.removeClass(k.hoverClass);o.removeClass(k.activeClass)}});if(a(n).attr("checked")){l.addClass(k.checkedClass)}if(a(n).attr("disabled")){o.addClass(k.disabledClass)}b(n)}function h(q){var o=a(q);var r=a("
                    "),p=a(""+k.fileDefaultText+""),m=a(""+k.fileBtnText+"");if(!o.css("display")=="none"&&k.autoHide){r.hide()}r.addClass(k.fileClass);p.addClass(k.filenameClass);m.addClass(k.fileBtnClass);if(k.useID&&o.attr("id")!=""){r.attr("id",k.idPrefix+"-"+o.attr("id"))}o.wrap(r);o.after(m);o.after(p);r=o.closest("div");p=o.siblings("."+k.filenameClass);m=o.siblings("."+k.fileBtnClass);if(!o.attr("size")){var l=r.width();o.attr("size",l/10)}var n=function(){var s=o.val();if(s===""){s=k.fileDefaultText}else{s=s.split(/[\/\\]+/);s=s[(s.length-1)]}p.text(s)};n();o.css("opacity",0).bind({"focus.uniform":function(){r.addClass(k.focusClass)},"blur.uniform":function(){r.removeClass(k.focusClass)},"mousedown.uniform":function(){if(!a(q).is(":disabled")){r.addClass(k.activeClass)}},"mouseup.uniform":function(){r.removeClass(k.activeClass)},"mouseenter.uniform":function(){r.addClass(k.hoverClass)},"mouseleave.uniform":function(){r.removeClass(k.hoverClass);r.removeClass(k.activeClass)}});if(a.browser.msie){o.bind("click.uniform.ie7",function(){setTimeout(n,0)})}else{o.bind("change.uniform",n)}if(o.attr("disabled")){r.addClass(k.disabledClass)}a.uniform.noSelect(p);a.uniform.noSelect(m);b(q)}a.uniform.restore=function(l){if(l==undefined){l=a(a.uniform.elements)}a(l).each(function(){if(a(this).is(":checkbox")){a(this).unwrap().unwrap()}else{if(a(this).is("select")){a(this).siblings("span").remove();a(this).unwrap()}else{if(a(this).is(":radio")){a(this).unwrap().unwrap()}else{if(a(this).is(":file")){a(this).siblings("span").remove();a(this).unwrap()}else{if(a(this).is("button, :submit, :reset, a, input[type='button']")){a(this).unwrap().unwrap()}}}}}a(this).unbind(".uniform");a(this).css("opacity","1");var m=a.inArray(a(l),a.uniform.elements);a.uniform.elements.splice(m,1)})};function b(l){l=a(l).get();if(l.length>1){a.each(l,function(m,n){a.uniform.elements.push(n)})}else{a.uniform.elements.push(l)}}a.uniform.noSelect=function(l){function m(){return false}a(l).each(function(){this.onselectstart=this.ondragstart=m;a(this).mousedown(m).css({MozUserSelect:"none"})})};a.uniform.update=function(l){if(l==undefined){l=a(a.uniform.elements)}l=a(l);l.each(function(){var n=a(this);if(n.is("select")){var m=n.siblings("span");var p=n.parent("div");p.removeClass(k.hoverClass+" "+k.focusClass+" "+k.activeClass);m.html(n.find(":selected").html());if(n.is(":disabled")){p.addClass(k.disabledClass)}else{p.removeClass(k.disabledClass)}}else{if(n.is(":checkbox")){var m=n.closest("span");var p=n.closest("div");p.removeClass(k.hoverClass+" "+k.focusClass+" "+k.activeClass);m.removeClass(k.checkedClass);if(n.is(":checked")){m.addClass(k.checkedClass)}if(n.is(":disabled")){p.addClass(k.disabledClass)}else{p.removeClass(k.disabledClass)}}else{if(n.is(":radio")){var m=n.closest("span");var p=n.closest("div");p.removeClass(k.hoverClass+" "+k.focusClass+" "+k.activeClass);m.removeClass(k.checkedClass);if(n.is(":checked")){m.addClass(k.checkedClass)}if(n.is(":disabled")){p.addClass(k.disabledClass)}else{p.removeClass(k.disabledClass)}}else{if(n.is(":file")){var p=n.parent("div");var o=n.siblings(k.filenameClass);btnTag=n.siblings(k.fileBtnClass);p.removeClass(k.hoverClass+" "+k.focusClass+" "+k.activeClass);o.text(n.val());if(n.is(":disabled")){p.addClass(k.disabledClass)}else{p.removeClass(k.disabledClass)}}else{if(n.is(":submit")||n.is(":reset")||n.is("button")||n.is("a")||l.is("input[type=button]")){var p=n.closest("div");p.removeClass(k.hoverClass+" "+k.focusClass+" "+k.activeClass);if(n.is(":disabled")){p.addClass(k.disabledClass)}else{p.removeClass(k.disabledClass)}}}}}}})};return this.each(function(){if(a.support.selectOpacity){var l=a(this);if(l.is("select")){if(l.attr("multiple")!=true){if(l.attr("size")==undefined||l.attr("size")<=1){e(l)}}}else{if(l.is(":checkbox")){f(l)}else{if(l.is(":radio")){c(l)}else{if(l.is(":file")){h(l)}else{if(l.is(":text, :password, input[type='email']")){j(l)}else{if(l.is("textarea")){g(l)}else{if(l.is("a")||l.is(":submit")||l.is(":reset")||l.is("button")||l.is("input[type=button]")){i(l)}}}}}}}}})}})(jQuery); \ No newline at end of file diff --git a/wootique/includes/js/libs/modernizr-2.0.6.min.js b/wootique/includes/js/libs/modernizr-2.0.6.min.js new file mode 100644 index 0000000..56e16ec --- /dev/null +++ b/wootique/includes/js/libs/modernizr-2.0.6.min.js @@ -0,0 +1,4 @@ +/* Modernizr 2.0.6 (Custom Build) | MIT & BSD + * Contains: fontface | backgroundsize | borderimage | borderradius | boxshadow | flexbox | hsla | multiplebgs | opacity | rgba | textshadow | cssanimations | csscolumns | generatedcontent | cssgradients | cssreflections | csstransforms | csstransforms3d | csstransitions | applicationcache | canvas | canvastext | draganddrop | hashchange | history | audio | video | indexeddb | input | inputtypes | localstorage | postmessage | sessionstorage | websockets | websqldatabase | webworkers | iepp | respond | mq | cssclasses | teststyles | testprop | testallprops | hasevent | prefixes | domprefixes | load + */ +;window.Modernizr=function(a,b,c){function H(){e.input=function(a){for(var b=0,c=a.length;b",a,""].join(""),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},v=function(b){if(a.matchMedia)return matchMedia(b).matches;var c;u("@media "+b+" { #"+i+" { position: absolute; } }",function(b){c=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position=="absolute"});return c},w=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=C(e[d],"function"),C(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),x,y={}.hasOwnProperty,z;!C(y,c)&&!C(y.call,c)?z=function(a,b){return y.call(a,b)}:z=function(a,b){return b in a&&C(a.constructor.prototype[b],c)};var G=function(a,c){var d=a.join(""),f=c.length;u(d,function(a,c){var d=b.styleSheets[b.styleSheets.length-1],g=d.cssRules&&d.cssRules[0]?d.cssRules[0].cssText:d.cssText||"",h=a.childNodes,i={};while(f--)i[h[f].id]=h[f];e.csstransforms3d=i.csstransforms3d.offsetLeft===9,e.generatedcontent=i.generatedcontent.offsetHeight>=1,e.fontface=/src/i.test(g)&&g.indexOf(c.split(" ")[0])===0},f,c)}(['@font-face {font-family:"font";src:url("https://")}',["@media (",o.join("transform-3d),("),i,")","{#csstransforms3d{left:9px;position:absolute}}"].join(""),['#generatedcontent:after{content:"',m,'";visibility:hidden}'].join("")],["fontface","csstransforms3d","generatedcontent"]);q.flexbox=function(){function c(a,b,c,d){a.style.cssText=o.join(b+":"+c+";")+(d||"")}function a(a,b,c,d){b+=":",a.style.cssText=(b+o.join(c+";"+b)).slice(0,-b.length)+(d||"")}var d=b.createElement("div"),e=b.createElement("div");a(d,"display","box","width:42px;padding:0;"),c(e,"box-flex","1","width:10px;"),d.appendChild(e),g.appendChild(d);var f=e.offsetWidth===42;d.removeChild(e),g.removeChild(d);return f},q.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},q.canvastext=function(){return!!e.canvas&&!!C(b.createElement("canvas").getContext("2d").fillText,"function")},q.postmessage=function(){return!!a.postMessage},q.websqldatabase=function(){var b=!!a.openDatabase;return b},q.indexedDB=function(){for(var b=-1,c=p.length;++b7)},q.history=function(){return!!a.history&&!!history.pushState},q.draganddrop=function(){return w("dragstart")&&w("drop")},q.websockets=function(){for(var b=-1,c=p.length;++b";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b=u.minw)&&(!u.maxw||u.maxw&&l<=u.maxw))m[u.media]||(m[u.media]=[]),m[u.media].push(f[u.rules])}for(var t in g)g[t]&&g[t].parentNode===j&&j.removeChild(g[t]);for(var t in m){var v=c.createElement("style"),w=m[t].join("\n");v.type="text/css",v.media=t,v.styleSheet?v.styleSheet.cssText=w:v.appendChild(c.createTextNode(w)),n.appendChild(v),g.push(v)}j.insertBefore(n,o.nextSibling)}},s=function(a,b){var c=t();if(!!c){c.open("GET",a,!0),c.onreadystatechange=function(){c.readyState==4&&(c.status==200||c.status==304)&&b(c.responseText)};if(c.readyState==4)return;c.send()}},t=function(){var a=!1,b=[function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new XMLHttpRequest}],c=b.length;while(c--){try{a=b[c]()}catch(d){continue}break}return function(){return a}}();m(),respond.update=m,a.addEventListener?a.addEventListener("resize",u,!1):a.attachEvent&&a.attachEvent("onresize",u)}}(this,Modernizr.mq("only all")),function(a,b,c){function k(a){return!a||a=="loaded"||a=="complete"}function j(){var a=1,b=-1;while(p.length- ++b)if(p[b].s&&!(a=p[b].r))break;a&&g()}function i(a){var c=b.createElement("script"),d;c.src=a.s,c.onreadystatechange=c.onload=function(){!d&&k(c.readyState)&&(d=1,j(),c.onload=c.onreadystatechange=null)},m(function(){d||(d=1,j())},H.errorTimeout),a.e?c.onload():n.parentNode.insertBefore(c,n)}function h(a){var c=b.createElement("link"),d;c.href=a.s,c.rel="stylesheet",c.type="text/css";if(!a.e&&(w||r)){var e=function(a){m(function(){if(!d)try{a.sheet.cssRules.length?(d=1,j()):e(a)}catch(b){b.code==1e3||b.message=="security"||b.message=="denied"?(d=1,m(function(){j()},0)):e(a)}},0)};e(c)}else c.onload=function(){d||(d=1,m(function(){j()},0))},a.e&&c.onload();m(function(){d||(d=1,j())},H.errorTimeout),!a.e&&n.parentNode.insertBefore(c,n)}function g(){var a=p.shift();q=1,a?a.t?m(function(){a.t=="c"?h(a):i(a)},0):(a(),j()):q=0}function f(a,c,d,e,f,h){function i(){!o&&k(l.readyState)&&(r.r=o=1,!q&&j(),l.onload=l.onreadystatechange=null,m(function(){u.removeChild(l)},0))}var l=b.createElement(a),o=0,r={t:d,s:c,e:h};l.src=l.data=c,!s&&(l.style.display="none"),l.width=l.height="0",a!="object"&&(l.type=d),l.onload=l.onreadystatechange=i,a=="img"?l.onerror=i:a=="script"&&(l.onerror=function(){r.e=r.r=1,g()}),p.splice(e,0,r),u.insertBefore(l,s?null:n),m(function(){o||(u.removeChild(l),r.r=r.e=o=1,j())},H.errorTimeout)}function e(a,b,c){var d=b=="c"?z:y;q=0,b=b||"j",C(a)?f(d,a,b,this.i++,l,c):(p.splice(this.i++,0,a),p.length==1&&g());return this}function d(){var a=H;a.loader={load:e,i:0};return a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=r&&!s,u=s?l:n.parentNode,v=a.opera&&o.call(a.opera)=="[object Opera]",w="webkitAppearance"in l.style,x=w&&"async"in b.createElement("script"),y=r?"object":v||x?"img":"script",z=w?"img":y,A=Array.isArray||function(a){return o.call(a)=="[object Array]"},B=function(a){return Object(a)===a},C=function(a){return typeof a=="string"},D=function(a){return o.call(a)=="[object Function]"},E=[],F={},G,H;H=function(a){function f(a){var b=a.split("!"),c=E.length,d=b.pop(),e=b.length,f={url:d,origUrl:d,prefixes:b},g,h;for(h=0;h. +* Author: Drew Diller +* Email: drew.diller@gmail.com +* URL: http://www.dillerdesign.com/experiment/DD_belatedPNG/ +* Version: 0.0.8a +* Licensed under the MIT License: http://dillerdesign.com/experiment/DD_belatedPNG/#license +* +* Example usage: +* DD_belatedPNG.fix('.png_bg'); // argument is a CSS selector +* DD_belatedPNG.fixPng( someNode ); // argument is an HTMLDomElement +**/ +var DD_belatedPNG={ns:"DD_belatedPNG",imgSize:{},delay:10,nodesFixed:0,createVmlNameSpace:function(){if(document.namespaces&&!document.namespaces[this.ns]){document.namespaces.add(this.ns,"urn:schemas-microsoft-com:vml")}},createVmlStyleSheet:function(){var b,a;b=document.createElement("style");b.setAttribute("media","screen");document.documentElement.firstChild.insertBefore(b,document.documentElement.firstChild.firstChild);if(b.styleSheet){b=b.styleSheet;b.addRule(this.ns+"\\:*","{behavior:url(#default#VML)}");b.addRule(this.ns+"\\:shape","position:absolute;");b.addRule("img."+this.ns+"_sizeFinder","behavior:none; border:none; position:absolute; z-index:-1; top:-10000px; visibility:hidden;");this.screenStyleSheet=b;a=document.createElement("style");a.setAttribute("media","print");document.documentElement.firstChild.insertBefore(a,document.documentElement.firstChild.firstChild);a=a.styleSheet;a.addRule(this.ns+"\\:*","{display: none !important;}");a.addRule("img."+this.ns+"_sizeFinder","{display: none !important;}")}},readPropertyChange:function(){var b,c,a;b=event.srcElement;if(!b.vmlInitiated){return}if(event.propertyName.search("background")!=-1||event.propertyName.search("border")!=-1){DD_belatedPNG.applyVML(b)}if(event.propertyName=="style.display"){c=(b.currentStyle.display=="none")?"none":"block";for(a in b.vml){if(b.vml.hasOwnProperty(a)){b.vml[a].shape.style.display=c}}}if(event.propertyName.search("filter")!=-1){DD_belatedPNG.vmlOpacity(b)}},vmlOpacity:function(b){if(b.currentStyle.filter.search("lpha")!=-1){var a=b.currentStyle.filter;a=parseInt(a.substring(a.lastIndexOf("=")+1,a.lastIndexOf(")")),10)/100;b.vml.color.shape.style.filter=b.currentStyle.filter;b.vml.image.fill.opacity=a}},handlePseudoHover:function(a){setTimeout(function(){DD_belatedPNG.applyVML(a)},1)},fix:function(a){if(this.screenStyleSheet){var c,b;c=a.split(",");for(b=0;bn.H){i.B=n.H}d.vml.image.shape.style.clip="rect("+i.T+"px "+(i.R+a)+"px "+i.B+"px "+(i.L+a)+"px)"}else{d.vml.image.shape.style.clip="rect("+f.T+"px "+f.R+"px "+f.B+"px "+f.L+"px)"}},figurePercentage:function(d,c,f,a){var b,e;e=true;b=(f=="X");switch(a){case"left":case"top":d[f]=0;break;case"center":d[f]=0.5;break;case"right":case"bottom":d[f]=1;break;default:if(a.search("%")!=-1){d[f]=parseInt(a,10)/100}else{e=false}}d[f]=Math.ceil(e?((c[b?"W":"H"]*d[f])-(c[b?"w":"h"]*d[f])):parseInt(a,10));if(d[f]%2===0){d[f]++}return d[f]},fixPng:function(c){c.style.behavior="none";var g,b,f,a,d;if(c.nodeName=="BODY"||c.nodeName=="TD"||c.nodeName=="TR"){return}c.isImg=false;if(c.nodeName=="IMG"){if(c.src.toLowerCase().search(/\.png$/)!=-1){c.isImg=true;c.style.visibility="hidden"}else{return}}else{if(c.currentStyle.backgroundImage.toLowerCase().search(".png")==-1){return}}g=DD_belatedPNG;c.vml={color:{},image:{}};b={shape:{},fill:{}};for(a in c.vml){if(c.vml.hasOwnProperty(a)){for(d in b){if(b.hasOwnProperty(d)){f=g.ns+":"+d;c.vml[a][d]=document.createElement(f)}}c.vml[a].shape.stroked=false;c.vml[a].shape.appendChild(c.vml[a].fill);c.parentNode.insertBefore(c.vml[a].shape,c)}}c.vml.image.shape.fillcolor="none";c.vml.image.fill.type="tile";c.vml.color.fill.on=false;g.attachHandlers(c);g.giveLayout(c);g.giveLayout(c.offsetParent);c.vmlInitiated=true;g.applyVML(c)}};try{document.execCommand("BackgroundImageCache",false,true)}catch(r){}DD_belatedPNG.createVmlNameSpace();DD_belatedPNG.createVmlStyleSheet(); + +/* ADD YOUR CLASSES HERE e.g. #footer .rss, .cuteicon, .etc */ + +DD_belatedPNG.fix('img'); + +/* string argument can be any CSS selector */ +/* change it to what suits you! */ \ No newline at end of file diff --git a/wootique/includes/js/superfish.js b/wootique/includes/js/superfish.js new file mode 100644 index 0000000..5dc48e2 --- /dev/null +++ b/wootique/includes/js/superfish.js @@ -0,0 +1,124 @@ +/* + * Superfish v1.4.8 - jQuery menu widget + * Copyright (c) 2008 Joel Birch + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt + */ + +;(function($){ + $.fn.superfish = function(op){ + + var sf = $.fn.superfish, + c = sf.c, + $arrow = $([' »'].join('')), + over = function(){ + var $$ = $(this), menu = getMenu($$); + clearTimeout(menu.sfTimer); + $$.showSuperfishUl().siblings().hideSuperfishUl(); + }, + out = function(){ + var $$ = $(this), menu = getMenu($$), o = sf.op; + clearTimeout(menu.sfTimer); + menu.sfTimer=setTimeout(function(){ + o.retainPath=($.inArray($$[0],o.$path)>-1); + $$.hideSuperfishUl(); + if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);} + },o.delay); + }, + getMenu = function($menu){ + var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0]; + sf.op = sf.o[menu.serial]; + return menu; + }, + addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); }; + + return this.each(function() { + var s = this.serial = sf.o.length; + var o = $.extend({},sf.defaults,op); + o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){ + $(this).addClass([o.hoverClass,c.bcClass].join(' ')) + .filter('li:has(ul)').removeClass(o.pathClass); + }); + sf.o[s] = sf.op = o; + + $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() { + if (o.autoArrows) addArrow( $('>a:first-child',this) ); + }) + .not('.'+c.bcClass) + .hideSuperfishUl(); + + var $a = $('a',this); + $a.each(function(i){ + var $li = $a.eq(i).parents('li'); + $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);}); + }); + o.onInit.call(this); + + }).each(function() { + var menuClasses = [c.menuClass]; + if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass); + $(this).addClass(menuClasses.join(' ')); + }); + }; + + var sf = $.fn.superfish; + sf.o = []; + sf.op = {}; + sf.IE7fix = function(){ + var o = sf.op; + if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined) + this.toggleClass(sf.c.shadowClass+'-off'); + }; + sf.c = { + bcClass : 'sf-breadcrumb', + menuClass : 'sf-js-enabled', + anchorClass : 'sf-with-ul', + arrowClass : 'sf-sub-indicator', + shadowClass : 'sf-shadow' + }; + sf.defaults = { + hoverClass : 'sfHover', + pathClass : 'overideThisToUse', + pathLevels : 1, + delay : 800, + animation : {opacity:'show',height:'show'}, + speed : 'normal', + autoArrows : true, + dropShadows : false, + disableHI : false, // true disables hoverIntent detection + onInit : function(){}, // callback functions + onBeforeShow: function(){}, + onShow : function(){}, + onHide : function(){} + }; + $.fn.extend({ + hideSuperfishUl : function(){ + var o = sf.op, + not = (o.retainPath===true) ? o.$path : ''; + o.retainPath = false; + var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass) + .find('>ul').hide().css('visibility','hidden'); + o.onHide.call($ul); + return this; + }, + showSuperfishUl : function(){ + var o = sf.op, + sh = sf.c.shadowClass+'-off', + $ul = this.addClass(o.hoverClass) + .find('>ul:hidden').css('visibility','visible'); + sf.IE7fix.call($ul); + o.onBeforeShow.call($ul); + $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); }); + return this; + } + }); + +})(jQuery); + +jQuery(document).ready(function() { + jQuery('ul#main-nav').superfish(); +}); diff --git a/wootique/includes/js/woo_tabs.js b/wootique/includes/js/woo_tabs.js new file mode 100644 index 0000000..d46d297 --- /dev/null +++ b/wootique/includes/js/woo_tabs.js @@ -0,0 +1,31 @@ +jQuery(document).ready(function(){ + + // UL = .wooTabs + // Tab contents = .inside + + var tag_cloud_class = '#tagcloud'; + + //Fix for tag clouds - unexpected height before .hide() + var tag_cloud_height = jQuery('#tagcloud').height(); + + jQuery('.inside ul li:last-child').css('border-bottom','0px'); // remove last border-bottom from list in tab content + jQuery('.wooTabs').each(function(){ + jQuery(this).children('li').children('a:first').addClass('selected'); // Add .selected class to first tab on load + }); + jQuery('.inside > *').hide(); + jQuery('.inside > *:first-child').show(); + + jQuery('.wooTabs li a').click(function(evt){ // Init Click funtion on Tabs + + var clicked_tab_ref = jQuery(this).attr('href'); // Strore Href value + + jQuery(this).parent().parent().children('li').children('a').removeClass('selected'); //Remove selected from all tabs + jQuery(this).addClass('selected'); + jQuery(this).parent().parent().parent().children('.inside').children('*').hide(); + + jQuery('.inside ' + clicked_tab_ref).fadeIn(500); + + evt.preventDefault(); + + }) +}) \ No newline at end of file diff --git a/wootique/includes/sidebar-init.php b/wootique/includes/sidebar-init.php new file mode 100644 index 0000000..6b2b82f --- /dev/null +++ b/wootique/includes/sidebar-init.php @@ -0,0 +1,23 @@ + 'Primary','id' => 'primary','description' => "Normal full width Sidebar", 'before_widget' => '
                    ','after_widget' => '
                    ','before_title' => '

                    ','after_title' => '

                    ')); + + register_sidebar(array( 'name' => 'Footer 1','id' => 'footer-1', 'description' => "Widetized footer", 'before_widget' => '
                    ','after_widget' => '
                    ','before_title' => '

                    ','after_title' => '

                    ')); + register_sidebar(array( 'name' => 'Footer 2','id' => 'footer-2', 'description' => "Widetized footer", 'before_widget' => '
                    ','after_widget' => '
                    ','before_title' => '

                    ','after_title' => '

                    ')); + register_sidebar(array( 'name' => 'Footer 3','id' => 'footer-3', 'description' => "Widetized footer", 'before_widget' => '
                    ','after_widget' => '
                    ','before_title' => '

                    ','after_title' => '

                    ')); + register_sidebar(array( 'name' => 'Footer 4','id' => 'footer-4', 'description' => "Widetized footer", 'before_widget' => '
                    ','after_widget' => '
                    ','before_title' => '

                    ','after_title' => '

                    ')); + } +} + +add_action( 'init', 'the_widgets_init' ); + + + +?> \ No newline at end of file diff --git a/wootique/includes/theme-actions.php b/wootique/includes/theme-actions.php new file mode 100644 index 0000000..147841a --- /dev/null +++ b/wootique/includes/theme-actions.php @@ -0,0 +1,321 @@ +\n\n"; + echo $output; + } + + } +} + +/*-----------------------------------------------------------------------------------*/ +/* Add custom typograhpy to HEAD */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'woo_head','woo_custom_typography' ); // Add custom typography to HEAD + +if (!function_exists( 'woo_custom_typography')) { + function woo_custom_typography() { + + // Get options + global $woo_options; + + // Reset + $output = ''; + + // Add Text title and tagline if text title option is enabled + if ( $woo_options[ 'woo_texttitle' ] == "true" ) { + + //if ( $woo_options[ 'woo_font_site_title' ] ) + //$output .= '#logo .site-title a {'.woo_generate_font_css($woo_options[ 'woo_font_site_title' ]).'}' . "\n"; + //if ( $woo_options[ 'woo_tagline' ] == "true" AND $woo_options[ 'woo_font_tagline' ] ) + //$output .= '#logo .site-description {'.woo_generate_font_css($woo_options[ 'woo_font_tagline' ]).'}' . "\n"; + } + + if ( $woo_options[ 'woo_typography' ] == "true") { + + if ( $woo_options[ 'woo_font_body' ] ) + $output .= 'body { '.woo_generate_font_css($woo_options[ 'woo_font_body' ], '1.5').' }' . "\n"; + + if ( $woo_options[ 'woo_font_nav' ] ) + $output .= '#navigation, #navigation .nav a { '.woo_generate_font_css($woo_options[ 'woo_font_nav' ], '1.4').' }' . "\n"; + + if ( $woo_options[ 'woo_font_post_title' ] ) + $output .= '.post .title { '.woo_generate_font_css($woo_options[ 'woo_font_post_title' ]).' }' . "\n"; + + //if ( $woo_options[ 'woo_font_post_meta' ] ) + // $output .= '.post-meta { '.woo_generate_font_css($woo_options[ 'woo_font_post_meta' ]).' }' . "\n"; + + if ( $woo_options[ 'woo_font_post_entry' ] ) + $output .= '.entry, .entry p { '.woo_generate_font_css($woo_options[ 'woo_font_post_entry' ], '1.5').' } h1, h2, h3, h4, h5, h6 { font-family: '.stripslashes($woo_options[ 'woo_font_post_entry' ]['face']).', arial, sans-serif; }' . "\n"; + + if ( $woo_options[ 'woo_font_widget_titles' ] ) + $output .= '.widget h3 { '.woo_generate_font_css($woo_options[ 'woo_font_widget_titles' ]).' }' . "\n"; + + // Add default typography Google Font + } else { + + $woo_options['woo_just_face'] = array('face' => 'Varela Round'); + $output .= 'body, h1, h2, h3, h4, h5, h6, .widget h3, .post .title, .section .post .title, .archive_header, .entry, .entry p, .post-meta { '.woo_generate_font_css($woo_options['woo_just_face']).' }' . "\n"; + $woo_options['woo_just_face'] = array('face' => 'Varela Round'); + $output .= '.feedback blockquote p, #post-entries, #breadcrumbs { '.woo_generate_font_css($woo_options['woo_just_face']).' }' . "\n"; + + } + + // Output styles + if (isset($output) && $output != '') { + + // Enable Google Fonts stylesheet in HEAD + if (function_exists( 'woo_google_webfonts')) woo_google_webfonts(); + + $output = "\n\n\n"; + echo $output; + + } + + } +} + +// Returns proper font css output +if (!function_exists( 'woo_generate_font_css')) { + function woo_generate_font_css($option, $em = '1') { + + // Test if font-face is a Google font + global $google_fonts; + foreach ( $google_fonts as $google_font ) { + + // Add single quotation marks to font name and default arial sans-serif ending + if ( $option[ 'face' ] == $google_font[ 'name' ] ) + $option[ 'face' ] = "'" . $option[ 'face' ] . "', arial, sans-serif"; + + } // END foreach + + if ( !@$option["style"] && !@$option["size"] && !@$option["unit"] && !@$option["color"] ) + return 'font-family: '.stripslashes($option["face"]).';'; + else + return 'font:'.$option["style"].' '.$option["size"].$option["unit"].'/'.$em.'em '.stripslashes($option["face"]).';color:'.$option["color"].';'; + } +} + +// Output stylesheet and custom.css after custom styling +remove_action( 'wp_head', 'woothemes_wp_head' ); +add_action( 'woo_head', 'woothemes_wp_head' ); +// Returns proper font css output +if (!function_exists( 'woo_generate_font_css')) { + function woo_generate_font_css($option, $em = '1') { + + // Test if font-face is a Google font + global $google_fonts; + foreach ( $google_fonts as $google_font ) { + + // Add single quotation marks to font name and default arial sans-serif ending + if ( $option[ 'face' ] == $google_font[ 'name' ] ) + $option[ 'face' ] = "'" . $option[ 'face' ] . "', arial, sans-serif"; + + } // END foreach + + if ( !@$option["style"] && !@$option["size"] && !@$option["unit"] && !@$option["color"] ) + return 'font-family: '.stripslashes($option["face"]).';'; + else + return 'font:'.$option["style"].' '.$option["size"].$option["unit"].'/'.$em.'em '.stripslashes($option["face"]).';color:'.$option["color"].';'; + } +} + +// Output stylesheet and custom.css after custom styling +remove_action( 'wp_head', 'woothemes_wp_head' ); +add_action( 'woo_head', 'woothemes_wp_head' ); + + +/*-----------------------------------------------------------------------------------*/ +/* Add layout to body_class output */ +/*-----------------------------------------------------------------------------------*/ + +add_filter( 'body_class','woo_layout_body_class' ); // Add layout to body_class output + +if (!function_exists( 'woo_layout_body_class')) { + function woo_layout_body_class($classes) { + + global $woo_options; + $layout = $woo_options[ 'woo_site_layout' ]; + + // Set main layout on post or page + if ( is_singular() ) { + global $post; + $single = get_post_meta($post->ID, '_layout', true); + if ( $single != "" AND $single != "layout-default" ) + $layout = $single; + } + + // Add layout to $woo_options array for use in theme + $woo_options[ 'woo_layout' ] = $layout; + + // Add classes to body_class() output + $classes[] = $layout; + return $classes; + + } +} + + +/*-----------------------------------------------------------------------------------*/ +/* woo_feedburner_link() */ +/*-----------------------------------------------------------------------------------*/ +/** + * woo_feedburner_link() + * + * Replace the default RSS feed link with the Feedburner URL, if one + * has been provided by the user. + * + * @package WooFramework + * @subpackage Filters + */ + +add_filter( 'feed_link', 'woo_feedburner_link', 10 ); + +function woo_feedburner_link ( $output, $feed = null ) { + + global $woo_options; + + $default = get_default_feed(); + + if ( ! $feed ) $feed = $default; + + if ( $woo_options[ 'woo_feed_url' ] && ( $feed == $default ) && ( ! stristr( $output, 'comments' ) ) ) $output = esc_url( $woo_options[ 'woo_feed_url' ] ); + + return $output; + +} // End woo_feedburner_link() + + +/*-----------------------------------------------------------------------------------*/ +/* END */ +/*-----------------------------------------------------------------------------------*/ +?> \ No newline at end of file diff --git a/wootique/includes/theme-comments.php b/wootique/includes/theme-comments.php new file mode 100644 index 0000000..d973d7d --- /dev/null +++ b/wootique/includes/theme-comments.php @@ -0,0 +1,70 @@ + + +
                  • > + + + +
                    + + +
                    + + +
                    + + + + # + + +
                    + +
                    + + + + comment_approved == '0') { ?> +

                    + + +
                    + $depth, 'max_depth' => $args['max_depth']))) ?> +
                    + +
                    + +
                    + + + +
                  • + - + + + + \ No newline at end of file diff --git a/wootique/includes/theme-functions.php b/wootique/includes/theme-functions.php new file mode 100644 index 0000000..2276132 --- /dev/null +++ b/wootique/includes/theme-functions.php @@ -0,0 +1,315 @@ + 0 ) { + + // Setup the categories as a string, because "category__not_in" doesn't seem to work + // when using query_posts(). + + foreach ( $excluded_cats as $k => $v ) { $excluded_cats[$k] = '-' . $v; } + $cats = join( ',', $excluded_cats ); + + $args['cat'] = $cats; + } + + return $args; + +} // End woo_exclude_categories_blogtemplate() + +/*-----------------------------------------------------------------------------------*/ +/* Exclude categories from displaying on the homepage. +/*-----------------------------------------------------------------------------------*/ + +// Exclude categories on the homepage. +add_filter( 'pre_get_posts', 'woo_exclude_categories_homepage' ); + +function woo_exclude_categories_homepage ( $query ) { + + if ( ! function_exists( 'woo_prepare_category_ids_from_option' ) ) { return $query; } + + $excluded_cats = array(); + + // Process the category data and convert all categories to IDs. + $excluded_cats = woo_prepare_category_ids_from_option( 'woo_exclude_cats_home' ); + + // Homepage logic. + if ( is_home() && ( count( $excluded_cats ) > 0 ) ) { + $query->set( 'category__not_in', $excluded_cats ); + } + + $query->parse_query(); + + return $query; + +} // End woo_exclude_categories_homepage() + +/*-----------------------------------------------------------------------------------*/ +/* Register WP Menus */ +/*-----------------------------------------------------------------------------------*/ +if ( function_exists( 'wp_nav_menu') ) { + add_theme_support( 'nav-menus' ); + register_nav_menus( array( 'primary-menu' => __( 'Primary Menu', 'woothemes' ) ) ); + register_nav_menus( array( 'top-menu' => __( 'Top Menu', 'woothemes' ) ) ); +} + + +/*-----------------------------------------------------------------------------------*/ +/* Page navigation */ +/*-----------------------------------------------------------------------------------*/ +if (!function_exists( 'woo_pagenav')) { + function woo_pagenav() { + + global $woo_options; + + // If the user has set the option to use simple paging links, display those. By default, display the pagination. + if ( array_key_exists( 'woo_pagination_type', $woo_options ) && $woo_options[ 'woo_pagination_type' ] == 'simple' ) { + if ( get_next_posts_link() || get_previous_posts_link() ) { + ?> + + +
                  • + 0) woo_image( 'height='.$size.'&width='.$size.'&class=thumbnail&single=true' ); ?> + + +
                    +
                  • + + + + +
                    +

                    + +
                    > +

                    + + + + + + + + + + + + + +
                    + +
                    + + + + +
                    "> + + + + + + + + + + + + + + + + + + + + + + + + + +
                    + + +
                    + + + + + +
                    +
                    + +(' . __( 'Required', 'woothemes' ) . ')'; + + $req = get_option( 'require_name_email' ); + $aria_req = ( $req ? " aria-required='true'" : '' ); + $fields = array( + 'author' => '

                    ' . + '' . + ' ' . + '

                    ', + 'email' => '', + 'url' => '

                    ' . + '' . + '' . + '

                    ', + ); + + return $fields; + + } // End woo_comment_form_fields() + } + +/*-----------------------------------------------------------------------------------*/ +/* Comment Form Settings */ +/*-----------------------------------------------------------------------------------*/ + + add_filter( 'comment_form_defaults', 'woo_comment_form_settings' ); + + if ( ! function_exists( 'woo_comment_form_settings' ) ) { + function woo_comment_form_settings ( $settings ) { + + $settings['comment_notes_before'] = ''; + $settings['comment_notes_after'] = ''; + $settings['label_submit'] = __( 'Submit Comment', 'woothemes' ); + $settings['cancel_reply_link'] = __( 'Click here to cancel reply.', 'woothemes' ); + + return $settings; + + } // End woo_comment_form_settings() + } + + /*-----------------------------------------------------------------------------------*/ + /* Misc back compat */ + /*-----------------------------------------------------------------------------------*/ + + // array_fill_keys doesn't exist in PHP < 5.2 + // Can remove this after PHP < 5.2 support is dropped + if ( !function_exists( 'array_fill_keys' ) ) { + function array_fill_keys( $keys, $value ) { + return array_combine( $keys, array_fill( 0, count( $keys ), $value ) ); + } + } + +/*-----------------------------------------------------------------------------------*/ +/* END */ +/*-----------------------------------------------------------------------------------*/ +?> \ No newline at end of file diff --git a/wootique/includes/theme-install.php b/wootique/includes/theme-install.php new file mode 100644 index 0000000..35b1b92 --- /dev/null +++ b/wootique/includes/theme-install.php @@ -0,0 +1,32 @@ + \ No newline at end of file diff --git a/wootique/includes/theme-options.php b/wootique/includes/theme-options.php new file mode 100644 index 0000000..b55937a --- /dev/null +++ b/wootique/includes/theme-options.php @@ -0,0 +1,710 @@ +cat_ID] = $woo_cat->cat_name;} +$categories_tmp = array_unshift($woo_categories, "Select a category:" ); + +//Access the WordPress Pages via an Array +$woo_pages = array(); +$woo_pages_obj = get_pages( 'sort_column=post_parent,menu_order' ); +foreach ($woo_pages_obj as $woo_page) { + $woo_pages[$woo_page->ID] = $woo_page->post_name; } +$woo_pages_tmp = array_unshift($woo_pages, "Select a page:" ); + +//Stylesheets Reader +$alt_stylesheet_path = get_template_directory() . '/styles/'; +$alt_stylesheets = array(); +if ( is_dir($alt_stylesheet_path) ) { + if ($alt_stylesheet_dir = opendir($alt_stylesheet_path) ) { + while ( ($alt_stylesheet_file = readdir($alt_stylesheet_dir)) !== false ) { + if(stristr($alt_stylesheet_file, ".css") !== false) { + $alt_stylesheets[] = $alt_stylesheet_file; + } + } + } +} + +//More Options +$other_entries = array( "Select a number:","4","8","12" ); + +// THIS IS THE DIFFERENT FIELDS +$options = array(); + +// General + +$options[] = array( "name" => "General Settings", + "type" => "heading", + "icon" => "general" ); + +//$options[] = array( "name" => "Theme Stylesheet", +// "desc" => "Select your themes alternative color scheme.", +// "id" => $shortname."_alt_stylesheet", +// "std" => "default.css", +// "type" => "select", +// "options" => $alt_stylesheets); + +$options[] = array( "name" => "Custom Logo", + "desc" => "Upload a logo for your theme, or specify an image URL directly.", + "id" => $shortname."_logo", + "std" => "", + "type" => "upload" ); + +$options[] = array( "name" => "Text Title", + "desc" => "Enable text-based Site Title and Tagline. Setup title & tagline in General Settings.", + "id" => $shortname."_texttitle", + "std" => "true", + "type" => "checkbox" ); + +//$options[] = array( "name" => "Site Title", +// "desc" => "Change the site title typography.", +// "id" => $shortname."_font_site_title", +// "std" => array( 'size' => '30','unit' => 'px','face' => 'Droid Serif','style' => 'bold','color' => '#333333'), +// "class" => "hidden", +// "type" => "typography" ); + +$options[] = array( "name" => "Site Description", + "desc" => "Enable the site description/tagline under site title.", + "id" => $shortname."_tagline", + "class" => "hidden", + "std" => "false", + "type" => "checkbox" ); + +//$options[] = array( "name" => "Site Description", +// "desc" => "Change the site description typography.", +// "id" => $shortname."_font_tagline", +// "std" => array( 'size' => '12','unit' => 'px','face' => 'Droid Sans','style' => '','color' => '#999999'), +// "class" => "hidden last", +// "type" => "typography" ); + +$options[] = array( "name" => "Custom Favicon", + "desc" => "Upload a 16px x 16px ico image that will represent your website's favicon.", + "id" => $shortname."_custom_favicon", + "std" => "", + "type" => "upload" ); + +$options[] = array( "name" => "Tracking Code", + "desc" => "Paste your Google Analytics (or other) tracking code here. This will be added into the footer template of your theme.", + "id" => $shortname."_google_analytics", + "std" => "", + "type" => "textarea" ); + +$options[] = array( "name" => "RSS URL", + "desc" => "Enter your preferred RSS URL. (Feedburner or other)", + "id" => $shortname."_feed_url", + "std" => "", + "type" => "text" ); + +$options[] = array( "name" => "E-Mail Subscription URL", + "desc" => "Enter your preferred E-mail subscription URL. (Feedburner or other)", + "id" => $shortname."_subscribe_email", + "std" => "", + "type" => "text" ); + +$options[] = array( "name" => "Contact Form E-Mail", + "desc" => "Enter your E-mail address to use on the Contact Form Page Template. Add the contact form by adding a new page and selecting 'Contact Form' as page template.", + "id" => $shortname."_contactform_email", + "std" => "", + "type" => "text" ); + +$options[] = array( "name" => "Custom CSS", + "desc" => "Quickly add some CSS to your theme by adding it to this block.", + "id" => $shortname."_custom_css", + "std" => "", + "type" => "textarea" ); + +$options[] = array( "name" => "Search scope", + "desc" => "Select whether you want the search in the header to search for products or posts ", + "id" => $shortname."_header_search_scope", + "type" => "select2", + "options" => array( "products" => "Products", "posts" => "Posts" ) ); + +$options[] = array( "name" => "Post/Page Comments", + "desc" => "Select if you want to enable/disable comments on posts and/or pages. ", + "id" => $shortname."_comments", + "type" => "select2", + "options" => array( "post" => "Posts Only", "page" => "Pages Only", "both" => "Pages / Posts", "none" => "None") ); + +$options[] = array( "name" => "Post Content", + "desc" => "Select if you want to show the full content or the excerpt on posts. ", + "id" => $shortname."_post_content", + "type" => "select2", + "options" => array( "excerpt" => "The Excerpt", "content" => "Full Content" ) ); + +$options[] = array( "name" => "Post Author Box", + "desc" => "This will enable the post author box on the single posts page. Edit description in Profile.", + "id" => $shortname."_post_author", + "std" => "true", + "type" => "checkbox" ); + +$options[] = array( "name" => "Display Breadcrumbs", + "desc" => "Display dynamic breadcrumbs on each page of your website.", + "id" => $shortname."_breadcrumbs_show", + "std" => "false", + "type" => "checkbox" ); + +$options[] = array( "name" => "Pagination Style", + "desc" => "Select the style of pagination you would like to use on the blog.", + "id" => $shortname."_pagination_type", + "type" => "select2", + "options" => array( "paginated_links" => "Numbers", "simple" => "Next/Previous" ) ); + +/* Homepage settings */ +$options[] = array( "name" => "Homepage Settings", + "icon" => "slider", + "type" => "heading"); + +$options[] = array( "name" => "Homepage content", + "desc" => "Display your latest post on the homepage above the slider.", + "id" => $shortname."_homepage_content", + "std" => "true", + "type" => "checkbox" ); + +$options[] = array( "name" => "Homepage Featured Products", + "desc" => "Display featured products as a slider or a static grid", + "id" => $shortname."_featured_product_style", + "type" => "select2", + "options" => array( "slider" => "Slider", "simple" => "Static grid" ) ); + +$options[] = array( "name" => "Featured Entries", + "desc" => "Select the number of entries that should appear in the featured slider/grid.", + "id" => $shortname."_featured_product_limit", + "std" => "8", + "type" => "select", + "options" => $other_entries ); + +// Styling + +$options[] = array( "name" => "Styling Options", + "type" => "heading", + "icon" => "styling" ); + +$options[] = array( "name" => "Background Color", + "desc" => "Pick a custom color for the background of your website e.g. #697e09.", + "id" => "woo_background_color", + "std" => "", + "type" => "color" ); + +$options[] = array( "name" => "Menu /Footer Opacity", + "desc" => "Define a different opacity for your menu and footer (from 0 - 1)", + "id" => $shortname."_menu_opacity", + "std" => "0.3", + "type" => "select", + "options" => array( '0', '0.1', '0.2', '0.3', '0.4', '0.5', '0.6', '0.7', '0.8', '0.9', '1' ) ); + +$options[] = array( "name" => "Container Shadow Strength", + "desc" => "Define the strength of the drop shadow on the main container (from 0 - 1, 0 will disable the drop shadow)", + "id" => $shortname."_container_shadow", + "std" => "0.3", + "type" => "select", + "options" => array( '0', '0.1', '0.2', '0.3', '0.4', '0.5', '0.6', '0.7', '0.8', '0.9', '1' ) ); + +$options[] = array( "name" => "Background Image", + "desc" => "Upload an image for the theme's background", + "id" => $shortname."_body_img", + "std" => "", + "type" => "upload" ); + +$options[] = array( "name" => "Background Image Repeat", + "desc" => "Select how you would like to repeat the background-image", + "id" => $shortname."_body_repeat", + "std" => "no-repeat", + "type" => "select", + "options" => array( "no-repeat","repeat-x","repeat-y","repeat")); + +$options[] = array( "name" => "Background Image Position", + "desc" => "Select how you would like to position the background", + "id" => $shortname."_body_pos", + "std" => "top", + "type" => "select", + "options" => array( "top left","top center","top right","center left","center center","center right","bottom left","bottom center","bottom right")); + +$options[] = array( "name" => "Background Attachment", + "desc" => "Select whether the background should be fixed or move when the page scrolls", + "id" => $shortname."_body_attachment", + "std" => "scroll", + "type" => "select", + "options" => array( "scroll","fixed")); + + +$options[] = array( "name" => "Link Color", + "desc" => "Pick a custom color for links or add a hex color code e.g. #697e09", + "id" => "woo_link_color", + "std" => "", + "type" => "color" ); + +$options[] = array( "name" => "Link Hover Color", + "desc" => "Pick a custom color for links hover or add a hex color code e.g. #697e09", + "id" => "woo_link_hover_color", + "std" => "", + "type" => "color" ); + +/* Typography */ + +$options[] = array( "name" => "Typography", + "type" => "heading", + "icon" => "typography" ); + +$options[] = array( "name" => "Enable Custom Typography", + "desc" => "Enable the use of custom typography for your site. Custom styling will be output in your sites HEAD.", + "id" => $shortname."_typography", + "std" => "false", + "type" => "checkbox" ); + +$options[] = array( "name" => "General Typography", + "desc" => "Change the general font.", + "id" => $shortname."_font_body", + "std" => array( 'size' => '12','unit' => 'px','face' => 'Georgia','style' => 'normal','color' => ''), + "type" => "typography" ); + +$options[] = array( "name" => "Navigation", + "desc" => "Change the navigation font.", + "id" => $shortname."_font_nav", + "std" => array( 'size' => '14','unit' => 'px','face' => 'Varela Round','style' => 'normal','color' => ''), + "type" => "typography" ); + +$options[] = array( "name" => "Post Title", + "desc" => "Change the post title.", + "id" => $shortname."_font_post_title", + "std" => array( 'size' => '24','unit' => 'px','face' => 'Varela Round','style' => 'normal','color' => ''), + "type" => "typography" ); + +$options[] = array( "name" => "Post Meta", + "desc" => "Change the post meta.", + "id" => $shortname."_font_post_meta", + "std" => array( 'size' => '12','unit' => 'px','face' => 'Arial','style' => '','color' => '#999999'), + "type" => "typography" ); + +$options[] = array( "name" => "Post Entry", + "desc" => "Change the post entry.", + "id" => $shortname."_font_post_entry", + "std" => array( 'size' => '14','unit' => 'px','face' => 'Varela Round','style' => 'normal','color' => ''), + "type" => "typography" ); + +$options[] = array( "name" => "Widget Titles", + "desc" => "Change the widget titles.", + "id" => $shortname."_font_widget_titles", + "std" => array( 'size' => '16','unit' => 'px','face' => 'Varela Round','style' => 'normal','color' => ''), + "type" => "typography" ); + + + +/* Layout */ + +$options[] = array( "name" => "Layout Options", + "type" => "heading", + "icon" => "layout" ); + +$url = get_template_directory_uri() . '/functions/images/'; +$options[] = array( "name" => "Main Layout", + "desc" => "Select which layout you want for your site.", + "id" => $shortname."_site_layout", + "std" => "layout-left-content", + "type" => "images", + "options" => array( + 'layout-left-content' => $url . '2cl.png', + 'layout-right-content' => $url . '2cr.png') + ); + +$options[] = array( "name" => "Category Exclude - Homepage", + "desc" => "Specify a comma seperated list of category IDs or slugs that you'd like to exclude from your homepage (eg: uncategorized).", + "id" => $shortname."_exclude_cats_home", + "std" => "", + "type" => "text" ); + +$options[] = array( "name" => "Category Exclude - Blog Page Template", + "desc" => "Specify a comma seperated list of category IDs or slugs that you'd like to exclude from your 'Blog' page template (eg: uncategorized).", + "id" => $shortname."_exclude_cats_blog", + "std" => "", + "type" => "text" ); + +/* Dynamic Images */ +$options[] = array( "name" => "Dynamic Images", + "type" => "heading", + "icon" => "image" ); + +$options[] = array( "name" => 'Dynamic Image Resizing', + "desc" => "", + "id" => $shortname."_wpthumb_notice", + "std" => 'There are two alternative methods of dynamically resizing the thumbnails in the theme, WP Post Thumbnail or TimThumb - Custom Settings panel. We recommend using WP Post Thumbnail option.', + "type" => "info"); + +$options[] = array( "name" => "WP Post Thumbnail", + "desc" => "Use WordPress post thumbnail to assign a post thumbnail. Will enable the Featured Image panel in your post sidebar where you can assign a post thumbnail.", + "id" => $shortname."_post_image_support", + "std" => "true", + "class" => "collapsed", + "type" => "checkbox" ); + +$options[] = array( "name" => "WP Post Thumbnail - Dynamic Image Resizing", + "desc" => "The post thumbnail will be dynamically resized using native WP resize functionality. (Requires PHP 5.2+)", + "id" => $shortname."_pis_resize", + "std" => "true", + "class" => "hidden", + "type" => "checkbox" ); + +$options[] = array( "name" => "WP Post Thumbnail - Hard Crop", + "desc" => "The post thumbnail will be cropped to match the target aspect ratio (only used if 'Dynamic Image Resizing' is enabled).", + "id" => $shortname."_pis_hard_crop", + "std" => "true", + "class" => "hidden last", + "type" => "checkbox" ); + +$options[] = array( "name" => "TimThumb - Custom Settings Panel", + "desc" => "This will enable the TimThumb (thumb.php) script which dynamically resizes images added through the custom settings panel below the post. Make sure your themes cache folder is writable. Need help?", + "id" => $shortname."_resize", + "std" => "true", + "type" => "checkbox" ); + +$options[] = array( "name" => "Automatic Image Thumbnail", + "desc" => "If no thumbnail is specified then the first uploaded image in the post is used.", + "id" => $shortname."_auto_img", + "std" => "false", + "type" => "checkbox" ); + +$options[] = array( "name" => "Thumbnail Image Dimensions", + "desc" => "Enter an integer value i.e. 250 for the desired size which will be used when dynamically creating the images.", + "id" => $shortname."_image_dimensions", + "std" => "", + "type" => array( + array( 'id' => $shortname. '_thumb_w', + 'type' => 'text', + 'std' => 100, + 'meta' => 'Width'), + array( 'id' => $shortname. '_thumb_h', + 'type' => 'text', + 'std' => 100, + 'meta' => 'Height') + )); + +$options[] = array( "name" => "Thumbnail Alignment", + "desc" => "Select how to align your thumbnails with posts.", + "id" => $shortname."_thumb_align", + "std" => "alignleft", + "type" => "select2", + "options" => array( "alignleft" => "Left","alignright" => "Right","aligncenter" => "Center")); + +$options[] = array( "name" => "Single Post - Show Thumbnail", + "desc" => "Show the thumbnail in the single post page.", + "id" => $shortname."_thumb_single", + "class" => "collapsed", + "std" => "false", + "type" => "checkbox" ); + +$options[] = array( "name" => "Single Post - Thumbnail Dimensions", + "desc" => "Enter an integer value i.e. 250 for the image size. Max width is 576.", + "id" => $shortname."_image_dimensions", + "std" => "", + "class" => "hidden last", + "type" => array( + array( 'id' => $shortname. '_single_w', + 'type' => 'text', + 'std' => 200, + 'meta' => 'Width'), + array( 'id' => $shortname. '_single_h', + 'type' => 'text', + 'std' => 200, + 'meta' => 'Height') + )); + +$options[] = array( "name" => "Single Post - Thumbnail Alignment", + "desc" => "Select how to align your thumbnail with single posts.", + "id" => $shortname."_thumb_single_align", + "std" => "alignright", + "type" => "select2", + "class" => "hidden", + "options" => array( "alignleft" => "Left","alignright" => "Right","aligncenter" => "Center")); + +$options[] = array( "name" => "Add thumbnail to RSS feed", + "desc" => "Add the the image uploaded via your Custom Settings panel to your RSS feed", + "id" => $shortname."_rss_thumb", + "std" => "false", + "type" => "checkbox" ); + +/* Footer */ +$options[] = array( "name" => "Footer Customization", + "type" => "heading", + "icon" => "footer" ); + + +$url = get_template_directory_uri() . '/functions/images/'; +$options[] = array( "name" => "Footer Widget Areas", + "desc" => "Select how many footer widget areas you want to display.", + "id" => $shortname."_footer_sidebars", + "std" => "3", + "type" => "images", + "options" => array( + '0' => $url . 'layout-off.png', + '1' => $url . 'footer-widgets-1.png', + '2' => $url . 'footer-widgets-2.png', + '3' => $url . 'footer-widgets-3.png', + '4' => $url . 'footer-widgets-4.png') + ); + +$options[] = array( "name" => "Custom Affiliate Link", + "desc" => "Add an affiliate link to the WooThemes logo in the footer of the theme.", + "id" => $shortname."_footer_aff_link", + "std" => "", + "type" => "text" ); + +$options[] = array( "name" => "Enable Custom Footer (Left)", + "desc" => "Activate to add the custom text below to the theme footer.", + "id" => $shortname."_footer_left", + "std" => "false", + "type" => "checkbox" ); + +$options[] = array( "name" => "Custom Text (Left)", + "desc" => "Custom HTML and Text that will appear in the footer of your theme.", + "id" => $shortname."_footer_left_text", + "std" => "", + "type" => "textarea" ); + +$options[] = array( "name" => "Enable Custom Footer (Right)", + "desc" => "Activate to add the custom text below to the theme footer.", + "id" => $shortname."_footer_right", + "std" => "false", + "type" => "checkbox" ); + +$options[] = array( "name" => "Custom Text (Right)", + "desc" => "Custom HTML and Text that will appear in the footer of your theme.", + "id" => $shortname."_footer_right_text", + "std" => "", + "type" => "textarea" ); + +/* Subscribe & Connect */ +$options[] = array( "name" => "Subscribe & Connect", + "type" => "heading", + "icon" => "connect" ); + +$options[] = array( "name" => "Enable Subscribe & Connect - Single Post", + "desc" => "Enable the subscribe & connect area on single posts. You can also add this as a widget in your sidebar.", + "id" => $shortname."_connect", + "std" => 'false', + "type" => "checkbox" ); + +$options[] = array( "name" => "Subscribe Title", + "desc" => "Enter the title to show in your subscribe & connect area.", + "id" => $shortname."_connect_title", + "std" => '', + "type" => "text" ); + +$options[] = array( "name" => "Text", + "desc" => "Change the default text in this area.", + "id" => $shortname."_connect_content", + "std" => '', + "type" => "textarea" ); + +$options[] = array( "name" => "Subscribe By E-mail ID (Feedburner)", + "desc" => "Enter your Feedburner ID for the e-mail subscription form.", + "id" => $shortname."_connect_newsletter_id", + "std" => '', + "type" => "text" ); + +$options[] = array( "name" => 'Subscribe By E-mail to MailChimp', 'woothemes', + "desc" => 'If you have a MailChimp account you can enter the MailChimp List Subscribe URL to allow your users to subscribe to a MailChimp List.', + "id" => $shortname."_connect_mailchimp_list_url", + "std" => '', + "type" => "text"); + +$options[] = array( "name" => "Enable RSS", + "desc" => "Enable the subscribe and RSS icon.", + "id" => $shortname."_connect_rss", + "std" => 'true', + "type" => "checkbox" ); + +$options[] = array( "name" => "Twitter URL", + "desc" => "Enter your Twitter URL e.g. http://www.twitter.com/woothemes", + "id" => $shortname."_connect_twitter", + "std" => '', + "type" => "text" ); + +$options[] = array( "name" => "Facebook URL", + "desc" => "Enter your Facebook URL e.g. http://www.facebook.com/woothemes", + "id" => $shortname."_connect_facebook", + "std" => '', + "type" => "text" ); + +$options[] = array( "name" => "YouTube URL", + "desc" => "Enter your YouTube URL e.g. http://www.youtube.com/woothemes", + "id" => $shortname."_connect_youtube", + "std" => '', + "type" => "text" ); + +$options[] = array( "name" => "Flickr URL", + "desc" => "Enter your Flickr URL e.g. http://www.flickr.com/woothemes", + "id" => $shortname."_connect_flickr", + "std" => '', + "type" => "text" ); + +$options[] = array( "name" => "LinkedIn URL", + "desc" => "Enter your LinkedIn URL e.g. http://www.linkedin.com/in/woothemes", + "id" => $shortname."_connect_linkedin", + "std" => '', + "type" => "text" ); + +$options[] = array( "name" => "Delicious URL", + "desc" => "Enter your Delicious URL e.g. http://www.delicious.com/woothemes", + "id" => $shortname."_connect_delicious", + "std" => '', + "type" => "text" ); + +$options[] = array( "name" => "Google+ URL", + "desc" => "Enter your Google+ URL e.g. https://plus.google.com/104560124403688998123/", + "id" => $shortname."_connect_googleplus", + "std" => '', + "type" => "text" ); + +$options[] = array( "name" => "Enable Related Posts", + "desc" => "Enable related posts in the subscribe area. Uses posts with the same tags to find related posts. Note: Will not show in the Subscribe widget.", + "id" => $shortname."_connect_related", + "std" => 'true', + "type" => "checkbox" ); + +/* Advertising */ +//$options[] = array( "name" => "Top Ad (468x60px)", +// "type" => "heading", +// "icon" => "ads" ); + +//$options[] = array( "name" => "Enable Ad", +// "desc" => "Enable the ad space", +// "id" => $shortname."_ad_top", +// "std" => "false", +// "type" => "checkbox" ); + +//$options[] = array( "name" => "Adsense code", +// "desc" => "Enter your adsense code (or other ad network code) here.", +// "id" => $shortname."_ad_top_adsense", +// "std" => "", +// "type" => "textarea" ); + +//$options[] = array( "name" => "Image Location", +// "desc" => "Enter the URL to the banner ad image location.", +// "id" => $shortname."_ad_top_image", +// "std" => "http://www.woothemes.com/ads/468x60b.jpg", +// "type" => "upload" ); + +//$options[] = array( "name" => "Destination URL", +// "desc" => "Enter the URL where this banner ad points to.", +// "id" => $shortname."_ad_top_url", +// "std" => "http://www.woothemes.com", +// "type" => "text" ); + +// Add extra options through function +if ( function_exists( "woo_options_add") ) + $options = woo_options_add($options); + +if ( get_option( 'woo_template') != $options) update_option( 'woo_template',$options); +if ( get_option( 'woo_themename') != $themename) update_option( 'woo_themename',$themename); +if ( get_option( 'woo_shortname') != $shortname) update_option( 'woo_shortname',$shortname); +if ( get_option( 'woo_manual') != $manualurl) update_option( 'woo_manual',$manualurl); + +// Woo Metabox Options +// Start name with underscore to hide custom key from the user +$woo_metaboxes = array(); + +global $post; + +if ( ( get_post_type() == 'post') || ( !get_post_type() ) ) { + + $woo_metaboxes[] = array ( "name" => "image", + "label" => "Image", + "type" => "upload", + "desc" => "Upload an image or enter an URL." ); + + if ( get_option( 'woo_resize') == "true" ) { + $woo_metaboxes[] = array ( "name" => "_image_alignment", + "std" => "Center", + "label" => "Image Crop Alignment", + "type" => "select2", + "desc" => "Select crop alignment for resized image", + "options" => array( "c" => "Center", + "t" => "Top", + "b" => "Bottom", + "l" => "Left", + "r" => "Right")); + } + + $woo_metaboxes[] = array ( "name" => "embed", + "std" => "", + "label" => "Embed Code", + "type" => "textarea", + "desc" => "Enter the video embed code for your video (YouTube, Vimeo or similar)" ); + +} // End post + +$woo_metaboxes[] = array ( "name" => "_layout", + "std" => "normal", + "label" => "Layout", + "type" => "images", + "desc" => "Select the layout you want on this specific post/page.", + "options" => array( + 'layout-default' => $url . 'layout-off.png', + 'layout-full' => get_template_directory_uri() . '/functions/images/' . '1c.png', + 'layout-left-content' => get_template_directory_uri() . '/functions/images/' . '2cl.png', + 'layout-right-content' => get_template_directory_uri() . '/functions/images/' . '2cr.png')); + + +if ( ( get_post_type() == 'slide') || ( !get_post_type() ) ) { + + + + $woo_metaboxes[] = array ( "name" => "image", + "label" => "Image", + "type" => "upload", + "desc" => "Upload an image or enter an URL."); + + + $woo_metaboxes[] = array( "name" => "slide_layout", + "label" => "Slider Overlay Layout", + "desc" => "Specify where you want the slider overlay content to display", + "std" => "right", + "type" => "select2", + "options" => array( "left" => "Left", + "right" => "Right", + "top" => "Top", + "bottom" => "Bottom")); + $woo_metaboxes[] = array ( "name" => "slide-url", + "label" => "Slide URL", + "type" => "text", + "desc" => "Enter a URL for the slide to click through to."); + +} // End post + + +// Add extra metaboxes through function +if ( function_exists( "woo_metaboxes_add") ) + $woo_metaboxes = woo_metaboxes_add($woo_metaboxes); + +if ( get_option( 'woo_custom_template' ) != $woo_metaboxes) update_option( 'woo_custom_template', $woo_metaboxes ); + +} // END woo_options() +} // END function_exists() + +// Add options to admin_head +add_action( 'admin_head','woo_options' ); + +//Enable WooSEO on these Post types +$seo_post_types = array( 'post', 'page', 'product' ); +define( "SEOPOSTTYPES", serialize($seo_post_types)); + +//Global options setup +add_action( 'init','woo_global_options' ); +function woo_global_options(){ + // Populate WooThemes option in array for use in theme + global $woo_options; + $woo_options = get_option( 'woo_options' ); +} + +?> \ No newline at end of file diff --git a/wootique/includes/theme-widgets.php b/wootique/includes/theme-widgets.php new file mode 100644 index 0000000..e091c1e --- /dev/null +++ b/wootique/includes/theme-widgets.php @@ -0,0 +1,35 @@ + \ No newline at end of file diff --git a/wootique/includes/theme-woocommerce.php b/wootique/includes/theme-woocommerce.php new file mode 100644 index 0000000..84ee3f9 --- /dev/null +++ b/wootique/includes/theme-woocommerce.php @@ -0,0 +1,226 @@ + + + += 0 ) { + // WooCommerce 2.1 or above is active + add_filter( 'woocommerce_enqueue_styles', '__return_false' ); +} else { + // WooCommerce is less than 2.1 + define( 'WOOCOMMERCE_USE_CSS', false ); +} + +/*-----------------------------------------------------------------------------------*/ +/* Header +/*-----------------------------------------------------------------------------------*/ + +// Hook in the search +add_action('woo_nav_before', 'wootique_header_search'); +function wootique_header_search() { + global $woo_options; + ?> +
                    + + +
                    + +
                    + + + +
                    + + + +
                    + + + +
                    + + +
                    + + 3, + 'columns' => 3, + ); + return $args; +} + +if ( ! function_exists( 'woo_upsell_display' ) ) { + function woo_upsell_display() { + // Display up sells in correct layout. + woocommerce_upsell_display( -1, 3 ); + } +} + +remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 ); +add_action( 'woocommerce_after_single_product_summary', 'woo_upsell_display', 15 ); + +// If theme lightbox is enabled, disable the WooCommerce lightbox and make product images prettyPhoto galleries +/*add_action( 'wp_footer', 'woocommerce_prettyphoto' ); +function woocommerce_prettyphoto() { + global $woo_options; + if ( $woo_options[ 'woo_enable_lightbox' ] == "true" ) { + update_option( 'woocommerce_enable_lightbox', false ); + ?> + + + + cart->get_cart_contents_count(), 'woothemes'), $woocommerce->cart->get_cart_contents_count()) . $woocommerce->cart->get_cart_total(); ?> + + + cart->cart_contents)>0) : + echo ''.__('Checkout','woothemes').''; + endif; + ?> + 'Use this widget to add any type of Ad as a widget.' ); + parent::WP_Widget(false, __('Woo - Adspace Widget', 'woothemes'),$widget_ops); + } + + function widget($args, $instance) { + $settings = $this->woo_get_settings(); + extract( $args, EXTR_SKIP ); + $instance = wp_parse_args( $instance, $settings ); + extract( $instance, EXTR_SKIP ); + echo '
                    '; + + if ( $title != '' ) + echo $before_title . apply_filters( 'widget_title', $title, $instance, $this->id_base ) . $after_title; + + if ( $adcode != '' ) { + echo $adcode; + } else { + ?><?php echo esc_attr( $alt ); ?>'; + } + + function update( $new_instance, $old_instance ) { + foreach ( array( 'title', 'alt', 'image', 'href' ) as $setting ) + $new_instance[$setting] = strip_tags( $new_instance[$setting] ); + // Users without unfiltered_html cannot update this arbitrary HTML field + if ( !current_user_can( 'unfiltered_html' ) ) + $new_instance['adcode'] = $old_instance['adcode']; + return $new_instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + return $settings; + } + + function form($instance) { + $instance = wp_parse_args( $instance, $this->woo_get_settings() ); + extract( $instance, EXTR_SKIP ); +?> +

                    + + +

                    + +

                    + + +

                    +

                    or

                    + +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    + 'This is a WooThemes Blog Author Info widget.' ); + parent::WP_Widget( false, __( 'Woo - Blog Author Info', 'woothemes' ), $widget_ops ); + } + + function widget( $args, $instance ) { + $settings = $this->woo_get_settings(); + extract( $args, EXTR_SKIP ); + $instance = wp_parse_args( $instance, $settings ); + extract( $instance, EXTR_SKIP ); + + // Enforce defaults + foreach ( array( 'avatar_size', 'avatar_align' ) as $setting ) { + if ( !$$setting ) + $$setting = $settings[$setting]; + } + + if ( ( $page == "home" && is_home() ) || ( $page == "single" && is_single() ) || $page == "all" ) { + ?> + + id_base ) . $after_title; } ?> + +

                    + ' . esc_html( $read_more_text ) . '

                    '; ?> +
                    + settings, '' ); + // Now set the more specific defaults + $settings['avatar_size'] = 48; + $settings['avatar_align'] = 'left'; + return $settings; + } + + function form( $instance ) { + $instance = wp_parse_args( $instance, $this->woo_get_settings() ); + extract( $instance, EXTR_SKIP ); + ?> +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    + 'Display the Embed code from posts in tab like fashion.' ); + parent::WP_Widget( false, __( 'Woo - Embed/Video', 'woothemes' ), $widget_ops ); + } + + function widget( $args, $instance ) { + extract( $args, EXTR_SKIP ); + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); + + if ( !empty( $tag ) ) + $myposts = get_posts( "numberposts=$limit&tag=$tag" ); + else + $myposts = get_posts( "numberposts=$limit&cat=$cat_id" ); + + $post_list = ''; + $count = 0; + $active = 'active'; + $display = ''; + + echo $before_widget; + echo $before_title . apply_filters('widget_title', $title, $instance, $this->id_base) . $after_title; + if ( isset( $myposts ) ) { + foreach( $myposts as $mypost ) { + $embed = woo_get_embed( 'embed', $width, $height, 'widget_video', $mypost->ID ); + if ( $embed ) { + $count++; + if ( $count > 1 ) { + $active = ''; + $display = "style='display:none'"; + } + echo '
                    '; + echo '

                    ' . get_the_title( $mypost->ID ) . "

                    \n"; + echo $embed; + $post_list .= "
                  • " . get_the_title( $mypost->ID ) . "
                  • \n"; + echo '
                    '; + } + } + } +?> +
                      + +
                    +woo_enforce_defaults( $new_instance ); + return $new_instance; + } + + function woo_enforce_defaults( $instance ) { + $defaults = $this->woo_get_settings(); + $instance = wp_parse_args( $instance, $defaults ); + $instance['cat_id'] = absint( $instance['cat_id'] ); + if ( $instance['cat_id'] < 1 ) + $instance['cat_id'] = ''; + // Enforce defaults if any of these three are empty + foreach ( array( 'limit', 'width', 'height' ) as $setting ) { + $instance[$setting] = absint( $instance[$setting] ); + if ( $instance[$setting] < 1 ) + $instance[$setting] = $defaults[$setting]; + } + return $instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + $settings['limit'] = 10; + $settings['width'] = 300; + $settings['height'] = 200; + return $settings; + } + + function form( $instance ) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); + ?> +

                    + + +

                    +

                    + + + +

                    +

                    + + +

                    + +

                    + + + W H +

                    + +

                    + + +

                    + + + + + 'This Flickr widget populates photos from a Flickr ID.' ); + parent::WP_Widget( false, __( 'Woo - Flickr', 'woothemes' ), $widget_ops ); + } + + function widget( $args, $instance ) { + extract( $args, EXTR_SKIP ); + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); + + echo $before_widget; + echo $before_title; ?> + flickr', 'woothemes' ); ?> + +
                    +
                    + +
                    woo_enforce_defaults( $new_instance ); + return $new_instance; + } + + function woo_enforce_defaults( $instance ) { + $defaults = $this->woo_get_settings(); + $instance = wp_parse_args( $instance, $defaults ); + if ( $instance['limit'] < 1 ) + $instance['limit'] = 1; + elseif ( $instance['limit'] > 10 ) + $instance['limit'] = 10; + $instance['width'] = absint( $instance['width'] ); + if ( $instance['width'] < 1 ) + $instance['width'] = $defaults['width']; + $instance['height'] = absint( $instance['height'] ); + if ( $instance['height'] < 1 ) + $instance['height'] = $defaults['height']; + if ( $instance['sorting'] != 'random' ) + $instance['sorting'] = $defaults['sorting']; + if ( !in_array( $instance['size'], array( 's', 'm', 't' ) ) ) + $instance['size'] = $defaults['size']; + if ( $instance['type'] != 'group' ) + $instance['type'] = $defaults['type']; + return $instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + $settings['limit'] = 10; + $settings['width'] = 300; + $settings['height'] = 200; + $settings['size'] = 's'; + $settings['sorting'] = 'latest'; + $settings['type'] = 'user'; + return $settings; + } + + function form( $instance ) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); +?> +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    + 'This is a WooThemes standardized search widget.' ); + parent::WP_Widget( false, __( 'Woo - Search', 'woothemes' ), $widget_ops ); + } + + function widget( $args, $instance ) { + extract( $args, EXTR_SKIP ); + extract( $instance, EXTR_SKIP ); + echo $before_widget; + if ( $title ) { echo $before_title . apply_filters( 'widget_title', $title, $instance, $this->id_base ) . $after_title; } + include( get_template_directory() . '/search-form.php' ); + echo $after_widget; + } + + function update($new_instance, $old_instance) { + $new_instance['title'] = strip_tags( $new_instance['title'] ); + return $new_instance; + } + + function woo_enforce_defaults( $instance ) { + $defaults = $this->woo_get_settings(); + $instance = wp_parse_args( $instance, $defaults ); + return $instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + return $settings; + } + + function form( $instance ) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); ?> +

                    + + +

                    'Add a subscribe/connect widget.' ); + parent::WP_Widget( false, __( 'Woo - Subscribe / Connect', 'woothemes' ), $widget_ops ); + } + + function widget( $args, $instance ) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $args, EXTR_SKIP ); + extract( $instance, EXTR_SKIP ); + if ( !is_singular() || ($single != 'on' && is_single()) || ($page != 'on' && is_page()) ) { + ?> + + + + woo_enforce_defaults( $new_instance ); + return $new_instance; + } + + function woo_enforce_defaults( $instance ) { + $defaults = $this->woo_get_settings(); + $instance = wp_parse_args( $instance, $defaults ); + $instance['title'] = strip_tags( $instance['title'] ); + if ( '' == $instance['title'] ) + $instance['title'] = __('Subscribe', 'woothemes'); + foreach ( array( 'form', 'social', 'single', 'page' ) as $checkbox ) { + if ( 'on' != $instance[$checkbox] ) + $instance[$checkbox] = ''; + } + return $instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + return $settings; + } + + function form($instance) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); +?> +

                    Setup this widget in your options panel under Subscribe & Connect.

                    +

                    + + +

                    +

                    + > +

                    +

                    + > +

                    +

                    + > +

                    +

                    + > +

                    + 'widget_woo_tabs', 'description' => __( 'This widget is the Tabs that classically goes into the sidebar. It contains the Popular posts, Latest Posts, Recent comments and a Tag cloud.', 'woothemes' ) ); + + /* Widget control settings. */ + $control_ops = array( 'width' => 250, 'height' => 350, 'id_base' => 'woo_tabs' ); + + /* Create the widget. */ + $this->WP_Widget( 'woo_tabs', __('Woo - Tabs', 'woothemes' ), $widget_ops, $control_ops ); + + } // End Constructor + + function widget($args, $instance) { + extract( $args, EXTR_SKIP ); + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); + echo $before_widget; + ?> + +
                    + +
                      + + +
                    • + +
                    • + +
                    • + + + + "latest" && !$latest == "on") { ?> +
                    • + "comments" && !$comments == "on") { ?> +
                    • + "tags" && !$tags == "on") { ?> +
                    • + + +
                    + +
                    + +
                    + + +
                      + +
                    + +
                      + +
                    + +
                    + +
                    + + + +
                      + +
                    + + "latest" && !$latest == "on") { ?> +
                      + +
                    + + "comments" && !$comments == "on") { ?> +
                      + +
                    + + "tags" && !$tags == "on") { ?> +
                    + +
                    + + +
                    + +
                    + + woo_enforce_defaults( $new_instance ); + return $new_instance; + } // End update() + + function woo_enforce_defaults( $instance ) { + $defaults = $this->woo_get_settings(); + $instance = wp_parse_args( $instance, $defaults ); + $instance['number'] = intval( $instance['number'] ); + if ( $instance['number'] < 1 ) + $instance['number'] = $defaults['number']; + $instance['thumb_size'] = absint( $instance['thumb_size'] ); + if ( empty( $instance['order'] ) ) + $instance['order'] = $defaults['order']; + return $instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + $settings['number'] = 5; + $settings['thumb_size'] = 45; + $settings['order'] = 'pop'; + return $settings; + } + + /*---------------------------------------- + form() + ---------------------------------------- + + * The form on the widget control in the + * widget administration area. + + * Make use of the get_field_id() and + * get_field_name() function when creating + * your form elements. This handles the confusing stuff. + + * Params: + * - Array $instance + ----------------------------------------*/ + + function form( $instance ) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); +?> +

                    + +

                    +

                    + +

                    +

                    + +

                    +

                    + + +

                    +

                    +

                    + > +

                    +

                    + > +

                    +

                    + > +

                    +

                    + > +

                    + + + + + + + false, 'ignore_sticky_posts' => 1, 'orderby' => 'comment_count', 'numberposts' => $posts) ); + foreach($popular as $post) : + setup_postdata($post); + ?> +
                  • + 0) woo_image( 'height='.$size.'&width='.$size.'&class=thumbnail&single=true' ); ?> + + +
                    +
                  • + '" . date('Y-m-d', strtotime('-'.$popular_days.' days')) . "'"; + return $where; +} + +/*-----------------------------------------------------------------------------------*/ +/* WooTabs - Latest Posts */ +/*-----------------------------------------------------------------------------------*/ +if (!function_exists( 'woo_widget_tabs_latest')) { + function woo_widget_tabs_latest( $posts = 5, $size = 45 ) { + global $post; + $latest = get_posts( 'ignore_sticky_posts=1&numberposts='. $posts .'&orderby=post_date&order=desc' ); + foreach($latest as $post) : + setup_postdata($post); + ?> +
                  • + 0) woo_image( 'height='.$size.'&width='.$size.'&class=thumbnail&single=true' ); ?> + + +
                    +
                  • + $posts, 'status' => 'approve' ) ); + if ( $comments ) { + foreach ( (array) $comments as $comment) { + $post = get_post( $comment->comment_post_ID ); + ?> +
                  • + 0 ) echo get_avatar( $comment, $size ); ?> + comment_author); ?>: comment_content ), 0, 50 ) ); ?>... +
                    +
                  • + \ No newline at end of file diff --git a/wootique/includes/widgets/widget-woo-twitter.php b/wootique/includes/widgets/widget-woo-twitter.php new file mode 100644 index 0000000..14f3ac7 --- /dev/null +++ b/wootique/includes/widgets/widget-woo-twitter.php @@ -0,0 +1,81 @@ + 'Add your Twitter feed to your sidebar with this widget.' ); + parent::WP_Widget( false, __( 'Woo - Twitter Stream', 'woothemes' ), $widget_ops); + } + + function widget( $args, $instance ) { + extract( $args, EXTR_SKIP ); + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); + + $unique_id = $args['widget_id']; + echo $before_widget; + if ( $title ) { + echo $before_title . apply_filters( 'widget_title', $title, $instance, $this->id_base ) . $after_title; + } else { + ?>
                    +

                    @

                    woo_enforce_defaults( $new_instance ); + return $new_instance; + } + + function woo_enforce_defaults( $instance ) { + $defaults = $this->woo_get_settings(); + $instance = wp_parse_args( $instance, $defaults ); + $instance['title'] = strip_tags( $instance['title'] ); // Not for security so much as to give them feedback that HTML isn't allowed + $instance['username'] = preg_replace( '|[^a-zA-Z0-9_]|', '', $instance['username'] ); + $instance['limit'] = intval( $instance['limit'] ); + if ( $instance['limit'] < 1 ) + $instance['limit'] = 5; + return $instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + $settings['limit'] = 5; + return $settings; + } + + function form( $instance ) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); + ?> +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    + +
                    + 1 ); + $loop = new WP_Query( $args ); + while ( $loop->have_posts() ) : $loop->the_post(); +?> + +
                    > + + + +
                    + +

                    + +
                    + +
                    + +
                    + +
                    + + + +
                    + + + + +
                    + +
                    + + + +
                    + + + +
                    + + \ No newline at end of file diff --git a/wootique/lang/en_GB.po b/wootique/lang/en_GB.po new file mode 100644 index 0000000..c6f8de9 --- /dev/null +++ b/wootique/lang/en_GB.po @@ -0,0 +1,1479 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Poedit-Language: \n" +"X-Poedit-Country: \n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n" +"X-Poedit-Basepath: \n" +"X-Poedit-Bookmarks: \n" +"X-Poedit-SearchPath-0: .\n" +"X-Textdomain-Support: yes" + +#: 404.php:8 +#@ woothemes +msgid "Error 404 - Page not found!" +msgstr "" + +#: 404.php:10 +#@ woothemes +msgid "The page you trying to reach does not exist, or has been moved. Please use the menus or the search box to find what you are looking for." +msgstr "" + +#: archive.php:14 +#: archive.php:19 +#: archive.php:22 +#: archive.php:25 +#@ woothemes +msgid "Archive" +msgstr "" + +#: archive.php:15 +#@ woothemes +msgid "RSS feed for this section" +msgstr "" + +#: archive.php:28 +#@ woothemes +msgid "Archive by Author" +msgstr "" + +#: archive.php:31 +#@ woothemes +msgid "Tag Archives:" +msgstr "" + +#: archive.php:48 +#: template-blog.php:48 +#@ woothemes +msgid "Read More..." +msgstr "" + +#: archive.php:53 +#: template-blog.php:53 +#: template-timeline.php:72 +#@ woothemes +msgid "Leave a comment" +msgstr "" + +#: archive.php:53 +#: template-blog.php:53 +#@ woothemes +msgid "1 Comment" +msgstr "" + +#: archive.php:53 +#: template-blog.php:53 +#@ woothemes +msgid "% Comments" +msgstr "" + +#: archive.php:55 +#: template-blog.php:56 +#@ woothemes +msgid "Continue Reading →" +msgstr "" + +#: archive.php:64 +#: page.php:34 +#: search.php:32 +#: single.php:62 +#: template-blog.php:68 +#: template-fullwidth.php:34 +#@ woothemes +msgid "Sorry, no posts matched your criteria." +msgstr "" + +#: comments.php:9 +#@ woothemes +msgid "This post is password protected. Enter the password to view comments." +msgstr "" + +#: comments.php:23 +#@ woothemes +msgid "No Responses" +msgstr "" + +#: comments.php:23 +#@ woothemes +msgid "One Response" +msgstr "" + +#: comments.php:23 +#@ woothemes +msgid "% Responses" +msgstr "" + +#: comments.php:23 +#@ woothemes +msgid "to" +msgstr "" + +#: comments.php:40 +#@ woothemes +msgid "Trackbacks/Pingbacks" +msgstr "" + +#: comments.php:56 +#@ woothemes +msgid "Comments are closed." +msgstr "" + +#: comments.php:57 +#@ woothemes +msgid "No comments yet." +msgstr "" + +#: footer.php:38 +#@ woothemes +msgid "All Rights Reserved." +msgstr "" + +#: footer.php:48 +#@ woothemes +msgid "Powered by" +msgstr "" + +#: footer.php:48 +#@ woothemes +msgid "Designed by" +msgstr "" + +#: functions/admin-backup.php:73 +#@ woothemes +msgid "WooThemes Settings Backup" +msgstr "" + +#: functions/admin-backup.php:73 +#: functions/admin-backup.php:103 +#@ woothemes +msgid "Backup Settings" +msgstr "" + +#: functions/admin-backup.php:105 +#@ woothemes +msgid "Import Settings" +msgstr "" + +#: functions/admin-backup.php:107 +#@ woothemes +msgid "If you have settings in a backup file on your computer, the WooFramework can import those into this site. To get started, upload your backup file to import from below." +msgstr "" + +#: functions/admin-backup.php:112 +#, php-format +#@ woothemes +msgid "Upload File: (Maximum Size: %s)" +msgstr "" + +#: functions/admin-backup.php:115 +#@ woothemes +msgid "Upload File and Import" +msgstr "" + +#: functions/admin-backup.php:119 +#@ woothemes +msgid "Export Settings" +msgstr "" + +#: functions/admin-backup.php:121 +#@ woothemes +msgid "When you click the button below, the WooFramework will create a text file for you to save to your computer." +msgstr "" + +#: functions/admin-backup.php:122 +#, php-format +#@ woothemes +msgid "This text file can be used to restore your settings here on \"%s\", or to easily setup another website with the same settings\"." +msgstr "" + +#: functions/admin-backup.php:126 +#@ woothemes +msgid "All Settings" +msgstr "" + +#: functions/admin-backup.php:127 +#@ woothemes +msgid "This will contain all of the options listed below." +msgstr "" + +#: functions/admin-backup.php:129 +#: functions/admin-functions.php:3088 +#@ woothemes +msgid "Theme Options" +msgstr "" + +#: functions/admin-backup.php:131 +#@ woothemes +msgid "SEO Settings" +msgstr "" + +#: functions/admin-backup.php:133 +#: functions/admin-functions.php:3092 +#@ woothemes +msgid "Sidebar Manager" +msgstr "" + +#: functions/admin-backup.php:133 +#@ woothemes +msgid "This will contain only the custom sidebars themselves and not the widgets within them" +msgstr "" + +#: functions/admin-backup.php:135 +#: functions/admin-functions.php:3098 +#@ woothemes +msgid "Framework Settings" +msgstr "" + +#: functions/admin-backup.php:138 +#@ woothemes +msgid "Download Export File" +msgstr "" + +#: functions/admin-backup.php:161 +#@ woothemes +msgid "Welcome to the WooThemes Backup Manager." +msgstr "" + +#: functions/admin-backup.php:162 +#@ woothemes +msgid "Here are a few notes on using this screen." +msgstr "" + +#: functions/admin-backup.php:163 +#@ woothemes +msgid "The backup manager allows you to backup or restore your \"Theme Options\" and other settings to or from a text file." +msgstr "" + +#: functions/admin-backup.php:164 +#@ woothemes +msgid "To create a backup, simply select the setting type you'd like to backup (or \"All Settings\") and hit the \"Download Export File\" button." +msgstr "" + +#: functions/admin-backup.php:165 +#@ woothemes +msgid "To restore your settings from a backup, browse your computer for the file (under the \"Import Settings\" heading) and hit the \"Upload File and Import\" button. This will restore only the settings that have changed since the backup." +msgstr "" + +#: functions/admin-backup.php:167 +#@ woothemes +msgid "Please note that only valid backup files generated through the WooThemes Backup Manager should be imported." +msgstr "" + +#: functions/admin-backup.php:169 +#@ woothemes +msgid "Looking for assistance?" +msgstr "" + +#: functions/admin-backup.php:170 +#, php-format +#@ woothemes +msgid "Please post your query on the %sWooThemes Support Forums%s where we will do our best to assist you further." +msgstr "" + +#: functions/admin-backup.php:190 +#, php-format +#@ woothemes +msgid "Please note that this backup manager backs up only your settings and not your content. To backup your content, please use the %sWordPress Export Tool%s." +msgstr "" + +#: functions/admin-backup.php:193 +#@ woothemes +msgid "There was a problem importing your settings. Please Try again." +msgstr "" + +#: functions/admin-backup.php:195 +#@ woothemes +msgid "There was a problem exporting your settings. Please Try again." +msgstr "" + +#: functions/admin-backup.php:197 +#@ woothemes +msgid "The import file you've provided is invalid. Please try again." +msgstr "" + +#: functions/admin-backup.php:199 +#, php-format +#@ woothemes +msgid "Settings successfully imported. | Return to %sTheme Options%s" +msgstr "" + +#: functions/admin-custom-nav.php:2125 +#@ woothemes +msgid "Woo - Custom Nav Menu" +msgstr "" + +#: functions/admin-custom-nav.php:2314 +#@ woothemes +msgid "Select Menu:" +msgstr "" + +#: functions/admin-custom-nav.php:2340 +#: includes/widgets/widget-woo-blogauthor.php:65 +#: includes/widgets/widget-woo-embed.php:95 +#: includes/widgets/widget-woo-search.php:48 +#@ woothemes +msgid "Title:" +msgstr "" + +#: functions/admin-custom-nav.php:2349 +#@ woothemes +msgid "Advanced Options:" +msgstr "" + +#: functions/admin-custom-nav.php:2369 +#@ woothemes +msgid "Wrap in container DIV:" +msgstr "" + +#: functions/admin-custom-nav.php:2382 +#@ woothemes +msgid "Wrap in container UL:" +msgstr "" + +#: functions/admin-custom-nav.php:2397 +#@ woothemes +msgid "Show Top Level Descriptions:" +msgstr "" + +#: functions/admin-custom-nav.php:2417 +#@ woothemes +msgid "The Custom Menu has not been configured correctly. Please check your theme settings before adding this widget." +msgstr "" + +#: functions/admin-custom.php:505 +#@ woothemes +msgid " Custom Settings" +msgstr "" + +#: functions/admin-express-functions-deprecated.php:194 +#: functions/admin-express-functions.php:210 +#@ default +msgid "You are not allowed to upload files to this site." +msgstr "" + +#: functions/admin-express-functions-deprecated.php:220 +#: functions/admin-express-functions.php:236 +#, php-format +#@ default +msgid "Could not write file %1$s (%2$s)" +msgstr "" + +#: functions/admin-functions.php:1022 +#@ woothemes +msgid "less than a minute ago" +msgstr "" + +#: functions/admin-functions.php:1024 +#@ woothemes +msgid "about a minute ago" +msgstr "" + +#: functions/admin-functions.php:1026 +#@ woothemes +msgid "minutes ago" +msgstr "" + +#: functions/admin-functions.php:1030 +#@ woothemes +msgid "hours ago" +msgstr "" + +#: functions/admin-functions.php:1034 +#@ woothemes +msgid "days ago" +msgstr "" + +#: functions/admin-functions.php:1569 +#@ woothemes +msgid "Search Results" +msgstr "" + +#: functions/admin-functions.php:1570 +#@ woothemes +msgid "Author Archives" +msgstr "" + +#: functions/admin-functions.php:1573 +#@ woothemes +msgid "Category Archive" +msgstr "" + +#: functions/admin-functions.php:1574 +#: functions/admin-functions.php:1579 +#@ woothemes +msgid " Archive" +msgstr "" + +#: functions/admin-functions.php:1575 +#@ woothemes +msgid "Daily Archive" +msgstr "" + +#: functions/admin-functions.php:1576 +#@ woothemes +msgid "Monthly Archive" +msgstr "" + +#: functions/admin-functions.php:1577 +#@ woothemes +msgid "Yearly Archive" +msgstr "" + +#: functions/admin-functions.php:1578 +#@ woothemes +msgid "Tag Archive" +msgstr "" + +#: functions/admin-functions.php:2497 +#@ woothemes +msgid "« Previous" +msgstr "" + +#: functions/admin-functions.php:2498 +#@ woothemes +msgid "Next »" +msgstr "" + +#: functions/admin-functions.php:2617 +#@ woothemes +msgid "You are here:" +msgstr "" + +#: functions/admin-functions.php:2620 +#: header.php:106 +#@ woothemes +msgid "Home" +msgstr "" + +#: functions/admin-functions.php:2785 +#@ woothemes +msgid "g:i a" +msgstr "" + +#: functions/admin-functions.php:2788 +#, php-format +#@ woothemes +msgid "Minute %1$s" +msgstr "" + +#: functions/admin-functions.php:2788 +#@ woothemes +msgid "i" +msgstr "" + +#: functions/admin-functions.php:2791 +#@ woothemes +msgid "g a" +msgstr "" + +#: functions/admin-functions.php:2802 +#: functions/admin-functions.php:2808 +#: functions/admin-functions.php:2813 +#: functions/admin-functions.php:2818 +#@ woothemes +msgid "Y" +msgstr "" + +#: functions/admin-functions.php:2803 +#: functions/admin-functions.php:2814 +#@ woothemes +msgid "F" +msgstr "" + +#: functions/admin-functions.php:2804 +#@ woothemes +msgid "j" +msgstr "" + +#: functions/admin-functions.php:2809 +#, php-format +#@ woothemes +msgid "Week %1$s" +msgstr "" + +#: functions/admin-functions.php:2809 +#@ woothemes +msgid "W" +msgstr "" + +#: functions/admin-functions.php:2825 +#, php-format +#@ woothemes +msgid "Search results for "%1$s"" +msgstr "" + +#: functions/admin-functions.php:2829 +#@ woothemes +msgid "404 Not Found" +msgstr "" + +#: functions/admin-functions.php:3077 +#@ woothemes +msgid "WooThemes" +msgstr "" + +#: functions/admin-functions.php:3101 +#@ woothemes +msgid "Update Framework" +msgstr "" + +#: functions/admin-interface.php:329 +#@ woothemes +msgid "Options Updated" +msgstr "" + +#: functions/admin-interface.php:330 +#@ woothemes +msgid "Options Reset" +msgstr "" + +#: functions/admin-interface.php:358 +#@ woothemes +msgid "Framework" +msgstr "" + +#: functions/admin-interface.php:368 +#@ woothemes +msgid "View Changelog" +msgstr "" + +#: functions/admin-interface.php:369 +#@ woothemes +msgid "View Themedocs" +msgstr "" + +#: functions/admin-interface.php:370 +#@ woothemes +msgid "Visit Forum" +msgstr "" + +#: functions/admin-interface.php:1259 +#@ woothemes +msgid "Options Saved Successfully" +msgstr "" + +#: functions/admin-interface.php:1263 +#@ woothemes +msgid "There was an error while saving your options. Please try again." +msgstr "" + +#: functions/admin-interface.php:1267 +#@ woothemes +msgid "Options Reset Successfully" +msgstr "" + +#: functions/admin-interface.php:1806 +#@ woothemes +msgid "You are not able to update this option because you lack the unfiltered_html capability." +msgstr "" + +#: functions/admin-interface.php:1968 +#@ woothemes +msgid "New Version" +msgstr "" + +#: functions/admin-interface.php:1969 +#@ woothemes +msgid "New Feature" +msgstr "" + +#: functions/admin-interface.php:1970 +#@ woothemes +msgid "Bugfix" +msgstr "" + +#: functions/admin-interface.php:1994 +#@ woothemes +msgid "Theme update is available" +msgstr "" + +#: functions/admin-interface.php:1994 +#@ woothemes +msgid "Get the new version" +msgstr "" + +#: functions/admin-interface.php:1994 +#, php-format +#@ woothemes +msgid "Update Type: %s" +msgstr "" + +#: functions/admin-interface.php:2050 +#, php-format +#@ woothemes +msgid "Theme update is available (v%s). %sDownload new version%s (%sSee Changelog%s)" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:56 +#@ woothemes +msgid "WooFramework Internal Container" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:182 +#@ woothemes +msgid "Upload" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:219 +#@ woothemes +msgid "View File" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:413 +#@ woothemes +msgid "Gallery" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:413 +#@ woothemes +msgid "Previously Uploaded" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:431 +#@ woothemes +msgid "Use this Image" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:432 +#, php-format +#@ woothemes +msgid "Use as %s" +msgstr "" + +#: functions/admin-shortcodes.php:402 +#@ woothemes +msgid "No related posts found" +msgstr "" + +#: functions/admin-shortcodes.php:926 +#@ woothemes +msgid "Hide the Content" +msgstr "" + +#: functions/admin-shortcodes.php:927 +#@ woothemes +msgid "Show the Content" +msgstr "" + +#: functions/admin-shortcodes.php:934 +#@ woothemes +msgid "Read More" +msgstr "" + +#: functions/admin-shortcodes.php:935 +#@ woothemes +msgid "Read Less" +msgstr "" + +#: functions/admin-shortcodes.php:1046 +#@ woothemes +msgid "Message via the contact form" +msgstr "" + +#: functions/admin-shortcodes.php:1047 +#: includes/theme-functions.php:185 +#: includes/theme-functions.php:194 +#: template-contact.php:175 +#@ woothemes +msgid "Submit" +msgstr "" + +#: functions/admin-shortcodes.php:1343 +#@ woothemes +msgid "Please enter your name" +msgstr "" + +#: functions/admin-shortcodes.php:1344 +#@ woothemes +msgid "Please enter your email address (and please make sure it's valid)" +msgstr "" + +#: functions/admin-shortcodes.php:1345 +#@ woothemes +msgid "Please enter your message" +msgstr "" + +#: functions/admin-shortcodes.php:1428 +#: functions/admin-shortcodes.php:1436 +#: template-contact.php:58 +#: template-contact.php:65 +#@ woothemes +msgid "From: " +msgstr "" + +#: functions/admin-shortcodes.php:1428 +#: functions/admin-shortcodes.php:1436 +#: template-contact.php:58 +#@ woothemes +msgid "Reply-To: " +msgstr "" + +#: functions/admin-shortcodes.php:1458 +#: template-contact.php:127 +#@ woothemes +msgid "Your email was successfully sent." +msgstr "" + +#: functions/admin-shortcodes.php:1467 +#@ woothemes +msgid "There were one or more errors while submitting the form." +msgstr "" + +#: functions/admin-shortcodes.php:1475 +#: template-contact.php:146 +#@ woothemes +msgid "E-mail has not been setup properly. Please add your contact e-mail!" +msgstr "" + +#: functions/admin-shortcodes.php:1497 +#: includes/theme-functions.php:264 +#: template-contact.php:153 +#@ woothemes +#@ default +msgid "Name" +msgstr "" + +#: functions/admin-shortcodes.php:1508 +#: includes/theme-functions.php:268 +#: template-contact.php:160 +#@ woothemes +#@ default +msgid "Email" +msgstr "" + +#: functions/admin-shortcodes.php:1519 +#: template-contact.php:167 +#@ woothemes +msgid "Message" +msgstr "" + +#: functions/admin-shortcodes.php:1655 +#: template-contact.php:173 +#@ woothemes +msgid "Send a copy of this email to yourself" +msgstr "" + +#: functions/admin-shortcodes.php:1664 +#: template-contact.php:174 +#@ woothemes +msgid "If you want to submit this form, do not enter anything in this field" +msgstr "" + +#: functions/admin-shortcodes.php:2039 +#: functions/admin-shortcodes.php:2089 +#: functions/admin-shortcodes.php:2105 +#, php-format +#@ woothemes +msgid "My %s Profile" +msgstr "" + +#: functions/admin-shortcodes.php:2060 +#: includes/theme-functions.php:203 +#@ woothemes +msgid "Subscribe to our RSS feed" +msgstr "" + +#: functions/admin-shortcodes.php:2402 +#: includes/widgets/widget-woo-twitter.php:26 +#@ woothemes +msgid "Follow" +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:51 +#@ woothemes +msgid "Customize the Shortcode" +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:60 +#@ woothemes +msgid "Preview" +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:74 +#@ woothemes +msgid "Ninja Trouble" +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:77 +#, php-format +#@ woothemes +msgid "Your version of the WooFramework (%s) does not yet support shortcodes. Shortcodes were introduced with version %s of the framework." +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:79 +#: functions/js/shortcode-generator/dialog.php:93 +#@ woothemes +msgid "What to do now?" +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:81 +#@ woothemes +msgid "Upgrading your theme, or rather the WooFramework portion of it, will do the trick." +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:83 +#, php-format +#@ woothemes +msgid "The framework is a collection of functionality that all WooThemes have in common. In most cases you can update the framework even if you have modified your theme, because the framework resides in a separate location (under %s)." +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:85 +#, php-format +#@ woothemes +msgid "There's a tutorial on how to do this on WooThemes.com: %sHow to upgradeyour theme%s." +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:87 +#@ woothemes +msgid "Remember: Every Ninja has a backup plan. Safe or not, always backup your theme before you update it or make changes to it." +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:91 +#@ woothemes +msgid "Looks like your active theme is not from WooThemes. The shortcode generator only works with themes from WooThemes." +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:95 +#@ woothemes +msgid "Pick a fight: (1) If you already have a theme from WooThemes, install and activate it or (2) if you don't yet have one of the awesome WooThemes head over to the WooThemes Gallery and get one." +msgstr "" + +#: header.php:84 +#@ woothemes +msgid "Search for:" +msgstr "" + +#: header.php:85 +#@ woothemes +msgid "Search for products" +msgstr "Works!" + +#: header.php:86 +#@ woothemes +msgid "Search" +msgstr "" + +#: header.php:115 +#: includes/theme-woocommerce.php:119 +#@ woothemes +msgid "View your shopping cart" +msgstr "" + +#: header.php:118 +#: includes/theme-woocommerce.php:120 +#, php-format +#@ woothemes +msgid "%d item – " +msgid_plural "%d items – " +msgstr[0] "" +msgstr[1] "" + +#: header.php:129 +#@ woothemes +msgid "Checkout" +msgstr "" + +#: includes/theme-comments.php:20 +#@ woothemes +msgid "at" +msgstr "" + +#: includes/theme-comments.php:21 +#@ woothemes +msgid "Direct link to this comment" +msgstr "" + +#: includes/theme-comments.php:22 +#@ woothemes +msgid "Edit" +msgstr "" + +#: includes/theme-comments.php:31 +#@ woothemes +msgid "Your comment is awaiting moderation." +msgstr "" + +#: includes/theme-functions.php:83 +#@ woothemes +msgid "Primary Menu" +msgstr "" + +#: includes/theme-functions.php:84 +#@ woothemes +msgid "Top Menu" +msgstr "" + +#: includes/theme-functions.php:101 +#@ woothemes +msgid " Older posts" +msgstr "" + +#: includes/theme-functions.php:102 +#@ woothemes +msgid "Newer posts " +msgstr "" + +#: includes/theme-functions.php:144 +#@ woothemes +msgid "Posted on" +msgstr "" + +#: includes/theme-functions.php:145 +#@ woothemes +msgid "by" +msgstr "" + +#: includes/theme-functions.php:146 +#@ woothemes +msgid "in" +msgstr "" + +#: includes/theme-functions.php:147 +#: page.php:24 +#: template-fullwidth.php:28 +#@ woothemes +msgid "{ Edit }" +msgstr "" + +#: includes/theme-functions.php:174 +#: includes/widgets/widget-woo-subscribe.php:36 +#@ woothemes +msgid "Subscribe" +msgstr "" + +#: includes/theme-functions.php:177 +#@ woothemes +msgid "Subscribe to our e-mail newsletter to receive updates." +msgstr "" + +#: includes/theme-functions.php:181 +#: includes/theme-functions.php:193 +#@ woothemes +msgid "E-mail" +msgstr "" + +#: includes/theme-functions.php:206 +#@ woothemes +msgid "Follow us on Twitter" +msgstr "" + +#: includes/theme-functions.php:209 +#@ woothemes +msgid "Connect on Facebook" +msgstr "" + +#: includes/theme-functions.php:212 +#@ woothemes +msgid "Watch on YouTube" +msgstr "" + +#: includes/theme-functions.php:215 +#@ woothemes +msgid "See photos on Flickr" +msgstr "" + +#: includes/theme-functions.php:218 +#@ woothemes +msgid "Connect on LinkedIn" +msgstr "" + +#: includes/theme-functions.php:221 +#@ woothemes +msgid "Discover on Delicious" +msgstr "" + +#: includes/theme-functions.php:224 +#@ woothemes +msgid "View Google+ profile" +msgstr "" + +#: includes/theme-functions.php:234 +#@ woothemes +msgid "Related Posts:" +msgstr "" + +#: includes/theme-functions.php:257 +#@ woothemes +msgid "Required" +msgstr "" + +#: includes/theme-functions.php:272 +#@ default +msgid "Website" +msgstr "" + +#: includes/theme-functions.php:292 +#@ woothemes +msgid "Submit Comment" +msgstr "" + +#: includes/theme-functions.php:293 +#@ woothemes +msgid "Click here to cancel reply." +msgstr "" + +#: includes/theme-woocommerce.php:10 +#@ woothemes +msgid "WooCommerce must be installed" +msgstr "" + +#: includes/widgets/widget-woo-adspace.php:11 +#@ woothemes +msgid "Woo - Adspace Widget" +msgstr "" + +#: includes/widgets/widget-woo-adspace.php:57 +#: includes/widgets/widget-woo-subscribe.php:61 +#: includes/widgets/widget-woo-twitter.php:65 +#@ woothemes +msgid "Title (optional):" +msgstr "" + +#: includes/widgets/widget-woo-adspace.php:62 +#@ woothemes +msgid "Ad Code:" +msgstr "" + +#: includes/widgets/widget-woo-adspace.php:68 +#@ woothemes +msgid "Image Url:" +msgstr "" + +#: includes/widgets/widget-woo-adspace.php:72 +#@ woothemes +msgid "Link URL:" +msgstr "" + +#: includes/widgets/widget-woo-adspace.php:76 +#@ woothemes +msgid "Alt text:" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:10 +#@ woothemes +msgid "Woo - Blog Author Info" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:69 +#@ woothemes +msgid "Bio:" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:73 +#@ woothemes +msgid "Gravatar E-mail:" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:77 +#@ woothemes +msgid "Gravatar Size:" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:81 +#@ woothemes +msgid "Gravatar Alignment:" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:83 +#@ woothemes +msgid "Left" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:84 +#@ woothemes +msgid "Right" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:88 +#@ woothemes +msgid "Read More Text (optional):" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:92 +#@ woothemes +msgid "Read More URL (optional):" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:96 +#@ woothemes +msgid "Visible Pages:" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:98 +#@ woothemes +msgid "All" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:99 +#@ woothemes +msgid "Home only" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:100 +#@ woothemes +msgid "Single only" +msgstr "" + +#: includes/widgets/widget-woo-embed.php:11 +#@ woothemes +msgid "Woo - Embed/Video" +msgstr "" + +#: includes/widgets/widget-woo-embed.php:99 +#@ woothemes +msgid "Category:" +msgstr "" + +#: includes/widgets/widget-woo-embed.php:111 +#@ woothemes +msgid "Tag:" +msgstr "" + +#: includes/widgets/widget-woo-embed.php:116 +#: includes/widgets/widget-woo-flickr.php:104 +#@ woothemes +msgid "Size:" +msgstr "" + +#: includes/widgets/widget-woo-embed.php:122 +#@ woothemes +msgid "Limit (optional):" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:10 +#@ woothemes +msgid "Woo - Flickr" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:20 +#@ woothemes +msgid "Photos on flickr" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:78 +#@ woothemes +msgid "Flickr ID (idGettr):" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:82 +#@ woothemes +msgid "Number:" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:90 +#@ woothemes +msgid "Type:" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:92 +#@ woothemes +msgid "User" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:93 +#@ woothemes +msgid "Group" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:97 +#@ woothemes +msgid "Sorting:" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:99 +#: includes/widgets/widget-woo-tabs.php:59 +#: includes/widgets/widget-woo-tabs.php:68 +#: includes/widgets/widget-woo-tabs.php:205 +#: includes/widgets/widget-woo-tabs.php:215 +#@ woothemes +msgid "Latest" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:100 +#@ woothemes +msgid "Random" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:106 +#@ woothemes +msgid "Square" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:107 +#@ woothemes +msgid "Medium" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:108 +#@ woothemes +msgid "Thumbnail" +msgstr "" + +#: includes/widgets/widget-woo-search.php:10 +#@ woothemes +msgid "Woo - Search" +msgstr "" + +#: includes/widgets/widget-woo-subscribe.php:10 +#@ woothemes +msgid "Woo - Subscribe / Connect" +msgstr "" + +#: includes/widgets/widget-woo-subscribe.php:65 +#@ woothemes +msgid "Disable Subscription Form" +msgstr "" + +#: includes/widgets/widget-woo-subscribe.php:68 +#@ woothemes +msgid "Disable Social Icons" +msgstr "" + +#: includes/widgets/widget-woo-subscribe.php:71 +#@ woothemes +msgid "Disable in Posts" +msgstr "" + +#: includes/widgets/widget-woo-subscribe.php:74 +#@ woothemes +msgid "Disable in Pages" +msgstr "" + +#: includes/widgets/widget-woo-tabs.php:37 +#@ woothemes +msgid "This widget is the Tabs that classically goes into the sidebar. It contains the Popular posts, Latest Posts, Recent comments and a Tag cloud." +msgstr "" + +#: includes/widgets/widget-woo-tabs.php:43 +#@ woothemes +msgid "Woo - Tabs" +msgstr "" + +#: includes/widgets/widget-woo-tabs.php:61 +#: includes/widgets/widget-woo-tabs.php:70 +#: includes/widgets/widget-woo-tabs.php:206 +#: includes/widgets/widget-woo-tabs.php:218 +#: template-sitemap.php:61 +#@ woothemes +msgid "Comments" +msgstr "" + +#: includes/widgets/widget-woo-tabs.php:63 +#: includes/widgets/widget-woo-tabs.php:72 +#: includes/widgets/widget-woo-tabs.php:207 +#: includes/widgets/widget-woo-tabs.php:221 +#@ woothemes +msgid "Tags" +msgstr "" + +#: includes/widgets/widget-woo-tabs.php:66 +#: includes/widgets/widget-woo-tabs.php:204 +#: includes/widgets/widget-woo-tabs.php:212 +#@ woothemes +msgid "Popular" +msgstr "" + +#: includes/widgets/widget-woo-tabs.php:187 +#@ woothemes +msgid "Number of posts:" +msgstr "" + +#: includes/widgets/widget-woo-tabs.php:192 +#@ woothemes +msgid "Thumbnail Size (0=disable):" +msgstr "" + +#: includes/widgets/widget-woo-tabs.php:197 +#@ woothemes +msgid "Popular limit (days):" +msgstr "" + +#: includes/widgets/widget-woo-tabs.php:202 +#@ woothemes +msgid "First Visible Tab:" +msgstr "" + +#: includes/widgets/widget-woo-tabs.php:210 +#@ woothemes +msgid "Hide Tabs:" +msgstr "" + +#: includes/widgets/widget-woo-tabs.php:328 +#@ woothemes +msgid "on" +msgstr "" + +#: includes/widgets/widget-woo-twitter.php:10 +#@ woothemes +msgid "Woo - Twitter Stream" +msgstr "" + +#: includes/widgets/widget-woo-twitter.php:26 +#@ woothemes +msgid "on Twitter" +msgstr "" + +#: includes/widgets/widget-woo-twitter.php:69 +#@ woothemes +msgid "Username:" +msgstr "" + +#: includes/widgets/widget-woo-twitter.php:73 +#@ woothemes +msgid "Limit:" +msgstr "" + +#: index.php:24 +#@ woothemes +msgid "Featured Products" +msgstr "" + +#: index.php:62 +#@ woothemes +msgid "Recent Products" +msgstr "" + +#: page.php:21 +#: single.php:25 +#@ woothemes +msgid "Pages:" +msgstr "" + +#: search-form.php:3 +#@ woothemes +msgid "Search..." +msgstr "" + +#: search.php:12 +#@ woothemes +msgid "Search results:" +msgstr "" + +#: single.php:28 +#@ woothemes +msgid "Tags: " +msgstr "" + +#: single.php:36 +#, php-format +#@ woothemes +msgid "About %s" +msgstr "" + +#: single.php:40 +#, php-format +#@ woothemes +msgid "View all posts by %s " +msgstr "" + +#: template-archives.php:25 +#@ woothemes +msgid "The Last 30 Posts" +msgstr "" + +#: template-archives.php:31 +#@ woothemes +msgid "comments" +msgstr "" + +#: template-archives.php:36 +#: template-sitemap.php:33 +#@ woothemes +msgid "Categories" +msgstr "" + +#: template-archives.php:43 +#@ woothemes +msgid "Monthly Archives" +msgstr "" + +#: template-contact.php:22 +#@ woothemes +msgid "You forgot to enter your name." +msgstr "" + +#: template-contact.php:30 +#@ woothemes +msgid "You forgot to enter your email address." +msgstr "" + +#: template-contact.php:33 +#@ woothemes +msgid "You entered an invalid email address." +msgstr "" + +#: template-contact.php:41 +#@ woothemes +msgid "You forgot to enter your comments." +msgstr "" + +#: template-contact.php:55 +#@ woothemes +msgid "Contact Form Submission from " +msgstr "" + +#: template-contact.php:64 +#@ woothemes +msgid "You emailed " +msgstr "" + +#: template-contact.php:87 +#@ woothemes +msgid "You forgot to enter your" +msgstr "" + +#: template-contact.php:94 +#@ woothemes +msgid "You entered an invalid" +msgstr "" + +#: template-contact.php:104 +#@ woothemes +msgid "Thanks! Your email was successfully sent." +msgstr "" + +#: template-contact.php:142 +#@ woothemes +msgid "There was an error submitting the form." +msgstr "" + +#: template-sitemap.php:26 +#@ woothemes +msgid "Pages" +msgstr "" + +#: template-sitemap.php:37 +#@ woothemes +msgid "Product Categories" +msgstr "" + +#: template-sitemap.php:48 +#@ woothemes +msgid "Posts per category" +msgstr "" + +#: template-sitemap.php:67 +#@ woothemes +msgid "Products" +msgstr "" + +#: template-timeline.php:72 +#@ woothemes +msgid "1 comment" +msgstr "" + +#: template-timeline.php:72 +#@ woothemes +msgid "% comments" +msgstr "" + diff --git a/wootique/license.txt b/wootique/license.txt new file mode 100644 index 0000000..d31195a --- /dev/null +++ b/wootique/license.txt @@ -0,0 +1,281 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + diff --git a/wootique/page.php b/wootique/page.php new file mode 100644 index 0000000..2805aa4 --- /dev/null +++ b/wootique/page.php @@ -0,0 +1,44 @@ + + + + + + + +
                    +
                    + + + + +
                    > + +

                    + +
                    + + + '' ) ); ?> +
                    + + ', '' ); ?> + +
                    + + + + + + +
                    > +

                    +
                    + + +
                    + + + +
                    + + \ No newline at end of file diff --git a/wootique/screenshot.png b/wootique/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..e14bc84096c7c3872665143df87bd56ae3e384b7 GIT binary patch literal 12933 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�&dJ|2DK^<|v%MpUglj&7 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 literal 0 HcmV?d00001 diff --git a/wootique/search-form.php b/wootique/search-form.php new file mode 100644 index 0000000..097d7ab --- /dev/null +++ b/wootique/search-form.php @@ -0,0 +1,7 @@ +
                    +
                    + + +
                    +
                    +
                    \ No newline at end of file diff --git a/wootique/search.php b/wootique/search.php new file mode 100644 index 0000000..38fff3f --- /dev/null +++ b/wootique/search.php @@ -0,0 +1,45 @@ + + +
                    +
                    + + + + + + + + + + + + +
                    > + +

                    + + + +
                    + +
                    + +
                    + + + +
                    > +

                    +
                    + + + + + +
                    + + + +
                    + + diff --git a/wootique/sidebar.php b/wootique/sidebar.php new file mode 100644 index 0000000..883ff2d --- /dev/null +++ b/wootique/sidebar.php @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/wootique/single.php b/wootique/single.php new file mode 100644 index 0000000..a6fe4bc --- /dev/null +++ b/wootique/single.php @@ -0,0 +1,72 @@ + + + + + + + +
                    +
                    + + + + +
                    > + + + + +

                    + + + +
                    + + '' ) ); ?> +
                    + + '.__( 'Tags: ', 'woothemes' ), ', ', '

                    ' ); ?> + +
                    + + +
                    +
                    + +
                    +
                    + + + + +
                    + + +
                    +
                    + + + + + + +
                    > +

                    +
                    + + +
                    + + + +
                    + + \ No newline at end of file diff --git a/wootique/style.css b/wootique/style.css new file mode 100644 index 0000000..1314ff9 --- /dev/null +++ b/wootique/style.css @@ -0,0 +1,2088 @@ +/* +Theme Name: Wootique +Theme URI: http://www.woothemes.com/ +Version: 1.6.10 +Description: A free Woo Theme designed for use with WooCommerce. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ + +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/* Default styles */ +@import url("css/reset.css"); + +/*------------------------------------------------------------------------------------------- + +INDEX: + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.2 Top Navigation (optional) +-2.2.1 Drop-down menus +-2.3 Header +-2.4 Content + -2.4.1 Product Gallery +-2.5 Sidebar +-2.6 Footer +-2.7 Homepage specific + -2.7.1 Animation + +3. POSTS +-3.1 Typographic Elements +-3.2 Images +-3.3 Pagination / WP-Pagenavi +-3.4 Post Author +-3.5 Connect / Subscribe + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets +-4.3 WooTabs +-4.4 Shopping Cart +-4.5 Product lists +-4.6 Search + +5. COMMENTS +-5.1 Comments +-5.2 Pingbacks / Trackbacks +-5.3 Comments Form + +6. MISC +-6.1 Buttons + - 6.1.1 Comment Reply Link +-6.2 Info Boxes +-6.3 Conatct Form +-6.4 Gravity forms +-6.5 Timeline Template +-6.6 Tables + +7. WOOCOMMERCE SPECIFICS +-7.1 Demo store notice +-7.2 Star Ratings +-7.3 Single Product Page + - 7.3.1 Reviews +-7.4 Quantity Incrementer +-7.5 User Account Section + - 7.5.1 Order Tracking +-7.6 Cart + +8. UNIFORM JS + +9. IE FIXES + +-------------------------------------------------------------------------------------------*/ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ + +/* 1.1 Defaults */ + +html { font-size: 62.5%; background-color: #6e95b6; } +body { font-size:1.4em; line-height: 1.7142em; color: #777; } +#wrapper { background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAIklEQVQIHWNgYGCQ/P//PwMMM4IYyIAJxmFkZJQEsTFUAADQzg8royVN5AAAAABJRU5ErkJggg==); padding-bottom:1.618em; /* dotted texture */ } + +hr { background-color: #e6e6e6; border:0; height: 1px; margin-bottom: 20px; } + +input, textarea { padding: 5px 10px; border:1px solid #ddd; background: #fafafa; -webkit-transition: all ease-in-out .2s; -webkit-border-radius:2px; -moz-border-radius:2px; border-radius:2px; font-size:1em; font-family: inherit; +-webkit-box-shadow: + inset 0 0 3px rgba(0,0,0, 0.05), + 0 0 0 1px rgba(255,255,255,0.6); +box-shadow: + inset 0 0 3px rgba(0,0,0, 0.05), + 0 0 0 1px rgba(255,255,255,0.6); +} +input:focus, textarea:focus { background: #fff; } + +/* 1.2 Hyperlinks */ + +a { color: #6e95b6; text-decoration:none;} +a:hover {text-decoration:underline;} + +h1 a:link, h1 a:visited, h2 a:link, h2 a:visited, h3 a:link, h3 a:visited, +h4 a:link, h4 a:visited, h5 a:link, h5 a:visited, h6 a:link, h6 a:visited { text-decoration: none; } +h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {text-decoration: underline;} + + + +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ + +/* 2.1 Containers & Columns */ +#container { background: #fff; -webkit-box-shadow:0 0 40px rgba(0,0,0,0.1); -moz-box-shadow:0 0 40px rgba(0,0,0,0.1); box-shadow:0 0 40px rgba(0,0,0,0.1); } + +#main{width:504px; padding-right:40px; } +.layout-full #main, #main.fullwidth { width:880px; } + +#sidebar{width:280px;} + +.col-left { float: left; } +.col-right { float: right; } +.col-full { width: 980px; margin: 0 auto; } + +.layout-right-content #main.col-left { float: right; } +.layout-right-content #sidebar.col-right { float: left; border-left:0; } + +.col2-set:after { content:""; display: block; clear: both; } +.col2-set .col-1, .col2-set .col-2 , .form-row { width:48%; float: left; } +.col2-set .col-2, .form-row-last { float: right; } +.form-row-first { clear: left; } +.form-row label { display: block; } +.form-row input, .form-row textarea, .form-row select { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; width:100%; } +.form-row input.button, .form-row input.button { width: auto; } +.form-row-wide { width:100%; float: left; clear:both; } + +/* 2.2 Navigation */ +#navigation{z-index:9999; width:880px; border-top:1px solid rgba(255,255,255,0.2); background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEElEQVQIHWNgYGCQZAISDAAAqgAcgutEqwAAAABJRU5ErkJggg==) bottom repeat-x rgba(0,0,0,0.1); /* 1px transparent png */ clear: both; padding:0 50px; -webkit-border-top-left-radius:6px; + -webkit-border-top-right-radius:6px; + -moz-border-radius:6px 6px 0 0; + border-radius:6px 6px 0 0; } + +#navigation ul.rss{background:url(images/ico-rss.png) no-repeat right 5px;padding:6px 15px 3px 0;margin-right:10px;} +#navigation ul.rss li{display:inline;padding:0 10px 0 0;} +#navigation ul.rss li a{color:#c63f00;text-decoration:none;} +#navigation ul.rss li a:hover{text-decoration:underline;} + +.nav { z-index:99; margin:0; padding:0; list-style:none; line-height:1; } +.nav a { position:relative; color:#fff !important; display:block; z-index:100; padding:15px 20px;text-decoration:none; text-shadow: 0 1px 0 rgba(0,0,0,0.25); } +.nav a:hover, .nav li.current_page_item a, .nav li.current_page_parent a, .nav li.current-menu-item a { color:#222 !important; background-color: #fff; text-decoration: none !important; -webkit-border-top-left-radius:3px; -webkit-border-top-right-radius:3px; -moz-border-radius:3px 3px 0 0; border-radius:3px 3px 0 0; text-shadow: none; } +.nav li { float:left; width: auto; margin-right:1px; } +.nav li:hover { background: #fff; -webkit-border-top-left-radius:3px; -webkit-border-top-right-radius:3px; -moz-border-radius:3px 3px 0 0; border-radius:3px 3px 0 0; color:#222; } +.nav li:hover a { color:#222 !important; text-shadow:none; } +.nav li a.sf-with-ul { padding-right:25px; } + +a.cart-button, a.checkout-link { float:right; padding:10px 20px 11px 40px; display: block; color:#fff; background-image:url(images/ico-cart-light.png); background-position: 16px 16px; background-repeat: no-repeat; text-shadow:0 1px 0 rgba(0,0,0,0.25); } +a.cart-button:hover, a.checkout-link:hover { + -webkit-border-top-left-radius:3px; -webkit-border-top-right-radius:3px; -moz-border-radius:3px 3px 0 0; border-radius:3px 3px 0 0; background-color: #fff; color:#222; text-decoration: none !important; background-image:url(images/ico-cart.png); text-shadow: none; +} + +a.checkout-link { background-image: url(images/ico-checkout-light.png); background-position: 16px 16px; background-repeat: no-repeat; } +a.checkout-link:hover { background-image: url(images/ico-checkout.png); } + +/* 2.2.1 Drop-down menus */ +.nav li ul { background: #fff; position: absolute; left: -999em; width: 200px; border-top:0; z-index:9999; margin-left:0; list-style: none; -webkit-box-shadow:0 1px 3px rgba(0,0,0,0.2); -moz-box-shadow:0 1px 3px rgba(0,0,0,0.2); box-shadow:0 1px 3px rgba(0,0,0,0.2); -webkit-border-bottom-left-radius:3px; -webkit-border-bottom-right-radius:3px; -moz-border-radius:0 0 3px 3px; border-radius:0 0 3px 3px; } +.nav li ul li { float: none; margin-right:0; } +.nav li ul li a { display:block; color:inherit !important; border:none; padding:8px 20px; float: none; text-shadow:none; } +.nav li ul li a:hover { background:#f6f6f6; color:#222 !important; -webkit-border-radius:0; -moz-border-radius:0; border-radius:0; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f6f6f6)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ffffff, #f6f6f6); /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ffffff, #f6f6f6); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #ffffff, #f6f6f6); /* IE10 */ + background-image: -o-linear-gradient(top, #ffffff, #f6f6f6); /* Opera 11.10+ */ + background-image: linear-gradient(top, #ffffff, #f6f6f6); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff', EndColorStr='#f6f6f6'); /* IE6–IE9 */ +} +.nav li ul li:last-child { -webkit-border-bottom-left-radius:3px; -webkit-border-bottom-right-radius:3px; -moz-border-radius:0 0 3px 3px; border-radius:0 0 3px 3px; } +.nav li ul ul { margin: -30px 0 0 180px; } +.nav li.current_page_parent ul li a{ color:#555; background: none; } +.nav li.current_page_item ul li a{ color:#555; background: none; } +.nav li ul li.current_page_parent a{ color:#222; background: #e9e9e9; } +.nav li ul li.current_page_item a{ color:#222; background: #e9e9e9; } + +.nav li:hover,.nav li.hover { position:static; } +.nav li:hover ul ul, .nav li.sfhover ul ul, +.nav li:hover ul ul ul, .nav li.sfhover ul ul ul, +.nav li:hover ul ul ul ul, .nav li.sfhover ul ul ul ul { left:-999em; } +.nav li:hover ul, .nav li.sfhover ul, +.nav li li:hover ul, .nav li li.sfhover ul, +.nav li li li:hover ul, .nav li li li.sfhover ul, +.nav li li li li:hover ul, .nav li li li li.sfhover ul { left:auto; } + +.nav .sf-sub-indicator {background: url(images/arrow-superfish.png) no-repeat;position:absolute;display:block;right:0.6em;top:1.5em;width:10px;height:10px;text-indent:-999em;overflow:hidden;} +.nav li ul .sf-sub-indicator {background:url(images/arrow-superfish-right.png) no-repeat;} + +#navigation #nav-home a { padding:15px 20px 13px; height: 18px; width: 17px; display: block; opacity:0.7;} +#navigation #nav-home a:hover { opacity:1; } + +#account-nav li a{border:none;font-weight: normal;} +#account-nav li.account:hover, #account-nav li.checkout:hover {opacity:1} + +/* 2.2.2 Top Navigation (optional) */ +#top { background: #000; -webkit-box-shadow:0 0 0 1px rgba(255,255,255,0.2); -moz-box-shadow:0 0 0 1px rgba(255,255,255,0.2); box-shadow:0 0 0 1px rgba(255,255,255,0.2); } +#top .nav { border:0; } +#top .nav a { color:#ddd !important; padding:8px 10px; line-height:18px; text-decoration:none; text-shadow:none; border:0; text-shadow:none; } +#top .nav li { } +#top .nav li a.sf-with-ul { padding-right:20px; } + +#top .nav li a:hover, +#top .nav li.current_page_item a, +#top .nav li.current_page_parent a, +#top .nav li.current-menu-ancestor a, +#top .nav li.current-cat a, +#top .nav li.current-menu-item a, +#top .nav li.sfHover, +#top .nav li:hover { background-color: #222 !important; text-shadow:none; } + +#top .nav li ul { background-color: #222 !important; margin:0; padding:0px; width: 180px; border: none; z-index:999; + /* Box Shadow */ + -moz-box-shadow: 0 2px 2px rgba(0,0,0,.1); + -webkit-box-shadow: 0 2px 2px rgba(0,0,0,.1); + box-shadow: 0 2px 2px rgba(0,0,0,.1); +} +#top .nav li ul, #top .nav li ul li:last-child a { + /* Border Radius */ + border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; -webkit-border-radius: 0 0 4px 4px; +} +#top .nav li ul li { box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); background: #222; border:0; } +#top .nav li ul li a { padding:8px 10px; width:160px; color:#ddd; background: none; background: #222; } + +#top .nav li.current_page_item ul li a, +#top .nav li.current_page_parent ul li a, +#top .nav li.current-menu-ancestor ul li a, +#top .nav li.current-cat ul li a, +#top .nav li.current-menu-item ul li a, +#top .nav li.sfHover, +#top .nav li ul li a:hover { background-color: #000 !important; filter: none; } +#top .nav li ul li a.sf-with-ul { padding-right:10px; } +#top .nav li ul ul { margin: -34px 0 0 180px; } + +#top .nav li:hover, #top .nav li.hover { position:static; } +#top .nav li:hover ul ul, #top .nav li.sfhover ul ul, +#top .nav li:hover ul ul ul, #top .nav li.sfhover ul ul ul, +#top .nav li:hover ul ul ul ul, #top .nav li.sfhover ul ul ul ul { left:-999em; } +#top .nav li:hover ul, #top .nav li.sfhover ul, +#top .nav li li:hover ul, #top .nav li li.sfhover ul, +#top .nav li li li:hover ul, #top .nav li li li.sfhover ul, +#top .nav li li li li:hover ul, #top .nav li li li li.sfhover ul { left:auto; } + +/* 2.3 Header */ +.header { width:980px; margin:0 auto; overflow: hidden; zoom:1; } + +#logo { float:left; margin-left:50px; } +#logo h1 { padding:0; } +#logo h1.site-title { padding:1.143em 0 0.437em; } +#logo img { padding:1.143em 0 0.437em; } +#logo .site-title, #logo .site-description { display:none; } +#logo .site-title a { color:#fff; text-transform:none; text-decoration:none; -webkit-mask-image: -webkit-gradient(linear, left top, + left bottom, from(#fff), to(rgba(255,255,255,0.6))); text-shadow: 0 1px 1px rgba(0,0,0,0.3);} +#logo .site-title a:hover { text-decoration:none !important; } +#logo .site-description { color:#fff; margin-top:-2em; margin-bottom:1.6em;} + +#topad {float:right;} +#search-top {float:right;position:relative;} +#search-top label { display: none; } +#search-top .searchform {position: relative; margin-top:3.5em; margin-right:49px;} +#search-top input.field { background: #fff; -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; color:#777; padding:9px 25px 9px 12px; width:180px; margin-right:1px; +-webkit-box-shadow: + 0 0 0 2px rgba(255,255,255,0.3), + 0 0 0 1px rgba(0,0,0,0.4), + inset 0 0 3px rgba(0,0,0,0.1); +} +#search-top input.btn {border:none; position: absolute; width: 16px; height: 16px; right:2px; top:4px; background: #fff; } + + +/* 2.4 Content */ +#content{ width:880px; padding:50px; background: url(images/sidebar-right.png) 10px 0 repeat-y; } +#content h1:first-child { padding-top:0; } +.page-template-template-fullwidth-php #content, .layout-full #content { background: none !important; } +.page-template-template-fullwidth-php #main { padding:0 !important; } +.layout-right-content #content { background: url(images/sidebar-left.png) -10px 0 repeat-y; } +.layout-right-content.layout-full #content { background: none; } +.layout-right-content #main { padding-right:0; padding-left:40px; } +#main .post:first-child h2 { padding-top:0; } + +/* 2.4.1 Product Gallery */ +.product-gallery {position: relative;margin:0 0 30px;} +.product-gallery ul.products { border-top:0; } +ul.products { margin-left:0; padding-left:2px; padding-right:2px; padding-top:2px; zoom:1; } +ul.products .added_to_cart { display: block; padding-top:.5em; } +ul.products:before, ul.products:after { content:""; display:table; } +ul.products:after { clear: both; } +ul.products li { width:30.75%; float: left; list-style: none; position: relative; margin-right:3.8%; text-align: center; margin-bottom:2.618em; } +ul.products li.product.post.first { clear: left; } +ul.products li.product.post.last { margin-right:0; } +ul.products a img { width:100%; height: auto; padding:0; border:0; background: #fff; border-radius:3px; -webkit-box-shadow:0 0 3px rgba(0,0,0,0.25); -moz-box-shadow:0 0 3px rgba(0,0,0,0.25); box-shadow:0 0 3px rgba(0,0,0,0.25); -webkit-transition: all ease-in-out .2s; } +ul.products a:hover img {opacity:0.8; } +ul.products li a h3 { font-size:1em; display: block; padding-top:0; } +ul.products li a:hover h3 { color:#111; } +ul.products li a:hover { text-decoration: none !important; } +ul.products li .price { + position: absolute; + top:10px; + right:-6px; + background: #d23d46; + padding:2px 12px 2px 8px; + font-size:0.8751em; + color:#fff; + text-shadow:0 1px 0 rgba(0,0,0,0.25); +} +ul.products li.product.post { + clear: none; +} +ul.products li .price:before { + content: ""; + border:14px solid red; + border-right-width:2px; + border-color:#d23d46 #d23d46 #d23d46 transparent; + position: absolute; + top:0; + left:-14px; +} +ul.products li .price:after { + content: ""; + border:6px solid red; + border-color: #892026 transparent transparent transparent; + border-left-width:0; + position: absolute; + right:0; + bottom:-12px; +} +ul.products li a.button { margin:0; } +.onsale { + background-color: #96c42e; + position: absolute; + top:10px; + left:-6px; + padding: 2px 8px; + font-size: 0.8751em; + text-align: center; + color:#fff; + z-index: 999; + text-shadow: 0 1px 0 rgba(0,0,0,0.1); +} +.onsale:before { + content: ""; + border:14px solid #96c42e; + border-color:transparent transparent transparent #96c42e; + position: absolute; + top:0; + right:-28px; +} +.onsale:after { + content: ""; + border:6px solid #67861f; + border-color: #67861f transparent transparent transparent; + border-right-width:0; + position: absolute; + left:0; + bottom:-12px; +} +ul.products li del { color:#ccc; } +ul.products li ins { text-decoration:none; } + +/* 2.5 Sidebar */ +#sidebar{overflow:hidden;} + +/* 2.6 Footer */ +#footer{padding: 20px 50px 0; width:880px; background: rgba(0,0,0,0.05); -webkit-border-bottom-left-radius:6px; -webkit-border-bottom-right-radius:6px; -moz-border-radius:0 0 6px 6px; border-radius:0 0 6px 6px;} +#footer p {font-size:11px; color:#fff; text-shadow:0 1px 0 rgba(0,0,0,0.2);} +#footer p a { color:#fff; font-weight: bold; } +#footer #credit img{vertical-align:middle;} +#footer #credit span{display:none;} + +/*Footer widgets */ +#footer-widgets { padding:50px; width:880px; background: rgba(0,0,0,0.025); border-top:10px solid rgba(0,0,0,0.015); overflow: hidden; zoom:1; } +#footer-widgets .block h3 { border:none; margin: 0 0 20px 0; padding:0 0 20px;} + +/* 4 columns */ +#footer-widgets.col-4 .block { width:22.2%; float: left; margin-right:3.7%; } +#footer-widgets.col-4 .footer-widget-4 { margin-right:0; } + +/* 3 columns */ +#footer-widgets.col-3 .block { width:30.75%; float: left; margin-right:3.8%; } +#footer-widgets.col-3 .footer-widget-3 { margin-right:0; } + +/* 2 columns */ +#footer-widgets.col-2 .block { width:48%; float: left; margin-right:3.8%; } +#footer-widgets.col-2 .footer-widget-2 { margin-right:0; } + +/* 1 column */ +#footer-widgets.col-1 .block { width:100%; } + +/* 2.7 Homepage specific */ + +#introduction, #featured-products { padding:50px; } +#introduction { border:6px solid #fff; + background-color: #fff; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#ffffff)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6f6f6, #ffffff); /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6f6f6, #ffffff); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #f6f6f6, #ffffff); /* IE10 */ + background-image: -o-linear-gradient(top, #f6f6f6, #ffffff); /* Opera 11.10+ */ + background-image: linear-gradient(top, #f6f6f6, #ffffff); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f6f6f6', EndColorStr='#ffffff'); /* IE6–IE9 */ + } +#introduction h1:first-child { padding-top:0; } +#introduction p:last-child { margin-bottom:0; } +#introduction .post.type-post { border-bottom:0; } +#introduction .post.type-post img.thumbnail { float: right; } +#featured-products h2 { margin-left:-50px; margin-top:-51px; padding-left:50px; margin-bottom:0.437em; padding-right:50px; background: #fff; float: left; padding-top:0.437em; border-right:1px solid #ccc; border-bottom:1px solid #ccc; -webkit-border-bottom-right-radius:3px; -moz-border-radius:0 0 3px 0; border-radius:0 0 3px 0; -webkit-box-shadow:6px 6px 0 rgba(0,0,0,0.025); -moz-box-shadow:6px 6px 0 rgba(0,0,0,0.025); box-shadow:6px 6px 0 rgba(0,0,0,0.025); } + +#featured-products { background: url(images/featured-products.png) #f1f1f1; border-top:1px solid #ccc; border-bottom:1px solid #ccc; padding:50px 0 0 50px; -webkit-box-shadow: inset 0 0 0 6px rgba(0,0,0,0.025); -moz-box-shadow: inset 0 0 0 6px rgba(0,0,0,0.025); box-shadow: inset 0 0 0 6px rgba(0,0,0,0.025); } + +#featured-products ul.featured-products { margin:0; clear: left; overflow: hidden; zoom:1; padding-top:10px !important; padding-left:2px; } +#featured-products ul.featured-products li { width:193px; margin-right:36px; float:left; list-style: none; position: relative; -webkit-perspective: 700; height:202px; +-webkit-animation-name:popin; +-webkit-animation-duration:.5s; +-webkit-animation-iteration-count:1; +} +#featured-products ul.featured-products li { margin-bottom: 40px; } +#featured-products ul.featured-products li h3 { font-size:1em; } +#featured-products ul.featured-products li:last-child { margin-right:0; } +#featured-products ul.featured-products li img { width:100%; height: auto; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; } + +#featured-products.fp-slider { + position: relative; +} + +#featured-products.fp-slider .onsale { + left:-5px; +} + +#featured-products.fp-slider .jcarousel-container { + width: 880px; + padding: 0 50px 0; + margin: 0 -50px 0; + overflow: hidden; +} +#featured-products.fp-slider .jcarousel-clip { + width: 880px; + overflow: visible; + position: relative; +} +#featured-products ul.featured-products { overflow: visible !important; } + +#featured-products.fp-slider .jcarousel-next, #featured-products.fp-slider .jcarousel-prev { display: block; height:25px; width:25px; cursor: pointer; float: left; position: absolute; top:25px; right:50px; } +#featured-products.fp-slider .jcarousel-next { background: url(images/btn-feat-right.png) left bottom no-repeat; } +#featured-products.fp-slider .jcarousel-prev { background: url(images/btn-feat-left.png) left bottom no-repeat; right:75px; } +#featured-products.fp-slider .jcarousel-next:hover, #featured-products.fp-slider .jcarousel-prev:hover { background-position: left centre; } +#featured-products.fp-slider .jcarousel-next-disabled, #featured-products.fp-slider .jcarousel-prev-disabled { background-position: left top; } + +/* The flipper */ +#featured-products ul.featured-products li.flipper .front { + box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3); + -webkit-transform-style: preserve- 3 d; + -webkit-backface-visibility: hidden; + -webkit-transition: all ease-in-out 0.4s; + -moz-transition: all ease-in-out 0.4s; + -o-transition: all ease-in-out 0.4s; + transition: all ease-in-out 0.4s; + height: 170px; + margin:2px; + padding:10px; + z-index: 900; + background: #fff; + text-align: centre; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + overflow: hidden; +} + +#featured-products ul.featured-products li.flipper .front a { + overflow: hidden; + display: block; + max-height: 170px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +#featured-products ul.featured-products li.flipper .back { + position: absolute; + top: 0; + left: 0; + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3), inset 0 0 0 8px #ffffff; + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3), inset 0 0 0 8px #ffffff; + box-shadow: 0 0 3px rgba(0, 0, 0, 0.3), inset 0 0 0 8px #ffffff; + z-index: 800; + text-align: center; + width: 100%; + height: 160px; + width:148px; + margin:2px; + padding:10px 20px 20px 20px; + -webkit-transform: rotatey(-180deg); + -webkit-transform-style: preserve- 3 d; + -webkit-backface-visibility: hidden; + -webkit-transition: all ease-in-out 0.4s; + -moz-transition: all ease-in-out 0.4s; + -o-transition: all ease-in-out 0.4s; + transition: all ease-in-out 0.4s; + filter: alpha(opacity=@opacity * 100); + -moz-opacity: 0; + -khtml-opacity: 0; + opacity: 0; + background: #fafafa; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +#featured-products ul.featured-products li.flipper .back a:hover { + text-decoration: none !important; +} + +#featured-products ul.featured-products li.flipper:hover .front { + z-index: 900; + -webkit-transform: rotatey(180deg); + filter: alpha(opacity=@opacity * 100); + -moz-opacity: 0; + -khtml-opacity: 0; + opacity: 0; +} +#featured-products ul.featured-products li.flipper:hover .back { + z-index: 1000; + -webkit-transform: rotatey(0deg); + filter: alpha(opacity=@opacity * 100); + -moz-opacity: 1; + -khtml-opacity: 1; + opacity: 1; +} + +/* 2.7.1 Animation */ + +@-webkit-keyframes popin { +from { -webkit-transform:scale(0); } +90% { -webkit-transform:scale(1.1); } +to { -webkit-transform:scale(1); } +} + +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ + +.breadcrumb{ margin:0 auto; font-size:0.8751em; color:#999; + background-color: #fff; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f6f6f6)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ffffff, #f6f6f6); /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ffffff, #f6f6f6); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #ffffff, #f6f6f6); /* IE10 */ + background-image: -o-linear-gradient(top, #ffffff, #f6f6f6); /* Opera 11.10+ */ + background-image: linear-gradient(top, #ffffff, #f6f6f6); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff', EndColorStr='#f6f6f6'); /* IE6–IE9 */ + } +.breadcrumb-trail { padding:8px 50px; border-bottom:1px dotted #e0e2e4; text-shadow:0 1px 0 rgba(255,255,255,.9); } +.archive_header { display: block; float: left; width: 100%; margin:0 0 30px; padding:0 0 10px; font-weight: bold; border-bottom:#e6e6e6 5px solid; } +.archive_header .catrss a { text-decoration: none; line-height: 28px; } + +.post { margin: 0 0 20px; clear: left; } +.page .post { border:none; } +.post.type-post { border-bottom:1px solid #e6e6e6; } + +.page .post .title { margin: 0 0 10px 0; } + +a + h2.title { + padding-top:0; +} + +.post-meta{margin: 0px 0 15px 0; } +.post-meta .comments a { padding: 0 0 0 20px; } + +.post-more { clear:both; border:1px solid #e6e6e6; border-width:1px 0 0px; padding:10px 0; } +.post-more a, .post-meta a { text-decoration:none; } +.post-more a:hover, .post-meta a:hover { text-decoration:underline; } + +.post p.tags{background:url(images/ico-tag.gif) no-repeat center left;padding-left:25px;width:100%;clear:both;margin-bottom:20px;} + +mark { background: none; font-weight: bold; } + +/* 3.1 Typographic Elements */ +body { font-family: 'Varela Round', sans-serif; } +h1, h2, h3, h4, h5, h6, .site-title { font-family: 'Varela Round', sans-serif; font-weight: 300; margin:0; line-height:1.7142em; color:#333; } +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {} + +h1, .site-title { font-size:2.618em; padding:1.143em 0 0.437em; } +h2 { font-size:1.849em; padding:1.143em 0 0.437em; } +h3 { font-size:1.618em; padding:1.143em 0 0.4376em; } +h4 { font-size:1em; padding:1.143em 0 0.706em; } + +p, ul, ol, dl, blockquote, hr, pre, table, fieldset, article, article footer, nav { + margin: 0 0 1.7142em 0; + line-height: 1.7142em; +} + +ul { + margin: 0 0 1.7142em 1.7142em; + list-style: disc outside; +} + +ol { + margin: 0 0 1.7142em 1.7142em; + list-style: decimal outside; +} + +small {font-size:0.9em; line-height: 2} + +.important { + font-size:1.30769em; +} + +/* Some ol's / ul's shouldn't have a left margin: */ + +#footer-widgets ul, #sidebar ul { margin-left:0; } + +/* 3.2 Images */ +img { -ms-interpolation-mode : bicubic; } +.entry img, img.thumbnail { padding: 5px; border: 1px solid #e6e6e6; background:#F8F8F8; } +.entry .woo-image { float: right; margin:0 0 20px 20px; } +img.wp-smiley { padding: 0; border: none; } + +.alignleft { float: left; height: auto; margin: 5px 15px 5px 0; } +.alignright { float: right; height: auto; margin: 5px 0 5px 15px; } +.aligncenter { text-align: center; margin-bottom:15px;} +img.aligncenter { margin-left:auto; margin-right:auto; display:block; } + +.entry .wp-caption { padding: 1px; text-align:center; background:#F8F8F8; border: solid 1px #e6e6e6; } +.entry .wp-caption img{ margin:0; padding:4px 0; background:none; border:0; } +.entry .wp-caption-text { margin:0; padding:0; text-align:center; } + +/* 3.3 Pagination / WP-Pagenavi */ +.nav-entries, .wp-pagenavi {} +.nav-entries a { display: block; color:#777; text-decoration:none;} +.nav-entries a:hover { text-decoration:underline; } + +.woo-pagination { margin: 0 !important; text-align: center !important; } +.woo-pagination a:link, +.woo-pagination a:visited { display: inline !important; text-decoration: none !important; background: #EEEEEE !important;color: #666 !important; padding: 3px 7px !important; border:1px solid #DDDDDD !important; -webkit-border-radius:2px; -moz-border-radius:2px; border-radius:2px;} +.woo-pagination .current, +.woo-pagination .on, +.woo-pagination a:hover { padding: 3px 7px !important; background: #ddd !important; border:1px solid #bbb !important;-webkit-border-radius:2px; -moz-border-radius:2px; border-radius:2px; } +.woo-pagination span.extend, .pagination span.pages { background:none !important; border:none !important; color:#666 !important;-webkit-border-radius:2px; -moz-border-radius:2px; border-radius:2px; } + +.woocommerce .woo-pagination, .nav-entries { padding-top:.5em; border-top:1px dotted #ddd; } +.woocommerce .woo-pagination, .nav-entries { width:50%; float: left; text-align: left !important; } +.woocommerce .woocommerce_result_count, .woocommerce .woocommerce-result-count { width:50%; float:left; } +.woocommerce .woocommerce_ordering, .woocommerce .woocommerce-ordering { width:50%; float: right; text-align: right; } +.woocommerce .woocommerce_ordering div.selector span, .woocommerce .woocommerce-ordering div.selector span { text-align: left; } +.woocommerce_result_count + ul.products, .woocommerce_ordering + ul.products, .woocommerce-result-count + ul.products, .woocommerce-ordering + ul.products { clear:both; } + +#post-entries { overflow: hidden; zoom:1; margin:10px 0; border:1px solid #ddd; + background-color: #fafafa; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fafafa), to(#eeeeee)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fafafa, #eeeeee); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient(top, #fafafa, #eeeeee); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #fafafa, #eeeeee); /* IE10 */ + background-image: -o-linear-gradient(top, #fafafa, #eeeeee); /* Opera 11.10+ */ + background-image: linear-gradient(top, #fafafa, #eeeeee); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#fafafa', EndColorStr='#eeeeee'); /* IE6–IE9 */ + -webkit-border-radius:3px; + -moz-border-radius:3px; + border-radius:3px; + -webkit-box-shadow: + inset 0 0 0 1px rgba(255,255,255,0.5), + 0 1px 2px rgba(0,0,0,0.05); + -moz-box-shadow: + inset 0 0 0 1px rgba(255,255,255,0.5), + 0 1px 2px rgba(0,0,0,0.05); + box-shadow: + inset 0 0 0 1px rgba(255,255,255,0.5), + 0 1px 2px rgba(0,0,0,0.05); + } + +#post-entries a { display:block; padding:5px 10px; text-shadow:0 1px 0 #fff; } +#post-entries a:hover { background: rgba(255,255,255,0.5); } +#post-entries .nav-prev a { border-right:1px solid #ddd; -webkit-box-shadow:1px 0 0 #fff; -moz-box-shadow:1px 0 0 #fff; box-shadow:1px 0 0 #fff; } +#post-entries .nav-next a { border-left:1px solid #fff; -webkit-box-shadow:-1px 0 0 #ddd; -moz-box-shadow:-1px 0 0 #ddd; box-shadow:-1px 0 0 #ddd; } + + +/* 3.4 Post Author */ +#post-author { background: #f7f7f7; padding:20px; overflow: hidden; zoom:1; -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; } +#post-author .profile-image { width:13.45%; float: left; } +#post-author .profile-image img { width:90%; height: auto; background: #fff; padding:5%; border:1px solid #ddd; } +#post-author .profile-content { width:82.7%; float: right; } +#post-author .profile-content h3 { padding-top:0; } + +/* 3.5 Connect / Subscribe */ +#connect { padding:20px 0; } + +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 4.2 Generic Widgets */ +#sidebar .widget:first-child h3 { padding-top:0; } +.widget { margin: 0 0 30px 0; } +.widget a:hover {text-decoration:underline !important;} +.widget p { margin-bottom:15px; } + +.widget ul { clear:both; list-style-position:inside; list-style-type:disc;} +.widget ul li { list-style:none; } +.widget ul li a { padding: 0; line-height: 22px; text-decoration: none; } +.widget ul li a:hover { text-decoration:underline; } +.widget ul ul { padding: 0 0 0 15px; border-top: none; } + +.widget_recent_comments li, #twitter li { padding: 1px 0; line-height: 18px; border-bottom: 1px solid #eee; } /* RESET LI STYLING FOR RECENT COMMENT & TWITTER */ +.widget_recent_comments li a, #twitter a { display: inline; padding: 0; line-height: 18px!important; background: none!important; border: none!important; } /* RESET STYLING FOR RECENT COMMENT & TWITTER */ + +/* 4.2 Specific Widgets */ + +/* WIDGET FORMS */ +.widget .screen-reader-text { display: none; } +.widget input.submit { float:right; } + +.search-widget .searchform {position: relative;} +.search-widget input.field { background: #fff; border:1px solid #ccc; color:#777; font-weight: bold; padding:9px 25px 9px 12px; width:180px;} +.search-widget input.btn {border:none; position: absolute; width: 16px; height: 16px; right:5px; top:0px; } + +/* ADSPACE */ + +.adspace-widget img { max-width: 100%; height: auto; } + +/* FLICKR */ +.widget_woo_flickr h3 {} +.widget_woo_flickr h3 span{color:#0061D8;} +.widget_woo_flickr h3 span span{color:#FF1183;} +.widget_woo_flickr .flickr_badge_image { float: left; margin: 3px; } + +.widget_woo_flickr .wrap { position: relative; margin-bottom: 20px; padding: 0; } +.widget_woo_flickr a img { float: left; margin: 0 0 8px 8px; display: block; border: #CECFC6 1px solid; padding: 3px;} +.widget_woo_flickr a:hover img { border:#A8AA99 1px solid; } + +/* LIFESTREAM */ +.widget_lifestream ul li { border-bottom: 1px solid #e0e6e6; } +.widget_lifestream ul li a { border:none; background:none!important; } +.widget_lifestream ul .lifestream_meta { color: inherit; } + +/* CALENDAR */ +#wp-calendar{width:95%;margin-bottom:15px;clear:both;padding:0;} +#wp-calendar caption{padding:10px;} +#wp-calendar th,#wp-calendar td{text-align:center;background:#E7E7E7;color:#9E9E9E;padding:5px;} +#wp-calendar td{background:transparent;} +#wp-calendar td,table#wp-calendar th{padding:3px 0;} + +/* TWITTER */ +.widget_woo_twitter ul { padding-left:0; margin-bottom:10px; } +.widget_woo_twitter ul li { padding-left:0; background: none; margin-bottom:5px; padding-bottom:5px; border-bottom:1px solid #e6e6e6; } +.widget_woo_twitter ul li .content { display: block; } + +/* Blog Author Widget */ +.widget_woo_blogauthorinfo .avatar { padding: 5px; border: 1px solid #e6e6e6; background:#F8F8F8; background:rgba(255,255,255,0.7);} +.widget_woo_blogauthorinfo .left { float:left; margin:0 10px 5px 0; } +.widget_woo_blogauthorinfo .right { float:right; margin:0 0 5px 10px; } + +/* WooCommerce layered nav */ +.widget_layered_nav ul li { overflow: hidden; zoom:1; } +.widget_layered_nav ul li a { float: left; } +.widget_layered_nav ul li .count { float: right; background: #ccc; color:#fff; padding:3px 10px; margin-top:1px; -webkit-border-radius:10px; line-height: 1em; -webkit-box-shadow:0 1px 0 0 #fff; -moz-box-shadow:0 1px 0 0 #fff; box-shadow:0 1px 0 0 #fff; } +.widget_layered_nav ul li.chosen a { padding-right:18px; background: url(images/ico-cross-small.png) right no-repeat; } + +/* WooCommerce price filter */ + +.widget_price_filter .ui-state-default, .widget_price_filter .ui-widget-content .ui-state-default, .widget_price_filter .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6; font-weight: normal; colour: #555555; } + +.widget_price_filter .ui-state-hover, .widget_price_filter .ui-widget-content .ui-state-hover, .widget_price_filter .ui-widget-header .ui-state-hover, .widget_price_filter .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada; font-weight: normal; colour: #212121; } + +.widget_price_filter .ui-state-active, .widget_price_filter .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff; font-weight: normal; colour: #212121; } + +.widget_price_filter .ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; } + +.widget_price_filter .ui-slider { position: relative; text-align: left; } +.widget_price_filter .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.widget_price_filter .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.widget_price_filter .price_slider_wrapper .ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff; color: #222222; } +.widget_price_filter .price_slider_wrapper .ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc; color: #222222; font-weight: bold; } + +.widget_price_filter .ui-slider-horizontal { height: .8em; } +.widget_price_filter .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.widget_price_filter .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { left: 0; } +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { right: 0; } + + +.widget_price_filter .price_slider_wrapper .price_slider { margin:0 10px 10px 10px; background: #f6f6f6 !important; border:1px solid #e6e6e6 !important; -webkit-box-shadow:0 1px 0 1px rgba(255,255,255,0.9); -moz-box-shadow:0 1px 0 1px rgba(255,255,255,0.9); box-shadow:0 1px 0 1px rgba(255,255,255,0.9); } +.widget_price_filter .price_slider_wrapper .ui-widget-header { border:1px solid #e6e6e6; background: #e6e6e6; } +.widget_price_filter .price_slider_wrapper .ui-slider-handle { + border: 1px solid #aaa; + border-bottom-color: #999; + color: white !important; + text-shadow: 0 -1px 0 hsla(0,0%,0%,.3); + cursor: pointer; + + /*Border radius*/ + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + + /*Background*/ + background: #fefefe; /*Fallback*/ + background-image: -webkit-gradient(linear, left top, left bottom, from(#fefefe), to(#e5e5e5)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fefefe, #e5e5e5); /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #fefefe, #e5e5e5); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #fefefe, #e5e5e5); /* IE10 */ + background-image: -o-linear-gradient(top, #fefefe, #e5e5e5); /* Opera 11.10+ */ + background-image: linear-gradient(top, #fefefe, #e5e5e5); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#fefefe', EndColorStr='#e5e5e5'); /* IE6–IE9 */ + + /*Box shadow*/ + -webkit-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + inset 0 0 0 1px rgba(255,255,255,0.8), + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + -moz-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + inset 0 0 0 1px rgba(255,255,255,0.8), + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; + box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.3) /*Shine*/, + inset 0 0 0 1px rgba(255,255,255,0.8), + 0 1px 2px hsla(0, 0%, 0%, .29) /*Shadow*/; +} + +.widget_price_filter .price_slider_wrapper .ui-slider-handle:hover { + text-decoration: none !important; + /*Background*/ + background: #ffffff; /*Fallback*/ + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e5e5e5)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ffffff, #e5e5e5); /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ffffff, #e5e5e5); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #ffffff, #e5e5e5); /* IE10 */ + background-image: -o-linear-gradient(top, #ffffff, #e5e5e5); /* Opera 11.10+ */ + background-image: linear-gradient(top, #ffffff, #e5e5e5); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#fefefe', EndColorStr='#e5e5e5'); /* IE6–IE9 */ +} +.widget_price_filter .price_slider_wrapper .button { margin-left:0; } + +/* 4.3 WooTabs */ +#tabs, .woocommerce_tabs, .woocommerce-tabs { height:auto; display: block; padding:1px; clear: both; } + +#tabs ul.wooTabs, #tabs ul.tabs, .woocommerce_tabs ul.tabs, .woocommerce-tabs ul.tabs { padding:0px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAG0lEQVQIHWNkYGCQBGII+P//P4ghCaUhDBAHAJvGDEHlDzesAAAAAElFTkSuQmCC) bottom repeat-x; /* 1px transparent png */ overflow: hidden; zoom:1; margin:0; } +#tabs ul.wooTabs li, #tabs ul.tabs li, .woocommerce_tabs ul.tabs li, .woocommerce-tabs ul.tabs li { float: left; display:inline; color: #ffffff; margin:0px; cursor: pointer; padding-left:0; background-image: none; margin-right:2px;} +#tabs ul.wooTabs li a.selected, #tabs ul.wooTabs li a:hover, #tabs ul.tabs li.active a, #tabs ul.tabs li a:hover, .woocommerce_tabs ul.tabs li a:hover, .woocommerce_tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover, .woocommerce-tabs ul.tabs li.active a { background:#fff; text-decoration:none !important; margin-bottom:0; padding-bottom:9px; } +#tabs ul.tabs li a, .woocommerce_tabs ul.tabs li a, .woocommerce-tabs ul.tabs li a { background:#f6f6f6; color:#777; display: block;float: left; padding: 6px 12px; border:1px solid rgba(0,0,0,0.1); border-bottom:0; margin-bottom:3px; -webkit-border-top-left-radius:3px; -webkit-border-top-right-radius:3px; -moz-border-radius:3px 3px 0 0; border-radius:3px 3px 0 0; } +#tabs ul.wooTabs li a { padding:3px 6px; display: block; float: left; margin-right:1px; color:#777; border:1px solid rgba(0,0,0,0.1); border-bottom:0; background: #eee; -webkit-border-top-left-radius:3px; -webkit-border-top-right-radius:3px; -moz-border-radius:3px 3px 0 0; border-radius:3px 3px 0 0; } +#tabs ul.wooTabs li a.selected, #tabs ul.wooTabs li a:hover { padding-bottom:6px; background: #fff; } +#tabs ul.wooTabs li a:hover { color:#555; } +#tabs .inside { padding:1em; border:1px solid rgba(0,0,0,0.1); border-top:0; background: #fff; } +#tabs .inside li { padding-bottom:1em; margin-bottom:1em; border-bottom:1px dotted rgba(0,0,0,0.1); } +#tabs .inside li:last-child { padding-bottom:0; margin-bottom:0; border:0; } + +.woocommerce_tabs .panel, .woocommerce-tabs .panel { background:#fff; clear: left;} +.woocommerce_tabs .panel, .woocommerce-tabs .panel { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAG0lEQVQIHWNkYGCQBGII+P//P4ghCaUhDBAHAJvGDEHlDzesAAAAAElFTkSuQmCC) top repeat-x bottom repeat-x #fff; /* diagonal texture */ overflow: hidden; } +#tabs .panel h2, .woocommerce_tabs .panel h2, .woocommerce-tabs .panel h2 { padding-top:10px; } +#tabs #tab-tags { padding:10px; } +#tabs .inside ul { margin:0; padding-left:0; } +#tabs .inside li a { } +#tabs .inside a:hover{} +#tabs .inside li span.meta { display:block; } +#tabs .inside li img.avatar, #tabs .inside li img.thumbnail { border: 1px solid #ddd; padding: 2px; background-color: #ffffff; float: left; margin: 0 8px 0 0; } + +.type-product .panel ul, .type-product .panel ol { margin-left:20px; list-style: disc; } +.type-product .panel ol.commentlist { margin-left:0; } + +/* 4.4 Woo Shopping Cart */ +.widget_shopping_cart { margin:0 0 30px 0; } +.widget_shopping_cart li.empty { margin:0 -1em -1em -1em !important; padding:0 1em 1em 1em !important; border-bottom:1px solid rgba(0,0,0,0.1) !important; } +.widget_shopping_cart ul.cart_list { padding:1em; background: #fafafa; margin-left:0 !important; margin-bottom:0; border:1px solid rgba(0,0,0,0.1); border-bottom:0; -webkit-border-top-left-radius:3px; -webkit-border-top-right-radius:3px; -moz-border-radius:3px 3px 0 0; border-radius:3px 3px 0 0; } +.widget_shopping_cart ul.cart_list li:last-child { margin-bottom:0; padding-bottom:0; border-bottom:0; } +.widget_shopping_cart p.total { margin-bottom:0; text-shadow:0 1px 0 rgba(255,255,255,0.7); } +.widget_shopping_cart p.total, .widget_shopping_cart p.buttons { padding:0 20px; text-align: center; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAG0lEQVQIHWNkYGCQBGII+P//P4ghCaUhDBAHAJvGDEHlDzesAAAAAElFTkSuQmCC) top repeat-x; /* diagonal texture */ padding-top:1em; padding-bottom:1em; border-left:1px solid rgba(0,0,0,0.1); border-right:1px solid rgba(0,0,0,0.1); } +.widget_shopping_cart p.buttons { border-bottom:1px solid rgba(0,0,0,0.1); -webkit-box-shadow:inset 0 0 3px rgba(0,0,0,0.1); -moz-box-shadow:inset 0 0 3px rgba(0,0,0,0.1); box-shadow:inset 0 0 3px rgba(0,0,0,0.1); -webkit-border-bottom-left-radius:3px; -webkit-border-bottom-right-radius:3px; -moz-border-radius:0 0 3px 3px; border-radius:0 0 3px 3px; } +.widget_shopping_cart p.total { background-color:#eee; border-bottom:1px solid #fafafa; } +.widget_shopping_cart p.buttons .button { margin-left:0; } + +/* 4.5 Product lists within widgets */ + +.widget .product_list_widget { + padding-left:0; +} + +.widget .product_list_widget li { + background: none; + padding-left:0; + overflow: hidden; + zoom:1; + margin-bottom:1em; + padding-bottom:1em; + border-bottom:1px dotted #ddd; +} + +.widget .product_list_widget li a { + display: block; +} + +.widget .product_list_widget li img { + float: right; + margin:0 0 5px 1em; + border:3px solid #fff; + -webkit-box-shadow:0 1px 2px rgba(0,0,0,0.2); + -moz-box-shadow:0 1px 2px rgba(0,0,0,0.2); + box-shadow:0 1px 2px rgba(0,0,0,0.2); + width:32px; + height: auto; +} + + +.widget .product_list_widget li dl.variation { + overflow: hidden; + zoom:1; + margin-bottom:0 !important; +} + +.widget .product_list_widget li dl.variation dt { + float: left; + margin-right:6px; + clear: left; +} + +.widget .product_list_widget li dl.variation dd { + font-style: italic; +} + +.widget .product_list_widget li del { + color: #ccc; +} + +.widget .product_list_widget li ins { + text-decoration: none; +} + +/* 4.6 Search */ + +#sidebar .searchform, #sidebar #searchform, #footer-widgets .searchform, #footer-widgets #searchform { padding:10px; background: #fff; border:1px solid #e5e5e5; -webkit-borde-radius:3px; -moz-border-radius:3px; border-radius:3px; -webkit-box-shadow:inset 0 0 3px rgba(0,0,0,0.1), 0 0 0 1px rgba(255,255,255,0.7); -moz-box-shadow:inset 0 0 3px rgba(0,0,0,0.1), 0 0 0 1px rgba(255,255,255,0.7); box-shadow:inset 0 0 3px rgba(0,0,0,0.1), 0 0 0 1px rgba(255,255,255,0.7); margin:0 1px; } +#sidebar .searchform input, #sidebar #searchform input, #footer-widgets .searchform input, #footer-widgets #searchform input { background: 0; padding:0; border:0; } +#sidebar .searchform .search-submit, #sidebar #searchform #searchsubmit, #footer-widgets .searchform .search-submit, #footer-widgets #searchform #searchsubmit { float: right; margin-top:4px; margin-right:6px; } +#sidebar #searchform #searchsubmit, #footer-widgets #searchform #searchsubmit { text-align: left; text-indent: -999em; cursor: pointer; display: block; height:18px; width:18px; background: url(images/ico-search.png) no-repeat; } +#sidebar .searchform .s, #sidebar #searchform #s, #footer-widgets .searchform .s, #footer-widgets #searchform #s { width:80%; } + +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 5.1 Comments */ +#comments {position:relative;padding:20px 0 0 0;clear:both; } +#comments ol.commentlist { margin-left:0; } +#comments h3 { color:#333; font-weight:normal; margin-bottom:20px; } +#comments .comment{margin-top:10px;width:100%;list-style-type:none;} +#comments .comment .comment-container { position:relative; padding: 20px 0; } +#comments .comment-head { margin: 0 0 15px 0; } +#comments .avatar { float:left; margin: 0 15px 10px 0; } +#comments .avatar img{margin: 0;vertical-align: middle;border:1px solid #ddd; padding:3px; background:#fff; } +#comments .comment-head .name { margin: 0; font-weight: bold; } +#comments .comment-head .date, #comments .comment-head .edit, #comments .comment-head .perma { } +#comments .comment-entry { margin-left:63px; padding:20px; background: #f7f7f7; font-size:0.8751em; -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; position: relative; } +#comments .comment-entry:before { content: ""; border:12px solid #f7f7f7; border-color:transparent transparent #f7f7f7 transparent; position: absolute; +top:-24px; left:6px; } +#comments .comment-entry p { margin: 0 0 10px 0;} +#comments .reply { padding-top:10px; } +#comments .reply a:hover { } + +#comments ul.children{margin:10px 10px 0 60px;padding:0; } +#comments .cancel-comment-reply{margin:10px 0;} + +#comments .navigation { } +#comments .navigation a{ display: block; margin: 15px 0 0 0; text-decoration: none; } +#comments .navigation a:hover{} + +#comments h3#pings { margin-top:25px; } +#comments .pingbacks li.pingback { margin:10px 0; } +#comments .pingbacks li.pingback .reply { display:none; } + +/* 5.2 Comments Form */ +#respond { margin: 40px 0 0; } +#respond h3 { color:#333; font-weight:normal; margin-bottom:20px; } +#respond .left { float:left; width:200px; margin-right:15px; } +#respond .right { float:left; width:380px; } +#respond label { color:#777; } + +#commentform { margin: 15px 0 0 0; } +#commentform label { position:relative; display:inline; vertical-align:top; display:inline-block; margin-top:5px; } +#commentform input.txt { color:#666; width: 170px; margin: 0 5px 10px 0; } +#commentform textarea { color:#666; width: 94% !important; } + +#respond #commentform #submit { margin: 15px 0 0 0; cursor: pointer; } + +/* 5.3 Pingbacks / Trackbacks */ +h3#pings { margin: 25px 0 10px 0; } +.pinglist li { margin: 0 0 0 20px; list-style-type: decimal; } +.pinglist li .author { font-weight: bold; } +.pinglist li .pingcontent { display: block; margin: 10px 0; } + + +/*-------------------------------------------------------------------------------------------*/ +/* 6. MISC */ +/*-------------------------------------------------------------------------------------------*/ + +/* 6.1 Buttons */ +a.button, .button.alt, .button, input.button, button.button, a.comment-reply-link, #commentform #submit, #featured-products ul.products .button { + display: inline-block; + margin: 5px 5px 5px 0; + padding: 2px 13px 2px; + border: 1px solid #ccc; + color: #444; + text-align: center; + text-decoration: none; + cursor: pointer; + position: relative; + font-size:1em !important; + font-family: inherit; + overflow: visible; + text-shadow:0 1px 0 rgba(255,255,255,0.9); + + /*Border radius*/ + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + + /*Background*/ + background: #237fd7; /*Fallback*/ + background-image: -webkit-gradient(linear, left top, left bottom, from(#fefefe), to(#e5e5e5)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fefefe, #e5e5e5); /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #fefefe, #e5e5e5); /* FF3.6 */ + background-image: -ms-linear-gradient(top, #fefefe, #e5e5e5); /* IE10 */ + background-image: -o-linear-gradient(top, #fefefe, #e5e5e5); /* Opera 11.10+ */ + background-image: linear-gradient(top, #fefefe, #e5e5e5); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#fefefe', EndColorStr='#e5e5e5'); /* IE6–IE9 */ + + /*Box shadow*/ + -webkit-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 0 1px rgba(255,255,255,0.6), + 0 1px 2px hsla(0, 0%, 0%, .1) /*Shadow*/; + -moz-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 0 1px rgba(255,255,255,0.6), + 0 1px 2px hsla(0, 0%, 0%, .1) /*Shadow*/; + box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 0 1px rgba(255,255,255,0.6), + 0 1px 2px hsla(0, 0%, 0%, .1) /*Shadow*/; + + /* Animation */ + -webkit-transition: all ease-in-out .2s; + -moz-transition: all ease-in-out .2s; +} + +a.button.loading, input.button.loading, button.button.loading { + filter:~"alpha(opacity=50)"; + -moz-opacity:0.5; + -khtml-opacity: 0.5; + opacity: 0.5; +} + +a.button.loading:before, input.button.loading:before, button.button.loading:before, a.button.added:before, input.button.added:before, button.button.added:before { + content:""; + position: absolute; + height:16px; + width:16px; + top:4px; + right:-26px; + text-indent: 0; +} + +a.button.loading:before, input.button.loading:before, button.button.loading:before { + background: url(images/ajax-loader.gif) no-repeat; +} + +a.button.added:before, input.button.added:before, button.button.added:before { + background: url(images/ico-tick.png) no-repeat; +} + +input.button, button.button, input.button.alt, button.button.alt { + padding:5px 13px; +} + +a.button.large { padding:6px 16px;} +a.button.small, a.comment-reply-link { padding:0px 10px;} + +a.button:hover, +.button.alt:hover, +.button:hover, +input.button:hover, +button.button:hover, +a.button.hover, +a.button.active, +#featured-products ul.products .button:hover { + text-decoration: none !important; + color:#222; + border-color:#9ebac3; + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #fefefe), + color-stop(1, #f1f1f1) + ); + background: -moz-linear-gradient( + center top, + #fefefe 20%, + #f1f1f1 100% + ); + + /*Box shadow*/ + -webkit-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 0 1px rgba(255,255,255,0.6), + 0 1px 6px #acd8e9 /*Shadow*/; + -moz-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 0 1px rgba(255,255,255,0.6), + 0 1px 6px #acd8e9 /*Shadow*/; + box-shadow: inset 0 1px 0 hsla(0,100%,100%,.3) /*Top*/, + inset 0 0 0 1px rgba(255,255,255,0.6), + 0 1px 6px #acd8e9 /*Shadow*/; +} + + + + +/* 6.1.1 Comment Reply Link */ +a.comment-reply-link { + border: 1px solid #d5d5d5; + border-bottom-color: #e6e2e2; + color: #888 !important; + text-shadow: 0 1px 0 white; + + /*Background*/ + background: #e8e8e8; /*Fallback*/ + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(.2, #f3f3f3), + color-stop(1, #e6e6e6) + ); + background: -moz-linear-gradient( + center top, + #f3f3f3 20%, + #e6e6e6 100% + ); + + /*Box shadow*/ + -webkit-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.5) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.1) /*Shine*/, + 0 1px 0 hsla(0, 100%, 100%, .7) /*Shadow*/; + -moz-box-shadow: inset 0 1px 0 hsla(0,100%,100%,.5) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.1) /*Shine*/, + 0 1px 0 hsla(0, 100%, 100%, .7) /*Shadow*/; + box-shadow: inset 0 1px 0 hsla(0,100%,100%,.5) /*Top*/, + inset 0 0 2px hsla(0,100%,100%,.1) /*Shine*/, + 0 1px 0 hsla(0, 100%, 100%, .7) /*Shadow*/; +} +a.comment-reply-link:hover, +a.comment-reply-link.hover, +a.comment-reply-link.active { color:#666; } + + +/* 6.2 Info Boxes */ +p.alert, p.download, p.info, p.note, p.tick, .woocommerce-info, .woocommerce_message, .woocommerce_error, .woocommerce-message, .woocommerce-error { margin:10px 0 20px 0; padding:9px 10px 9px 50px; overflow: hidden; zoom:1; clear: left; } +p.alert, .woocommerce_error, .woocommerce-error { border-top:1px solid #f0baa2; border-bottom:1px solid #f0baa2; background:#ffd9c8 url(images/ico-alert.png) no-repeat 20px 13px; } +ul.woocommerce_error, ul.woocommerce-error { list-style: none; } +p.download { border-top:1px solid #d4ebaf; border-bottom:1px solid #d4ebaf; background:#edfcd5 url(images/ico-download.png) no-repeat 20px 13px; } +p.tick, .woocommerce_message, .woocommerce-message { border-top:1px solid #d4ebaf; border-bottom:1px solid #d4ebaf; background:#edfcd5 url(images/ico-tick.png) no-repeat 20px 13px; } +p.info, .woocommerce-info { border-top:1px solid #ccc; border-bottom:1px solid #ccc; background:#eee url(images/ico-info.png) no-repeat 20px 13px; } +p.note { border-top:1px solid #efe3ae; border-bottom:1px solid #efe3ae; background:#fef6d2 url(images/ico-note.png) no-repeat 20px 13px; } +.woocommerce_message .button, .woocommerce-message .button { float: right; margin:0; margin-top:-3px; margin-bottom:-3px; } + +/* 6.3 Contact Form */ +#contact-page .screenReader { left: -9999px; position: absolute; top: -9999px; } +#contact-page ol.forms{float:left;list-style:none;width:100%;margin:10px 0 0;} +#contact-page ol.forms li{clear:both;float:left;margin-bottom:18px;position:relative;width:100%} +#contact-page ol.forms label{cursor:pointer;display:block;float:left;font-weight:700;padding-right:20px;width:100px;} +#contact-page ol.forms input.txt{width:214px;} +#contact-page ol.forms input#sendCopy{border:none;} +#contact-page ol.forms textarea{height:300px;width:400px;} +#contact-page ol.forms li .error{display:block;margin-left:120px;color:red;} +#contact-page ol.forms li.textarea .error{display:block; margin-left:120px} +#contact-page ol.forms li.screenReader{margin-bottom:0;} +#contact-page ol.forms li.buttons .submit{margin: 15px 0 0 120px; } +#contact-page ol.forms li.inline input{width:auto;margin-left:120px;} +#contact-page ol.forms li.inline label{display:inline;float:none;width:auto;} + +/* 6.4 Gravity forms */ +.gfield { margin-bottom: 10px; } +.gform_wrapper .top_label .gfield_label { display:block; padding-right:20px; width: 100px; margin: 5px 0px 4px !important; } +.gform_wrapper input.button { padding: 5px 10px 6px !important; } +.gform_wrapper input { padding: 7px 3px !important; } +.gform_wrapper .top_label input.large, .gform_wrapper .top_label select.large, .gform_wrapper .top_label textarea.textarea { width: 400px !important; padding: 7px 3px !important; } +.gform_wrapper .entry img, .gform_wrapper img.thumbnail { padding: 0px !important; border: 0px !important; } +ul.top_label .clear-multi { clear: none !important; } +.gform_wrapper .gfield_checkbox, .gform_wrapper .gfield_radio { margin-left: 120px !important; } +img.ui-datepicker-trigger { border: 0px; padding: 0px; } + +/* 6.5 Timeline Page Template */ +#archives { padding: 10px 0 0; } +#archives a { font-style: italic; } +#archives .archives_list { border-left:4px solid #ccc; list-style: none; list-style-image:none; list-style-position:outside; list-style-type:none; margin: 0 0 15px 15px;} +#archives .archives_list li { clear:left; padding-left:24px; font-style: normal; list-style: none; margin-bottom: 10px; } +#archives .archives_list .date { color: #808080; width: 100px; font-style: italic; display: inline-block; } +#archives .archives_list .linked { width: 270px; display: inline-block; } +#archives .archives_list .comments { width: 100px; display: inline-block; } +#archives .archives_list .comments a { color: #808080; font-style: italic; text-decoration: underline; padding-left: 13px; } +#archives .archives_list .comments a:hover { text-decoration: none; } + +/* 6.6 Tables */ + +table { border:1px solid #e6e6e6; border-right:0; border-bottom:0; width:100%; border-collapse: separate; margin-bottom:1em; } +table td, table th { border-right:1px solid #e6e6e6; border-bottom:1px solid #e6e6e6; padding:4px 8px; vertical-align: top; } +table th { background: #f6f6f6; -webkit-box-shadow:inset 0 0 0 1px rgba(255,255,255,0.4); text-align: left; font-weight: normal; color:#333; } + +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE SPECIFICS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 7.1 Demo store notice */ +p.demo_store { + position: fixed; + top:0; + left: 0; + right:0; + background: #ffd9c8; + text-align: center; + padding:8px 0; + z-index: 999999; + border-bottom:2px solid #f0baa2; +} + +/* 7.2 Star Ratings */ + +.star-rating { + float: right; + width: 80px; + height: 16px; + background: url(images/star.png) repeat-x left 0; +} + +.star-rating span { + background: url(images/star.png) repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} + +p.stars { + overflow: hidden; + zoom: 1; +} + +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url(images/star.png) repeat-x left 0; +} + +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} + +p.stars span a:hover, p.stars span a:focus { + background: url(images/star.png) repeat-x left -16px; +} + +p.stars a.active { + background: url(images/star.png) repeat-x left -32px; +} + +p.stars span a.star-1 { width: 16px; z-index: 10; } +p.stars span a.star-2 { width: 32px; z-index: 9; } +p.stars span a.star-3 { width: 48px; z-index: 8; } +p.stars span a.star-4 { width: 64px; z-index: 7; } +p.stars span a.star-5 { width: 80px; z-index: 6; } + +ul.products .star-rating { + float: none; + margin:0 auto .5em; +} + +/* Sidebar / footer stars */ + +#sidebar .star-rating, #footer-widgets .star-rating { + width: 60px; + height: 12px; + background: url(images/star-small.png) repeat-x left 0; + margin-top:2px; + float:none; +} + +#sidebar .star-rating span, #footer-widgets .star-rating span { + background: url(images/star-small.png) repeat-x left -24px; + padding-top: 12px; +} + +#sidebar p.stars span, #footer-widgets p.stars span { + width: 60px; + height: 12px; + background: url(images/star-small.png) repeat-x left 0; +} + +#sidebar p.stars span a, #footer-widgets p.stars span a { + width: 12px; + padding-top: 12px; +} + +/*#sidebar p.stars span a:hover, #sidebar p.stars span a:focus { + background: url(images/star-small.png) repeat-x left -12px; +} + +#sidebar p.stars a.active { + background: url(images/star-small.png) repeat-x left -24px; +} + +#sidebar p.stars span a.star-1 { width: 12px; z-index: 10; } +#sidebar p.stars span a.star-2 { width: 24px; z-index: 9; } +#sidebar p.stars span a.star-3 { width: 36px; z-index: 8; } +#sidebar p.stars span a.star-4 { width: 48px; z-index: 7; } +#sidebar p.stars span a.star-5 { width: 60px; z-index: 6; }*/ + +/* 7.3 Single Product Page */ +.single-product .type-product { clear: left; position: relative; } +.single-product ul.products .type-product { clear:none; } +.single-product ul.products .type-product.first { clear:both; } +.single-product .product del { color:#ccc; } +.single-product .product ins { text-decoration: none; } +.single-product .product .images, .single-product .product .summary { margin-bottom:20px; } +.single-product .product .images { width:180px; float: left; } +.single-product .product .images img { width:160px; height: auto; padding: 9px; border:1px solid #e6e6e6; margin-bottom:12px; } +.single-product .product .images .thumbnails { overflow: hidden; zoom:1; } +.single-product .product .images .thumbnails img { padding:0; border:0; width:30.75%; float: left; margin-right:3.8%; margin-bottom:8px; } +.single-product .product .images .thumbnails .first { clear: left; } +.single-product .product .images .thumbnails .last img { margin-right:0; } +.single-product .product .summary { width:300px; float:right; } +.single-product .product .summary h1.product_title { color:#333; padding:0 0 5px; margin:0; } +.single-product .product .summary p { margin-bottom:10px; } +.single-product .product .summary .price { color:#222;font-weight: normal; padding:10px 0; } +.single-product .product .summary .stock { padding-left:25px; margin:5px 0 15px; background: url(images/ico-tick.png) no-repeat left 2px; } +.single-product .product .summary .stock.out-of-stock { background: url(images/ico-alert.png) no-repeat left 2px; } +.single-product .product .summary form.cart { margin-bottom:.618em; overflow: hidden; zoom:1; padding-top:.618em; border-top:1px solid #e6e6e6; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGUlEQVQIHWP4//8/AwgDgSScARVgkITJAgBsFBI6bme1aQAAAABJRU5ErkJggg==) top repeat-x; /* diagonal texture */ } +.single-product .product .summary form.cart .quantity { float: left; } +.single-product .product .summary form.cart .button { float: right; margin:0; } +.single-product .product .summary form.cart table.variations { border:0;} +.single-product .product .summary form.cart table.variations td { vertical-align: middle; border:0; padding-left:0; } +.single-product .product .summary .single_variation .stock { border-bottom:1px solid #e6e6e6; padding-bottom:10px; margin-bottom:10px; } +.single-product .product .summary .single_variation .price { display: block; padding:0 0 .618em; font-size:1.30769em; } +.single-product .product .product_meta { font-size:0.8751em; } +.single-product .product .summary .group_table { border:0; margin-bottom:10px; } +.single-product .product .summary .group_table td, .single-product .product .summary .group_table th { padding:0 8px 8px 0; border: 0; } +.single-product .product .summary .group_table .quantity { min-width: 74px; } +.single-product .product .summary .group_table td.price { padding:0 8px 8px 0; min-width: 80px; } +.single-product .product .summary .group_table td.price .stock { display: none; margin-bottom:0; } +.single-product .product .summary .group_table td.price .stock.out-of-stock { display: block; background: url(images/ico-cross-small.png) left no-repeat; padding-left:16px; margin-top:0 !important; } +.single-product .product .shop_attributes th { width:175px; } +.single-product .product .shop_attributes p { margin:0 !important; } + +.single-product .product #tabs { clear: both; } + +.upsells ul { margin-left:0; } + +/* 1 column single product */ +.single-product.layout-full .images { width:336px; } +.single-product.layout-full .images img { width:326px; } +.single-product.layout-full .summary { width:514px; } +.single-product.layout-full .related, .single-product.layout-full .upsells { width:48%; } +.single-product.layout-full .related { float: left; } +.single-product.layout-full .upsells { float: right; } +/*.single-product.layout-full #comments .commentlist li.comment .comment-text { width:822px; }*/ + +/* 7.3.1 Reviews */ +.single-product #comments { margin-top:0; padding:0; border-top:0; } +.single-product .hreview-aggregate .star-rating { margin-top:1.618em; background: url(images/star.png) repeat-x left 0; } +.single-product #comments .commentlist li.comment { overflow: hidden; zoom:1; background: none !important; border:0 !important; clear: left; margin-bottom:1em; } +.single-product #comments .commentlist li.comment p { margin-bottom:1em; } +.single-product #comments .commentlist li.comment p.meta { border-bottom:1px solid #e6e6e6; border-top:1px solid #e6e6e6; padding:6px 0; } +.single-product #comments .commentlist li.comment img { width:11.45%; padding:1%; background: #fff; margin:1px 0 0 2px; -webkit-box-shadow:0 1px 2px rgba(0,0,0,0.2); -moz-box-shadow:0 1px 2px rgba(0,0,0,0.2); box-shadow:0 1px 2px rgba(0,0,0,0.2); height: auto; float: left; } +.single-product #comments .commentlist li.comment .comment-text { width:82.7%; float: right; } +.single-product #comments .commentlist li.comment .comment-text .star-rating { margin-top:7px; } +#fancybox-content #review_form { padding:30px; background:#eef2f5; } +#fancybox-content #respond { margin-top:0; } +#fancybox-content #respond label { display: block; font-weight: bold; } +#fancybox-wrap table { background: none; } + +/* 7.4 Quantity Incrementer */ +.quantity .plus, .quantity .minus, .quantity input { margin:0; border:0; padding:3px 6px; } +.quantity .plus, .quantity .minus { background:#DFDFDF; border:1px solid #ccc; -webkit-box-shadow:inset 0 0 0 1px rgba(255,255,255,0.3); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.3); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.3); cursor: pointer; } +.quantity .plus:hover, .quantity .minus:hover { background-position: top; } +.quantity .minus { -webkit-border-top-right-radius:0; -webkit-border-bottom-right-radius:0; -moz-border-radius-topright: 0; -moz-border-radius-bottomright: 0; border-radius:3px 0 0 3px; } +.quantity .plus { -webkit-border-top-left-radius:0; -webkit-border-bottom-left-radius:0; -moz-border-radius-topleft: 0; -moz-border-radius-bottomleft: 0; border-radius:0 3px 3px 0; } +.quantity .qty { border-top:1px solid #ccc; border-bottom:1px solid #ccc; -webkit-border-radius:0; -moz-border-radius:0; border-radius:0; width:16px; text-align: center; min-width: 30px; } +/* Disable input[type=number] buttons until the world is ready */ + input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { + display:none; + } + +/* 7.5 User Account Section */ +header.title { overflow: hidden; zoom:1; } +header.title h3 { float: left; padding:0; } +header.title a { float: right; } +.addresses address { clear: both; } +.required { color: red; } +.woocommerce-account table { font-size:0.8751em; } +.woocommerce-account h2 { margin-bottom:0; } +.woocommerce-account .shop_table .button { margin:0; } + +/* 7.5.1 Order tracking */ +ol.commentlist.notes { padding-left:0; } +ol.commentlist.notes li.note { list-style: none; padding-bottom:15px; margin-bottom:15px; border-bottom:1px solid #eee; } +ol.commentlist.notes li.note:last-child { padding-bottom:0; margin-bottom:0; border-bottom:0; } +ol.commentlist.notes li.note p.meta { font-weight: bold; } + +/* 7.6 Cart */ +table.cart, .shop_table { margin-bottom:40px; } +table.cart img { padding:0; width:32px; height:auto; } +table.cart td.actions { text-align: right; } +table.cart td.actions .coupon { float: left; } +table.cart td.actions .coupon label { display: none; } +table.cart dl.variation { overflow: hidden; zoom:1; } +.shop_table dl.variation dt, .shop_table dl.variation dd { float: left; margin-right:2px; } +.shop_table dl.variation dt { } +.shop_table dl.variation dd { margin-right:18px; font-style: italic; } +.cart-collaterals .cross-sells, .cart-collaterals .cart_totals, .cart-collaterals .shipping_calculator { width:48%; } +.cart-collaterals .cross-sells { float: left; } +.cart-collaterals .cart_totals { float: right; } +.cart-collaterals .shipping_calculator { float:right; clear: right; } +.cart-collaterals .shipping_calculator .col2-set { clear: left; overflow: visible; } +.cart-collaterals .shipping_calculator .col2-set .form-row:first-child { width:48%; } +.cart-collaterals .cart_totals table small { display: block; } +.cart-collaterals .cross-sells ul.products { margin:0; padding:0; } +.cart-collaterals .cross-sells ul.products li { width:48%; list-style: none; } +.cart_totals select { width:100%; } + +/* 7.7 Checkout */ +.woocommerce-checkout form.login { overflow:hidden; zoom:1; margin-bottom:20px; border-bottom:1px solid #e6e6e6; } +.woocommerce-checkout form.login button { margin-left:0; } +#shiptobilling { float: right; margin-top:2.3em; margin-bottom:0; } +#shiptobilling input { float: left; width: auto; } +.form-row.notes { width:100%; } +.checkout .create-account { clear: left; } +.checkout .form-row.vat-number { width:100%; } +ul.payment_methods { margin-left:0; padding:0; list-style: none; } +ul.payment_methods li { list-style: none; margin-bottom:10px; } +ul.payment_methods li img { padding:0; border: 0; vertical-align: bottom; margin-left:6px; } +ul.payment_methods .payment_box { padding: 12px; border:1px solid #e6e6e6; background: #f6f6f6; margin-bottom:20px; margin-top:10px; } +ul.payment_methods .payment_box p { margin:0; } + +.payment_box fieldset { margin-bottom:0; } +.payment_box .form-row .woocommerce-select { width:30.75%; float: left; margin-right:3.8%; } + +ul.payment_methods + .form-row { width:100%; } +ul.payment_methods + .form-row label { display: inline; } +ul.payment_methods + .form-row input { width:auto; float: left; } +#place_order { float: right; } + +/*-------------------------------------------------------------------------------------------*/ +/* 8. UNIFORM JS */ +/*-------------------------------------------------------------------------------------------*/ + + +/* Global Declaration */ + +div.selector, +div.selector span, +div.checker span, +div.radio span, +div.uploader, +div.uploader span.action, +div.button, +div.button span { + background-image: url(images/sprite.png); + background-repeat: no-repeat; + -webkit-font-smoothing: antialiased; +} + +.selector, +.radio, +.checker, +.uploader, +.button, +.selector *, +.radio *, +.checker *, +.uploader *, +.button *{ + margin: 0; + padding: 0; +} + + + +/* SPRITES */ + +/* Select */ + +div.selector { + background-position: -483px -130px; + line-height: 26px; + height: 26px; +} + +div.selector span { + background-position: right 0px; + height: 26px; + line-height: 26px; +} + +div.selector select { + /* change these to adjust positioning of select element */ + top: 0px; + left: 0px; +} + +div.selector:active, +div.selector.active { + background-position: -483px -156px; +} + +div.selector:active span, +div.selector.active span { + background-position: right -26px; +} + +div.selector.focus, div.selector.hover, div.selector:hover { + background-position: -483px -182px; +} + +div.selector.focus span, div.selector.hover span, div.selector:hover span { + background-position: right -52px; +} + +div.selector.focus:active, +div.selector.focus.active, +div.selector:hover:active, +div.selector.active:hover { + background-position: -483px -208px; +} + +div.selector.focus:active span, +div.selector:hover:active span, +div.selector.active:hover span, +div.selector.focus.active span { + background-position: right -78px; +} + +div.selector.disabled { + background-position: -483px -234px; +} + +div.selector.disabled span { + background-position: right -104px; +} + +/* Checkbox */ + +div.checker { + width: 19px; + height: 19px; +} + +div.checker input { + width: 19px; + height: 19px; +} + +div.checker span { + background-position: 0px -260px; + height: 19px; + width: 19px; +} + +div.checker:active span, +div.checker.active span { + background-position: -19px -260px; +} + +div.checker.focus span, +div.checker:hover span { + background-position: -38px -260px; +} + +div.checker.focus:active span, +div.checker:active:hover span, +div.checker.active:hover span, +div.checker.focus.active span { + background-position: -57px -260px; +} + +div.checker span.checked { + background-position: -76px -260px; +} + +div.checker:active span.checked, +div.checker.active span.checked { + background-position: -95px -260px; +} + +div.checker.focus span.checked, +div.checker:hover span.checked { + background-position: -114px -260px; +} + +div.checker.focus:active span.checked, +div.checker:hover:active span.checked, +div.checker.active:hover span.checked, +div.checker.active.focus span.checked { + background-position: -133px -260px; +} + +div.checker.disabled span, +div.checker.disabled:active span, +div.checker.disabled.active span { + background-position: -152px -260px; +} + +div.checker.disabled span.checked, +div.checker.disabled:active span.checked, +div.checker.disabled.active span.checked { + background-position: -171px -260px; +} + +/* Radio */ + +div.radio { + width: 18px; + height: 18px; +} + +div.radio input { + width: 18px; + height: 18px; +} + +div.radio span { + height: 18px; + width: 18px; + background-position: 0px -279px; +} + +div.radio:active span, +div.radio.active span { + background-position: -18px -279px; +} + +div.radio.focus span, +div.radio:hover span { + background-position: -36px -279px; +} + +div.radio.focus:active span, +div.radio:active:hover span, +div.radio.active:hover span, +div.radio.active.focus span { + background-position: -54px -279px; +} + +div.radio span.checked { + background-position: -72px -279px; +} + +div.radio:active span.checked, +div.radio.active span.checked { + background-position: -90px -279px; +} + +div.radio.focus span.checked, div.radio:hover span.checked { + background-position: -108px -279px; +} + +div.radio.focus:active span.checked, +div.radio:hover:active span.checked, +div.radio.focus.active span.checked, +div.radio.active:hover span.checked { + background-position: -126px -279px; +} + +div.radio.disabled span, +div.radio.disabled:active span, +div.radio.disabled.active span { + background-position: -144px -279px; +} + +div.radio.disabled span.checked, +div.radio.disabled:active span.checked, +div.radio.disabled.active span.checked { + background-position: -162px -279px; +} + +/* Uploader */ + +div.uploader { + background-position: 0px -297px; + height: 28px; +} + +div.uploader span.action { + background-position: right -409px; + height: 24px; + line-height: 24px; +} + +div.uploader span.filename { + height: 24px; + /* change this line to adjust positioning of filename area */ + margin: 2px 0px 2px 2px; + line-height: 24px; +} + +div.uploader.focus, +div.uploader.hover, +div.uploader:hover { + background-position: 0px -353px; +} + +div.uploader.focus span.action, +div.uploader.hover span.action, +div.uploader:hover span.action { + background-position: right -437px; +} + +div.uploader.active span.action, +div.uploader:active span.action { + background-position: right -465px; +} + +div.uploader.focus.active span.action, +div.uploader:focus.active span.action, +div.uploader.focus:active span.action, +div.uploader:focus:active span.action { + background-position: right -493px; +} + +div.uploader.disabled { + background-position: 0px -325px; +} + +div.uploader.disabled span.action { + background-position: right -381px; +} + +div.button { + background-position: 0px -523px; +} + +div.button span { + background-position: right -643px; +} + +div.button.focus, +div.button:focus, +div.button:hover, +div.button.hover { + background-position: 0px -553px; +} + +div.button.focus span, +div.button:focus span, +div.button:hover span, +div.button.hover span { + background-position: right -673px; +} + +div.button.active, +div.button:active { + background-position: 0px -583px; +} + +div.button.active span, +div.button:active span { + background-position: right -703px; + color: #555; +} + +div.button.disabled, +div.button:disabled { + background-position: 0px -613px; +} + +div.button.disabled span, +div.button:disabled span { + background-position: right -733px; + color: #bbb; + cursor: default; +} + +/* PRESENTATION */ + +/* Button */ + +div.button { + height: 30px; +} + +div.button span { + margin-left: 13px; + height: 22px; + padding-top: 8px; + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 12px; + letter-spacing: 1px; + text-transform: uppercase; + padding-left: 2px; + padding-right: 15px; +} + +/* Select */ +div.selector { + width: 190px; + font-size: 12px; +} + +div.selector select { + min-width: 190px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 12px; + border: solid 1px #fff; +} + +div.selector span { + padding: 0px 25px 0px 2px; + cursor: pointer; +} + +div.selector span { + color: #666; + width: 158px; + text-shadow: 0 1px 0 #fff; +} + +div.selector.disabled span { + color: #bbb; +} + +/* Checker */ +div.checker { + margin-right: 5px; +} + +/* Radio */ +div.radio { + margin-right: 3px; +} + +/* Uploader */ +div.uploader { + width: 190px; + cursor: pointer; +} + +div.uploader span.action { + width: 85px; + text-align: centre; + text-shadow: #fff 0px 1px 0px; + background-color: #fff; + font-size: 11px; + font-weight: bold; +} + +div.uploader span.filename { + color: #777; + width: 82px; + border-right: solid 1px #bbb; + font-size: 11px; +} + +div.uploader input { + width: 190px; +} + +div.uploader.disabled span.action { + color: #aaa; +} + +div.uploader.disabled span.filename { + border-color: #ddd; + color: #aaa; +} +/* + +CORE FUNCTIONALITY + +Not advised to edit stuff below this line +----------------------------------------------------- +*/ + +.selector, +.checker, +.button, +.radio, +.uploader { + display: -moz-inline-box; + display: inline-block; + vertical-align: middle; + zoom: 1; + *display: inline; +} + +.selector select:focus, .radio input:focus, .checker input:focus, .uploader input:focus { + outline: 0; +} + +/* Button */ + +div.button a, +div.button button, +div.button input { + position: absolute; +} + +div.button { + cursor: pointer; + position: relative; +} + +div.button span { + display: -moz-inline-box; + display: inline-block; + line-height: 1; + text-align: centre; +} + +/* Select */ + +div.selector { + position: relative; + padding-left: 10px; + overflow: hidden; +} + +div.selector span { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +div.selector select { + position: absolute; + opacity: 0; + filter: alpha(opacity:0); + height: 25px; + border: none; + background: none; +} + +/* Checker */ + +div.checker { + position: relative; + float: left; +} + +div.checker span { + display: -moz-inline-box; + display: inline-block; + text-align: centre; +} + +div.checker input { + opacity: 0; + filter: alpha(opacity:0); + display: inline-block; + background: none; +} + +/* Radio */ + +div.radio { + position: relative; +} + +div.radio span { + display: -moz-inline-box; + display: inline-block; + text-align: centre; +} + +div.radio input { + opacity: 0; + filter: alpha(opacity:0); + text-align: centre; + display: inline-block; + background: none; +} + +/* Uploader */ + +div.uploader { + position: relative; + overflow: hidden; + cursor: default; +} + +div.uploader span.action { + float: left; + display: inline; + padding: 2px 0px; + overflow: hidden; + cursor: pointer; +} + +div.uploader span.filename { + padding: 0px 10px; + float: left; + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + cursor: default; +} + +div.uploader input { + opacity: 0; + filter: alpha(opacity:0); + position: absolute; + top: 0; + right: 0; + bottom: 0; + float: right; + height: 25px; + border: none; + cursor: default; +} + + +/*-------------------------------------------------------------------------------------------*/ +/* 9. IE Fixes */ +/*-------------------------------------------------------------------------------------------*/ + + +/* IE6 */ +.ie6 .nav .sf-sub-indicator { display:none; } +.ie6 .nav li a:hover { text-decoration:none; } +.ie6 .nav li a.sf-with-ul { padding-right:10px; } +.ie6 .button, .ie6 .button:visited { margin:0; color:#555 !important; font-weight:normal; } .reply a { color:#555 !important; } +.ie6 .slide-content { background: #000; } + +/* IE7 */ +.ie7 { overflow-x: hidden; } +.ie7 * { overflow-x:visible; } +.ie7 .nav li a {_height: 0;zoom: 1;} /* IE7 Fix */ +.ie7 .button, .ie7 .button:visited { padding:7px 6px; margin:0; } +.ie7 .slide-content { background: #000; } +.ie7 #featured-products ul.featured-products li.flipper .back { display: none; } +.ie7 a.button, .ie7 .button.alt, ie7 .button, .ie7 input.button, .ie7 button.button, .ie7 a.comment-reply-link, .ie7 #commentform #submit, .ie7 #featured-products ul.products .button { padding:4px 10px; } +.ie7 .page-template-onecolumn-page-php #main, .ie7 .layout-full #main { padding-left:0; } +.ie7 .form-row input.input-text, .ie7 .form-row textarea { width:auto; min-width:70%; max-width: 94%; } +.ie7 div.selector { width:180px; padding-right:10px; } + + +/* IE8 */ +.ie8 .button:visited { padding:10px 15px; margin:0; } +.ie8 .slide-content { background: #000; } +.ie8 .cart-collaterals .cross-sells h3 { margin-top:0; } +.ie8 #featured-products ul.featured-products li.flipper .back { display: none; } + +/* All */ +.ie8 #navigation, .ie7 #navigation, .ie6 #navigation, .ie8 #footer, .ie7 #footer, .ie7 #footer { + background:transparent; + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#50000000,endColorstr=#50000000); /* alpha channel is the first pair in the value of HEX */ + zoom: 1; +} \ No newline at end of file diff --git a/wootique/styles/default.css b/wootique/styles/default.css new file mode 100644 index 0000000..b068ea5 --- /dev/null +++ b/wootique/styles/default.css @@ -0,0 +1 @@ +/* Style: Color */ \ No newline at end of file diff --git a/wootique/template-archives.php b/wootique/template-archives.php new file mode 100644 index 0000000..1806c57 --- /dev/null +++ b/wootique/template-archives.php @@ -0,0 +1,62 @@ + + + + + + + +
                    +
                    + +
                    > + +

                    + +
                    + + + + + +

                    + +
                    + +
                    +

                    +
                      + +
                    +
                    + +
                    +

                    + +
                      + +
                    +
                    + +
                    + +
                    + +
                    + +
                    + + + +
                    + + diff --git a/wootique/template-blog.php b/wootique/template-blog.php new file mode 100644 index 0000000..e00e28a --- /dev/null +++ b/wootique/template-blog.php @@ -0,0 +1,81 @@ + + + + + + + + +
                    + + +
                    + 'post', + 'paged' => $paged +); + +$query_args = apply_filters( 'woo_blog_template_query_args', $query_args ); // Do not remove. Used to exclude categories from displaying here. + +remove_filter( 'pre_get_posts', 'woo_exclude_categories_homepage' ); + +query_posts( $query_args ); + +if ( have_posts() ) { + $count = 0; + while ( have_posts() ) { the_post(); $count++; +?> + +
                    > + + + +

                    + + + +
                    + + +
                    +
                    + +
                    + + + + + +
                    + +
                    + +
                    > +

                    +
                    + + + + + +
                    + + + +
                    + + \ No newline at end of file diff --git a/wootique/template-contact.php b/wootique/template-contact.php new file mode 100644 index 0000000..ba0452f --- /dev/null +++ b/wootique/template-contact.php @@ -0,0 +1,190 @@ + + +' . "\r\n" . __( 'Reply-To: ', 'woothemes' ) . $email; + + //Modified 2010-04-29 (fox) + wp_mail($emailTo, $subject, $body, $headers); + + if($sendCopy == true) { + $subject = __( 'You emailed ', 'woothemes' ).get_bloginfo( 'title' ); + $headers = __( 'From: ', 'woothemes' ) . '<'.$emailTo.'>'; + wp_mail($email, $subject, $body, $headers); + } + + $emailSent = true; + + } + } +} ?> + + + + + + + + + + +
                    +
                    + +
                    + + + +

                    + + + + + + + +

                    + +
                    + +
                    + + +

                    + + + + + + + +
                    + +
                      +
                    1. + + + + +
                    2. + +
                    3. + + + + +
                    4. + +
                    5. + + + + +
                    6. +
                    7. />
                    8. +
                    9. +
                    10. +
                    +
                    + + + + + +
                    +
                    + + + +
                    + + \ No newline at end of file diff --git a/wootique/template-fullwidth.php b/wootique/template-fullwidth.php new file mode 100644 index 0000000..a0d6e7e --- /dev/null +++ b/wootique/template-fullwidth.php @@ -0,0 +1,43 @@ + + + + + + +
                    + +
                    + + + + +
                    > + +

                    + +
                    + +
                    + + ', '' ); ?> + +
                    + + +
                    > +

                    +
                    + + +
                    + +
                    + + \ No newline at end of file diff --git a/wootique/template-imagegallery.php b/wootique/template-imagegallery.php new file mode 100644 index 0000000..48c1e28 --- /dev/null +++ b/wootique/template-imagegallery.php @@ -0,0 +1,44 @@ + + + + + + + + +
                    +
                    + +
                    > + +

                    + +
                    + + + + + + + + is_home = false; ?> + + + + +
                    + +
                    +
                    + +
                    + + + +
                    + + \ No newline at end of file diff --git a/wootique/template-sale.php b/wootique/template-sale.php new file mode 100644 index 0000000..7614ecb --- /dev/null +++ b/wootique/template-sale.php @@ -0,0 +1,106 @@ + + + + +
                    +
                    + + + + + + + + +
                    > + +

                    + + + + '_sale_price', + 'value' => 0, + 'compare' => '>', + 'type' => 'NUMERIC' + ); + + $on_sale = get_posts(array( + 'post_type' => array('product', 'product_variation'), + 'posts_per_page' => -1, + 'post_status' => 'publish', + 'meta_query' => $meta_query, + 'fields' => 'id=>parent' + )); + + $product_ids_on_sale = array_unique(array_merge(array_values($on_sale), array_keys($on_sale))); + + set_transient( 'wc_products_onsale', $product_ids_on_sale ); + + endif; + + $product_ids_on_sale[] = 0; + + $meta_query = array(); + $meta_query[] = $woocommerce->query->visibility_meta_query(); + $meta_query[] = $woocommerce->query->stock_status_meta_query(); + + // Main query for loop + $query_args = array( + 'no_found_rows' => 1, + 'post_status' => 'publish', + 'post_type' => 'product', + 'posts_per_page'=> -1, + 'orderby' => 'date', + 'order' => 'ASC', + 'meta_query' => $meta_query, + 'post__in' => $product_ids_on_sale + ); + + $r = new WP_Query($query_args); + + if ( $r->have_posts() ) : + + echo '
                      '; + + while ($r->have_posts()) : $r->the_post(); global $product; + + woocommerce_get_template_part( 'content', 'product' ); + + endwhile; // end of the loop + + echo '
                    '; + + endif; + + wp_reset_query(); + ?> + + ', '' ); ?> + +
                    + + +
                    > +

                    +
                    + + +
                    + + + +
                    + + \ No newline at end of file diff --git a/wootique/template-sitemap.php b/wootique/template-sitemap.php new file mode 100644 index 0000000..ecd22e1 --- /dev/null +++ b/wootique/template-sitemap.php @@ -0,0 +1,89 @@ + + + + + + + +
                    +
                    + +
                    > + +

                    + +
                    + + + + + +
                    +

                    +
                      + +
                    +
                    + +
                    +

                    +
                      + +
                    +

                    +
                      + +
                    +
                    +
                    + + + +

                    + cat_ID); + + ?> + +

                    cat_name; ?>

                    +
                      + +
                    • - (comment_count ?>)
                    • + +
                    + + + +

                    + +
                      + 'product', 'posts_per_page' => -1, 'meta_query' => array( array('key' => '_visibility','value' => array('catalog', 'visible'))) ); + $loop = new WP_Query( $args ); + while ( $loop->have_posts() ) : $loop->the_post(); + ?> +
                    • + +
                    + +
                    + +
                    + +
                    + + + +
                    + + diff --git a/wootique/template-tags.php b/wootique/template-tags.php new file mode 100644 index 0000000..9a58c22 --- /dev/null +++ b/wootique/template-tags.php @@ -0,0 +1,36 @@ + + + + + + + + +
                    +
                    + +
                    > + +

                    + + +
                    + +
                    + + +
                    + +
                    + +
                    + +
                    + +
                    + + \ No newline at end of file diff --git a/wootique/template-timeline.php b/wootique/template-timeline.php new file mode 100644 index 0000000..8159864 --- /dev/null +++ b/wootique/template-timeline.php @@ -0,0 +1,97 @@ + + + + + + + +
                    +
                    + + + +
                    > + +

                    + +
                    + + post_date); + $post_year = date( 'Y', $post_ts ); + + /* Handle the first year as a special case */ + if ( is_null( $prev_post_year ) ) { + ?> +

                    +
                      + +
                    + $post_year ) { + $working_year--; + ?> +

                    + +
                      + +
                    • + +
                    + + +
                    + +
                    + +
                    + + + + + +
                    + + diff --git a/wootique/theme_info.txt b/wootique/theme_info.txt new file mode 100644 index 0000000..3e3f85f --- /dev/null +++ b/wootique/theme_info.txt @@ -0,0 +1,3 @@ +56536 +8e5e5c1d5ad0d3f784c31c6f2b6eafa1 +wootique/style.css \ No newline at end of file diff --git a/wrk-master.zip b/wrk-master.zip deleted file mode 100644 index a4aa9a191c82a0420d0e65d3a3fca92987d4e0b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1026754 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Êz8BMAyW%dAKwg;{Cq_t9@87B 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

                    MK{ZC{0(h+VILdBRwn; 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

                    sTIN+Qtf3X6|NhcCzb62s-wxHzo9t^PmRDMev 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

                    O`g0CntU6f0ceT(_klR+t0zvh_lC>1 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�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⁣y&(VhYJo)h#PIr^?{ zJ&(@ryO&MR*4~slsAvINHw7DHfaL;2b4)v_;f*DG%gw{b+$3Mb0F>)h*~0geK6Pl9 z5Z&uF?dwqO>sa?G-tv`D_!grM#Ib|)#U=3ib(B_ZRqb7p8pG<%0iYWVgPM$fy~=W` z?nA=`epo8;jlu3t(vW6aN^p|EGQ|6b(zUjdfDMsXFV)G|vD4Wbdl4eEJbvcde{T&w zH2ppp3O^clveH!u1m7PU5>&s+*vdtC@f|sJ%sl_pQi^`22yw1alewME0Kltzep2GH zFHuaUWBLt&d!MATz|+amDtRzPX(-3%p-1yJ(E_3B4j8ip(`r4D@+gcIDMx)MY0F~W1?6=cdjB&OABD2c)8O_{ z(Z+REmI-MPYEb&n3#f@_q&mwkGxaklw2$*bkDr#FGE(AglZSupXdx~&3F~v3EX6@Uahjb5aN(Nk0?p}+9Q@T02uJ1VZOikxGj#}w$P zgE}g)#^Zp;IVu;m1wyvZ)vYVPn^vZuA5T7qOhGMwxxqbBebmD z$%7B9Z=)`*X$c2y@o4K%REZn7+XeJl!${y%lge+-)4HlVM!}9#T9JgMqu4v)x z-S;%|>so%z@WzqTF{tog+rhVgsC~BjV9|Lz8U8>Oh~YMZPLqrds86}{8AR_eQ{O%c z`2U$r)+A#F)Hp6e^4NDt+pRk;**N6!S@i>sp4%FG#)=FvUW*GM1t9zW&BEDC>i6!c?)lksVkICKjSHE0^FAUN%esXMJm@!-Gcd zChbF|`VK&5!u(K5GuekU7^c8pjq(+rf^%@7qqTzcOgw6*21#IqS0CKBV#p5b%VcX< zpG@~Q3iI$jz&e#@i$zY~k6RA^!0sHd!M&-Q-PXj%7bbkB6|le^&RmOe@QwT13M7_Q zy~mT2rT}dbK(B2y0%|AdWLGQmyO&Z#%Np@dFckWPL;wN80a0Ob;&M#aKZCh~g6$?nvSQV~=2xA;BOJxre9` zykl7opZk9Jr#}<&ytED0^hdRwi^~Xs_V2uONFW!>uPIa;e+LQSE@-X0B0S$+kEPn= z5ad$d+$;?Pl|M#Z=6$C9yC?>XE4-c~`8OLg>du~+2foNFf^zr`bjA#ogBbc~+OJy$ zOoIYFs}xPi1goY^_2^BBaSjhIA*viBfyPtFs?3Lr`arcJy9Sv+iuOwDFUZE0Zkc*C z^C8dRHuJ@dygn}Nxbb+h-_b5gig(JLW_iP!pqhig5gRoH{#z&b_AAc|R*-y1=(ncu zx~F(g?#eQ-UI0)nmcvhrZ#W|_cdE2_IKQ_z|5CbNug3j%#j}qnxM(O7-=L_SJ$qd2 zwV0_i8d-@)g%{uDP48{aw~F~dxupXEEY}BMu=!fX)PSq^9|hj2+ilPTA>ny1yXV4A zx{36gz;s7Qx<*PZX;eBj)xLkSsmIrb7%XqZ@QySZ=&@k0ZN?artH}t*Dt;IyQpCa{I%V7tK5D9XAMHqhuo*P6aVDF-^WU}k;n9B)BE9GeP9c~pXke?~2d zVyb*2-8Y39>^V;oK6u$^(i*by0FQK#<_@%q#4=wx485jt51##jZeyV}=3bEkJD zJ!5j?n;)b;A>u}#9zJ~XOO&$$xKibZ3L~CRHG#1BYtk4hDCP_MC z9xdicBrZ+>&N}A?n+|b?c#b~*VeFi`0}IwInxtdfwrzH7+qP}nwrx8d+qP}nxw&uW zyq$;o1-ojG8tYp%XVXtN!7cKF%$(Nf!{5l^Hvi#!mp>i0pK}(UkUu^iYu^i15e$W= z#+7s1+rxq?P-Q)C)c3k0xh@dmhDlyDoY4T)cjO{avGD2IVzn;*EV(weR9GtSncJKA zE%crDbN0`bW;8Yb&Y(!v1sZfDG*ix52I!ZJgj^_drp~(fHg3MWW`k3FZ{Nwz*v0N> z5&O?R8gpNSeSONmelCm<59f%HC91;P=@b7-8Pw!FYhit<*m#udwCn0>c%+{r#xdSxA^pS6Zz^$46IHb7tHp9{_io0tokr$mIP+ zKabcX3j)HfU_l1sz#Yvv1=>%`N}mjaPaQ(U+J7@?vm;Q|Yi>paqgSpW$fPN1y@2Qx z`vm&>)aauaB0!4QFCKyau)vYZ`%rP0z=bhqeL{H!O9g@kR0izV*Lc%VMLq{kC4Ms+)MMlB-1U5-4x`S8+G*56y>Ygy(mdAVvngsk{JS|0_Mac-q5*UEc!0byZvk zspd@^PIvIe?)(eZHsp=8g7=5%FLN0y1Uk|g-@EKyD(9BnanqNb>v1g{^hE)S#d&Ph zz(zedur=)$kqa@8gPR&2buOI67vQXz>Bo|0Q9*CE)ztscJpZtVy5#yi(0o1E=$Oi| zHA^7*o=RSfX+ps4Xd4=n_*RoG~t-y@vS zY75q4Ii4GU!&hg?<>qG^ghkc`&QKA=-JzlpW|C3wGn)rpa0V z0Vum0^2*~xyMQrkooj%4L?j3F&YKN=#q|0~^OyjXbJ~z?>-ri}G<0Cip$>d-dU!H@ zH)qMnf<~9Qp=J87J&*HNwtU)9-L!t}%gXb^TyN@FUMf|DMkfcD3@*zWEL6!4{4ndR z_tb9nPl8U>G5DQA$>_bqat5G{`ZGjRw^_h}P~{Dr5pP}V5cGPP0S*~CRAO09FOZ2` z4uGg-r71kXYjeq_IkXJR8Ecfp)L96g7QAZH8DeEl-8`YQ2{Bb-mv-AI8H^0^1YMun9H z^5TlH6N&gP_q7n>U!w@(3{r9KZ-Io~PqS2F@<=z1Y$^V6krh|MWYmOlyaYAGISp}g zUsQRe^SraiSu2WmqZ6qz37^6h}|$ z&$>N>6g?^zjcZsaYBh#$q`7bFsyZlNwh>71>^s&}PvhliGR9_Ufg~h1RK!fUNHw%jnmn+9 z@Dan}G-FM)+^Ky`R+#)ucsC3SuiATXY~q1;`jOEOb=y0c96JPPht4wMe$B*Yp52;Y ze!SDlKMylc_}#&KvkMVLAjIgZ9SD^)XzmG1%Sj%*nQ@PLgvB}lzVU}t;?cj#EsKDV z#f68;q@bb4&V4yqyYeV4R%<~uQeATDyCNYD#mTHG>h?35;hZjthg&Rd^S~7dcBxn^ z<`f8-$?+bDmP(D7H0D#La6yU318CBYU8Nl_q8m!HI1X`FwWEaHC%I~avL(dyH!aD) zyMvP*-=9Z!?aT0I(l3sa?U+LIqz4|mJp)#8#*Xrt>(*U(kSQpA@VT8dF>%?}9O~If zTrBOVs=?yKj3obPMw3?{Op|$r>||BXIr?dkt$qqrd^%C&U?2ZJ^H;bjk(f|ji+|vI zf1=c=*!WK6?=8pF&<_{YV);k>JAARJK@#rufhyNT*AGtG4c=U9v=<6SRNN}RBx zQ3pdB|F~;VL;3vo2@CkTlR={3I=|uq;-5NHs|{aWTi*@RNMb^1;xDTLidCZQb<^S_ z8^$w~1q!)AI=+s(DX{M`A~*h>SStZHkju&b*dx-IMc=9-IM4%uA-AS}cu6vkCrWo) zq!r*IUw}VW&kjMq8kj5EV6J&BdA@^V9U)_W_;9{W4&IET58exjp$S^tBr*ie%@L9- zR#dSzwlRJ()|aD)*O_0XRal;#e(&w0HtkF3?WWR~L^61*CeAMqh%^5CBT*c8ciq~_ z%XMO*mvLUunk?2$#e1|Y=PwJN7gka1roB}bq~{n~&dB3IGfxD{(2((_FcF0N*%p<# zM>sOX!0Zr=@LN4)IsblZM5F7j^-U4sWgcF`@bUX;blTOp%V^lc z!l}^`K#c$_s~~mU#G;oVo+4)w@o7(-opp&*wPQC2rgf#p3I%Y+QKozH_77Fp;MnA1 zeggce(P^F|{?QN!6X_^~9=7ZDnDc97!?VhCs%Hy3kXEDM0!%lImQrkk zxsyF9otnv%O)}y7{Z0tWh&yV2wIS)aJX2ox0t9=k5GZm2w^&tlK3&H>JW zE1~19B%;9anH&oZA^939e-R)dsaq$>J`$u`l4@?#g4<3x{TMjIxpm(xzO7e+;P!sl zS%{#|1mKwyfH2B(dT0;ipIW2+B~Vp;dZ+~tXID_39^@Ye@(zs?%W9#&Ho%v#XZr{lKsB|>Z z5V}Vv#W6RiM0q7^zl)pun1d}fFZxhg{a9E5ThHG0 zuEG2JVbA&`xhFZl%_3rutf!3%+vT%Q$)=hXDw*IVI~%WXM9fa+AE{O)Ac)^%ZxG%nOR8pJ@)l2}L|O4j|o3duWJQCK6b$V^_&$w$;@!#2uC=XDOoXAUvbi#}hyo0sd15?{`d->+ldP!u-7yf9oD% zYk~1BcqZ~C!8Jt>skHloh0`hWr)oDd)S=`RkF?m<$tnZ2ubl_LaE=v`e7I_0K=j^x zfKH;w0gn3LhW-8gq5{KCdWX>itgZdfpQPj$?%94}!gx)Gxi1B+*O=uaJE@bzB|9s~ zWC!Dc{GH&Xud|iDz5z(g*L*+kOD7fG&dghw} zr#ncBWfTpRmDAuqWsxZJF0TO@^YYZ+RZZFyAfYDhFyIGWO(l|4-CcE_vq2P)oyR!_ zwhzPwKdY_6#IZe58`28ZK#?j!{>mNk)2`HASroS~icF?M$m$$Z`=ip%Ibm-_vf{hy zv2W;&{zJV;3ncJ!e8Q}CoA*_6(qQ9cRQ>(!5f>@+cg8NlYfn6 zY|ac;-NzQuJO~SwvacgYojx1(v6M7Pj?pkyWI$ebts};ky3)2XqtCd z%o5Vkc2-ia9;=l6F3NgJuRbXMI$K$5=EAygt~t_LQ!4KN3%S)HYPR52rk3g2mcOS? z&*7G8xze)pr@o&l#Ib+gLx(mZmh6Z?ik86elPAuYGHoPQ_FTslMv>ER*oNEq?0K`8 ze3QAx+*+D&HF2Bs&}g~BE+P$XR!KHDR{LitQ%+HIf@?~w@-Xv*$fB3mahMnS2vza6 zR_3@be%7=GjY9`R81kZrO!$LkcprbZ2yBy zLR|p#-BnZi?MZ=ck(;lvY`k%G@2Xk8X>U9FH?1g4A}F8dferr>j-{t0yumudoZ|9A zJTO73U3)#TnaD-AldKXQ{98MM5mEDHP(2>*!my37r+JqqxD}FdL3-WwcI5WB%~64J1O*am7*Pa&E&n3$$6+B^#?`p{tn$S}*dLy2z3 zdBzV_N_J|e@=E1S3h}l;Rm)dE{^TXqsNqq9s^8kPKZM*_^ADw7O}xmy-&##SX|G`2 z7E~q)=9hw1OJ$w8pS!D74Zy=hqQhx+xB~Y)<YQeKw20nN(^k?lsm zHL`ZDzYL2+VylZm+LqQ_Z#PZ~6e0Znc0sF2LZxwTUG3_SsU@V%)f#VBnfs>~{K87BY}J2kv@>0GA7=4 zr<(fp7Vs_$OlDL$2e_{tw^ghMFF{ zaldTq{;J=vfB*pXd*JpN=cB^wZ2$gBpi+`$C4yEpyV#_#x~g}~%n^lsqkkRW#frli zj;lqhRiXa0mG4G>5P@{MRzSW`CjuRYtQ8J%Qo|$$NDys-iXLZdbXeQuTlse=n7ieQ zH&buY9^>|v&G)Tn#4qNnKvMWp$c_z}G>qW2^A}EKZb$`<`mvYy=mb7!`^t6gTH;gVW$R(xfS zEE_n~B~8i+Gbu6ChAhluHIzzIm=Wo^#o3xQ@4!QX=g(p|OJ3u-P#YXx5_N-76ml=V zDZ$Wa_ojEpH~5Pp(AlD0snogE?y@*muBKQ2gL7Yx@xIJp{Ac2q-(CA-yQ|i)veJ9^ zE4x&~8q{b}R@kQ|3qPN@j5MGMJy}8%m)srt-HHqpnP@Z(bWVE`2LducWM>xZijCd}_`5A5cib@}?*}u&xVZ7KJQ!ix5)o{4fnw#5- z50^;8^56R9@R}!Qp(hF5$~%ii3$On2p>*6ljn3;MwRSsHv;|-{ZA5!??8wsyy77rS zdTs&d4x1EO)gKcgy$gt4pRiO|5%nB--H&sR{R#TtIwX)Zg&{hZ%@Q6}1R80F8bS99L1-y)tBdX!S<EEgl2NS)&!fgT2c#0s zedL?E?r=sAYZE&VGqJ`ji+Mm%sX;o$8tXIsvzQyri8Ruor;WKJ( zR~v+OEuR3#fu@z%j(4o`9~d@OZ>n@1MAIP}kSHjb>L>kJqRLwHxER13fWc>X*GO^t{lXr% z1i_^tsCUExgpZQ8m%kq}L)}l%H~BQ#S=59*4NsSp1!P*vg&t>+t;MzuShdkorHry zTykPZj|=62r_O~%Rri2N15L;E^W=%QtnfkLDfLM&2yp2sS*~RD@Kq|@%aTd7`6UcW z0k}qK>Ly0SX&mKquIVQtkV<5vbrra2W$6Ava05~i^G!|tVtU}jOvEKFE%(&a&rsl; zQmh?5)UwSJb}sT|I27NQqaHRReUBe|qwFp9DE(+NrO+_eB)9^$U-#KSZ|@?tUqARN z0CZWXUf*oMASU0=R5dQ+`ulv-MS%|sWgYq!_l!A)4j$&Kc9KlAxoFY4DA+o0om}?L zuKE|YgxmSTExpc7Nh);X$c*>jhqiTtEu*atK(e}c{K>3u1Jv0F-}nOXm`CY`7PNr@ zX1@yB$zo=(fK%`T-pBf|h+TI` z6Ye% zV_O|oO&G)j@*V4xH{xMbB+lO~PROwYa{bSNpgKx!vi7LBR!N0_l(ffN47CP!wX}N5 zXHNGI7J`ts?oUH;zOJcp);5xEb`6%a=fFJetXSH}e_@EW_KP0Z%yY4uKvk&#&KK@5 zz4tIGHk`VxG;)10a|;VC3yD@gP1;M}Z%mCm-wg~^t-IW>I3b0#he|1{KhKy2Tkx`2`xxb!4tys+ zpLVwc!=Q}|px60glk?7tc`XGLZ3+me_Ha$Q@-VWN7~GFa=N5lyeez^@{f2=7j_rr3 zqWZ-E`7@g*T5#<#bULa3sJX3AJF8OP-R<{RvL#sq?_e$~Yfck9)7Myr;-pfvg*dMhTs;J3@aP*HO1c23JHafl)Pb?* z5NV0y%4gzCYuCAbzW?2t{gXkIM+Ne_By7OplK~y*?goNuCLzc2CLN%mm&T#W?X74Z znBU!`6--kraJ4SRxYtYK(kjo$838EKifh2gvR_76A(u76-@i&_19~{???x(j2p=xr zE8c&fL{}%k6G^AY$YTn?qvq@vWEWrR&)&|?T2gD&nWxntaJbN$gyUJH?FKe_OhMTOy@ zV`?H3VM;=IpK3i_NxXVAgMwYi-f4?J3^QtH8i;@V0y?%2ECMEzmS2Pg=_3v>fFWO1 z@Pi$dEyS;)g%<$?ECg%|bvq4qpIFZjKYIl8fR37afd4B;8CoN)TO*b9_=24z9(Oo} z%SA=@QXiw?ZKXM8f(`)?+fmbp@5o=O+kLWZEX>rW>#cd4S{qid#sfxBz|wz{F^D`=%VdHSUZyRRPxHyH&%4y0kRO;#{Mbfy`l0TQIhD*5^} zLOr5+9JW18jFO<0lDZ;=g&zU7M_n2K)jM9kP6pNM5O};dsiA*)YBt!-j)_5F#sUBN zkXFkVZIo34Y!>r_b2kNr4P*H zZDoCAS1XxMnXdxl=K9@g_kc}kSL57%b~Mm-3q;-aq1j$t)6m}Eb=JSio;Z+lMtg6~ zo1RpqAa?;gUf_wMj8{*A%+UfKh1mHinO5^d8?#lisal*H7Owwp=94f024rmx2U4(R zAKGkK;7?9@)E|p1o*izpAqyPd&xXd>JB8IvhDC~K$<{(`^Hd>ubfF{m+`aGkKOgfw zm0pmsVsd|TAV2lLwT80y>aGB(aTLFT>&4oI0k-571vfluj6TuSr8r0jy2 zl>-t{LEbZ&RdWCWUX1sl15GaU>aNN-_-zVchcGeIC!l}igI(&Q;*iH*@lypQBJg=f zZ8PeTU>*cIGaHI7Aj3h%HIUSBoa5pKrv6l{aB#ivfPq3JB>NQwVlN)hY&r)sx$t8J zmB6L|%Uk`p-^eqXIe?VDk=~`$s8(kTq8OWf!z7l?MP`<0wq0Avp;pxs)Mnm6Q1SU6Xj}{pW1_R6Fb};KRvb^sV$|p=J2P@i?E7QOvDR=u0 z%$?bdgs8)ea&db<#$C~a$I!fd)+ zX}Cr)KWf7P zGCM`wB3+P|5-9!Tp405Hj2kzY$TXi+{JXM+ zoeyQ@=p1k&S&g~@8s8N`usKLHV$UYNAmzKbH}Q=}Gq@bwnZSUUkq^~h4=WoA_Rj^m zojyl*-rQ+;}3!duyOhF#rZJ@7sA-7V)V|ON`1zq16^pOcYjN$x4 zXDI#*h~9U6)co-27Ti4i`B5M6mJLSB5*P3Zr2(fnZJ|H7i4zKkt}1MTh0b6qM^+^N zksbUb)AK}NAG&8By#Su2v6GWNdnt?skyzB~N=nkd%Smf+zvbC<~4SyzE6{uG9{! z&DrOTlvATMFGx2Lk0NS!e4!-#KKzk1mw1Efv-u*yeqd0ja~FuV!W<04ro6DO{1`Y} zc1YrKv;TjGgZ?lCE*F(Kx1#VgpfPIG;>F>YBV;Zz322MemI>oQ4mI`5(#A0fQ% zhtHIBh|?}^FE4ERvQ{wgs+l4sSYETp8oa%W=@4^A4;>;Mqn93pz;8?XoJM+Jt^tQ~CH@h{1l z%s+2^Z2$GsYuuzp2o00jZ5)x@^0jbPv{;q#ANddjPCOZPe{S9DvPG=!oHp)l^gKn$ zHZ;l0K2@~Ghbk}oXSeJAAQLu{NFU5J_wz>Gz0m0tj~!5nSdCsB0ESsxHOvnaPLEPu zX5NlI%z0ZAWBV!X)Ndt2l9RN#K*iIY_2ejCDAR7)FTtFc(I3S+Nfl@THcL4nD^x}y1KGY*E{h^F0moK zrag3;0O;bzAW?~%RS7+gRZd_I?s=5p@7Ham$VR|zUWl$$Vqn2>^vL-V`w0cD)Tv&gib?BKWT_^yN8ni?|M7DxG1aA$+G*)&I>{&(6_I< z6z)cI6{dvor^uznQBqb5p>7_KLx8~j#)`juuBqZ2ybh(Flg5l`kRC*WikD!syy2jJ z4C49Z`1i_HkjWCEe@GZACc0FL!h8r^RpgHlGn$f8hCM;dlVQ8e7oKKnZ?1gUN+aK5 zJI?8{>c6q7MZN;1xSpV7B{OuNyiF?nX5_i$N=v@!{u@xS;EdgNfeZj(#`V8GUbnKf zwfhf=*p%jl?S@#wkJS%KHV!_5v3PhFS7;#5bgz9@R71p7;^iexz~8*Gl%X_(hu6Bo zt+B7Gm&$Xn%%sE1%Tg>U=yJTJr<(JM<%w&bRw@xy)s+#0A|=wA21cEsAMgpa;vqlM z8ReGggMY>poG1S59#7{d-*c4%Jz=qTUC1l?3DAQ=61Ho_lm}uF>?q4m}?Z zzCWeyT7%`tV=Lw3+%UsqQ5 z`fdvvL=RcZ%)=25j?~-O2A8ZUfL+mZjBrHl?oya0Sb=aJfMQ%rEKo( zvF7+vZt}iqyg}~RB_yxl^mr)J5z}UF-wg1=DTBrY<0K3yNy-S4p#bH<;2`ygOvU|p zP^3~P{XWlZFoQ6G435A9xv2WILkdH}6ej}8BshOh?h$|$i^noVT>wXqD1%NJPy^vx zT}zHH{PVwAwaYrI=IfFGM3^Jm;Hi|8UNwGChA=^$kdQ_4ka*U1_!}pTsy%T6eOF~a zSGjVc7)Hzx2FkrJ<(dJ=oP-=;Di6@n8Vv&dN+oA8A6E!Z85c+P3nPrVFKJ# z%RBOLh&apmG4hZQKNKn;#p1t-Yw{?MYyo3W5H=X8DEt@Z4k}D)$g`0XB!djK^X_RP zmIO$r`s<5=v#AqeM~+o5vxu+611RAnsow1olJj8X==F+{!pDS>OubU+;a+J2!AWF^ z9Kia>(<2IIxIoW@GKi7n_()k=w5O8|)Eov6Z9JIW{6gP;r&XJMQK#gki;N* zU&0O7`s|S5>BY;))G_I8?36=B4#QPf{uhWAaP3D<+dvcGG0#$e1q@JbgCT&FXy^f; z8nqB)Tp2-{i-Y2MDe1v8bj4_Pae0jiq!~Gaz}q)cw$%KwVO_?HW-XD;8P`~*C>bF?6A>m+ zW}|f3gX-Ii{g0O8OD5U_Fnd}A-7$$8h_Cd;@G{srG&>}s=TNa@CDKr7y6A)i7^skA z2|lszibi*rGBxg#41q_W7tfd{m>xsh}Wt=L(mb2 zh$m5+nAReI{m;2+56sq(Y;C@m7hq%hMu`_TnO7v- zMc-vMr}~s36NVJbkyu-%TMDB~Q!<)hxj;M#y5q3%t71gEaAL-aU_78Ux^g?zl&i+1MvY~s3!d`<;n#+Nb)>BX? z!GcM5g*yb>i7;M>>gS9ATrq8>gPS8|CAyG=msIn|+dJ+G2>ex(!|YSCxRH{O$urS+ z`WelSYXsU4e3IMPaU2;(6CkZ*_|(yv$L?_EHs}F^@u-UVB4`;?IFcECrMb_ z5K3Q8FV+_X)Fe|+D>kDW2ZuTMV7sr>77Mn23(`9VJ$=k@)K;OQpr!p3=@9+eop7W; zfB?0Uu^MI~D2XJe-wA(K!JSH+Z3h?uK&F4PouozNv*Pc`X1;u9o@kP5YW@D+x|fo~ zu1KQAWezvU6nla_HAZFFo=QomAI{!oFCM~@0Q1LRok5uPWJ{P}ylqh^q-dBNcXxVBLn1d%Ly1i}q(3DKk)38E!l=Dn^$o9U!Qq~Q^M zcM(h3za%N<6^t{G8o1F(onGst;c%qwXJ_G|o5sOM+S8NNqd!GECk-|3;4WZ~eZoPbSOHzIJLsjs)LeKTKuCb!A&;i0 zyS43?3Pz`1;E!);egyZo@pkyZMV2a{Sxr8N6&;$aJU^(=C96N7b-mPAPGXNA)Ot5E ze)+x!eENgKLggB3#imq7{8E7skZ_dC%QNKCjmDdO!d{#d=9*~0&?AQJ?8w?JCGS+I z8FYljGasIwo&r*FI$D%siT6=@Ke-z zA18Zm5*Y7j8U{;8r2~d#hCVmyw527>=ERn^!*f)t{!Ru0e@vNJ2~m6K-(Q{V;KBP> z3KC|I4wUrn9VbUN!nI`S`FIy7nV@dA=Q3rUGIo5~EM2YcX^SUAh zSMxh7G9(7awd9S#NBE7D2O<3~Zo_2Sk;4jP&K$`Xjf&SRcfJ@Zm zmtDrqNJD;ooJ{rtXeC?>s4aH)4keJ z*%mehiwv5F+pC573jf3@9W|@SdR@N!8F|}t1NYsG7Psa%z-D&CMba&`x8DhOJf>|s zC$?NOD784dUiB_BZurxiZ%lK=A~#2*`fzKB2R|3iwkd2B6}MzFlK!Lm_@NOQ|W$oW_^prXwI4463;pC`M_{*jiZH5Wtnxkt*r-x5Nf9vU!L@EI(B+~SzRxI1Ht@Z zs!wos(FbNQ&i3xM|8XOD(B^!*>a>+{oFGP&0T`^(AC1KrHQrK2CYYB!Q)NrG(!DTk zJ|e!M{82Hy*)Gi?xAaDB)A$@A=jowxj~EtLxw0`vm07>(jT@6ObX9&7%7p12{~7xc__5RNAE39bhA*PDI{Lv~Hb zP0;+?L26~0y0cKpu=F2mzlGbS2=5-)GY-O6cv?5XY7v3DH8C+5Vo{c+JUW>B)$PeY zzLPiQiqvJH%XXqk44rGakBeb~XvJZzDZvq* z$vQJePd$J|Ky^IIy}HNEl7CjCcPEB2L2Pss(a27ggwG>Pb=nQ@@kO-QAy74NXTmus zyxE%=TQ-!froT#B<;;9nF7z1N+t|sfk%0auaSdQkDYMvE8xmJe@WdiKLoZu;N6m^= zaOdjwmdsg$Pa8V?P23NC#RISxL{C5t+sn$zm<>AI&bSTN>Pk@@U6iQ|E)k*}M1aAj zWftKb?oMNh+OvwQJyq*LU01<5JS$Nill9o zCQiPNyeY2EQcaE5Essved#3bJVpn=?=fVi_d~qS1Q0_C{P3+lY_wwV9s+GE+KPo0c z{MDl0yM6x8IHsc@3U8}PA2Q7jj-UGk@grM~k5qp2I=_L98Tf8ebL zfRmYw)QvabANJ%1D|e0Iehf80b1ok-uW+rz9&5m#5XqV~v^)xwFrpXlng2XRh$)u~ zvTxNmmzS0ZEtDjmRZYZ|kn>5M%4TSck`_^pW2gguWyYy^>WR5EI2Y;W)qZZNZJZE4 zU3Xf6IvIgQ0{K;e0SuL+y#WtPiHg(a0H&M_E0EGHse|dMqowGXMd~gBbkUl^Y}yyN z_o7kVT)>?)RiyU&2;nYHH3 zuaWdMiv#EHTG)S$2$C@l9=nIbc%J(JVU0?w$86tnLyBEqce~9rpx7&kHfcmz7m~M7 zgPcw+f$?#KrS$Tti>8ay>71T(V@rywl^2(2utKXUT}bLnZkFYx!5Dm7a5g$HoH-Aa zNPUW-U%<6vS66a&Q!+{%lEc-T)$rL46{bWgef@?ucMDZe=6k`z>>UF#zw9Y_6|2vu zZms4Q%wf^WaQlf%R_RlB%Fz1orw70=QbrcfOMzOhYtndUOJkEhk5GEH;BRJv&myoE zRrWGCX9UksK48P8R^UAru8h;9;gscJn|3MhFv*5}`KNv`@UXo} zmMJnd^nFK3gmq)ftp0Jt&lho`RgX0y?+8;ZXd<1n>dn56GEfJp+b|=EnMms<7oDF& zJz|+34LiMZYXr2oYY2tLv|!~m4jsg7^wtp_W3tgRk2QAIoRRCb&Jv5=Q{MEg`GJ8s zc70O1vohF%pPmL<8u?9*nm_IQUl~(bmz2Hc`U(`+w&02gHpt*s-6a>J9@#GMub)HL zybk|jT`qa|w?wzEiRj2;9+r}}Nz-)jn>+cKI_dmt;(fDp9K^So4Xm2K-yHQh>08ik zB>&#mNc3-d_5c|0EL#%OAFE!H2W1GU92qMuomp0T4uah-bc+c5UhaWi&ilK$bG15) zLOHK-WDBDl8mABQ$zi}Gqx(F~Gxk5xp*4ExAe_{UbY+4_HqS;{rW&Lg3oJQ%CJPm~ z(S9WLo!Iy8BbKgvjh8gt7c64Z`{~T%YO>j&TsoK=O;s@s8~ZV=z2E9uk~t`o+JWkH z>o=-;6M?uNEc-gpFQbp^RdK4gaB5()T06)zFM5Zye3f91on?^&otcC+8C}5y6Af&A zLHlKi^0BK__o!v|9eB*{fr55vdzb1HD2-_Zv@rsAn#Vc|-50PM|52wu&VqBqFhADq zuf)ZTazg}{d!qRkZlWSoX{bk?^;}s%7OEaF zv*cGx)aO>S148{X_%+~aq*WhAR!gr6Ew5i`MDeF#ooDR!n=d>wf}QCWPm$1ur#!pp zQNqmKM^Oys7v$iDCUmAWpiYERH!_*g7h|g#J#G5aZep)Ke-m5V+80lh=W1mkgVPP{ zH~p>QHSz-<=fD@o5}zLV0qjL%b~Y-!(JVBJ*BE z4}HXpJij!{SBNO@XN48)V+p<^W?6zKBD#)$lf~Y?IZeJP4VByssvEe+r<{J}3`HF| zdgIe65L!c{<6gLQsEUU$d^LCmA-V}l75S;}nd;ZmW?;3hTht9@7_UK-q0kw13@M_8j|p3P-&>MjAKuxwJvO?4uf_qf$Al0! z7DekfN?J9Yje<>;)kgnB@){On#|b^y(`eqn0oyIF05+Dn)r(ZXR5f zD;lTWn>DIE*I_%Bv@Y(ij;;>(txba@gWg6bfIRn_o4I#%fUHW~zbsMh-MKK;nYLc_ z(GMhNmOFJvt|*}+ly-(Sl&N;`Ta~afP&>LB1;BfwA8u4-Kz@>}F^vb!74Hc#J%BW{ z9vJJUaM`~%CgyHy(F%K9q2qeDA-sJq3PqbaJCJ1GRQekCxM&h4)w$YQE^1I<32B}83R$covY1h7+6S=}`Iw)3A2(Z7s~`&w85HT5jx zM^D0HJ*sl|7f=-kXrjv|&i?AodH#g$3qnRYv~{UD+YDSIn+2GUjv?xk?|hYA~eFOh})>USxIAr!Llc)qiqBEDBo>9%{F;C_MZjEbFqIch)|I<5Vg8 zw1{-iKXCt@oB~G+U=QH{0Pws0uV`OuW9$D2POo^r6tP4b_y%+tx+@);)cQqICA)wQ zlC1Fi$O7@gvJ@$DEmSe{VdiUWTtR;Km96g=L+%Gb?_1d>NjVqw)b!)?qtlDi%VSfH zt+kDHxT`~sNh=|Cv{6o^llC`?wS{HHF*0DWpihGt;gt-^T z)#PDwR=C#mKv9^e0rtrrcLZH3u-`D=*Mpwwlk7n)}?@e;m%p zv%=lk$LF<>%SQ(+DIzvN;;b~ai2bfi4G~Za(j*8H?^^uQ&p5Din;AJESXnh>cU*L$ zQ`TIvyhWw){wzRzA6ASIXGgd0RX*5}k_CSt_i)9AcV9bN{1Rg{DE^|_eOye}j2hKX zBHH6jr_>>~i_HrJHD=zjqUED!jfI~&31v*$_>UB|g-4c?11u1H_6%9&`#ZbFHv;TZ zr}VZ!(Ay#Wk>Ae3ixAHUUs~Hkuxp&`H_9Sf)XHEH!G_p$EVxY%RDx|3Klz1#c$J~& zj6y7?(Cg#hIMDiRA{VUiU1!6|%4}c(7y<;**(mgyCPcDzB_=NT1I;H;{iVT2_n7^+ z-MS<{TNVnSYzeBJ1y>Q6SAQ(*O5H%;$df@h*|WlTg~R=W`9tX6)C=e?bmIlU{rzeA zE-FT4MnC-{OP-KD@-Rf5Gw48V#0!ZwKWm{HRpQ_zYza>mJXvELaPxnRozs>mN|bEN zwr$(CZQHfWwr$(CZQHhO+kGDU-lrZTzhPzM%7~Z~is2cF9*Bjt^B9o~I85gQxIvfJ^^?s%CFB9^QA3B9|Qqhx8(5@MG4o zMHQ=GB^=^sB*o6;kYQ?2J2Ax~UA|>xXmmQI`$ohNu2F@_5KDtQ`!H3ds%~HK+&4le z#w7$~2(MV~)!J+LCSgeq0D#dy^iQOfJyIUg;#9z1igASz+!j&h^vNO%%Jy`fk)B=oL+q4Ai1_Nxr|7(Fw@vvqxgI;O-_C|FhbI56t6UlfL}aX-5Oq?W)? zIe2SNd`>bDiNO=_2em8onmb$$k>2_^4e%GF zcWp(@^5;2Ln%emMy23iuxl0fd&4%HhQGJT~Ju5Ekg4iiMX2A!l?W> zG5u@ur|^LAe;#`Q;%}K~YzKJrKE>z*qs}tKA1V-H-lB!#sKp5q@EjpC^9NiuKa}>P z#W8c-{==d%fL@7LI5;U0HKh$$7Kh-GO^IsHe6pxOvrrekkx#~6xtI})!>E5C*A4W6 zGclW{&JSd0YEDc}?M~)MHF=UM?8y3>>lq?uWQsR38XTBFb0nVqGTV~LYD2Tb2ooW4 z&Vy~sk(MEP+$HQT{7hcg24jW{h(!m0DAoEowVd0#aJzo&wacE*OV(>&^eD!6+_cPAa7WZbkgNi)*}XwCu98 zu|YS{iWmfwJg${?2ul>J-zruFU88Kf!NWXHYjJP4sF|Y+H0EYnWX7Fxx1$GW2J~9U z-k^AW*Ov86X&9dSH_`Tg1i9HNFQyo@HpzQ83 zg2WptA*Y12+hYU#o(bf$>b zPib3&9}xtnMR+Fn;KV&MGQreG9qn0Sx?i8!hlZ()5$f{&o zOVA8fudC&^whmj>=N}z5ZC7qGF3ER%Q8bj3l3gJ2ja2)p`unHv1-O7@1OCR0Gv+%= zUm?W-(%XkIkd&gw*UN1Z2dSuK|H$ zp#iAJdc=;@K~uLBphM+Yj~ z4oY1X-oW+05p3~^v+dM|H-Umy<>(E7C6sRUSDI~%Q4$0+hy+UR;{*#E>;&pfZk9|# z7VPsppu`^DxUU}S zR?UM&PJKqvw8kZfK}`YL@7@1wFuD*EmjVq#rfM)Q_DCGP?7_j)dHy6txv|-UW=?t# zj$*JcCv}f|tAOn(^y4PuLaj^q>`>ij#W4SK@;^btqa^M*Y{=^UMra4(TIv|Nk1RZ= zRiOK6b&sSc(T3$lSz`!?7Yj{mRPeEf3Ecu(V%^ZReXu{9VAM#=2`x z-yOdu8@0y>8=y#sBP-cN8y9|^23&vBOm}71#YRTJQ)dZrr!}v?%IB;2*TXi8&z9EW zs=cBXgq|kD%A_Hkij|1A#Tne#S2wLR7tUU4-Zy&KVg?`7pcaSuH@HR?*s4M1Z>*aq zxnJdsQj{WNP8=w==J@b?Wz1!qHP{QZMBN+3y`RO2O@CSBd4;WrWd^g(Jjgr5J*y^z zCMunX&%Qq z?ilw^$GB*$G;}Kh)&kaiOud%+6m`UKTeamS+l@*UzQwa}Ew~r?!51d-xP%8x z)Zc9-oal?rnatL`K4LA#P}eS+(@3ka8W*$VO_Ms~y8<5<^5DpAXukHwCK{ngNwpF* zYb<)Fl@-IIi>S*wd(do9g5xv-e?EMZPtAbUB5S@-BjB{$e(&+jTy-vGVVkr`n7iC4 z10W$unv*TIpP!*~#I+R?liIJ*xl#aLNNl5XLBAed zfDy=ln_(+X*l&ci1&%>K<`k5Jl6>^S;v2tcyn_Sg&K-aDcu<+i!%TvshEptC95Tx3 z-UL!jN-Rzf_kA$=v4rYlS&~gj7aXIL9wh*%9Rox;C?1LD|7usADMOEySFs%KYeF({ z1LqaIM3NE=SpwWO-{7XcNS*o(-Q@Rmetgb?75NBTP33;^jYwC(nv<(B`C-yp4cK*y1D#s4ixKl^?ADE@6_liv^db30TazZT?PmZ@o-$sC; zj=D6+73UTvabNs``08nV;vxLB%v0|eAF!#UzcG>^)kWJ$^!euTtB*ZKGjM?l}D?=)o$nMxJyX6tDTf| z%nEa*98Q|MfO)1&qeJ_jEPm)jZ?v%RooS@iLPO+b=C$ps$ z9Q&6?{lBSm;e2nMf%uoD=?Uc{ja6(F@K`1GU_Ys9=eee28C5($EeXdN^NbBzMU+}K zBK%SAXO4}~VpV`fBFGZdKz8BU3NV9CAst_KTN{4DZh{Ub9QH1vSDWoMp?2C}!Rsvx zFn1s-j+#Q73?v_gxWf3@`jrz<)+lx@Eo@G^X$*emjB%is-?>OJy9Bdf%g=EL4Gtmm zn3hF^xo{m6JG~=LE6$6DbPr{~fJ~j1>=V!0f{6427*jl;OwLo?}2Hm@XPFI)khJ%bF|m zhhbJ|i1ipP4hIO4b?HDXS( zDseNl)7|mL;H|xiz2YO`l?qbkREoSO!mC>~k@|3=8fd6cR5jpoDiVR_#hCWm1^oUN ze(g?Y?y+dgj`*9(Xmh91t0qf&i9kfpT$8>qpPh2949a5Klz~s8833cS=H?`-!`XE} z+a+Opn&}-eF|J3VvdZ@YW}RwjC^p@oqy3n2XL#y#^KBp1eXX7?F?ac${svD1{hi<| zG}cUP|4l%~^Zf{l`$QE6^BE8PU^J&~l3UMkN1nUh4x<0uGR2PUkZs}dq58Hh;WM>h zKj?Mi@aT;S2s>ijB^t~*-IIRrw`@--mIT)kl@cE*RnD^4im~CQqrf*S;9c~zTCAnV zyVIlld+L_fclV?JJvnOb&+9$;@Aw7UeSkX=@sM6)S&vHc)NV#kKaGLw$-4$DUaQN+ zv9ASG?TTgca#8v=-eNq!ACa(`jd*?BBa1Jwnv5u~f;!4bs$ggLH;+Qolr*O?Z%Y4W zOKN7%Xca$$z0dBeJNfRQ7fnB4->;lsTI$zz?rmRP$*z8RCTUIZexmyHObC1T6pg)m zChZNcEg}76wR`nhvERy**DOd;LZ0DgU!h|LjOU6`I8#O8TmEVB%Zm#Kh-Y znBW+MwP1mZn%_`Zp+zey3P}5h47L4inKK3>1#b}TpDpWRM^`Q+L0qtMOO$Lqj_J*2i(-?rZJP z8NG#ccCau$Vqd1~@hgX*#*Hd&bTkdZLA}SorYG&uh&9#2LN5`lO@=jE1vUjK!67~i zfnP~gxpK$a5E9f9ZL$q(Cdt82y$?^Ej0hhV+ zlbX5v&V#gr2Yl5y-x5ZrXh_pq3md%Y4LEXSarxU!7BzE|IUQSrCS#qbo3SS)6r@o3 zi-0B}dUIP+K?q!I zzkqu)%Lp?|Pqo&B9|WlW>wj7zxf1Tu~;7%6`zJ0O9LP&_5+}2)NxI*+CZ)`lA`+vb3v#1z*{%i0YBW6 zl}7I}=ma|FK;Ds)dBBC(XGYipi6r#?8qvzLYFjs+%(R(4^MXNx;ELUn^bESX^(? zoIuT8KGmIw82AFWVtw1XnjOoj-6^?!EHqW{7-*O11~N3e{<-vhGokx;jXHpP@Rxx& z97#F!9L03g_KYh>gk}+En1Kb<{sO5STkS3{QW+c7dT%UwC`BqTv^e$96b1znLA%)o z0y-zin1D6>`Ij3CQv4to+4TFaD83v|cTOMwVA6@Jr@F6`lD&lhlvDE<)Pf%4+I=Q5 zImv(=EZ`yTieFoaC!Nte3`;pc_I_X=1v+fq`}wTM)!|IbDfNu72x1`_mY(mFUgHd=W5Bp z1Of9^om)}wkd%lAww+((nxxSj>=7w$n#jY9zOS?t@HO({WruzL` zr?dQQ^4G!3`IbAA&n!2nqTtK}!h?!VtrtEHOJe1fja4~~{VaoYeVrpkcfxxD`?_C` z0hZYC=$uV8X|4m?Dka{6K6g^nKH6P*Q(00am#`~}Xme@O`EG~gBl9;rtJ+mOD>bBp z$}&v;wq$ftw5%nR0L?I#h=UEoyZz_lzZxz3y7;+F!@cZRub`vf0&W>`PIkZ1g>!Hp z0$}O*om(oDZ9Iuh_%r;UNwv!rhy>+*|RpFhHWs~&YqJV{{@cU!>6--97RvL z^+-b_nOU4b{`y3?G?78 zogmqwZQ4Ufypu)(ZXs4nn=Vqaru)S{G9$V+?u~$y`-%&db0h4O!A#P;3P*FjGWGV^ z#V}S?m%-CYF3&yvF8CB`=y{JyShRb+3+vSNKGjCzYM|4u=TSAyri1;X%R|I7-4W;< zFmZmi{xKWoZYfu2ATT8{zHsNcKdf@f?HaEna+S@46pcl&a_X<6iRKR9(+s8)ns68J zuuV@7Z`ZNQgpBXLY``Z<4}zHwJp9{^{fHiKA=ek$JzH7)r+V%}8 zrG=}AkZFT)omjsU?$hU0er2iOCMBtC{ZA?KPK;xj-6Y{f_p$6cW^*0IJw3uR2#&pb zF>T63QNgvmA&{HW3t?}EkaZu`{%@I)fWILQ)`%g7>jRG=UIaST#ECkv=xIq}r!tai zW1bZhWy@V7nU<0kypBq2;X;7lfNB5f=O#4R*4sH6|KeQPn1Evw4o_a04w382(6*mU zl@+E^or29}5fDaH6(gCibQ;mvr|Vnc)_gY6*iBDX9C^=qejbP6#I^$P|EjQD(CB|z z($%pb93qxXXKlMDNIc3_)To3s{kyH4X3_P56{Kj&+#QhStVh6nTyQXMu>4G;m7O^V zw}g%#EKUFe3m%JVBw~fWX*sL&_eoryTEKfW3HdlQH;I6Cp91{2X!K{HbVmmegbmxK zKa$hjRIUN>RL7NxH6Xx3Q1KVc$OfknT-emZj$Q^l?5b&FykX((dWWzc%w`N`ljij+)s18 z>SndPsry`s@V$naN0Lt0zTKgrSi`QyPTjtE?Ba)CB5K%cXdyyWTNIkN#Er$vXk=Je z=BA}{*cpEwtGHe&2U%^$Qf}H84}xorhc5LYjVPIv_evpBDqSlpwP`LoZ*bD7MyCuL zT8TNXb0 zyi~}eIIzkJPomq@Dc00d{!D#~XT9pDy#qJa1AHQDwVX1eS+nSm*M}n3e+(zh{QtDq z(be-iNJ0PrWn%yUs{a!S($>(?(a!CE{R*$>SSfEyH2%Q!6?S8g>RTDMgVD3z%qo^{+3c11>NChAt*6G72S+jeA~w26BADpK05sbgDN?ZL6HuIiV=KbRKB z29aP^EKxXS;+m=Ah_Pf#UGA^7W9ib=@#yRQUa@43SQIDf&oy>)Nqd}{7xehvJDgd+ zotwmIjasBHFG>7>+K~6f()|WTG5<%XyB^C~diy$(%aRNytC4nSu#YHfoR2PkPMN!m(ohxFYa__u6?Mj=o)9Y1uBIqVyjad$>u4c%f zS(7dQqR4d2Gi8XImuHx}Yz8VU%%Z67C?cY2>V&XhYyM}6gKm~c^`EkoQBXPY$Ac{D z7Ghs>a4DDsDJQ}t)r=gKR1mem5I>Q?b*?SXC#YDkTr$*2Wvv4IaZcs-uZJvf{z%2I zn98*GuA)1|E3UY5mr9C}P7vlDJA5#A zlGk^4n?{lVHpaywwczI@N#xW)B&WV`UL+kLSaiU zp|fnrZ0jP}hCYflAZKwBj7?kEktq&n!8~E#VCSLmi+ZbTK2icz3#r&dlr=S^Y9@k9 z0t$Jf_EQvV@tV}xZ39p1zB+Vl67Y-;<~SmwZV5wh)u*BJaYrj?m}5FQ-(VNzHLP8fT!fMWrjWHR%VyI3I|1k{_@ zkanPXmOlE#Su7nzaMCj93v?IRpCEJ85OfJM9Jo7HQot~=A*7&el>9_faYKQur@;wv z3@b@~P7+L$F@(DMfT;S{-9c5imfpj*>8uqIKNs$cLC2OU4`B}517Sg#Nq9UEsKe&37TE>dZ zI8AqK8Of+esQo}hqw(HS#x0m2NLkL^q!R6mDn6n@qWXR;@YPcHsj}d_wKwPYxk`#l4 zFb>Rc-W5dQx@IFLCNR_^P5=XE+_-G`xAfzIq)hp;bg5c1fRVn-h>E5!zE5IRi| zoD>oztO@|uIg|-)MBr?uq$5^TVT0OT`@jx0ynJB(Q|7r^|3IX8HtB!|B|IVmeIZF& zyhF-JIPDpT(51UvA$80h`dc2x1}Jjp#CiT1nLlMgarDH!XjQR5;WH|%1~AfQ7@~Vf z0atu}E7vr|G0n&`R=y87KfI1yga@2Ud|puY0?6 z<~C1eCrL0j(JH7iQCdQZ%*ybS^C8t4K=if%Q_}ds9a3LXy18(6#T6HxD^heGbSeKd zz0~pCjwAvqR!*EVLTq!ZX8$uebPTD?2a`u?v4<8iH_ZVT6rG3r%~%a~=3q?U&JK3D zdufpsBCl|4Srb~I$b`TjXPSUy6L!bMJX132YFE{7=Rl6A68OlZ!JvCSr0ka!=4;^0)>Y_<6 zeg)^DGC$yN=7$S?U9tg??zi5)?Thnjh}ynN=FTYc5_+vE`|?+oVg{GwxN2H^e}|>S zgPlLhnrt;vOG2}+8m=8si#cI}ljcbA{3rhxZW^9N>Xa`L%* z7S$FLxExHrwSO!47Kuxta!Hn!0{wMG;45fkoU5$@#)ChdchJ}|!nHHODE80@VV;Ab z*d(^DRm@bf0TWY;;jEPLPGgb?dWC9;+3cKt*a?HzG!z@cE{&~d8zyVvJjKZ%HOIli zUC$V-Fq2J_Jjg3=E0bcEw9LL@b@v0I52j>X?MaD==!dD26{PsUSXgrH)R=fRnHIbe ztI5^j2MtAK!SI+G%TzIt2Mi1g4prf`79XhR#cJ5%!gsdP;XbR`%B0eys7c_)+r{mG zxC7jlX-j(lC=Hkp(R?g0(Mj?-T+W-)73BR_DABjUMIlW5b$A%CGM|*sG%bs6%qNf0 z+7ZMqI9QB{57&cnL{vG9TFHCH*!;3qK*e3irbz7QTIGq(FQV|?SmHRmo764e@pM!- z?MK0?u`!EPa2x!}rszB?(u?)~yRBqs0h=B3ZqAKUutFDUd`ohsW zH?**QtfmOXW5kcUR$NAfvk-5X{$n?1%4Jp()sD^?AKP%%2*{gN8@LpTL$&@>iLlnj z#!&8Y$N{NQr!J~))N#i;D|C_au(o)df+VLOH_kv1ZAi{F)rv1lNfe<4I=j8dr6UKE z$kTj;dsn`ZWeill%WLtP7TJ3h+(AL@G`@YE-QaD8Q#L_bRIp? zWY6AAWYffFG{q&3mJZT&xXyD>T6x$eHUwX$l5f-=kLW@tQXiB=XQfi;MAIvQ?-xWXA{H}ACa(u^PwG!E5X=`&&8PS3=mJ( z+A7!37$@qmPDV{TAGIcdSdph+y5@T<-dMq4|c@KugFLuOiJlxGyQBvg2C~E##L(6Tn zi_-zqA*vO2d7T|~e}2g%*EnH=>QncNcLEH}+a&EOCs+>T9*Bghpkhq@FEB9J`exg# zB`5*XM&|{QZA$wrHb|w7q6!SZ5AiysI+J=iGM@|E% zj0hzY6B5zfly`$J~3G6vRMoE3K*gELj>|vfu|~dCG>nuXM^3XStQuQK_g$B^;LFI7ct?BHd)l8B(%evaq@f z+)$jIw@`_~6zj$?Q07Pm7h-!7);O3Qe>esoj^0g8(!816?HE`|xDf(&N*10`*`MY19qVRXPn0-38)9>+>eSDFO)akaebo*3MO!cDJq*ZiM zE4zEJYw3v@L(5dgm-8y$IongB+$t#sg|3v=Ww*1jce66>7HZ-ONYlf9aT@vjVy&H( zqh7z6{E|&2gc%i^M{0|%j!{{b%CIY}n4Mv*ev0NCFtTc-_~{QzwYdOCDd}WQJh-rv zFgS7O6!vzZQ|8LQSI(#ml>4XnVD!kMtI>eub&##jwQd727QrBi7SE&oa06^SUYmGo z7vY<3L^Ava^#;ha4)OQ#I5NoOA)D8A`e&+4nH=RYfZi!Wz%%(09w;i#nN@uYEW3wu zv^o-4`)9N{)gxe<%+bwR+T~>-+UqDPY?T;hex`WR!G-^CuaK^2D}b2Y5A%Gy3W$3) zd@Ji2+5gF?rDT;&wOVfp9@AgbEwYbwRd#gb_wrq>6$W|(JXb0a@a z&(2r9(IKASK2Ww0xOA_# z#^V)%aFkZPZ-q>_h7BdL%=d6LJ`($8!|)DxMaI})UnJ71@(Jf8PVLt}Thmy|OlTJ2 zPJzEnXc}w9fP^${Py1NyHngWeE%3`-3CE9bybm45@o_ z|4=`g`RA6Lp}sG-Oz|;3k4Iq5QePc5L^fO}h8)0p=1bu#vCQv^LJ&yy79Cww%cst` z4g)}pn&}HZdXU=Ai%+^90d$%eZ=d{@`j2yQw$8ZfaTGOm3ryK`QvNDZK5Lfd%0C>8 zxNB*eU2Dz%bTZrd?=9|Oq1XA4?cM}OcCi8af(X&ZrY?jC)}enTr;!ZpFZ@0&E+TBM zB90+{SJm99D8*x<%-WcQY3%rQgw+e`DA|8WbM@n^dF-!gKmj`A#smsm9jE*tMK`J<7h!C zqoVpXKd$e$z~XT&2;Mpk17+(CWkpbvaDcv)Q)E<=^tJAA2>-SmJAPTzC})IQgW6wq zoUO^)xLmEr)ePAc+gcm5Vdd*1sA$<#8a;x_vphd5+eF~VKRsrvJgh8Jyn<|mt6rN2 zh6yQ@BFdL~Ev-&oA?1n+0AV@F$Fj6BUO_eEIj4rl~D_J%C?H!7%yRF z6whQS%9q8Y*U}6ctlen7_f28V$$L*&&hhWTf4w1w@q=ZpStx;dx-GD7e%o6=7Uz7V z%3WcX88Ugo{K$X4m2V6bEU-GmqG{-K!CY%U!sN0WAx>(1q!U@Z>*@j8qd!V7#?5cgaf*-USaOEb@=ve zDW>;g(>#{i%aaoJ(h4P%EE_&|)>0f?_g?; z-DGMZZN?Jz%DWXfa5Insc}Y&Ye<#LqPTFw7I~hU9>QJA7DW7ygeuA5QdK<7#ZenrU7rIyW=k#!b3B$DcK=5Xm!atUxE@U0srdbd~azHE>D!)mmh$ zl~#0cE=VD5hD2F3N^Qx?DBbdQu{rkynQ`~g`c=Vg|Jk`E1G3euQvNEiGyjDPLp`D) zyadT=L$8?`Ath*{RaIqi(FwI?9MMhWZi#@iw`D{1Ad9oqatdC9gsv+0e;gXmHpna1 z(y9Hkxs*94X+KSMY!%XLntB|?xWhp5ZNo(BM#t6{JxOqE#l2bAQK(@0Og_vx!9Cmu7R=kz*s zY9fn!obFoG`Z3Xsn%jqT>SMjyV+}o7fd`wBz&*Ohl*8Zn;kWiaafxWluLmcwOW-j4 z#zS+hi)F*Xg$=XS0x?MD5ZU2n-fLqFcQRX-O>w$k7r!}{i94~IMoj;$*WNIqB@`M1 zB~16;E;+j%LNHkEeGeV;DuugJmTOqIY{#uqZE<}vlKriM1h!(|%h2cR{KrG}F-EGU zz>Nlpcw15_9Y>ZayL^o$mRfg7sbQtSAd#4f-P4?(&UH>zV=SfOTz-7>z`JJoWSQj@q_zpaf zz4%Q#wL>an81siabEy5Bub=np?e%$jI4w7L);Omi7p&=k1&0vqUC&QR(X2#ZY{w)E z;)u7CxuKoK`(c!gO(6@2fv__&l;@*%*`#z(glX3cfi5jI@sH3>5Vm|Pvr**oTIlJ& zZ0RF=LOH5ueEX}>;E{-ybwR827cf!U=+=l^Wd_})2`(p;(w6h$CgkS+PKc%F_Prha zLVy6^53oRy%FR05{gqq>Tl}8Bvz?GzZW!`ekGtJBPn}*4*Yp4Mf$KO?TR9XZ&CrD* zdRNzi$<-Xm8q_ZWn>OmN4>qN@b;^KvA*(huW*DG$3;Cavx}M!d0Dc#|(W}6%WOxhH z=&&tM&N}Qc97TH;HQ$;V+ZO^E^{J&ok{~4EipN4J>B<-RX+K)ud~Sg)hf6$tk8|@q z-i~6P*l|s_D%ho$(NQdUW#NpYM72*BG3>|%$Y@)caYWSC)=UY$!}v~hcUQuZyQ^Ag zRFo+Ht^(;}rHEa9zNFtOGHzWE;v{IL}HFC$$Lj%77!BzooQFWxP$iMJm zV;nyA>oy!?!c8c)EyOCMSAq!!5o0&ZEN*X2HskCgh(L;`&Kf$Oz`JIPSUm&cH2l{X zlV%{*&DA64jtyl0dO7 ze;j!D;NsVx85uka$_q-?YNoxO&SB@c4H5^ic@v~VVUmjvB7-~xx`&b=E)v8p1kUBcTtPbYL` z_B!3+60wLdXj4UUWR|VJcLN6`qtduh6vLEj-wPPoG%D%8`bG-Jq{5dV8DNW7UUz?4 z2XFjDhjoB?9v(A=a55x()%{Fd=9_(m&P#!G3?&;!3RUfq*U2b1+o31A6RVyNxDc_FFlWF? zI^hSI-xy=w4JQERrSdQc*@}GqU9oojw>S!YkF%_OCKmc|N5uFbO|0hR9VwD*9wd#> zOG|H?2Fuh<{}uU<$HtNW2aUL0nfE9h!0v4v-{V1efez(2+@UdiV~_A(sjHyoy>&7h z^|L7TNUI_u+WP{4OJ?tj<+GSUKM(>LLctKheaGQShKaL87Z5tybg^Rx5C=!Au^rsC zMMHB5PkNXQ_M)kmd-yEN{$Z0lr30>B@~Ha=sZDvoUh~7anYD+@);c?|CMrS%wpWC| zoLDuwbu=#|mt4wMe$;=WB|uw!gJ}8LsN?dywZ8-ZNf$0yJlBCxiDRS0u1mTW6jf>p z`#uj83n7|zk_M<1X;Cj&M!Z#CQfJ^=O*vAhu=2?t{GxZq)C&e2e1mY#qahnl;2pTx zDPO-t|N0%E-I=a1XBdf{B=`chn>@8-342Tza_31=ttxzoZ)4PK0``+)WG z0I+>>Gp;UHO|q~a*^-eF0Z{XCb0$aZs`>Yy;02ZF{mzgin#tHht60hI`^@1rqAqs!~1Vn)37MQtS4YZ@l_ZaR<_NHAK&hMmh8Y`k6i48*%Uet-RC%LHj}S&Rnu|bs-Wf<4($$LoK7uc$W+RS<5>p1ikfyY&mCu4L!H~%#E+VO5;Q>i}#3C1QqYh z>*T=Vv!mhn(2l+~e5FXnxmNMAg>jlH)BJEvPFZHa3mDYjQhWz8 zTl5Qkc7Zm_a{CYH{|(zGJvYR4LI40HWB*@kN}Viht^Svc)xH|T(v_ruX?qw9UC+LtLEdT%0v_rsvewS~@L zmT6DXRqa|=c6LEdo!NjH-2toSuCE21zVaE6*x7DatruT*s`Yoc43uv7BwsM}n)RzEynN0j@{nPt20N&!O`@CXkNb ziTHWg*%c~ZkvQ$xfVlteNS4IFyC=&fz&_h(f#tMN$ZR==+GB(+bJD$pyEwHwKACw? z-2DyqdXDZj%hGA=vG2Hm^wIRH%t^$kxnJh)CSLl*qj?b2mu+9475|!L#5MeJwq9^_ zapnVcnu2~XqPJt2ge>`vNyyq3ocuypBkv)+=NVAMp3n?g9HlIYYm`dM>&Qqh71P)hV)nDP$78_-;tc zo+%O^SbdA$frm&1K*wSTp;w`Gcp}HfG%A5(?MtU_B4z7=iEJX61G~|{`Wd9$2DMtUL$L@clJYr^^GnJXJlnC^`15OzS)? z9xJJ3OwTioL1#k3)dYSvre=+$hs2Z{isJ;>R)wtEQJYqZ!cXf*v50SFV2o~xA2}g~ zr!SI4{{_8qFvo}uWeg_}CE7GvrY{Eh{v%3JGpb2rsjqEl-JK-xcFr8NxBlie0&l{Z z9=A}IIaLt~&rMyMFsS~tZxd8+f_n)b--gyt&=#a%K&Fu4*6_Xc2~o)zx=G4tMGS*w z%Ac9HRSuYEC=?tj!l#eYGc>JNm+NNkWwY`q=L!DZ9)Y4>iTz9#L|JahSs9IRrV2X(TAI8q9y%J!-qOon;wr$(CZCjn3*tR-$ zI<~EjZQHp0cxPT_enCA}eYN*qtJ#%;4c+O+|1ZBSW`!LUs}SH(Wrmfc4Af_9-fGDL z7eH?3MMvk*E%dw5-qUUEs;%ib(&Rz4f!lv4x4DT+beha`pd2rDgr9B`SviLtl*_#`eYrrP9;B8 ziy-+GoA}W$3~Xf$IX%>zxRwu1Gpl=xJUQ^tgwhPU(g!EwD|8uh$hiFq+7= ziNPza-x2W(2DRCcp~i{L6}%A}j9WDLYEVFX6{}7?J8J&R&Z#>(WsP`wMkWd*h`i@Z z2U;o)Uf!v42&qm4N1|BsC?zA^He_ujDk>HjuS5nCd&dsrF8Jv2y;Qr-_EHa=J)xHM zqj-1Y_L_f$<2MOo-rjitrP2PI`^l;k4YMQYX;INc(9!2<$@ao`t@l>HKvX}t7bVtS z4oXHKRK)b6aH&x5a?~HZhS;pKqOTjowu-XQ}IYLfhJ~AHnlxe*`rKOlJRJm99H&P8FrL_R@%vo zE~eya$FwEW^I4@py?m4V!7YEK*E_|%e;IiCAr&sP8jvca>4R7rdkkS2QqSmYCtTVy zuKk1Rod@@HYnzLq!kPBk8aGSEmwQfCCQ02&9WobPaz*5_4#NOn6v?wX9d`Aou%)GLc6*<0w>IsGGaI$Wr>w}KadTOZb_GK0)Y;++_ z#eppI+9r***+&v?TDC3jd7mi4?fOiHpQlf$^=Cpxg9~EV=CUfb8s?#f>3wIJ7!iR_ z@LenEe1w{kU$-M(r8Xu}1k?jqqCCpXJim zP1z>}jwgI&qwQAl+b+9@j~6G+e=83HacS_3RhsQePMC>P$77nxp~4TYPG`~Ot9@a3 zHCx%ZwPh*Z`@5^cE}h&Wd?FL$vLfMT+f@T4HkktYvN!ZcW%tK*%@dhH zMV?ry4+{GESvl0JE3*oQTIy~2Y@W7BWJE&%;{3`D@v(=&NpIww{fIPcI$vk)uh;eB z<*+lAEbKKN!I!jTzAXfCmR;O*vb{xcXiJ|9%H(La**5z6{+wss$r$CXUAT;cnMhT~ zU3~-jH+{d!>`=jvo!4l_oAZ|$y3jn^Hi-1%0FOl3Cu3wKzsm;^1mqA+v3+d6KVfvv z>G`PVTS)#exl;V+au6wJmf6q0M_4}`ay~JV28ny2<-#?kHBIL0-S@ zFwQrVJb5wd(N_NOOB!U(y4Ji*Mg#~BApI`2zWZOib`cYW?=&nRpbs4&AnN~D#njcw z&f4w2UP8-!)~*{|jrm80!BcAFN%a5lMt9kb2PJrfzgT+m$Y(7KCrXRN$4ulB@dyMg zlD@7swz!~f6U-@9KUUaNk%bH9Pdjme3>g^d8Jqggj04-pArfy&?M!p^2Y%iyr(l!V zW=1M8A)xt6h<%r^ha{Vbb(U0MIZgBglu~MeHpeJHLVjsf0Y#58hcvDm z)s%A7ZHiS_FTT`vxo1l|V_e$mn8@?`_iF{xK){ zEOA5{UPs=~V#30M184E9I`-^PM(Cg^&(4Psb5lwc{DzHbtcE#J7Ou~{L+TyMx4kC( zEd8cIA|qt|i~<6NO)(_+Jiuh8-6pUTvinI!wDBH@!nF&LfsrBnj!UUAQPFoZq}q6r z2*_$GG4+Vigh7t$!z2-=#=%Q#x#Lkr@P$}0^}YHn(*@#@C&-OvLDR{%;jEU8DaGK@ zrh=@eGQ+hK8l47S^>KLZlEA~lKv{R1f?PR`h0bJkz<@LQJK8spr$T-#u;r$6heFj$ zR3Vw%^u@Txi>LsqI&@QLark=BA-~>I(~0m&Mq{A)3hQp|3|w{&gwC-Yn*?M{<2!2* zHjGgNXffw4(zR)rL%8wugj0N2ZxqL4n0K9_(e|0;1P>TG$rP|y{-$+x!?W&?vp7Rs z+z$YlTtvw@5E8B2n*k=O`>~lPE|Abb-KGS=0H=mHnP28@20Z3eiy^X5(LagaoN7Le-$M!kdM$N>AJo20%Y1;MJG0WUaw|#Iphqx zLX~ADD75uevYb1Zhpg=)Geh$pR9qF??7v?#>XH6Dd~0i>IyO;0eBCl(j|WW`@=@Sm zFm&Qm!Xdyj!T%1*KPZK4E_8*e#lkENAJNKgh7StGEKZ0t zOWoo)sK+pV^zQpUbZ&<^hvE}yOi8k|l1t@{n^ z$$9wU4)4tr=A?ii+>XNi#0l%Db-CHHW|`+jYwOu-kl`pSJ*4Z^v_c=3EZSj0UPw~K^9Hzk@Vm0hixNOhL1n7`Rl8OcDMbraikl1&njs zhAnGWu(l^ysPkYrzw)d|ob{5LH)_u#6`^1)C7qAgj1mM0%87L0i z!Y;thUO7@=s^@a}mOvwtzj7-^b4RG80iN}Av?69!nbYx9Srif1B+tTGNY$R+f3dQN zX;>=Dza(lf>wr44V8x!AHZOt)8F_}Zu)Zt{gQ*O%8}<;1|5NEJ%g25JKWl>tkb zl%o~RC-UPKLB|*$q5=A_eoYYf>N=;pJaXRor+&GNyNp2T)bg70)7cc6RGs;e(cISL=shc8e@=rg~YT!lso3OD^K=T>xpL$qy@hB zcS1&3wABpixU8 zulfEk2x~Dbl|@x@)<`8F$7osxunnL~k|YVT+b}EXV}9Wtf@vEV)*O=*UPGWRN!h++ zF(5+U_lB1pM&$S)stVyCADp>Bxw1o;-{P>M?=tf;$FlPWS7U+6XkSncf*2xkA~%l6 zhc_dqAHVKBwKZMZ(m1eM-cM$YJKPS*krdgT_nVhZ9H%$ElL_8O2Q_rVF9EvRRrPn>=qf5br#z6q1YB7_1XDaMn;wmt5TbU7v;_^{%2D zME=WztKK2=e>1{n9HvgFa^yp{k}kq( zh!g@~bWgA7c=S1hYb}RBP69OyUfYW!0EP-78T2NHftCkln^JJYRcKfm$()MJaCCZJ zDIWE>iK$nhc+ts>faF23M$_&}sgXtCZodK&Mqcc^j|+|~4&gdQCoMmJ&T(JCGYoc3 z;vu&4bA(N>jr!`R#UTCq+O$rrA?CVThe4jRc>3#7(TCIg2EaP^(E5kdmfH1B^GGF; zAEBt`Bs%Dk0ZvjK!(=0z`j>@>xO%5 zvPnX%`U?vuq{1iOQ_^L?5nk!}mYK$y)E5_or;OX=1;LuTIdp1W8+{vQ6Ybb6QZwr+ zHalX^LG?8{YK|;GruRyu&BVzUXHRu>Ensj_rnB!W$y?DSq3&3+*?{8*IefqK0)n!F zs6&rArl|_GW^_22QC`I=f6>S2%F33Mv|rgMp%8^0%ChI)t#NfY%6u%t)e6U0`A@E_ zLqP*Q&A6hd!%C+x7%vOBGx#g?*JM--B8;ar+S29u1Xl% zt&<*Uw4E7Cujgq0lc%v3w!cVc8(LA~Wgu;z4g7PtBLQVR+x-~1%?aYdnFIDCjma(- zva-(E5JrnOi)F6cMOqRQ9Gj8cROEnx5{6$cTQZKeW{mQ2T*&FIN!C~NfMd4jn7&JV z4SUyPcVReJ(CtM03urFF^+E0PuyMZ`Xr51((&tSas*9Uelj`8p9d(z=9+hhz%aXg# z-QB*cGi9p0opR*zgp8CkLii4wA6>B7K z@{-z4=?mBET7A{j7>?f&G5%B<*3EbIF2`rft)lx(h%)gnjcHyM^4nU?;@Lo17nG{4 z^QlU}TK&!hye%S#X*cSB1}M1U#Kn2c1boOOUhh7N8lv>lZAV9}Am=41ZICOH6C4TY z{)!6EhHLA$<^)AmvMbcE%|O1)3~rDeQjX|(h+ z#E1{Rf9iP@3oiwI*ndz7XX+X@+8#qJ(m!1aK^>C&6R-r00?o?PVbXwXqDAC- zz;ZnEqyc=r`?;08H?X18E_o8E7{NRFsnhQJwUZC`_sPL#FE8)27^apJlOfj;M|`hF z6ZU2I(aQ1_SV$Gki%}uoFBlEszFpT@!Q^Mrx^6ni=r9sdar;Gz4u@*|4?}S~NImki z#7iao5boe~@n%NLf)tM08fJqU4$4uS#**niG||ZpEA4c1a_#~p-K3g$df(l!nj7ry zy!Zf_QZW^bL%v8;s@39&NSAiCh6tx7`1cdt@O6fQ7Sx0ktf^+1g9|h-%XZgI->z|I zBDxw#pLR%_PcYwu`_2lC)4T7FX}l{>(4e|4*8AhbS5M;3axXBkTq0JI=?G+Qwp3TY zudJ^S?;5}D#sm&;tBC6$nB`W98-d&$WnT@Ds*RW*!PsHMBMw=J%p6rP3RS{V5L^;8LdcxVO(H(GqSTVvpcts9db0cH` zZRVTw6nvWIs(-zozyv)7xQG?x418cFcr8`doIxO0;Z6^q2gRyZb1p<#V+vJ^Ob1G0 z6gYHr1Q&EvPPmioZ!!J-1*$Sy_{=_}^9ku{lp+|>i~1w-$O@zr)`q%rT6Y?xG>)y7 zuZcDyoMA45w7co&$~N*t1^0q1FVgg~kkh$BY*7!G*^_Wf=P?K}b7SIpU3yquAhl_E z*-q3{b?I(_{(Y`I4Ol%wMR3=8kB~VgP6B<^QXD@kc6ri}KFQFgt>WB%$Eg0dyEmi2 zy37*pQrMI0aB7h#mX@HBqYKS6&YT#Vh?-khJPa)ai%{Pxx-qhKEy6ecbUWMaq_>HZ zLqD~gCsxa_6W9HvA>_sUI$5&gI++o27TjNW3eVwuP60Ha)C4orBAL5GwEoNIM-+vj=j)T|BFc?Mz zD|&p4g-jP^&ZY-fqUYTWIJjU(&@cJ2hKxot4gb*-aApzQYEF?Dd$GmdL5oS1{5nus zoGI6^Z&!1LI{C#s&sn@*G1M;caX$oYOXdb>RU=nc=iK{FUt7Euv( zrYkh$)i->bM)TckMW$HNPydM=vvlvqO+B~ zmH8@r=qLH-ee-SUSsdoNEfC7mg5s_tvX{RX%do5NRr}~wNTNYg1BQ5@ffH#_Ll zFhI9f4g|-%&R?Exi{kau&U)TWatYwp72VKvXiS`Rfr0RH8dNKeT_0!F%V>=vr55SD zkCYUQ?aoj@4uqsa1Cp*x!lq%Njsf5HD zbB!N0TiqJ!d09YHjpD+{%Ob{}*|{9BJmZpTZHK`$#a^*N^V>BppY}bM)=0L1Wyu}$Pa?@+JVMJcaCQSfTop^|V|KW?_-K2N1$Q=Z(ej@#CqLiVQNX`YWGbHQvDw18XsNy>5rOAEjgxOgg z>PnuX>MH=NJ>Am3DfhbcV-Yr*GWzNfZ3%Q3FwfTqThnVAij@NcM$=gpy# zK2c%w@v1bnj@H<8{tfIMdTx%@Kq1VnGvm>dQM$+H)BkN;V)M$ArKhP_c|#M69*OXCWA zdyXtt>~#Q&22L%jEdfo7Bpfw>Lv+IktUl2s{=mS+d=r*0+E|UgM1Guzriq;so9$Ql z?N8ST$=l&20HT_zxcL=W#)y6wv&W;i~CJ&-mjK zGvU;ujz2XT3o{X|;_Oj*Z2^Q(21S~HPWQ;iQ%bYt;oLW_qlrH5i}jZq?#H|%?LIf| zQzEhhv+1BiE8morvZuCv+0198wtfG;%^zGe6YV=rv82bUKPELq&+Z)9CuZfbNb_iXs0z$2H+%HskjrW1}X!61AmxonJxXTOqsJ< zD~c7SD^zVFjuL`9{nY6i-l3(Xr-xG~7R9K0XOE9*XqN2iEefBc2UX6doOG zpuD$zD~fAjBDxpsqA-1b_>k2+YfR=*RXuBYs3LnK1v(uMn=aOz@sr5>9@SP?ssw8{ zmBx3r5b`r$k%aS>%YH7u%%pwvlRLV7m?!UdB9rp_(Gn{R=x|laqVV~StL$cZK5k*! zjxBBuFy1+Ag}n|(*W0WKF?+~$@l55w`kI5VGlEA~{;su}aWag~*vDJ?$}FFO*K0J^ zx5S-pY`4waQnz{ju`<<;rF%+UXHZ+|ai@Na?6A2tF-!$$Te6=S`y+xO;)_L@rc1H$ z?HWO-0P3xylJd#h?CU=c z^o0pD8OUM7Tb~y!D1{lgmvDV&YIZ4vHJB+`tU$M&OIOE-n_@f}t)uZ^vB{%z zjv${x^13qr+Sc}W*`Lnt2X~h|LG$sA=A9jx+9o;nPO36)KpJB5H=TdFVjF=m7Ty`3 zza}7AnK|!x*eOYFvD_|Ws_D+3XBrZ^OQ!S8D$6~2yB&*caTGw2iCDho#Wu6soA`G5 z`8UuX{$cGKVZ#CaAX4J~`MAP66%)2R-1Yr_tx3?m$v|K#>ARCRWLSSxz-9|?8(-fb zSE$%;^=uZ1%}}Um|9flY0Q0*kQsGRQgCIT6z3F33^z6(`$AMe^Mt0Vx$@q;m*_vls zM)9W9n9=&n>E&zhDVx(WAav&OAga@R&|&+*@VN=G6d9VUwERK%P?=*kLe=m4ax%7L z4GfMLFVuX7XK{@yo9wJU8!5qcB=q?HhrC^zX?q+}C~O?8gIw{go_B2kvmFbIaXg|) z`2L}Z>=V4c=N*IfFF-e+Tq8?dBtXq z&=EoRFXgA@$GOCJhl3&e$}VcM_qrm2lkwXvaWG-i6oQkhf_%g#*s(hz(d|D0Y2C(c z^u|JR@xkD8;q}T{*dy+A;eAxlr@IfL7++KZ}#+d0K5aw__wzr_Pk9ezzEQn$es}=MUV|;M>MX77isL3kgZ{Hi2|; z6>8Yf#fr44_GHW?tW7m8h?C`4Wo~ve*jVfDNLJW(MM{hLwsgzUSpnjRAM~^q!XjVJ zY`2j&D;)rT&WUit9y1%!Wj=fZ|95J}-%n5jVEQkc7YCW-_0hF%{F6|(&qM;dJGrh1 zCV3lAcsS!#`j*cWx#zR^XZkBb6NZ*vB`QbVe1d+zq}X59ZZ)k2IQ}vgTm?eJ-UEbn z@!J@E^v~9W8wc1dG(@^!6P``|RA->OrGjl&&KsQ8fht?C$-y{-?|fH)2HJXJcaw@z zW9Zk>O=dWln8F z#XLwt26qUMgTNCZD%oc9Ls^zS8NyJ0fFE3iNxK)88&7#!?r8Oc8zf@)&E9UTS*}E; zJ@NUHEGQ7l)&kN!=clS_=mC=ZdJpR%g|*<1XIX2!2coyxwy=hmm&ZI$CztfG_;%{D zP+b-`AFhxE{XYBWph{qbB~|eei-rZ)*?1cNwo}2YHDZ886guSi@DV;z!Ix#eRkS1& z_#hmew?x>6ox?@tu}F(^;@jcQTDy|#Vdj|kMxUc^--vWjH5)FdW%daw)^ClaHXIOlG% z)^{Ie5IK!xkKImnnH*T?lT0Fpk|I)@d;?-TBjrp1k-5}hpRxJnh@6>%(~Hh=mqsLC zPQ^W;{y1g1)LjQnj9^e51B-rn#&ysEZb_jPA&sTq&DceM6$vT$fM&A^p#IcXt$9X$ zAHSd8UybWu+}~fVuRlj#;s0fqWYF(~%=-#!ssZ(+mmuIzoT;l*K=_gA_H1~uy-b{< z!2U()kS1KWIJrXX{*J?&ivhLZyr6i~^nE`w)LZ%Dx%x5Ua&yjrnJ!r~d4YP_+!UJ| z2a6)Z^92%BeH#dodgbHn<&dsf1^rg{7iqot?A1YMhdC1Sjf;=|@|c2**DE7p%cCb; zze9d>$#e($LU1#e@cZEUxx?QpZ0G$s+p*`J!#eAvS?_zP2JmwPDs(9ek#25n!9{R# z{d{|VeSYI$Sl9E}nQK`6b!PstaCM-YQWM<07im(X8(F8Q;{d74l}b-~>LZz0`uSTl zlJRUVmmoML#f~p?@WG$Q8?7Ju7od>qc(u6^anrL{Fp=OkO3eM?514u>uk|uZtPtg* z{1S2R&BGdZR_tg2xR+!#o4F*4LPV4p6m64Pe0Ds~{ZY*2;1W%FfuzE{%0>WBCdjnc zn3$dyeyc=uP^=c#ZrL`}&E?4ygiZtS_=?hOzem@E(e(ixD6x_lq6+hEB0606NQ||5 z&W!YIIk6R}B4TbmqXYWS`~4%-l3LqdnQx4m{wpG>iKZet;Q^HtHvK*~{j|cK9ao_- z$2Bii7fgyWK%Bg! z7hOO*0*spzx7bexM$IoiD7so4IZMf;2s(gh))Ev6EkGYD$cbea$pNNX5?E-}J|xWZ zu6&ANg(DOiuufTe&4=G$JY<8DrFXoAsN1jA^am$eYFE*1^HNB{T9;?W4GFhA7hYl* z%N>Lj$xrb?hVPh8uXiSL6+!(P`wQI7I46V!G^o3aN8pbP!;V3!oA;?ZHx8Ov%Wrh|dnLJpsx< zRz)5A02dlZo%@^0D_1XK!j7)SLA@S<&LBafH$GP_ULp7j|BuVl>)ZGD!{7R%+|}Rj zr`MP7k0oaT&FfSd^N!yRi{D!|p+T)iIV&N~I{C~q*1r9I>s4`}zOKHukRkM)-A@uB zFAh{*-Bxs~+u^4DAE~1taN1lLU55S!>7y|x?%sHDOKjziyLdB{h|(NJ@*(sAR`qlv?0!4>LH8<2hln>I zco`exz@(b>FL_dE0m8VKap~0(?FSR*a968!DTo5b0~(tLpL>|wM#DPV0wZ1!ih+D+*^wU7B0~n<#7Q?#|S069PSdhu^*4+f=40!>?iF4*$!LsCX>0Y5+T(mq8 zcwECP2ma#_p<3e-^NH8seESP4fd^{wFmgg2|V?&(M zWND5(2nu2m!$$aI-F=57d0YCCIm*7Vr>S*^=c7w6rCm`|c$8yico_cPFC7aom6}Gq zvE*ra(@dj`90GEpzZM1JbfA->lwmM2L%4|e_N&6yrsPEY=7hK))IfcrCm6={3X0BR z1XhNCoAf%wx_|TP+GnYZ2nj0~EQ=du!N3WLMY1c<=U*u;K+SUxFCgg6VMxCbbCIgo z?RtR9qyjaC*a>5Xv@$;LW3Xls0Ej}mzc0)73hEU*5p#=1AUKBTNaF3Anbv%F~}0MudqoLO_8&alKn9%?`R($D@z1~S-`wjV2&y9jvH3EyHc(d3qt+Ad@vb@05SyFkg`-KpDziB z*l7BEj_@fQQOn()AF4(D0e?b>`x?)kwYSYtEYFoJ{~&d18eal+g!3Z3jG!;HL|0%B zn-N8YC}nv#^becrh}4E)Dnm55Yb;4>4+N@o9SOgnLmi>HbUaYV+M%v4O6xOTv#FKNLYqTyDk1Njo(pn(%s;u5xl9xzp=LoPMO z_^)RtikpWsQ=~f+@X86~&UxfcZN}jOl379Zb;TybGE7NNVqeuIQ`ubfgDFDlSq(qP za`3sGBN9vk{R?MQXd5w}avs0ce1%-%&U>u#3EA7yR4WqR_m=Wp#vN>n;f<2n8zmfe!?~ zqicde9~maH*`hs!SJQjPH3er|itO>Z1UIi2neAV=aZx{q=-#j*bv0_rO?Tx6dXHq9igbL5_qW42_vgRKD}uJw+6{awvydA7&g%lhF*f4t)=AO_ zJ)#WGBguV~K{t0~(%BK*StSf?NsJ~;Iex^J4L{co3GmkhBf}rwD}|=C8fd(m`*$@o zl?a?Q2#Bp2=po2P^6hMOp>+RN0Z=I6P*Dm>X(rsK9=)G&BKTf(W(Kc|%|-Ac)SB93 zNU$lR;t6NBPsqBoxY96L8l-1Sf6?-wT?z#t;MI$LtP4!p720| zkDvsXE~(e-JcRqyq3g{bYfe zYvPuViVw#2|EA z+YM_t*5}XO!*K#qfo0B5o185A_c$TASbMrJj9wdOCFdC+SRAqdi+iBp`r3EVMLYKa zV!MTiMK8oOw?-ApL=M=PyewTpzbbS^@ogzzm*c`vv#@%4vHYdru)VEDcN?;KC$uJa z2<3qpCD1;}IOtC4v{-<@;8T#9PxoC})1O~S6-*O|!~cPjuEMZ-GBBH@rJsoi0G}{Q z4|R@pGtVh+05}{jj^FjYMY={m5Rnv==fjm(4RSX-EamEq)! zL{Sh4wsI z+Rn75#LLhc=d!hS@-fvo(654sw&LN5hwsq#zLA}*;0d^SpVa}8;={7V1aO8J^dnnV zOZ}Tzp8y-K zNf$4F?Kx;URoN)ud&*#y;otfmXOlZ9w5ia%F>W22x-L%OWiTxFMeQ^3_i)?wqe?i= zI_h?$?0q(SQJV6UPjZm`KH=TDzk+ky#?j~I*t%h?TW8tB0geQ)w zPl}5RSVh^cO+1rU8$$KX-Fsq~ajUR!EdLN|q8zIF({Q2K>;A0x-8_!1%Z;*~v9uAv z%;d4*r|2U83=^M71@X$Av#$)O&04aK6$au9hwd&y5IUqmoPQtA`KW;G`1K?SBra&Sqn69L`a5PIa%50+GbvCy!2!v~oq!V#hs~03T zgv-oDZJEp@rK{TYg1!A*f(Z5(U7W#*Ncom%ZQ4|k4o77dTn;MbfM5%oT?5BUh;T&% z_e7E@7`jM7j(UpvzNlPp`JTDw<5Cooiz|?PZ4q}nTdQGgW~L4Q)r#@&iaq6yjFI2q zgxjftp-Fn@E2tZoJ?0MJdu9j(rxFVI0(*%h0Mt&^SV8iY-OTg!0WOT@g4ZK# z$qMOk_z3GzKMg&Z!KnaY9aDG5kn!FOYQE?>6*Zzpzn=)IrpN-P^_$bs*(QdtG7~E#z=RHj zc%f6E<3$<4Y-C)-B?@&_0cY^*EXbU*(U;dzDk9u_m6;eFMJwO;y_Y{m(&?3 z2E3m>vr|EnIApmPR18FK1=i*wU3EaCRmsMJR0Akd^tcVHe{sW@Ugi862_&_Rc8|p5 zJr{g%m{|=Sbas5faPy(HnkwsxW&gx*GD%hQNY9Q{`f<(ZIJnbSZrPbFi@fBB{xFZd zUbR0N<6*;W2U;JXdPzc-6^!{65C+`Q7YzYoRpJG*j(LY-3z=ch3`X)LHQ;>zjr_eB z+%GRc7r}0@P`&I9P%Ieb)6_#fQeG`j&#LQZUDAbq{#S8anizQ=iGww*4%)T{e>@kE ztzwZ(KP@DA4YhmMa$`0eShQ;f=|6dnal`!J+^$qoM(}VR6j`H}&MATz)k!Gij%}R^27hQad+6A^rhe=#svE9|?OA zO`z=8+Ue|WxCIcy7C{6w$%#ye2B5>8p+PrxAoF=_S*h>zJoQX>cQGNO6DvQ58-0j} z_@xpqRzy`nPN$+QSS#e_1XEBzUd>tDpxM zS>N$?P+J9n!>qsi?01o%H2J$ObyU-CEb%s$R_!WI((X|Ey9A^B?ueiOS$+3Jkt8;` z=4}eM9OOpPhG?32DrtgM1B*n09zjlZ zr^yS8!i4gNuLwnhx(oK7mC@@`>mo?8`jKW`(gNEtPR~x!>a7G+!$1n){n}5yf;edf z(8)|csg8bd{^(q=FJ!sqk<;38-_I0Lj(#TOvKKf`aPycnNv-ds_R?86FgGO zuR;vZ(WIeWOUbLrG~T4)zqTzq=U?p73AeX!^F`cRY!)rAE>Z!~gtZ14j+v?&3ZA|5 zfclqy?Q1*G=mj`Vz-X=P^~2M5xaJG*@?+NFNnu$-5!23n*3P}Id0Cw$ayqK9XwKLS z0Z!px@G@;MU*6{+N6t1=9#4b~I#Xdr`wh-)r*LJHWK)XeJ(7t3W%_rL&(bj#x2>qZ z@T5U5l-CR=zGvP2xzircbnJTcZFgpR=0)>*2{#zh6*Et106rsdk$j7Y04~6UWA(>0mw^Dnd;eXFGza%hEgt8FrBWJTf-ynqgJ; zb$HA!X2TH&MN;Gv%Ff6y*$DuY%qIw82R=#kDz!#Lf|EN>H1cxy!fOs5Iij)JVvW*! zE0v)Roeawhdcj}>D~$eazU7dF$eY7u5d8Wpp}L@$%81_$0+-9jKVHJ6?gjK=Xjj^X!%cX$Afa)VR1(MyOq2zez>4~!?=2Ua>Dud*;`owIey)tS#4_p%&1C!_?B$~P)f;k?2e z;_`r*x=&M7;?@(nu0L}u_qguQ$jQ!Jn0J3wf%XSo@VMvfA+smcqw=5LY@X?3}8 z(=D#m%Yib$rgi+4g;Z3$!8e#4vvw`;N%#{qegn$U7zA1VH^Tfxw8+8f@M^x21tL46 zgL9tt&S- ztw(OeZ<7}@FC@kE_yByuEgw3J0AQ)3dq%yX-hwxwLs(%m6KgL5nh7A2!PHuJ+LhW2 zi>hww%p*U)usZitB{e|S0vwdR$snKNhE@j1;(c!3oFU~52*IH4rR$dfJ~jipGKOnb z+DmDmzxoTM=Cl!4nenDRiMCpPq$RA8z_pI*(9gfvX967v7lZUsN4}UsY$KK8iQI!EM*B>KHyKfexr(W>w+|SYJ6uqw`urcAl&|1HT}rh(gf>~kAcB3?{k{_VM*%q zfDoHT!SA{~a&wI$caBt?9)mNOyBVL-kv1!!+0#30-qr<+VXnr$eRFB^+a+95^{9Pi zXxWx09iJ`Y!MMplAS7{<^8b2^2;Oxr(Cq`ONB=lQpDDRP6qr4+4VV-uDrjW zjo1=&ow?SxACa}!mq)p9ug2|1^A#_ubX+{Xt$eTrEpmZ2;JY5JCrbS_4uv!&!8xA} z)a-OPN`tcC({2IFEF~X2HtK`N!FeYmp`pJAx=~Hqjt|%DF_k+jbz~QPx*tIq98v1} zxkin^x3KIttuD@#~hOeKj*XtqR}Ho_^k;Sixqn5BlUkE}_egJzwvl zSDp6XhN9o%(Y!}F1lLDbuRn;X5HghvE0R!|4~44XS(ocwYQ^Uga=#Mj1|kCKhg!>Kr&g($cI zkl6*Xm_+vA%dx`KV~`zcP}j*pIBY8WnL>eCR+Z_=_#dPgrd8DQ%`bd%1ycd&prr+E zqi4ONyZSk9+RY%!xzoyOC?k4WflrKmw3t|JRM=Uk2Cu&8l(6cL*f*>5v-SI~Q@VAl z^mC#_Sd{yAE@xHfW_5GrDGZ9f3_x`4Mik0j&fVC>Dm9h2#-Z!04jlvq?FjvMq$uD@ zpn=P8P=fqa?$bAr#}9Sa5tI8d1#l>?&8f0eIzE{Btbd*yqRtZL6hRh0EHJfoS3&A> zmQ7E|y4MmjluAX6$Xh%AoS<-%893;dftOv+-N=0BpYF>%xcR*#Fxw>ZgD3xbVfKw2 z3UH-CtfW$zyb$~vTH}rT6DWfj|E0oOS{y`Jh&Q|~oG|$b59$wsY9C2SObMCfh-pk> zu3u*6Ukvp`-T58j#y%0z%-uY0){Y`W`bI((`w-5ab0Nm_n5qfM!43~PBV6fuWu{gAILx9HKElYR#D%F?8axWNVcDDarZWHX(rLpLO`M`fnkA)3$F<WubZ;x1^v*LUqhCm$MWMTsHao%=(bIArK1xVjtNj|-rW4CL_aTH*_-_Wa6G1TUEF z%KLOYwVcDsUx|2(Tp^Xmo}`W zQ8LNKR`{QeuNG}FBO<|<8kMxNu~AQ(T- zFO_~Ahyh|eIEx1)poOr3XVGHV-brdg2vHM`mx9m)AQ$eiKn~6e47}A8S@R=7Vl$^l zqq9GOxlA7ga2#4DFv;k>v&?4kG;FZ8^br)uR)FE@WB58g;siofR6wSVTyc4)RUUZ+ zV<5K7#0AtZO1d%jJ{<$$P^Zt{|1fqATY^AY77g3BnPJR#);AGnjtvkwAH0#7cLbx1`lHE?WoD!p~v!Lp00V!7xZuB_J=iX6cZxt$(`pc!k< z(cNBQJHFvL&_hL)vZP%D!f=HwhJ7V{L&kxd6IkJ12AZi7MXmu^7O=ItBU>K(?_rC= zmXH>^EIw3`yJoSKJe}5nmY-Ru3 zEKCZgcrK$f!Cp#=ei#|HpqI?9DaLa+yiPi?rVtoX;l*Nnqf6!x4&Ck>f@!u{fw%$u zV62N7_R47j8T|JF@AaoHdgr1d+cud^>##!DU$}-iipLbp0) z!?jY*jM2jNc8%E18UFYx3W!Va!xzxpN_jm0;zEg)=O-Fy_|UNFYpfuJ^T*LP!%GH; zIiY#VVtOV)38iJqA@m9W_g9SPh1Sh=)l9;y4&pf>{ppmi-dDu`inu;?t}K`PK8RLO zbMHJy$w2u^)8*!l9@;-QDh%V8KF5Op7*!O|F*(oXQ^z&dGZ?g631#8gV}+Fl3T9$n zJJP|iLs2zVO{SZ0H}(gA(#Wsx|LMXi@=iNX)qNzn@G*1*&J&NmLJBIAVF~i#lCQX_ zE;od~u=0d>lZPjrUtpn^Rx_I14q63%MK!)h!i|yI%R4jUpm|%6lg+t1MRx9sajVdAU&fe-{@p&)C?wo<34rOHTN} zK1)T$5jS1x4+=lGSlH&ExF8iBoi5A}$fHFhTT4S93COnW!eDWozJ7gP4=$LEEsJ#R z+dnlGhbqW933v_+&HjA;Jb%22EP*MuJXdb4$!^|lpvRH&FVzbxE%Nq*wDx7JIO}h* zV;2$dL1kysbBS~rp*S_KOHr&1{zM|s4|S--(?VlgKu+l69f*Pb0_{Nl3^5GJyNW^H zb;mOcKlBVmL7knCG4L<=2e|ShXOe% z&zaK8&kOiQugHMA!ZrA3bxF(S9H~B^kMjV`BBJ1lSkMKrd-Poh4DV| z0(4vuaQHQZO6lP9kEnoi4);ygX6FE)f5a>YMYhv~%S z8oE$~8#RJ0>RFY^at)!=mib@pKyGczAmL@^=noMeZS4SaPwxT1Mm$8~FKUw;eu=fr zhI&aA1z|G$jR!=_<&G||N)l13eIS4;4se5G3bnyS8*Cp9GPzsP^_0dlgJOPDY-!EM zeuB%BI@|A9Nq{>L`<;L0QDiU}L-FzSH}@=JU2y_LD0970OVRNrI&U#OwwIWkyl>oK zXh*_m)ILa>q?PwLGy%D#hvXx+T{T~6Gw~K6WIMaYL3H>)QgF}ie(mz=E_$5{<{%!& zGeCuD%V5K^Cw+I3vGEZkJ&4d2jQQzs+V5|>{74%5EvZ87lH7NCQD2b&k^Vle_>_#Y z+X>P0OG{`QZMPWC)@2W4cJ|AP9QbC2By5}J7Ep&I;9i42J&%VkavvA+)5W#AsaMN+ zuQBwi~QtyPIB)Y)%aq>y!$Zw`cO3(d6={GI6WS-J#$lh3Ob8PTaD5 z2Z7Msjo3nOwXK7(fld!c;21msSI z)k?PfK*RRk51^OL8Sgr!Dqrl`p*p?`ykf~ffyzeZVsmyJ!w%?=vXViN7$u^A^x0ci zqDcB>L>9n*)0_`?mjYhUbq|C(R{^QvK%k!_(46{34%BxTRtT^Pv>Iyxjwb4O7+~d> z=V+XYQc(r7>Rz@$)Qqq*2WGv~4Li4`lmk<(AY~89!?#|P;;P=;HSFrMu!Kc-;f*?- zV-g5^;Yw*K6}OI}k+dg_7^^Fsn;V$pX1Sh^{G}sJZ7!T1~UEM(g9~xt$`m5re11 zy84!>8-{RP(HKUvgP#x_di%xZIy4Y!Mt6_3X3l1JWNS zK##ep6VgB+Er+~Y0@c9wZ7qLOmecK#wpai$-@jqo4ZvxF1&Z^0xn|q-3YM#P`L^L{ zlj(9Q_&4xADQ^vtx}oP|G8$ED5T}-AmB|sa=zBL7{tz%i%#1>L6#_Z~%159#eJ!t5 z{>OeAB?D6gHw_>(bA)E_J*UvN_w)4BFE6|A0H#lh2aqkt44;*6l?O#OpWd$GlS%%P zFk-_*K{TA4W*`GWMf@3Ns*iR|@vq7cz`{(H4FF_glR$#G1sYYAP(Q9tlq=Gr`2ES% zpqwS^P=$Kew6C{e7@}MS*|Q zUF7oWU1IFmi z1_Ht883`Ps?zZ_`s$9w8g7N$GSU*|_A~E$0$6VsJBAi`VntW8O2GkL|TozZjj|~f3 zb>b>l=dMJ`O>tz#bEBs@9`#gCbo)p`zSh{BdHL=-RagYn#;}K}DK`Rs&t?hV{w<%> zpJDva%uGB;;Ah08;cIx`n`Hs}LE5QjDcDoIC1q>N!8&W>H8XqbGgL=x&J~Jlwul{& z=%jqrT%0q2;^_9;IoNbi#r9VxqIuYxH)ADk9tSI@1Z%B$p*a<6DltJtZ%Aa~un`ZV zEJyJpF;uZD;1j$A2YFearTk$&Yf9JRVHYbn7?wncjUld?o3V1XlZJq2f>j-26b{f9 zzyXFn>Ah|pCz3zjL~5^KNzOc%k}M*yhz>D*HXNnmfj*3WC&ps~;0L(r>=g0ojX2)S z3Yw}gaXFQ%dwx*%3__IzeiC*JAyNilecS$|S2kWo0l;rZ-{yO0c(g2S$xqdiNW1e3 z==J{JCs6;OT;W61Y5KP!ZxmPb!r`NZXfivW9|0-sc-y+>9qeTLJz%z7v*|^Sq;4yy zI+TGA!@oN|g!U}!ZgKDoyFdmgLBU^*rE z0!JOWJmTt9I1x6y0&dRTce--Z1?-dxA}cEvZ0KyO9!-g^n(00J` zS$1XSZv9zqK!% z;9UTY+;~v$`o4<}9JgIrvDkb?^1zTgpx91ZpxfzG8u$s6pc9Yd7D#}AfTT>yF!6Vp z4#8+Yn}ib3EgAcqtC$-C4P)=#NOdb*vx+0+#@G@+dJ+GS*-o}P>{_%U0)a|o{Qtx z_CgcEloh3CxAKLQw%0^z!ABRkA1j>~OFBRACS~Jnp3+Orqf6t5psOnq=?STM z>q}O~jlxy61N=a4*5DuTW&AEr;7+K#yj|S9Ujx;tij&KIoTOVMyJmUc*|SRUuR!^b z3xqtw1j8z}Wu!swc`={OkaeOBtGhTPe zX~jxFgt85r#{>KFy&lqvB$xRCRmad)jlA&5)l?w}5`qVlZeqbWaPQ8>KU2j2wIo_7 zsns&xZ<5pmCYzaIcyI8S1^=vuKj<_~_VJGz?&My7`so?3ia^r8&Ah(g#R`AK@`aqf zs_$wjnb2dCu`a%6qAWB3qwEbu?Xx-`3lztn|8sE0iHuBk^Ve^rtiBSP*62= ztCy&PbA*L=F_0{lv&GKuHye0rn`E_2#Hb|pvQC#>0ryX?^T+yBC+8U2f@Dtt_Zfn1 zHr2Gk_NF=!7P_^=Ga<--?k!dSb|~$xCBGQMM0ywgJ6Ex(^N0TY``2t6Dz2f~JEUtP zBgrONLx5fk-zw+XdPFItKqRq48zw-=|J6_v)=@2r+^`!29{1{%Dy537ptc*FyXeMr zM|M{Dk zT-JJF$Du6j}oHQMl2 zf;F4qDgd{44t@!>zSR<-JrXG^A`N-c1RKRv9fbLSrI!JgR7&Hv%gL3ChQ>)nA}q#` zP?}8e<_hXHW*RxE!C$vvUK7vFfO?N5jaSTd~Jg<;uTIm0ZhO%@+O4Y8DVXaNPDp>)6A1ZB2%)Ev3uXn zgLQ@}A$gR^r|!#&o9@Fq)+k!tMbh1SaoY8nMl$kwl>>EqJCMVo2hU)8FWN3=H~Rl6 zfa{f@sqfi9WPKr*iE)Iz_sygtg<}%Oc=K=x4UX^6Y!*c0qLOpoO`(k%)6OnUtz7cLw#t!w=Z1L1&`5t4s4q(n8GZp2b|%bJiLo9oaeIYf zM%p`;!p7l3`{9pfHG+ntpdb*|b!nJV}jJ1F%S&s*qZe|GYGQeHh3 z{m09utjh#ch|I0}+-C!f9v-1RY6XR@SSQePbuqk@K_DZoUNP0Ey>RVclYrO<|9F>` zK*fM13rB==?)THEYhe_$%m|bNK2M++FnKq%3D8m2w&qr-i#oCciSw6+vaT0JQu*KP z1?TF74axymhuLfz7~Y>|Js|hsvF<13Dvwdc!!u|M9kHGh^Mm~*27Dp_F%Qq9%P>2j zqe$7wwX@7_Nw4@}R=!H40fwk;l@{Uq;}m8#>J99}p2m@fWu@Q@gleznYCoZ?>C$QT zra;>+^}btvg~|6Q=>%3RWWMI0&N1w0&g{3O^39<)Z}yTo6@}fqgp@SAl?ua?kEU6}4zJfV?+0nf z?aTeN78&?-HkeG^Q5(Fh^?`lob16XTiH$w-_!M|#rXf|RElMBEK{yC~r)hm5##OWg z(oS-QZri-xMjp8@Hi=eB#_iT%7Qws6SxG|*2aVW` z50iH>p*Wf$iNE#q2T#}032jR?WTQaOK-4jCsnVbdppl#>h0{TdopGjiUg_t`prJSc zWD<O2J^G6Yl+Wy__swjYxF~*}hxH3C7)bVzP zcXQ|RC>J<;9p&s^uTPPFJ-nXpGiq^}*^zg4DYB#$%QPOqW0iMFCT!$A!SyF9#dZ~9 zEQsjzH^}M=v$zo&)&i0GN_)KCm!@4EGijgVaE3F+v6y{&=5vO{B?Vslp1ly`3_~$q z0CWr-C(#+iOM(KRLm43&2ntl&@mfYAKG;yKA~;MqAH!2eVRLRZ(^sBqlNTlM@e&5&DB9TseUV81S3}Z`@r2 zC$$0~Bz3JE;4-R5xTklfc5q3NmoW&ceYtjQ&+yKz;#-&f->N;^n+E|c@8w8&i+ktV z<~1EU&vtOr?8ra8W{DI(w9c|AVIeN5P6Z>_v`T0x*4Ei{3ieQQNniBL3uwn zp1BT7uqeJZW-u>#kLn7s*{~=!k=RU1RX4~=V?IibZGVoZK!L}zBf95*@2te%WP1;Q zIZ_v=N>AsWk^LH`NJoFX_ciz9%WMy6h_4I_4`_f4Q4SAqfWh+s>08Nn@3>KhBUVnw z!*)LNmmQTp)lSA+9#10fdNB2KCRz8=$@Z0%OB#Zs0Kh%T=AWj$GLfnF{Y|lhKIBr8 z=j2EK+B8&b{i{8lCc{*6ziwaFjUGHinZsm;WzwnEzpQ-^Hey#%J+=a10$L0f*<<4? zYU(={)VyuCaV=iiN?f>$bWKETtR821G|!%gq$TjSo5^%#l7*7hA?(a}9n-^SiR+o4 z7B5QsG&n|B2ob(~Paw@;RDBkxsu7M3Xjo84eR&mc0|<6rT1IPVput`@$hcd~(;p)h zbv>XS4M|p4sTTj?=C8KBZE@-L~EQ_l^4w~5Ec;F~7>8TL4w{5PKqA{xF}Fhf&vK(e+U*D9*t(#^qD%lwA$4CB&=pS3UwsXGDrk=zi!!5$ZaMF6Rl8N02nrZMAz zgo=Ndi;xfW^K)tLui~2)^Yiq(zAIhi6XAYd{`!DM`bEL4NywUOx+bJ+C-@Sfjq6yG zJc{nqy07?v*Vb`A2d4CU$$g#R1T=ah}xU2S7b^}(MJI* zYBFL#*mJyuEB@l>b619Nfg}zpvH4PVt{6Wv<^GqP`6(>wOOdeQLi4LAL_L_6C2M7nruW|mJM4dp||R$v?)~$ z`DeC79ts!@f#g~BaLfdV8~q5l5}|YAk?7L9j#e7$| zl{7K>fn(7x@QV{YQGRP>`V=x2$ zrh0~c@CFRqFUeS*?If`0&uLq{2mD!cwYX?&R1XSW+SuyGso1e5s4HC7TU!p0ac z9Em{%SoK1L_Cui?d>4HnsIbAJXOCqHQM`QV2_D6h=(Tq!EAoWNq9uqhm5kPj<%|y_ z2aCJk?Z;vGKvEmPsM%7MVBH7DfS;ALBJ(0h%tldyzuC(A+_#l9nam6VDA$a@pmdlW zCQY-q?uaU`HeN4P2>68!ZD}ReX|OaF;G>+twGj^`M|T#kTF8@6)0&qW zi%LHKfuoKZ(pxO&fwQei zda-i@_Qi3pBMw5vp6_YJ0$Zs0b-^a@;H{na@l$$u`(`ERruSvVP4IM^b#%4i!FiTus@ zX?uG-zPnYb_mOMk9{BPtpk*_MUi;-!s@n_RyIand?zHwy=xbl4hi-IxeVoiIu!BUW zm#fo<|CtdR^JthQ=O_`GQe1aW`qlm)Y2yGP^PlxI<)>r9l(bDk^Y(Q;E#mVYHj#SV zUVWsm4AsN0eZ&j{0JfiFwohZ68gWq?@!`Xd4b~FMLps`ed1X4d~ zNCH^jm(%R)5nqEvTP!^xr3^fMnE|)>C38;5vse-G(BtXGj;GIxdsLS~-<7uA@!f>T z#Iegd2En}StQ?Zk>mn1*D^{2Kaap6&L>TZ*NQ4rT+s?vRtUJEj9o_7Itbpd<_Li4y zVMBU#^G4Gh*7~-t07rgvfXRjs5MfZ_WVuiWdygF8pAW`)%NBDlqmshQHw8!J93@)i zfTP5kHvq1#HY+;jAZEQF9vj*j^p`iKaTa4FJ9%%JK-TNupv>ZfpmP`8r z)*iG#>Lw4Ly?LsnN*bO%Bt2tnA5tbLBG%JRqSbpGdvv!P)Pr#TY%-@%;8gwC>I(na zI`la3CffMfOh2zsz)MGj!!8y?z=)~wT)5{XRpuJ4UGi>pBDy_C1Asa4nxXkw%wUCS z`U*aRR|(h{aP!{h1VGbq4LygcNwYpIQP=~U+xn(3k=sd&>>{W@aCo6^KnxbK*C{^f zYD_xWDD%_FhD=y*#;{4Pr1QJaIe30s7CU*9vG}C`4^(gzG2TVDB0Xg}x}cqYYWB?<*}|KCmwF3|);>D;igls1)tdmjHDT$|Ps@NPbO<>QBw0wdanOcv{_2oXJ({haSXPTWn#wZAi3;Q?)0M}>pv)I5ho)um%s&s@LezX)?@}s z>e^7<)e*xtTb&#w>PhLDBu$ef#z^f=o1-1tQ`KiI+3(H;nMCb?wR!Ie3H!NFL_00} z3Zq{($^l-K7w!@Q2qVM-Wk5~V`&h=HC98d*ePdo}F8W_OO^1T6AL1YU({FPraKwBf z7wB1-mkCggUS3Q#J9|rTWoosj_w(5If4i3fNdZ7I-^gsBlXobtL(S;)bEPNZA~La_ z_}V*I)q1I1di44`p{>QLI;Z*luZNa+`2;;RMD-Uy`NGv%E+yK;V{4=4;Qhqu!Z$eR z4WJHhcTh2aL(UMYJuAuW3d`+HeEvky0>%qk4wkhD`8~@YJ7I^!sSOW5%cnFrP?uSMQfw zd$s!bM480H>*X?y1D8UUI{l|cH@EhJK|Qzhv9jaI&0ysvX@dr$4Pob`_ljK+35T{8 zSjb!J;e|Q6I_BOX`7-^N=0esJ%Ob<+-&|40A4CdUsE_s59YIHboMP;}cQ43;*Yp@E zg&Kl+k=`GR3-vda?dMAvLj}zy1V95?oUpT4fpq2)sK8faDd`m~9nXqY>DkcZKD166 zehVA$Ee_W>n-~h0#x8hBx-j+>%XB zxxf|#zqSf4HS^jISq3|b;C~N8s3=^e*@1uFUvx$4@(kSvyD^{k26W?=0dyT)V2L8r z=*uTff$tbQ4=;mV{%RE#M2m~`Q%|d89s-s*OW92@$MSvl)LC-?wVN?FIvcqx5H>2QLM0i*3c%2|3S7Y}Tizw;HsXAYBRO*M;BJ>QQWmP+`0-M#&f-XiPR_ z@Z(FOP0~IcK0Fd3TDqMP(>FlNQ$g5O%x-=fwm?QH-Uk{<;i9c2tB9P{f?QzX1cS zly~sWG|JlQm9Q2!jIodB)<43%#!{HfP3`F{`t+P7884}pEy`^_BjZDDN2xbd=hcWc z>%{xH=IlEpXw+fvZTaDF42afUDYInwu@=ZHeSS7CUkj``Id{bu7ob|j{q{cAM0Kt=eOC~f|Hwf@=ZZ5nm~ zrF~l_**!zZ^H%Xw%+J+a?!Gg-zX0bFrV}Z13esZfU~Eq!aaKT)q|MMxU!k+*s`tX- zfK-c!1H>Ot<D3t<5ZIxLh~%InFzMD4j8_GLS$>Z7aW=j877+Tnqs=;CwL49Su{WTG)SV?6IlpulZWaK|3eMG!uM$@jlpu`?h3Wgc6X4W`leOh?;^k2 z~BeSU%@_yi`fC=0#oUeztJ zpHKkk(W`W1mO>cX!xPp2I>Fx^7o7FfBN+|b(VnCj zu0y~v8t#Y%uZ@R!c4=r6Ll}n_t^C72v1xS{wP1l~M>e`fXdx&K=C%m);SKCNc>%M0 zvZI+Hq?|==QS0B2u00#hV@wA09#caZ7lnNVeU)>ZFc3Vr!#B)XMZnAdDG4mMu^A#| zv90jpO9|5Kj|(r4d@iI~@zSqXO$*|Q=y2g_Wq7`V3(8HJIZpaFJWi3tZJV|({u9FNzSFrL z>V>7X2ShaZ*qjexUPHYsKL0f3H3Bhppjn|dr~rZY5W?Pm*1!Xuia41)Dm{#>@w9>w zR4Ud7aU<%~4#D-gB><(i&LK<}ipjc87%u5qgdDw_YM=l1qrxMl06t00J?iMa^8wG%7XFgj(8xv}BqgYr13 zm;OS=^kB3zez=i$2B8U4p40tA3`9)?=2@wvJdid+!U&6K#krl@csq;q<*ouiY27;r z7F7EYm=vA%lJMniq$*^GAm}noRgaau#KAJ~(iS##ZS(wDYIq-f*D_{_K61aCLk4K> zvrd)WoZ&>d=BfvfyJ`JK&n{koGQUIiZH@#}!#+X=GLnA`5B@t7s>=I1XhpBsz_0^5 z>hch6GTQ9{+3!E+WWbJXY?KE;$G_pOU=l||ac)xnf+JDpcR*d|jTTMs8a%;(M95_S z6od{FiL7w@*|j;`q+tmCbaRH-zq^Fqt16pyi7r7&Mb zv@(z$Mn#vC3bChG+uPe^;d#S!+QV(SNtzk~?(S$797es{dzT#5Wc;Xh^r4yzLXevt zX`pRu;2&o223AO^;*%s3y`Oh`Q>ket+(D73%-y_>!AsFZI|?m@)4DXU3x-vpz8VCS ztoSlxl9DneQ2`)A1qG#69K$7M^_nI+y>YW_g{DBC5PSz;4^>UJ+%$?$s@R(JL2^Ra1Eo}-%X3Wg9pM56&Z!>K zW(lL%4>0EV9pAY4cqR(helK6? zs$ibKAr72YSN1zJ(24_@-whnK+M|^G8g%dv%fd2Qi%}-luu5R=M*n&t&y23Vcx)C~ zVsp<6!yt}OB9VbwZd<`!NS)C~u#^Mzc&-?MZ=G^_I2<|nfHy`sDM~W~tf?J)0_5tBnUTjqwAB7`hEV@G;Nr{M}Lc_QQ zD{%sXCwTxuxO{-%MZ6pWRi%~-I7f(V`6rB9-_yb z!rg02Ba!0ZH5QyEYM}sor(%(q#K745i;Bref&=@oT66>YTnCVbd|Pfj(*99Si>cjF z9JsCu!tLju{zpy;3yem;<915xnB_MJV0xD<`@3QsuGm@(&S`a(*3IYKq#k3#q|LXh z4gxRi#wcSM<;VdJ{=^$#*EjJe1v6HqlKXlv0j zB@B)%h|4ME!*YPoUbL4)o(u^+z4wM-^^$15iMSU7>Li$H$(poj*XFxkfq*4-?bc$~ zw?s^@k?x27Dk~5omTnn$G5O=`xsW{U+%`YId~l><#YLtk%5qMesfMU^%I8qbO<)=N zJF?1G5KSigliTLm9!OCR2@;`S858YnhRMX4{)GuhX8J+lGG#RJ9S9DeErhi6`Ybf- z1OPu@%tuxES7y#@FjKw?7|km;+QXvfo@{|4XtL!L<$u5`ctLNuK|R+NIefw0U}tp# zZZzDkBk{ZT(YO4;H^hL`JR98O3t2bj4Ab${O{uVv5UkQR{JOF);u5Ci(V-MT&PLx3 z?e?7PaE?444`x=RUhB81e^cVGeg5)5f~zZo=HhmuvlphhJTsG3L>!vrR4n^YjJuNo zOFhoxwiTxK-9eH2+o>+10pyQ)k8lpd6qj#)b?j-pjql+kE1>=Za=<*wT34=;K%&&4 zAzRw`YuHb2(#~326^si8b0z{F4@*jKkT#pc!fvMw426RFTtU)#kU#+bXdhvzDCgV+ zED%I&=lQpn&l?B5F;on!%dCt-58+R(C?^-M(g#Su^(k+o;RS>ap2(UbJPxxog zD1Km8K+B{v0u}PiBQBQW>0ig;7zB7O#Fh{3je>jhFIYu|at@14% zF!$7){$#*(3H+LPEP9B4RZ={kZVZ+z<%yg5HqMXTN)H!r=g4N1>nM4xt?VrAjyA7R z+1j65t6!xQ-lhlKy<`O?m6ne8-uim)>=^uui#EBjtTR-Nm&wW7ON*HsU@Nj_cQ|F5 z6JZ^1XXkxl7O((DpoN7>Lj9ceq_>)YW*P|njUh`N@ji22WwW+l-tRCm_Ze5Y_~fAi zh=Bp{dnn*msXs8n!7Wt(z%4|f1;_Io$#|73Bosw8kQLfb0}poPEqIiI2<;9hYO$r0 z`7W8$SWe?`?fPS$3cJ2&`G_jEVoJ39^o2j0n%(gUcfa8O&Ew230bm3L1OUkY_y4~< zPIDDyPyj%T#XTjRI0dOedW6y4N6MJ%Vj3N_P+rIZiWN#nn980I>h=w%d`cNkR=)04 zf5&Ia(O;i;d)LP>5yUD_!0Iy`7Xh z;=1^fQU$V-6Bjk|W#cSNZaBB&&=ztqLTLFDQMjF7UF5~WIyx?*RNSpJ(C91D&ARW1SdcP;tR7_M_LEO67>bU|d zF4L2fYbPeW>RUQm(3~IIa)sR&W*-C+#G-e+A${Q!%paYXZ19D}Qm1LET+?K3AD=!- zqOd}z&0Re|Yco4HxqQQA7dJ^d!o&)z%d$x-HZ)XA<{UZ0MH}B*o3=VMbUf=jK1u}` zrO73jKdL7KT|Qf`jxO>%-F(&qG|!9pGWw~1fG}&s#f%&!R;^T8)ee#eS`I~+c zU9}Z<5M8#a{TBhJQ$&$9hK=ZLF35NEtyUNLC;E+zrgPAW*&K(>{R{00@%SEhW}lYE zwm}0^#z3}?Q(Ylvy2iE(5|xGNOz@L@8mPxmiYt72x(rut;Q?RRlP8kd0OToF3W33#r3 zGbC1`$z@CXd({FYn$Dogi8!Muk;nseoa~T}qEm&m^-~^qObp#G^T-64x5o=rr)9@= z7Z10o@N~94a+Sq|uCVv}xt8y{I-CcFiNK2TDN>Ks^`#IclmDM!q zL>^wAzBomJS&IBvu5+6ai&(*nl*^xwxAgtw@@lfDX@tdO5w}e6coFw^u;#mN5+ABB z>j!p<3LiM+nz?SWBwd=17GbP3(JJBUFT@-~ZNc@4&(dV#o6Bw`oLP}#rs|)_d%tuK zJ5QlRU&y@m!d_jmzuy>zOzx9G>K{)CF#gVPOVn3aliI2B1)1L7=&^sd11O z#UYAaJYCW?#6?ita0(%K{Mf#tmv5FhzQg$Ja*m4N<4s-u9h>TFw_XuqOlL@$_Tc1O zVol|q&=k>l;C|hKP9mw@!s&ZYd#N|}pGRGbHne|#pfZ7@>JgxMD`PXc^a@TDz+WG} zkNf{tV!Dt(*J8(%X$o9M)q$x6_pYwO>N>~0ByrGXj?f0_5~8KF5As2mIKVaM9)4Nr z2o3F-_qQVb01pfyWOm*Pa#_~FYIUoU;1Y(L(6MZ{@?bthZuOu!Ptp?Gtqb=p7)xeF zTpEbW3jhIDYAHmQJ7~g~CHAZyXeC7f;MNf)fq(jYd$A9(&TrTOC3fDJbuNJtdc9(O zWEkmDMO6hFE04%m3-D#$A>Kt*9-K2Kr^;FeyM{*CmP-!;nE8)3dP>PGa9<%{6i6RN z3w0PKMgTbhTlDu8#4aIb=R7|j_i=FZT`~*39VC^Q#4rue)_&FnP*S@+vV64*nDJ&+ zWbSxOOQ_SQ`a=4h{AEaw_LPw2*U`DB7wI$mLl9RGHnwWT9OfZj%e7tDD4Ue@T@4#Y z%v2yp#V$Cf5@Gmb6OlcGx+1WD@coerGtz{VhL6xAF&;qhL|a;&1#H>ZFJ9J`ZA2Jw zWK8Sx>M!YAe z@*B{!JH<;;f{?%?=$zkIn}#B^Xe%m$G~Nu{7ir_i7A0>gil-o*=z|p-1@UV>j`{&C zgG>UV&*+EkMk0O$hNU#)Adhfxc?se^O+TI}fzPfCTuwvMwxP1so*0Eg)+BC#G?RDUab^d%Sd3 z{R@;c$fjOBPpr3xCIq?u15@1P@Q4er8AMi8OJ6-9}2Hms0g&Ot0l_KYQcv zj-sAOb8PY`@!4elhv1O6PJYYyns#EA+j6Kl-U2?m2am>umOZAz%WaSH zurtKhdepzy*6bV%IhFX`?N?+@VUJ)zJ}38hRj|oZ93G}=$2Nge_#t{NwhcJ)pw&c$ zL`GnMi7rw}i-%=`RwN5ee*KA-d(ZaBcI$SpJi}FoCq1hzYSx=tOD(I)4vsiHfhj!X zJcCQW@o@ic@6OfqS*e}6_|2b|WAdvbdhdLf#5!rYfXdCd;f;rQlw%zPVpn!D!2@Y<1`T4y z&ovjzvg7d+>}I+H0eJ!HP_;Z^WZ`=XGm72HS9ILWVrwiCyApu} z2m)T$eCFGXo&>c(d-T&y$?`3?2ou)!kb1?B+^KmV>ZU{wtfYXi%&4z! zwQxVoni%`zMBlCGgB^Jz0JE}|U`_$S`SvGlun}|UBDEDNq{tLnePpZ35r1au)A>0f zr&QUUn1jjaA3L?k&CJqi=5~-*2g+4PC!;PB(G(~!QWFcJ?4j^;KNu5WP+4o5Wv?8M zzlYe6ppKiuq_Iuh==&ySk?#1g3Q_R)vfx%PIStz7FQCyHC(in3@!fqIhJ4OCFo34dQqv5ris!%Zt z)`1FaQgR>mG0g&q3IZy2g{YeeKv#!Bm1(x0QI;Lck)M&;M|VJC;zFnO0nV z!Cuxu>c+u4H{)r38ggqWg0X#8fSZnt~QUV9zH-h?8;iV^-4JWPXzb z0;}Q;uYz8U-y=deY(GZIqR)a_aZN%KYzn*fO+I=GU+{)?nFxweW%k(P9B~Ro%|f)M ze{@Zromp6o9(skUsewj1C9=;pay5#X$~F{m1Ahm3aE5lg>uBzYs4@VPxujwUMD_h` zDuQ7l>qvKeeCV&~V6Cb=VLs@YP<(N-R6iCJSFd2tK_xwpojYx^J)xfxCDufg4=9*2 zBdO*)JRghJW5YwZkRJsHCTw~uZX1^@?UGI~_A4Hlia6yQuSKTZ+=q)Hv%+pYv#AAy z5?S7q$a=LU@_dYbSKaSTmtnbHt7WW9<7~>|F zz{emFk1O=Fh-D3kG7XidD-dk}9h;;EBTUyD#33iGQ@*)^P!U;c;5+m+z*(gq$@+Uv zz4{d20>AAdCX-IU~XD9TE@xVt&1)WHQH2}V51Our+M&^^#Vq_@D4 z9X;X1IbbB;mka8L_8N@x!OqFe&LObycz<;^1XnHmn1KnSPr3u58;sl+0)bbx^S$=- z{?!nuhENl>3;~7?fd{-ZP(4wuN%-MlmIrD0&!ssGV>}mniPnJbzDl%rdSo%|<`Y_( zuDm)Ftu+d^&Y!C3x7pLiD!Z$)ZoA>==KdV?FJT*dt(Lh@cGA)#XVXVCR`u zp>z+0sT>M~MH1G$xgD(G{z*@7u*8n`Ro|SA5DRtw!y2AlxlOb}bIf3Hi5aV^G=kApjB0h2`I~uCtuCgp zfg_~UB*kkB?YvdP{{Ub>pTAvej7+UcLx6z(l8*hGRip$0*-&DXP^cDHWQ zChDi#_68&!&qlbF`qrbD+{E(~7}~=1D%`NTx}7Z60u2(RnYC=H%|*QVX#tf+qTN|q zic-sT?r1XI31**R=#y@{bAIu~dJ#zdbntaS^`m#cRB9Jxvbgt_^iJ0yGCRU09Af z_D!$a&TpUG6v7>JOwe_HE*18Z0$2w5$D+>21r1Y&$W zLm`vyMl_YNJeURq8l4gU@?@D%oZ9xqsV=q>Ye{Hd&e^>DLCni19lk!~g<(6VbfB($ zlYv6W)?x!{wGXja6kt7g1OO<5V z_o!gdwRRp)uFVIW6fT7YC@t%0^BIq{`8pLphe4VfITwE2!nxZP5n93Ss6i*z!ph$P zOK7*h{^yYY*<`l_EyHp5FBf+I;St^ceVhL=-B<1<#2~j$$6*etG;W_@-EcM<1v|;0 za*Q~f)4{uU=b!Af2y`&4t3{Qr+AT2_ZW}`jHbc4iE{S1`13H3(Bp!&$SbG_wbi_Ku zA>pWsFM_Uz{wcF4<1cp+&SX=Ew+qoGF=&I;d|il7mfL+4(d=F|qs{2HavG1^aXgXZ zCuqNM))eE$694D26htB?V@o@jU}9%$DJ+Tq&D{suA>a>A&HE9E>Ce3To4SSe^v#SlO`1c0FC(=mRd zE)ZKbUzb~Hj$2o{BA&*8{V2IefZ>y4{W%FfCsXl;&qb+**TNqySb_ zNu!ez3+)>+7#=GUog}pc@VFTrMfLSfCa+DB!>+G)y%im&n zy?jY(tyS@uveZot0U~rjvn63lEVsZ%-g(dS%k3{=1?y76QMdqWpGP*hrFT6pmDJbO75c*$cgdr&bJ;oHux?2x(?UJHZMBwVtpmE7 zd>JZ=Y6d&? zm&?49A2hFN!}m5sv!(rNRcz1o&Zb$APli<*`>dTDk`X2q5nZW9-bE?Q>?C!Jrr^ahR@p%s$GC?Mft zlSw=(?}2J>p(BDChD4`n-{+k{lN@#>qxV(7dkSF+kv0qnAF$6pxu0;f$JuC`^hIEIQ z<#2bS53GtszR#{03Xm zTXZHG1~v8B4-fc;>xOQ#)5#$1L)}8WS<5_~vLovj`hHOz!cmm^XA_|3_}=c}{J^OF;U)A;Iwx5nqG|s=fw`<%W1eg+M<^s#C9J`$bYN2 zIx6qrM^o^}<0{m9%ja>FlpzHvrtuvfcOi5H{w_ZEy&UE}aWqgBzCyXbF8jh_QMZ@p=ba7m6E}G79FtW~KNiQ` zV-0+P#z7)-d1doGk2TZ-)ZpbQJ>fA981&q2U>_sm{L->uH#mNx8u;o^7z$|Abq^_n zqvYQIZx|;W<&i_r@SX7wR4EP*FtPV-9}a1B5T;Nr$FKAotJwSFPL@UEcmhX%l%X4W zAKznk8`0=y@eR{ScB+dK%H7nkRq^X}ovVfW(vP(J(J3MzwKW4Gpr|l;&KJcFLHX?1K>y8pgz^YloylbSF3?X ze^Eg>i&hQUr>0;Z;8-#mO8BziyQ=K7=%F8F%{G^uF`S1a9C;bDplX9Mkabx!`z=eEW7rgc_P` zM5m`TEQxL2JfXia;Cb^wS?28g^t2h6k=NG^RMAmG0$%acnG}e(eG(AOv>eLIBeSUd zDQ~bNyK*%2^Tb5LO{ODc85N4;a7OCSjX6wp<>G!szt<9E+5Jxq0qTZrUA>T!&?~&~ z>Y1UL(J@i4H=+Eg$0RspGQ$n2vd^^SExN^XEJ6Er#>oe4myv^l7AwN=9aYGIj@$=t zHDwHX-l8Sp$A8bV5S2NiO#9gt!f7@aQnSuPW{}+(6dxz!F??=Vf(K`1BOrep zAPfIbk_|cb$XdhU>-tX9;EIi75>1jjeI!zRX>o_I?$i({5`)q}4mr5WKW#Tl^CMTi{w#{kd`-c_>YaGWeR9o)ky&=zyGpN6(c(% zJs-N#vSkt$kf%g%KyY9eISDIMk-dPcQD2l>AJ3b#mvHAnV~oe2@j2!Nk{aHNFHP^& z#ZKVLw-7tto&V$PvUOM=Tqrbr3f1G{I+6!p>TTwDW;D6G&PsWUC33uxZ;<3fL6Eqe zhh-Pl;WGJ!<`D`oC~8RCMWV~y4QQc`=1z&M(=RK#9F2iirm$>sp=UXU>zOCn;br#{ zy3AewNOHU=vYw^-4uJN4#qh)`(S9mbw^VbJI<*2v=kls$RfTDS4+ZlXiTW}ZC&UP1 zxIk_L1tnn;<{3nWw$LP(M)Ne*uNDY(W)lu=GT?`rir7{nXl;v8VQQZIr3Iq7_?OWs zZqjW-BudgVgC+oTnIm0Z1lAt1X$IYi-GRsfy$)-7&e^{n?FAYUuaGoHr`?Np_UL|t z6joe6V8WV%WpH*H_G~q2d(;VXTSu~}*lR9k`E|nXvGgQ*!TliPk3kZ3LK(g44JED4 z)#aIU%ynC;AD)=;T&x4*2*ErJt#UZES9u1t}TWP+___?lq(}`tc|f^*(LxM0+7( z`TI;a?WX$va%&LH(1n%+*3+PFP()OCq3k=)#k_NN4*d9G1@RDSoxgvt`g(xe$QFeR z(Z52imCewI!@|%?oo?1Jr&Dp_eY%(+pN}b?aPs)~2;3tuZc zzC9nYA=K!50LsJ^T}#DWS`(7Ob+@@$<3;8Z27{sd{@M*Okk7%_$`@tm{~k7_?~d!a z@EwKy93>Qo-Y7hkyT*sfrFT#4IT_ZDyA^%#9xln-^Si{FAF~Cv)<>B+gLcZ~D27xL zL8G;1K>Ze3W>M>?+Geq5y}#x@!>JcFj!jFD#zyRu9b;3J_yBRdlKm}uD7;o@~1E3ZFLYnm%+918IrPaLYqCbT6npc2Ba-{2e zhb;JBL+`?MPw+W}TKHMUQCV=&nSX`4q?dlIqJj7!={?e==_bRLgn7A!cGAAS5>nk& zhRr5}AzHBOK9to1^RMN`Ba3!U?q$WvkAHsC%K<~pieUk4ixQ9CC-ujrm6MsE&#ch$wPCxjyq?v15ki`d>}y4@jatJp)|`w z;y27%u7Q`K>?9Xz1qQk8Q|u#DRnlx$=y<*sAEy;7y+eSAuY9P9AA8kZ2l;5Auj1DD zmZ%+#$JKkfF<;buIK=y@wXuDSA{R+e+DN~mF|TK(r7=DAihC3zFYbM6JeL}n0s<#Z zPnqS+j_uXg!b{-J!CQPa!hOh1FqCyqTb+Z@n?t5G!&r}%i6Lla0|{40Rs6Z}xBbc@ zYO03Ipom^cWQ$3p5Gohh;FDf(U%rKpVvJWYo>43Bwq0iW>{WF24j-K1^WMvM2e9U9 za)oiG`Gw6Yg+i`bung)uCpGpUKbM^NM+FT+0x(o>a0X07bY5kX6l>6^~8HQ@ccnHj< zb;sqNk?}GnLQvjC^DHcVjITn+2uFGsbG-Wj^g%2NVn;$#dEkm}@M8>ux?=6rChkwo z%`u}M;*zEZ=$k^vm!k$~9CIlN)aVqsge(LwvY7~;ZJfw5$G*1*29|=6!HqSX6ugk`n@bm7bHnnqH!Aeyv818Hw* z&Sb`BE>nZUa^m=Vt7a>l0~in$AphfnNMSvp5nmF=D;5x`!Y1CKK{5{XpefR0&v^A% z0wR(qAdSY>m&F3Qps9E@Zj<}DKQSqF+f^`k3G3j42zxn-1?k``XYRA5J{1yi396Cb z3^XxzX~tyzM#;1k?STUFE8;*w*fuz#|HLYgwQ<~nQ&IK8LOGEFgeEB4*Gv4?*AQeq zs{9mDkD{cOXckc`prMBx>{3!J%84T5iJ=a%GUxaqF9MC?alD~*ZmT$`gjr%rF@BCZ zqt@KNEp?Shwr2Au&tsp9c1;oB2iEhjlzLp>(WGrbon5JexaVG|E%2{GXd)+f57llF zl4DFDxl>^B$Rv*^1CMIKR}kq=PrI|p*r%jShtv}44;!Bwf0Cy2hvr$CPd0P_>ekka>Oj+-sUG1&tPL3FC?vrxy$?0}Sm^tCW zLj$$yl2f1<=wA6R@?f<5gZ(`hcc`ns zTZHOyuaQlk??@N|Wu4orG0HuX;+M$#mLFQ}J&LWY8YKPg z8R1A^#$i|}PaRN8${@zXl7czk#nWkG!B}{fjAw@UHYKtMA2qq+k4qu5N6JU}E=5Lk zlPlkv>K>Rsw0tjrD63D6Ah?*6R_n2C(dROC_3&e8Hj41!{C~fSezL4q_z0V$IrUHp zur+*_t=mu2*`RWlt=W%avA$Wa>VBv$N1crv7UwQU>$vk{`LpkJQ3(v^Mg*|iONDy= z__!_o=BZwF$B@lNi_c1!Ihr7f*A0Elee`|l|E$-B$Xz`&1s9tx!gILM>ELTO?)7VP zqoTJ3fKPs=L^x+ADl&a_$)q@m4$@FS2Z}ZgNWr5^q;T~VKxaQ|`03AncRvr_9?}~m zAu115%7s+qCpo#>a;noRU}TGZayz1o}_7AN_^ZPYoX;N5?N4X z=y~qHtyFGM&Cdb}5VnJa5wiYEFRFqG_>EWlBS}Ds+$Ws~;szm_tRoOLTBnV9>D+_( zK!_7TYwahTs?ljDOT5;~Y~V zaO!Q2orN(mB4RUdAz1R{dWPpj1Ep%{PlaTote`xgLK8m{S*Ws{kLtJ^%!&m_;v)O1c_wG`SozUY}TG+B4UXmOb*@YxDq;RD;HtQX@9$4CpoXJryiSs&u5svWo9V3q)A50R{zGv!jwc* zKnW%&gqBI6V$sFDY%X!@P_N*GoTeY78Pn>?sSiVEkjx9u)xjsK1rQhvtH%Zqem0EA zGcE5G1+p;XM=13CC!kS4gn^P#L+!9Po_^0ET;QiSt|aK#uJbBf<^|q4J^H0t$Fo+0 zh&{MG#4}9Mo%P8vNeDAxh=qy;@Xa_bZao0EF*sm<#^C}Pq+wf@6MdlCIu)2&0{29) z{(O4SHo>f)3|T+_p>gk=q@!|vEnY`WtD-4pWCC*Y`Cus?7G@b9%8_KY5scmtGNZ(L zKIirEw8gGeiKgu(H_~Slch@AR5rZH|qE@B2F_W{S6ZwyB%zH!T28~Al2IQ2rrj-Zq zaU~Z$pJZrmA0js3pUuzP6slG6Sc@mGnYMB7FJDFG!MTH>oAJWDNoG~EgY?#H}cW65s zV+QBDn}n!-Y-rKhc?ZsnjZrtmT*S%>O8(nn%#%q*?s9cT2OQN#aZ~~OJrQ!ziL&m9 z?2KsK^K|kis&2t=tr_F7DWW$PbhER)kCz88$yMt8LA!%L@rlI>J5kj+I#Rk~457CY zdQ+TUwL2)JAgGqZ$zvTJmPl8hB$pSCgpW3GBTf%~<=C-7m!7Yy^6?O_;=_Y8+`ok_ zYn2_$#qff%OH&=%Hs68qv3kx|i55foNbmdO@HjMnkS7pY4O!tJ79&ymd_oj7eknE{?}f)fqN<5^XppES@UN`AE39|5ann}M_>`xOb^m&V1K4BSZSbFm zU2Yb8UE)7QQgTQ&?Rdi_`l6%u7O$-F(yXgg@xw7&Va(bn_|Xi1(tbk0^$v9OlW)pi zS>(_2lV}q-`G%p;8xalV!T`8ON0DZbA)R49;T{FfM7moc&ZM3M0*^H;VqXlogbOG{za z5cz2szmg>rWL|QDBc=g0OjWkJ!&La;!vP9({Py8z{BwWRKKw8_kxG0V-vlm)5;*Xd zWYQ-A=Nee{M$`kXNy4;GN1$RB@z8JwF~WHxfBbmSxy0})mWMUXQ?%+DFe{;v-fe~# zd*7(^whFqJleLBd4t4D&@Ejcd>0z?3~F$hZ*LHq7?Uhd8yN3JE#~6#2#RWq zJ5U!_GFPIUoC?_i&z@zr)5%iUz&><+!W&i;s^Q4=;yh22++2O7#dUvf55CTtY95gU zx}eZ9!X9f3^$f<8-v#RU863_MPNOoIO-Gb9!I%v|es9A973o|FU3C9phO53Z3jG~$9#p&O-_{sJ6+G1Fs;nrua%3gW-Y%!i816i} zf!bIwO#N|Xvex=9rfFv_bw=%l(38&U)472ICkYu&LS|s?FJKckK#^2?z88Sm<|^{5qZ41p7`2`0BW^b#L+!PxcL4qv;u{=O zK{P~!&69u5(j4Q~8-u-~ZulUiT z;RvcXr=c&K22agnPcOjfGWjAHsg`qxq>#}h@NH(wMf!_P7L=Cx=h^%VhRSj2s)zWf9;AN^8Z{JeQ}*1OiGi6e9pL0@R<#>EHynd}sGR1;{hB@xZW{ zxc={Of=DO4$+MEl;{bmV*2v${dIWUq=kD91gEkPGX#4AM=$`XaJZqLGJsvd?~9cz4Yo}xG<_#xq!kF*&rcDM9stBFHr zZB+-O6f2_hM!S7LgRtCeV=J2RRG<55i>RImXyV~xJP)540i5FI#e)H$BJS3;^IM?2 zim>naRvBkPaRxEkCI&#WVHJr;D=V8K!Ya7ET)TQ=v5m0?-w?ssw(rA2udqIDqKO$S z=`!}cd&9cK0TGcj?b{rj%PTl&=UOPjlR1;i4o|lB>7nqPNA!NUuy;Z3&}w<5n8i}7 zW#wcW+ht%OBo{8yhEUU(c{aj7Zo1R4@0ObH%({H@-H%r?w6wlVxpb>$jf}?*^!l2r; zEGi8pOE3M0lWlN7ND606X`RE!=uH%JFflPD*bvc$sI)}aTf}~3Lvin$_SOTHhUX}qto9M9^^+4Ctg4M9 z?8W7-hS0Bs{CxxfB`>yMsmdHXeFrkfTS|qbUwu$cuvvG8jl{|fV za~}P3mI7_yD{Bz7k5RDY%pNPIW|zWe?|$G51>WEt0_w%(*$0sHI&GZeU;HqQqyj9= zTVQiYSs448mZo=0QX*oNnv{q}tI}y1h$`TCHsmfaDB3+_l1MP@Z%av*=Vf?QRt7l$ zF7q1=Wuy9{yd=W+ar@-F(|(}qcIV*mI8VlLI>7-sihFTG!T2ZSVbsI#Ao2*~2kG;k{7moiv@8>IvOIZE zLB4_oDjCXSkb$dz2R01Tub2l8D5zp%Hl-U~wmXHk1~UwUso!+z^at*~*(2_m)lH>* z?zr*U$d zQBgW&L=*z*FLS-n%PhX^FGtsJA)=WPRv${+$it~ZleW=(@bDBgS2mTz9^qPyrI`Ds zilPBUV~b8z96M&Qf58lDQjR}7pQXvh&G})bvqn+6Yp2>F6$&bm{w-Wfjzb3olyq`y zLL!F=nw-fA$1q8y{VYw^EKmy)GZ=T1jHek8f)se;Y%(RsCT49aS3@F!-I0z-HtdRp zi8ws8mZU?({Pw*sB-A!IJ<(cIRaop~pr| zwl2AV5%o?BX`fQjo3o8J9{K^i>)_q_*~zcJn*uWR2ay$qIfpX%`&wgX z-J)M}o$8|4_@QQlwMqFStpG$9n66t#HAz_oseH70Ev8;|V#qXUaRvvSxI8)b&pn4! z>|-?N3_vSh@2}JWUa7uN`p}}g=J2MOfU^#uF*ak{3B5ifO@6_1r@GF_C{h;x6P#Y` zYc3A@;jUhxZwR8#+k3xhp#`)Nc+QEaY8JHlcN(&S_XuxEH@DcyMAP+jb7xZ^ z{DsZr@~XMUEg*PWyt=Z&4so^9wD3-ws^1{31DTvZIg@j2P0lL|EY8%ylYB*2YEC|0 zV!2BId;1V#!O0SoqE%IBsIyGitud%wN0?SBGh37-szUyJx*4QQTt+Y*A@-$>V|z(j zBdz$4^vgUQd{t@^47a)SW#6w-vlvA`s6BvnIFy@6nansFBnV>~V#5n>0EIpQ{kD(2^g6FX$W+>H_HjPU(Ek96}bR7I_uyi!0-0wyVft2IXw#>w98l( zB%=kqQe21#8T+1|bd<~KBM2LffJA}V!6xtnJ{)h;n62?UoBR@&oJ+MQqeBUQKF$O^ zp3d;%9FEsRPrf-iN_D!M?$i)fw`^)5EnoChd8Mr3op0MeU)Hzz$&P7uMrdPo+tmVO z(}OkaG|g3_7wG~05~M+6X8DZ3u$Iy&_|?&t`U#sxyS2+dSv2dPWYSBv3p=HMhqtlD zUBKG|T2Yl)c4XhV8=o462cv>#t1E_8?c2Z_bh-6^&s3K%%fZ*pU5{NphEJLinFdtx zcL@{xK`hYU3r)36boK>O_okPHwO`z(h(fzOVjF+4lDRJYqW+z&&}EZKsYptI`X_>H zlIQ5Rg$f%9suppyg|drP!tf4n4{L1u?p`w)*F`_E#6ZYww)3{-HgQ zso4gP(%i2Ar*{t=AD`!E)9-+ev2B?Ag?`GVS`D2-9#&Eo+8}r6cZ|L{<0QXElMCN+ zPU2~C1DN=y?WpnLFiO6rpdSMF?kAWG7qpexl*~96hrVeF%|{cy1Ai6mh+&Gd|3VoC zYH)$ps47}D2$LA7h@8&BE#V@*F^vk6%O;a}^~E((Cy9E6Hqzx!K*o1!kuYiPp)+6dn@@fUcm!KC3R zvYp)eT^v%p>FG2p($c0UR%s76ozWAw2N%4B5mkzG;OCB3~(s^n|Z2gz!{k+=zf>e>9Hs5vjzN;fiTa;vFJ z0$keHrbGU5K8-jQ0F$?PBg%X5|Ng!_DZNN?nC2MQS#D1A41KNHj7`gst2ckAY1N^z z&gR{?Iy*V~*gE-@tjEwRc8c-<-twNe;fS4|wX73e0VJS*6Y09vN{Kw)GJWXV*9OZXuZehpU6jcX|PMM@I2Jr|5VLuqE%it)=bpcs$$(U%v?! zhlv80u974)G)-os!4_=sR)$e>cZ|mX2m<0F=qQ8p1JoP->Q(LBMZ$d|OL)IMy zf!f9)=Y5QV$>!?_*IM^ZCNjb2aIKaOv=(p3V>kNk`T5D-(;zN)$0!ol$9FI`Aa%#- zUB9Ct$YBLJsBjSccDzToFZX%F0WeVf&CC6*LYsep+ZwOtnO;`{lQ7Q zwa;HUdNlqW0$IM)pXjr8$3W^wLgCQ(nL9ufkA;Lhh_>%p4IFBqQ14zX4MNRmAspUc zwmO%;@}X|erXW2Pg(A3QpaqozZ|IOYEpS~I(nOa<FEW9)n~U&qn25 zkOW*;vCnqg!S)C_U+k>9H>H+$Ryc>xD;vqy^;Q%QOA3WV9-vKMyfaK+-QO!YKXDc|hz;v>ah(P8v>;jT1Y+Vlht>^$3mN+O>d6jq{zpl3mrI8_36s z-PS2&E*os}3;;$FlNp!zn7sn7-WN$EMc&gekQp>~Aqfl;Wuxb=VHdoYk=<}3J~e~V(ixZ<7^(<^^h+?QgC7=jZSxfnZ^ zv_x{>DsmJB!*F-4w6fU9lcvPaQ)z^mULUQSP%WDZiqMIFdw2>9V|wQWXMxoK*`PUn z&SM}Qu3s8b-B@9;Aa_3P0an5LIaU#17s!(488cnI_IUC=x12tg^leG7fL?V0lWdag zabG}yO%DU^K~LjqdY#7uggwd%f6fPgmbp9tik<>RPe8%ZZD>#pir)8vB3Nes(fia_ zlk3am_)R-OLQk%*Cuh2y=II`pMaXHKy8BGxx8KBAGX*Y^e|WH0)c(-VkUl4}}; zP%Y=|zs!?auo{$#gV9aQV9X8jCNQ6oJ*ULj7JG(xNWfO9K%s@P!hZCvI%7D`IAarI z4nfw>cJbk=OdGRE^PK;;VJ{JyFn?KqpJA3(P*fJ+=ant|sXQJ}6ryCrgqVPBZjzZ? zvOs*7Va3>1EMU4v?UT-)`t_luf1P;0K7h!y;9X~~QZ)djP!E@-tgl`#RkKu>9G3V5 zor1MD7o=vg!i^^>sP~gbke*~14gQ*=m)y}yjwDa}5xsAwx6C9tg-J=wb;>TRVk2jl z6E7e(1t!52)_>^hpbN&{97nIhhauPlCnrBT>%ijNgANsx&9v{=wC^u$@80pDc_+xf1l<3#82Iv zM@TjjdIX4jA-BUifJZ}3o3t1@DYgieA$|?Ww{i`)CRe-f)i!#PqAK-CbL>&5pJbpk z_%_vJhf_I;C+3W9@?Szo&>)CE>8>Wgx&RqCD??7ldqnK@CMUbz(`DvB+=+GY#WF)&5cMG^s%6UfhwCg3M*7*yuVs)sSdLYBK^n_cb1OW z?p%f=0%5@siT&_c{AXnpJ;Vx~wMA)Wp@VK8FEYt2hZJK)GcbJ*XE7gO5zPEw{6fWK z^D{(Ta044FD(z59-z?yaK^BOcYAOK&T2mP*C5k`%H?6lx2&8pJ8PsEPt^fL@IoVn3 z(_Zks?SF5F-_QK-XW{n?|NF)N1*_!rkl)P`O{mlj`g10ErXJ#ok+4NujDZULh0M(2 zn*N(*B0ZH24k!%P@k|^p0UD1kY764O=fgtn(ESu9^0>({{w~Kd#4hai8TRj<)LU0W z8Fh#4Kj)-n(_6(Z>VH5#az(DFsI#q-5Do3yRKet)qgY75k=| zmp3goSdnNH#91h2!(rM_eDo!?nJ%+}+Zvg3_0EPXd$%()G@FpE!S-FhA>S*O*KNqz zdB-N)t6Q#lBr!x$q>w8acExg!pq22bcMPOQXG%5RrzlYDFQB0(O!6wxy~EvK5DlKC zt@oJO3BBG-oKq(m)#XhO`+hKMy5%3%XJ1;%F@s91BWv;zZsb9pmNy{Op| z(+cbYt-(=zS*S`*Gn>?#JFrrf`GNaun+LngLm)F z6kly$z12TYuTJ#OcSoPRujkm-pm+N&o<@1^1xyI3S>Bt&pYtuG^hhttWbERA>!k(? zc;4G*YYo?_vpo>&=+)+I%zf}wZ5AkfIY(y>erJ~A#Uurgj+}Zdi7+07rXERNlp?YmtiYejSXRZ!f17 zYr=FynE=$oxFAlKKo7E|$J$3-8;;Twh!oslzdSIXBN*9!4A5A5Qoj!h(5nXni(-#j z55NODs1PeN{fqN|{2Qh`&F<($8d2ObL$!u2pWnL#=x_nOJv3=k@Z^uP`FA)C1@!jx z+)rTh#35^Ggu`YLqh<^9TOe`5PN67tP@8NbZFt3j?g>C6dhW;YuE_ zuUCDjl9-uPym}lol?|wP_`QYem z-$N>u7=)?NLIT=>g}!ww?X>ZySt|RH$_<`6b#^1H0J7kC+KS8M0Gxut5d7KpXY|Sc z+1~p%!sD#-n{efkAv+Mj@rq>DQX96NUb&lvi?^qK* zF|PK|tKUp=4(FH%-_4>bNA$AQIklqRL+EnZYG0jn0An_w!eV@R0{lTq*?D*mE;S>C zAKTuqop5*Zq9Dw!xxe-fEoYi5L8+X-h%G-+xcv_#j z?5g9$NOUdY7c0v7eF4uncEcz?F!p?z_CNcJe|w1GIJ?JROz;70eWG;MhiB=9XGp%L z1xfrkV?`^M1$iKclO;2Aoc_>6yFd>o93^FsBa^Hg4WJ2L(SPUT@UT3wY*Ea}nQ09{2DVDHIU3Ko8_aT_LO=>Ixwgw8qwbyUF{}`2N(kE4|50$2^H`MLl+${+_t(F zcHb5PN5MA?!uX#mWO2Lch10o-r&A0>c9u~zJQM&a(4D#9!=X9iSRJtSq!0JP zf`3>vv2Uk2uyked#;3_*1yDET0c@?)3%d%8bPsV-#Qfmq^{n+vN0%HPct5WWPtLss zigKfssnbB))2{}t9%t>NkAF94mu6gX^FF)J0;KK|PLMs(nfW#%@=Z360J@y+YC-l# zzT0yCp3D|c@nQb+=X6Q?uNu|GTn`wF)-sz;yl#Az|1_Hn=n>D{{@HVX_UA@k$2Xz; zP)Ei1z+F!$&a-;CQ}`~|MpB4gM|3N7blL8#Hz*Q3#iLRYDq(`$=a&cEh&z`Dhb@XU z7raiSpnn+i>yJfVYEu`^&76Z#I*;mzI7EVvA)y>S)2*l>Pxib=R3vy{mtE|l{u!f7 z=4)R=T^y3+hrg|hJ4k`oiA~(41f1a2)^8gU(AN5U>+nzZSr@*IsCpnfUsmI(?0K>( z;YGWCM=tyICb4d6xF#8vX?Qt3_{Q*6w6kt&?W@klWbiOy%9cqrb&@3pc@Qa*bbRHg zudpA4d-7T~4K|Ie|3laF!2E#cK4sxf|W`X}_)SR7d$5S+gM~ z#%~3Tmo1Npkk01+-my>y4jddjmsx6%-Azn9ISfx;d2O)(>DaB^VO(W`N=A8L3Tn(M zLGqFbdo!tvQ&tNyPXzGgm5>SAx8;bw-xLjHq_lAiDJ7hH#v8m@T@)(UzI;!OJb5%p z%ap?v6jU`&(9xRS5SnBS`nB*l8B>^GknI5o^cY((N{U!Wch$)78r0)NWI@H=G|#4# zVJWEXJ~YjfWNyy@grzV|dzkkw=qxc1yg+$jzWz!U;AJRNXUZ_v}QXxvKtT zV7K|(Qlg*z*g_X@5sOxl5K-El9+g!lY3@EP-QbUR5^!TahH<# zv)oE^qMUeA{*E_?=9PzTltr8c_u}%%72>U^=}ba>lEii^NXm{wg1-{3Q%MzY3dV9b zL{DkChWOg?b0&GjOOSB!2!rSRI)ZED$7ywqdDbTOE0I46T}pqwv48EkCYHbA(8WpsDWJ@< znuJ7skjD8&rY9FNO<|0k)3zYdwq>_%+qP}nwr$(CZQHiZ+_r6dXJysPz2~XU7p#X^ zE!vzhM)ZDY(OR%yprs^ejrUO}J~Pw-)@ZK2!6Hz>MmpU2X5=I~!@bHTWV>kgr4w-k z_VMK;Mxq1yz(q{DY)16l@Fx)*83ja8KBgS)^A#?*43g*%McGF0sr#<@r8o z$CUw37qFoF(ENstXdzF_69`&{3gqVA^Mnw@@Y&KLCAYYpOh(DPm|7LlHi>B>OxVOx z%~GYLjG!SIEd+_C<@wF551}Uyv{q*N&FJk^QwJc@CFoUM;ZUpDX!^n4-g^as{u|dJ zy9PUFstJi&g1-3%XTFXCg`f6MTeiM(3o;CAy`y8a(;>DR~a*HIM@Mt@!` z<$6Oh5sHjntipfSWWzR4uy%|tj(IY_0k*mYFd_r2i3+H#F~k}Cy$kr>AUeyT8}9T? zN;TkI)~h&McH<1y%`*Y*{6@g3CL$jjsSVugRIkB%QrlWd;m0{_(IlyU$wcT62L!aK zm+!EZXJL5&$AstDzW=j>mm10N2E^IzX)oA%o0z)n5llp959QdTlm4PAVXp%E!Yg04 zs5>L^wwBH|Fz-aOBpbEZn>9?a4_TxFr%iN0LFQWh0-j{oNc$TcIITzC7)da?1?`j_ zwk(_rigXxe#v$CB2sS$KLLDOq-s5u0VK$3%wM%IJg0;syE{eUK&p zEHR}cX@brm+Y~5}0SpxF z%R0)nnr!6x-pyujXvX`@zZn{eh8Qq1v57(VnhJj75$p7ae|)3e2LCpU$j+8EIJJ_U z%YHd9K7a0YYR>s)iA%dWu^oBHxb>_No)!-jznM5_z z9+FX}qX@+>;W9Po$5iM~;-ls@S}5uqUz>EJm%a31@%9Ibmetm2ZxhNYyBhG2|+$|0dbf$it zKN+}k;Zo2W_eI$nyfE&(k&nAXJt4twlueR!OxtHc_{nOnO?1qi?vG;L4Yv%SmTirzPkPCZqIU<* zm_1D>yU{%r^wd2}rIXHO?YL<*moQhu^bX}oh;;Y(1^v%E`s2|lWQ`91P+_IbneC2YCJYJ ze@wAtj)>8#Y09uru|oSZznj=j^C04LWU@mWj`$(|0(I|a6Y~!^o1DnspYyf3(XZWx zjiCaXY+bX4U;{8S+dxTaYe+l*<*-hX$mG zID5DgL=+}o5a58_uXp!Z^}pgy7Jur9V5X|jFPZn5B5zjlV{5x+Yg15(D(B@B$B z3HUf6{>2+q6fyQciiaiapAW9*kivnA$MWHr7X^6!i|JwI!k5&q-)0DskQaV5YRx(m zu11JL8(%~tyba(B2QD5wcz)R8?Dsl3-nd|nHw)RZMe%Hq>Zd%Qp930jGT*@GXJ2)Z z9nufIPCH8|DLZ5h*3RCyvTqL8i#LMk;sGP>HO?RXLkm6Bxykk8q49xO7;ENfB7grF z%6xnR-AT#`A}}gE0EPFw@6WL5dRORS6Mx2Em3pRIA*B6?<6qyM>%bQ3nmtutOfr=xwM$BM7c)LVW|SAy5e2CJK|?DcR7j#UE^Qw5ha2vs zvQl4cx!dj*fY0vk>nOemo-j!9 z#4+Q*e7>_0A21=1#z21n1DRgp$2YYS7L);JY(rbl(dR_;K$_kziWkh>hO|>7>XDaH zMRmTzkU3t=4oKC=;7;?>LH_fF#{wtkqi}!#`=G? zFMx6enP?78v70BQtJQ$Y5liNd^d(StSr3QAAO&R=b+C)~SK|`@KbYlL6(Gp{^MwV& z@;jm%x%>+jj_Yn-?(5%=ax0EIm^eAdG#}p(%bWN=iyw;d|ZvW?>RqM}yqJ{fckq0&+`=JTq>pUNhyP_Gr z5I*U6LIO|_TE!Jl^^t&<4PA$PtZ5!-=!mgV}{+3JA)+r{WRaYp$pp-W=5oC(NT0lK3Mfh~?8E%dt zr1B>`;8VP=IL5QpNr<{i)rHI(ci70KgS~_*u}`=hFe`dUW(}8SpfBlSHt()*sM;m+ zaTplkQlTso+CDx1+)yqtVxRX#foX@5XYGsLpIxzTM-59q3|ybK9On)IM;v6$9+}qk zFvgS?+~G?copy`cjHB`+E53-K7aT|!_ExfH`%&PM4BhibJ-a|S2QB-99YT6hV2!Of z$?jVM%6K%z?7B`WXoZhEB_!>me2RnJc3v-{Hl;VPlXOkQNOyJhDCjr~@DCtq;~2zZ zTmY=a^0~j=f_Klf%{JjC!YQVfX~{=yuuUH{Q_hdL2E&WKQ0IwD(p}*GxWFP1J?qwL zjd0=Lz)F^_)tmC#;Fs$bA)^d#U_nNm9iqvoHQhP{x5r8QUXfP_zJhJ;jr6XhMX72g zR?JV2Xnrqs!!G`w(EacG5m?F_=;{r}u*_fpZ=HX-O<(#{M(l_=lD|m3GHgHA4dz@pi&C0S9wr z97K@;^bc`SuNySvpn|(?wRe#YwWdK>rzzwz^LUl&(Abof5be5%@60V|6i}TO9+a(v z`@*ld$M|cc9K@U`L^f@A)Qb{U*~8}Or#*oNOGZXph`??hrUjA6m7IV8fUZt5G!NwI zE#<|{gYlNYSiEOq?FviptsS+)gR&KTs~okG7m;7U#)J8~qggqX5sJ_b&DZ`&_qVFE zV;X-LxBG`(Vpyb#`zD^7sGK(h@Bwy?WkIACDFK#=2h0|3!iAVBU+T6fu(oCunSp9! zac-~PJb#hHwfkPe?5ds*r)hHxghgnDt(T0ZwvhNGHomPamx!E;5x18@Qz*<20V4Q8 zLM}K#Jw=}}oZaq8>%d_j?uM~;lY*!QufQ`0G{{tswNr&(vho!?#8a7mr(Y^6E9u{J1{9q!~=IH>!hUdus z34bE}hv#NcDqZwLm1Q`NJwTrtse27T=V%!NS5xEMG(ycz3qp-koa@Uf#VYZoE5@99 z6nFNYspN0DiUsY_dcej;BbcOTRO`E%CQcs2v*A;LpgJ-dFSszu8lC(n{Q3~an5NZr4!9KO$EgGZZu|0SF-_R0M`G zFiRVX#2;@an&R*aj7*}DVo-?ioXn}p3|oRQF#-6yEjCb`d@lDoDL5(vb>E-N5*cv) zq(Ww6F=Ux=WWjq1g*>vqb~g~>2=~#keXil8kV7m;6v;&#Rm!OArJJH@?bsW;1&^00%`rZ>J}{vHj;pQ0?s4Qr?2!rwQdAJQntQZ`N8^gU^TxN-MCd)~;#QC=$n>OWsOruIJFdZ?qFk$eY;?vle zT)kp2h!c_mk~%d)4Tp%D(1iJ^e5URhEQF+!zI3?hoJ(A-Rv5ue;!m02DAf(yaZ$oN zk3pyy_T^M!6K z6_ktEF4OlltLBmo3k@^EN&@2M)M4HEKQ@me1ol=BWn_G0xe1f@s*|s=nth7RzS5t) z>*qDRuZ5}N{EC1S*7aNe-^wNTPiR<*h$lb|RC}-7=*@4_Q7$qmbG4vII(L*o<{?P~ z6vaAHu+=;c8KpxzSxi~86B*2#s7xH$lDJ(iY$ISMn;sdj6g5*|sK6?=siIMuj=$EM z76Z--INShnt(jTY04R5E>^NNj1W+Pic2gY zH?dS1O-OO0g*yKA>>S$fF4r>9#}>e@J{o?zZ+PB`gPU@c^U$#n;(u&>77vsr~_v!RJLg+sePY#SSs8i|mYVc+G zo*V%1H>r?w;lYphqKTC255%yFo~AXjP1Iv8(UytS9=~u^gSKsl)O#e2eX&|cCq`kE zM72l(yaC2Zsv)d#1|!5Tj!O4IuGW?E-1wiO(R=hZ0sex(IG@AhTk_5%o9JmiEU8Hh zErPn2rw~%-evpUn`Y$KuX}8;|HPWX2rZf!HF|b7_yVMz)CaFFunx=IENim?ET6F*T z2SI$@hjvR6;@hz_Kg01f>5UWgbM`#MSd|P7RCp0{5X4$l{LLe|NeQnc-FEiGahO(A zq$1?wH4`pRc)0vE0tA}`6YEQi%F{r0na`rBL>sF}NGvGZ$fZguR2q2}g{6+^e>mKi zAg;4vmfoZtHao-UWdMagh-Al1*n%9GPgb}Ofs_-X3o6yjvRk7_9`?f^?M&-)yaqPw{b+wo?Gkqq;u8V#9wkS3E=~AZRcGf_1O6pY+2n2*@MKi+}{_Oec zm$WOgjTR8wg|otccC|IV*ktDn+H*s%d7&1F2v|o1eItm6Rt#=#4f~`rv@SK_^{D9Emb>BB zM^f+XbXly+2{OZptEE0e*(as_eQKy9(pmB9#;#ixSG+45$QJcXCTpo;Ir(rZn%;&j zm<9kUPMkcA;_^*%M8}wgc48xIA2C7G!Pau=^uTs|&^YOzpp9xuAouQI^hDL%-Brc{ z6=#f8VZjqUX2rfd6rPN!duA*GBZyC8Tu}=iG<18d5b#te(QqL0 zPv-O$cCR!9fz}|;EQ{a006%O^k`y7ztVQV5X7z(rIfZF!*~E?&4`)!U4ov5Mr14a& zg{N_h@(UL0<)iT=6pJg)y|a{=0G_;(J9dPamEeO<%XGCoH;;SNP9V{)oK$l}*}ZQh z?pcnCtsoP4FnCZl2Ia=*3)LriS5ug6VqZK3Q=)4!wWw?Or%pma0J!$AyC?pFV%rYk z|GFWE5}tc@#0b%a_0*PL7C}9RtiZqI)@hSwp9n~zXsU-3TT@(DO7Q0KYD;pDutNDc z|9H*)cwNiB+ap9xjREWjrT=phjj8KwhyC(J8jH;0*w{VPpO9UF#kC$yJ?KrZ|K0*k z_v+hpZ)*4Vb>DH?1EjFT!b-|p#34I613t#zK-C4~xA#%se&A3HmAzvbDErkFdnW6U ztc$!N18VR#haP4djG(B*9H$FlD-q3x;{mc0Z6^r5WMWXJ@lw&Q+8 z;8XTM)t@4ErY5lgyV&HQV^tZavl!?D#F8Pkh7%lJEy5)K_2|5(LGB_H-lBJGvmk7f zBE?u{{eC(5D$s&JsK+3ZeqS9$8Ek~JG_25ZIcq95^?|~d} zgEY{}LIsO*Os7~>rP=tNLP=N235e$aI~7W}f1N(tzHxoENe$p|nPFow4~zTnceBUb zbM^VcWIT#hdI07_v}Ae&aISlzPjz@K!(hCzz0WB$ZO98!wTc)aWf1#4OSi&5UDz-<}JYE7exgwVenq`0{pfl}7KTO$vMZ zIay1aUkAh@T{n}dAsOC8VfWOF<=511fd$w0AlFHZXOz9T zexPIh#@TXAn!6?1UC_|P1=m#1aMbt-f<*IS64<~|D4%X1(p)Q2wOVL-3GtQ2^6CZ2 zi(lwQ7{hNS>8^%3&um*r}Px85*ai`tC6mk`Nezg1(0GXrz ze!-wJtsgm4w!lqo|4PdheSUYqw*CH6!H0XnTXVar=GNX@w9-DpIq%^<4lnofS9z)Z zby7vmDxs)aW=bYu!Q%@|4QkNzeJgtF@4EJ`TW!um8`Y$#nuaBPd) zs^B3U34T)`dKmY8dIU@*`na^wV<&TqW(sCaUb&%k|a%nO8E@M;<&w(_jX*q57f9+vZi1 z;$GnFIZUVvTg+}RPS_U>GM9(qt^3UEZ7&*gXXEvl4HxWq>_)EUTMBp9fi@rB&cvI6 zQZlD8_faPee=*c$yn);wmvk=YYEwiwkUI!cl+TZe&Vr*IWqxuyW77q#cckzgGlQp$JLv ztFLnWsH`%~#~V{RU!WvjlEgi06)SmRHyu~WrpfL9r0&Fy)wT>cIk$T~asDj~BE)a) zbxM*pypU?73{u~eFcsM2d!=43q5G7i$y&RfW1DK#VpEV4OAr79;4jKM1-C=J5_>k< zc2fPg(7RdaO>aGxCC2Kp2Xh*Rj-@iqUu_pLij!Ea#Ml=TDD0l^L(AK`l6e|6?NRau zsm9Q*N*q|9O_;)8f7>$)qAzz{1tZSuTrc6OA|f@%)oHsjQZxGP$@_Mdc?l8#Q(Hg# z&^i0~3=oKVd#b!ZCRN!tBLP6V8NDxMQ`t~b{OpJL?Z5-+g?74$peibPI6%VDK%Htm zRacB{@xZ3LbA-(b*smoe^kH~4UH(#%tO&A4UUZq%>t>{>g_!cQ-UVxRqSaE4GBX|3 zBGubdiPsFZ?aJ3hQf5cvf7AhQ_L99gx!5oa@*cvGR>b5oOEO=+(AdouX zQ=5)c&h2AM(+xO(VTXmDSRdnrD*OQD!v}YbjsryQ_hR~&ONN&SNNb3GjU+|EuXw42 zRULqDKh(e9Ekfq+n#ef2Y1U_0dpWX?#KiM5?+ev07gS!HORjjeWSd{Phc-5pdQ@gF za+ts-|K48am4OsqXr8dZB@V*V<9%BMK>HVjd*V-~J z9Oz#f;rKD$LM5bkilyf7JyeCexH{MV_XBDu`R-eTm%RJbi^~ASzBnLYmF01HWKj$k4@z7E%tpW@>BP`N(R5x z?^+^}K1uXPdo#({spNyz2fQyDZ*CW|+6-w?+9bt%3+a-hVDt@yfiVJ~ODBAC(G`OVli}{N#3zBT&ABLJBY z1{J7$tC!>WDqWT%%anR8N_AB91#DGr^QWfEW5e(AxLAuHFKIxHW!}lyS!3S0rtg!- z(X>p*FY~ID;9XF`%T9zK)gav%&H#JO&!&%I3^cQlQdasNf~#TQfYfVmSWrXbqER5DDL* zMB^UUJkBz7g@Um4$)QT^ELcSXlipza>T)F8-F22LAb+&%mVj9uU9{|9mpzR(QSb)E z$#s3c==>M9$CJv-~V63!D%iSfDKSeeV#I@#PO2XH^Fw` zm#anJQE=2LHt&GjK9uQ8Sii2^NVK;4#*6PX=&0&Sw|Q^ir%6@Nb{g!-@eluhruK)s zKA(2~T&|hG|8;8rKfRLDBzgHE0ff=JFG?~8OYC3CXA_|ySSf0jk)c85=7mCCitgFl zqN0cHZd(z+zyuE~?k{iq-I=xvgz>S)nSMIpZ8*miuCc^SC0u$}Iaa$95A2 zzUfs)AyRD-qb`e*)E})24a%Q^^Us}yx3Q6)9eE&hJ&@=@g{c{&MUFNYywEHwknwi= zc;^o-G7rQ`rOEe4luKSuoxtW$QZg$2#ceN#))F()xehftP6P!2o#i$pGI`gO40D&} zwMMZ1Fz%+zeW~GG?*u_h!Uq9;H-~%LHS#Yqr5>@R7apzzIN{g00mP$bDdtyAQpK`4 zvr$;LUW0wm-lH3N?*w=tgI~aD4Vjo>WBYp>RPqJD{#`{dnjD+235l@_?(s8I$tdk_ z`=pgUhLg0{A(g~&o8PBzp#OYuQmVKb7tjCzE=2#0h}YT0(8ctB^(|^K|Me}{9-Dut z7u?23O(h$BCTCmge2b}?E>+@~lX9f_9SM+9FrEqt1v#yfzi!&Q0VEQVo;tc^Y?23V zjrQR0HP1Sh44o%S4R~NR2s{4{tlndYUsT0s7uz&X7q4hBnIAVjH8-R8J~aQuLmwOD}yDvUg?20#Zo*bijao;SDsMeEoiYoo-I;X(M^|wX041uui6XTN`HH zBFlsvgHr&_f4y_cKU+;BGIn6xz-n#Ax{9eM|cR!x18}koX&XgX5)CA<8DK?O*~3F0s!%Y8Xmug%lXR9 zZ3_HenKpKZ)?6qph2g(G!gGS5O9QP@zN!q7KM#0ALi zBuHiye>I_xTv!tW95G27UktD`ABGNU5-_Tbmwun7_>3+wjZn^vsjwS?6DKPY5Mm@S zx8WqNV*rwfwi*PUz=lH3C$BjujCjX_k2XHwH&-k~KnW0hKMPR{q6aDs+Mr?*X>bS( z0#1E+-QZ>O(AsC;EX3v_JCbLO<&$X(YL&|Amo`NwO)%)P2nPJ=d)p+dgC;>CeRG64 z!ZuVyq~vjuy5Q@U9u&c4?$LyhG)J=zO|rz*KAmPDo!z8D=E_S{JbC zWbPBt+ravVe|3>V`Eq5q77j%AVc!>Wia~5trG^RPlaEi7PuQN(F6bPN#9CgpY_4V6 z?o5KiHU2M`*_b33=y`4ODBwb$iBop;Lgs57#7-|jN9+vYcxawUU` zpK#G;jWfkh15~*2a0M3HE0bfq1n~o&+*v6K4}Hq41NAgdFTq8|l4h5((%=T1>VzsU zYTYA&Gs7I-ONgQ2JokGCm1y6~Nl4t`b8C#KbI+0QX__BJtXwNH z;d>+++2!CY4SVg1!eVMRi)_nO^Y|zOTX=&XFAn{fuq8`dY>;o6T*NV^&!5BU7?GwO zOWSr^!8OQdV__MV8x z$ViMJMZ@190JICNx29HS!K;5R!_&ac!;$hn|W zD;HC6g*`dj=8Yxk2`(xvbIv!(6|UxsCqg}`anaKQk3f}9~G(8PjCC*64JePP2;s53)u zv`3VDGXOYS5o&2e?Tf9LZb3|vZn`J&xk}`9syVctHV$e9o-)G~A75*4PY=@J4cDLp zDsc*)EMCO5g|fGPxN~OgM;r56iV%o{&#&Z=fWp!^#;@pnY(EStL8>K^#|4j7)JT*q ztYtD4*$B^mJl8Qj_8cqlqZ@Wj?MZqehM2_Kx4}P zB*HO-07Z=6tMAxl7fMFj{(I*S>Om4a_)ut4i=UBuG(RGLZ^zl|-VEEj)W=mRk*T|x zB`mk7sr6Q;?u}DWtS*cPMdrCbYms@@WEKQT*eHNGsf|QifvN~c(%GDm@XtXNGVKJC zytf#iQ&Ys>7q)NbGr_D+y$$IU1Z3e_e=CNmIUQ?~Rf5)T1@StRyaPU&)YhG_Bm(K}6O{2MTc>1{7%) zs{wybn*8a`(!+s4+tkj~1Cv)a#{GIv^c7cE!Or}9gX31PW-CHD%mdH~)0TH?5@i?Y zJJ>H+89i#>{BU2YC-3n~0HiugPJE}|ze6)-eqHR>+vmydr`bDu(K;of-BT>{pSn-hEWh~~ zoltx@lt#C;H)c^%)~E$(O=hs74OgAW;Z4jFW$7{IYIX}2FjsL*F-kYv!!7M8dX~5@ z`h{a&{{5u2+|XWCE$xDA>uNsNs>~C7O+j;I7;NpG|+caP+#R}V9X%VV~hq1 zBrx~}M}=YT-GXBLeLUrCm!DpgDV(r&`^!`)Krk@9lx=D(&Wn!DU4xe5zPJI9CRBvD z*LL8S#EMJ*0^ETt_g|>@TisAbebj4^N4Pe~wcVX7XzR5R_S2OO2bNbmJ-P9lb4vC> zy)O~;EX0rHP{(7}G+qxN`UlrN_kk~q$#VO|>n10aFQB$AP20UcxlMw;2lpQw%zejI zZHiCj4D#~CJvA5uk4P}@4ux-hvlu?3#Vt{yJNBBI|A4M@tgr!CTzATtqwj`cOj0Th z8X@m5F`$@>TumIGCBPlHXZx4(&r0F9EZ5rMW4=HnHs)44!Ya%k2VlncBJu@yKs3

                    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

                    ?0v+8LAudFa$CqW$_Ip5QBzjVELFLkm& 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 F{{YvGAxHoK -- 2.17.1

                    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 Yc^ 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%0ATL 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

                    ' ).addClass( 'flyout-menu' ).html( '
                      ' + flyoutContents + '
                    ' ); + $( this ).append( flyoutMenu ); + } + }, + function () { + // $( '#woo-nav .flyout-menu' ).remove(); + } + ); + }); + + // Add custom link click logic to the flyout menus, due to custom logic being required. + $( '.flyout-menu a' ).live( 'click', function ( e ) { + var thisObj = $( this ); + var parentObj = $( this ).parent(); + var parentMenu = $( this ).parents( '.top-level' ); + var clickedGroup = $( this ).attr( 'href' ); + + if ( clickedGroup != '' ) { + $( '.group' ).hide(); + $( clickedGroup ).fadeIn(); + + // Adjust the main navigation menu. + $( '#woo-nav li' ).removeClass( 'open' ).removeClass( 'current' ).find( '.sub-menu' ).slideUp().removeClass( 'open' ); + parentMenu.addClass( 'open' ).addClass( 'current' ).find( '.sub-menu' ).slideDown().addClass( 'open' ); + $( '#woo-nav li.active' ).removeClass( 'active' ); + $( '#woo-nav a[href="' + clickedGroup + '"]' ).parent().addClass( 'active' ); + } + + return false; + }); + }, // End init_flyout_menus() + +/** + * banner_advert_close() + * + * @since 5.3.4 + */ + + banner_advert_close: function () { + $( '.wooframework-banner' ).each( function ( i ) { + if ( $( this ).find( '.close-banner a' ).length ) { + $( this ).find( '.close-banner a' ).click( function ( e ) { + var answer = confirm( 'Are you sure you\'d like to close this banner?' + "\n" + 'Before closing this banner, make sure you have saved your theme options.' ); + if ( answer ) {} else { + return false; + } + }); + } + }); + }, // End banner_advert_close() + +/** + * unhide_hidden() + * + * @since 4.8.0 + * @see toggle_collapsed_fields() + */ + + unhide_hidden: function ( obj ) { + obj = $( '#' + obj ); // Get the jQuery object. + + if ( obj.attr( 'checked' ) ) { + obj.parent().parent().parent().nextAll().slideDown().removeClass( 'hidden' ).addClass( 'visible' ); + } else { + obj.parent().parent().parent().nextAll().each( function(){ + if ( $( this ).filter( '.last' ).length ) { + $( this ).slideUp().addClass( 'hidden' ); + return false; + } + $( this ).slideUp().addClass( 'hidden' ); + }); + } + } // End unhide_hidden() + + }; // End woothemesAdminInterface Object // Don't remove this, or the sky will fall on your head. + +/** + * Execute the above methods in the woothemesAdminInterface object. + * + * @since 4.8.0 + */ + $(document).ready(function () { + + woothemesAdminInterface.toggle_nav_tabs(); + woothemesAdminInterface.load_first_tab(); + woothemesAdminInterface.toggle_collapsed_fields(); + woothemesAdminInterface.setup_nav_highlights(); + woothemesAdminInterface.toggle_nav_menus(); + woothemesAdminInterface.init_flyout_menus(); + woothemesAdminInterface.open_first_menu(); + woothemesAdminInterface.banner_advert_close(); + woothemesAdminInterface.setup_custom_typography(); + woothemesAdminInterface.setup_custom_ui_slider(); + + }); + +})(jQuery); \ No newline at end of file diff --git a/artificer/functions/js/woo-custom-fields.js b/artificer/functions/js/woo-custom-fields.js new file mode 100755 index 0000000..cab19b9 --- /dev/null +++ b/artificer/functions/js/woo-custom-fields.js @@ -0,0 +1,192 @@ +/** + * WooThemes Custom Fields JavaScript + * + * All JavaScript logic for fields in the post meta box. + * @since 4.8.0 + * + */ + +(function ($) { + + woothemesCustomFields = { + +/** + * adjust_form_encoding() + * + * @since 4.8.0 + */ + + adjust_form_encoding: function () { + $( 'form#post' ).attr( 'enctype','multipart/form-data' ).attr( 'encoding','multipart/form-data' ); + }, // End adjust_form_encoding() + +/** + * setup_datepickers() + * + * @since 4.8.0 + */ + + setup_datepickers: function () { + if ( $( '.woo-input-calendar, .woo_input_calendar' ).length ) { + $( '.woo-input-calendar, .woo_input_calendar' ).each(function () { + var buttonImageURL = $( this ).parent().find( 'input[name=datepicker-image]' ).val(); + $( this ).next( 'input[name=datepicker-image]' ).remove(); + + $( '#' + $( this ).attr( 'id' ) ).datepicker( { showOn: 'button', buttonImage: buttonImageURL, buttonImageOnly: true, showAnim: 'slideDown' } ); + }); + } + }, // End setup_datepickers() + +/** + * setup_timefields() + * + * @since 4.8.0 + */ + + setup_timefields: function () { + if ( $( '.woo_input_time_masked' ).length ) { + $( '.woo_input_time_masked' ).each( function (){ + $( '#' + $( this ).attr( 'id' )).mask( '99:99' ); + }); + } + }, // End setup_timefields() +/** + * setup_wordcounters() + * + * @since 4.8.0 + */ + + setup_wordcounters: function () { + if ( $( '.words-count' ).length ) { + $( '.words-count' ).each( function() { + var s = ''; var s2 = ''; + var length = $( this ).val().length; + var w_length = $( this ).val().split(/\b[\s,\.-:;]*/).length; + + if( length != 1 ) { s = 's'; } + if( w_length != 1 ) { s2 = 's'; } + if( $( this ).val() == '' ) { s2 = 's'; w_length = '0'; } + + $( this ).parent().find( '.counter' ).html( length + ' character'+ s + ', ' + w_length + ' word' + s2 ); + + $( this ).keyup( function() { + var s = ''; var s2 = ''; + var new_length = $( this ).val().length; + var word_length = $( this ).val().split(/\b[\s,\.-:;]*/).length; + + if( new_length != 1 ) { s = 's'; } + if( word_length != 1 ){ s2 = 's'; } + if( $( this ).val() == '' ) { s2 == 's'; word_length = '0';} + + $( this ).parent().find( '.counter' ).html( new_length + ' character' + s + ', ' + word_length + ' word' + s2 ); + }); + }); + } + }, // End setup_wordcounters() + +/** + * setup_image_selectors() + * + * @since 4.8.0 + */ + + setup_image_selectors: function () { + if ( $( '.woo-meta-radio-img-img, .woo-radio-img-img' ).length ) { + $( '.woo-meta-radio-img-img, .woo-radio-img-img' ).click( function() { + + $( this ).parent().parent().find( '.woo-meta-radio-img-img' ).removeClass( 'woo-meta-radio-img-selected' ); + $( this ).parent().parent().find( '.woo-radio-img-img' ).removeClass( 'woo-radio-img-selected' ); + $( this ).addClass( 'woo-meta-radio-img-selected' ).addClass( 'woo-radio-img-selected' ); + + }); + $( '.woo-meta-radio-img-label, .woo-meta-radio-img-radio, .woo-radio-img-label, .woo-radio-img-radio' ).hide(); + $( '.woo-meta-radio-img-img, .woo-radio-img-img' ).show(); + } + }, // End setup_image_selectors() + +/** + * setup_colourpickers() + * + * @since 4.8.0 + */ + + setup_colourpickers: function () { + if ( jQuery().ColorPicker && $( '.section-typography, .section-border, .section-color' ).length ) { + $( '.section-typography, .section-border, .section-color' ).each( function () { + + var option_id = $( this ).find( '.woo-color' ).attr( 'id' ); + var color = $( this ).find( '.woo-color' ).val(); + var picker_id = option_id += '_picker'; + + if ( $( this ).hasClass( 'section-typography' ) || $( this ).hasClass( 'section-border' ) ) { + option_id += '_color'; + } + + $( '#' + picker_id ).children( 'div' ).css( 'backgroundColor', color ); + $( '#' + picker_id ).ColorPicker({ + color: color, + onShow: function ( colpkr ) { + jQuery( colpkr ).fadeIn( 200 ); + return false; + }, + onHide: function ( colpkr ) { + jQuery( colpkr ).fadeOut( 200 ); + return false; + }, + onChange: function ( hsb, hex, rgb ) { + $( '#' + picker_id ).children( 'div' ).css( 'backgroundColor', '#' + hex ); + $( '#' + picker_id ).next( 'input' ).attr( 'value', '#' + hex ); + + } + }); + }); + } + }, // End setup_colourpickers() + +/** + * setup_field_tabber() + * + * @since 5.3.0 + */ + + setup_field_tabber: function () { + $( '.wooframework-tabs' ).tabs(); + }, // End setup_field_tabber() + +/** + * setup_upload_titletest() + * + * @since 4.8.0 + * @deprecated + */ + + setup_upload_titletest: function () { + if ( $( 'input#title' ).length ) { + var val = $( 'input#title' ).attr( 'value' ); + if(val == ''){ + $( '.woo_metabox_fields .button-highlighted' ).after( 'Please add a Title before uploading a file' ); + }; + } + } // End setup_upload_titletest() + + }; // End woothemesCustomFields Object // Don't remove this, or the sky will fall on your head. + +/** + * Execute the above methods in the woothemesCustomFields object. + * + * @since 4.8.0 + */ + $(document).ready(function () { + + woothemesCustomFields.adjust_form_encoding(); + woothemesCustomFields.setup_datepickers(); + woothemesCustomFields.setup_timefields(); + woothemesCustomFields.setup_wordcounters(); + woothemesCustomFields.setup_image_selectors(); + woothemesCustomFields.setup_colourpickers(); + woothemesCustomFields.setup_upload_titletest(); + woothemesCustomFields.setup_field_tabber(); + + }); + +})(jQuery); \ No newline at end of file diff --git a/artificer/functions/js/woo-medialibrary-uploader.js b/artificer/functions/js/woo-medialibrary-uploader.js new file mode 100755 index 0000000..3b110ee --- /dev/null +++ b/artificer/functions/js/woo-medialibrary-uploader.js @@ -0,0 +1,157 @@ +/*-----------------------------------------------------------------------------------*/ +/* WooThemes Media Library-driven AJAX File Uploader Module - JavaScript Functions */ +/* 2010-11-05. */ +/* +/* The code below is designed to work as a part of the WooThemes Media Library-driven +/* AJAX File Uploader Module. It is included only on screens where this module is used. +/*-----------------------------------------------------------------------------------*/ + +(function ($) { + + woothemesMLU = { + +/*-----------------------------------------------------------------------------------*/ +/* Remove file when the "remove" button is clicked. +/*-----------------------------------------------------------------------------------*/ + + removeFile: function () { + + $( '.mlu_remove').live( 'click', function(event) { + $(this).hide(); + $(this).parents().parents().children( '.upload').attr( 'value', '' ); + $(this).parents( '.screenshot').slideUp(); + + return false; + }); + + // Hide the delete button on the first row + $( 'a.delete-inline', '#option-1' ).hide(); + + }, // End removeFile + +/*-----------------------------------------------------------------------------------*/ +/* Replace the default file upload field with a customised version. +/*-----------------------------------------------------------------------------------*/ + + recreateFileField: function () { + + $( 'input.file').each(function(){ + var uploadbutton = ''; + $(this).wrap( '
                    ' ); + $(this).addClass( 'file').css( 'opacity', 0); //set to invisible + $(this).parent().append($( '
                    ').append($( '').attr( 'id',$(this).attr( 'id')+'_file')).val( $(this).val() ).append(uploadbutton)); + + $(this).bind( 'change', function() { + $( '#'+$(this).attr( 'id')+'_file').val($(this).val()); + }); + $(this).bind( 'mouseout', function() { + $( '#'+$(this).attr( 'id')+'_file').val($(this).val()); + }); + }); + + }, // End recreateFileField + +/*-----------------------------------------------------------------------------------*/ +/* Use a custom function when working with the Media Uploads popup. +/* Requires jQuery, Media Upload and Thickbox JavaScripts. +/*-----------------------------------------------------------------------------------*/ + + mediaUpload: function () { + + jQuery.noConflict(); + + $( 'input.upload_button' ).removeAttr( 'style' ); + + var formfield, + formID, + btnContent = true; + // On Click + $( 'input.upload_button').live( "click", function () { + formfield = $(this).prev( 'input').attr( 'name' ); + formID = $(this).attr( 'rel' ); + + // Display a custom title for each Thickbox popup. + var woo_title = ''; + + if ( $(this).parents( '.section' ).find( '.heading' ) ) { woo_title = $(this).parents( '.section' ).find( '.heading' ).text(); } // End IF Statement + + if ( woo_title == '' && $(this).parents( '.woo_metabox_fields' ).prev( 'th' ).find( 'label' ) ) { woo_title = $(this).parents( '.woo_metabox_fields' ).prev( 'th' ).find( 'label' ).text(); } // End IF Statement + + tb_show( woo_title, 'media-upload.php?post_id='+formID+'&title=' + woo_title + '&is_woothemes=yes&TB_iframe=1' ); + return false; + }); + + window.original_send_to_editor = window.send_to_editor; + window.send_to_editor = function(html) { + + if (formfield) { + + // itemurl = $(html).attr( 'href' ); // Use the URL to the main image. + + if ( $(html).html(html).find( 'img').length > 0 ) { + + itemurl = $(html).html(html).find( 'img').attr( 'src' ); // Use the URL to the size selected. + + } else { + + // It's not an image. Get the URL to the file instead. + + var htmlBits = html.split( "'" ); // jQuery seems to strip out XHTML when assigning the string to an object. Use alternate method. + + itemurl = htmlBits[1]; // Use the URL to the file. + + var itemtitle = htmlBits[2]; + + itemtitle = itemtitle.replace( '>', '' ); + itemtitle = itemtitle.replace( '', '' ); + + } // End IF Statement + + var image = /(^.*\.jpg|jpeg|png|gif|ico*)/gi; + var document = /(^.*\.pdf|doc|docx|ppt|pptx|odt*)/gi; + var audio = /(^.*\.mp3|m4a|ogg|wav*)/gi; + var video = /(^.*\.mp4|m4v|mov|wmv|avi|mpg|ogv|3gp|3g2*)/gi; + + if (itemurl.match(image)) { + btnContent = 'Remove Image'; + } else { + + // No output preview if it's not an image. + // btnContent = ''; + + // Standard generic output if it's not an image. + html = 'View File'; + + btnContent = '
                    '+html+'Remove
                    '; + } + + $( '#' + formfield).val(itemurl); + $( '#' + formfield).siblings( '.screenshot').slideDown().html(btnContent); + tb_remove(); + + } else { + window.original_send_to_editor(html); + } + + // Clear the formfield value so the other media library popups can work as they are meant to. - 2010-11-11. + formfield = ''; + + } + + } // End mediaUpload + + }; // End woothemesMLU Object // Don't remove this, or the sky will fall on your head. + +/*-----------------------------------------------------------------------------------*/ +/* Execute the above methods in the woothemesMLU object. +/*-----------------------------------------------------------------------------------*/ + + $(document).ready(function () { + + woothemesMLU.removeFile(); + woothemesMLU.recreateFileField(); + woothemesMLU.mediaUpload(); + + }); + +})(jQuery); \ No newline at end of file diff --git a/artificer/functions/js/woo-scripts.js b/artificer/functions/js/woo-scripts.js new file mode 100755 index 0000000..8e40d8c --- /dev/null +++ b/artificer/functions/js/woo-scripts.js @@ -0,0 +1,27 @@ +/** + * + * Style Select + * + * Replace Select text + * Dependencies: jQuery + * + */ +(function ($) { + styleSelect = { + init: function () { + $( '.select_wrapper').each(function () { + $(this).prepend( '' + $(this).find( '.woo-input option:selected').text() + '' ); + }); + $( 'select.woo-input').live( 'change', function () { + $(this).prev( 'span').replaceWith( '' + $(this).find( 'option:selected').text() + '' ); + }); + $( 'select.woo-input').bind($.browser.msie ? 'click' : 'change', function(event) { + $(this).prev( 'span').replaceWith( '' + $(this).find( 'option:selected').text() + '' ); + }); + } + }; +})(jQuery); + +jQuery(document).ready(function() { +styleSelect.init(); +}); diff --git a/artificer/functions/js/woo-typography-preview.js b/artificer/functions/js/woo-typography-preview.js new file mode 100755 index 0000000..722ee3b --- /dev/null +++ b/artificer/functions/js/woo-typography-preview.js @@ -0,0 +1,220 @@ +/** + * WooThemes Typography Live Preview + * 2011-10-07. + * + * @description The code below is designed to generate a live preview using the + * setting specified in a "custom typography" field in the WooFramework. + * + * @since 4.7.0 + */ + +(function ($) { + + wooTypographyPreview = { + + /** + * loadPreviewButtons() + * + * @description Setup a "preview" button next to each typography field. + * @since 4.7.0 + */ + + loadPreviewButtons: function () { + + var previewButtonHTML = '' + '+' + ''; + + $( 'input.woo-typography-color' ).each( function ( i ) { + $( this ).after( previewButtonHTML ); + }); + + // Register event handlers. + wooTypographyPreview.handleEvents(); + + }, // End loadPreviewButtons() + + /** + * handleEvents() + * + * @description Handle the events. + * @since 4.7.0 + */ + + handleEvents: function () { + $( 'a.woo-typography-preview-button' ).live( 'click', function () { + wooTypographyPreview.generatePreview( $( this ) ); + return false; + }); + + $( 'a.preview_remove' ).live( 'click', function () { + wooTypographyPreview.closePreview( $( this ) ); + return false; + }); + }, + + /** + * closePreview() + * + * @description Close the preview. + * @since 4.7.0 + */ + + closePreview: function ( target ) { + target.parents( '.section' ).find( '.woo-typography-preview-button .refresh' ).removeClass( 'refresh' ); + target.parents( '.typography-preview-container' ).remove(); + }, + + /** + * generatePreview() + * + * @description Generate the typography preview. + * @since 4.7.0 + */ + + generatePreview: function ( target ) { + var previewText = 'Grumpy wizards make toxic brew for the evil Queen and Jack.'; + var previewHTML = ''; + var previewStyles = ''; + + // Get the control parent element. + var controls = target.parents( '.controls' ); + var explain = target.parents( '.controls' ).next( '.explain' ); + + var fontUnit = controls.find( '.woo-typography-unit' ).val(); + + var sizeSelector = '.woo-typography-size-px'; + if ( fontUnit == 'em' ) { sizeSelector = '.woo-typography-size-em'; } + + var fontSize = controls.find( sizeSelector ).val(); + + var fontFace = controls.find( '.woo-typography-face' ).val(); + var fontStyle = controls.find( '.woo-typography-style' ).val(); + var fontColor = controls.find( '.woo-typography-color' ).val(); + var lineHeight = ( parseInt( fontSize ) / 2 ) + parseInt( fontSize ); // Calculate pleasant line-height for the selected font size. + + // Fix the line-height if using "em". + if ( fontUnit == 'em' ) { lineHeight = 1; } + + // Generate array of non-Google fonts. + var nonGoogleFonts = new Array( + 'Arial, sans-serif', + 'Verdana, Geneva, sans-serif', + '"Trebuchet MS", Tahoma, sans-serif', + 'Georgia, serif', + '"Times New Roman", serif', + 'Tahoma, Geneva, Verdana, sans-serif', + 'Palatino, "Palatino Linotype", serif', + '"Helvetica Neue", Helvetica, sans-serif', + 'Calibri, Candara, Segoe, Optima, sans-serif', + '"Myriad Pro", Myriad, sans-serif', + '"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif', + '"Arial Black", sans-serif', + '"Gill Sans", "Gill Sans MT", Calibri, sans-serif', + 'Geneva, Tahoma, Verdana, sans-serif', + 'Impact, Charcoal, sans-serif', + 'Courier, "Courier New", monospace' + ); + + // Remove "current" class from previously modified typography field. + $( '.typography-preview' ).removeClass( 'current' ); + + // Prepare selected fontFace for testing. + var fontFaceTest = fontFace.replace( /"/g, '"' ); + + // Load Google WebFonts, if we need to. + if ( jQuery.inArray( fontFaceTest, nonGoogleFonts ) == -1 ) { // -1 is returned if the item is not found in the array. + + // Prepare fontFace for use in the WebFont loader. + var fontFaceString = fontFace; + + // Handle fonts that require specific weights when being included. + switch ( fontFaceString ) { + case 'Allan': + case 'Cabin Sketch': + case 'Corben': + case 'UnifrakturCook': + fontFaceString += ':700'; + break; + + case 'Buda': + case 'Open Sans Condensed': + fontFaceString += ':300'; + break; + + case 'Coda': + case 'Sniglet': + fontFaceString += ':800'; + break; + + case 'Raleway': + fontFaceString += ':100'; + break; + } + + + fontFaceString += '::latin'; + fontFaceString = fontFaceString.replace( / /g, '+' ); + + // Add the fontFace in quotes for use in the style declaration, if the selected font has a number in it. + var specificFonts = new Array( 'Goudy Bookletter 1911' ); + + if ( jQuery.inArray( fontFace, specificFonts ) > -1 ) { + var fontFace = "'" + fontFace + "'"; + } + + WebFontConfig = { + google: { families: [ fontFaceString ] } + }; + + if ( $( 'script.google-webfonts-script' ).length ) { $( 'script.google-webfonts-script' ).remove(); } + + (function() { + var wf = document.createElement( 'script' ); + wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; + wf.type = 'text/javascript'; + wf.async = 'true'; + var s = document.getElementsByTagName( 'script' )[0]; + s.parentNode.insertBefore( wf, s ); + + $( wf ).addClass( 'google-webfonts-script' ); + + })(); + + } + + // Construct styles. + previewStyles += 'font: ' + fontStyle + ' ' + fontSize + fontUnit + '/' + lineHeight + fontUnit + ' ' + fontFace + ';'; + if ( fontColor ) { previewStyles += ' color: ' + fontColor + ';'; } + + // Construct preview HTML. + var previewHTMLInner = jQuery( '
                    ' ).addClass( 'current' ).addClass( 'typography-preview' ).text( previewText ).before( '' + 'Close Preview' + '' ); + + previewHTML = jQuery( '
                    ' ).addClass( 'typography-preview-container' ).html( previewHTMLInner ); + + // If no preview display is present, add one. + if ( ! explain.next( '.typography-preview-container' ).length ) { + previewHTML.find( '.typography-preview' ).attr( 'style', previewStyles ); + explain.after( previewHTML ); + } else { + // Otherwise, just update the styles of the existing preview. + explain.next( '.typography-preview-container' ).find( '.typography-preview' ).attr( 'style', previewStyles ); + } + + // Set the button to "refresh" mode. + controls.find( '.woo-typography-preview-button span' ).addClass( 'refresh' ); + } + + + }; // End wooTypographyPreview Object // Don't remove this, or the sky will fall on your head. + +/*-----------------------------------------------------------------------------------*/ +/* Execute the above methods in the wooTypographyPreview object. +/*-----------------------------------------------------------------------------------*/ + + $(document).ready(function () { + + wooTypographyPreview.loadPreviewButtons(); + + }); + +})(jQuery); \ No newline at end of file diff --git a/artificer/functions/thumb.php b/artificer/functions/thumb.php new file mode 100755 index 0000000..a9701b0 --- /dev/null +++ b/artificer/functions/thumb.php @@ -0,0 +1,1251 @@ + /dev/null 2>&1 & + Then set WEBSHOT_XVFB_RUNNING = true below. This will save your server having to fire off a new Xvfb server and shut it down every time a new shot is generated. + You will need to take responsibility for keeping Xvfb running in case it crashes. (It seems pretty stable) + You will also need to take responsibility for server security if you're running Xvfb as root. + + +*/ +if(! defined('WEBSHOT_ENABLED') ) define ('WEBSHOT_ENABLED', false); //Beta feature. Adding webshot=1 to your query string will cause the script to return a browser screenshot rather than try to fetch an image. +if(! defined('WEBSHOT_CUTYCAPT') ) define ('WEBSHOT_CUTYCAPT', '/usr/local/bin/CutyCapt'); //The path to CutyCapt. +if(! defined('WEBSHOT_XVFB') ) define ('WEBSHOT_XVFB', '/usr/bin/xvfb-run'); //The path to the Xvfb server +if(! defined('WEBSHOT_SCREEN_X') ) define ('WEBSHOT_SCREEN_X', '1024'); //1024 works ok +if(! defined('WEBSHOT_SCREEN_Y') ) define ('WEBSHOT_SCREEN_Y', '768'); //768 works ok +if(! defined('WEBSHOT_COLOR_DEPTH') ) define ('WEBSHOT_COLOR_DEPTH', '24'); //I haven't tested anything besides 24 +if(! defined('WEBSHOT_IMAGE_FORMAT') ) define ('WEBSHOT_IMAGE_FORMAT', 'png'); //png is about 2.5 times the size of jpg but is a LOT better quality +if(! defined('WEBSHOT_TIMEOUT') ) define ('WEBSHOT_TIMEOUT', '20'); //Seconds to wait for a webshot +if(! defined('WEBSHOT_USER_AGENT') ) define ('WEBSHOT_USER_AGENT', "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.18) Gecko/20110614 Firefox/3.6.18"); //I hate to do this, but a non-browser robot user agent might not show what humans see. So we pretend to be Firefox +if(! defined('WEBSHOT_JAVASCRIPT_ON') ) define ('WEBSHOT_JAVASCRIPT_ON', true); //Setting to false might give you a slight speedup and block ads. But it could cause other issues. +if(! defined('WEBSHOT_JAVA_ON') ) define ('WEBSHOT_JAVA_ON', false); //Have only tested this as fase +if(! defined('WEBSHOT_PLUGINS_ON') ) define ('WEBSHOT_PLUGINS_ON', true); //Enable flash and other plugins +if(! defined('WEBSHOT_PROXY') ) define ('WEBSHOT_PROXY', ''); //In case you're behind a proxy server. +if(! defined('WEBSHOT_XVFB_RUNNING') ) define ('WEBSHOT_XVFB_RUNNING', false); //ADVANCED: Enable this if you've got Xvfb running in the background. + + +// If ALLOW_EXTERNAL is true and ALLOW_ALL_EXTERNAL_SITES is false, then external images will only be fetched from these domains and their subdomains. +if(! isset($ALLOWED_SITES)){ + $ALLOWED_SITES = array ( + 'flickr.com', + 'staticflickr.com', + 'picasa.com', + 'img.youtube.com', + 'upload.wikimedia.org', + 'photobucket.com', + 'imgur.com', + 'imageshack.us', + 'tinypic.com', + ); +} +// ------------------------------------------------------------- +// -------------- STOP EDITING CONFIGURATION HERE -------------- +// ------------------------------------------------------------- + +timthumb::start(); + +class timthumb { + protected $src = ""; + protected $is404 = false; + protected $docRoot = ""; + protected $lastURLError = false; + protected $localImage = ""; + protected $localImageMTime = 0; + protected $url = false; + protected $myHost = ""; + protected $isURL = false; + protected $cachefile = ''; + protected $errors = array(); + protected $toDeletes = array(); + protected $cacheDirectory = ''; + protected $startTime = 0; + protected $lastBenchTime = 0; + protected $cropTop = false; + protected $salt = ""; + protected $fileCacheVersion = 1; //Generally if timthumb.php is modifed (upgraded) then the salt changes and all cache files are recreated. This is a backup mechanism to force regen. + protected $filePrependSecurityBlock = "handleErrors(); + $tim->securityChecks(); + if($tim->tryBrowserCache()){ + exit(0); + } + $tim->handleErrors(); + if(FILE_CACHE_ENABLED && $tim->tryServerCache()){ + exit(0); + } + $tim->handleErrors(); + $tim->run(); + $tim->handleErrors(); + exit(0); + } + public function __construct(){ + global $ALLOWED_SITES; + $this->startTime = microtime(true); + date_default_timezone_set('UTC'); + $this->debug(1, "Starting new request from " . $this->getIP() . " to " . $_SERVER['REQUEST_URI']); + $this->calcDocRoot(); + //On windows systems I'm assuming fileinode returns an empty string or a number that doesn't change. Check this. + $this->salt = @filemtime(__FILE__) . '-' . @fileinode(__FILE__); + $this->debug(3, "Salt is: " . $this->salt); + if(FILE_CACHE_DIRECTORY){ + if(! is_dir(FILE_CACHE_DIRECTORY)){ + @mkdir(FILE_CACHE_DIRECTORY); + if(! is_dir(FILE_CACHE_DIRECTORY)){ + $this->error("Could not create the file cache directory."); + return false; + } + } + $this->cacheDirectory = FILE_CACHE_DIRECTORY; + if (!touch($this->cacheDirectory . '/index.html')) { + $this->error("Could not create the index.html file - to fix this create an empty file named index.html file in the cache directory."); + } + } else { + $this->cacheDirectory = sys_get_temp_dir(); + } + //Clean the cache before we do anything because we don't want the first visitor after FILE_CACHE_TIME_BETWEEN_CLEANS expires to get a stale image. + $this->cleanCache(); + + $this->myHost = preg_replace('/^www\./i', '', $_SERVER['HTTP_HOST']); + $this->src = $this->param('src'); + $this->url = parse_url($this->src); + $this->src = preg_replace('/https?:\/\/(?:www\.)?' . $this->myHost . '/i', '', $this->src); + + if(strlen($this->src) <= 3){ + $this->error("No image specified"); + return false; + } + if(BLOCK_EXTERNAL_LEECHERS && array_key_exists('HTTP_REFERER', $_SERVER) && (! preg_match('/^https?:\/\/(?:www\.)?' . $this->myHost . '(?:$|\/)/i', $_SERVER['HTTP_REFERER']))){ + // base64 encoded red image that says 'no hotlinkers' + // nothing to worry about! :) + $imgData = base64_decode("R0lGODlhUAAMAIAAAP8AAP///yH5BAAHAP8ALAAAAABQAAwAAAJpjI+py+0Po5y0OgAMjjv01YUZ\nOGplhWXfNa6JCLnWkXplrcBmW+spbwvaVr/cDyg7IoFC2KbYVC2NQ5MQ4ZNao9Ynzjl9ScNYpneb\nDULB3RP6JuPuaGfuuV4fumf8PuvqFyhYtjdoeFgAADs="); + header('Content-Type: image/gif'); + header('Content-Length: ' . sizeof($imgData)); + header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0'); + header("Pragma: no-cache"); + header('Expires: ' . gmdate ('D, d M Y H:i:s', time())); + echo $imgData; + return false; + exit(0); + } + if(preg_match('/^https?:\/\/[^\/]+/i', $this->src)){ + $this->debug(2, "Is a request for an external URL: " . $this->src); + $this->isURL = true; + } else { + $this->debug(2, "Is a request for an internal file: " . $this->src); + } + if($this->isURL && (! ALLOW_EXTERNAL)){ + $this->error("You are not allowed to fetch images from an external website."); + return false; + } + if($this->isURL){ + if(ALLOW_ALL_EXTERNAL_SITES){ + $this->debug(2, "Fetching from all external sites is enabled."); + } else { + $this->debug(2, "Fetching only from selected external sites is enabled."); + $allowed = false; + foreach($ALLOWED_SITES as $site){ + if ((strtolower(substr($this->url['host'],-strlen($site)-1)) === strtolower(".$site")) || (strtolower($this->url['host'])===strtolower($site))) { + $this->debug(3, "URL hostname {$this->url['host']} matches $site so allowing."); + $allowed = true; + } + } + if(! $allowed){ + return $this->error("You may not fetch images from that site. To enable this site in timthumb, you can either add it to \$ALLOWED_SITES and set ALLOW_EXTERNAL=true. Or you can set ALLOW_ALL_EXTERNAL_SITES=true, depending on your security needs."); + } + } + } + + $cachePrefix = ($this->isURL ? '_ext_' : '_int_'); + if($this->isURL){ + $arr = explode('&', $_SERVER ['QUERY_STRING']); + asort($arr); + $this->cachefile = $this->cacheDirectory . '/' . FILE_CACHE_PREFIX . $cachePrefix . md5($this->salt . implode('', $arr) . $this->fileCacheVersion) . FILE_CACHE_SUFFIX; + } else { + $this->localImage = $this->getLocalImagePath($this->src); + if(! $this->localImage){ + $this->debug(1, "Could not find the local image: {$this->localImage}"); + $this->error("Could not find the internal image you specified."); + $this->set404(); + return false; + } + $this->debug(1, "Local image path is {$this->localImage}"); + $this->localImageMTime = @filemtime($this->localImage); + //We include the mtime of the local file in case in changes on disk. + $this->cachefile = $this->cacheDirectory . '/' . FILE_CACHE_PREFIX . $cachePrefix . md5($this->salt . $this->localImageMTime . $_SERVER ['QUERY_STRING'] . $this->fileCacheVersion) . FILE_CACHE_SUFFIX; + } + $this->debug(2, "Cache file is: " . $this->cachefile); + + return true; + } + public function __destruct(){ + foreach($this->toDeletes as $del){ + $this->debug(2, "Deleting temp file $del"); + @unlink($del); + } + } + public function run(){ + if($this->isURL){ + if(! ALLOW_EXTERNAL){ + $this->debug(1, "Got a request for an external image but ALLOW_EXTERNAL is disabled so returning error msg."); + $this->error("You are not allowed to fetch images from an external website."); + return false; + } + $this->debug(3, "Got request for external image. Starting serveExternalImage."); + if($this->param('webshot')){ + if(WEBSHOT_ENABLED){ + $this->debug(3, "webshot param is set, so we're going to take a webshot."); + $this->serveWebshot(); + } else { + $this->error("You added the webshot parameter but webshots are disabled on this server. You need to set WEBSHOT_ENABLED == true to enable webshots."); + } + } else { + $this->debug(3, "webshot is NOT set so we're going to try to fetch a regular image."); + $this->serveExternalImage(); + + } + } else { + $this->debug(3, "Got request for internal image. Starting serveInternalImage()"); + $this->serveInternalImage(); + } + return true; + } + protected function handleErrors(){ + if($this->haveErrors()){ + if(NOT_FOUND_IMAGE && $this->is404()){ + if($this->serveImg(NOT_FOUND_IMAGE)){ + exit(0); + } else { + $this->error("Additionally, the 404 image that is configured could not be found or there was an error serving it."); + } + } + if(ERROR_IMAGE){ + if($this->serveImg(ERROR_IMAGE)){ + exit(0); + } else { + $this->error("Additionally, the error image that is configured could not be found or there was an error serving it."); + } + } + $this->serveErrors(); + exit(0); + } + return false; + } + protected function tryBrowserCache(){ + if(BROWSER_CACHE_DISABLE){ $this->debug(3, "Browser caching is disabled"); return false; } + if(!empty($_SERVER['HTTP_IF_MODIFIED_SINCE']) ){ + $this->debug(3, "Got a conditional get"); + $mtime = false; + //We've already checked if the real file exists in the constructor + if(! is_file($this->cachefile)){ + //If we don't have something cached, regenerate the cached image. + return false; + } + if($this->localImageMTime){ + $mtime = $this->localImageMTime; + $this->debug(3, "Local real file's modification time is $mtime"); + } else if(is_file($this->cachefile)){ //If it's not a local request then use the mtime of the cached file to determine the 304 + $mtime = @filemtime($this->cachefile); + $this->debug(3, "Cached file's modification time is $mtime"); + } + if(! $mtime){ return false; } + + $iftime = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']); + $this->debug(3, "The conditional get's if-modified-since unixtime is $iftime"); + if($iftime < 1){ + $this->debug(3, "Got an invalid conditional get modified since time. Returning false."); + return false; + } + if($iftime < $mtime){ //Real file or cache file has been modified since last request, so force refetch. + $this->debug(3, "File has been modified since last fetch."); + return false; + } else { //Otherwise serve a 304 + $this->debug(3, "File has not been modified since last get, so serving a 304."); + header ($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified'); + $this->debug(1, "Returning 304 not modified"); + return true; + } + } + return false; + } + protected function tryServerCache(){ + $this->debug(3, "Trying server cache"); + if(file_exists($this->cachefile)){ + $this->debug(3, "Cachefile {$this->cachefile} exists"); + if($this->isURL){ + $this->debug(3, "This is an external request, so checking if the cachefile is empty which means the request failed previously."); + if(filesize($this->cachefile) < 1){ + $this->debug(3, "Found an empty cachefile indicating a failed earlier request. Checking how old it is."); + //Fetching error occured previously + if(time() - @filemtime($this->cachefile) > WAIT_BETWEEN_FETCH_ERRORS){ + $this->debug(3, "File is older than " . WAIT_BETWEEN_FETCH_ERRORS . " seconds. Deleting and returning false so app can try and load file."); + @unlink($this->cachefile); + return false; //to indicate we didn't serve from cache and app should try and load + } else { + $this->debug(3, "Empty cachefile is still fresh so returning message saying we had an error fetching this image from remote host."); + $this->set404(); + $this->error("An error occured fetching image."); + return false; + } + } + } else { + $this->debug(3, "Trying to serve cachefile {$this->cachefile}"); + } + if($this->serveCacheFile()){ + $this->debug(3, "Succesfully served cachefile {$this->cachefile}"); + return true; + } else { + $this->debug(3, "Failed to serve cachefile {$this->cachefile} - Deleting it from cache."); + //Image serving failed. We can't retry at this point, but lets remove it from cache so the next request recreates it + @unlink($this->cachefile); + return true; + } + } + } + protected function error($err){ + $this->debug(3, "Adding error message: $err"); + $this->errors[] = $err; + return false; + + } + protected function haveErrors(){ + if(sizeof($this->errors) > 0){ + return true; + } + return false; + } + protected function serveErrors(){ + header ($_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request'); + $html = '
                      '; + foreach($this->errors as $err){ + $html .= '
                    • ' . htmlentities($err) . '
                    • '; + } + $html .= '
                    '; + echo '

                    A TimThumb error has occured

                    The following error(s) occured:
                    ' . $html . '
                    '; + echo '
                    Query String : ' . htmlentities ($_SERVER['QUERY_STRING']); + echo '
                    TimThumb version : ' . VERSION . ''; + } + protected function serveInternalImage(){ + $this->debug(3, "Local image path is $this->localImage"); + if(! $this->localImage){ + $this->sanityFail("localImage not set after verifying it earlier in the code."); + return false; + } + $fileSize = filesize($this->localImage); + if($fileSize > MAX_FILE_SIZE){ + $this->error("The file you specified is greater than the maximum allowed file size."); + return false; + } + if($fileSize <= 0){ + $this->error("The file you specified is <= 0 bytes."); + return false; + } + $this->debug(3, "Calling processImageAndWriteToCache() for local image."); + if($this->processImageAndWriteToCache($this->localImage)){ + $this->serveCacheFile(); + return true; + } else { + return false; + } + } + protected function cleanCache(){ + if (FILE_CACHE_TIME_BETWEEN_CLEANS < 0) { + return; + } + $this->debug(3, "cleanCache() called"); + $lastCleanFile = $this->cacheDirectory . '/timthumb_cacheLastCleanTime.touch'; + + //If this is a new timthumb installation we need to create the file + if(! is_file($lastCleanFile)){ + $this->debug(1, "File tracking last clean doesn't exist. Creating $lastCleanFile"); + if (!touch($lastCleanFile)) { + $this->error("Could not create cache clean timestamp file."); + } + return; + } + if(@filemtime($lastCleanFile) < (time() - FILE_CACHE_TIME_BETWEEN_CLEANS) ){ //Cache was last cleaned more than 1 day ago + $this->debug(1, "Cache was last cleaned more than " . FILE_CACHE_TIME_BETWEEN_CLEANS . " seconds ago. Cleaning now."); + // Very slight race condition here, but worst case we'll have 2 or 3 servers cleaning the cache simultaneously once a day. + if (!touch($lastCleanFile)) { + $this->error("Could not create cache clean timestamp file."); + } + $files = glob($this->cacheDirectory . '/*' . FILE_CACHE_SUFFIX); + if ($files) { + $timeAgo = time() - FILE_CACHE_MAX_FILE_AGE; + foreach($files as $file){ + if(@filemtime($file) < $timeAgo){ + $this->debug(3, "Deleting cache file $file older than max age: " . FILE_CACHE_MAX_FILE_AGE . " seconds"); + @unlink($file); + } + } + } + return true; + } else { + $this->debug(3, "Cache was cleaned less than " . FILE_CACHE_TIME_BETWEEN_CLEANS . " seconds ago so no cleaning needed."); + } + return false; + } + protected function processImageAndWriteToCache($localImage){ + $sData = getimagesize($localImage); + $origType = $sData[2]; + $mimeType = $sData['mime']; + + $this->debug(3, "Mime type of image is $mimeType"); + if(! preg_match('/^image\/(?:gif|jpg|jpeg|png)$/i', $mimeType)){ + return $this->error("The image being resized is not a valid gif, jpg or png."); + } + + if (!function_exists ('imagecreatetruecolor')) { + return $this->error('GD Library Error: imagecreatetruecolor does not exist - please contact your webhost and ask them to install the GD library'); + } + + if (function_exists ('imagefilter') && defined ('IMG_FILTER_NEGATE')) { + $imageFilters = array ( + 1 => array (IMG_FILTER_NEGATE, 0), + 2 => array (IMG_FILTER_GRAYSCALE, 0), + 3 => array (IMG_FILTER_BRIGHTNESS, 1), + 4 => array (IMG_FILTER_CONTRAST, 1), + 5 => array (IMG_FILTER_COLORIZE, 4), + 6 => array (IMG_FILTER_EDGEDETECT, 0), + 7 => array (IMG_FILTER_EMBOSS, 0), + 8 => array (IMG_FILTER_GAUSSIAN_BLUR, 0), + 9 => array (IMG_FILTER_SELECTIVE_BLUR, 0), + 10 => array (IMG_FILTER_MEAN_REMOVAL, 0), + 11 => array (IMG_FILTER_SMOOTH, 0), + ); + } + + // get standard input properties + $new_width = (int) abs ($this->param('w', 0)); + $new_height = (int) abs ($this->param('h', 0)); + $zoom_crop = (int) $this->param('zc', DEFAULT_ZC); + $quality = (int) abs ($this->param('q', DEFAULT_Q)); + $align = $this->cropTop ? 't' : $this->param('a', 'c'); + $filters = $this->param('f', DEFAULT_F); + $sharpen = (bool) $this->param('s', DEFAULT_S); + $canvas_color = $this->param('cc', DEFAULT_CC); + $canvas_trans = (bool) $this->param('ct', '1'); + + // set default width and height if neither are set already + if ($new_width == 0 && $new_height == 0) { + $new_width = 100; + $new_height = 100; + } + + // ensure size limits can not be abused + $new_width = min ($new_width, MAX_WIDTH); + $new_height = min ($new_height, MAX_HEIGHT); + + // set memory limit to be able to have enough space to resize larger images + $this->setMemoryLimit(); + + // open the existing image + $image = $this->openImage ($mimeType, $localImage); + if ($image === false) { + return $this->error('Unable to open image.'); + } + + // Get original width and height + $width = imagesx ($image); + $height = imagesy ($image); + $origin_x = 0; + $origin_y = 0; + + // generate new w/h if not provided + if ($new_width && !$new_height) { + $new_height = floor ($height * ($new_width / $width)); + } else if ($new_height && !$new_width) { + $new_width = floor ($width * ($new_height / $height)); + } + + // scale down and add borders + if ($zoom_crop == 3) { + + $final_height = $height * ($new_width / $width); + + if ($final_height > $new_height) { + $new_width = $width * ($new_height / $height); + } else { + $new_height = $final_height; + } + + } + + // create a new true color image + $canvas = imagecreatetruecolor ($new_width, $new_height); + imagealphablending ($canvas, false); + + if (strlen($canvas_color) == 3) { //if is 3-char notation, edit string into 6-char notation + $canvas_color = str_repeat(substr($canvas_color, 0, 1), 2) . str_repeat(substr($canvas_color, 1, 1), 2) . str_repeat(substr($canvas_color, 2, 1), 2); + } else if (strlen($canvas_color) != 6) { + $canvas_color = DEFAULT_CC; // on error return default canvas color + } + + $canvas_color_R = hexdec (substr ($canvas_color, 0, 2)); + $canvas_color_G = hexdec (substr ($canvas_color, 2, 2)); + $canvas_color_B = hexdec (substr ($canvas_color, 4, 2)); + + // Create a new transparent color for image + // If is a png and PNG_IS_TRANSPARENT is false then remove the alpha transparency + // (and if is set a canvas color show it in the background) + if(preg_match('/^image\/png$/i', $mimeType) && !PNG_IS_TRANSPARENT && $canvas_trans){ + $color = imagecolorallocatealpha ($canvas, $canvas_color_R, $canvas_color_G, $canvas_color_B, 127); + }else{ + $color = imagecolorallocatealpha ($canvas, $canvas_color_R, $canvas_color_G, $canvas_color_B, 0); + } + + + // Completely fill the background of the new image with allocated color. + imagefill ($canvas, 0, 0, $color); + + // scale down and add borders + if ($zoom_crop == 2) { + + $final_height = $height * ($new_width / $width); + + if ($final_height > $new_height) { + + $origin_x = $new_width / 2; + $new_width = $width * ($new_height / $height); + $origin_x = round ($origin_x - ($new_width / 2)); + + } else { + + $origin_y = $new_height / 2; + $new_height = $final_height; + $origin_y = round ($origin_y - ($new_height / 2)); + + } + + } + + // Restore transparency blending + imagesavealpha ($canvas, true); + + if ($zoom_crop > 0) { + + $src_x = $src_y = 0; + $src_w = $width; + $src_h = $height; + + $cmp_x = $width / $new_width; + $cmp_y = $height / $new_height; + + // calculate x or y coordinate and width or height of source + if ($cmp_x > $cmp_y) { + + $src_w = round ($width / $cmp_x * $cmp_y); + $src_x = round (($width - ($width / $cmp_x * $cmp_y)) / 2); + + } else if ($cmp_y > $cmp_x) { + + $src_h = round ($height / $cmp_y * $cmp_x); + $src_y = round (($height - ($height / $cmp_y * $cmp_x)) / 2); + + } + + // positional cropping! + if ($align) { + if (strpos ($align, 't') !== false) { + $src_y = 0; + } + if (strpos ($align, 'b') !== false) { + $src_y = $height - $src_h; + } + if (strpos ($align, 'l') !== false) { + $src_x = 0; + } + if (strpos ($align, 'r') !== false) { + $src_x = $width - $src_w; + } + } + + imagecopyresampled ($canvas, $image, $origin_x, $origin_y, $src_x, $src_y, $new_width, $new_height, $src_w, $src_h); + + } else { + + // copy and resize part of an image with resampling + imagecopyresampled ($canvas, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); + + } + + if ($filters != '' && function_exists ('imagefilter') && defined ('IMG_FILTER_NEGATE')) { + // apply filters to image + $filterList = explode ('|', $filters); + foreach ($filterList as $fl) { + + $filterSettings = explode (',', $fl); + if (isset ($imageFilters[$filterSettings[0]])) { + + for ($i = 0; $i < 4; $i ++) { + if (!isset ($filterSettings[$i])) { + $filterSettings[$i] = null; + } else { + $filterSettings[$i] = (int) $filterSettings[$i]; + } + } + + switch ($imageFilters[$filterSettings[0]][1]) { + + case 1: + + imagefilter ($canvas, $imageFilters[$filterSettings[0]][0], $filterSettings[1]); + break; + + case 2: + + imagefilter ($canvas, $imageFilters[$filterSettings[0]][0], $filterSettings[1], $filterSettings[2]); + break; + + case 3: + + imagefilter ($canvas, $imageFilters[$filterSettings[0]][0], $filterSettings[1], $filterSettings[2], $filterSettings[3]); + break; + + case 4: + + imagefilter ($canvas, $imageFilters[$filterSettings[0]][0], $filterSettings[1], $filterSettings[2], $filterSettings[3], $filterSettings[4]); + break; + + default: + + imagefilter ($canvas, $imageFilters[$filterSettings[0]][0]); + break; + + } + } + } + } + + // sharpen image + if ($sharpen && function_exists ('imageconvolution')) { + + $sharpenMatrix = array ( + array (-1,-1,-1), + array (-1,16,-1), + array (-1,-1,-1), + ); + + $divisor = 8; + $offset = 0; + + imageconvolution ($canvas, $sharpenMatrix, $divisor, $offset); + + } + //Straight from Wordpress core code. Reduces filesize by up to 70% for PNG's + if ( (IMAGETYPE_PNG == $origType || IMAGETYPE_GIF == $origType) && function_exists('imageistruecolor') && !imageistruecolor( $image ) && imagecolortransparent( $image ) > 0 ){ + imagetruecolortopalette( $canvas, false, imagecolorstotal( $image ) ); + } + + $imgType = ""; + $tempfile = tempnam($this->cacheDirectory, 'timthumb_tmpimg_'); + if(preg_match('/^image\/(?:jpg|jpeg)$/i', $mimeType)){ + $imgType = 'jpg'; + imagejpeg($canvas, $tempfile, $quality); + } else if(preg_match('/^image\/png$/i', $mimeType)){ + $imgType = 'png'; + imagepng($canvas, $tempfile, floor($quality * 0.09)); + } else if(preg_match('/^image\/gif$/i', $mimeType)){ + $imgType = 'gif'; + imagegif($canvas, $tempfile); + } else { + return $this->sanityFail("Could not match mime type after verifying it previously."); + } + + if($imgType == 'png' && OPTIPNG_ENABLED && OPTIPNG_PATH && @is_file(OPTIPNG_PATH)){ + $exec = OPTIPNG_PATH; + $this->debug(3, "optipng'ing $tempfile"); + $presize = filesize($tempfile); + $out = `$exec -o1 $tempfile`; //you can use up to -o7 but it really slows things down + clearstatcache(); + $aftersize = filesize($tempfile); + $sizeDrop = $presize - $aftersize; + if($sizeDrop > 0){ + $this->debug(1, "optipng reduced size by $sizeDrop"); + } else if($sizeDrop < 0){ + $this->debug(1, "optipng increased size! Difference was: $sizeDrop"); + } else { + $this->debug(1, "optipng did not change image size."); + } + } else if($imgType == 'png' && PNGCRUSH_ENABLED && PNGCRUSH_PATH && @is_file(PNGCRUSH_PATH)){ + $exec = PNGCRUSH_PATH; + $tempfile2 = tempnam($this->cacheDirectory, 'timthumb_tmpimg_'); + $this->debug(3, "pngcrush'ing $tempfile to $tempfile2"); + $out = `$exec $tempfile $tempfile2`; + $todel = ""; + if(is_file($tempfile2)){ + $sizeDrop = filesize($tempfile) - filesize($tempfile2); + if($sizeDrop > 0){ + $this->debug(1, "pngcrush was succesful and gave a $sizeDrop byte size reduction"); + $todel = $tempfile; + $tempfile = $tempfile2; + } else { + $this->debug(1, "pngcrush did not reduce file size. Difference was $sizeDrop bytes."); + $todel = $tempfile2; + } + } else { + $this->debug(3, "pngcrush failed with output: $out"); + $todel = $tempfile2; + } + @unlink($todel); + } + + $this->debug(3, "Rewriting image with security header."); + $tempfile4 = tempnam($this->cacheDirectory, 'timthumb_tmpimg_'); + $context = stream_context_create (); + $fp = fopen($tempfile,'r',0,$context); + file_put_contents($tempfile4, $this->filePrependSecurityBlock . $imgType . ' ?' . '>'); //6 extra bytes, first 3 being image type + file_put_contents($tempfile4, $fp, FILE_APPEND); + fclose($fp); + @unlink($tempfile); + $this->debug(3, "Locking and replacing cache file."); + $lockFile = $this->cachefile . '.lock'; + $fh = fopen($lockFile, 'w'); + if(! $fh){ + return $this->error("Could not open the lockfile for writing an image."); + } + if(flock($fh, LOCK_EX)){ + @unlink($this->cachefile); //rename generally overwrites, but doing this in case of platform specific quirks. File might not exist yet. + rename($tempfile4, $this->cachefile); + flock($fh, LOCK_UN); + fclose($fh); + @unlink($lockFile); + } else { + fclose($fh); + @unlink($lockFile); + @unlink($tempfile4); + return $this->error("Could not get a lock for writing."); + } + $this->debug(3, "Done image replace with security header. Cleaning up and running cleanCache()"); + imagedestroy($canvas); + imagedestroy($image); + return true; + } + protected function calcDocRoot(){ + $docRoot = @$_SERVER['DOCUMENT_ROOT']; + if (defined('LOCAL_FILE_BASE_DIRECTORY')) { + $docRoot = LOCAL_FILE_BASE_DIRECTORY; + } + if(!isset($docRoot)){ + $this->debug(3, "DOCUMENT_ROOT is not set. This is probably windows. Starting search 1."); + if(isset($_SERVER['SCRIPT_FILENAME'])){ + $docRoot = str_replace( '\\', '/', substr($_SERVER['SCRIPT_FILENAME'], 0, 0-strlen($_SERVER['PHP_SELF']))); + $this->debug(3, "Generated docRoot using SCRIPT_FILENAME and PHP_SELF as: $docRoot"); + } + } + if(!isset($docRoot)){ + $this->debug(3, "DOCUMENT_ROOT still is not set. Starting search 2."); + if(isset($_SERVER['PATH_TRANSLATED'])){ + $docRoot = str_replace( '\\', '/', substr(str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']), 0, 0-strlen($_SERVER['PHP_SELF']))); + $this->debug(3, "Generated docRoot using PATH_TRANSLATED and PHP_SELF as: $docRoot"); + } + } + if($docRoot && $_SERVER['DOCUMENT_ROOT'] != '/'){ $docRoot = preg_replace('/\/$/', '', $docRoot); } + $this->debug(3, "Doc root is: " . $docRoot); + $this->docRoot = $docRoot; + + } + protected function getLocalImagePath($src){ + $src = ltrim($src, '/'); //strip off the leading '/' + if(! $this->docRoot){ + $this->debug(3, "We have no document root set, so as a last resort, lets check if the image is in the current dir and serve that."); + //We don't support serving images outside the current dir if we don't have a doc root for security reasons. + $file = preg_replace('/^.*?([^\/\\\\]+)$/', '$1', $src); //strip off any path info and just leave the filename. + if(is_file($file)){ + return $this->realpath($file); + } + return $this->error("Could not find your website document root and the file specified doesn't exist in timthumbs directory. We don't support serving files outside timthumb's directory without a document root for security reasons."); + } //Do not go past this point without docRoot set + + //Try src under docRoot + if(file_exists ($this->docRoot . '/' . $src)) { + $this->debug(3, "Found file as " . $this->docRoot . '/' . $src); + $real = $this->realpath($this->docRoot . '/' . $src); + if(stripos($real, $this->docRoot) === 0){ + return $real; + } else { + $this->debug(1, "Security block: The file specified occurs outside the document root."); + //allow search to continue + } + } + //Check absolute paths and then verify the real path is under doc root + $absolute = $this->realpath('/' . $src); + if($absolute && file_exists($absolute)){ //realpath does file_exists check, so can probably skip the exists check here + $this->debug(3, "Found absolute path: $absolute"); + if(! $this->docRoot){ $this->sanityFail("docRoot not set when checking absolute path."); } + if(stripos($absolute, $this->docRoot) === 0){ + return $absolute; + } else { + $this->debug(1, "Security block: The file specified occurs outside the document root."); + //and continue search + } + } + + $base = $this->docRoot; + + // account for Windows directory structure + if (strstr($_SERVER['SCRIPT_FILENAME'],':')) { + $sub_directories = explode('\\', str_replace($this->docRoot, '', $_SERVER['SCRIPT_FILENAME'])); + } else { + $sub_directories = explode('/', str_replace($this->docRoot, '', $_SERVER['SCRIPT_FILENAME'])); + } + + foreach ($sub_directories as $sub){ + $base .= $sub . '/'; + $this->debug(3, "Trying file as: " . $base . $src); + if(file_exists($base . $src)){ + $this->debug(3, "Found file as: " . $base . $src); + $real = $this->realpath($base . $src); + if(stripos($real, $this->realpath($this->docRoot)) === 0){ + return $real; + } else { + $this->debug(1, "Security block: The file specified occurs outside the document root."); + //And continue search + } + } + } + return false; + } + protected function realpath($path){ + //try to remove any relative paths + $remove_relatives = '/\w+\/\.\.\//'; + while(preg_match($remove_relatives,$path)){ + $path = preg_replace($remove_relatives, '', $path); + } + //if any remain use PHP realpath to strip them out, otherwise return $path + //if using realpath, any symlinks will also be resolved + return preg_match('#^\.\./|/\.\./#', $path) ? realpath($path) : $path; + } + protected function toDelete($name){ + $this->debug(3, "Scheduling file $name to delete on destruct."); + $this->toDeletes[] = $name; + } + protected function serveWebshot(){ + $this->debug(3, "Starting serveWebshot"); + $instr = "Please follow the instructions at http://code.google.com/p/timthumb/ to set your server up for taking website screenshots."; + if(! is_file(WEBSHOT_CUTYCAPT)){ + return $this->error("CutyCapt is not installed. $instr"); + } + if(! is_file(WEBSHOT_XVFB)){ + return $this->Error("Xvfb is not installed. $instr"); + } + $cuty = WEBSHOT_CUTYCAPT; + $xv = WEBSHOT_XVFB; + $screenX = WEBSHOT_SCREEN_X; + $screenY = WEBSHOT_SCREEN_Y; + $colDepth = WEBSHOT_COLOR_DEPTH; + $format = WEBSHOT_IMAGE_FORMAT; + $timeout = WEBSHOT_TIMEOUT * 1000; + $ua = WEBSHOT_USER_AGENT; + $jsOn = WEBSHOT_JAVASCRIPT_ON ? 'on' : 'off'; + $javaOn = WEBSHOT_JAVA_ON ? 'on' : 'off'; + $pluginsOn = WEBSHOT_PLUGINS_ON ? 'on' : 'off'; + $proxy = WEBSHOT_PROXY ? ' --http-proxy=' . WEBSHOT_PROXY : ''; + $tempfile = tempnam($this->cacheDirectory, 'timthumb_webshot'); + $url = $this->src; + if(! preg_match('/^https?:\/\/[a-zA-Z0-9\.\-]+/i', $url)){ + return $this->error("Invalid URL supplied."); + } + $url = preg_replace('/[^A-Za-z0-9\-\.\_\~:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=]+/', '', $url); //RFC 3986 + //Very important we don't allow injection of shell commands here. URL is between quotes and we are only allowing through chars allowed by a the RFC + // which AFAIKT can't be used for shell injection. + if(WEBSHOT_XVFB_RUNNING){ + putenv('DISPLAY=:100.0'); + $command = "$cuty $proxy --max-wait=$timeout --user-agent=\"$ua\" --javascript=$jsOn --java=$javaOn --plugins=$pluginsOn --js-can-open-windows=off --url=\"$url\" --out-format=$format --out=$tempfile"; + } else { + $command = "$xv --server-args=\"-screen 0, {$screenX}x{$screenY}x{$colDepth}\" $cuty $proxy --max-wait=$timeout --user-agent=\"$ua\" --javascript=$jsOn --java=$javaOn --plugins=$pluginsOn --js-can-open-windows=off --url=\"$url\" --out-format=$format --out=$tempfile"; + } + $this->debug(3, "Executing command: $command"); + $out = `$command`; + $this->debug(3, "Received output: $out"); + if(! is_file($tempfile)){ + $this->set404(); + return $this->error("The command to create a thumbnail failed."); + } + $this->cropTop = true; + if($this->processImageAndWriteToCache($tempfile)){ + $this->debug(3, "Image processed succesfully. Serving from cache"); + return $this->serveCacheFile(); + } else { + return false; + } + } + protected function serveExternalImage(){ + if(! preg_match('/^https?:\/\/[a-zA-Z0-9\-\.]+/i', $this->src)){ + $this->error("Invalid URL supplied."); + return false; + } + $tempfile = tempnam($this->cacheDirectory, 'timthumb'); + $this->debug(3, "Fetching external image into temporary file $tempfile"); + $this->toDelete($tempfile); + #fetch file here + if(! $this->getURL($this->src, $tempfile)){ + @unlink($this->cachefile); + touch($this->cachefile); + $this->debug(3, "Error fetching URL: " . $this->lastURLError); + $this->error("Error reading the URL you specified from remote host." . $this->lastURLError); + return false; + } + + $mimeType = $this->getMimeType($tempfile); + if(! preg_match("/^image\/(?:jpg|jpeg|gif|png)$/i", $mimeType)){ + $this->debug(3, "Remote file has invalid mime type: $mimeType"); + @unlink($this->cachefile); + touch($this->cachefile); + $this->error("The remote file is not a valid image. Mimetype = '" . $mimeType . "'" . $tempfile); + return false; + } + if($this->processImageAndWriteToCache($tempfile)){ + $this->debug(3, "Image processed succesfully. Serving from cache"); + return $this->serveCacheFile(); + } else { + return false; + } + } + public static function curlWrite($h, $d){ + fwrite(self::$curlFH, $d); + self::$curlDataWritten += strlen($d); + if(self::$curlDataWritten > MAX_FILE_SIZE){ + return 0; + } else { + return strlen($d); + } + } + protected function serveCacheFile(){ + $this->debug(3, "Serving {$this->cachefile}"); + if(! is_file($this->cachefile)){ + $this->error("serveCacheFile called in timthumb but we couldn't find the cached file."); + return false; + } + $fp = fopen($this->cachefile, 'rb'); + if(! $fp){ return $this->error("Could not open cachefile."); } + fseek($fp, strlen($this->filePrependSecurityBlock), SEEK_SET); + $imgType = fread($fp, 3); + fseek($fp, 3, SEEK_CUR); + if(ftell($fp) != strlen($this->filePrependSecurityBlock) + 6){ + @unlink($this->cachefile); + return $this->error("The cached image file seems to be corrupt."); + } + $imageDataSize = filesize($this->cachefile) - (strlen($this->filePrependSecurityBlock) + 6); + $this->sendImageHeaders($imgType, $imageDataSize); + $bytesSent = @fpassthru($fp); + fclose($fp); + if($bytesSent > 0){ + return true; + } + $content = file_get_contents ($this->cachefile); + if ($content != FALSE) { + $content = substr($content, strlen($this->filePrependSecurityBlock) + 6); + echo $content; + $this->debug(3, "Served using file_get_contents and echo"); + return true; + } else { + $this->error("Cache file could not be loaded."); + return false; + } + } + protected function sendImageHeaders($mimeType, $dataSize){ + if(! preg_match('/^image\//i', $mimeType)){ + $mimeType = 'image/' . $mimeType; + } + if(strtolower($mimeType) == 'image/jpg'){ + $mimeType = 'image/jpeg'; + } + $gmdate_expires = gmdate ('D, d M Y H:i:s', strtotime ('now +10 days')) . ' GMT'; + $gmdate_modified = gmdate ('D, d M Y H:i:s') . ' GMT'; + // send content headers then display image + header ('Content-Type: ' . $mimeType); + header ('Accept-Ranges: none'); //Changed this because we don't accept range requests + header ('Last-Modified: ' . $gmdate_modified); + header ('Content-Length: ' . $dataSize); + if(BROWSER_CACHE_DISABLE){ + $this->debug(3, "Browser cache is disabled so setting non-caching headers."); + header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0'); + header("Pragma: no-cache"); + header('Expires: ' . gmdate ('D, d M Y H:i:s', time())); + } else { + $this->debug(3, "Browser caching is enabled"); + header('Cache-Control: max-age=' . BROWSER_CACHE_MAX_AGE . ', must-revalidate'); + header('Expires: ' . $gmdate_expires); + } + return true; + } + protected function securityChecks(){ + } + protected function param($property, $default = ''){ + if (isset ($_GET[$property])) { + return $_GET[$property]; + } else { + return $default; + } + } + protected function openImage($mimeType, $src){ + switch ($mimeType) { + case 'image/jpeg': + $image = imagecreatefromjpeg ($src); + break; + + case 'image/png': + $image = imagecreatefrompng ($src); + imagealphablending( $image, true ); + imagesavealpha( $image, true ); + break; + + case 'image/gif': + $image = imagecreatefromgif ($src); + break; + + default: + $this->error("Unrecognised mimeType"); + } + + return $image; + } + protected function getIP(){ + $rem = @$_SERVER["REMOTE_ADDR"]; + $ff = @$_SERVER["HTTP_X_FORWARDED_FOR"]; + $ci = @$_SERVER["HTTP_CLIENT_IP"]; + if(preg_match('/^(?:192\.168|172\.16|10\.|127\.)/', $rem)){ + if($ff){ return $ff; } + if($ci){ return $ci; } + return $rem; + } else { + if($rem){ return $rem; } + if($ff){ return $ff; } + if($ci){ return $ci; } + return "UNKNOWN"; + } + } + protected function debug($level, $msg){ + if(DEBUG_ON && $level <= DEBUG_LEVEL){ + $execTime = sprintf('%.6f', microtime(true) - $this->startTime); + $tick = sprintf('%.6f', 0); + if($this->lastBenchTime > 0){ + $tick = sprintf('%.6f', microtime(true) - $this->lastBenchTime); + } + $this->lastBenchTime = microtime(true); + error_log("TimThumb Debug line " . __LINE__ . " [$execTime : $tick]: $msg"); + } + } + protected function sanityFail($msg){ + return $this->error("There is a problem in the timthumb code. Message: Please report this error at timthumb's bug tracking page: $msg"); + } + protected function getMimeType($file){ + $info = getimagesize($file); + if(is_array($info) && $info['mime']){ + return $info['mime']; + } + return ''; + } + protected function setMemoryLimit(){ + $inimem = ini_get('memory_limit'); + $inibytes = timthumb::returnBytes($inimem); + $ourbytes = timthumb::returnBytes(MEMORY_LIMIT); + if($inibytes < $ourbytes){ + ini_set ('memory_limit', MEMORY_LIMIT); + $this->debug(3, "Increased memory from $inimem to " . MEMORY_LIMIT); + } else { + $this->debug(3, "Not adjusting memory size because the current setting is " . $inimem . " and our size of " . MEMORY_LIMIT . " is smaller."); + } + } + protected static function returnBytes($size_str){ + switch (substr ($size_str, -1)) + { + case 'M': case 'm': return (int)$size_str * 1048576; + case 'K': case 'k': return (int)$size_str * 1024; + case 'G': case 'g': return (int)$size_str * 1073741824; + default: return $size_str; + } + } + + protected function getURL($url, $tempfile){ + $this->lastURLError = false; + $url = preg_replace('/ /', '%20', $url); + if(function_exists('curl_init')){ + $this->debug(3, "Curl is installed so using it to fetch URL."); + self::$curlFH = fopen($tempfile, 'w'); + if(! self::$curlFH){ + $this->error("Could not open $tempfile for writing."); + return false; + } + self::$curlDataWritten = 0; + $this->debug(3, "Fetching url with curl: $url"); + $curl = curl_init($url); + curl_setopt ($curl, CURLOPT_TIMEOUT, CURL_TIMEOUT); + curl_setopt ($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30"); + curl_setopt ($curl, CURLOPT_RETURNTRANSFER, TRUE); + curl_setopt ($curl, CURLOPT_HEADER, 0); + curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt ($curl, CURLOPT_WRITEFUNCTION, 'timthumb::curlWrite'); + @curl_setopt ($curl, CURLOPT_FOLLOWLOCATION, true); + @curl_setopt ($curl, CURLOPT_MAXREDIRS, 10); + + $curlResult = curl_exec($curl); + fclose(self::$curlFH); + $httpStatus = curl_getinfo($curl, CURLINFO_HTTP_CODE); + if($httpStatus == 404){ + $this->set404(); + } + if($httpStatus == 302){ + $this->error("External Image is Redirecting. Try alternate image url"); + return false; + } + if($curlResult){ + curl_close($curl); + return true; + } else { + $this->lastURLError = curl_error($curl); + curl_close($curl); + return false; + } + } else { + $img = @file_get_contents ($url); + if($img === false){ + $err = error_get_last(); + if(is_array($err) && $err['message']){ + $this->lastURLError = $err['message']; + } else { + $this->lastURLError = $err; + } + if(preg_match('/404/', $this->lastURLError)){ + $this->set404(); + } + + return false; + } + if(! file_put_contents($tempfile, $img)){ + $this->error("Could not write to $tempfile."); + return false; + } + return true; + } + + } + protected function serveImg($file){ + $s = getimagesize($file); + if(! ($s && $s['mime'])){ + return false; + } + header ('Content-Type: ' . $s['mime']); + header ('Content-Length: ' . filesize($file) ); + header ('Cache-Control: no-store, no-cache, must-revalidate, max-age=0'); + header ("Pragma: no-cache"); + $bytes = @readfile($file); + if($bytes > 0){ + return true; + } + $content = @file_get_contents ($file); + if ($content != FALSE){ + echo $content; + return true; + } + return false; + + } + protected function set404(){ + $this->is404 = true; + } + protected function is404(){ + return $this->is404; + } +} diff --git a/artificer/header.php b/artificer/header.php new file mode 100755 index 0000000..1356639 --- /dev/null +++ b/artificer/header.php @@ -0,0 +1,104 @@ + +> + + + + +<?php woo_title(''); ?> + + + + + + + +> + + +
                    + + + +
                    + +
                    + + + + + + + + \ No newline at end of file diff --git a/artificer/images/ajax-loader.gif b/artificer/images/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..27d0aa8108b0800f9cddcf613f787347d9981e05 GIT binary patch literal 723 zcmZ?wbhEHb6ky0iXa9k4z>53@HBR_Hzvhc6JPKHPSO+W(0~W{*!Vp zN=+!e)X>LZSp~!n_rkGVK%h z9k_L9<(o^(d!N7A`+9eTzQ!EZMr*-N2_|eB&45;SC+a-zP~lXP;z?eTv`FKm^!Y8l zuZ^S*OlLmOv^VZNyYQx zE1Q1d^QD!~t!MErXFkzlm$bqCmuUZ)iN%&IQkAQ(b??%e8>EQMBqK<8T-y}!%q4L0 z4v$MoL7}cEx5PfOihDclHe=f1_`ny+jJ+qGonTF#=e6?cS1GK1Glv+XQW)E^VpGzx z%$u!=(=#3~+Lk*jmQUf$-=^(}f)AMWru(Y&&oE(%*JUs>JH24vgCGuUPSS^%^#tgi z6`S6zDw0tR+QR$5bp7w`G6mDQzjYm%RoE)?D^8cegv~i}{SvGJM6wyypdX1^@s6zs*Ol0003rNklI^NI(J-5ReZfL;|IqWQJk5XY$dHo$0jQ&2o3SW!m?B zV!%}x=6^9P6?6YRMY0vSqEu`*9{#FGr%sfZa3`t7tUP_MV>u?a0daT=0v^ywlnKay zv>Gd+V<8g@LJ9%{Z$u~dIxX@0!vPSTpalle84fq64ckL=5Fk!lg%L3e_k#g+4ort~ zzX+?aYT9{y$N<@&Ml91rLRz{)I@dNU3>?IXj6lb??cu!7qeWwY6|d5P)-#2`T=N_w zKNC?wE`$C$rOtB4M87|@I^hmEK4jwf2NUH<6Pr>eW80E~7e+TYTUc%s;k^P&PxLLL zvV&U%Z8ZWn%B9in1v6zvH>)=iLP?OS78&^5>tJDI8_de9K1=5V*$xV!GonJX00000 LNkvXXu0mjfnHr6_ literal 0 HcmV?d00001 diff --git a/artificer/images/body.gif b/artificer/images/body.gif new file mode 100644 index 0000000000000000000000000000000000000000..8eca3b62bfdda20fd6e2eb157eb3d8b5d67fe896 GIT binary patch literal 105493 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 T*}|^~(k^B|UZDgqL;wIgH^Ft% literal 0 HcmV?d00001 diff --git a/artificer/images/body.png b/artificer/images/body.png new file mode 100644 index 0000000000000000000000000000000000000000..9548b4497d1bb34380f782bd1f64d66a716f2ebc GIT binary patch literal 457 zcmeAS@N?(olHy`uVBq!ia0vp^;y}#9!3HEdt<`=2DVAa<&kznEsNqQI0P;BtJR*x3 z7`TN%nDNrxx<5cc(Gu5)66d1S#FEVXJcW?V+*AfbQ+-o?LnC{=75qR2av%l4`DrEP ziAAXljw$&`sS0kHMXBZaMcKs)&cUX7hO6a0UNbN-DtNj$hFF|_JNaZ^vjdOIPsjiN zRo~1Oux^n(_#*OEM~aZjuvkOr z{O2o=grCdB+}>v7JNekQ+{rqpkCeu8HaV=ZIe&Cp?m@ZZ3l+}UocCheurB-S>}7%W zJkDQvrXsnTOfB8F3C%91NcvYwB>$hc-7ir8Bl3KJ$NA&gYeUE&XPKetmHuG9( z?FpyZTfDoE{P3IPBJbRiud?HmQ_vD8#z~jHI*YB^8RofYwT?i-$IjW7Gn-RB7#vQN zC^7TjWYM=cbkR%mO%2UGiNSC6BjdI|4V~tH`;e_OGry+i|1G*(diVuB_uUlZ3W=1^ xC@SDojJ$vLpg?Ho*Rtp{`|77W{jdJ$4@38d*dr&VuLQ*fgQu&X%Q~loCIC!Pyz~G7 literal 0 HcmV?d00001 diff --git a/artificer/images/comment.png b/artificer/images/comment.png new file mode 100644 index 0000000000000000000000000000000000000000..529fd5c5ee3ea606f2c15113c8a23f85a0e79c9b GIT binary patch literal 414 zcmeAS@N?(olHy`uVBq!ia0y~yVCe<2B{|rD$B*vT`50|;t3QaXTq&H|6f zVg?3oArNM~bhqvgP*ASKHKHUqKdq!Zu_%?nF(p4KRlzN@D78GlD7#p}IoMRsaJ9V0 zYoJOIkV@yG)Wnj^{5*w_%-mE4BYjhSL!;=}1?)iiZ=NoWAr*0NZye-h43ucSXdWdH z*sx)-dSLrhtF$jEo*@cZ72p2fJ=bKBURvz^qwQYxZ_(|a3(I%Jyf0-2>Ni;LY73+o z988#iq(X-qh{JM`14uR~NHGE_0T*SESW^ZIkaQ3Ld6zbe#n6jEf*wc)I$ztaD0e0s#H}Y1aS% literal 0 HcmV?d00001 diff --git a/artificer/images/crinkles.png b/artificer/images/crinkles.png new file mode 100644 index 0000000000000000000000000000000000000000..4498d851e9131e6b9408beab26bf40b1650bbce1 GIT binary patch literal 606466 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

                    (gd5J8fFZ(G-@9C;e4jH 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

                    lV80?XVJEHU)fj6peL zwl+JDgqBcpjRlt$zom-pQ^hPVk;;tox>d)T)i13bkWnW*yS@8emFPbhF(ZVP;3G8& z(H#gXNIg@_%$fvrxuy+f~T8Prj4$&Q`@=N*=@_N999n*Z_ zc=H=}e2LXZrfght)8(@V|2uBkLn#Np4;ay`SRsgJRf)T+NRB^D5vvV@*KF_ zJKmfk|NPItCxpW5*CQ{Fe@1XC-Oi!rkQ!Nv66M0~Fyiz%>+BGp(AsmJGeTwP2E>H5 zobldo{DuK6HKu~Q18t6HwHtzJ8?vxM>2dV9ekE~cUHNS{uC9%&>#jhD=+Le~rS;EC zEvPvtf)l}OMK^7smE8JVYh+D{B^j|BP*+&<+`vSv4Fp*`#5|b82gPhA`eTD%%15if z7Q^#G&W?Vkh$XzMz>3v^cWoly;3=)#C@K{5Oy@Hcr3;Z_D`K~pT~XIl-2@!k&4NBr zQ%}tqr~76ma1|c{^V~KTy&vdfL7c;djMLC8CnYjnS8_RXoeQ}_&erT3wNQ0wlWK{0 zEu_4XYnzZF(jLOHqQ2lmpxA`1ubc8qBJ0{>P3xi*yWq_Tz!+vy-sAhi=slM;WBmht z`6-v{2l{<&fT@}}>~2|?3GXLvZ}yD-j<`ay^%1%|zW?yV`RSg= z^Mw!R3Fim?r+@E1G}gkVZVQY_st_rQE(oUK+cYA4USqVTSa5SB(`CJ zSnHK)-xQ&)sh_+rlJ_eS@@gZidpe-$p+3zEs14q!il}WBlCYUX*4C$05UEWWS}SZI z&z6e#sA3gUb!Mow;@L;0g~Lp3qYYV0QK;3Ai4cues-P^*!W;GCeLu`FE76geZZr&PZULHE3T zark@!`n*1`&+GSc{rWfGH6?ORNWDelOil~VS319AUVjkp4f9Ve9Vtre;ksmE0Pj6c zJ;9HX^R->%4$-7T8RERP^faj`#>of^%a$7 z11xz(q!8S`r8LM?xsvMy=%xpa+l7QDh5@Re+oe(;diFPoB`f0g2q$uSOSglk^*gSM z(7DPoN1i`_&SC$IAHM&NoD^|qRBxHD4t0r?K2VmI?N;B<%!}gO$dcY+)-lE%q8Cz` zFxv3nYDX7$gb*p&gRgksQKT}b1zdvk1w|e?pB9SEEc3+u!#`@;3#C4>&NH3A zC8gyPD`K}7(qf-Xb!G*Vz?u>zHA{!H9pc*Fp>?=vd$amc^%$U5oHL3QV&~D?E)}vR zoaATFWPHT8mv)m#F!BC zEp4p^WPDiKfX0<(s&Q+(c(k@}bKcO{D#V0@mnXXM0QnW?hYx7i5#k3dcl6yrj30+Z zd*Fsz9LqY<>q3by=z_AaGM9Ti@0h2at9y@|PCQ*lYS_`08IdbVgzA5e>%JvQM_C=B zLZ}b08pAQNP8TFc7#H%=F}N8mh2)fLJ%GF;7GoSP1iN7_Mk-gP^CNxV^TWFjbayX^ zmU%c$?7E(%zN5M)^5uc&FJ5un9~k8u$`U!9UZB2kDl_-@SJL#r>*qg1{mgahNj2lU z9hn7Whm#H;C*-4vNNZ!A)K*V(-aaL$kwDJZrbpJss8JnQmc+{!zcZZpum3Oqhf$;; z+Vp$oS~LqLT=#*rDpQ)coZ;dAk-Qq+_zPl=%-08Us^C75@I0LZyZ!~&WVkScURbXq z_yyI#n!m%cQ0k6;|2-xDEzigQ8PoMWlVlctP1K$rE}2rF@#R;yjD6+#{(y7FTy|Vs zC>0&`lIPSk-?3;4(=GlQ4FMD>~Em>wnJ!^W; zJU{a0@jaJw=JE31@T+etX~{f)G4kcBSKQpB278l$YR}>3gr++}r)dAg{rfB4E77-x zc&=B*zHe^~SzGkKwE6&25Hil~D5-)!qt1~Nh&H_@<_OVKZDq|9m=N?iCA-#jbZ+a( zWxVdlsqr4vK}nG=wmL#(!TA}0T0;Z$`2`5APLXLaC}@KdSBTxmn0$ch+U>Z&yfjMn zy0n{cbZON9;uh`6RO`2gTeqS2T4P_-ZK|0@Z*^NNuvq5l`aNt9D;FG9PN+4IV9vfd zn=LHu=N-}%^QK9b+bpFV^tT+vnB7Fbmds01-rifsyxuqp)T{k8| z-ySY9K~cO9RPzKkVi>`12XS-MTCgh2>pRe?*$ui#S`}zF%=D4$)H5$3qo4egmtX&kr~CIjJw9SqdHwn|;K;f8h@nu5|77N9K+H<138k4-asjV>d+6$B zN$K)7O)u1XZHy24Em~Sy0->}D4^kSe^3$K&sM76l-0T$2DJIKy^AlSdMHdvMW{;4m z#c(dLq*Lp`nNo8{*Mal0B_^y@DJ-;snF#3iYqt-+QnsJ-2I?|aOqTXqwf~;IKijn= z%hvR;Z;aWP*=qLQ?jG(DnR(i3SY%0%C<>sUOTCFGkdiqj3?AGj69&UV{Oef;cuaJt%%+p07?Wkt9t)cl!kQq@Srsjvs-hn{tfqiSN zHU!Skf*XK|2`P;w$73+(q zR=0g)-#g1OP)fx5g_M;PkJ4M9m4owxq!Lw!!9uC^1rW(oq_&+L@1?e#Rz+H?(z^+$ zYO2zjf?WKKAVGvKA}apbUx#KpU>!pA1=wwUM1!*LJ1HFyOH2n(C-~-Zr164tBOE*( zhTUnQ$%aWm0*LG*h3B8ue(q_siZ36+*np}VGQ6tkplsFP;5v%~!dd-t9EWA<%ljz| z5cVCdx&107kobWRH?R|iFFW$oNByv3&1n6G@JtMze!zmi%bK}8gozlAq&WMF)pR5Y zI<2p$)}gVyl9|Zy4WTPZ-b45$*51%1kh!C^XEa2bJrlyj@pNXIl$YxZx9tOYzItjm zUm-oQu7xQr?DdA}g{WRPEqf)WZ=l2Ra8Iua;mT<_vELwt*DT8&>*|ZLoHMP$UcaaA zft+U6>lN!auY7NrO@7aM6}Gk0_ld`sf5Y{q((Q@ENr-VF#bIUXc&eseh#`^kkrdR8 zfOTwxQvG=*w6zy&8J;7c_5JJJ6*&D@{8>B#vQ(HCMTZ0Rx|sD_T|R z*s_Z+?z++YjpHG+-fpNQ^0ZLfF{FbMnsy3yB=f;iosn`VFZ+661>LYv$uCLYa{D z126iT9xf!Q1Ohr04)Hsdu#oMUOB154O!7U~n~Nh}9Rr7HB3h@`e~*wNHeXpk{cB#X z9Sy?m`YZnRuix|PV1)TC`+lSHBUZnm*^Ma$LMZg+3EmV16T`aO0J}A?nc9_BH$o_W zE;dh;=X|7D;G5U?f0Uf~7yrA1=!CMMaV91x`voxS^?}R!$nSsu!Vm8snU95i6Uyc9 z5!u<>9lA84oVk@1ZU2PF=L_>8Q2I*DGbtGpuL*o2%U@suY5Bw=Z%Et|&xQRuQS&FB zK3+Mb*L-_ec=zti{o501nTRs8=pCo?Co+L=<|AP`(pw_LH^lzH@pwV<1oDdeyM@#I zhSQyLe>ZV=e&BEnyn47Ng_&kIBtb34?b7)DuPTo(pV0Di{_Su6&)n)A_s2K9eS6QV zhs=@>#Q03q#OZK?7AXCDV)Pi$JWU)=on8*qe&u+&W6BB4Cyc!cd)YxCasb`@(j;>*ARH{07*khUOUr`Mf%jtHGzjb-tUV2H|Ib|kpdR>a(;9fc+@{-My%4&)6NzijGp z+{i|Z(09L}LkWs{lwSghc)BBG$_`Ujw~!P!a-?L`c4JQO2s-pN?ZjF?aaepSpfb@0 zd@xP!*`DUeH2dW?O~U(6Kk=(y{g%BpJb{?l_bc6e8l7YwNffV*xNfqIm$Z^|cJQJ! zVsNX02BS5HS7F(qu~x{F$MM^C;%R$NQ$flrtTl2JR2vfS={I3(Ph*(1&`TtxMoxkA z`9PEt)H@_zDO)7O&Zn2(qoVAkal2kQOofA1zIpXO<-h;!Z~5)>-*89|{G-44j|d_2 za(!W0GT(jsGv|LOlu@0C$(5-heQ2hp!4-)F6;x(VFofn2x?Wr}+A`?w|64vQM0cun z4A%p7gdkyD<~wFi?=5BXub1m$uV{0IYj|O{CLl#28VFZk=$+xWhU%U{dI{|Dkq)zvz|hpdKp1$x{o04`s{`V`4|T zm7y2)5rLqiBI5%IMF)l2p@O)j4yc6KMXnmdh7NF zb*Uk0CZ82g=H?F#`h}1zB4f)?Jnk8fi0%YsKuoiNO}vsFZggJ0 zY$~Hh#AY;ZG%Y(2*v@Qy#2{L|2t6)b1C?E>CDs ztaqY%ouG9?b)wnMlp}PvlPJ;Cx2+(Yn3vDP_;D#U2x)`(=t~VrbUyj7bHGW1MpTrj zZe>$Bv&;+FkF@QD5Wc1H03?<$5z<5q6Sut(V{@yW?7VsN3sRieULeNGdMl_co|3hV zs0(wtA6Ar3UJ_+HqT#~2t)P(@GPVa#PJCv4ScWbv>3-BXFC_VvUL*7?3X~m8m0BH; zUDrei8{zo(NL#pF1Ep3^o7m=DyC9eZQi@=(Uz;zHQX3?!Bi8&pBWlB1moVw1=p3;W z-%#2MDHUqp5xt}Jis(v+k=_C!dK%k$a=2>u%lzl%N{o?GjTC1@aMqj5XiumJDXJ$G z5Nb7+rO^A1u#%?7v3z`>_2it0-Z>r?raTS(yw}N%LNgaO`1!s0*Cb5T(nuP70j8gT z3AA}tzDEo}IF8zr|7!x_}RNRgfx?*v4<1r9eevg=&zCd3bmhz_UCR4`S5SK)khxg zg`+)i-G0v@J-~iLY(=6BcAtz?iV#wz)=t?HweRfhi4+!6%0Qr$j>H`ef!7ZYf0Uf~ z=l}emWF$7!60K%#w@22C@O=4!kB?7CTxjbz++M(XrS3)z6VD=CYvKNosoMq9%<;{{ z;|FD0JPD9wM#Vvad%1c)Zmn3nvb?(Er>6&|82R||Bft3B9Y1^f4R7B(@bDnC4MJ1C zeVv%5isIkwJu1XViWTz0tr^p)Q8{y$-m%PyIK6OxKXXjqa$FvKii=?_(3vT>N8bPV z#4msKiJu-HK_2=2?|w(h|A1wF4f4XPG1SbavPuq@z*@F>_m2F3%MW3DvRDZy@2B zoE`?(AQ05`Mj}T_yCPKoU`dJEZcK9~<%MZJP+DQTJ@dQo|Ay~>{DF|+{`|ACg})$T z#P9|QJ6Iq6GeLAkw7HHe2(`Pfxwe%UT)WwOr}R!MkyDrqO3D*r zS3+D_ugcmY&l{BfBg?VD_H#6C-qX*<>F|oOuc$_D<$GF9w7w%`4%0np3hdAK%%>Z# z&##H`=iF|QU;f?y9orxH$N%I%CgcFJLRbFm7vDMsyxAYLsU~!*>|6DVwsx#dw7$}N zL1gm^gBmU)9+%KC`60*_*U$DFBEc`;I=-Jr^}(cJboNq-!C3~XesQ0s*{eO~m7Csi zuXiZ4e)A*@cf^$GeI=(%sX_=Dkr^`~g$88jG^p!vRdv)zs&7-8lGM!@ZjW(#bQ_Vg z+IDABXr#A-HABQZnS1L5`K(I{K423;KZ7apubWfQ$1viHbKbw_d#_&(!k=}aK4AD< z!>jI(9##yqPVfKDAj0eqfBEH~J<<~<;)gSV0c9QJ_ZsLmQE3>Am;E?Ms2@nISF?B{ z$v2=f>NT0BSBJvZh0F7^Ls{+U@XQdAK4G@w5Y&d+8N!o)E=eTBoz?_M&Lsgw0U~YS|S`ii2b)y!cl*Y0&kLve( zA0}uW!+%e_S^sQ8+k6Nijb_DDt=+jx;Kr$1>v$h^2dJAmW1UNV zzLu-dWiYAQSZF9h8k*ETVxK#CaM@a4IUEzW_1R(B8c8XTgI7gUiVk8ACnOm8aKq%n zhYvRl<>BFu-gh5#kzCLonsdR1f->soh1wYMg+{}_{;CT>f`8wuCw)YAbS#mYO$715 zo5|`+ucWkg<2cWRc_s9TT3|k&nbMW8bV4fJ-5sfW=aBC?p3dy;J%@axlnWa(=Q2^H zalU)Syi}g*jiB$y_808+x4hhpYgZQg1tDG#gnYO|Da`YUzA4AE^Xshrg2P-{uQNR; zQGuLE_Ggr0r1?PC55$3O4K*pX|NGo7zbExVS_044M{6JJhlhb@n@=+DO?tR6Rz)#P0&NZ+!Fmk8B`7U%)*OJTrM4JE2r~?r^m$BcfS94gK12e zV?u3XlNa*hksb|jTyC7^2bLvpUYr;jVjo@iLbJ}g{m9Ex<-h&6|2IB98j?P8yB1!q z7cT3L?K407**CoVW+E!Qesy4;52*MgQPW0Bi5Ov??x_5Ts(0w~vN>&;3ivlzOf%h9 z*6o=b555l-LqY{JtbfK088IcN=d04>N6IEl(}J~ym>R8hn!viKJJQd{6I<`}=pCPDi$_upA6kS1@T*%qprI8ak?HgqaYP z9A`p|Xk=`hC!$XDk%DPG(F>S0)_SF}qWv|~?3dYYJL_fV`8l)hzr5IQao1MP-Wjm|WTVkE|D^*+!|Gf7quxLJ+3u#I!VyhkHx|J@53b5fA?t{^6Vd zh{JNnzFmn8zIpeC7>(O?9pCqLm?J#ZpyIUxXoyTcJq}9vT!#oFA<~O`yt`LIdhecg zkmf*B6l5PUQ6+?c=zuGwOsR!1eC|OL+qU{kG5DcNB#mvz3%waJE^f=9VQr_GYt1Sf zA!LVa3e($gQAad(TFI`0je*+y`?)oEe%?^=lviGM zYJX%oLbn%ENW|DsJ-T*TRuJg;A*k5|3UA+ht#y2TzCK@{Kh5X+?|)>wc9z8x6RjEh zu2?&e;>6zGV^(AaH3MZd>cUI%iB7s_Buk9OnqZhXkq}v6++-%`VXW zq9~@c?(ZH6E2TBeG9enRLaj=kqr=B1^(}NxzQ|0orzLbo!ZhB~g%EcCb&Z8w2uimd zqtRL$Obky#lZ>qQ%+pLh+;Q6~PmdqS%Z= z*L0e^o@?D}+A-au_K1W;>jANiy3Yu&DC3HINeBg9?%^cryxD#r-vA4oJ-5~+?9ZK=q=IL}#P(KglnCQcX zr?L{_HdtIT6y^qGghEP2H$R*7T77^enJ8XkP|-02(2?JCvzyp7RPRQNp2kcm(5m?o zPaE^W2UXY0O3Vu(`NAfKMA;zffps^`4)mdwheo}fIK4je^!T2fjE7flc3Ag9&H>E) z980A4II7=`sIH_{3ACP2gkJrO>(KKKdh_!g2j`51BPPC>v0goWlrmF}w5GJSk@7;0 zZ)x%q(=;LdH912N+?dmRuyQ`W^@VPTWEy>br1efnAa>$7?HuLOJxrt=Y2|0sQi%K(X%jswds)G*h}?0~9aE+4 z(QSvjqI$>2>zN*JNE05GKciV>Q6rYfH{X3njE(E%2SN@++v)w^l65DP3A5jEtq`=b z_A^iG&slH3;}nIb?I)JwYg7|eW_p-ew#>wkVg+_JE3m2H0-y`@6i?-9ErWg|@+$N4o=x+A7X?&Rm3mjJwH(g$jL zg^6*Dkq~~x?eR6&vJ%1xX*bfK#S%`$<7?O#Ufp#x-Z-Sh@!>5w&h%1w**D6*)2#FR zA3HDYBQM)d(tFez`}R9m@yQA4flzm5jU1pl_nB|MdCkLvlWX^KW11qOo!;iLK?Ut^ zMqEo#g;M;RRQf~=iE1MjZwYHcjIQMi`9|xNpc63)rBph`73MIVyEmOs=Cl zC2aM|a?I3HF(zW{)OtZV67_-GdLd8#q12mC7B%=LwpKWu0{gx*UMB}gl^igpcpdOrg@O*hhBlK#- z9EUL^0V^p%ErFOlTDjhgY2Hy1t@;)q#_SjTWSDd=m+SC=zvggwAVmk>gt%eh3F^^n z451S2M39A)E2g`XvNaKM@eh{3_)qdAMcoL&nFY7<2}Ibg2V!(!)cwO9`&D@Qw6R;D z#|u*o6zc>5?cSL@&V^Q#7?d2()b>ow#=d5dz+P@p-my#%Y~>RoevzM-op~0I+i%EAV&7I$n7mq%(zrlZf<`2)3_S#HfbgN0Xz;(MyQM;w1UV^?~N2A*0PI6ZN;n)KoY1_x+$$OV5E%@CO<@|4-`B?>ZtiEBlgTzK+!e4;hhX@)FRa8dm;j?BH8ACnSriQ3vsN!i1Crx{; z5+KBFYaw@3M_6ao8SP?nWt0J*eYbJ(F$i|z8hp#uFug}-#>+>i1{QigE z5cQ6qKD;M}nJH&f4rsa(iR5r%IW%Hiqz8FM-lAI}$^q@kDPC`b>yps2yCTt>H5$c|kRP z(R0U`=@J}_EX9+B)L~uo&9lko-EWLucVg^bH?<6;p|o}&p^9M$wUu#hiz6NE@4=MB z&u0-zdnRZe=Rsd2wU+28Ii9edDD4v(Jq;qk-*ejvInS)Oomx(aW>oqZ5DZbb3CisM zUfIX8AYleEW@-sO%#eii15q=*-29y%Uh(?=TaIC7{dl6M7v^avrG@=woX-vmvB+r3T6f2#^LYjrPbyR0G1*COu`#lmXd2VREBON|c z>PpUch-Rh`N%6pPct@Irm{xLD8avp`G&N%CqW#gjW-3PC$&#$ImpwmA>4 zj_->EQ6d_IT05=sh2s#$xy)H!oqf;b^cJ%~hz=iDP7p5S{EE_cBwm=OiIMH%yW?Ay!)ropw0a$0w9im)=xs%0AE^lFUA!tFg<2gl3y`8=y+QXxkjV<# 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
                    C`XCxgBw>~ZicX1{SV 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 literal 0 HcmV?d00001 diff --git a/artificer/images/logo.png b/artificer/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..81d5b41525a39a4266784a11447b9f351f4fbdb2 GIT binary patch literal 2926 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 RfuR5Z002ovPDHLkV1hU#Ll*!5 literal 0 HcmV?d00001 diff --git a/artificer/images/paperclip.png b/artificer/images/paperclip.png new file mode 100644 index 0000000000000000000000000000000000000000..6012e11de056355ae21548f650dfbd8ee6cd99cd GIT binary patch literal 1254 zcmVV>IRB3Hx05UT#G%qnSU?Vo_000C% zNklLG}?AijfuMQl}5e(K66N}1TGBn(1e?OIo!GD zp8G$)^Z&kcLV&L80Uu%nED2vs;R|^c6cku`dwZP&0|UO{;oOpnD9OcUxOqh3X61-*a7<~3$!}4bu4fTQGE`FV;fz*B;trDVg(VY+GxTq{e(P|_Hb{RZ{Zpi z*o45=p`oFhot>Q`Rz&|%TwGkH$jb76tb~RTfyVcVAi|oQoV*$0|FAkwxeuQg;mys> zD-gT~x>q3dhA!T{S6Nx5{1Et|FER!D)t+=W7}3x+E-rubfNaLe~k=qf!Y( zEbVhFa=x&z@QB4?ank1twe-s;p=&yJMMZ^+@t$C_8#3X!5U%z0^<_cy90UI^c96=z zhddb>8G9Ao^%Ll7{(PXcv@{Bvj4}R8Amqu!XDeKzRK+9s5QE(jx>C+$Df9C3N^CaU zHwL;^Kk2@8QElQ8eMzcHRaKRjpVrBE{tDMvs-GC>1cIMogEw^R>gtYXW@fs1?wCL~ z$X~jKD-alNzH^WIt=H7l`1mcJh>$U7BwThayj#T}e~VZ}cZ_BG#p!fzr^^Pyrpni> z=^E<%cL2E{f=Td))b4UseXQeSPbXY!X=$-j%5EcG=-%c2jDhZ_#2Q6mD!P&b+nD%n zyc#;4{SbPtySrPq`&ZcHY-(!i59&LSMj)ob-EMazAG|33DlaeZOiWC4$!0*rD7v90 zbOW(fEL2AvDaTf*clNKVKwo5P(ngN>{c!%I7XGtpvgL$2@k<*XJiA($;sKR z2wTibBD7A)6005Zc5Q9#FlUWjJm07)jG0x0Xt-=H$`-+9iESo49EQ|If9Rn1Gi*luH@(EAGF);TPAEc!852Z+DxmEneedm^z?7>=p!h;KvXx? zmy$Ru;bMy@yy+&(#~`bV1?0>uA#}0P zwX(9ZmZYSl?J8+)@4Dg4h4297$xmWqW50&xuA-u%!yJ@4C~Lp6o$rZ`j^51k&kRXB zFLY-kTvPPM&&6>{=z4X(ajCE-)YYhBcdzFad~ QJOBUy07*qoM6N<$g5P*il>h($ literal 0 HcmV?d00001 diff --git a/artificer/images/post.png b/artificer/images/post.png new file mode 100644 index 0000000000000000000000000000000000000000..42777bc644b5cb0551344c8457b96ee99e230342 GIT binary patch literal 1909 zcmeAS@N?(olHy`uVBq!ia0y~yU~*w#U{vH_1B%Qu+^+|uSc;uILpXq-h9ji|$mcBZ zh%9Dc;CcJ;T-V z9zZP&q9B#dMX8A;nfZANA(^?U3`WNKCi;d(3Cd=#7#P^jc)B=-RNQ)dD>iSogGj^0 zJKI-G{eDuoI^pr&(4~DMuA6KR@Yv5RUb1RkFT0h*4_0?Jn2Z_Wu6*q{9(`hR0T?#;r9zw2z6QO?TUwv#o3l3P69b2r@J%Ffj-K{oBOB z;2^-rz@fyz;K)LzWW#K>i#EFaml-d7pHscDu% z40Ph`e)*Z0ZbNe_n0q3GT=z=ocRb6ioY7bPX7jnz^KIY76;3RyJt^_n;xymu6SL*2 zqx)N56!0A7?Z2%2tvbxc?sL@y(cjwD?}OFz84~W~J3i$LtYly?&;t2V360pyKtZJT zh`KCeV2}viX{Z8BE{-Ptrw^CJB+oaA%R5`W`LWe`0qOYuzSlV$`Q8=J`DR!4Y1#36 zfsfr5TlO`7zdEb9#7rvt^|!57VxOLzueY#dX4v=i$3#hB;sT~SLWB=1xry*&Q^ve$ z$9JdR-=nw6>dpLPr{BsdTj$oVeX*fNW=CwFV4sbCOzZi-+lnjK$rwxb&b400e)DDV zEV~U14DKP>^i7X-vK#g-KBTR;D|Y$2*WJCv)6dV+=RP3${PmrW_tKxgimA*y&wJXY zS~q;p`zx=fOtxb%$ZP#YryxAfo#X$e!q#ft_M=t|4_Ycz;b_RyULN37K1dTA_rm%>S(CYAEWH4A&lnl;fz_>lnd`+Bp zdM|e_H-r6ySrs27c0S%|`+EPU_a|Hyr<%n-kNv>dP?&wA{|qq2f|D(NB1MbbBCki> z<@1(5`(BtGb3MlJ!0r0>xu>6XJ>6XN=g!W1x4u8|{T8^UVqe+KSx@8ilqDD%3b}XP zQPkpRU~p3fWhOLNrHGO13}~5c5F#*>i6J56>9GmGGMxod5+CsWd$U;g&$sW#C)Z!! z^Za+Q?y(hj|LyLY`@XZQ@X^^{i)`MPcQ7NTYg QSn)AdbVG7wVRUJ4ZXi@?ZDjy5HZL?U zF)}djr&$0103LKjSaefwW^{L9a%BKPWN%_+AVz6&Wp{6KYjYq&Q#CFzs~rPxrJvU5D=WP`Zb0)9-&_iT^n{@8!Ms-|>Clz4xd1_;^Z8Or)8W zmzT#~Gcq!W&*#&^m6n#qT`d+1#m2^7_Rhn@gAx)Fa5umg#y$~3g6nv$H-{8Kxo;}i zU21A735CKd?1qMhQb0ferKF_HK1)tc=3>at&nKx=N;x?>q);fRu&|JO?{qrn3}j|z za#w$UeFMdyz_=Fk zE0@b@e0+S)Co?jGXvW$f?SAPm8)x1zw7Dg{nIBd9>0x8*f8BFC_WCb2t2E1q)T=cI+7B7mVcAM=$%V z8VT+%*!Wj85KlpktOq;$01#w5umP;pllYV#?*{R`1~JqDXvERxfFDlhU=KyR)tjqw zY%GJLG0?7NFTq3~x=680J6o1g_=Pdh>C1JC;){)iO@G($qaGCkA)vasmFUP0AY576 z;dB5&Pu8hIiaxNxUKx;EO1!aQ)WE1jA|U{U#C9Rzogj#Lo=ex%| zZbirH2ABx6X9$wxk@B1ki8MlHBWMOOtYNT5FgZENLK@NNullJHNLC|=RoLu_EPEgc zBRYi~j-WSN4WwZNiYVBw1_V_@q8q|eSATD%u!rhVD|_Ii9g;zCqtRU6!V|Xinn_4z zdmRGo1q(+ZCm|#;kk{}>7eF`&gi*L7N~pkw#2sKbAIz*K$&Ev(5gig7f`o;Lt-~kv z1%S2Nfd&&36chvpoBRMWidlJ11MO<2I|H;gR1OK*5ts!AYJmhQyw3wjfx_)*YXcj} z>vUaw*%zCM_A7yC1j+9>1ymUuu+!g!Htde#?nJPxP#H7P(C-m+9W$KfAt*Dz7{y*_ z?MRi@{BbM_w+B~9Xs8a2Vg~|P4)uBc;NN8>Lx?lXbxY_Us z4-e<=fdHn&$U$g*3z#uNK0MaOVwQi7+0X|j+Im6bHWYRIw8YRhH-Uaz?lkhtum}CU zryBrt0ZlluM*@^mNU8xHgxQfovfCuOXNqB~76}VbxH_=94t0fr(j5$T>#=7q1BA6! z_>jO>7vd@eC>8Ld;o9i@$>$oUCj~Ir52>_^L?ZI`_MUqeejxzpI~M1^Gw3pkr8@5} zh)Igt!0HK9>NhlGSM+mT?Q4|3v9 z*I@(XG6uw>=K^TYM50}&FRoT6CMH~uSqo*;P9PAt9(bKj#2gSB3q>|58dfruq~g&O7^ac0g&Y-+1i fDhdn?Hx?z!jQ2bV6INNthX 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 OGd*|Fxa61XfBYXknkkF` literal 0 HcmV?d00001 diff --git a/artificer/images/string-top.png b/artificer/images/string-top.png new file mode 100644 index 0000000000000000000000000000000000000000..efe85cbea13acf1309396cf7b36f56b7d31ee7c4 GIT binary patch literal 1743 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 literal 0 HcmV?d00001 diff --git a/artificer/images/twitter.png b/artificer/images/twitter.png new file mode 100755 index 0000000000000000000000000000000000000000..7e78272eb5364f5180aa33aecefc16716e497f2b GIT binary patch literal 1309 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1Ffc1+hD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo`G(%fti7VnW3Jc zv5C34xsHO7fuVuEfswwUk*=Y+m9dePfq?=PC;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3Uk4Ff!5ws?aU2%qvN((9J7WhMC}!TAW;zSx}OhpQivaF)=B> zw8T~k=u(Imatq+b<`qMO2^e7d6^RAATTy4tl$n6Ew5TNLQh*R|;BE0;-&S3mKSkrB{S;uCqQy782w z$f74pkFvUc`t$UDeV)bqEnXOVkkUA`Y-q(to>ZU zO2xUqOT3q*oaVXjZmoBDPsfuvGam-Mo^dc#>fzyY2X7ubnD=C<#Ga1I=X}pkC(zSI{&r~vgn%Ek2Wntv@ zyIykawGkd=O>570^KDVQecU78pi|Ih$J`9ddoHb3ue@q6w|sr{>B^qtf@V|KU%%eZ az|62+H{6`<^z$2_0?X6Y&t;ucLK6Tvdg1v1 literal 0 HcmV?d00001 diff --git a/artificer/images/woothemes.png b/artificer/images/woothemes.png new file mode 100755 index 0000000000000000000000000000000000000000..844bf5f9390e3d72e24480af72bf31a8c865f87b GIT binary patch literal 2407 zcmV-t37GbYP)zO~w9H@d~d#>B+3Nt2qIXnm!BZ8qy>TgBDThf!l{n>D%-ZH<=V zi-)ULDM$rn3yM;U3c}^#-QVwI=H~P61$48??j)0$Gw00X{N|i9=lfg>7Az2#%QaO* ze&_S~Vnaeggau<--EOziZ0#82{4@(`Tb=Z?XU~*o>)`jG{Tl7(T;uWM$8zP$7607- zmtys_tp{Vj1o8Kto}T#7(9q`qaaKD{r9B?cbFEWJCpgZ{?6?7JE$H_#zQd0FFF<$^ zIa}NyJ_rj7i=RGyy2QrDN`HU1 zK(^#jmV7&oecy*@`lCmW{Gh(9vV+ls0r4UrIX#5M10_;&b8}_ewrz6s=uz3VYnMbs zMEHdX9Nm%DLweDoMKWQ+1Su~sSLJ!Y#Kc4yF=B+=y?a;g-@mW29Jj!vq@+l6bhNaz zv`A}ftMaj?2LLBwtO?ed<@$G|I#44q?8X{(=y#(ggO0^HeqzPE46BTp--g2y_v=L^k9{s1NnV=&a;5xu*OiavG8yl^4bai!=!_xCWhPSu3PsW+9<2-*D zK79BaPo6ya81ss8IhUL<73-Hkm-j}F99fMp5>7oZHy>>!WG`YYmSeEu#ZdlOR8-U# zSTozshtYH(X1IV-V=w{=`j~5(HEdd9WIdkU7ym|9v;lhPF zMj#2^wQJYZa+WPyrWQumtEs6`t68^hous9uDJV;qF4fAlZrr$`{Gy^F-N(2s4Z(}~ zyv3hsX#ltv2mT(4Gy?>ec}#pp86SbMag%-UeUSeK0G+@YD>0r#kgOM=O@_=Q=oRZ2 zOXqy_eWbBhJ?CScFC!x(x1grsOg{q9P0-^Y&e`Fn>GI{lElFHloZvQ8vH19SS+Qb; z0?63K1yfT~mA-ZBmW&=fS{5%}tnRpV>sDF6e!WyzS1X^c#`(*aFIWD?jT>d{+O<+y zS*iROjpjIKd%7rAndcyt+KPT)%wnzJ13VfU)HtRXW@m= zLT!BGTwg$hB|ye%TyV`}xWMlL>O5ykVt@$6J|)=mQ;-?pM;q6@1mNz$x@N(e=E7=x zot>RuaUSNR*|0=e%q_$kpFs94%=?IE!(Ok!1*>qjY)yw4tg(RHym`|fr$&t$rE!Hk z256crUquUCQ&W@Qx(EUnwu-Y5Xac}eRaK=tu4N1Nvw@y*&fK<(GFFam>7d6!CIvE) zq@6D+Y6uiv21Vb*{=c9Dn3uK!N}q-Dd8qlIe}uaq<9x^^Vty#(d^`udB^SUHLeJL$ z?g7NLBFJ`QU4m5x`CofDk;052j5iY}PSgYN6+3zIq?|Z$LU!)lscuB2$ZKnB)4oka z8E+Wdrc9ZlW3Qxx;a_yBwXJR_ zvVQ@u3_yK?J#ztcvD@BGZEdX{cGj#}vS!U1?ehhrMcli0Pu-8;F`nTSP%v2X^Yb-G z&z(D0X3UtOhrfFDs{er~C@9c*Y`HcM%E0e*ADf17E|KGLWcu(HS?ez&2bROZZ?GpZ0{)qw*CWb@|D>Y~NP#p-Yg@ zY&9-=0dzYm19}K7jj+*JK)^VUaQ9m?E<}2v8LH43eY$4l#G0y)E?J0oBM07al7QUot-*w?rqy|c4 zQBmeiyzzqv56brK+x7LbF=qDc*|KNP9<>JMRrb?_Zp9$a^nzKpBRK0k1VeRO%csTK zppQ5<6SsDruO%SX4B=gu9qw3q!z4*b9k_Q5-t%uw?F zzX!-scHrPqaH*A0D7vDeLiiWK36cf^SOOIy%{~jji?lDFk?rK#0eOx%K2I2LdJz08 zV1;ipQ=l9`8}f@j@V7_c*kAw$f)tE56kz<;>p|Z14idU;U_{x(FPK?6X?}a)MVN_L zvSryhI@{y8HfV+sO$DFXaV`{!V=|37xU!Q3X$+6DvsMZg(o&4H}iIrc9B Z1^~#7J>d7mL^l8c002ovPDHLkV1oDFo{sDSr z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}m6TW~gUq zY+`P1uA^XNU}&IkV5Dzoq-$tyWo%?+V4wg6Nh+i#(Mch>H3D2mX;thjEr=FDs+o0^GXscbn}XpVJ5hw7AF^F7L;V>=P7_pOiaoz zEwNPsx)kDt+yc06!V;*iRM zRQ;gT;{4L0WMIUlDTAykuyQU+O)SYT3dzsUfrVl~Mt(_taYlZDf^)E`f^TASW*&$S zR`2U;<(XGpl9-pA>gi&u1T;Y}Gc(1?#n{Qv$p(%8_*)y>$@ z#MQtErq?AuximL5uLPzy1)RB67F)=Cl-0%Nhmu^a?8hh0T^w9mUDEGv?>K8d)wzGgml>(n6(8(9 zLQ`Ch#S2apT=}rXs&X^0zh+&mx?FYr+U#jM&p!XmF}n>!Z>NQKA5GdC6{|P> z^2;lGmp8sGkxst-wyf7pS!InB58L6Yy>5IL4?h&>bP;&9@TlG|3th49u+^emt$*tN zdmg^;Yue+sIBvao_fZ+XX8WkksIZaiEUTJwq;9`_|M4e% zU3SxfhI=h7TH7ymYDPlEe(|R&oOc4=Tn{~SQG5F739G|ai+gJ%H$D6tw`B5(cf0TQ zMeSQrGMz2Vdufo~bZrr?n>pY77p~A!)0y}y{i;}wfugc`t-_fUBcP+T=39SO2rAyM zpBeR{cwfc~^WP~(GtWH#{IOzAA6KcOi{#|)d*A-5U(7KJ_WW~CWlPlBh`km&eN;Yr ze*d=iV1mNYPKgAk?cU2TKQG#Tn^!UG#jPb_t8c#j=Aht^HeXct(m@_MzIGpHwe!p8 zh!q6S|9RMhqy4Z_zyFd{qnS+y6__V7r5~zU$aB4H_t}UePj+sp+n(Sm=$UCEHRW^V z8NEkWUY10-N(yVbS7mfI82S`kd;k4t!q0_`SEsVE@%8Myap6pg^V0upjEa2XseZE? z#Fl;wZnjw7z%enSq+%NHRp;%&a~@9m^r+^be~*WvxYNc}&6gKXPYY_Umg(lx+a^@* y;MyFr{@1hJHY$01i`>iV{`=Qlt`e)`G+_9kRR3W^dd`1Pq3r4E=d#Wzp$PyqQ%Md0 literal 0 HcmV?d00001 diff --git a/artificer/includes/images/prettyPhoto/default/loader.gif b/artificer/includes/images/prettyPhoto/default/loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..35d397c9e430c2ee8f1d95d8fe47da79a399e746 GIT binary patch literal 6331 zcmds*`+F4iy~lTFXXZPzvzOV~*~`q{W@cw)MW88-6fAm{-61U4vX@XF#9*>`A*3Nj z8kM5~Hp%YhLLj#d1RBUD1c(6)V8EbYa{~gR2avYdrixLlT5CbHqV4f?g7rC1pNAjM z`NjPMW}ol-{d#}C@6UI^!kpQ2Vzh!*>{ciqef-h>qy6=p>&M?7FMqcD+}U&8UEQC5 z_IcTwveDtu_U-MTeEdlwmALfVOZ#8gUtCgr{MF;>E$R0^ct25@xODN-{@(rn_~swQ zMa9QoKAvt)zd!MQ`TFv6Z=CDi)BXA1J}-N^Z1mJ<`_A@HKK-P=u73RYOyn)56?1o!D4<#=fj3c?QWk zVxL?6=U)!&=VmnAnQ43do}>q!xNdFry;c?MAJ7r--4*U~>JU)@9?-a4M(UyU8_Foc zxfX`$^^5DA1j_=44Oai`p>=JniePNEQfdFXhk$Cg@kMd##+9mL8jVr4@z<^5utDQa zx4sktTCJ#amvnZ82%1*W5M&@W@aA3mU1&yjri_$%9KEH9s13{nn-3*+9RMWIL zbUPhBy`=-~ZvmC067L8QO(VX!FKi{^r8T+^5456w44R<}{qE00B-YW8fv3VS^~JNn zw~kM-`=inMV7VDUMw^?eYDfyp?Z#GZA|mAjqFJZWp!t<;Qu_|ITZ4q!wiOW+0lD3( z#sTRt#Xt;utU+Q&<#TS8hR@cpDpqMQSa@(Pa4x~pe-{!6>bNIecrf#tavh>BJ%3FtCDpn`>3Cy&#STaV)-haUg+gPV6R-L# ziPb`+uQJoP;H^gPUlN%97lovZs?58L>Ll+nsxt2~sxt2~sxt2~svl3H`YrEr2xQ*n z5KQtehv4F+N!aBO$gs;Hn3xQK47(fx8Fo26GVF4CCSjNJ^#1_6%rpAg;Nrc)T-s-Z z{l>5CiSu>+ftc5z--sx#m8T@{!uR;K&cf-IQYG;Nw(>#JOGCm8!FZr3TVpH8)f%Y? zuxg9~ksECchn8qs-Azpa2WWSQf`Eqo+oJ95Y6wDNx!o}bf7l9HRSi{*5<&0=tATm> zSjlk$H5jxb=U$-*i<-lCRrLXeA>0?ymhHPtmsJc8bSS!d`+(yQs%n$UZr9;J8ewD- zZc50~eN40|6c}p;YRGLMa?@!-<5u~#%nmUY4V#4(N&}-?(Ye0Y zp*Gk9CCM;2%B$7&((!c3QGoJ1)!KOq2!aVkJ6=5%BM3k`99-|KQShdqGMRKB622-= z2AkzhJ5mN3jFO`1*UF0lT+ZeC&C*q`6F4@v)XrW#Aq3WJATB* zrX>CXDth9{+InA>dfse%&5HjnB&LgMhB0V2M4h5hUyqo9>?lv$CXSZ)&4q2) zUnxArsY^4yuJ_`#*Hfd-;f$DU(FV&k4AB8oT5tB!IdAyClj3`o=`U|(Iy-1Es7Btp zmFbxfE-g*v1jyAXsZgjK%41satyg$Q_b}x3e^BmCC;abS=YswvoLbGfD@s)wtR67| zk>l*Ll@1=#>sjEoqjptkL8*zs^k$b!XD4G)cfescn++D7sEt(YcF30_tQ19R&z8d` z!mKbWFSh3H-a?EhaEpc6`p)aD9P^m)|FLRLe&DCHVIuvGRmaE3m$D$e75rk0x?q) ze(P{Y`g=K_|K;TjRC9;__uqOs;S~%OzR`jLZ$RiTP*ezKr#~|D0zB+j@71iK*-Z_x z1AJb>#MrCss#vZYf?+3Z0v4T4?DVB4*d?)v`~i zcwebQ+ixUE3$aDY9V7H+J&u#DV`H(i=MWc8z4-@|%B+C@6LBA^j+^9)WF?T^&@15p zaDI$CXq(Mlda4gMllGp21*#;l@qnk;(>s#?C*O z{EsYXApD8+mqlkQNJ0$WEWD7H{9bzb)nqO|spstTVLD^48?Ni0DKI|Hlfy;B-6KLW z@J7)wA*UetNjRw6%pYX#R<~zAvZnU&8Kp`llB+TpSz|uHl}Za=kShTz%W42aS}as< z@oE#r!cH4alD2SX#34GJ9D?Ij(y@f3#W17Gg%i!4$4rD1b0RLJspUeHz~m^}kkL#_ zF=N)V?#or-OtDg7Hpq2S8|wQ&_R{6hel>79<}fG}bL~Ckio`rzwdv<$3UUx+Q8}8i z#&>;w-b^U6t`rT8YAEwGEOuzDX3ELzh1i^nD~_-4^CroKGk3nAo_E_4{rTjD^SQ>i zd-2}NRrWgn#!Fp8v!}Lh=DWjI_F}9lI(6ld@t|16Q1^#P0kjz)B#8^TX(!;_8Uvv4om8yk2{X0LXqTr~eWdGv$7poe5rmrmL{buMHpo8M zBBf(d!Uo&u*M?7ynopn6(psYRcS~F@H>=gY6wXarF^m_UNgR-wwq50NR4hAEvcie# z^+vGi25Y|QetK{)N$7ov2YsPRUmmdLDXwKI?=t8t*xbPjRh3l^^!Go>L=rWdOR>>M zrfh!i%oP7WY7dd{_pw5LaSQ85XIYxvjaJjf)0kHj7E)ntU3K!gx9b}=BZz2e#5}5Kru{5D7l(+ z!YCN0z`l2Y(dk4|6vg)rIyfh$Y5o;Kd~~GSe&yN~WhE5#Ps0qtAIV=@vX>sb77rZM z0oHl>G7rTY=;@WrwhNu{2F2X+_=?wl)`VeM<>3eJ!fw~0zPN?-G;an*hZ%a~mY&Ck zlpem#mq|RC)3LpBcGF;qqjga%m>r$n?$6!DS1kJIjb{f6!{5j{I4O?T&+9?PC^k)1fqmgNBxxTLnm|(2<%9YxV zYFHdt70(i`q^Ni5!irMm5P+@!QO=$IpuO5a|6s1QHa^5Y(4iA+e6nnEwJR%njK8fC z*S}RF*zSj<3zJG*9a~sQkr+Brf8X6&_3rRMk*b1vESTLKoJi#e44t*R`H_3)9=C~t zKbm9JnM^8)WmT$MN?09o2?m?k#?{T{$(Ae<)Gw>5WFa_|C-+bwyuWxOuXYf}ckJ)T zJ*GZRywr3W7z}FR^;7>9VHtUg5Vq}msTYADPs_H@Tk8yN=ojxEd3d!)<2E#gJcQH) zxt7CYZaW#e*?<=>);#GT^Z$IZhyCs4>yDGKjpw~P-{MwVg-l(@7+KWHsY`TOV4J$ms zKv%?lVZhRr?2asMPhL#str=Wkkte&AlEAZhQltp6T1mgq3?i$Rn+2;<$%38hidKc3 zw8z8k6c*R5msp+7nzKHzr7kMNvv1>xFfch@S&(eqxQas2gP4V1yk$Mjqa=eIr~j3~J$7;YTxZ=$^8u+G^!z1`ypBH1ges`Mp{yKE5^O?f&L-Tnj!q<*yC| zr-EIl#+Y@{eZP%t@t@Ju4vz@^OYLt}p^v@zL%sgy@$fSI?pgBHTlj2w)K4Qg^6<*% zmOtad@r589Zj{{e^5)b-?zT3Gu#mW-mo8tqJOV6AORqwEAazjr3f$}JORXeC(PA*0 zxx$9Rh}N!ixy*WudM@-F5bbsqU@uuO_xW)S6$1!{ISqt#;7=UqUasqKYAnnW#4bqT zYeT=OD2K7aHqP%0D6IlrCOxWBB?%^bRMDlJ^*ESSN@jit;cB4!IriOC*Z0c4zfIal zJN?9&6^5ziyTTLi4y1!KtIoxOWs3u2??07gT{!Ue^Iv=KY+#94viZrgojXP{^E#(Z z1x~%?p-9T_rfsytrD&kn=B zbEjU30GuRQy&kDPW#TOsmm1TfPe-0{D=jwJDt2Z2;-;|J&>Bmy-jDcIt!+{<6t|)b*#fylG1&Hvw4QX@0h-$g$3rxfq}7kk*I1zK9{uEBju}rmZk|_ua`?iUdGJI zL>l!N8H%9uv~LV&#D!d&7@brHaw)VN@zcDPW$aRh~3rojFKW))7-2y8R1 z&MdCPtyUI5HXHw5?bAvn91q$-v+~XI6ay#|2P? z*H}LccMb=#f9v)3wDJC$dUTP-`sJsJBsImfBz}Hy+4k>Ns(;hs?~_{0#qO={{&1{+ z_Pxp1yS%+Kr0OY=rNr;c|U!gsFhwUGn2*A(1+vO?`9taHoYEZ z*VXzdm8f!Z@=@tkb!Mcc32Kx7WiCT2J@ zU9_AX)?L)*97Z(2-4nnDffQ~8c-q*xVsJ29jH9!MBG*<+I~UB^UXkmzlrCJ?Qw`(f zd^5-!V;rPsVi)9UCu`4jLkXr3AO{d|$KY&W0q$-dK5_wyTz}D(1N!H$#kgR9f#6&f zx&9@TnXUm$4eO18Nr}Qm?BLRHn6$X4xP&AUi4=w*;NoyGI6_PuAtH{HlR(J9;jq6i zE`Xc2y@Q;Qy2jtUfRQ4X6AtGoCno0a?=R{vA&T{O6cd+~l|83{K!^YkB0hm0IGX?w z4lan4u|*f~WTTdXfmkqeOYUn;nJ>gxWRu!qmzh5}3`7GUEkCN2sW zb9X=2>n~^@oDt^#iSZwyeM|y9F=9p-AFQvp9pDcK?thR0+x^ds&H({wUU%b=t+WF^EAC=Cg5NfaFM53ZJn56;HJ4)YIRXMit45+Ng@ zrX~sCO8mFDa%$cf8ywc#1dDb1CjtzdusE!b6V?-^W-JBMwXt*dI3J(8=U>{YW4xXH zF!mbWSa;Z8_LXz~5B%X0|C`?b!nOau*h~x%M(jK|{=Z=P=M@lv=iPsYJ}~%q@?boG zjPV9iV+*gT1p={XYpJW41Wc{pqw&0iYTitxd~h3V2d2v0hQoSet+mDx>p{pTmrxv! z!l|Dp>4dm~nHfXAWf#m*BS-;^;gVqlF2U*WX|2z8L_%J`8@Oev|b2 zTTw$Y0rhygOjy5}cNv z?#^X(Trymwxkax&(#M=wFf5bR4-x!4QsCL_kY_RebmxmUkCSUwFXr^6&(dJahw-@< z|EdB7m4pi0(q~C>s{>-~3o2isExv2@?%VU7UzZ7{bSj8f@Ry@rH*#dWY|YHg&5LL2 zrlkxi`HU#5o=ZRGJ^R3)nM%D$o_Fu|?ViDBvXOo)Nm+yQ4pY67fI(*vS^N%3_RT9V zo=R5DHTgIy@Ba2FW@(}@+iXprypHL-fT4WXT{IIi6$g( zy_dC!bTy>(-KQX2Lpay@tc_QQWKjCLn?A6#L@5_&*zYY5cYRr|7k<8Tt@rWAjCP%P z0^o+q^_dobhD?2l9}J)8%|})4y*bKGUWvMFY2A|u#a5%Ww6tub`|K`N?n;MjOx3+{ zwhX<9de@A%(|dzkG16$Op4_pze;D-!h_Cg9zSL&lK26&MB~u+`HWC4x(v=7cm=fdX zLi*Kj9IHPa>{SnUdZ3f3`bvGXAwPAsSZZSP`BHD~PS`Rz1xZE|jT?u@uy6KRj`lxW zO-g)J;8w&0COY-h#V;miIRG!^f?zQJ<*krh~w;-9+lflY~*BE33 zi)pYO|Nfp>b1)m6I9#`WxRmFZm6f#)$e6rpu-?7des+K6k4(Z*Y88j}8OJ-$S+56S z+&-muw&pt{-A?}OuMZWdeR3Km1vK>TkrLcoyUn}k1``!cxYrtx?Ea-bK6%TL*@}>s z#@xkJ&Y4=Ez!?#=dvfGY#;bHad|@)q&d&GK!*8e`vMow}Qu{%m=QiAk+)<9EV;?78a5{9Ed>%A9 zVl08U@{2xHtQ>6n7-at`U2~FUI(WV#;?qgGvj=yeTc5B|m%de_XJ^$F6gs?v(VT{c zq!mc=lvnxuQv}gXE8r^jYQ-mLb}e~ZKd@%zkoQBgrE4Z!9j=3zT)yV78aiE$HdlrP z9BnkzBy($OAM`{@38iKzxa_Tc)^83A329|cjC zxq97grrz2ohF!l@WfX}|k@~CU525$XVyPOT-EJgJ_t8S}6} z_be?dzpTKYcfwwp7R*@&%lTmc<8s_(H#~A6+^>e zJLd5FD#h%dDjdS~c%B%Zvzp?{Or}!)V)G&yPILXRh#SaqGpeltWoLR53kwVH0g;Aj ztsK8%)918bo1~x04n`~(qfqbIvTZ9-!o^>Yvi;U440TP5V=Rbf*}JIDZ>*U8<@*rW zD;;fZ2T}9dWvF-0A+22)VrO1BN#F%lmT)TN%62`t?a8*IpzQ5?zGFNnSiGCIwzeEP zK2O{HYP5i@>zugBty?MsLP+fFGrerf3LB>1%kIRFA8!no=;wt5Iekv;i;wi}RQ&yi z#O!J-sfKoD{~566xw2)2;mmVpm#fuYw6?ZVTpwRg>fu5)W@#%icSfS88oj>fGv+8A zZ+8VQAgz?^84YndB*y;BLj}!bl=Nr|g0)J7aQ=&*GmT!{A(CxSE7m%<$=6{e(KA|e zXDz_uZ?jvwo+la9&Uxd{=aSqYmscU}L1kY+XO&NSUYql-w(zdXzuBTUD@I30KZ0{~;AX%BtI1qp-S?0w~E$`<3`RxTMd%rLXpp zGqX$VJnHVimI(@CM@srw>Zy{;TPXV)y^dnyMNkDJoiN+>>w(Y47ORL!l${%3jWI-K;#Q>8X&gDtvOt zlrz)KNmEdj0CbxkSXUQZd#Y(I_=CW9kr!?K3>`c6rm3mv!{FDAYlW`LfeBo%n1Fn7p-uX$#JPalM)g*l9;=mIfoJ2XPps1(=6&2NmIitk3_ZT4SUK{he$`heJ ztdF_jKKv85(6D2#8Xw@a=r)wE@=1z6;&nj<{))6@sUvK}nkAy$i?d(fya+&uaffHx#WUg8_BIP_>F;_l9rr!Ige*<$X$Dv2+z+jRwnUMlQsiDu_d7SLR)AneHx4Ye-(K-e7NU(tQy1UVtJip+JNNC>Od* zVnO5FrHNN`p^>mukt~!k(MHLq1Iyz%?ekGFg=Z+P^#lN|fjHQ|{Rm3W$k3+ZvA;a* zwoN6rUdl#Cc1Q0b1N{Wh#u4ktwVFIF}(TP&T@+&9c z^FnvOK<(iR5i>%5(#r96Bppzbuh#G)MbJB?r_ryLpQWe!%Ing7!OL1W+S9q2wYoe) z18HKJwJkVHCyv)F`R-<;_N6v<(p0+El^@&nkf9--&V9+-&*38bl<%~r5o92%OJ!cE z-i+6X^uzmR6cbJWi$b9;a5okf7P{hadwG2!dL)bS+EzndP77BxQsR{kEE+v+Mm`|t zj**o1lWdn5rkL5~`1nft`WPnmtX=fekavGn;CER*r6CI-ry&mV`K?r$SJ1%+o9UR0(r6Y;TD!n+6|(aV&DQx! zizz$H)&7IENC2TXtoYWWm&PU9ONR^=uO{{8LVkWYEGsKp>xpOgH)xDz9OQz#Ez-L4_RYvUmwOUA776 zwU)9uf!4n?_5e|jU$h*?|9N3T!83i6!Kavub+~KWbBC8c&a_(jQXu(NvN%@l@Nh=( zBwucTYBT-P6qzEiqK4vL5bK1F!kq_EuL2Si+jlw&z|VFm{xt3eHH>skXKTXiNchvp zCBUsM4^=_1_F7vqg9rm7a7`K#94%y8p2Xtj+4^%({(`R3C?K$i0a#)W&cVuc8$>Ex z(#k2?p+`9Vo#;{Yu*rz&@v_YXJwx6^ExS4s&mtXr__xcN%HYHKNQPE$@-OATWhN9I zmfxwF;7(NF+DND6nNLGL#_@M0ajIRXiTF*z?o#$uBPf&o>yupyOeO+DJuomZG6Q0k z&+%G)itxkdFT*<0|L`MCiv9x2xTt08 zZ`j3^#iRyE^B&x{-XQKx@8cJL7Am!Y{5&U>Aj%|;OJLcwc zksJWiWYU*pcTt^n1=L4H;2?8+@N=2y~DF1K(4R9_L!0T(7X|T6r+Au;Zpg|R;Oy*)WcIH-Qs8c;zg$iEi=&j5!d2O(rdu` zf-gwOC2Q z%3M&TbbX+AjV<~^_jc+e9EdRkgM+6Z@1OkPp;V&+g^0C5 zH!`JMO|2w0GU&6vD%IE5Uf%rv?Oj}nriO+eO;mmUHJZz!&pdwpfp|g%l3bNd4Rf48 zPnfba+GwVLg)YPc9{kH~MN0BMH%Y`d;OJW>eQP87i1qSif3=(BWN(6>dL(ilcnxHT z2#bpwPR%i)Xn<|o=rz^SSPgByq8HS;14m!{YY3J=-Tl#Pvxq^n0Lb{sy&)%VU5kfn z=}XFwE>3GMffbskHJRPM_N1$b)x`X4)C<+~gyxX7e>owUm-uGm>IL0TpxG?y62?z% zobLS!7?tB7{c=JDE`#8Y_+bL);Q-2wXGaE|WyyFI&MRfF)ao2&$dC1`t*%N(ncpoc zEUYzUJ{faF{Q(Z0+1D~9ol^iDl+z1F{Lw@Lv&xg*jMP+aFE(RiV_j@KA6}JmiHXon zoa;!}Y=Zo;$TdKytEi~>tKi*xVhzm9mJ`A9%DkNkr7vFw2F$gElB8ObtMYF$T{mMA zme%2?y5M#c4eO+~FaoRKFKwHjw{Ts&`y)hSI(SVRWi5E2e3)GWUYLGnmq-zYyFyi#4lprKA^JHkQAF(W$1}teMF~xtq^i54Ir@Kdu6M^e!3_FdyI$*@-aE?4mfSe+a@lE5^jP1M?-US(5NXvX*oP>tUM z_It2vx1V&^1Bz~ne0l>g57oF}3_w30qJ5#9W&7ynO=RR8q}-}~Hkke{DcQW@+c!>L z+$7Z`rDV*VF<_eTGa3KQX$J>OSv!OGG-jk#8o^whazW$P>Ui>P&oPw(wjga#E#C#< z{qIc%E(}d4awD-Fv^NRn_GVHfrg6tpmRf|x#l?38qq(Vk`YhznAsW}sq^_6-q7(m` z1HKTR#FVS*#+a3`)$%c-wo|NibadF~NA`uu0unUNglL$%7q6Q^15K+eLls0sHg<|M z6Hjv-v`Qj}`TvS{<=|R{Xj8>%5+@oMO}6ZMG&C=jJ{-KZ2XQQe*=_j@JTyjUZtFynK2f&eHO#`8U}fi7AzZCsS=07?{&CLn2Bde0{8v^Ko2Tt~skz|cV7z)0WFNY~KZ%Gk)tz(4^Clz_GsrKDK}xwt{?0`hE?GD=Dctn~HE z%ggo3jrH=2()A53EiFN27#ZmTRp=I1=9MH?=;jqG!%T2VElw`VEGWs$&r<-In3$Ab zT4JjNbScCOxdpzyaD(%Tp#cR9GX09g0)0b01O41wkiWpHi%Wu15zfG>x;Uh=AXPso zwK%`DC>aHCFybnZQU%%yG$2F3nBNEAe!(RRYTBrDUd98JJrb z7#fLwm{}MaS~$5GxtTec8X6j#Sr}Lvz|6p=*T~$|)WF!-!r0XUsNU7U!qv>p z(%8_*)y>$@#MQtErq?sCxFj(zITdDaCeU7}UUR&9t(=Qe6HD@oLh|!-U@0IVBfliS zI3vG6!8zDe!8b8EGY`ZEMGwTcE~!PCWvMA{Mftf3;PAD|#9}{Te?#=9kP~M5K*#8V z5(iRZfe8UqAczT1`aljm^Q7hhb4(F1Ye=}+?qFbGtn+kn45_&FX1ZbaAqR=J`zl?F z6hjSyjd!`VI8EdE8sG8XfqlB4?53p`oXq|={9jl-!D&;f1^{JhASwBZOL?tR{ zlH%Dj%k3+shurJeS4ueU5IiN5?|}71hdT`>pKRPGsr=9X6P&a$BEd#(an#yFn{;~I zl=n%VOEX@vitE<)K#@eNxu00SRoQBEHKlFl^t~)_{G;oI$&I_#9WIo)l4W{gQ%}`i zzWd(|XZrk@dCY)^r`>s5|0I=-hCI$}`*vm4g=_p@J8|0fiy0e&iW!$>a$PSCTp1D| z!rHv`cJ8+Q;q2$07gx+XK4(|l`pB@ke(cQ$8~o+j92;~_&v4Gv+9@A^ zhOKTb+R1a-M8D~xh0Fo<*qpG{qSH>R7QbFvDE6VuW-jv|G2TBSyd^JGLsdQ`^NVK9 rGOv0gxL3Hg@R8`G7st=^GcYqeNGZH3c0pYORKj_>`njxgN@xNAKx^Dt literal 0 HcmV?d00001 diff --git a/artificer/includes/images/prettyPhoto/default/sprite_prev.png b/artificer/includes/images/prettyPhoto/default/sprite_prev.png new file mode 100644 index 0000000000000000000000000000000000000000..1ee486514b9c4b3b36381fb0a3ecc3fe3a9f93ca GIT binary patch literal 1376 zcmeAS@N?(olHy`uVBq!ia0vp^(m*W7!3HGnN~S&oQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07?{&CLn2Bde0{8v^Ko2Tt~skz|cV7z)0WFNY~KZ%Gk)tz(4^Clz_GsrKDK}xwt{?0`hE?GD=Dctn~HE z%ggo3jrH=2()A53EiFN27#ZmTRp=I1=9MH?=;jqG!%T2VElw`VEGWs$&r<-In3$Ab zT4JjNbScCOxdpzyaD(%Tp#cR9GX09g0)0b01O41wkiWpHi%Wu15zfG>x;Uh=AXPso zwK%`DC>aHCFybnZQU%%yG$2F3nBNEAe!(RRYTBrDUd98JJrb z7#fLwm{}MaS~$5GxtTec8X6j#Sr}Lvz|6p=*TvY$(85Px?R(JoBXH0dq_dFl$J7T(M(dV4UFT;uunK>&^82S%(5dj_qH< z=*S}&*wSLt6i`q!QRxTIxr2f63j((D&Glk4bUrY>phW8*BX?6W+sOqktDKkpQupx5 zXVR6ue5HEf1!nmc?&=yMi}nq)%8Sz3BLd=JXKh?K+7<-V*=#&TPw-;cK67S}GK<|Nij=gN9YBUX)mA zh;Wt6nYpa?jR{w8>=%xtco;q0>$PNpn+{JB>CZJBh}qL}?smVM58)0;KA0$JUrYeg;& z`Zd*yb!iaiy4OwuEEavuaqHW^R{1VJZ{q8`Htg`n3YU!$NAk8euX}wXZ+pqCT^BPJ z#OS&6*%zD7^m$=gy7{Jy)!buA8xPd&ci$S-yVv~VhnTftC!T*6wD6m-=uw2vEBzb) zJAUTw+1zqA^5CK6cbK&!IHc6)T`_#r`{L{G&(>L4)9l6MnRpmD^*T?NvsT^(m3f}7 KelF{r5}E+5_2k|F literal 0 HcmV?d00001 diff --git a/artificer/includes/images/prettyPhoto/default/sprite_x.png b/artificer/includes/images/prettyPhoto/default/sprite_x.png new file mode 100644 index 0000000000000000000000000000000000000000..d4433ab0d6933357b0e91f6fc72662f1bda39f51 GIT binary patch literal 1097 zcmbVLO;6N77_MS)MM;nwo`!OD+nJVacbl!qZo9GxMY61M6Jla%XW0hYsqNr)@gitU zylOlc4<0o}{R2vrqcPk(8T|()dhl$R?gx4x7@ee@d1v0|dB5*3E?gQNIXA*_+-P;q zsIh&UePU)f{cnx$v2B8y4Z1{{v~5S2n{~+w236l)#WifZof{u;k>iG%UcEsZ*1YBr zU$9dhA@M_o=D6Za657rhreFoHdV$V=fAfw9o~!d$a~8D1GH!Wun-N~xT&O#nYfi!C zXD)zZqA>y=QyV1ydJt=g&Ubk=c22KF9&}acn$Gu}YFLY)Od-qNm-<7vZO%>`ip1QBDbm4j7r}YlXSjCX{d=}yWJMrvOuC$5fuuBltYrT zOd}h20%|AOAf6g97&vw!FQgs`K+0&ZkPWKy%+p>7erQ<-#6jFo6ibI+L$%|2C&Xe6$7CaNSUs9k12D_o(S}k*=8bka@>o&qb%Qt?J`QNr(0TSE zxSp#)l!pkZ(@>S5l1C_Csz?>3ltV~X@~{909EV|*ilM4T-jGeDgpdjIrcx=$NHQxj znl_;{z*d8p+JS=yc0Fddk1ZdG)yfgJDT(TYtPeV1u|+6}TO{cS;gKmB`?-2V?{#)EVtouJX6PYt&+8lp0%ixN2V0t`geI^_X4-VMGL~Jy6 zKR$WN#;Q{_X6wo4Z(nB5a^TF+ZXNu3_4DNLbMD@?Q;%;wd+_qd&iL`t#Y|>vIrDXA v@AlYOS2{KcPTc)Bp*T@``(m<(x-<2j`?UP<(dqds5yw{5Trggju5a%Hri)27 literal 0 HcmV?d00001 diff --git a/artificer/includes/images/prettyPhoto/default/sprite_y.png b/artificer/includes/images/prettyPhoto/default/sprite_y.png new file mode 100644 index 0000000000000000000000000000000000000000..7786ab5128c53a952830a3494898ee3ff5d00cf2 GIT binary patch literal 1162 zcmc&!O;6N77_K29hOj@tkHe%~Jh1IdcemX(RKjk%vg#r(E3SzeN;}Io&`xb<*+OD4 z+)VVuMg0+qSCJ@*7xCcT-$25F5O2ik?iM`|OuRTrJM&K8=Xt;Te0JtWX5{h+$8nkJ zv{7ff&YsPS!|Z*0^0~^kOVn)AInttCE5zKCLl!Zpde#!IW6N24@)b{T+)&GHG-a)@DJOgcuYAn6;q{fs6!{ z%PWd94kU=62qh6oS)^z=NrMm!7SF7OPD`sBm4PiL>3o~gKoiAow<~mW0tuHyq^fGd zAxT-Lk&V`TYQ$>O)M}^1el$oFOPLs3frtbs zdR`J&PdlP@{M(H)wWG#bfWrIa4knWWu5;SJWJm z%t{XBO(><`@kg_ySF8h*<7w+N;dFSg&n6~J zMq}&NO*U2^s>W0!{&DdAedZY)<@R3ff7{#MeyEL&yty`H>_4?0tak3+^Tzp;f5#1RUtWw}*f@CfG5I@G%^BluX<_phuCz@w literal 0 HcmV?d00001 diff --git a/artificer/includes/js/enable-lightbox.js b/artificer/includes/js/enable-lightbox.js new file mode 100644 index 0000000..ebb8116 --- /dev/null +++ b/artificer/includes/js/enable-lightbox.js @@ -0,0 +1,3 @@ +jQuery( document ).ready( function ( e ) { + jQuery( 'a[rel^="lightbox"], .woocommerce .images a' ).prettyPhoto({social_tools: false}); +}); \ No newline at end of file diff --git a/artificer/includes/js/general.js b/artificer/includes/js/general.js new file mode 100755 index 0000000..2288245 --- /dev/null +++ b/artificer/includes/js/general.js @@ -0,0 +1,54 @@ +/*-----------------------------------------------------------------------------------*/ +/* GENERAL SCRIPTS */ +/*-----------------------------------------------------------------------------------*/ +jQuery(document).ready(function(){ + + // Table alt row styling + jQuery( '.entry table tr:odd' ).addClass( 'alt-table-row' ); + + // Alt class on widget sidebars + jQuery( '#sidebar .widget:odd' ).addClass( 'alt' ); + + // FitVids - Responsive Videos + jQuery( ".post, .widget, .panel" ).fitVids(); + + // Add class to parent menu items with JS until WP does this natively + jQuery("ul.sub-menu").parents('li').addClass('parent'); + + // Wrap ampersands in spans + jQuery("p:contains('&')").each(function(){ + jQuery(this).html(jQuery(this).html().replace(/&/, "&")) + }); + + // Responsive Navigation (switch top drop down for select) + jQuery('ul#top-nav').mobileMenu({ + switchWidth: 767, //width (in px to switch at) + topOptionText: 'Select a page', //first option text + indentString: '   ' //string for indenting nested items + }); + + + + // Show/hide the main navigation + jQuery('.nav-toggle').click(function() { + jQuery('#navigation').slideToggle('fast', function() { + return false; + // Animation complete. + }); + }); + + // Stop the navigation link moving to the anchor (Still need the anchor for semantic markup) + jQuery('.nav-toggle a').click(function(e) { + e.preventDefault(); + }); + + // Add relevent classes to featured products + jQuery("ul li:first-child").addClass("first"); + jQuery(".featured-products li").eq(1).addClass("second"); + jQuery(".featured-products li").eq(2).addClass("third"); + jQuery(".featured-products li").eq(3).addClass("fourth"); + jQuery(".featured-products li").eq(4).addClass("fifth"); + jQuery(".featured-products li").eq(5).addClass("sixth"); + jQuery(".featured-products li").eq(6).addClass("seventh"); + +}); \ No newline at end of file diff --git a/artificer/includes/js/jquery.prettyPhoto.js b/artificer/includes/js/jquery.prettyPhoto.js new file mode 100644 index 0000000..80dc963 --- /dev/null +++ b/artificer/includes/js/jquery.prettyPhoto.js @@ -0,0 +1,81 @@ +/* ------------------------------------------------------------------------ + Class: prettyPhoto + Use: Lightbox clone for jQuery + Author: Stephane Caron (http://www.no-margin-for-errors.com) + Version: 3.1.3 +------------------------------------------------------------------------- */ + +(function($){$.prettyPhoto={version:'3.1.3'};$.fn.prettyPhoto=function(pp_settings){pp_settings=jQuery.extend({animation_speed:'fast',slideshow:5000,autoplay_slideshow:false,opacity:0.80,show_title:true,allow_resize:true,default_width:500,default_height:344,counter_separator_label:'/',theme:'pp_default',horizontal_padding:20,hideflash:false,wmode:'opaque',autoplay:true,modal:false,deeplinking:true,overlay_gallery:true,keyboard_shortcuts:true,changepicturecallback:function(){},callback:function(){},ie6_fallback:true,markup:' \ +
                    ',gallery_markup:'',image_markup:'',flash_markup:'',quicktime_markup:'',iframe_markup:'',inline_markup:'
                    {content}
                    ',custom_markup:'',social_tools:''},pp_settings);var matchedObjects=this,percentBased=false,pp_dimensions,pp_open,pp_contentHeight,pp_contentWidth,pp_containerHeight,pp_containerWidth,windowHeight=$(window).height(),windowWidth=$(window).width(),pp_slideshow;doresize=true,scroll_pos=_get_scroll();$(window).unbind('resize.prettyphoto').bind('resize.prettyphoto',function(){_center_overlay();_resize_overlay();});if(pp_settings.keyboard_shortcuts){$(document).unbind('keydown.prettyphoto').bind('keydown.prettyphoto',function(e){if(typeof $pp_pic_holder!='undefined'){if($pp_pic_holder.is(':visible')){switch(e.keyCode){case 37:$.prettyPhoto.changePage('previous');e.preventDefault();break;case 39:$.prettyPhoto.changePage('next');e.preventDefault();break;case 27:if(!settings.modal) +$.prettyPhoto.close();e.preventDefault();break;};};};});};$.prettyPhoto.initialize=function(){settings=pp_settings;if(settings.theme=='pp_default')settings.horizontal_padding=16;if(settings.ie6_fallback&&$.browser.msie&&parseInt($.browser.version)==6)settings.theme="light_square";theRel=$(this).attr('rel');galleryRegExp=/\[(?:.*)\]/;isSet=(galleryRegExp.exec(theRel))?true:false;pp_images=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr('rel').indexOf(theRel)!=-1)return $(n).attr('href');}):$.makeArray($(this).attr('href'));pp_titles=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr('rel').indexOf(theRel)!=-1)return($(n).find('img').attr('alt'))?$(n).find('img').attr('alt'):"";}):$.makeArray($(this).find('img').attr('alt'));pp_descriptions=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr('rel').indexOf(theRel)!=-1)return($(n).attr('title'))?$(n).attr('title'):"";}):$.makeArray($(this).attr('title'));if(pp_images.length>30)settings.overlay_gallery=false;set_position=jQuery.inArray($(this).attr('href'),pp_images);rel_index=(isSet)?set_position:$("a[rel^='"+theRel+"']").index($(this));_build_overlay(this);if(settings.allow_resize) +$(window).bind('scroll.prettyphoto',function(){_center_overlay();});$.prettyPhoto.open();return false;} +$.prettyPhoto.open=function(event){if(typeof settings=="undefined"){settings=pp_settings;if($.browser.msie&&$.browser.version==6)settings.theme="light_square";pp_images=$.makeArray(arguments[0]);pp_titles=(arguments[1])?$.makeArray(arguments[1]):$.makeArray("");pp_descriptions=(arguments[2])?$.makeArray(arguments[2]):$.makeArray("");isSet=(pp_images.length>1)?true:false;set_position=0;_build_overlay(event.target);} +if($.browser.msie&&$.browser.version==6)$('select').css('visibility','hidden');if(settings.hideflash)$('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','hidden');_checkPosition($(pp_images).size());$('.pp_loaderIcon').show();if(settings.deeplinking) +setHashtag();if(settings.social_tools){facebook_like_link=settings.social_tools.replace('{location_href}',encodeURIComponent(location.href));$pp_pic_holder.find('.pp_social').html(facebook_like_link);} +if($ppt.is(':hidden'))$ppt.css('opacity',0).show();$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity);$pp_pic_holder.find('.currentTextHolder').text((set_position+1)+settings.counter_separator_label+$(pp_images).size());if(pp_descriptions[set_position]!=""){$pp_pic_holder.find('.pp_description').show().html(unescape(pp_descriptions[set_position]));}else{$pp_pic_holder.find('.pp_description').hide();} +movie_width=(parseFloat(getParam('width',pp_images[set_position])))?getParam('width',pp_images[set_position]):settings.default_width.toString();movie_height=(parseFloat(getParam('height',pp_images[set_position])))?getParam('height',pp_images[set_position]):settings.default_height.toString();percentBased=false;if(movie_height.indexOf('%')!=-1){movie_height=parseFloat(($(window).height()*parseFloat(movie_height)/100)-150);percentBased=true;} +if(movie_width.indexOf('%')!=-1){movie_width=parseFloat(($(window).width()*parseFloat(movie_width)/100)-150);percentBased=true;} +$pp_pic_holder.fadeIn(function(){(settings.show_title&&pp_titles[set_position]!=""&&typeof pp_titles[set_position]!="undefined")?$ppt.html(unescape(pp_titles[set_position])):$ppt.html(' ');imgPreloader="";skipInjection=false;switch(_getFileType(pp_images[set_position])){case'image':imgPreloader=new Image();nextImage=new Image();if(isSet&&set_position<$(pp_images).size()-1)nextImage.src=pp_images[set_position+1];prevImage=new Image();if(isSet&&pp_images[set_position-1])prevImage.src=pp_images[set_position-1];$pp_pic_holder.find('#pp_full_res')[0].innerHTML=settings.image_markup.replace(/{path}/g,pp_images[set_position]);imgPreloader.onload=function(){pp_dimensions=_fitToViewport(imgPreloader.width,imgPreloader.height);_showContent();};imgPreloader.onerror=function(){alert('Image cannot be loaded. Make sure the path is correct and image exist.');$.prettyPhoto.close();};imgPreloader.src=pp_images[set_position];break;case'youtube':pp_dimensions=_fitToViewport(movie_width,movie_height);movie_id=getParam('v',pp_images[set_position]);if(movie_id==""){movie_id=pp_images[set_position].split('youtu.be/');movie_id=movie_id[1];if(movie_id.indexOf('?')>0) +movie_id=movie_id.substr(0,movie_id.indexOf('?'));if(movie_id.indexOf('&')>0) +movie_id=movie_id.substr(0,movie_id.indexOf('&'));} +movie='http://www.youtube.com/embed/'+movie_id;(getParam('rel',pp_images[set_position]))?movie+="?rel="+getParam('rel',pp_images[set_position]):movie+="?rel=1";if(settings.autoplay)movie+="&autoplay=1";toInject=settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case'vimeo':pp_dimensions=_fitToViewport(movie_width,movie_height);movie_id=pp_images[set_position];var regExp=/http:\/\/(www\.)?vimeo.com\/(\d+)/;var match=movie_id.match(regExp);movie='http://player.vimeo.com/video/'+match[2]+'?title=0&byline=0&portrait=0';if(settings.autoplay)movie+="&autoplay=1;";vimeo_width=pp_dimensions['width']+'/embed/?moog_width='+pp_dimensions['width'];toInject=settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,movie);break;case'quicktime':pp_dimensions=_fitToViewport(movie_width,movie_height);pp_dimensions['height']+=15;pp_dimensions['contentHeight']+=15;pp_dimensions['containerHeight']+=15;toInject=settings.quicktime_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay);break;case'flash':pp_dimensions=_fitToViewport(movie_width,movie_height);flash_vars=pp_images[set_position];flash_vars=flash_vars.substring(pp_images[set_position].indexOf('flashvars')+10,pp_images[set_position].length);filename=pp_images[set_position];filename=filename.substring(0,filename.indexOf('?'));toInject=settings.flash_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+'?'+flash_vars);break;case'iframe':pp_dimensions=_fitToViewport(movie_width,movie_height);frame_url=pp_images[set_position];frame_url=frame_url.substr(0,frame_url.indexOf('iframe')-1);toInject=settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,frame_url);break;case'ajax':doresize=false;pp_dimensions=_fitToViewport(movie_width,movie_height);doresize=true;skipInjection=true;$.get(pp_images[set_position],function(responseHTML){toInject=settings.inline_markup.replace(/{content}/g,responseHTML);$pp_pic_holder.find('#pp_full_res')[0].innerHTML=toInject;_showContent();});break;case'custom':pp_dimensions=_fitToViewport(movie_width,movie_height);toInject=settings.custom_markup;break;case'inline':myClone=$(pp_images[set_position]).clone().append('
                    ').css({'width':settings.default_width}).wrapInner('
                    ').appendTo($('body')).show();doresize=false;pp_dimensions=_fitToViewport($(myClone).width(),$(myClone).height());doresize=true;$(myClone).remove();toInject=settings.inline_markup.replace(/{content}/g,$(pp_images[set_position]).html());break;};if(!imgPreloader&&!skipInjection){$pp_pic_holder.find('#pp_full_res')[0].innerHTML=toInject;_showContent();};});return false;};$.prettyPhoto.changePage=function(direction){currentGalleryPage=0;if(direction=='previous'){set_position--;if(set_position<0)set_position=$(pp_images).size()-1;}else if(direction=='next'){set_position++;if(set_position>$(pp_images).size()-1)set_position=0;}else{set_position=direction;};rel_index=set_position;if(!doresize)doresize=true;$('.pp_contract').removeClass('pp_contract').addClass('pp_expand');_hideContent(function(){$.prettyPhoto.open();});};$.prettyPhoto.changeGalleryPage=function(direction){if(direction=='next'){currentGalleryPage++;if(currentGalleryPage>totalPage)currentGalleryPage=0;}else if(direction=='previous'){currentGalleryPage--;if(currentGalleryPage<0)currentGalleryPage=totalPage;}else{currentGalleryPage=direction;};slide_speed=(direction=='next'||direction=='previous')?settings.animation_speed:0;slide_to=currentGalleryPage*(itemsPerPage*itemWidth);$pp_gallery.find('ul').animate({left:-slide_to},slide_speed);};$.prettyPhoto.startSlideshow=function(){if(typeof pp_slideshow=='undefined'){$pp_pic_holder.find('.pp_play').unbind('click').removeClass('pp_play').addClass('pp_pause').click(function(){$.prettyPhoto.stopSlideshow();return false;});pp_slideshow=setInterval($.prettyPhoto.startSlideshow,settings.slideshow);}else{$.prettyPhoto.changePage('next');};} +$.prettyPhoto.stopSlideshow=function(){$pp_pic_holder.find('.pp_pause').unbind('click').removeClass('pp_pause').addClass('pp_play').click(function(){$.prettyPhoto.startSlideshow();return false;});clearInterval(pp_slideshow);pp_slideshow=undefined;} +$.prettyPhoto.close=function(){if($pp_overlay.is(":animated"))return;$.prettyPhoto.stopSlideshow();$pp_pic_holder.stop().find('object,embed').css('visibility','hidden');$('div.pp_pic_holder,div.ppt,.pp_fade').fadeOut(settings.animation_speed,function(){$(this).remove();});$pp_overlay.fadeOut(settings.animation_speed,function(){if($.browser.msie&&$.browser.version==6)$('select').css('visibility','visible');if(settings.hideflash)$('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','visible');$(this).remove();$(window).unbind('scroll.prettyphoto');clearHashtag();settings.callback();doresize=true;pp_open=false;delete settings;});};function _showContent(){$('.pp_loaderIcon').hide();projectedTop=scroll_pos['scrollTop']+((windowHeight/2)-(pp_dimensions['containerHeight']/2));if(projectedTop<0)projectedTop=0;$ppt.fadeTo(settings.animation_speed,1);$pp_pic_holder.find('.pp_content').animate({height:pp_dimensions['contentHeight'],width:pp_dimensions['contentWidth']},settings.animation_speed);$pp_pic_holder.animate({'top':projectedTop,'left':(windowWidth/2)-(pp_dimensions['containerWidth']/2),width:pp_dimensions['containerWidth']},settings.animation_speed,function(){$pp_pic_holder.find('.pp_hoverContainer,#fullResImage').height(pp_dimensions['height']).width(pp_dimensions['width']);$pp_pic_holder.find('.pp_fade').fadeIn(settings.animation_speed);if(isSet&&_getFileType(pp_images[set_position])=="image"){$pp_pic_holder.find('.pp_hoverContainer').show();}else{$pp_pic_holder.find('.pp_hoverContainer').hide();} +if(pp_dimensions['resized']){$('a.pp_expand,a.pp_contract').show();}else{$('a.pp_expand').hide();} +if(settings.autoplay_slideshow&&!pp_slideshow&&!pp_open)$.prettyPhoto.startSlideshow();settings.changepicturecallback();pp_open=true;});_insert_gallery();};function _hideContent(callback){$pp_pic_holder.find('#pp_full_res object,#pp_full_res embed').css('visibility','hidden');$pp_pic_holder.find('.pp_fade').fadeOut(settings.animation_speed,function(){$('.pp_loaderIcon').show();callback();});};function _checkPosition(setCount){(setCount>1)?$('.pp_nav').show():$('.pp_nav').hide();};function _fitToViewport(width,height){resized=false;_getDimensions(width,height);imageWidth=width,imageHeight=height;if(((pp_containerWidth>windowWidth)||(pp_containerHeight>windowHeight))&&doresize&&settings.allow_resize&&!percentBased){resized=true,fitting=false;while(!fitting){if((pp_containerWidth>windowWidth)){imageWidth=(windowWidth-200);imageHeight=(height/width)*imageWidth;}else if((pp_containerHeight>windowHeight)){imageHeight=(windowHeight-200);imageWidth=(width/height)*imageHeight;}else{fitting=true;};pp_containerHeight=imageHeight,pp_containerWidth=imageWidth;};_getDimensions(imageWidth,imageHeight);if((pp_containerWidth>windowWidth)||(pp_containerHeight>windowHeight)){_fitToViewport(pp_containerWidth,pp_containerHeight)};};return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(pp_containerHeight),containerWidth:Math.floor(pp_containerWidth)+(settings.horizontal_padding*2),contentHeight:Math.floor(pp_contentHeight),contentWidth:Math.floor(pp_contentWidth),resized:resized};};function _getDimensions(width,height){width=parseFloat(width);height=parseFloat(height);$pp_details=$pp_pic_holder.find('.pp_details');$pp_details.width(width);detailsHeight=parseFloat($pp_details.css('marginTop'))+parseFloat($pp_details.css('marginBottom'));$pp_details=$pp_details.clone().addClass(settings.theme).width(width).appendTo($('body')).css({'position':'absolute','top':-10000});detailsHeight+=$pp_details.height();detailsHeight=(detailsHeight<=34)?36:detailsHeight;if($.browser.msie&&$.browser.version==7)detailsHeight+=8;$pp_details.remove();$pp_title=$pp_pic_holder.find('.ppt');$pp_title.width(width);titleHeight=parseFloat($pp_title.css('marginTop'))+parseFloat($pp_title.css('marginBottom'));$pp_title=$pp_title.clone().appendTo($('body')).css({'position':'absolute','top':-10000});titleHeight+=$pp_title.height();$pp_title.remove();pp_contentHeight=height+detailsHeight;pp_contentWidth=width;pp_containerHeight=pp_contentHeight+titleHeight+$pp_pic_holder.find('.pp_top').height()+$pp_pic_holder.find('.pp_bottom').height();pp_containerWidth=width;} +function _getFileType(itemSrc){if(itemSrc.match(/youtube\.com\/watch/i)||itemSrc.match(/youtu\.be/i)){return'youtube';}else if(itemSrc.match(/vimeo\.com/i)){return'vimeo';}else if(itemSrc.match(/\b.mov\b/i)){return'quicktime';}else if(itemSrc.match(/\b.swf\b/i)){return'flash';}else if(itemSrc.match(/\biframe=true\b/i)){return'iframe';}else if(itemSrc.match(/\bajax=true\b/i)){return'ajax';}else if(itemSrc.match(/\bcustom=true\b/i)){return'custom';}else if(itemSrc.substr(0,1)=='#'){return'inline';}else{return'image';};};function _center_overlay(){if(doresize&&typeof $pp_pic_holder!='undefined'){scroll_pos=_get_scroll();contentHeight=$pp_pic_holder.height(),contentwidth=$pp_pic_holder.width();projectedTop=(windowHeight/2)+scroll_pos['scrollTop']-(contentHeight/2);if(projectedTop<0)projectedTop=0;if(contentHeight>windowHeight) +return;$pp_pic_holder.css({'top':projectedTop,'left':(windowWidth/2)+scroll_pos['scrollLeft']-(contentwidth/2)});};};function _get_scroll(){if(self.pageYOffset){return{scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset};}else if(document.documentElement&&document.documentElement.scrollTop){return{scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft};}else if(document.body){return{scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft};};};function _resize_overlay(){windowHeight=$(window).height(),windowWidth=$(window).width();if(typeof $pp_overlay!="undefined")$pp_overlay.height($(document).height()).width(windowWidth);};function _insert_gallery(){if(isSet&&settings.overlay_gallery&&_getFileType(pp_images[set_position])=="image"&&(settings.ie6_fallback&&!($.browser.msie&&parseInt($.browser.version)==6))){itemWidth=52+5;navWidth=(settings.theme=="facebook"||settings.theme=="pp_default")?50:30;itemsPerPage=Math.floor((pp_dimensions['containerWidth']-100-navWidth)/itemWidth);itemsPerPage=(itemsPerPage";};toInject=settings.gallery_markup.replace(/{gallery}/g,toInject);$pp_pic_holder.find('#pp_full_res').after(toInject);$pp_gallery=$('.pp_pic_holder .pp_gallery'),$pp_gallery_li=$pp_gallery.find('li');$pp_gallery.find('.pp_arrow_next').click(function(){$.prettyPhoto.changeGalleryPage('next');$.prettyPhoto.stopSlideshow();return false;});$pp_gallery.find('.pp_arrow_previous').click(function(){$.prettyPhoto.changeGalleryPage('previous');$.prettyPhoto.stopSlideshow();return false;});$pp_pic_holder.find('.pp_content').hover(function(){$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeIn();},function(){$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeOut();});itemWidth=52+5;$pp_gallery_li.each(function(i){$(this).find('a').click(function(){$.prettyPhoto.changePage(i);$.prettyPhoto.stopSlideshow();return false;});});};if(settings.slideshow){$pp_pic_holder.find('.pp_nav').prepend('Play') +$pp_pic_holder.find('.pp_nav .pp_play').click(function(){$.prettyPhoto.startSlideshow();return false;});} +$pp_pic_holder.attr('class','pp_pic_holder '+settings.theme);$pp_overlay.css({'opacity':0,'height':$(document).height(),'width':$(window).width()}).bind('click',function(){if(!settings.modal)$.prettyPhoto.close();});$('a.pp_close').bind('click',function(){$.prettyPhoto.close();return false;});$('a.pp_expand').bind('click',function(e){if($(this).hasClass('pp_expand')){$(this).removeClass('pp_expand').addClass('pp_contract');doresize=false;}else{$(this).removeClass('pp_contract').addClass('pp_expand');doresize=true;};_hideContent(function(){$.prettyPhoto.open();});return false;});$pp_pic_holder.find('.pp_previous, .pp_nav .pp_arrow_previous').bind('click',function(){$.prettyPhoto.changePage('previous');$.prettyPhoto.stopSlideshow();return false;});$pp_pic_holder.find('.pp_next, .pp_nav .pp_arrow_next').bind('click',function(){$.prettyPhoto.changePage('next');$.prettyPhoto.stopSlideshow();return false;});_center_overlay();};if(!pp_alreadyInitialized&&getHashtag()){pp_alreadyInitialized=true;hashIndex=getHashtag();hashRel=hashIndex;hashIndex=hashIndex.substring(hashIndex.indexOf('/')+1,hashIndex.length-1);hashRel=hashRel.substring(0,hashRel.indexOf('/'));setTimeout(function(){$("a[rel^='"+hashRel+"']:eq("+hashIndex+")").trigger('click');},50);} +return this.unbind('click.prettyphoto').bind('click.prettyphoto',$.prettyPhoto.initialize);};function getHashtag(){url=location.href;hashtag=(url.indexOf('#!')!=-1)?decodeURI(url.substring(url.indexOf('#!')+2,url.length)):false;return hashtag;};function setHashtag(){if(typeof theRel=='undefined')return;location.hash='!'+theRel+'/'+rel_index+'/';};function clearHashtag(){url=location.href;hashtag=(url.indexOf('#!prettyPhoto'))?true:false;if(hashtag)location.hash="!prettyPhoto";} +function getParam(name,url){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(url);return(results==null)?"":results[1];}})(jQuery);var pp_alreadyInitialized=false; \ No newline at end of file diff --git a/artificer/includes/js/markers.js b/artificer/includes/js/markers.js new file mode 100644 index 0000000..3cf24ed --- /dev/null +++ b/artificer/includes/js/markers.js @@ -0,0 +1,51 @@ +function createMarker(map,point,root,the_link,the_title,color,callout) { + + var baseIcon = root + "/images/icons/shadow.png"; + var blueIcon = root + "/images/icons/blue-dot.png"; + var redIcon = root + "/images/icons/red-dot.png"; + var greenIcon = root + "/images/icons/green-dot.png"; + var yellowIcon = root + "/images/icons/yellow-dot.png"; + var tealIcon = root + "/images/icons/teal-dot.png"; + var blackIcon = root + "/images/icons/black-dot.png"; + var whiteIcon = root + "/images/icons/white-dot.png"; + var purpleIcon = root + "/images/icons/purple-dot.png"; + var pinkIcon = root + "/images/icons/pink-dot.png"; + var customIcon = color; + + var image = root + "/images/icons/red-dot.png"; + + if(color == 'blue') { image = blueIcon } + else if(color == 'red') { image = redIcon } + else if(color == 'green') { image = greenIcon } + else if(color == 'yellow') { image = yellowIcon } + else if(color == 'teal') { image = tealIcon } + else if(color == 'black') { image = blackIcon } + else if(color == 'white') { image = whiteIcon } + else if(color == 'purple') { image = purpleIcon } + else if(color == 'pink') { image = pinkIcon } + else { image = customIcon } + + var marker = new google.maps.Marker({ + map:map, + draggable:false, + animation: google.maps.Animation.DROP, + position: point, + icon: image, + title: the_title + }); + + var infowindow = new google.maps.InfoWindow({ + content: callout + }); + + google.maps.event.addListener(marker, 'click', function() { + if ( callout == '' ) { + window.location = the_link; + } else { + infowindow.open(map,marker); + } + }); + + return marker; + +} \ No newline at end of file diff --git a/artificer/includes/js/respond-IE.js b/artificer/includes/js/respond-IE.js new file mode 100755 index 0000000..9d1312d --- /dev/null +++ b/artificer/includes/js/respond-IE.js @@ -0,0 +1,9 @@ +/*-----------------------------------------------------------------------------------*/ +/* RESPOND.JS - Media query support for IE */ +/*-----------------------------------------------------------------------------------*/ +/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */ +/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */ +window.matchMedia=window.matchMedia||(function(e,f){var c,a=e.documentElement,b=a.firstElementChild||a.firstChild,d=e.createElement("body"),g=e.createElement("div");g.id="mq-test-1";g.style.cssText="position:absolute;top:-100em";d.style.background="none";d.appendChild(g);return function(h){g.innerHTML='­';a.insertBefore(d,b);c=g.offsetWidth==42;a.removeChild(d);return{matches:c,media:h}}})(document); + +/*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ +(function(e){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=e.matchMedia&&e.matchMedia("only all").matches;if(respond.mediaQueriesSupported){return}var w=e.document,s=w.documentElement,i=[],k=[],q=[],o={},h=30,f=w.getElementsByTagName("head")[0]||s,g=w.getElementsByTagName("base")[0],b=f.getElementsByTagName("link"),d=[],a=function(){var D=b,y=D.length,B=0,A,z,C,x;for(;B-1,minw:F.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:F.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}}j()},l,r,v=function(){var z,A=w.createElement("div"),x=w.body,y=false;A.style.cssText="position:absolute;font-size:1em;width:1em";if(!x){x=y=w.createElement("body");x.style.background="none"}x.appendChild(A);s.insertBefore(x,s.firstChild);z=A.offsetWidth;if(y){s.removeChild(x)}else{x.removeChild(A)}z=p=parseFloat(z);return z},p,j=function(I){var x="clientWidth",B=s[x],H=w.compatMode==="CSS1Compat"&&B||w.body[x]||B,D={},G=b[b.length-1],z=(new Date()).getTime();if(I&&l&&z-l-1?(p||v()):1)}if(!!J){J=parseFloat(J)*(J.indexOf(y)>-1?(p||v()):1)}if(!K.hasquery||(!A||!L)&&(A||H>=C)&&(L||H<=J)){if(!D[K.media]){D[K.media]=[]}D[K.media].push(k[K.rules])}}for(var E in q){if(q[E]&&q[E].parentNode===f){f.removeChild(q[E])}}for(var E in D){var M=w.createElement("style"),F=D[E].join("\n");M.type="text/css";M.media=E;f.insertBefore(M,G.nextSibling);if(M.styleSheet){M.styleSheet.cssText=F}else{M.appendChild(w.createTextNode(F))}q.push(M)}},n=function(x,z){var y=c();if(!y){return}y.open("GET",x,true);y.onreadystatechange=function(){if(y.readyState!=4||y.status!=200&&y.status!=304){return}z(y.responseText)};if(y.readyState==4){return}y.send(null)},c=(function(){var x=false;try{x=new XMLHttpRequest()}catch(y){x=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return x}})();a();respond.update=a;function t(){j(true)}if(e.addEventListener){e.addEventListener("resize",t,false)}else{if(e.attachEvent){e.attachEvent("onresize",t)}}})(this); \ No newline at end of file diff --git a/artificer/includes/js/third-party.js b/artificer/includes/js/third-party.js new file mode 100755 index 0000000..74c8b15 --- /dev/null +++ b/artificer/includes/js/third-party.js @@ -0,0 +1,75 @@ +/*-----------------------------------------------------------------------------------*/ +/* Responsive menus */ +/*-----------------------------------------------------------------------------------*/ +(function(a){var b=0;a.fn.mobileMenu=function(c){function m(a){if(f()&&!g(a)){l(a)}else if(f()&&g(a)){j(a)}else if(!f()&&g(a)){k(a)}}function l(b){if(e(b)){var c='";b.parent().append(c);a("#mobileMenu_"+b.attr("id")).change(function(){h(a(this))});j(b)}else{alert("mobileMenu will only work with UL or OL elements!")}}function k(b){b.css("display","");a("#mobileMenu_"+b.attr("id")).hide()}function j(b){b.hide("display","none");a("#mobileMenu_"+b.attr("id")).show()}function h(a){if(a.val()!==null){document.location.href=a.val()}}function g(c){if(c.attr("id")){return a("#mobileMenu_"+c.attr("id")).length>0}else{b++;c.attr("id","mm"+b);return a("#mobileMenu_mm"+b).length>0}}function f(){return a(window).width()'; + head.appendChild(div.childNodes[1]); + } + + if ( options ) { + $.extend( settings, options ); + } + + return this.each(function(){ + var selectors = [ + "iframe[src*='player.vimeo.com']", + "iframe[src*='youtube.com']", + "iframe[src*='youtube-nocookie.com']", + "iframe[src*='kickstarter.com'][src*='video.html']", + "object", + "embed" + ]; + + if (settings.customSelector) { + selectors.push(settings.customSelector); + } + + var $allVideos = $(this).find(selectors.join(',')); + $allVideos = $allVideos.not("object object"); // SwfObj conflict patch + + $allVideos.each(function(){ + var $this = $(this); + if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; } + var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(), + width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(), + aspectRatio = height / width; + if(!$this.attr('id')){ + var videoID = 'fitvid' + Math.floor(Math.random()*999999); + $this.attr('id', videoID); + } + $this.wrap('
                    ').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%"); + $this.removeAttr('height').removeAttr('width'); + }); + }); + }; +// Works with either jQuery or Zepto +})( window.jQuery || window.Zepto ); \ No newline at end of file diff --git a/artificer/includes/sidebar-init.php b/artificer/includes/sidebar-init.php new file mode 100755 index 0000000..45592f1 --- /dev/null +++ b/artificer/includes/sidebar-init.php @@ -0,0 +1,22 @@ + 'Primary','id' => 'primary','description' => "Normal full width sidebar", 'before_widget' => '
                    ','after_widget' => '
                    ','before_title' => '

                    ','after_title' => '

                    ')); + register_sidebar(array( 'name' => 'Footer 1','id' => 'footer-1', 'description' => "Widetized footer", 'before_widget' => '
                    ','after_widget' => '
                    ','before_title' => '

                    ','after_title' => '

                    ')); + register_sidebar(array( 'name' => 'Footer 2','id' => 'footer-2', 'description' => "Widetized footer", 'before_widget' => '
                    ','after_widget' => '
                    ','before_title' => '

                    ','after_title' => '

                    ')); + register_sidebar(array( 'name' => 'Footer 3','id' => 'footer-3', 'description' => "Widetized footer", 'before_widget' => '
                    ','after_widget' => '
                    ','before_title' => '

                    ','after_title' => '

                    ')); + register_sidebar(array( 'name' => 'Footer 4','id' => 'footer-4', 'description' => "Widetized footer", 'before_widget' => '
                    ','after_widget' => '
                    ','before_title' => '

                    ','after_title' => '

                    ')); + } +} + +add_action( 'init', 'the_widgets_init' ); + + + +?> \ No newline at end of file diff --git a/artificer/includes/theme-actions.php b/artificer/includes/theme-actions.php new file mode 100755 index 0000000..c4b0831 --- /dev/null +++ b/artificer/includes/theme-actions.php @@ -0,0 +1,403 @@ + +- Load responsive tags in the +- Add Google Maps to HEAD +- Add custom styling to HEAD +- Add custom typograhpy to HEAD +- Add layout to body_class output +- woo_feedburner_link +- Load responsive IE JS + +-----------------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------------*/ +/* Theme Setup */ +/*-----------------------------------------------------------------------------------*/ +/** + * Theme Setup + * + * This is the general theme setup, where we add_theme_support(), create global variables + * and setup default generic filters and actions to be used across our theme. + * + * @package WooFramework + * @subpackage Logic + */ + +/** + * Set the content width based on the theme's design and stylesheet. + * + * Used to set the width of images and content. Should be equal to the width the theme + * is designed for, generally via the style.css stylesheet. + */ + +if ( ! isset( $content_width ) ) $content_width = 640; + +/** + * Sets up theme defaults and registers support for various WordPress features. + * + * Note that this function is hooked into the after_setup_theme hook, which runs + * before the init hook. The init hook is too late for some features, such as indicating + * support for post thumbnails. + * + * To override woothemes_setup() in a child theme, add your own woothemes_setup to your child theme's + * functions.php file. + * + * @uses add_theme_support() To add support for automatic feed links. + * @uses add_editor_style() To style the visual editor. + */ + +add_action( 'after_setup_theme', 'woothemes_setup' ); + +if ( ! function_exists( 'woothemes_setup' ) ) { + function woothemes_setup () { + + // This theme styles the visual editor with editor-style.css to match the theme style. + if ( locate_template( 'editor-style.css' ) != '' ) { add_editor_style(); } + + // Add default posts and comments RSS feed links to head + add_theme_support( 'automatic-feed-links' ); + + if ( is_child_theme() ) { + $theme_data = get_theme_data( get_stylesheet_directory() . '/style.css' ); + + define( 'CHILD_THEME_URL', $theme_data['URI'] ); + define( 'CHILD_THEME_NAME', $theme_data['Name'] ); + } + + } +} + +/** + * Set the default Google Fonts used in theme. + * + * Used to set the default Google Fonts used in the theme, when Custom Typography is disabled. + */ + +global $default_google_fonts; +$default_google_fonts = array( 'Cutive', 'Karla', 'Schoolbell' ); + + +/*-----------------------------------------------------------------------------------*/ +/* Load layout.css in the */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! is_admin() ) { add_action( 'get_header', 'woo_load_frontend_css', 10 ); } + +if ( ! function_exists( 'woo_load_frontend_css' ) ) { + function woo_load_frontend_css () { + wp_register_style( 'woo-layout', get_template_directory_uri() . '/css/layout.css' ); + + wp_enqueue_style( 'woo-layout' ); + } // End woo_load_frontend_css() +} + +/*-----------------------------------------------------------------------------------*/ +/* Load responsive tags in the */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'wp_head', 'woo_load_responsive_meta_tags', 10 ); + +if ( ! function_exists( 'woo_load_responsive_meta_tags' ) ) { + function woo_load_responsive_meta_tags () { + $html = ''; + + $html .= "\n" . '' . "\n"; + $html .= '' . "\n"; + + /* Remove this if not responsive design */ + $html .= "\n" . '' . "\n"; + $html .= '' . "\n"; + + echo $html; + } // End woo_load_responsive_meta_tags() +} + +/*-----------------------------------------------------------------------------------*/ +/* Add Google Maps to HEAD */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'woo_head', 'woo_google_maps', 10 ); // Add custom styling to HEAD + +if ( ! function_exists( 'woo_google_maps' ) ) { + + function woo_google_maps() { + if ( is_page_template( 'template-contact.php' ) ) { ?> + + '', + 'body_img' => '', + 'body_repeat' => '', + 'body_pos' => '', + 'body_attachment' => '', + 'link_color' => '', + 'link_hover_color' => '', + 'button_color' => '' + ); + $settings = woo_get_dynamic_values( $settings ); + + + // Add CSS to output + if ( $settings['body_color'] != '' ) { + $output .= 'body { background: ' . $settings['body_color'] . ' !important; }' . "\n"; + } + + if ( $settings['body_img'] != '' ) { + $output .= 'body { background-image: url( ' . $settings['body_img'] . ' ) !important; }' . "\n"; + } + + if ( ( $settings['body_img'] != '' ) && ( $settings['body_repeat'] != '' ) && ( $settings['body_pos'] != '' ) ) { + $output .= 'body { background-repeat: ' . $settings['body_repeat'] . ' !important; }' . "\n"; + } + + if ( ( $settings['body_img'] != '' ) && ( $settings['body_pos'] != '' ) ) { + $output .= 'body { background-position: ' . $settings['body_pos'] . ' !important; }' . "\n"; + } + + if ( ( $settings['body_img'] != '' ) && ( $settings['body_attachment'] != '' ) ) { + $output .= 'body { background-attachment: ' . $settings['body_attachment'] . ' !important; }' . "\n"; + } + + if ( $settings['link_color'] != '' ) { + $output .= 'a { color: ' . $settings['link_color'] . ' !important; }' . "\n"; + } + + if ( $settings['link_hover_color'] != '' ) { + $output .= 'a:hover, .post-more a:hover, .post-meta a:hover, .post p.tags a:hover { color: ' . $settings['link_hover_color'] . ' !important; }' . "\n"; + } + + if ( $settings['button_color'] != '' ) { + $output .= 'a.button, a.comment-reply-link, #commentform #submit, #contact-page .submit { background: ' . $settings['button_color'] . ' !important; border-color: ' . $settings['button_color'] . ' !important; }' . "\n"; + $output .= 'a.button:hover, a.button.hover, a.button.active, a.comment-reply-link:hover, #commentform #submit:hover, #contact-page .submit:hover { background: ' . $settings['button_color'] . ' !important; opacity: 0.9; }' . "\n"; + } + + // Output styles + if ( isset( $output ) && $output != '' ) { + $output = strip_tags( $output ); + $output = "\n" . "\n\n"; + echo $output; + } + + } // End woo_custom_styling() +} + +/*-----------------------------------------------------------------------------------*/ +/* Add custom typograhpy to HEAD */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'woo_head','woo_custom_typography', 10 ); // Add custom typography to HEAD + +if ( ! function_exists( 'woo_custom_typography' ) ) { + function woo_custom_typography() { + + // Get options + global $woo_options; + + // Reset + $output = ''; + $default_google_font = false; + + + + if ( isset( $woo_options['woo_typography'] ) && $woo_options['woo_typography'] == 'true' ) { + + if ( isset( $woo_options['woo_font_body'] ) && $woo_options['woo_font_body'] ) + $output .= 'body { '.woo_generate_font_css($woo_options['woo_font_body'], '1.5').' }' . "\n"; + + if ( isset( $woo_options['woo_font_nav'] ) && $woo_options['woo_font_nav'] ) + $output .= '.nav a { '.woo_generate_font_css($woo_options['woo_font_nav'], '1.4').' }' . "\n"; + + if ( isset( $woo_options['woo_font_page_title'] ) && $woo_options['woo_font_page_title'] ) + $output .= '.page header h1 { '.woo_generate_font_css($woo_options[ 'woo_font_page_title' ]).' }' . "\n"; + + if ( isset( $woo_options['woo_font_post_title'] ) && $woo_options['woo_font_post_title'] ) + $output .= '.post header h1 { '.woo_generate_font_css($woo_options[ 'woo_font_post_title' ]).' }' . "\n"; + + if ( isset( $woo_options['woo_font_post_meta'] ) && $woo_options['woo_font_post_meta'] ) + $output .= '.post-meta { '.woo_generate_font_css($woo_options[ 'woo_font_post_meta' ]).' }' . "\n"; + + if ( isset( $woo_options['woo_font_post_entry'] ) && $woo_options['woo_font_post_entry'] ) + $output .= '.entry, .entry p { '.woo_generate_font_css($woo_options[ 'woo_font_post_entry' ], '1.5').' } h1, h2, h3, h4, h5, h6 { font-family: '.stripslashes($woo_options[ 'woo_font_post_entry' ]['face']).', arial, sans-serif; }' . "\n"; + + if ( isset( $woo_options['woo_font_widget_titles'] ) && $woo_options['woo_font_widget_titles'] ) + $output .= '.widget h3 { '.woo_generate_font_css($woo_options[ 'woo_font_widget_titles' ]).' }' . "\n"; + + if ( isset( $woo_options['woo_font_widget_titles'] ) && $woo_options['woo_font_widget_titles'] ) + $output .= '.widget h3 { '.woo_generate_font_css($woo_options[ 'woo_font_widget_titles' ]).' }' . "\n"; + + // Component titles + if ( isset( $woo_options['woo_font_component_titles'] ) && $woo_options['woo_font_component_titles'] ) + $output .= '.component h2.component-title { '.woo_generate_font_css($woo_options[ 'woo_font_component_titles' ]).' }' . "\n"; + + // Add default typography Google Font + } else { + + // Load default Google Fonts + global $default_google_fonts; + if ( is_array( $default_google_fonts) and count( $default_google_fonts ) > 0 ) : + + $count = 0; + foreach ( $default_google_fonts as $font ) { + $count++; + $woo_options[ 'woo_default_google_font_'.$count ] = array( 'face' => $font ); + } + $default_google_font = true; + + endif; + + } + + // Output styles + if (isset($output) && $output != '') { + + // Load Google Fonts stylesheet in HEAD + if (function_exists( 'woo_google_webfonts')) woo_google_webfonts(); + + $output = "\n" . "\n\n"; + echo $output; + + // Check if default google font is set and load Google Fonts stylesheet in HEAD + } elseif ( $default_google_font ) { + + // Enable Google Fonts stylesheet in HEAD + if (function_exists( 'woo_google_webfonts')) woo_google_webfonts(); + + } + + } // End woo_custom_typography() +} + +// Returns proper font css output +if (!function_exists( 'woo_generate_font_css')) { + function woo_generate_font_css($option, $em = '1') { + + // Test if font-face is a Google font + global $google_fonts; + foreach ( $google_fonts as $google_font ) { + + // Add single quotation marks to font name and default arial sans-serif ending + if ( $option[ 'face' ] == $google_font[ 'name' ] ) + $option[ 'face' ] = "'" . $option[ 'face' ] . "', arial, sans-serif"; + + } // END foreach + + if ( !@$option["style"] && !@$option["size"] && !@$option["unit"] && !@$option["color"] ) + return 'font-family: '.stripslashes($option["face"]).';'; + else + return 'font:'.$option["style"].' '.$option["size"].$option["unit"].'/'.$em.'em '.stripslashes($option["face"]).';color:'.$option["color"].';'; + } +} + +// Output stylesheet and custom.css after custom styling +remove_action( 'wp_head', 'woothemes_wp_head' ); +add_action( 'woo_head', 'woothemes_wp_head' ); + + +/*-----------------------------------------------------------------------------------*/ +/* Add layout to body_class output */ +/*-----------------------------------------------------------------------------------*/ + +add_filter( 'body_class','woo_layout_body_class', 10 ); // Add layout to body_class output + +if ( ! function_exists( 'woo_layout_body_class' ) ) { + function woo_layout_body_class( $classes ) { + + global $woo_options; + + $layout = 'two-col-left'; + + if ( isset( $woo_options['woo_site_layout'] ) && ( $woo_options['woo_site_layout'] != '' ) ) { + $layout = $woo_options['woo_site_layout']; + } + + // Set main layout on post or page + if ( is_singular() ) { + global $post; + $single = get_post_meta($post->ID, '_layout', true); + if ( $single != "" AND $single != "layout-default" ) + $layout = $single; + } + + // Add layout to $woo_options array for use in theme + $woo_options['woo_layout'] = $layout; + + // Add classes to body_class() output + $classes[] = $layout; + return $classes; + + } // End woo_layout_body_class() +} + + +/*-----------------------------------------------------------------------------------*/ +/* woo_feedburner_link() */ +/*-----------------------------------------------------------------------------------*/ +/** + * woo_feedburner_link() + * + * Replace the default RSS feed link with the Feedburner URL, if one + * has been provided by the user. + * + * @package WooFramework + * @subpackage Filters + */ + +add_filter( 'feed_link', 'woo_feedburner_link', 10 ); + +function woo_feedburner_link ( $output, $feed = null ) { + + global $woo_options; + + $default = get_default_feed(); + + if ( ! $feed ) $feed = $default; + + if ( isset($woo_options[ 'woo_feed_url']) && $woo_options[ 'woo_feed_url' ] && ( $feed == $default ) && ( ! stristr( $output, 'comments' ) ) ) $output = esc_url( $woo_options[ 'woo_feed_url' ] ); + + return $output; + +} // End woo_feedburner_link() + +/*-----------------------------------------------------------------------------------*/ +/* Load responsive IE scripts */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'wp_footer', 'woo_load_responsive_IE_footer', 10 ); + +if ( ! function_exists( 'woo_load_responsive_IE_footer' ) ) { + function woo_load_responsive_IE_footer () { + $html = ''; + echo ''. "\n"; + + echo $html; + } // End () +} + +/*-----------------------------------------------------------------------------------*/ +/* END */ +/*-----------------------------------------------------------------------------------*/ +?> \ No newline at end of file diff --git a/artificer/includes/theme-comments.php b/artificer/includes/theme-comments.php new file mode 100755 index 0000000..ca12714 --- /dev/null +++ b/artificer/includes/theme-comments.php @@ -0,0 +1,76 @@ + + +
                  • > + + + +
                    + + +
                    + + +
                    + + + + + + +
                    + +
                    + + comment_approved == '0' ) { ?> +

                    + + +
                    + $depth, 'max_depth' => $args['max_depth'] ) ) ); ?> +
                    + +
                    + +
                    + + + +
                  • + - + + + + ]+>/', $commenter ) ) {$commenter = preg_replace( '(]* class=[\'"]?)', '\\1url ' , $commenter ); + } else { $commenter = ereg_replace( '( \ No newline at end of file diff --git a/artificer/includes/theme-functions.php b/artificer/includes/theme-functions.php new file mode 100755 index 0000000..538b332 --- /dev/null +++ b/artificer/includes/theme-functions.php @@ -0,0 +1,603 @@ + 0 ) { + + // Setup the categories as a string, because "category__not_in" doesn't seem to work + // when using query_posts(). + + foreach ( $excluded_cats as $k => $v ) { $excluded_cats[$k] = '-' . $v; } + $cats = join( ',', $excluded_cats ); + + $args['cat'] = $cats; + } + + return $args; + +} // End woo_exclude_categories_blogtemplate() + +/*-----------------------------------------------------------------------------------*/ +/* Register WP Menus */ +/*-----------------------------------------------------------------------------------*/ +if ( function_exists( 'wp_nav_menu') ) { + add_theme_support( 'nav-menus' ); + register_nav_menus( array( 'primary-menu' => __( 'Primary Menu', 'woothemes' ) ) ); + register_nav_menus( array( 'top-menu' => __( 'Top Menu', 'woothemes' ) ) ); +} + +/*-----------------------------------------------------------------------------------*/ +/* Breadcrumb display */ +/*-----------------------------------------------------------------------------------*/ + +add_action('woo_main_before','woo_display_breadcrumbs',10); +if (!function_exists( 'woo_display_breadcrumbs')) { + function woo_display_breadcrumbs() { + global $woo_options; + if (!is_home()) { + if ( isset( $woo_options['woo_breadcrumbs_show'] ) && $woo_options['woo_breadcrumbs_show'] == 'true' ) { + echo ''; + } + } + } // End woo_display_breadcrumbs() +} // End IF Statement + + + +/*-----------------------------------------------------------------------------------*/ +/* Page navigation */ +/*-----------------------------------------------------------------------------------*/ +if (!function_exists( 'woo_pagenav')) { + function woo_pagenav() { + + global $woo_options; + + // If the user has set the option to use simple paging links, display those. By default, display the pagination. + if ( array_key_exists( 'woo_pagination_type', $woo_options ) && $woo_options[ 'woo_pagination_type' ] == 'simple' ) { + if ( get_next_posts_link() || get_previous_posts_link() ) { + ?> + + + + 'false', + 'connect_title' => __('Subscribe' , 'woothemes'), + 'connect_related' => 'true', + 'connect_content' => __( 'Subscribe to our e-mail newsletter to receive updates.', 'woothemes' ), + 'connect_newsletter_id' => '', + 'connect_mailchimp_list_url' => '', + 'feed_url' => '', + 'connect_rss' => '', + 'connect_twitter' => '', + 'connect_facebook' => '', + 'connect_youtube' => '', + 'connect_flickr' => '', + 'connect_linkedin' => '', + 'connect_delicious' => '', + 'connect_rss' => '', + 'connect_googleplus' => '' + ); + $settings = woo_get_dynamic_values( $settings ); + + // Setup title + if ( $widget != 'true' ) + $title = $settings[ 'connect_title' ]; + + // Setup related post (not in widget) + $related_posts = ''; + if ( $settings[ 'connect_related' ] == "true" AND $widget != "true" ) + $related_posts = do_shortcode( '[related_posts limit="5"]' ); + +?> + + + +(' . __( 'Required', 'woothemes' ) . ')'; + + $req = get_option( 'require_name_email' ); + $aria_req = ( $req ? " aria-required='true'" : '' ); + $fields = array( + 'author' => '

                    ' . + '' . + ' ' . + '

                    ', + 'email' => '', + 'url' => '

                    ' . + '' . + '' . + '

                    ', + ); + + return $fields; + + } // End woo_comment_form_fields() + } + +/*-----------------------------------------------------------------------------------*/ +/* Comment Form Settings */ +/*-----------------------------------------------------------------------------------*/ + + add_filter( 'comment_form_defaults', 'woo_comment_form_settings' ); + + if ( ! function_exists( 'woo_comment_form_settings' ) ) { + function woo_comment_form_settings ( $settings ) { + + $settings['comment_notes_before'] = ''; + $settings['comment_notes_after'] = ''; + $settings['label_submit'] = __( 'Submit Comment', 'woothemes' ); + $settings['cancel_reply_link'] = __( 'Click here to cancel reply.', 'woothemes' ); + + return $settings; + + } // End woo_comment_form_settings() + } + + /*-----------------------------------------------------------------------------------*/ + /* Misc back compat */ + /*-----------------------------------------------------------------------------------*/ + + // array_fill_keys doesn't exist in PHP < 5.2 + // Can remove this after PHP < 5.2 support is dropped + if ( !function_exists( 'array_fill_keys' ) ) { + function array_fill_keys( $keys, $value ) { + return array_combine( $keys, array_fill( 0, count( $keys ), $value ) ); + } + } + +/*-----------------------------------------------------------------------------------*/ +/** + * woo_archive_description() + * + * Display a description, if available, for the archive being viewed (category, tag, other taxonomy). + * + * @since V1.0.0 + * @uses do_atomic(), get_queried_object(), term_description() + * @echo string + * @filter woo_archive_description + */ + +if ( ! function_exists( 'woo_archive_description' ) ) { + function woo_archive_description ( $echo = true ) { + do_action( 'woo_archive_description' ); + + // Archive Description, if one is available. + $term_obj = get_queried_object(); + $description = term_description( $term_obj->term_id, $term_obj->taxonomy ); + + if ( $description != '' ) { + // Allow child themes/plugins to filter here ( 1: text in DIV and paragraph, 2: term object ) + $description = apply_filters( 'woo_archive_description', '
                    ' . $description . '
                    ', $term_obj ); + } + + if ( $echo != true ) { return $description; } + + echo $description; + } // End woo_archive_description() +} + +/*-----------------------------------------------------------------------------------*/ +/* WooPagination Markup */ +/*-----------------------------------------------------------------------------------*/ + +add_filter( 'woo_pagination_args', 'woo_pagination_html5_markup', 2 ); + +function woo_pagination_html5_markup ( $args ) { + $args['before'] = ''; + + return $args; +} // End woo_pagination_html5_markup() + + +/*-----------------------------------------------------------------------------------*/ +/* Google Maps */ +/*-----------------------------------------------------------------------------------*/ + +function woo_maps_contact_output($args){ + + $key = get_option('woo_maps_apikey'); + + // No More API Key needed + + if ( !is_array($args) ) + parse_str( $args, $args ); + + extract($args); + $mode = ''; + $streetview = 'off'; + $map_height = get_option('woo_maps_single_height'); + $featured_w = get_option('woo_home_featured_w'); + $featured_h = get_option('woo_home_featured_h'); + $zoom = get_option('woo_maps_default_mapzoom'); + $type = get_option('woo_maps_default_maptype'); + $marker_title = get_option('woo_contact_title'); + if ( $zoom == '' ) { $zoom = 6; } + $lang = get_option('woo_maps_directions_locale'); + $locale = ''; + if(!empty($lang)){ + $locale = ',locale :"'.$lang.'"'; + } + $extra_params = ',{travelMode:G_TRAVEL_MODE_WALKING,avoidHighways:true '.$locale.'}'; + + if(empty($map_height)) { $map_height = 250;} + + if(is_home() && !empty($featured_h) && !empty($featured_w)){ + ?> +
                    + +
                    + + + + +theme_location == 'primary-menu' ) + $homelink = '
                  • ' . __('Home') . '
                  • '; + $items = $homelink . $items; + return $items; +} +add_filter( 'wp_nav_menu_items', 'new_nav_menu_items', 10, 2 ); + +/*-------------------------------------------------------------------------------------------*/ +/* SHORTCODES */ +/*-------------------------------------------------------------------------------------------*/ + +// Sticky shortcode +function woo_shortcode_sticky( $atts, $content = null ) { + extract( shortcode_atts( array( + 'class' => '', + ), $atts ) ); + + return '
                    ' . $content . '
                    '; +} + +add_shortcode( 'sticky', 'woo_shortcode_sticky' ); + +// Sale shortcode +function woo_shortcode_sale ( $atts, $content = null ) { + $defaults = array(); + extract( shortcode_atts( $defaults, $atts ) ); + return '
                    ' . $content . '
                    '; +} + +add_shortcode( 'sale', 'woo_shortcode_sale' ); + +// Mini features wrap +function woo_shortcode_mini_feature_wrap( $atts, $content = null ) { + return '
                      ' . do_shortcode($content) . '
                    '; +} + +add_shortcode( 'mini-feature-wrap', 'woo_shortcode_mini_feature_wrap' ); + +// Mini features shortcode +function woo_shortcode_mini_feature( $atts, $content = null ) { + extract( shortcode_atts( array( + 'icon' => '', + 'title' => '', + ), $atts ) ); + + return '
                  • ' . esc_attr($title) . '

                    ' . esc_attr($title) . '

                    ' . wpautop($content). '
                  • '; +} + +add_shortcode( 'mini-feature', 'woo_shortcode_mini_feature' ); + +/*-----------------------------------------------------------------------------------*/ +/* Check if WooCommerce is activated */ +/*-----------------------------------------------------------------------------------*/ +if ( ! function_exists( 'is_woocommerce_activated' ) ) { + function is_woocommerce_activated() { + if ( class_exists( 'woocommerce' ) ) { return true; } else { return false; } + } +} + +/*-----------------------------------------------------------------------------------*/ +/* END */ +/*-----------------------------------------------------------------------------------*/ +?> \ No newline at end of file diff --git a/artificer/includes/theme-install.php b/artificer/includes/theme-install.php new file mode 100755 index 0000000..32e7f0e --- /dev/null +++ b/artificer/includes/theme-install.php @@ -0,0 +1,38 @@ + + + \ No newline at end of file diff --git a/artificer/includes/theme-options.php b/artificer/includes/theme-options.php new file mode 100755 index 0000000..fb53bb8 --- /dev/null +++ b/artificer/includes/theme-options.php @@ -0,0 +1,853 @@ +cat_ID] = $woo_cat->cat_name;} +$categories_tmp = array_unshift($woo_categories, "Select a category:" ); + +//Access the WordPress Pages via an Array +$woo_pages = array(); +$woo_pages_obj = get_pages( 'sort_column=post_parent,menu_order' ); +foreach ($woo_pages_obj as $woo_page) { + $woo_pages[$woo_page->ID] = $woo_page->post_name; } +$woo_pages_tmp = array_unshift($woo_pages, "Select a page:" ); + +//Stylesheets Reader +$alt_stylesheet_path = get_template_directory() . '/styles/'; +$alt_stylesheets = array(); +if ( is_dir($alt_stylesheet_path) ) { + if ($alt_stylesheet_dir = opendir($alt_stylesheet_path) ) { + while ( ($alt_stylesheet_file = readdir($alt_stylesheet_dir)) !== false ) { + if(stristr($alt_stylesheet_file, ".css") !== false) { + $alt_stylesheets[] = $alt_stylesheet_file; + } + } + } +} + +//More Options +$other_entries = array( "0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19" ); + +// THIS IS THE DIFFERENT FIELDS +$options = array(); + + +// General + + $options[] = array( 'name' => __( 'General Settings', 'woothemes' ), + 'type' => 'heading', + 'icon' => 'general' ); + + $options[] = array( 'name' => __( 'Quick Start', 'woothemes' ), + 'type' => 'subheading' ); + + $options[] = array( 'name' => __( 'Theme Stylesheet', 'woothemes' ), + 'desc' => __( 'Select your themes alternative color scheme.', 'woothemes' ), + 'id' => $shortname . '_alt_stylesheet', + 'std' => 'default.css', + 'type' => 'select', + 'options' => $alt_stylesheets ); + + $options[] = array( 'name' => __( 'Custom Logo', 'woothemes' ), + 'desc' => __( 'Upload a logo for your theme, or specify an image URL directly.', 'woothemes' ), + 'id' => $shortname . '_logo', + 'std' => '', + 'type' => 'upload' ); + + $options[] = array( 'name' => __( 'Text Title', 'woothemes' ), + 'desc' => sprintf( __( 'Enable text-based Site Title and Tagline. Setup title & tagline in %1$s.', 'woothemes' ), '' . __( 'General Settings', 'woothemes' ) . '' ), + 'id' => $shortname . '_texttitle', + 'std' => 'true', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Site Description', 'woothemes' ), + 'desc' => __( 'Enable the site description/tagline under site title.', 'woothemes' ), + 'id' => $shortname . '_tagline', + 'std' => 'true', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Custom Favicon', 'woothemes' ), + 'desc' => __( 'Upload a 16px x 16px ico image that will represent your website\'s favicon.', 'woothemes' ), + 'id' => $shortname . '_custom_favicon', + 'std' => '', + 'type' => 'upload' ); + + $options[] = array( 'name' => __( 'Tracking Code', 'woothemes' ), + 'desc' => __( 'Paste your Google Analytics (or other) tracking code here. This will be added into the footer template of your theme.', 'woothemes' ), + 'id' => $shortname . '_google_analytics', + 'std' => '', + 'type' => 'textarea' ); + + $options[] = array( 'name' => __( 'Subscription Settings', 'woothemes' ), + 'type' => 'subheading' ); + + $options[] = array( 'name' => __( 'RSS URL', 'woothemes' ), + 'desc' => __( 'Enter your preferred RSS URL. (Feedburner or other)', 'woothemes' ), + 'id' => $shortname . '_feed_url', + 'std' => '', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'E-Mail Subscription URL', 'woothemes' ), + 'desc' => __( 'Enter your preferred E-mail subscription URL. (Feedburner or other)', 'woothemes' ), + 'id' => $shortname . '_subscribe_email', + 'std' => '', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'Contact Form E-Mail', 'woothemes' ), + 'desc' => __( 'Enter your E-mail address to use on the Contact Form Page Template. Add the contact form by adding a new page and selecting "Contact Form" as page template.', 'woothemes' ), + 'id' => $shortname . '_contactform_email', + 'std' => '', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'Display Options', 'woothemes' ), + 'type' => 'subheading' ); + + $options[] = array( 'name' => __( 'Custom CSS', 'woothemes' ), + 'desc' => __( 'Quickly add some CSS to your theme by adding it to this block.', 'woothemes' ), + 'id' => $shortname . '_custom_css', + 'std' => '', + 'type' => 'textarea' ); + + $options[] = array( 'name' => __( 'Post/Page Comments', 'woothemes' ), + 'desc' => __( 'Select if you want to enable/disable comments on posts and/or pages.', 'woothemes' ), + 'id' => $shortname . '_comments', + 'std' => 'both', + 'type' => 'select2', + 'options' => array( "post" => __( 'Posts Only', 'woothemes' ), "page" => __( 'Pages Only', 'woothemes' ), "both" => __( 'Pages / Posts', 'woothemes' ), "none" => __( 'None', 'woothemes' ) ) ); + + $options[] = array( 'name' => __( 'Post Content', 'woothemes' ), + 'desc' => __( 'Select if you want to show the full content or the excerpt on posts.', 'woothemes' ), + 'id' => $shortname . '_post_content', + 'type' => 'select2', + 'options' => array( "excerpt" => __( 'The Excerpt', 'woothemes' ), "content" => __( 'Full Content', 'woothemes' ) ) ); + + $options[] = array( 'name' => __( 'Post Author Box', 'woothemes' ), + 'desc' => sprintf( __( 'This will enable the post author box on the single posts page. Edit description in %1$s.', 'woothemes' ), '' . __( 'Profile', 'woothemes' ) . '' ), + 'id' => $shortname . '_post_author', + 'std' => 'true', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Display Breadcrumbs', 'woothemes' ), + 'desc' => __( 'Display dynamic breadcrumbs on each page of your website.', 'woothemes' ), + 'id' => $shortname . '_breadcrumbs_show', + 'std' => 'false', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Display Pagination', 'woothemes' ), + 'desc' => __( 'Display pagination on the blog.', 'woothemes' ), + 'id' => $shortname . '_pagenav_show', + 'std' => 'true', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Pagination Style', 'woothemes' ), + 'desc' => __( 'Select the style of pagination you would like to use on the blog.', 'woothemes' ), + 'id' => $shortname . '_pagination_type', + 'type' => 'select2', + 'options' => array( "paginated_links" => __( 'Numbers', 'woothemes' ), "simple" => __( 'Next/Previous', 'woothemes' ) ) ); + + // Styling + $options[] = array( 'name' => __( 'Styling Options', 'woothemes' ), + 'type' => 'heading', + 'icon' => 'styling' ); + + $options[] = array( 'name' => __( 'Background', 'woothemes' ), + 'type' => 'subheading' ); + + $options[] = array( 'name' => __( 'Body Background Color', 'woothemes' ), + 'desc' => __( 'Pick a custom color for background color of the theme e.g. #697e09', 'woothemes' ), + 'id' => $shortname . '_body_color', + 'std' => '', + 'type' => 'color' ); + + $options[] = array( 'name' => __( 'Body background image', 'woothemes' ), + 'desc' => __( 'Upload an image for the theme\'s background', 'woothemes' ), + 'id' => $shortname . '_body_img', + 'std' => '', + 'type' => 'upload' ); + + $options[] = array( 'name' => __( 'Background image repeat', 'woothemes' ), + 'desc' => __( 'Select how you would like to repeat the background-image', 'woothemes' ), + 'id' => $shortname . '_body_repeat', + 'std' => 'no-repeat', + 'type' => 'select', + 'options' => array( "no-repeat", "repeat-x", "repeat-y", "repeat" ) ); + + $options[] = array( 'name' => __( 'Background image position', 'woothemes' ), + 'desc' => __( 'Select how you would like to position the background', 'woothemes' ), + 'id' => $shortname . '_body_pos', + 'std' => "top", + 'type' => 'select', + 'options' => array( "top left", "top center", "top right", "center left", "center center", "center right", "bottom left", "bottom center", "bottom right" ) ); + + $options[] = array( "name" => "Background Attachment", + "desc" => "Select whether the background should be fixed or move when the user scrolls", + "id" => $shortname."_body_attachment", + "std" => "scroll", + "type" => "select", + "options" => array( "scroll","fixed")); + + $options[] = array( 'name' => __( 'Links', 'woothemes' ), + 'type' => 'subheading' ); + + $options[] = array( 'name' => __( 'Link Color', 'woothemes' ), + 'desc' => __( 'Pick a custom color for links or add a hex color code e.g. #697e09', 'woothemes' ), + 'id' => $shortname . '_link_color', + 'std' => '', + 'type' => 'color' ); + + $options[] = array( 'name' => __( 'Link Hover Color', 'woothemes' ), + 'desc' => __( 'Pick a custom color for links hover or add a hex color code e.g. #697e09', 'woothemes' ), + 'id' => $shortname . '_link_hover_color', + 'std' => '', + 'type' => 'color' ); + + $options[] = array( 'name' => __( 'Button Color', 'woothemes' ), + 'desc' => __( 'Pick a custom color for buttons or add a hex color code e.g. #697e09', 'woothemes' ), + 'id' => $shortname . '_button_color', + 'std' => '', + 'type' => 'color' ); + + /* Typography */ + + $options[] = array( 'name' => __( 'Typography', 'woothemes' ), + 'type' => 'heading', + 'icon' => 'typography' ); + + $options[] = array( 'name' => __( 'Enable Custom Typography', 'woothemes' ) , + 'desc' => __( 'Enable the use of custom typography for your site. Custom styling will be output in your sites HEAD.', 'woothemes' ) , + 'id' => $shortname . '_typography', + 'std' => 'false', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'General Typography', 'woothemes' ) , + 'desc' => __( 'Change the general font.', 'woothemes' ) , + 'id' => $shortname . '_font_body', + 'std' => array( 'size' => '1.6', 'unit' => 'em', 'face' => 'FontSiteSans-Roman', 'style' => '', 'color' => '#3E3E3E' ), + 'type' => 'typography' ); + + $options[] = array( 'name' => __( 'Navigation', 'woothemes' ) , + 'desc' => __( 'Change the navigation font.', 'woothemes' ), + 'id' => $shortname . '_font_nav', + 'std' => array( 'size' => '1', 'unit' => 'em', 'face' => 'FontSiteSans-Cond', 'style' => '', 'color' => '#3E3E3E' ), + 'type' => 'typography' ); + + $options[] = array( 'name' => __( 'Page Title', 'woothemes' ) , + 'desc' => __( 'Change the page title.', 'woothemes' ) , + 'id' => $shortname . '_font_page_title', + 'std' => array( 'size' => '2.2', 'unit' => 'em', 'face' => 'BergamoStd', 'style' => 'bold', 'color' => '#3E3E3E' ), + 'type' => 'typography' ); + + $options[] = array( 'name' => __( 'Post Title', 'woothemes' ) , + 'desc' => __( 'Change the post title.', 'woothemes' ) , + 'id' => $shortname . '_font_post_title', + 'std' => array( 'size' => '2.2', 'unit' => 'em', 'face' => 'BergamoStd', 'style' => 'bold', 'color' => '#3E3E3E' ), + 'type' => 'typography' ); + + $options[] = array( 'name' => __( 'Post Meta', 'woothemes' ), + 'desc' => __( 'Change the post meta.', 'woothemes' ) , + 'id' => $shortname . '_font_post_meta', + 'std' => array( 'size' => '1', 'unit' => 'em', 'face' => 'BergamoStd', 'style' => '', 'color' => '#3E3E3E' ), + 'type' => 'typography' ); + + $options[] = array( 'name' => __( 'Post Entry', 'woothemes' ) , + 'desc' => __( 'Change the post entry.', 'woothemes' ) , + 'id' => $shortname . '_font_post_entry', + 'std' => array( 'size' => '1', 'unit' => 'em', 'face' => 'BergamoStd', 'style' => '', 'color' => '#3E3E3E' ), + 'type' => 'typography' ); + + $options[] = array( 'name' => __( 'Widget Titles', 'woothemes' ) , + 'desc' => __( 'Change the widget titles.', 'woothemes' ) , + 'id' => $shortname . '_font_widget_titles', + 'std' => array( 'size' => '1', 'unit' => 'em', 'face' => 'FontSiteSans-Cond', 'style' => 'bold', 'color' => '#3E3E3E' ), + 'type' => 'typography' ); + + /* Homepage */ + + $options[] = array( "name" => "Homepage Options", + "type" => "heading", + "icon" => "homepage" ); + + $options[] = array( "name" => "Stand First", + "type" => "subheading" ); + + $options[] = array( "name" => "Stand First", + "desc" => "The homepage heading", + "id" => $shortname."_stand_first", + "std" => "Hello and welcome to our awesome store!", + "type" => "textarea" ); + + $options[] = array( "name" => "Store Info", + "type" => "subheading" ); + + $options[] = array( "name" => "Display Store info", + "desc" => "Display your store details in the footer", + "id" => $shortname."_display_store_info", + "std" => "true", + "class" => "collapsed", + "type" => "checkbox" ); + + $options[] = array( "name" => "Store phone number", + "desc" => "Appears in your site footer", + "id" => $shortname."_store_phone_number", + "std" => "01234 567890", + "class" => "hidden", + "type" => "text" ); + + $options[] = array( "name" => "Store email address", + "desc" => "Appears in your site footer", + "id" => $shortname."_store_email_address", + "std" => "info@yourstore.com", + "class" => "hidden", + "type" => "text" ); + + /* WooCommerce */ + $options[] = array( "name" => "WooCommerce Options", + "type" => "heading", + "icon" => "woocommerce" ); + + $options[] = array( "name" => "Products", + "type" => "subheading" ); + + $options[] = array( "name" => "Product per page", + "desc" => "How many products do you want to display on product archive pages? Multiples of 3 work best", + "id" => $shortname."_products_per_page", + "std" => "12", + "type" => "text" ); + + $options[] = array( "name" => "Layout", + "type" => "subheading" ); + + $options[] = array( "name" => "Shop pages full width", + "desc" => "Shop archives displayed full-width with no sidebar", + "id" => $shortname."_shop_archives_fullwidth", + "std" => "false", + "type" => "checkbox" ); + + + /* Layout */ + + $options[] = array( 'name' => __( 'Layout Options', 'woothemes' ), + 'type' => 'heading', + 'icon' => 'layout' ); + + $url = get_template_directory_uri() . '/functions/images/'; + $options[] = array( 'name' => __( 'Main Layout', 'woothemes' ), + 'desc' => __( 'Select which layout you want for your site.', 'woothemes' ), + 'id' => $shortname . '_site_layout', + 'std' => "layout-right-content", + 'type' => 'images', + 'options' => array( + 'layout-left-content' => $url . '2cl.png', + 'layout-right-content' => $url . '2cr.png' ) + ); + + $options[] = array( 'name' => __( 'Category Exclude - Blog Page Template', 'woothemes' ), + 'desc' => __( 'Specify a comma seperated list of category IDs or slugs that you\'d like to exclude from your \'Blog\' page template (eg: uncategorized).', 'woothemes' ), + 'id' => $shortname . '_exclude_cats_blog', + 'std' => '', + 'type' => 'text' ); + + /* Dynamic Images */ + $options[] = array( 'name' => __( 'Dynamic Images', 'woothemes' ), + 'type' => 'heading', + 'icon' => 'image' ); + + $options[] = array( 'name' => __( 'Resizer Settings', 'woothemes' ), + 'type' => 'subheading' ); + + $options[] = array( 'name' => __( 'Dynamic Image Resizing', 'woothemes' ), + 'desc' => '', + 'id' => $shortname . '_wpthumb_notice', + 'std' => __( 'There are two alternative methods of dynamically resizing the thumbnails in the theme, WP Post Thumbnail or TimThumb - Custom Settings panel. We recommend using WP Post Thumbnail option.', 'woothemes' ), + 'type' => "info" ); + + $options[] = array( 'name' => __( 'WP Post Thumbnail', 'woothemes' ), + 'desc' => __( 'Use WordPress post thumbnail to assign a post thumbnail. Will enable the Featured Image panel in your post sidebar where you can assign a post thumbnail.', 'woothemes' ), + 'id' => $shortname . '_post_image_support', + 'std' => 'true', + 'class' => "collapsed", + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'WP Post Thumbnail - Dynamic Image Resizing', 'woothemes' ), + 'desc' => __( 'The post thumbnail will be dynamically resized using native WP resize functionality. (Requires PHP 5.2+)', 'woothemes' ), + 'id' => $shortname . '_pis_resize', + 'std' => 'true', + 'class' => "hidden", + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'WP Post Thumbnail - Hard Crop', 'woothemes' ), + 'desc' => __( 'The post thumbnail will be cropped to match the target aspect ratio (only used if "Dynamic Image Resizing" is enabled).', 'woothemes' ), + 'id' => $shortname . '_pis_hard_crop', + 'std' => 'true', + 'class' => "hidden last", + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'TimThumb - Custom Settings Panel', 'woothemes' ), + 'desc' => sprintf( __( 'This will enable the %1$s (thumb.php) script which dynamically resizes images added through the custom settings panel below the post. Make sure your themes cache folder is writable. %2$s', 'woothemes' ), 'TimThumb', 'Need help?' ), + 'id' => $shortname . '_resize', + 'std' => 'true', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Automatic Image Thumbnail', 'woothemes' ), + 'desc' => __( 'If no thumbnail is specifified then the first uploaded image in the post is used.', 'woothemes' ), + 'id' => $shortname . '_auto_img', + 'std' => 'false', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Thumbnail Settings', 'woothemes' ), + 'type' => 'subheading' ); + + $options[] = array( 'name' => __( 'Thumbnail Image Dimensions', 'woothemes' ), + 'desc' => __( 'Enter an integer value i.e. 250 for the desired size which will be used when dynamically creating the images.', 'woothemes' ), + 'id' => $shortname . '_image_dimensions', + 'std' => '', + 'type' => array( + array( 'id' => $shortname . '_thumb_w', + 'type' => 'text', + 'std' => 150, + 'meta' => __( 'Width', 'woothemes' ) ), + array( 'id' => $shortname . '_thumb_h', + 'type' => 'text', + 'std' => 150, + 'meta' => __( 'Height', 'woothemes' ) ) + ) ); + + $options[] = array( 'name' => __( 'Thumbnail Alignment', 'woothemes' ), + 'desc' => __( 'Select how to align your thumbnails with posts.', 'woothemes' ), + 'id' => $shortname . '_thumb_align', + 'std' => 'alignright', + 'type' => 'select2', + 'options' => array( 'alignleft' => __( 'Left', 'woothemes' ), 'alignright' => __( 'Right', 'woothemes' ), 'aligncenter' => __( 'Center', 'woothemes' ) ) ); + + $options[] = array( 'name' => 'Single Post - Show Thumbnail', + 'desc' => __( 'Show the thumbnail in the single post page.', 'woothemes' ), + 'id' => $shortname . '_thumb_single', + 'class' => 'collapsed', + 'std' => 'false', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Single Post - Thumbnail Dimensions', 'woothemes' ), + 'desc' => __( 'Enter an integer value i.e. 250 for the image size. Max width is 576.', 'woothemes' ), + 'id' => $shortname . '_image_dimensions', + 'std' => '', + 'class' => 'hidden last', + 'type' => array( + array( 'id' => $shortname . '_single_w', + 'type' => 'text', + 'std' => 200, + 'meta' => __( 'Width', 'woothemes' ) ), + array( 'id' => $shortname . '_single_h', + 'type' => 'text', + 'std' => 200, + 'meta' => __( 'Height', 'woothemes' ) ) + ) ); + + $options[] = array( 'name' => __( 'Single Post - Thumbnail Alignment', 'woothemes' ), + 'desc' => __( 'Select how to align your thumbnail with single posts.', 'woothemes' ), + 'id' => $shortname . '_thumb_single_align', + 'std' => 'alignright', + 'type' => 'select2', + 'class' => 'hidden', + 'options' => array( 'alignleft' => __( 'Left', 'woothemes' ), 'alignright' => __( 'Right', 'woothemes' ), 'aligncenter' => __( 'Center', 'woothemes' ) ) ); + + $options[] = array( 'name' => __( 'Add thumbnail to RSS feed', 'woothemes' ), + 'desc' => __( 'Add the the image uploaded via your Custom Settings panel to your RSS feed', 'woothemes' ), + 'id' => $shortname . '_rss_thumb', + 'std' => 'false', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Enable Lightbox', 'woothemes' ), + 'desc' => __( 'Enable the PrettyPhoto lighbox script on images within your website\'s content.', 'woothemes' ), + 'id' => $shortname . '_enable_lightbox', + 'std' => 'false', + 'type' => 'checkbox' ); + + /* Footer */ + $options[] = array( 'name' => __( 'Footer Customization', 'woothemes' ), + 'type' => 'heading', + 'icon' => 'footer' ); + + $url = get_template_directory_uri() . '/functions/images/'; + $options[] = array( 'name' => __( 'Footer Widget Areas', 'woothemes' ), + 'desc' => __( 'Select how many footer widget areas you want to display.', 'woothemes' ), + 'id' => $shortname . '_footer_sidebars', + 'std' => "4", + 'type' => 'images', + 'options' => array( + '0' => $url . 'layout-off.png', + '1' => $url . 'footer-widgets-1.png', + '2' => $url . 'footer-widgets-2.png', + '3' => $url . 'footer-widgets-3.png', + '4' => $url . 'footer-widgets-4.png' ) + ); + + $options[] = array( 'name' => __( 'Custom Affiliate Link', 'woothemes' ), + 'desc' => __( 'Add an affiliate link to the WooThemes logo in the footer of the theme.', 'woothemes' ), + 'id' => $shortname . '_footer_aff_link', + 'std' => '', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'Enable Custom Footer (Left)', 'woothemes' ), + 'desc' => __( 'Activate to add the custom text below to the theme footer.', 'woothemes' ), + 'id' => $shortname . '_footer_left', + 'std' => 'false', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Custom Text (Left)', 'woothemes' ), + 'desc' => __( 'Custom HTML and Text that will appear in the footer of your theme.', 'woothemes' ), + 'id' => $shortname . '_footer_left_text', + 'std' => '', + 'type' => 'textarea' ); + + $options[] = array( 'name' => __( 'Enable Custom Footer (Right)', 'woothemes' ), + 'desc' => __( 'Activate to add the custom text below to the theme footer.', 'woothemes' ), + 'id' => $shortname . '_footer_right', + 'std' => 'false', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Custom Text (Right)', 'woothemes' ), + 'desc' => __( 'Custom HTML and Text that will appear in the footer of your theme.', 'woothemes' ), + 'id' => $shortname . '_footer_right_text', + 'std' => '', + 'type' => 'textarea' ); + + /* Subscribe & Connect */ + $options[] = array( 'name' => __( 'Subscribe & Connect', 'woothemes' ), + 'type' => 'heading', + 'icon' => 'connect' ); + + $options[] = array( 'name' => __( 'Setup', 'woothemes' ), + 'type' => 'subheading' ); + + $options[] = array( 'name' => __( 'Enable Subscribe & Connect - Single Post', 'woothemes' ), + 'desc' => sprintf( __( 'Enable the subscribe & connect area on single posts. You can also add this as a %1$s in your sidebar.', 'woothemes' ), 'widget' ), + 'id' => $shortname . '_connect', + 'std' => 'false', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Subscribe Title', 'woothemes' ), + 'desc' => __( 'Enter the title to show in your subscribe & connect area.', 'woothemes' ), + 'id' => $shortname . '_connect_title', + 'std' => 'Subscribe', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'Text', 'woothemes' ), + 'desc' => __( 'Change the default text in this area.', 'woothemes' ), + 'id' => $shortname . '_connect_content', + 'std' => '', + 'type' => 'textarea' ); + + $options[] = array( 'name' => __( 'Enable Related Posts', 'woothemes' ), + 'desc' => __( 'Enable related posts in the subscribe area. Uses posts with the same tags to find related posts. Note: Will not show in the Subscribe widget.', 'woothemes' ), + 'id' => $shortname . '_connect_related', + 'std' => 'true', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Subscribe Settings', 'woothemes' ), + 'type' => 'subheading' ); + + $options[] = array( 'name' => __( 'Subscribe By E-mail ID (Feedburner)', 'woothemes' ), + 'desc' => __( 'Enter your Feedburner ID for the e-mail subscription form.', 'woothemes' ), + 'id' => $shortname . '_connect_newsletter_id', + 'std' => '', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'Subscribe By E-mail to MailChimp', 'woothemes', 'woothemes' ), + 'desc' => __( 'If you have a MailChimp account you can enter the MailChimp List Subscribe URL to allow your users to subscribe to a MailChimp List.', 'woothemes' ), + 'id' => $shortname . '_connect_mailchimp_list_url', + 'std' => '', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'Connect Settings', 'woothemes' ), + 'type' => 'subheading' ); + + $options[] = array( 'name' => __( 'Enable RSS', 'woothemes' ), + 'desc' => __( 'Enable the subscribe and RSS icon.', 'woothemes' ), + 'id' => $shortname . '_connect_rss', + 'std' => 'true', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Twitter URL', 'woothemes' ), + 'desc' => __( 'Enter your Twitter URL e.g. http://www.twitter.com/woothemes', 'woothemes' ), + 'id' => $shortname . '_connect_twitter', + 'std' => '', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'Facebook URL', 'woothemes' ), + 'desc' => __( 'Enter your Facebook URL e.g. http://www.facebook.com/woothemes', 'woothemes' ), + 'id' => $shortname . '_connect_facebook', + 'std' => '', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'YouTube URL', 'woothemes' ), + 'desc' => __( 'Enter your YouTube URL e.g. http://www.youtube.com/woothemes', 'woothemes' ), + 'id' => $shortname . '_connect_youtube', + 'std' => '', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'Flickr URL', 'woothemes' ), + 'desc' => __( 'Enter your Flickr URL e.g. http://www.flickr.com/woothemes', 'woothemes' ), + 'id' => $shortname . '_connect_flickr', + 'std' => '', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'LinkedIn URL', 'woothemes' ), + 'desc' => __( 'Enter your LinkedIn URL e.g. http://www.linkedin.com/in/woothemes', 'woothemes' ), + 'id' => $shortname . '_connect_linkedin', + 'std' => '', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'Delicious URL', 'woothemes' ), + 'desc' => __( 'Enter your Delicious URL e.g. http://www.delicious.com/woothemes', 'woothemes' ), + 'id' => $shortname . '_connect_delicious', + 'std' => '', + 'type' => 'text' ); + + $options[] = array( 'name' => __( 'Google+ URL', 'woothemes' ), + 'desc' => __( 'Enter your Google+ URL e.g. https://plus.google.com/104560124403688998123/', 'woothemes' ), + 'id' => $shortname . '_connect_googleplus', + 'std' => '', + 'type' => 'text' ); + + /* Advertising */ + $options[] = array( 'name' => __( 'Advertising', 'woothemes' ), + 'type' => 'heading', + 'icon' => "ads" ); + + $options[] = array( 'name' => __( 'Top Ad (468x60px)', 'woothemes' ), + 'type' => 'subheading' ); + + $options[] = array( 'name' => __( 'Enable Ad', 'woothemes' ), + 'desc' => __( 'Enable the ad space', 'woothemes' ), + 'id' => $shortname . '_ad_top', + 'std' => 'false', + 'type' => 'checkbox' ); + + $options[] = array( 'name' => __( 'Adsense code', 'woothemes' ), + 'desc' => __( 'Enter your adsense code (or other ad network code) here.', 'woothemes' ), + 'id' => $shortname . '_ad_top_adsense', + 'std' => '', + 'type' => 'textarea' ); + + $options[] = array( 'name' => __( 'Image Location', 'woothemes' ), + 'desc' => __( 'Enter the URL to the banner ad image location.', 'woothemes' ), + 'id' => $shortname . '_ad_top_image', + 'std' => "http://www.woothemes.com/ads/468x60b.jpg", + 'type' => 'upload' ); + + $options[] = array( 'name' => __( 'Destination URL', 'woothemes' ), + 'desc' => __( 'Enter the URL where this banner ad points to.', 'woothemes' ), + 'id' => $shortname . '_ad_top_url', + 'std' => "http://www.woothemes.com", + 'type' => 'text' ); + +/* Contact Template Settings */ + +$options[] = array( 'name' => "Contact Page", + 'icon' => 'maps', + 'type' => 'heading'); + +$options[] = array( 'name' => "Contact Information", + 'type' => 'subheading'); + +$options[] = array( "name" => "Enable Contact Information Panel", + "desc" => "Enable the contact informal panel", + "id" => $shortname."_contact_panel", + "std" => "false", + "class" => 'collapsed', + "type" => "checkbox" ); + +$options[] = array( 'name' => "Location Name", + 'desc' => "Enter the location name. Example: London Office", + 'id' => $shortname . '_contact_title', + 'std' => '', + 'class' => 'hidden', + 'type' => 'text' ); + +$options[] = array( 'name' => "Location Address", + 'desc' => "Enter your company's address", + 'id' => $shortname . '_contact_address', + 'std' => '', + 'class' => 'hidden', + 'type' => "textarea" ); + +$options[] = array( 'name' => "Telephone", + 'desc' => "Enter your telephone number", + 'id' => $shortname . '_contact_number', + 'std' => '', + 'class' => 'hidden', + 'type' => 'text' ); + +$options[] = array( 'name' => "Fax", + 'desc' => "Enter your fax number", + 'id' => $shortname . '_contact_fax', + 'std' => '', + 'class' => 'hidden last', + 'type' => 'text' ); + +$options[] = array( "name" => "Contact Form E-Mail", + "desc" => "Enter your E-mail address to use on the 'Contact Form' page Template.", + "id" => $shortname."_contactform_email", + "std" => "", + "type" => "text" ); + +$options[] = array( 'name' => "Your Twitter username", + 'desc' => "Enter your Twitter username. Example: woothemes", + 'id' => $shortname . '_contact_twitter', + 'std' => '', + 'type' => 'text' ); + +$options[] = array( "name" => "Enable Subscribe and Connect", + "desc" => "Enable the subscribe and connect functionality on the contact page template", + "id" => $shortname."_contact_subscribe_and_connect", + "std" => "false", + "type" => "checkbox" ); + +$options[] = array( 'name' => "Maps", + 'type' => 'subheading'); + +$options[] = array( 'name' => "Contact Form Google Maps Coordinates", + 'desc' => 'Enter your Google Map coordinates to display a map on the Contact Form page template and a link to it on the Contact Us widget. You can get these details from Google Maps', + 'id' => $shortname . '_contactform_map_coords', + 'std' => '', + 'type' => 'text' ); + +$options[] = array( 'name' => "Disable Mousescroll", + 'desc' => "Turn off the mouse scroll action for all the Google Maps on the site. This could improve usability on your site.", + 'id' => $shortname . '_maps_scroll', + 'std' => '', + 'type' => 'checkbox'); + +$options[] = array( 'name' => "Map Height", + 'desc' => "Height in pixels for the maps displayed on Single.php pages.", + 'id' => $shortname . '_maps_single_height', + 'std' => "250", + 'type' => 'text'); + +$options[] = array( 'name' => "Default Map Zoom Level", + 'desc' => "Set this to adjust the default in the post & page edit backend.", + 'id' => $shortname . '_maps_default_mapzoom', + 'std' => "9", + 'type' => 'select2', + 'options' => $other_entries); + +$options[] = array( 'name' => "Default Map Type", + 'desc' => "Set this to the default rendered in the post backend.", + 'id' => $shortname . '_maps_default_maptype', + 'std' => 'G_NORMAL_MAP', + 'type' => 'select2', + 'options' => array( 'G_NORMAL_MAP' => 'Normal', 'G_SATELLITE_MAP' => 'Satellite','G_HYBRID_MAP' => 'Hybrid', 'G_PHYSICAL_MAP' => 'Terrain' ) ); + +$options[] = array( 'name' => "Map Callout Text", + 'desc' => "Text or HTML that will be output when you click on the map marker for your location.", + 'id' => $shortname . '_maps_callout_text', + 'std' => "", + 'type' => 'textarea'); + +// Add extra options through function +if ( function_exists( "woo_options_add") ) + $options = woo_options_add($options); + +if ( get_option( 'woo_template') != $options) update_option( 'woo_template',$options); +if ( get_option( 'woo_themename') != $themename) update_option( 'woo_themename',$themename); +if ( get_option( 'woo_shortname') != $shortname) update_option( 'woo_shortname',$shortname); +if ( get_option( 'woo_manual') != $manualurl) update_option( 'woo_manual',$manualurl); + +// Woo Metabox Options +// Start name with underscore to hide custom key from the user +global $post; +$woo_metaboxes = array(); + +// Shown on both posts and pages + + +// Show only on specific post types or page + +if ( ( get_post_type() == 'post') || ( !get_post_type() ) ) { + + // TimThumb is enabled in options + if ( get_option( 'woo_resize') == "true" ) { + + $woo_metaboxes[] = array ( 'name' => "image", + "label" => "Image", + 'type' => "upload", + 'desc' => "Upload an image or enter an URL." ); + + $woo_metaboxes[] = array ( 'name' => "_image_alignment", + 'std' => "Center", + "label" => "Image Crop Alignment", + 'type' => 'select2', + 'desc' => "Select crop alignment for resized image", + 'options' => array( "c" => "Center", + "t" => "Top", + "b" => "Bottom", + "l" => "Left", + "r" => "Right")); + // TimThumb disabled in the options + } else { + + $woo_metaboxes[] = array ( 'name' => "_timthumb-info", + "label" => "Image", + 'type' => "info", + 'desc' => "TimThumb is disabled. Use the Featured Image panel in the sidebar instead, or enable TimThumb in the options panel." ); + + } + + $woo_metaboxes[] = array ( 'name' => "embed", + 'std' => '', + "label" => "Embed Code", + 'type' => "textarea", + 'desc' => "Enter the video embed code for your video (YouTube, Vimeo or similar)" ); + +} // End post + +$woo_metaboxes[] = array ( 'name' => "_layout", + 'std' => "normal", + "label" => "Layout", + 'type' => "images", + 'desc' => "Select the layout you want on this specific post/page.", + 'options' => array( + 'layout-default' => $url . 'layout-off.png', + 'layout-full' => get_template_directory_uri() . '/functions/images/' . '1c.png', + 'layout-left-content' => get_template_directory_uri() . '/functions/images/' . '2cl.png', + 'layout-right-content' => get_template_directory_uri() . '/functions/images/' . '2cr.png')); + + + +// Add extra metaboxes through function +if ( function_exists( "woo_metaboxes_add") ) + $woo_metaboxes = woo_metaboxes_add($woo_metaboxes); + +if ( get_option( 'woo_custom_template' ) != $woo_metaboxes) update_option( 'woo_custom_template', $woo_metaboxes ); + +} // END woo_options() +} // END function_exists() + +// Add options to admin_head +add_action( 'admin_head','woo_options' ); + +//Enable WooSEO on these Post types +$seo_post_types = array( 'post','page','product' ); +define( "SEOPOSTTYPES", serialize($seo_post_types)); + +//Global options setup +add_action( 'init','woo_global_options' ); +function woo_global_options(){ + // Populate WooThemes option in array for use in theme + global $woo_options; + $woo_options = get_option( 'woo_options' ); +} + +?> \ No newline at end of file diff --git a/artificer/includes/theme-widgets.php b/artificer/includes/theme-widgets.php new file mode 100755 index 0000000..a915f22 --- /dev/null +++ b/artificer/includes/theme-widgets.php @@ -0,0 +1,42 @@ + \ No newline at end of file diff --git a/artificer/includes/theme-woocommerce.php b/artificer/includes/theme-woocommerce.php new file mode 100755 index 0000000..8c02de1 --- /dev/null +++ b/artificer/includes/theme-woocommerce.php @@ -0,0 +1,330 @@ += 0 ) { + // WooCommerce 2.1 or above is active + add_filter( 'woocommerce_enqueue_styles', '__return_false' ); +} else { + // WooCommerce is less than 2.1 + define( 'WOOCOMMERCE_USE_CSS', false ); +} + +/*-------------------------------------------------------------------------------------------*/ +/* GENERAL LAYOUT */ +/*-------------------------------------------------------------------------------------------*/ + +// Adjust markup on all WooCommerce pages +remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 ); +remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 ); + +add_action( 'woocommerce_before_main_content', 'artificer_before_content', 10 ); +add_action( 'woocommerce_after_main_content', 'artificer_after_content', 20 ); + +// Fix the layout etc +if (!function_exists('artificer_before_content')) { + function artificer_before_content() { + ?> + + +
                    + + + +
                    + +
                    + + +
                    + + + + '; +} +function artificer_product_inner_close() { + echo '
                    \ +
                     
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ + Expand \ +
                    \ + next \ + previous \ +
                    \ +
                    \ +
                    \ +
                    \ + Previous \ +

                    0/0

                    \ + Next \ +
                    \ +

                    \ +
                    {pp_social}
                    \ + Close \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +
                    \ +

                    cHGe!In*LadYnv7QGucB?#wN@w!8Jh-JZi) zl2gHeH1*HFk(8H(Z71y1%Tm%Td*fT5o~zm%P_?dEP&eH*u^pIc6aM|$I>TFI-nKh3 z;`5OF;Kep&Usb`^-Y<+hiP`+achoH1ZD@b505{whkuC~}v{QxOCK-$JKb^ZnO>V#q zSgnvO(>7t|F*KoKPWZ(mIzj#9)`wWKqG=O+-Y~Q%k4p(Jy>kU|5U!M%TBrE z50-NGVe-C)OJtFy$Rcat0{DQ`ItpHXqX>N*$Z|;2oU#_u@+CJ_O?penx>APoGuS2- zwEX%HcmYfv5k50b9k9&ERWR{(WLQM(K1Q( z;ZU+pquQU=FxHKy%>z}s;=RVZd#}K<*}E`mNOV^ zl`%#aefH>@Q?jKUwY=?2V@zb-_Mbkue+f6feCwMtrkgV3_Q_(I`r$T3q32Os0De7udV)|s6 zBNTl>1)ReH55M@`Jdzd%%vD{rtW}QrYnYL{kh1ehWKaeUO}Xm1kTSNYBHVPs*7uSQ zR0@UwiC6a{hujtm5N~Si_@{6p)*`OO)P@pmL*`1?Hpz>p$F!nz?+yk(Dt6*RiYQBO zgwro z5)YgZ(gyh#C6EC(nGb!n`R*ZUx2d+id-sxl|Fga4zh=B&0uJgEnzU-^U!#t%`&s-k zo`9f0;HIhG&Qy0b3?6bmLHax$;kgNU5iZ^nIQjG$5FZxst)jH}kna8!nR4+f@S-8Y zUWYxFwA*)#$yo?A;7c}}2J+-R#|4*A=Lbb(g6*=!-(9<;uhfdv(viqt!!nL@TkDo} zz5UuWu7l#p$}Oc|LR~b*NjY??tz9G*z+ACLdpLSxm>+1Z6V)8<1>l5{k0FHj_|Kx;~};nCb$m#nL+$dSGn{yzLV|{+(TtUWMo`x)&&|L z-@SnomXC91q4(CJ`)`(OOQVW9Oe2`q#*CNxgOe?zv6Me=%173a{lELOj)w^O#)4oC zHS1C;4Unl}UXjXf9ete24M|W->QmID_gg2r>Uv3f78sS`pq}(r3pm_s05`~p$M_*% zqmM-GBfh?SxMM6)NWz81KANev3y;DCzFURnZ9OG>yx))E#j73)_S>j!o%*yAjI)qq z_d#d705ht0ZrcU6XUd-4Y{~}N*@e364;UN&2lhY-zfYL_0_hXp>bwL8Nm~+;E}0Sj zly{mLHJzzx!AAK4)*2l&S8xgYN&3x`J%%8j<3n5?aJj|BSQV#DXL&~Qm3FlFzHp08 zjxE?|j3(q9Ta);3W&%s&>s0H)dVT{nhHLxnK@^FB7+6>@5xJeb5K*ug$&mEKFbf!! z2*dHI&-573b;dBau~YKu%d#NSVluDQlR71xD7ll1v8;}2sC*wE-uqfll)8p4a|Db` z-;z0#0J0n{g`nLhcrc!GzChoSAX#JKMG~dRS=!ESslN z_!cl!_u0XG`#$9f_Kn}dEwr!02V*#9gKxk6TI=}w`uh6%`tyAK_|uPw4EB9vDJzl; zO+C_U4!PbjYf<;Lf}~fLQ`B|y(r_Cxx{;I4XKSV(aUO6#SnA3ccift!ykH}dQWhAZ zQUxz0NrH4iH$cU_O43!FJ^jYOa+D($E1nQPW4<#+B<9>3SX4@r8aY>zR(e;~byi-} zg1De^iRY^hN-=WjTyLGh24v3X!cvqvhZ!(0SXLP02wnLI16QOVHK3S!if1JU)-I^j zxoik_1fG!c`sGre3B$)2WrDEtyo5JIW`aPTvA&YUsih#ka$0gME0$PjDR0lVz#PUm zFQGax_TY24pms*{JvdHjARfE{CffiCxp-7A`ydyY%h!sHMyViFj!mgcii(Pd6)V^K zRM^joL5d|r3~a_+o&=j9rA#x4Ws4K{9|L@XHZe4nnP~izl;eEPCiSTY)u{)a_Xi(e z%pWNQwniy(X5J zni_3)Bst2<5o%8=`E7pDr+z{T#%%pqcx460lh^sfr9ZFJHA8mXM`Kp z7WycZbc*V;8(Du~-xKdYWK4hN=jVS#8b6ToD=BCCF-Yme{kG$ylk$6pd}8dEX&C$! zwcla&Z%8>7W4$Hz_L=6dm^C!*^h0P(D9bCQW|q^LQk^lJm)C#G<$NZIvh_}GuM{3R z_6+wB`ZZG)uF>&wqYJOj*)Dq2ox-^z=$UR<`3z_r&>qX0snT zxxI@AM!j)sucV~{8Sf{wyr*6oeY>%gje0thwR=rZaMy8fTNgMn4iQX1UeNRePiWXD{OMVLfv38J( zk@2*}->XyvIF5r_*NALcN7d;2_YvnNQ`Sb`6Cb{Prn=NsZ@j(%rY!n{yx2~L6C$Xa7NL;Wku}FeSLj>ef@d9{_YPyV=mNsVcX&oU><4Iga+@42dq7y6jIsf zeL#O;yFnTsq>mnnG#T^}ee$~A$mtYT3W3zA!-nu^shbm)O%5oAM9&N3{C=3QKF zNo9?tndf=-iL~1o#(3Kz+Zs@GkBhHxB9+8am$+n9kI(iI5&k7dwIM2#u#`1w5T$b* zQA;_mnOY;Qk+f1unard#4Q+zRhS)=JG-#OBs4bG?%&hmBHU#C7ZdaD_5DX+SvIM~M zI5NY+jv+I$k954B5ZPkzqsACU(nP5zYF-)M89g>~ZXv{!G@^d0PRcK+zr#F56*1jV z3MO&c4PazuSZAON1DDuhmr`hlk}KE<#uN_waf=#EkLty;EVv&y!D>iZ$+a$F)E6JU79eGMiagT$Gf2aGey1Et17 z)P{5PouoV4aE9z?D=>awE&makZ^-chbmz8p)^iLfonN`{pBOFEjsw>ltqG)8?D&Sg zZ7^0+uI&Cwx1D|8!*FAQrz`ty&~6_v-pCVIYj+gCcj;0)Z!u=iIf8}&Oarm!1oKF-M z##X6|vK_|g@bdZ#=UO<`f;CtlU%a=Dag%pX#rOM1Zuc`wS~0(KbfHLQh=(g$Ag42? zuc$r7B$ONMY!LuTyLMa-W$23&;!|flAb8_7pxVOg_0he zB5X&)yOHX_w!N@icE-L$q%94UMoNjKi`cj!9Hd;a zky(}pTHiR8%xF4+Ji(0U-8ow0b~_;LxLs-d5%q#dVc%~oXALEh?BFWL5g+)XiP50< zMqLkVKrNa5zL7l$&TFb)ELzf$yZegOB-ExIzso$edGWnggK?ySohl5xLpVGBrcAv>Rivi8W6 zIFz&^y2Tbj&Mf(fVXv5vS+9`!UWnX!k~!5*JswJ?*yM(|6*_ltk9eBDZJOuBR^w8a z(gk>Xi1cZFNMBsS-S*j4C8o{ToPZm-%@Z2@`Y#Ih9X+OT%u z@=8fda1HV`AU!4+&)^F=-{?L3>#DIy5k2N)J|^m;r=T}y=zWj4T0Yb5MsJZ)a*GIJ zR2zL>iv3G{rBo;JF8=;gt>qqvuwf5Wy)ed(9Rb4{{uws|6GjUKsK2FAlo|Igp=c#j zYng+-04}AJaB+r>sGX!!Kp!RQ9%HmGbsM)tsWAX@92-W~L`ek~^U>#JnfUn%ovQw} zEy#tyGj!aNk1@Q~)oVR*?2ThL?zdZ9%C&?cCCQfr53cm)m|tl&Xh)y0P_WUcYdl<+ zdLgAuD#4hEEs>IQi8O*mTEuL`(7`G@!Z#NrS;evpU#RM z3!Z-z)u}Hh^y*7_qBWa3Z4gbAvWj)bxk_C`+_DU7BBCP1KMN}r& zC*D1V?y~3ubtx=sA|=Oq#@TTSYH@Dq@^hpCT0zqrw`xVwYXJI0qsk%6jNdOLeLw{c z+d&ek+))=q8c8&2lj>1p;fnPIJINZaU4e^Z?)3KT$cDACKh)R?~$?MegyN%Y}SDb zIT>l%L!yFuX81-eBaCqb%-d}z$r&3Jk|G`hg*ZE<`An5B=L1Or*v8`f7~C}f!X=5+ zK@OHf-Xf9W%a`{~AM!ORj!q^Lu%vDR5PH>0FNw`;)c_X7FKIF104Vst-nPwe|a zU7TDSpjdvT)QVU}m&0N?FJY8h zmPdL&qQb5xn0Eq^O0#E#6J36#>Id9+YR#m)a=X15Qb(UK|XaB6YTWL-UiTvy_h<#2Q__Qj4))Tafz>|Y+<9>-qZS+42nS( z!?W@F`GVQP!7udj%&~XcQRw3%$9QJzzjD7ej+=r$b3QBIe)BCQJup&YSugzVn}0%i z_bvZF_Wtzewk^xkgPt+QoO7+c_uHJ?L}X-SQ&q+kE@2g>ObLW(EZdZ6B#jPW?!DJqvl)CC^PGr3AwHZXg)%cD^4@db zX0JKN`2C)zoHw2y{tOxa5wG86-s`W)_pf>T@&l>=W3azQ87KbY?ML2y_rks#kC(4O zE46j%cnu)up84Zn{`_}p9slAYW0wClH!zNe3OB>Tu}1;$%$ufN9k#_jcctiAEI z9Q2yxdVj}d{h6DuwEaD5A904<>j&RocAg(HrwlnC3k*e2WTF6Z!D)r z%2Gg^9LE-szUSuA8={+J}wQf^QDRZkZ^@pwz8JB}?i%4Iq4qRDQAzS8r zd8Um!;*W@SOfoLFxInQoc#lX>qD5?`CM-A+BPh;32L+$3DFJ{?VSCXQ!--hg&yDu{ zke zvQWpba3(0T#TI|BFPzRspFm7LO~Ellm81(kFZn(|B$T32UlCk(yd|VR;PYp<`$6jm zYq~@yuwPM0EG5%seD&A|DP>YF^qNuG@UC&m)op@FFIc%!kCmg}5jmlH4;@!uk#x}8 zN?u;+Jq8P|ZKj|ckkD=BhDZ!15W?Wn=CCLkqknqAo=SOCj$q_4YLt{&k<8? zRHH66S|mI~Xk*M?tOa}w{Q|`N@_c!|JioWkcRzejJvyqDeN)zToqEQGbLMEr93&@N zkF&>qY^3631<{*C#62L{std@0na2CG^?2`&L##B+kXDD7nV2RK*`!w!)hzq?iQ$O% zvxu2^b3;06gVrHwfSd)#G}EQdt#Bl5MUP-G5J}N`RMutT;j+f%cyh6V&VQf+$snD2 z@W95Mq?O0Z%IWkKr_)L~38k#~h>Kdvuy2mg!ayK*9HaMTzT0IZc=5i|r8F3a$`NV$A#olm|KExJ39k?dONK+dgAV$Qe@or&I>Efu@;02fl zn0?I3k2>9NI1jk)bI|gLc|qsWF4-Wf;(o{b5(;oR<6apwd=$D%EJSBD8;j+LNn_MI zZeP=Sq4rK6aehhJ0>U|*HP?{fraMVJhEnzj+(?}0{Z8G4?e>vnsboE)zM|4F2{3Ea zhr$%08vl$*jBF>WG|bN^W7bWcQw?6g%GUfK6M&J(xW2iCH2 z-!ELsiG5sA8)Pn|a^>274Z|?GlkErUA!Hl0{GJa#{v6enjh)NsTP~M7y(Z45ujzH+ z$Cv+%gYQ{Rk0?LG#M$aca{2?BzvZku-<;p@?bAPp$$yupHy`o(NBrix@dw{NBmO;g zWPbYa8~#{UKD<`^@=tjA?my@G@sD^o7oIJ%KeP)=}tt%w@et#jKh6n)_Fu_66yj_pKG zAGp>;Ii1PrD~c+&x=}>vfTT>jC-woBqi?1P$M_A#H=qY?H`ddMqu$x~N$5Cg2%^4zWv$4sXR{5 zVoa{Zde|A{O$-~Tj3ZQ+ZL6&18RaYPw}T{!>MiUCLphgkaX#XHkmM`!`Voeqeu?h9 zR2jobWsQ`jN(PBnS(w?Gep#iHe{pIiK14%IFIyjC!V1 zsiR}*XWZ_M)&x%<+3PFycx3dQufMr~Y$SUKPqTDdb4*t;vq-Y!GrcR>*7?C3<_@CX z9+y$;NH@e<41xNXy|{4dy6g;JsYk@+mUJd(U_@#oCgT@GE22JMb{az=>ELl$RGldR z4**S4nM$PNv-=w#XkuR8LeG@bLU=jG+$`8{O&$2$3_naQ(tTcdJA=w-3rH|X`Z!Q^ z`q&sfQx@=kLQPq0rPT^UB7q=n4pQLd<%Z~;(GL=jIB`);w$goIDTvQUgPfnJ9cmq< zMNxmCl!D7Ww)dmXde9OdmSl$9=>0~?7ixdUU_(XF@eRoqx_>0+&<-7YM=UP2>vEYN z(mN*i$>tb{1<-Uzimkc_4S94!bYr;C`y~b=WNNR74~{)5M}2^|5`#r{#@NYunW?;h zstS>asEq*7;)pSm8%E9(wkk6}ATbz2#8tt(%ql|z4M%hQ`NUO*k1l93mNh$4TsQ&@ zE1ALFZjFNi4HH3kl;9H?|(mkT8uD&L?Q z))195E_XCFd}J(5dyO++ZX>uB6K2`FFy=tbRPk<8%O?=YraMYF76tjiiE4}xiLgN8}vOIt3h1UB# z3S&@A^WLaE#?;@fCLrPBIO>$C6=AxyVYDPQ< zOrA7#onuD!&me<7?z6_aOe29})1YRF05{9jqNYN!HEO<^0xEASYO%a9ORS}^6q^am zsJaICs4+&^$s%RBFpd*4b(Ot0+!INjQCn%dkh9Uohe!{mLhV11vT(Ey?CmYB#=F&$ zVs@uiDCs%ub4N!!p&ARpB+umRC>zNFehxW6jmR7*9bp1Vk1<%Vj*k+M$gW^xCSM(V zWz+`4C~4)`D#(I(29I-NoI51WhVok`Tx*Rn;_D~caUYbt(vBRJkp2?Y1Mx^2%M!~0 zKNz~l5Jw+qtxk~lPEIj|38oY%gYE;hCC+UYtzy&>^%x*b3t+204Q3-Y{@vny+6T!5 z{2uk5E|gLbJ5UW3<|iYFN{;i1uVKie$M-;FLi6M6oNU0zbgz-z><{$TX9e_xrATZb zgOo3bzv1<|Q32gh zJt1QBQDMaIVD}8ZF#I0s*Kvv@tqj)u3$iV&Yog>f!Qu#{MK-~4rNck1@XOO7)q-6AV#P6ykQmS+5 z77RDb!HVnq1Nn4~Xtm?k#)fapJi zjuV=9My;%8*gkws+x~O>_5&#eb8V}gw=X~Oo45Zk2ABPBur7m67z3Msz}p}d#YbWI znQwlsJf43+et?Ip)aysyzJA5axbx=uM^gPWPM5#QU;M>CbqyIisT=VTLp z`A5HF>-cy7y}x_9Zhy(c`p3N9O+~S;3!f}1i``atp2VD-v zctExn-VH_j3-|5L%iCY^{reYw^X`RXJNRe+#vkz2a^mp8{k8{yre#L&q-E#W?_e*8 zE$qhzgf(EW#|O0!MtUK60TD`GCj>JEL6wI1N(1(zv#blq%3x>2c3WOPUKy+rE0l`x z73*qv{mAL^fkhq}Y-Co_cqFHdQI+2AWIeGTHyIw5gX2Ds{60Lv?C4NRO7!wdzZF{l zb57%zJX|hOpWy)!$hO6RfP}~^$Ti#?nkIa7L9H@I1wRGINFr_E?Nii$!-rCv&}Z@(3k`#!?%DP8)*AnISD+5K`j8&iJjZV+>qgL!~v78cWic z`um1@rj89u#(vzf>>vlH@-46XKVq~@ljrzgTHd1l5wTExZS{pT9%xlU%SmOlL872; zh&1-vfQsn_wdm8KHD_#oE%K`zx*OEQ@k% zXX@BdIcOu%+d}Ut5+#1ndBuHau@$cimxn>~??~+r8UBGT#>=fUtg-E%JmihqD!DkK zr@6H!B8x*1RZN{em1L2;0hJwe4~jJl-S^3G=qNsaw*=HZWoIdadWa_rXqK9ilDmqb zBcmMDiaU2dt;Lg^{dRlLZTramfNfMBE|0F3QQ2A6JYlN=UL9PyZ_(2nT&eXS=X(qV z_8we`0cFYLqNsI*GMOE*mHAZh5Nq*ss0pOfTcNdv*?Z^{G^?4x9-BEmhuYW&$v!Db z`_%UK7;ZL;SfqO-B>X3?`;Y9mf=fsI#PEvP9$$Aex(`}yXr3Gjyca=q2}-`1m#dzzg1{x{&KSykAk65TQD(_|)yM>XQp zCVnaBs4hB~t|IExI?Yj@0>IuDa|c#cFfxG=mZnOd%S-Y+;dz5#4%k4VBQLQs2;q(^~>6 zNTb#}$xdwdoty?KSGr$WSAzGUgVXX5!*B5kiJfr<0qgbIR}N=0nRZtZOg^N#v|+U2v(6)<1*eAA1m06Qr-l=q9#U<1VTH4hS__YRo<`{+E{UqD#%th%!Hf= zNTbt8Sy4jg9-NI9rbPy>abC)Hi5j*Wy^ha1(%xFsuq4j4$_W{<+!4ET^c(btfXe0< zdMi<(fmyYQ%B{QN^@4iPB#!aQIEbN*4eB^T8q+S6b)${7jJ9TqDe*7;ZZ=N`OQ2iUec~iLl>L2jK_24VpN$Z9$oxk!&|IBZP z6aUM9=kJ_+ILvKvS{gn!GQzO$xPSOLV^o$)#ZSLt@It>maeA|{??U1sE{ey6$ER=5 zva{q)YQJQ?G}fozaDV>|DZ#p&xF6qflFArY+&d*TG=HStA6eEy-Ck+#toa@7_Ktr0 zmfn9LjSnPMf8F7isAJ!5Hr-l)eQ*%QhGt$!rh1EUeF z3q0VBSsBM0e1u_OSqsN;on`@0EBJ{2Dd{~r619Fry@YhfPvmssUVmcvO*9?QAIRso zm_FdOa2(J^XFZ+i<0I}CKiqX;Z%3$glJNTagFHP7*~*-LX70y(EE(I&6N4W)FDFWR zAQcNgb{BGrs2=l5X;vo4P!L60i|ARvk)~=0K5IF9_qml;S`GK`(W2(D-S_C{N#WQA z!b&Nf))FNd;>PJTXe~5IYC5?VeVQZk^jX8`DFA=IO`C?ymwB4BirWkyQKXM#*ke#-zsO|BAo(8?G3?QW?V3)^AUfQf1f$Npw!K6s#18~N3!}p(| z$?4-Gt?w{?&b9u)F=G3XbE6)K(Mlvzr1RnBN^6g(?vZNI3Bn4GL?j2ig?rmpOd3oY zHUyVMCqdd>W<6rcS0acJ`p~k@6u_+KcnO;LxKXQWl$Ls}55a;(|(0yVE3q zi^%6q)V>Y+7;M{({dk>;5b-z!Ceji~Uq z&LF1~(w~s@N^3^W%I&sON^DS5vH;%cK(rxJBTdR9Ws%PsNYyssd=+QIl8CC&x=YDP zkS49Wq#`1A2r{G(#8Q?>{)r56lTXz@Ux9?_CopoR`+-WDbqJY!p+R@2_Ytfo6_!#y zGr2x(|Dy%@X?YX>N|Pm~$lTc4?8wjRtF-w)0|vj>FwKn-&}+4I4#)-3fpVf&p%nQH zOkUT-aqM*ez^Gr-eWUru;9Hb4%yahWJp@D&e!P;)Ky{^0$b9^>PyUuh zePwvqM?@0637R)rje*P{>ffRQ+9Ji77F_i6g%$_#sK~0sH8jqdF|#O((Z_3m-w9?J z(!h60X1?>s1b!EMqF1#tti?mZKIM1DRkZIQ4MG5Voz-n?yB7Wdb#Wan9T=&j-{ zz7Dm$pf*5G0fUzV)fJP6fVS$6^Fr-++A-_NV?!u-m#}H{8jBu1U>J--Z5x&%;o4f7 zEV^q{E4ndSWiTQ+;*FFmq8SxK)BJk*g6odhf%wi)MRZ5oq?@@hd{9)wg69h&${1U) zZqTWeHA=cLBmnB8$M;v|hRc<9S03Jc#kO}we#P{}(SF1hkIysx8TdkFP|84u;O#=w zSJWQqbz?PQ+dk60(2r*>`3*z=f-K+A{TsahDV8!Xw||2A1DBKFdnT1DsSJEv*lt&H zGI}+%824>Md|}i^UlKCjG33m{n{W8`Yhhg#k<9o1_&ZA9IP%Z=y1gSU|5a+s)cV3- z{OX^u?ceaX{%e2Zx5J5l>woq4PB}d@yuwJ-{mLo}bu$kC4ZSvWtTY;y8&8)%A}<>$ zJyH9WRBoJ?uSmL(S6It8C`ubwO6hEO;c_X|y@0*t>GT!X?L@jf(?zK5N2LFZmzRp^ zLBDp6UD@``>vg5%i(ARqgYkOXk>df;mF@V6{ocvhsO`qF8Eyye8T99PP2Bd4o)Y8u zfa$OJ`0mbe{WJdJ`~MKL@A&R}<*Tm>zx?J~e)%VV;LF;nvXaH)!>!M$oUC|XV!GEl zSu}e3<1OkZM4a{sW-_jlEwi3H^fa;}c1#uLnZb?T!WkS&93f{##+f>9^ai*3N;2i~ z^i}AS{7J+w^tO`Lo#s15e}UNw+Nfd`6-x&x!?GNxhrUS-Qr4))Xr5rbIsrXJRDvGu)0Xk+k*QiVE%+GJb_*NIC@>1g zvC&)O!w<&O*8%i-e7?}ePdvO)F6kE>dktUs+*HeqPo)`?Yi;0CX?5}dVC;tVQ)ssp|%>m(QD#fU$OMa(FZyVWEvn`xg8(ak4hgto!YO6DJ89>ykN#8 zl7pf!6q~jc_t0fQpT9$fa>9|{ZZ>AWR5knPiuZylZkk*qUY3ZvY4*^o1yl@`xQq|O z!w}+l{OpUj(8{I7Qwp+n?}P0S+Ht4Xjz~l3c*|gpWg``5$z}e$=Fhsb7)*G;iiSnv z%5PIY=Q#HnrCc#ixHQHHRq2=mIAI|dW_&lu;(mOZI=y#ZUvJd=!nSX;@gZs< zDSYS7ot)l)M|`)psNX~_q(o0wmPkQykc@D7k527QN+)Do=zfd1tUEFc<$>N3mYg@w zZ@%1szC2%^FVFAg^P8W($Baltc1L9(z0m2XLmv^--}f8Ka-p`3l4j&wjloTPWPB=} zT>_#hx_?$LhUO6olbH#MwBE(Ci0e&6v()`Ta()zah#3LP)MPL%1jDE9yM9(pr+i|J z779R>sB-qG2$~&H_fRKIKz0nkQ+(dbI?qOPvp+dico@$D$`qUl6%D{30fisK84`bv z-t6s-{y+^fXh0z5YPbX-0#^aZs@SN0y~jo@5I zb;)#%p9K|s7^ZUpCI^~gA>^*12&TSJL7d>DWP=V z`$vjBO*`8W5K49Mgq4E(hWJWOk@`S(G*#+w_HCgLIBE^$swdQ<&XlC!{>1He<9_SZ z-dUE*gn`C+-gIGT<=7MZuB0ps?bK@2rlg!c*I|PoevaQCb4=Fww|HT+H}U&pPU}}( zKO$qnD4dstt=;fysJd`V+tDiJv`x&3*eh-(LrfKjUBiZ~d#k9Zvk) z|L(tcDt4x|4~RGqr_9UCZ;%YFEj&LPxd@l12a5ijhfAA%t3;9u*`5$NX1D!`loM?` zki7BX_C1UJGB&9Cp58kB$mn`v+dB1#Uxe*0G`@rV89(rS-`U2GJm;Tb`k!#gmA#(n zdXTm8_T78d{1w8&z8#n?FwWF*CFeqGAK2<|xYcJ;&fNC5yxs@@*ETT7g~g3Jl|PnW=)F%BkcMhTGollkX9dQ}v45b|8zLvx zwa}@I9+X_O6&%#E?At~zPF`AUem^OEWa>uCN7|v>Z<%5XY5W1BZ>Sh%S4KaHln>NH zIG@i!I&F=#IK3*zWFN6E- z&XP|YcO_>fFIPk@V*l2op23C_(_FPi&I$MU(CocWAk=($SZF1o1Td&~O1jY6K9d-N z`8q+P)4D;LT|AE=#@HzNOs~Nl$=PY+762?y^MgE03S+9N@H}19G7lD=RD`28G!c5A zcB7Qc%lm^;7E*ThdW3q^jOGzXT# zj)M1$+gsAI(~gJ_W;Ko$hK3;40bohyso-kDr31 zya>nb4Yt1HeuE?@#0}9~xTgm!B{TfS`Jy~MyuoZ|Sd2ug*|LH}9jlyZb=#G4OuCka%&6 zl5+|5sm2R^uY+1^7%z^-Xa|+H)8->DvLJjC74^ zo?XzX&C<^B1G60Z;F4I^2fAOu3u6d<>>TyVz8~!SL2Y-CM(dT7Jq`?d$K-*WGspcj z532^uZHaf#ecD6jwt;}kA{qlT0({$BM^dK`nFEZ9i^h<~8^+3;FU*NA&zI-R^LzUI z@a|W!2srM5&YIg`IGE(AHx$ z^%y^4c8ZjOclx+=~?v zNG1k@35|>RV2QWyIA+4oA{Fd9lY?cReNrr;)C0Ue7g|0O6Jd9Yp~a97m_^Fik}&)_ zHKB7LFd9gmK=vM%!I?A|%@Et-eB<{C`o442*Z5f)hWo~L7q;UFAf<=Bt&NY=dO?QM zE7ZerKf;VRqFz*c4uz#=`cNz-`mkV|bwhNgH=|Vvz&~*r?>#tJmK04<)iCR*?RXbN z3pvkep2uI`<)GD0AE4HO$$s$H_?aDs*r6w!8Cs|30cIz67Ll+!-w@LG>u4te`hq zkA!MkZcsildVG)Y&S1w9bVjg9dPlV({>0D^xGO1J3>oAb#6I9`h+G(lk#c}m$LIn3 zREg?K`voo^aeX1>P9GIz3Db@iT<<6gN4v4+h2wxy63ss{Cuh9I)x@KzK!zL%eirdDoV(6yNjK>eO+c$jNZ{$=+x5Q<+@#fnLm(wqJ z{)2yxCp~dpudLT!ga3>lzyAkZ&S!eP@~{2(|ITlR6My%A^Y5N4ZLDRb*SIJz%YtOM zJgjIx@y%CX;o3Q$FIf5k#@C3PaJ?d0Y5PFa&ch{hY*7KIz47h0U(+0vui4uNPRmz_ zil5RUsebh56LK8G^LoH>VO^o=o%8yRH9g_u%){4j__#Of*eT-;2_v1~%}ws09uXbW z9Hxt7>z??)b~Ehsz@t?-l)wDp*ObTqg7+W)JKWkU->m;4|MK7Zo4mPv&AMh(p3svp z`bJs|AE5!!S}Tv=AfY)AYI^;=XH%ITFgU*bb|03tCE(L5t_z*IhlWnjJshz$X%_*4P; z1Sr)S@%-95t%YvL^5C>S@c8C{mRQP(^YRt9TV;%$$A?o~m^5J;Lyq7P%!GrNpc0QZ zHB#~6D%xWMKq!s|QI`lfX5rX7DSg@s2>NNjVDW(^lIJElD98xYte~_*!LDfP)a}Hw zL>#R5xtTEHr6XXe(fz=OV){s{J<>7S*zS#o$4sq-qgK#FABkf(a_*!wXvfZ?U(x-B zQddE>xI-`2SWQF5K>j%m=Z1p2uJxJF1j#Q=cBjOj#1hW8S_BuG1 zM@n`q4VL9XNvBA*$W-DIKX=1>4929z_sN$SKuJd>QU$7EqZpk}%IkSRafdv+lofo1 z@rZLc9E|o1a(5p#BYYi`>@w-+pzb40c$nZ`$$25!nf*BU`0@kCF@KH>@C|WiSw~Qw zbqSc7N6+;0!I1tr8X8^M*iFMWQm^#lNtRTl=Lu@Mz?_8_6$SN)IT#oQnEOlPED^+ zh=1omEr{@6z4_+L4d~1B<@xgbekLcr+prYx)RG=RHsFkCFei@o8hUZfbl*bYMMkA_ z91T!$c|~;vW*tDHR?zx=>YZIu%25fayQEY!*ho$AlOSEva+kq90tQ|sr6hPU!Qz5z z2VxZsa2vuJ`o=*FDaM#quy_fM>ZqP4D=dZ@DxWm#pO!c>6N&Lh?#|>B1>kY74V|@E zmBi?SF#=lMJub#VXsbsnaREu4;fl#+a=$wE$$T*eW4r{@$aZQE)O3cg8LK2? z^iX~V1EWtMrZQYeW?>lVjW&*1Q(1$Lm7sMer8BJ#at;NiStIN!iB^@A3O?fNP+LXV zsV(Xy_2@Xa&n6VaQ8}^qSB~8fHPr4niQZO_10fPKwH@RVsd2S|tH$?TBXKF>w7z4h zaU1{(wSHQaDBX8PFC6vYXpN&)`j~*z(PnKX1_wQYr+`dWMy1w+%E!nl*EK2>I#`NR z`=GZ>$-(9u_9Mm4^e$kL+Q8l+W5K<#)jjS?DTZBR47U0XOU|IsYM z%IMr~A9%fe&#~XwkIKFupgXl4_$ahmXH6T1RC?bTev7KOtn}U(y)v3k{=~G?(Wc`5 zKBWc=l5X^Nj^wB~gKMaI+lk)aW9Np{1+kBe@fE`hGIm-M_NsHJmne3owkz45=q+RU zV0fi>qqjRrWvYn_oh!0-_B|?3mR^yOIISz9A1J20UI*$6SwFzTPpCX$#Aih>J8e6$ zlvgxekZFSX@P6Z~Z!#a>-@$jZKX5yCp3c9-)*IV?C!IG=N<&l@o$>TfTfB1=i z_^W@&WzGC2|MWlR7mpwLAN`O2Hs4+zx$bw44yScx?~j=En4bEX;X6Jqq*NkSCIo1Z zpF=NH-US)B_em{YxE;S{$=}Y4j&mH*dq1Bq^d7L7-WP1f?S?ndS9}!lexZ-Im@N3% z*|t08-y-MlVoTaJrnT)E%U4X37?Bt`_G?UH^@`|w*7Ozo)@b^c(JtKXJL@`l^JW#_ zpBR28WkYqKB(gr@Y^3}^vIIKl-h&oxMw;ETqk(u(ecgu)Vnf}=5%EZY`%!6!vfV4g zKYfroDLd!W6XFk)<>2}0k+<)Dp!LM*oY}X8kg&8MYItW_7l^I+I5Ebck6U!jlEItPZrZli$qMT0hU_V#J*K-`wRIL-O%1TJ~}!I$p)&ik#So1s)uqqFSMi6 zMtp60tK>4~2kDBFNV>%3vuqr@lh@ZUU(~NT>W#8i2Di|I<_+=3h!8^jIsG9f=6Nt` zm`ZH2JVtNv^Veind_JIg<2W*^D{cG;Eo1#TVtILl*~BBY()Y^4qjOppycJFliBrCi z(lRgaeGcVkwDeOoXC`t!GeN|HA0pu+4@GArRf1PKCj9B@h`6|*S{WQ3;H(@}_3>MK z%J4q7OXluDDDQ4DEYJ~=!Bl8fxLsd3+Lh(>#IYZ^@1C=gldzN-J@t&HIfO($4<|m+ zv6;G1WDiEmta|7iOn8sOmsmwuQ9Qb#9?+%en+m<@oYu2RyYAg_{g6Z(^&)y$$kqO!~(eW&}FTG4`g zi`s;0a16Slu~VY;V1Gp|Au1budaq6erC?#=m;>uEI(y&f-s1d~!TTVkh2B~KwJEgT z(Xu1s0Yr2s)~6V9h&a7FmJhb=N-5`nAF7bj z!IIw4YZxL-3NAcS8^6~d^=OZ zYd~7ZIsQInqwXE!#F%CWh6V3JT5zfQg`+xUF-SX%GA(MAWar?WnaxGd5qys_;_lIv zqu%LVsr`k0C+;WyN;?kPkt0o0E4?|(T4-&LLChH3UJLbzlxrC0E{vX8%NtS>j$@uv zyP@(NcL)tTiR+E?dO=vgpXl--?l&ypWe)v238M**)T5KvE2eMeg0-Ns#=XLI4sW9Jb&=;n^<9|z(l?Vu)1WVyT*AiUo!0JPhEZ7Z1FgnArTTkn&1~0S zQcjPgbZ1SSZ6`pa<2^X6mnW20T)~b9MDN^cL-}KhIVvA$vSUZ%d^T=FIp>w@`?sW1 zK=NN&=Ie)r>-_^My+QK{^kBPRd0f81^`CNHzUJ7^Xm&;|&;^rBDhsz`gWf3@<#zi( zY75!kfC<|Xj6)x=*b})7-aP#wKmX=$LVn=s^ryV98~^Hm?|=B);l%&;Klry!nw|6V z#&cdMr;W>lkyE4ahls%7BelLq6jJ#Ea#F4@4bwB1^NJ)T>lwyEJDgGymQFAdDGB%M zjq^inKac9j_^Z_Pj$`{7?uBD}!Q_ctuHYM|-Wkizxc@bJ`-$bD;tw0`F8s`dJH~M& zA9g1%EB9k#-v&ufl=BCU_DtO#aS>kIf5D&sWv8Y82LG==`%9LGpYd<~>whOEcGpLi z@-4LmWT-Sn$LpM;n@iflM4@+j)risn1VQ`0d33<5ypZ&fTtwV%w3={HG@aucuqMFC zDbrd^Y|YY40=C$?N7w&QrUQZ{D%FOX#SqooxB)ov9X3@+6iJ> zJN$K47ead!%B9nU9QL?qIzb{94PcZ6geKcU8+%;Rq(t;g2j~bOpxV3)#}g(GqqX_6 zkzh`!E_7Z&GJRaJG-#vK+lY&&k1%U!q7MQ-*>5E4Gi3qma^}O!4-*u+vmcJAk@G!l zA9gS%#1nOtGbtHc{Y!MY&xD7O(>nE8!qIM+>P+>-wm+r#^IHnDNLdH%IFn?AWu+|< z#gj_wuXsDpxMYq&!DwVon8@6OBnCY|k1R9sF*q$}Zr2y`G9seZ;qafpp`;U|8{Rvj zm9iK^lw2~!;v#L9WpatAXQy4m#Q6(y(_xZnPEOmr)3)&b*GHrS!$@jqn%!CJxHx`9n#Uz#pdt~09o`~FJYsmJ z<-=6(70lL2hCg`o=BqC^pfAst=gaeZ`Mmw`!`!^aMHyKmbt#VfDUygoNxEQZ`%LAx zQfWgOeh3^Wg`|yjiF!dF9}u1hU}Tp#%NU6wK3ptqbgz;yF>^^)1@B^O=pGu(A&Tk|HCyfU zejs8r8mVM5f}~0=3#|#ASJpL89@7>B7EUlM0GHHAc34E>dka2Sz!SqDGRGAtN=^S=>@EKMu)3g@A z)T2M5eW<(SNnuMitFJe2iv!leg{TOMak z=apm&uwg0A!mT=M`I@}mfD7;69b8`zQr>Cx9cxxf)?j#1sQU&ibnR%K=Ol&NZ*(k7 zWGU0R<9FoFSq`>+C+Qou{f?CmB(g3ro~aeO{tELaR2*9>V>dM2 z@RsA}K@z<+L@JDPXlcjGgvH8lllt0&^>J+Up>%tX_DbS}jBl{CQk&4VQPiltF|1O(3^SIIbJM!rnxvlK=BhL?wkJooxijkKctxxE7VtF`|%ff{p zx%R@E5+*OCd}r{;F(g=KvSXz(wgnq+pnTwdtf=m2?}&FqqlT0;f!sJP7uIZ~@`o(> ziNEz<|L1=@ocIs^?*DN$f1rEBXqM9>G9YuN`CD$sfodn=oX!ut><8SRSx+m27gR0` zR|fC6Tr$bR(!emBk66kiP3-#(ZwpO+;A9^#IdNVdskgTj%e=lG^kYSjL|^ap@rKLg z#NO|&>mzU9-FSL@qPNP2{Wm;4K6AUR9R7l3;k0~<=uh;cQ1vaNzlV0^!-v7`#rf&u zN522=E&s;9@-OjMe)%)%Pu(A%H+uUOr*&mRqo;mu6cf51(Sd6xB)_2I2uFB|eZ%_+ z%ZX#J^qR@JQ0oy=Y`IczIezG5mn=WWeUS4D=4V_T^bYN-0MKcnw>br`1TuAlrq`J2Y>U^2l=DNwy;G6ccP6r1M6WZ=|Fk zy;`}&4|y+`OwND=!$CD(;3A369UDuKY8_xjHHm0vjDvk^yuOBVDlbrvO7}!>O4bE6 z=jq|h!yD)Jda&QX(xUV`fWT!tZsQ_$VNQ|IX$8MYeqlQ*h$u? zM@(GH5`2q@CJuVdQ~x!y2oh87oGvi{krXdn7EQnZCoetDTN2S59%1S>iF=_%!E(2mAN|ko#^MlM+z;k9ysQv?qhVvjcm!yp!Y;? zk=UqhLoGNUX8H5><2ZKK<%#?KJ>t#H2FV^MB?UzqNX22~`L+MV#1L?gi@mp~C9#KI zw}l2SV6$7KImA%C$HCTuJTAm$Zmj)78olWFQ7)m`@&m>>;*V6E9qmu# z^*)Cpo#A&}f_c%rBA!WN(RURg=>wMc$;EIOr&*!tn6C78nr?FZC8D!2%;3p7Mk%^JNQ(#Ij1S~M@+MQoQb+~S=RV9GI$U@r+%=bS<(Em1Q_DF)#P zs1A;Ljf$imvjX9fepQ7LR=DB!7|xG4heoY$nT&*p@DJ|@v3TjjX+2mEee9D(v;*!FYq= zLifh#DQr#8d`Bu=)hC_xlA5N%Qeoid5=Mpe?{*J z)e2-(&ZM-#nAP%r#r+QKBr}r55~jB?_n5&4G|Tjs7|m$@idsh0Ioey={SC>^s6x_5 zP*6)aq0H=Kr;o<<{>m7Q%nGTZ6z;c;ecSM^X!!u#x$UsnH?tPh7|rk@9LENFVmmhW z`pQ-#-66eTk`al4P9ILPj#oP=LuCV2+M%2t;_UhUhlSJm z!d|}*8;Kd3ox`2cSCTZ+$P^WNf1&v!9b=J>OD9=yNXFP$N^mM(uJ>3N>V^HdGWx<8 ziPPB_Re(FLl{(&$Yz^K>i{Il|>TNKdSr()A_wzhDxqZoL;}!a2aMnD<`D*M8dyjh# zbBaT|{Q^%5)ou(qQCq>514A%5Fna?$(fUI3jkbTq;62%&xvXC^+E47q4m|Px{XYRw zvi(*17!rj844 zA4w84|Hc(>4=ihC$uA^vu!3dB+rj7`z%yI>8EN@**3=m74KMXz^lw>8W66rTaH}8i z&FIy+ADQPjZ%~{~_egN$Q_%2JW3Y3UKgQhI#|!IoMy}4~9MBr$XAJu_rJZqIIY#1) z`1^OA_pgw=@DKj%#((p#{}KQCzxZF_r`I1@&lVp9^33o%qIYzXWs^8-N#r!E6#7W# zb$-}2j_$0>!glY7-pI>A-=5j`S5hjNo?_EHKTMBWS(gU0?qKeg~`Le zVOg9uc0^W&ypJS^RzyxLt8i?CoIAbyOm%d`ZzPkbaQF#L%Zx)Nyagmkr|xu&=yvuV z8J?xB_%hFf!!Lhl(>ccdepX#H>zr%R{y zNJ9;;UP=riOin1B)(-G^ao1zV_3$M>(_5z=2WC5_hUtk@IpZV1Ph$joq0`B0Msy9! zhZPi!A+8mCl-NLtViKAt(NIRYr^$|h(Zf(=y2Rlw3oa!(t6GBN;zXK3LWMhe^kKsg z7rct$8PO78FxlyZRYp{zN9`-B;W0;@;oAhbWh|dbdP0FDD~fXXExhbwrMu93xV$xI zT#b|}mVIjTz)B7#iVw6K&tJd!as&GEe0jb+zn9PTb_>9_4lKoBKWPbzm)%i0p*U&& z`$CINr=K~khIp3Yos?3*gFW8A${9%wjrsn>FTykJ$G20m0)uW=vjab&Eve9!ky7e;c)ds9;J~S*xfD9^R9rSh}`G)vcvG_VXh70b&KpD(4(#9B0N;(t1k@`i>IE`b2 zb=^=Iq-+d#T3hJdx$SpSdSvK#XmalNLGLR$y+PTd3Z5F029_5@1JWtpSdvnA5E}uh z1Zvyy_87L8aWFwNStzJ|j^7$)|?B?ck-$7C%^b>za38ey}$o= zPvk*LZ}2flS=f(6DUEIWj>0dvA3JGP_FXYwasLMFEw}v@N~O0IrLdIqB;Fb&4Sbv# zI%xY7=hMMrC-&V!2h)_x$=PlLRy);yq_!7I`5Lv1X`{0- zdZv$^+DS2TjIh24|uw>D-vL0|t4pK@uRdSZ8J?dBvkW4_Cw$IdJ*Lw_%ENI7lf_DPC zl-X;Om)9%98>2nM3uya*V&IL(ryw3Lxd}vDo+d1kzB3`;6 z_C7j~0?rO&iLW1b7>1Sj+Qmje=A}?)EOMU{{tjM)`aC2^-70iy%fvn{(_IFJZmV{T1Vh(N5^{ zO5$roI>JHg5#?{aQ}PlY2BV;MgAvnJXD8_cy(((^)HeB~kn6nEM(sxRV0g4Oqo#C; zpE+|bmkVQnN}>B5fZKiGSR@gov0QE-S6Y3fRikyKl=Jkw2N-Ph9`QKKEK4Wn#<_gO zDZjz>BPx96P5AFt9*9HAwpE-F{Xf~_1ASC_A6T;J(DpU{J08F)mmTj0vU}^|sz$OL z8!-Wqu~rmB5*kdFbQr zgK20$)jqk|r~7@3&yY<4d|c+CItCx2!HcmJaoFKb&VnT++dw!NF8F{p-cp;>+lESc@B`ST^=zKtA4fVOW2n`h#_aUw-j?#LStY<*PeUS7b?k2r=NqSKYcVVPbm6>u> z6pewl?2I0YZ6TI4sy;816ND){PNepNC#AT)(&`Qx+x*}|5Qf~|k zVFZ&FOR6aMey-Vm3OxGAxF~79WXAANVOHWj&K~bIZ_`?};<{6-a6UhhQ^M;4DHvd( zwfvN#FtAGZIBSjp>he3a(5SLTJzzwFLK3FI`U=LznAVI0VpBs7koW}1R85h-WCGYH zN8l4c6p2Mr%88txFjG!zVku|VH3#H-F_v;6>4}`vOxM04r#Iwsf)Q4U&JCm>UhwoG ztZeNKE(b>oRETIITQI0p9nFJmh29)XJqAea6idatOo)9#Q==Y&`U4E;wZbrt<6tmQ zDVRK>Hn6cG$uSdhdW->*3T8&Dii}GvCiF^`cerekM8Md$U_$6L_4N+9EYxGLq%+NH z{G5z4#yRRz7=xWQK5*O;eS9SA1LO^t(5srkaoku>0jpe=!hRgsOtdR!a;hxLVAMzv zIVa4F+wDh^e1qi|)H+gsP9JyfH|2i(BQDG1OqHH-&(!*gsgWe1GZE^t;Y5gT zK7UUVR<6``r~8$hGs+ueG*aHs_DjSXT{b!!W@knpafjqv20Q3RDTUg0%+9Es5OsV6 zCuMYv`gIS0W@ATWz({ocfXkJ0sT8Z|=sc`H$K=F5ZnzoliOZ={D5!iu)19t6tv#~j zD{WI67o>hetImD@hV|4K%Xj3yAmedz`Ha?HdAj^H?l50~=Y+^nRns3uY^AKXbV#b)0GS10_FjyKs`@$z#9D&0$j7Km3lpqa^h(3(c)Z>>b-ZGU(oy$ zwkOC7$I)2iNp|Gwo z#Bg_VnJEASO^blgH=n@C#Jzn)RN1y0;&8bnYON%DkkN&_T-fUtTn0CU%K5TR(9xiz zB*z{~n6j)v{+AQxnUoe$!SP?n601=Ycb7=BbV#u6`JIbxFTb1)%$ zbm~8Em2CntE3i+mw=)1A39%R=sErs7u+EG37M;GDaoJJUfHe9Z2ahJmIAIo=sMfET zKA?IE?{e4pbIB1A#@=F%svCWTB>_3;n^N}&a&Aa|hYn%%gH#qe?-AbM)logL6g3Z( zh3>bYN4t_OQ&K`WQTq#{tub`USA+{{)9TU-mI|WK!xctOHf=4@V_k|MHpoR;mJ_w_ zTwfd8zH{5Ih$N1CP@B!dv2Bt$nv+W7=$+P_&d&X{!tqQhBOKgfl=RHy{J@e6PNkF` zm5k+#sLo4v0%AZH3aNuJpjBhEg!nl&Hv}g`G*}D4lWtKkiY1u{ZQSXyc=wP7joPneZ@Z+*s`FW{OG1ECvxmLM2pm zjfzfPDClRN2{I29wZvuKq7&PC!9B%cfid|JpCFooNgSS;ia0!dR^f(=J|Xfcy%F)$ z){cOi*{m3;k*!Qc?=+2kI`&FHXFq9xMGI;T88SbYj+pYJz!lX8Mq4mZQnJtyyCO1Z zE%WWSUx1ijo-far=lAou->*~cH&APlB-CK{n4U0eWDB;FnPa*{A~qd(exqgoFR}!O%Wa9V_?a}OlYl(XqTKt+(p8ZDRCsxF{=lWz+-YG zOmbX8(STS=r1W}oa*i{V=@L=|%cx&It1}TttVLCDWCrmLfrO=j%EEC}d@8JmH+qZu ztDqe11Gq(Jd>Ykyub3IR#I0K82u6TMZ8I+o<%oBp>;VEFMk;ZhNV#I^M#%?bJjQ!e z4JAx%QQ@7n2rQt}B*f}e!RKjAsq=f0KI>9rxRB=i7JS4qL1jniQSBv$7>dohN}pTv zNGQbOYlpd<>n(T)0fAl--4R)4Wp)c@l!p1tCG0ICHU2Das42Z$oP){^(n<0V^$>?a zjU=_@NQ3wu_B4B7KWgwP%<10AdY;RPot#&EjHqp}%wfCTd#{&A3;*Z7d~H zEbfM;sJ5D1aJw?-)Deu8qy5CPF0><-So^V4mW22tRyw^UN*Rn=S(b!*0WtPo$$I1H zZ=rvSARJrcd_J?cU(@ri*z1{gJYn*Jj*a8mY3)7tqjGB<8CQnh;(phS+xCiURAP_X z$R*&QCU1bj;UB{2W(Fh0THW8{Ua*wn-02O=gT_bH?&Pf0Loi)tWk|yG*DEPyhVNnN zkRAN%_}TPJEW4&vrnhrIXj8+}2k!TcVo&7r3pUOOH;!#1uMNppT7xlm7zwophHc!g zKcQfeGYb#vTb z>Ep(tf583T7+pAOr^|up9y*}CF!VjAWs5|_zH&M#rbop0?c$yHQpQ*Q@YLCBrRo2V zer&YkDZnnOjFGrp&J52itKjw#^#vKr>{LCmAJwfmcK$QQc&6l^bGaDxc4aLcw3G7_ zwZF&q2ab2}fB*B!{rboJoBz{4@xU`h}!r#=i9P5Fn!3&gdfB z{v)+zh8)pbqsGOEjlWJ33_vBf+PQKx_>Pq7^4z%F#jlq>)lw0zm04MT|bj)*$u* zgVFQcN;5CTEmWTpkU%^DNNNYB2^odj2PwykZS)P(jQ4`e4nRFVZ5`rgBDUf&UC-&v zXkq)vWnoASEu%Z?v5jaP)Ov+_=DY^j)9VA4Go82Oyrcevat5m${e_$^j1EiLNGVaP za@2vyAf-n%hs)VVFgmiH0-Pz1(8;M#QVO1hpCjsT3DL^=lvz&?yu99cdHKLzH+oxG z$^*UatS80wg`?kC%2$kjrw`$%OZd-KkdaxIL0;;NR$f?2CYQnKv{IIH99%3s*=A|# zTjOW4_fBh_S{p~dF?^E8<-oNwEboj1=v2T!!#*bYaelUOG$yP)~g&>;tC)iYv_ zOY{Q+@)?7Q-s5Yd7-K}8tGQ#ArhYW6D5}KQ2cml`k#bQJ7@&DUWp;+W#4wjMYfF11 zO=vI&3b6(Il%l9u))=Z-R9k|{Vu-JdUOD(IOgfD=DSp?&8Bp8BulVO+|D_AJsxA0E)4#+mY6l{WU|IyDNj(-!vd{PKPALOeW*uYzN3ghvuK{kDj@V9XY{SC{pM&Ey zX4-O`W=&8~6UGRgs-}a{WWp;Gy&WX;sELfk=*BoQOL>gTSc`?#Xc-+}Ve$lh1-T)j zJa)s z%8vKb92ixkuff_A`!2d@lmmPdZ zdZD%(ZC?o8dm$yEww=~iOfR!~+MyRxN*qU2ww)U1@DaCyQ@Mm;MHT!RY{OZ=-=iWN z`v8IS1!}wUc>b#_>D#!Rk3u@VB6%b0g`;hZu`{Ysj~n%9Z2Lj2Im{yL^aiCoF!r#< z3>v+6PU|IL;X~uEp~01iTE>A`gT9iNJES|(o>5kM7nT)Te?hI$s<5VS82TZGjs650 zHRq(lXbtf=Z+pK$5jK6#eLpcglO!=(M_MFkb9tmo<>(jczF;g^`b&fhA8wA1ow7pb z5w~9>`&XzwVERf^3*O&I99rpPLHS7P9Z3)LV@2{kRJ_e-P4M)A#*HG++|!xH*J$mS zy|9mOIP`^+87U{~R?(R*e!2cYS)64Nj;-^jfAS~4!<_j0|Nffo8^gWh4qkYYgs7aVM_UDeQc~Oq?8!#jEn`7JL-d8OZ+mFgPfM2 z`1&bg{ebF5Ng2`-3LX1MNhj|29aCXhqDMZ)Yw#q-GuZ2#h`yrzE0**|w&N{%iCA^( z9ve*pY?!iA_Z|!Y{RkA<_d7lcslSP6|2T-cVZ*GT{wNQZ0{RY_lxl&u@%c z@8q1s#mPC7QWz9M`!wQ$p@L}8pWC=g=oRC`JM@Uhq&6GwZGw$LmDGoE9Et1opf=%Q z{Yv`yz~!{C*fYy=ntDxP$;<3Kf@mWp4M3o5STc@H5L$3dh)sH2jAB!J90!(+(Uy2w z&WSz}03L`gX)ux^{x~K$Y4ivr>domDWjh-3pnFwiP~QfPWXgqwz|a&Uf&};#0A_U)>pg6fkTXv zPq=qfB$y=fMB_c8XX+*_m)BXPfs}&V5HQn*&wswqr0tZlkd_-Mb#gh8^pTG*J3s#T zo_(Ji@zU6j8%tT|#deJsirwgSq574)b{a47&&&hIy~cQ;D6Jan`OL%9N=m0`{i&#i zmRMEil1Le&QR~6c2Ce(N6f3Po>LFgNf^b4u7=A^i;8Gorz9&}kt}Ys!1`$DBJZJl? zjP1=4^+`w04hO0+z^lgrBeU-xxbGXi55E59^4mYVZ+K4}^}rG_t)JTwfT0y13yy~- z*!i5=i3*J~Ix`-s(=ZcujFbvV9jB2~3Xd_!jH6pX78qq}~e&@TA@)@%ohM~G5sj?r@ z166DM;^$w66JMS$&zI--H94{4o)A6bWWCgRDeDuUW+IfaZC`8!pAreF;OY_aB)x}(drO2F+NobeBhpD%_33~Y4Qyw zzcJ1%E#mV&8nvcKh{hNsF57-gFtbnnW(lqWGj(7#Ki?NbYAmWKjP8gBOjC*Xw8l+; zg8ZUtVx}<^=!Un<=<#0hnOsm!6WR?a6}J6g(0F`Q>OG^ngA7XXIbhc?+9gH(jC+_m zOa=8A9y$B8a2f74QwsX|9T^OWSXj9RbQ(eajCTKjFD!_ zI3uXYHybNkeUIdwHJ?FeecNI=>mn%j zc`+9X())zTFD#|-_Qxy32R`5!H|o(NxvR>)wYX3pXVeQhZS?*T`k5pbutq+uxEZZx zkV>9I7VjA=jU_KAkC?5&S+KC@#i8yRRcSO*=nAH5qz&Q+o;)5Ao@gUNNb7k)bEMF7 zI`gzXl9mDTgz6J%nNWIpX31yNG8ojlQrn$e62^t2-)P$@FfBygy)1=o&)^GuHoW*u znFd=z#{)8A5UA~eqb4jFX&DTlZo;}e(rf5+8Hs^Ieh2-{G|#+H$6Iix*T<-ANg`X~ zd{!7?LR`-^*kAP-DGe!^;R`-4q_lBdYn+wKfj8l3ncMcB)xJe@LK*B8mh&67YgF(p z3;0`3mhiQr$1fOeq*BS28OI}Lom?*L+arf3roItN3&taP$Y)~u*_|~#F!GhuZy3(e&weVI>-{}e|2kQ}=Rf>U|D0d_I>PIyF2FtG;J1$(1w4qwCGU(%mt{>*1d?2IHS|$}}{DjvNqsQgF z_p7KsknNdj|B&ro$?_FJ%{BJBVW*$Mb1Mxs7qdJ|9X?++o!Tn3zvcRRLL^hliBl=k z{6qAfSf{e{Etdy4pOijszEU)qP^cB-Gx6}cC3LZdk7JQ^|YrBQ! ziDPb+6C&q;BIS*gI$lo*I$@f>jp&=|qz8j*A|<7@fkI=J0$bgp0rB^ldo=kfA{(QO6&4CMotOE(dG8>qZtOmeLH;2J|Z&#rE>x?Z5^{W9DuUWRBcC0x3Sx-uZ1$zeXuNwNia-O z3e!sKHC)&|h6R zd^lhNU7(4{NyLhcMgTT7K97S<6jjz_0VM1#-e;my>8TQnDua{^XTxL-Q-xMiT44l( zsVo}yHZPO45W|l#Hgqbgdz%IjS!d0%#d4;HC9cahzb-qL>l~zj`<;E?*!Q{I5y4ET z^&l5z^x#M2l-akzvL=@NCWZk5Mb=0(dl3Btm_6a2!$?_!sWB=#lavt(j2dJ~X)Zki z{)vnLIuAii=MqjCI3g#I66sRwaVZ?J+)~Y^LkfHWJ5XUl zM5Cq}CX`QAO$pwWZIRsW6_+iBHyBQ)?d9`@Jmp9_!V7zQPpirpcbpqbF>-DwPU}Xm ziS93`?(w~*V`a=liINKpHj+Is4iC1Q7A)^!Y49COh0~I7Z;W<|3w?3=sF*rwX+U8= zUfKF9Uf)oArH>D!bWo2((>ut9_JSOVB|EKexI)dZ?EO3NHxu$Yu(V;iGUNx6tx+-Z zIM3DtNd#^wqp4f(9HA^eBn3-RvIFOaX8Hnq#U%mGDg&wH7yLe(*1_%1=V0O z__2U@j#269U>t*5g>p$)X)uBpW>)Z)S=YwV-ZO@A->xj{BgfuQz2ofxlLzY2$xFj9 zhW!PLJ(JVII99s8BI>iIohUgm#z8U*2A){dr1VVdg+!TmFUQ+6%cGNX#ry+04C)a? zxHK4bp-aKFGR8-S-op+jAAyzTi6(zZYQNw(UdRs%kLPDbyYqgp6cO~aVJcGf@0i#4RJ zt=zfS+H1v{F-9M)z3=l>GI#1J6u{O_Ea?#|e?dRqBf22zU|9;P&t!jK$Y7l;A>2g)0uH(*8ITd+dt;<{a5ULL+*bM#(qa3wZ(Lk?phd zECG@GzyHTKe)-S+DgTpy<-fz&o3~9lc}E`plKu7zw)61`0cYeue0A3MWV#P)dD^9OWOa<)j9cw()>(N3rysJ`H% zq8@^)M^_kpJJ!n%m zlyVHWTH85}!FC+%?MiDsHWOnYEI563HA6iXfYeMW6{XI;X-1PcjJYY=5VEV_&OlIx zO${dM>w5OOC`&mbsnHH$KaAcQ)+;WN{Ls{Sc(|Y*y<@jw9G2Ut!DJ4o-Q3-gh z6GOvcF^mvtUNIiHVr+^1yOH^g4!ML&^pkg)<5mCufbBSk1NrH%IO>`TgS_D%`$-%Ow?3i>M zr;i@GNsH7#_Z;a3xq<8`3%LkmJjBcQn8^kkAfM1_lX4L}4P26FQjCEh0q`Va>@n!@ zFt=$M^yUm#pg`6D9CpQciAsx|Nov73Y8P^a!z;I)i1f?GvS`?=a;A-rTc_k4fWRso zM`$*4jv7H2KRQU|(`V;)`^@?AjOsPmXpHFI+dy>F-@NH4bmJ|eB`iA8^bk3`m$oCGu~J}M_lQtC3un!uM} zStTR+V}QxaE#76y5=j^q(5W}|OiBaggbc?dOkTm!f^LeY!Z8fh6)lzZymDF2xF5XS zK5@F7*mg(DLb8QCPDuJdUMkyANM~|B@Z-RA;kfUVJ}^hPa4%AI510urh_(!Zwl4~X7b%R5GpE`t@3 z2XMtlp?9a-m0C02J4GHbyCS*;drlJYJ;;gf2bS(Ed8M~!)E~&zIP51>HR{3sQ=G5l zz+BPN@jh^W39-aTkyH|;A4)0#C?}oRc4H}zsNN~%6g<5&a5Kgj*jORoaDk(BR4Uy+ zARLGcPU}}ZU%w~&6GEjO4b@6*&qyr{`z1O$6(O%0-|MWL{mk|F#OTIazv1xAzJH6j zQWF$)mQrc`0Z-rZa(v|BEa+I+jvG%^*!z{Sok;lu%^pIS;R(+NRim0^96&51b2>5X z133-;_>X?|yFko;d;Q_3?-}|%;sx9PfXekL!_EK!y-CUMixEKl?hh4&afTNynFZsDLs<2N<_CEmpwN8gQ#IN!!arOJg41p6AA)w z#Cb#$f@6lLog*5i+kAQNL7L5p{b-mgFE4jgU|E$??ub2*|+)DI7Q^LkQ07U5udPD3ShYSrRk=q(7BTbm?@j#*C z3`Xme#pxD+Oh|D<(9kHsN>QWrLDCa0FOiI}Cp0zM(c?3dpdAHCD_J3HWvyq9-Y_fV zaz!N3d!sB3!)V>XPxRdxy>N_AwS@)@ofa8Lnz7NTMJTzlt|xMiI#i@H8s?7- zn}aFK?0e(=yEEtY5{gp~VCTMdG>LE94s?>9qdPh^Z>j^VgxXAx=}}K01w6-gV)S`n z$&5ZoIW}HVuTWeolAuVz5su?vc+gk+7%U|?HRe;-<_o=7wqwv*i)vY2rimw9=Bi^J zfTBkoDXEABN1VjM3?s~~QjqCW9tbB?9^+7J2crk{N+z((5srOKHJrxA5asFJ!-Y`BSf!Eb}2gjZ4E8Tr5(YX&Rr1uMf^NM2)u;Z1)(D=d`lj zclsfLXTYgBW5cLR4mN}fxj@?!TJN|;MN{%;#NN^N9TBHBMf^;+#(mqktl#qR@DtC zy3G1>XdpF3#bLrv=g&Q#ztqr8n#6P52C1}2;Id#AHZG^l1dB!rlQwx(3B}@>2I-2j(hukK z0DTvZ_RQESmVZR`!Wi*qF52R2CBkTP_;*xB*We(g3!+imxZgXc@*QJe;yfuA+P!nG zk)Az#p!y4L*B@BQU??mPu_$fL5G~Xyw0^^F)eoLHC;rX9^Y@oj7y5pt_0Lk57uS)+Qs=r|ki}_xhn5gJs)_p*Qn@15 zsA-VMkUCrY9`*N-6D4)Vo*_SYlZK?q{RNhq@!`l&npN7eaEu2Mh1Ab1^~yc{6_54L zD3nl=X7_!($1?O*IsC%KJ30n-D4U*8TYSGCl+w7r6#kF@#b^F||I#D>>c8}7+`CYg z7j7RjE$`e%$BxS7ai{G&+co>;ok~{q+|QI{g-+B*mJFIO>GZKt^O?hxJ_`5t8DXV2 zi3d}D5o?dYkE~0fZwtnU8L_^xls`aI{FquU7&oaU(g=(a9k#r%9UI+tiatm!KY?r{ z{hGY&# zEjr~%aXI9b292jk7I>lef@WdcH_V<{*Aula*f^6)LdwDDE4gGz>X2GcWBrV1CFk%{ zI}Py~WMPNa4X5K==)IB`K}$nOj0Pz`hLXx#SVPFs;nNPOg2(g_A)rf=NGY}zW4jKSDi$$p9YjvnCeFjL0ZDN-o9Qp!e7q2ftPM{_5ah2>lz zb<7hfJ<>-2t`wb?6h}*@+l_sPeV^`Qzp-!5TAtYMKLwc6R?IrCcj{VbZD1qPETnDQGq{3*CibMk#U2vNlL6I7-f$;W1!} zicUu*;%|~uXhmzEUE2~Bq0vy@;R;E`p?OMCCCND)-;jV73f&PA#xbtkZlCF`QA^_S z@zLQliPE8=l_a!d;QEYvm^Oq=DqyC;3Goz^W4U8qNOc9-*zS&T0C521%C$nK00wWypsB|AAi%-(b-m4s?0r!o&Z@fpY^ zz12hlHWuKp0HRHWvBZE`(#9A<8~aRybcW|y$?2$ON*UB#$vKg7;o;%*w{V=ef)?}CF~o8{kW1>!!7s#E{2PN zUjz%FB9>#3k}@JmLX9}4?QEK*Bz}L6le9!)Lj-83HZ*VKoak<(d}8!6H_B1jXsv;K zrYs%rnNluuNIrp>BfjRtEovJ1g19gS!Sl*HX2N>9@O=Lsu;|vGR?e5GQ;IlBqya@7 zbeUgwnM3n1ritf(eX51|Llon+k~xv0;>?LuKtDa4R5A33Wl-q4C8{JT77eLPwgm;Z z0F%or8%qGj1i1$fBvjl{2T_-qOrGj)>oMT6gdh|8SVDVB4i1?prOGs|1S`ZPp*b{L zNfm{Nr9o#61nu(VT~6e@LyMQ^RGjU; zlQ>6(*N*_;rw4{#Vkt@`%{`6EAAns+sU!9-h6Xs|XN-+Rn*+c!E7eM=iPkzfhlLJF z?Ck}_;!Gz_N$+tsYzTcXd1YR&(N%_KM zeIjYWEIwP2LJ6R{un;JV&v-cyjkN4&POc5f2gXLp2jWh*9b{qO50-MmkHoG{Kb+RX za*-s(8N9_g)p~$=T|Oc55}$FCDIQpXoqdl4PN@VB(LxnG_OBVbV6Q^}85DWq*r6=X z_{b#w7G65de;~Cpolbb|i-V5SD^t zA!Wn-Mk-Fy4F1e@fbtdDH}Fg|;o%~<-O#LT_wKnG01ZL%zTK{jZk$#a?HS>LMHF=9 znm;r0S3bs{^VRwj%`W8AnLq!Fga7zH{7?DU|5yKAzI}4KKa=Gv-^LBdwA+Qc3T=C4 zU6<%RNyPC*l%Y;eJHwvA7t;DnJ#S?DqZxJEa5mQb4Wb`d7H2d5#wI2p-jrgvZ}PhgB?*iqg7Jc@cs@-H=HI(9$+kt5p-m?hL00k0`g)bqsgWB z5f9<=8S{v^xeQbtw}qVHayE`;B)yRJf~EnoN%9BW3VVA-@{V_?`5h`HBL4j|DOE(4 z`Le2UNYGBr)4%OO?KKzj>x~zqloNR9J9A1AchemDMd@>su>`ZCydaYvt$Dmb1yc@? zk>==Ar4+ts<2Gr{0SD?WQ*u0nT>5ltJDQz+yCO*$+&N}jLrjwcctqyF2=Bh zAHKhHez?$&MAiqo-5Fft1-^d+au02otRNZnuR}?s1<^!GnOvi~5h|xhc5v(-pdLAKzdzHh(fUEoC(NSrR`SE7b#JJi<^cxiPhnLl3+w7n~f!FzfUqxCv!BIG;~Z9gzvsvJ!j@UP5PT zigk}eOd6OC$|5l=kvI_bZiq&LqqU8Gr0Iokad65;PGPPQiGMez0`45g>~3~{wdaKL zRtW{DMu(RPN=vy@mPRffzelOSh~W#6Q^m~YP$RZYeFSLM>~&)p2fjFv#35~1^lpbW z#$a}LL%-|NK%JCEBukQ$^AcJymoLMKFV~mr%k_JEUAGqi@&t2-ZE4mAJ(7h1?e_W4 zU#&~=ObE`{U^ZN3P-2PzO8iJXPo_9;?LobtZUq{<>$~Wb(q27IG>-pA{sSAg+0ynPh^}{Vm-RXNvK5K1SR8%n4!|&u?k7 z#?xjpM&@7rjYAT{8D-c^eW+qBm;&a5wO(*fZ2Jw-;M^Hk5JA$w( znh*M6tV`k83TyfUbo~wYYeTePLwI=}kPaAs$bEZ(@|VF|@j}uwsYHcUCRa@Ifk|S! z4N_84GS>VRl3qCMCyHgzGo6)VILR(ZGjb{%@{v>?frFA)%!y%~2OqEd%T%u_`?1Bh zyE!QdHsQ7S1@S^%m3?<=IRz_l+@O9${aeg8#&JUOl_V?XH&meQnUUbOec*9@$8o!% zD%@LRSyuWE-8LTUU$MU^OZjipZ{L&n&sfWahVZzaX#20Q*>U8 zKSy0mGAXU}@sFwMJl_gxPiQ&<`Yt)xef=Ewf^_gFfAqJ09!~r_|G__42Upyk^Z7z= zClVfAdlbo6#VL~WeOAsjvv=d_KjKH2BZLjnopBVFhmDdhl>Eqg z8q_s2jzY-=Bs1EXBJXAoe#D2B&c1D&)^kkjYNsC!^#{c6^zn(Mt|Y%;=>s(hc7PpK zQrSov{DWL1D8?mTcH9T0F2bnn#|NwoY@86ela`z8-B3?FJ{D>{V zXr*I*59p#vJOH%K2d%$F@PrzjI%RG=5^skDiOqs0C8rY%!N-gs+8&+90d+-P+N7qo&6g2FYjAaz%6vj>P;cXPuk%FgTPHv3gZw^g(ZfZqK+Lm>Zf4_w61a zq2-0qo!$+%ik55GQ2ZW|%yOEVRHKg_(TMRURYteD4XKiIS%~K25kJiO~lxjan_f=gJA|ib$tcr5_p5JMJ|ewPK{C zo^$q`ioXIf-PN7uZps+Kacr31Sl5-)=^-MS6SNuZkX8rZxJncKv3s0GY3&E^0ERv#H`tBq(gnhh53TJV3H6PkS_QV zXAQTh!_=wh?sMs2lCq;BBuP_EIi|%!#4XN>>iP8rSGpY&dI?BkSfVwP*O$K}Cwh+o zN9$WuHjcuu1M4d(J>V2b2V*R#K0x}O(PCR&$~lHaIkA=pw0s87lvQZ0bG_|+{BYxT zeB|N$$ocdb=VqLwmENO1=_4#rN}7ZFX~QB+Zz5%$D-YCzC8rXD2=QrG3!-%ln#6WRGH7xsD1owhnYhm9bx~_ zK7pFSYjZ5N>r9iLgw4y0sb&l%c$nwrB2ixlXepleK9kBb-7!Zp^Yi{XgiA9;5fvvN zvGESh#~Ih1x+XLgmZh>CpApqaUaO?aa>f<0jlPUimXoG)jN{Ua$USu!F!Hd+Ap zbtOr`+^CD7xgz;SUhWjVqdZN;Y@?57Y~*RWX&{NVudMZvHnuqD9f{%3q$E-M$b*f) z=2U(OevtADNJHgJKZ4O_!|)!EPm?~=;)R@A)Go#^=shF#N4k9`@fGe1#&yEsH?-`u zL%81>r}`befi53{_uw_E7Mu}#kMW7#4Q!x!ko|!$)1TRTr=C`N`%JzRHAm>HP!R36ncg zeq`(yjQg}IKJ)88`DcC}PW*fS!T)ZR@d$njVr$*zR&OEe1?NXHPxK>mK2^jWk)4_< zr{#&!2CaXf=sAd_1F|mM+b3%Nifo16ckbPhJXngcA=IMe(S2PjvJQ$mXQ=@6hzYT^hpIVX4qcuFt&m2Odv<%;%S#Z@zx#|IvT>kN7|Rr&s=s|Hc1| z)5C(Rk@{b=_fK5xZzKK2F5i;qXJNLp#*Q*5T` zbl;J&QkN8PC5166IWM%`<=~3dXGrh4_0Np{4&iIeIw?P*GDxYCbCz{Elk++^wGq!M zS{RbK_KzYRRCY*%(Z54l=HcN{&JT%wGxlTWe5sUL@nMoApgbz4@b3CRnDJObAW>TO+^c~Tp-1g5Ty#TOnu@yg#o#SZoeEmc}lzod>QK>C9t4G5urrb_L zC2R(_t7Cko+Yqdh^&AA=G&uGfB9-2Q$UMf5rqfKZIC!PxpuNLdx+C*t=1xgU5|G=T}#92X(rA#Sh;Wo|9p9dUhAYhqC$!Q-PYeG$>OK;! zUvWC8`i>;)@AQlv}yU|%UlDEXeYezH=WbxlIEA!A2Alc|->I9+s+d*vF zx8?z8hL$zQVOuR8W?0bMtwpkFhMH`QnE3Mwj@200nDX>=`SJ$z<@$1cxqdINZF`9q zNK5<-Q_i!dp>K5#u($I>47KNeSxsU~t}`;P^My2Ejd+q6OhlqGehz>kDQ5wbsF@-q z7tCBl5i^sNl89fzI>w!pJ7%$58UBLX!LkaY2P;CzloC9nln+E-lOKkNOO|z7mpWNa zQR#}cFu=iTFbe)!=N0+bXlpgIQ%@pXDl@A`bk zd(<4H&t+9qY*qSvUOA!@SUrEQv6b?FB1se0h*t~A)UV1hU*OApfgh20@i9T{)7<6p zJU1V2$%HWS1-vj8IiV$G)`p_a!#rz_Y3+E0e+sI>Brt5&kK$o0uSNiW=QjZzkTL{e2orYr|Z9zgGO ze<9^FMK9d8jrC!$ZO@#~m#D=1J91tb{+TfrkR6ksP*y~hwq3~SfFam^4hXs!WxawY zmgPL5<2P!FGwt54oECXwnsvLelt;S13t(w)WFF(bQC=vrkUUbzr)6dIfuw?X1yi;y zIA*;^oyGNr%SW=m$3_K#?t{AQC@1WAg0wS6Sapu}OkFNW7sgN|$KqY`H9o(`1E$|| zu8NmWVZ%|whVtIA0dpmXNfO?TJ5n|G?NkBISo^-g`fvF{s2 z-?80SkOz0&SgNoe8Sg7!Jyh27VCaSG^PT-}yd277y;1ZJ`FQ;v75DBxVfsDecu!{o zdC&T|@-iClmiNBMm6jHC-1!gxZ~s63r9b-<{-^))xA;ACT0WBX#;0rMkj3x%k&-t` zJvgOrsMTrBsinqCq}{3dp3yFpvOwA}>zvjV8^V5DNF`%D)Ax*~jLQp2&oti_fw7SFnWdi5 zw1~Tr)0y-6VRnc02Xm=PF+5z|D6K&6wyx=aPUTNb4y$QWJOMOQl zVL=#nBd>+g3X(#<58%9F4z9l5eveNn$WMk~_==~F;1#GhSPALoG3n|CsKIg)5+_4et zj`M>e7STb+810Ov4*G)i6DBVtT{xXWW7+x($U!YnGbR^F3^M{IC4Ht4BnBqqb>k5e z|Dtu)4J3Tyasyu+A~oRAY$+C2ckoQnHlwrFfF86f9#=Q7XjU;nlu;>q9!6D?oRw2l4fzY->H8f$d0JH zc$zFOdwW?<3D(2ReWjPpa#BzgM446lC(Gd~P|{3r7VmlBoX$b(Z?>`KGM5mJ(22XL^L4QKB#2_X_V!e@%Cb^ zw0?^hmr+o0a(xDSK=py6cg9GxKDb>E9xjg@M^r0enH7jgCB#!Pw)-L(^EM%uaV`z6 z*{oq;zXLptXP~MCqa%_nQ{gV5p4a*BkAjwt_(tM1(-w^+1<@W`b=G*+5~dBO1^-EG zKG!8u0&{>8)r(gnT%;(1El}S6Tw;h2L7k*)EI&qxO|y5>v~~qIq{pI;SkAoiBiw)H zX9PoI=ar=qm(C>&(_UjyAw@_zDy}IhIVs)mEV=Uh=}OizU$h&?er2hG+d>;H_;xu( zjhZl`Mct#~>{$9K>~8jmEWbfyp|_|$cdo3pKspZ?V3yZJ_c%DxXk$AnT_%`=*`Nx2TQu^Msl@ zX2*nr7E+3@x6az{>GTa_?09*hw>xY3ntlH*;)Nm)SQp5j+4o~=+#RcY9MJYNUP*+UM& zGg=L?!RQ<3wWGQr8MYfdo}U=|Wg6x_lhfB>Kk6%54rKoWJpIJ4|Mb_to1FOHF7yeR zkx=GI?T87+N0b%KgLO^V_#`a4@}I%~`hWgE;&jUF{x`1n$mma8_s^JBQaXnYu^l{J-o*x0 zPUPZ<8L8~32zq*EKX4I=={0wZAga10dRMF$F+P&?gl5Hj&}>7}3Yt0k853iqk91xF zXp)4ION6IOVO?XwDSF^I<}O-bw86{E!OQWP-X6K6_u~3Du$)M04BN1wVdcmkkvRZ^#OOM?>nb;74w6VPdq$4#*jm9F@3KoJlGza zYwI$T84;U|aO5$2ijI4qH{F07BJm<<=5Yh`K3&^6wj>^#>}3h!a_>8uj4^h`=(u~- zAcoUNV~hjjAf*}EvnA{+V^CD5#xXHEl&aj1jg(H*5^yJHpn0R2MGSHoh@81TUwL{L z7M6$QJ;F-Kipw=1gL#eEVakX!YzUe+Qa)k+86lH%ntI5HC`N2B5(mQ!8#%rzeMjat zJmriexVOJ1`H5}&OwNOp!7Xw0kJLpOJ)`*=eX%x3CBEjRR5ahY?LSe{iBb~#CX{l< z{2pL1*~zI=^BFUv_dzK+9;{IX(K| zgChg=H3|l)Fnsr%6Dg^eJg5HhM(*|i!b-rVTreN>aky&4OU+w6JfzP=1DFptyEAOV zZK2zUIHxQ@N7fayMoOU>j>Bz6wUCk^WW=M+65z}{A!;`1?lm?SVv)|W3X^#egA|`C z)fy05X|o$@^XE>J&@B_lHMd6^9nU0**5hkD#+VzFdHi;HGxkKEIu0?zMhy8Z)Mp}0 z=8y)sj5xsitbFLy)jII_@bu*k=*#ux`f~kVUZ0;o&HLo5?ZGGTnhA~g-L!^+2c^IP3>7b^sB&E+JNmRbWc&3z2YX{ygnBQsL5r4#K zoX!iQDK<9NHPf~nP|6`_?cBG4%T6D6TK`O{8>1CePaNYG)~gnkOEJ0 zzrKXKM-5ROi{TKi%5X!XTRNYMWp0!MSQvHAfqN$BPSQ}ys-EI`nD$wZ$#dWkDbJ{E z1Ow{z`58)DCBiwuI8jz?gmporbJ!L0gr-D44$PdKjbS@u_++D%SR&9!DYz9vMyw#| zm><_3@avr3*cQ;Rej>~)8qj$I@iqScUOzW4wS>GBt)w_AQ;p(K>Z)h<3KSk@Fh$4f}yqK2hY6 z&3{9A{DHAQP9xs~M{gYC1=TYuPCH;-74sL=-c1$kPxPZ8dZzbA5@9)Qp!cXj`wd|y z=SNyU=DGVsU4&r`&38nFsw*%1KSt6qjf7zw874H_N#ha8CyriON}}dZa2!Z&wDAo! zeZ#hWqU2K~KfKZVoplN3TP)+wQR~SsU~7CX>A0`hFowORcTSTxa^mRE)Uw1H%NY#al%q2VYvJSNp^}YNNzDVAkq6q)kj`lK66hWS?1zTi?eT)+w+3SkBsz>NdBH* z|N2jV9!~tb|H0p1up6pJ_-yw?EzWVjhUQL>i26vPq@acN_L*b<$g-TceOy^jmF;#= zYhvtYQW=!`TNe3>>*ovW)0LN(zvfc^kbUn^1`p>Qv#)3!uAhJ7$2fs}!zq2_c6~zg z0pmp0LfZ>VedmY$z-9df*XO~ho-z5r>cXJ#WB;f5Km1=0{s;fclm83<)E}_zS2S(7 zoM=?G*0~*b-aY=3{nmM0eoeQ#*IM9sPhDcd?5(1CXWv$|+(=7}Uq|-n$yKAb3PVWs zj*27pg!u=CA0&NGJ2t#s#JhofCQ~W)En)??W7;zkwVq^IbKJyIJQqg?SL3IThy3=Z z5A1EB-AVu;{mgb`Nh0JjC~~4KSKuan&$MxH?46@^_PcYxZ(?Jo)-|@vX0#)==#3ZI zw?rFv`smy~uNGm`4oZpWS?*SMrVTCa7(I?{p>-X?P zW8|#Z5NbKS84hxKz;$ET^CT=Qqe=Ly^Ull1OxA^^K9E_bqkIqGk}u@tLhsM?@e=in zydr5^;wB|@OW+dhCDw_q6(g6x%gc)PI8`hkt#m72BRsLj7guA>@mMj9rJ-%*eQaTyaoL`#egFeZ5AC?0p~j5MZu5ok)}Z= zA)IIJ$l`pfvuXt4qW6W@WU-|DMu0bmJ_M(dQ=f1)N682$M8f$lI_NzH6TSDao{WHQ z_TFbqQ|H&^RX6wgzX>nQXWD5R#2&=lmdRM74emahvmx~(3k7W z_2v3KO-|fnP^`vqA?wN;RboPcRTNC3HsG)E`c5hZca<0b%=@&*OT21gScz1`=wU}1 zN=_kkcTXrT;ww~7pG5oNWWf9WsSa?99C0JqZN=l0`m6c|l(KE&}n}!3kc+L#Z z@yv3Mn7AY~PpzpatzS`H1=+z?a#6NzpxH!I7&Ts(2g|xjEs^?L>qYt)vG5ULYagVP zO536$ywnv@m8dLijIM}Y;@OskepGXc{UuZrM4t%C6MdGZ}dvGfv@%vgColFyPv;+rYcq93VTET25=NMW< zy)w__sN-_P`NR|505x1Zj3Q#VblPZWT4`+pLH(F~sL3Lc0aVO0ZavPg>CSK`Yr?wE z=f30WV9*bz_nlng9pbuuk0#@^e#ia3W3FuNiJS*2KTrVmg|36)k93@41hXy6!M+KH zZmjD&+&&}YPLm_f@}{_6A$4w>v6ergk89K`_OIgiJ{qlE=Th;6Y9A>mRPWHc%JFp4Ne7hvPCjF*FbhopuL$0l2bv7mCt?FCK0;27Y? zMlJ>{Bz24c;OFHC@x=H#&fE@JF1UVV_?3FfjBzH(f%6r)t(5u$NA8S%!u%OeO4VOO zdq#6-qz&2Llh(%J8S9^UIy=|n6XoR8MM-l2oAev@t+3RD@HJb%kyW|AIOUSqj=?#f zam&GHvxQ@S;oa94_Wg#~*Jys>&wl++{XCrbxBlM0wTKmR%9u6W?2o9+U^|Njtw~W%(j{A{mT7*a2%gG zKP1klEMx4GjgdLpongxLdZk;F{mAV1gr|d?oVHy^xp6w3L^ZJ=ALkS~bG`k9Sv){6 z;n=TY{lw$tiL76-ZH=7H)Uu!nQYwsI8U75Gxt!mjNjP7!h*(rRdPnmEt=&0V#Nge9 z-tV}Bb!XdNc-cPEd!u#3Mq}7AQ#gITM9nF>Yiz(rX0#Hp$l6ey>LG0)M|g}CdLJD7 zKyzZ4)9jg=Gh#JvRDjq6XlD%Q?T80_>I~b$ir_}GTW~6@B3c;j9Iu~aVOVEbqJ#G7 z`L{^=#8RJdPqgm1ujEp>?N@TH&UiY4?;gS)Q4E!L*w}F@OL-TSgdR17VUe0}-+)0W4{s@kq;s-QCg%duNGhQqQ$>@} zMkb}?$8nJ4j3lM^EtHuW040%Wi;LaV92&d=ADiP#K(zA47#SaD(0JkYo~9*ZCYoIE zaSCOa_6ZfsnBOV6;2zu*GbgixSg;^uM54#eZ@?-|QGYORZ?thYjl@ifZQ1BS_||Fg zh*VO;=%g}85`)s{XWa+wAJUu;rc?0@#eYw6|zn9m`^@TCwr51ZlAa>*x-aVp@ z*vFXlKb<;jUICc$bDCnlq{^$MK?R)^L~%TnR2UZTvl4xR&}+|t!+bhL^+0|eTBuAw z=PQ^KobDp-B6!pfm=-3F`*KXg(O^XcbUG<1shEvea!J@M(i~7vypkYJAL*6LAV|mh zj@!UZP)%ZPNNVIPv~HsMnmz%MMfM%aQYLJ@fHo0d*!v4PWz?PmfHy+JTC>weXyP>+ z>P{`0+jGbJ!gkz9n#tpVei)C-SM2)>_v@9C3eZW}>AlS7+8wt#?N>`IqoztT%x#e@ zh;;3k){Hjmi?doYzi#nWAO8f0B&mY-H$H^0|u$`YH*p)e2bUv z`8!m#S@}?o7E1B}n+JEQHHkFHOc}Mttav8cp(I@pfnzkBJ2?r~9zj0S<;vKK00eX;Vvx8 z4z`f2&1ybrBv z>FoRSw9)OX>w?<=s~o%Ga*y<>J8)tg3#ooWq=x(<-4J_+riR!9lI{}|5M~Y0gGJu~ z`&?c%E|)RW@VBThiJ-Y)$4bsI_&UZ%NT1;NHWD8c_N}0@VEKjS3&*js)JI-!8*44p z6w9Yne`1jfHm*~iu#s5Vw}rI|!=5SfE36kv`USm@NY0z#9CTYb>@QhrqKz|2z6r)j z`h?22jC97@hP02A?8y29$2gO6BYEb}{_J;b9sl4T{JmQ8JNEsKmMd8!x?ZFUdBf!$ zB|W0!U|9ycC33GAFPzsuK{Ro_zp$R2V|(P?`zOp^=;Ld;#Wu7z9PM$y^~7TVef-SQ z3s;BB!U0{~r1;{7Ayn!->EC?GOB; zzxs##Yyabak$U=$G&-XnuIrBVOBgoBnX+Vb*{P}E@`<7gDHXaKloxONh21(eE2@t(#O)qHn%)}Ava{_6sjSrH5bVsu(;Cnt z6~qf4odF?c8>}1qJ!&wXFE(>Dx`z^)@j2? zxl215Pv<}3;j*$UYs8e)#oEF?Huf!`Jh@z1$||+U^a>m0^un4l>#`uO;=?)DCyxCC zNN6LwU%?h?eIVB?k`_{O&ZiT#DoJ*hMOboX-(EPcXP%y(=zV8dp&ylDo80yWWUkv! z4By!grF*Auoz@fEapz@!;m1#(c)5K>k|I3PEhG7vVNe!f->!H+O}<9Pxni~j%x3MV zD2XR}-%v8DnbGfd3O(<33B6LkN3SspCRa-Oj&*sO6W~f&R)z_= z%G`KoQXT;oiaH-=J0f{bTOBmNJ%rpNs+ZD;8ptSU?ksD;&8g)=_|SLiX`o!t90`n9 zpwjDhoxI~C7!9SusS4*)LFA6u*ECC{(jsQ3Bg`p&jvGInOa-n1(M@Yi={eX||Z|bcsX*_Aq0+8b7Zkgagr?lrD&S7}dSTIZynJT@r(lhMOXsrb~OE zWJd3le45azj$4|s)L^MZ0)sgeagxs87hx9~enZtc_TWOi)t}VRl4zr|q!srb2SOcS zib$KkRtQVkh-#D>Zcy}$qKrPsCF7n*x>9nU0MnUlk;>!4`O6#7m+Q;*<@&u%PPl1o zw&$P#@3^-}ZN8@V3?wQS^Pf$qv?O_bu|q)Lpqa{$(1<$YRq5d~k|93j9ij$ef~Qy_ zOxA=-DBGh-;!!6RkXboUad4BAc>DkGIaHn|vRCs{yg3Jgv8F`H1x4cbIh3SGJd5H* zY}g(@PC(2BhpYv6VLvu$eJ7iS;71{u47))+}uh z;C2f>l~3kWoJXUXB;My>BK~=N-Urr0eTp0m>!D8{1J{Gzj9ipb3itbls8dRz*^Mkw z*$LK|M8&tH363oEs2- z>+$E*^u%aFS$2}YL-Gsab-u)Zr0UZgNF8J?42yRHA(Xb7I;AQ(tsMO`xyIKc$t4u& zva?jMuB5bbzcspF8ROt|E(COTqaTf0D(IbDbp~C z(G=&^F&yQf=t}RmNKseE+e*$lt67oON>V5#s!76vvjs!X4RgrVNh#6z4Qu)Z$1%7( zeq!ufeE;-2=k$bJHs;fUXc75{PTq6Ubyd#<#b`&jeq)Y{|Fy^;lAxWy+s#_8#a>wd#5(e@j{Kf<1q4^A|8&g&EnFSNG$7}>vQ6(rzh^WChO%RW6z9Z zWm#eL7nbEKF6$#HBZ6|j4L(0N`ccWi`=G{-#)NKK|5scz4J*-#x`kN4n8^V;pBR4^injnIe^(!`G~3NKWBY)+DUu371Ci z&bpqY$7s$mHQoX zMsE9+F*?V#aDDlJ>Owc@X1ENlx6jPpYC+K zQqqc#6U_945HG{avXFQ{6O_~_`9w*NBw6C7oE4qPCz%_SU`-e)`;0fvO$M*MM*|W# zbaslCm|htvQ>VW_%`ui;VG^ftW@-*$bgD9nwP2Ztf{QxmlwhBOh(bVgw3 zp+zS^l7{&fn-a#{a7@F9rT}4Cox_7T*u?ZYrtc|%$_bb2+t(wd9D@*BaL=S{z@WE; zTLIl?ilQ-wGW2Hah!$k4>NnC7%!=6(wnOqkXDB zgI^NVcGZl_Mr%9n5?WFzZvd~?>3r<@Moi2tYA4~AhsVb+K+G@Km+Q;*`#YR?P1EUo zPVlBuPSbSMXUZ*JR8x9|3(AZ;{G4WppF?Ja@@MOV+k8ot$pX}byUW|Z<4N3IL~Oni zN7dua8WB%FUY}DFn&~N}IdGS^0d(M$gx&@&ab77klN8taA~WnjMMWhR8*oC?4qgRm z@nXuDzg{ItCM6L!r;nZ9o8T4Y#BnrQ?}(qpMy9n!$|{mNHWE4Sn3;^;*$-i(F^Ve=C9E59r0LZybYDq zaUW4t)(*;YqUJkA27L(4D?ROqo=_jC?okg~re%bHcDELTx0DL#o#1Qk zF$}ZB`D9`9aAJ{z;&Mm&6Wu=ngSry%^OWdECFMj(r}+2v8Sf>QhQ5$;09%LclzOMz z3qBG@Pm~(xpry>kqF)1u>MJ%5a#4;Zm7rd4YGZO@(|66ac3zPdW-Y( z`>$&ZF7=tLc`EI9N)7v*YDJ}Ez489t16@DC{*LpKqA9Ty{?@PlK>t{?paaz8kR_8dbwB6j~098`1953&=Z4GUil767ymDV?}Ng4ee&$n+d`$(6+ zCi#WmeE%bV^d}GgFaC3XoBQ>F(JE?BP;ZDT+tIz06GEb<6D7Z+)=oR%yne-ge5O`N zIpJ)K@j|T&ZG3X%#CC6@8gyW{0LHmhO37^ZjZ=Bgutv!%?S3Jzj?t+#{LcH{5h<7# zauwOP6Gbklbe`T-+!m}Sa&h_14}VST#^IkReqpsUOKnn44?I6V@b%X#RR&A>PLRg% z9dGY(zjL`DFZZ7q?aZJ3=`T=iVzywe^sZb^kD)>IDmh6QEJ!3-0~)C>;^Gng=}xL~ z=SpfEZ4)2Lu))jiO08$SJxw@|vF5J?4svmlButdv4pM<_zw>h4DRt#&aJzN7b?Tbf zURE)7j;ejeULaI@`&i5 zK&Gg$-w(1pAfBm9r}t1vZnuM%>yJDSu_Ah)jA@{7R8~^{IXdZ@&^#a5o-i9U z8?U2;d0dN)i{u{T1*vlYkmmu8sN`s#>Mi~WM?KTmA=)u-uR5-`Nku%|ETB(bBKm2` z-JQXB^Swvp@fI*DUjm#8rm5&mq0H2T$c+3-45cJeLA_hRm1KU8r-jjDoRHM$M+KJGtyc_Q=HG)~(%;m* zuhkC`c{^;SG?^UY^MI4ld0^HgJY2r0M88~Lt}oZ`>u};WhXZ{Mu!DJ|vdm{htme%Mqti@a*EqjvH7oS9~ec~_1nj{na5z$EUoU4Z$bC;`ayIrtWPQ*6)o7M0yk=O(h-!iNPdZB9C^NUtE8+kFdug`IjIzE zBsmUaxZ>I&?P8|%CgkGOb%+heS|_I_Mx*yZ;=PRYBT}!3y<_x*`6fvNBwp*zc8?9P zyI^8yPV}QQ2yMKGvXn=X?zAqm(xB9Iq4m#n{YO}PN2zrtJ)PbHZXH0-1!&X05q68$ zq)Gh2j5pSZPm71n!9m3PL%Z0=#u)aNJViFl_kf`K5%5KAXmZAAzXP4-jeQkxN&UG7 zomf; zr@0{c7Aua?k;6zl$B;smS}Vgh#t=#YNC67Xw*db45{o>(Vl5Y3KZI#RGiE6&-sv-0 zAIR%1%!2*Q&X43=a0bii#u!noG5rAnnhZ3TF!qtb-eK;fWVo%QWaQ$pD3Sth4E-?c zxP_b+ddp~9<8zvBEaeQIP*z6YDD^$}BNDLp=PT#)${2;C2_+|NEDSzi;}%8}spNWq zU+8^{KX-jkYf+_GmoyD502_^ujP6i&%$?)7QS&2Be#_!8j!zV?^v#j<4_V72%UXE; zuv0Dz>Xp0yz_1>*t9IkoKT(R3%SY}vk6D4Vsl|=K<`|7kX5SxJR%0ADltFi+ZwdIo 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 ID8XQ1U1SE$BDd_=}QmOxb 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 D5NFKW literal 0 HcmV?d00001 diff --git a/artificer/images/home.png b/artificer/images/home.png new file mode 100644 index 0000000000000000000000000000000000000000..70d3aeabc1ab97e91d30e6ad66187176e677eec3 GIT binary patch literal 715 zcmV;+0yO=JP)dbVG7wVRUJ4ZXi@?ZDjy5H!n0V zF*5tIbo>AS03LKjSaefwW^{L9a%BKPWN%_+AVz6&Wp{6KYjYq&Q#CFzs~2($hl%E?f3g~C_vro^+YrpO##%-{yaHHETwv|rrB)1hr{7V>R$uYShMdz z#!dd6cqZ+3yAsriM51I_)-Cmqi9N+J*3fhAH_7LTr4-?IyDf*{M3G43je3{FA+bp; zD>l{ICH7#iJ?oUaiKVpD>4;XVCBa`F3We^ecSh_JYs8W*v!vG0JHuXNbRM(pa+7#= zdjSIUNt8A9PKa${WzI9PqV}91gDhs~d8JZG%1z=8;)u8+?y$LDuWPa8IHlW#J(eST zr)FaIhVjJ24sk%7B2=wbbvWqZ3m0@`Pu0vFw-bK})2;U{cFVHF#bVL7*e%Nv7YYSa zcsZZXpI0iC2Y_0=R-7zPoXh1*;q`Pn{fLJLpvD?A%M)j_SyOl`9*;lOYBd2+V~v^R zi8GmuDZCwv#h&rh0@UjLm%!1oJ=Mc!ngP* x@G9OVE{K~2xlps%;&l}WF37Iq9sm2EFdtf~UX+1L*69EM002ovPDHLkV1mG8J%9iJ literal 0 HcmV?d00001 diff --git a/artificer/images/honey/body.png b/artificer/images/honey/body.png new file mode 100644 index 0000000000000000000000000000000000000000..9aeb184d80961b9ae3f8677d6ad6e57913d22e5e GIT binary patch literal 32417 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 e*4k4_)qVnMrzmo&YSo1R0000?e5u literal 0 HcmV?d00001 diff --git a/artificer/images/ico-search.png b/artificer/images/ico-search.png new file mode 100755 index 0000000000000000000000000000000000000000..3bc27ba3d2b849918700f61970b4e65fcd45f68d GIT binary patch literal 795 zcmV+$1LXXPP)CAjQeVMCGO;-fwMqK~WMFbt-5m-Y?}cowZr5bSj89K(tJBsi{-b)HT~` ztJdX*`k^)RkLvwS;aI=aw>|sLIq&m6@AY7R?*$gU3owdmCzOB!!a>|X{QrYlauGb!Ttd!kddBNA&HE9Lyl*E;Z&tmjOJ^#kxsjV zb7Hq2`26V$8qMaCKjfcEg~C&+r=!zlWMyRZ3I&3<%oZ0L`;?;d7QJ4~yFKTCXU=s+ z6c+Z8kqmmh+1l8EmgZ(O)Yqe~rUq4&6%jE~=`OQhD=q1D&CbFxK7J0A84T^rn5;>f zb2=Powb@{)t3z#dH7bl{=C90v%5!ewS4HLcgO zr@1E0&Ct8sjl_h6J;na6X{?|5}E$RjY%5r0tG&=f`e<#Ed5w9}S)0Mf| zSuAr7T&i6i9T#bd?0zEEc1olD5x7u19?x$(j#sH-lhlb&Cnf^!ITttgQhhOx=A5gL z%clfz66zXMyF2M52>_ z3e;4Yu=#uw$4AH5SYH>UrKUb+&eYuZ%S%i7|0S?R0=qjqI66GUiq9va5*Jo|zFetP ZieJ%m2P|RcKe7M-002ovPDHLkV1jj}b@%`P literal 0 HcmV?d00001 diff --git a/artificer/images/ico-star-scribbled.png b/artificer/images/ico-star-scribbled.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2c292d05018474f19c388297214451190b3ecf GIT binary patch literal 498 zcmeAS@N?(olHy`uVBq!ia0vp^0zhoQ!3HEH;(vt$DVAa<&kznEsNqQI0P;BtJR*x3 z7`R@8Fk@3UZxm2auEaH>Bsf2JN-iS046-rCmOoHsXY{2;DTe>(fKim$Pq zxtMXOe%i8~Rqx`z+s=&9oBq=)HAsOKiXK=q$?p|nObKjEDtT#;E!c%7) zlyKY7qPsV4>l{d1i2ob%iV z9M%@c%)AyI;F7x_H@Swnt*|+J&Cym1=~q0x`VBUJ4rz)Vaxgv4_;&`^<#PF`nFmzg zU1+vEqsAK~c6x=Y>Aytz$%%Z|4EqjUFI#BJVkYmmsgHTh!k1@LxjZsoRGQ=@Ufg~C dr}6)0^;`bU`r93NN`axy;OXk;vd$@?2>{U+yEp&< literal 0 HcmV?d00001 diff --git a/artificer/images/ico-star-small.png b/artificer/images/ico-star-small.png new file mode 100644 index 0000000000000000000000000000000000000000..94d79cc97ee874297904e69bb6ca8ec94b5d6b30 GIT binary patch literal 779 zcmV+m1N8ifP)qb|FUitNrTRMJE&wAzv|?E~qH zY|EM;3b8pX(mY}pY16wXi6u@7<|LSrG*&iasc1M_(b5IFG!>&X-uI}m zxhdAQFZ|AV&U60%_dL&e9|C~<3yYT(i{>sPeng1`)0SN3q)X0wGD>~=d7XN7CJ z$Ye5!W$1J|)YsRGvDs{9hHK#r@$3(=9TyfBMA#SIZZ|W;g*^vmqGVFGEO9DO9N6^w zM zrur9Q@z0J6uyQd?AuB4X2n3~S2 z{b(&Y*d0=m;ZoGz%IL`GmHFy~?eT`3sNHLx_{J=4%+i0%(qA*cTHK_LQPcnc002ov JPDHLkV1h%nZ2bTL literal 0 HcmV?d00001 diff --git a/artificer/images/ico-star.png b/artificer/images/ico-star.png new file mode 100644 index 0000000000000000000000000000000000000000..ead91cc29e45fd999d6835e4b01d366ecf1bfef7 GIT binary patch literal 1160 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 literal 0 HcmV?d00001 diff --git a/artificer/images/icons/black-dot.png b/artificer/images/icons/black-dot.png new file mode 100644 index 0000000000000000000000000000000000000000..f9f51ba68d869ba203aa7b5da33f572efb28782e GIT binary patch literal 601 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 A!~g&Q literal 0 HcmV?d00001 diff --git a/artificer/images/icons/purple-dot.png b/artificer/images/icons/purple-dot.png new file mode 100644 index 0000000000000000000000000000000000000000..6530309d23d19ae46001d4a798af6f3cdae06212 GIT binary patch literal 1406 zcmV-^1%djBP)*shQa*{oxFtF^^IzaDZavavH`7(=Sdi&c12lMkzKv3#0idFj_=V6%f#ClyVS> z1ue3>@Q!qBPe^NbvW0w}xEMxig~SEWqTEBZc4mh+a_#bT)7q_>!o(W{Tpz^%nIV-& zZTs1`u7vg-d0s3wIBnZu&m9f$7%&ZJYVZ?R@be{Qp}l`b)X0ZRGdF$p1eq}vxaRr! z?Xu9mZ&#)r#vDfxI0~q2Gh&0tmi=fY`3{df;(fGXnewJeqUbFoGS8(T-6;0O{>T@KZG{F`6bXUH( zQk>;j1~nGnG@`NhN)(tjX+8=}Yq-+xZM)lJUV&807Z)~bl`lKfwt~~1f@rYUO!-o_ zFF+d?RLf_bywR$xHIa;^MUD;7hPdVSG{DvT1%7MZh?cG7;wMs z3cRsfb;PIK%^5@TnZv_X-HCjIyYf$v5bSyC@@!Gn~62s)2$vrvrw8o1-eZ3clI~LI8DSKWbS>%OsJ3r^- z#jYK_E1otl;)h=v*nx3E;hAj1jH@J5d=^F4J=?wV?M_$KHz0hk{Qu)J0GA&ehg)?8 zm!<9AI!1U7L|{@UWarebvK?CeduV6$YRw4{abzOGh;CGs;6nGu%8JwjZ{&^5uhjSG z(S&|U3&uN3i&GD+IqTny%7^7i3HABfIyX)SH(+_%-gjr&UpW)$j0cYBcTq>Mg+*`t zij%X=?|t@bU_Aof!3C<9h>fFR;CRP7m|}SS;JgW|ztf5IOwd6TDxnXdRt1YwHt$T~ zMqNMMxdns_l?7aCJPMiXa4$*SvaQP(Lo60TOo@YpS;F=qsJ0?TBkFwfrfn6{FL>nk z^}EY6RRIt1S7<+8w0yLSrv`tNb|OlH{U8#$Fc^OA5wgUot}#Nvxw7Ei{>W0M>SpMB z@SLeSPjvnmMmsCzktaYncC&_pP#!ZaZytCcokM4Ryi;frP#!#nsis$tSYVP=^i|IR z2w~bbJYp;x(@9PlNBG*RXvxI+!V1*YH^9$%qYh)y2?Yu(>ty&oQ1*o(&{*N;s36;g z8RsjdQ#}WNUn)U5wcj#uX$?Wz&d$g`41%O~C(I{-labBN?Vfb}0~RnmjFqywRd7BG zKQtOiyhqoO$TUQeA?E%qN4mqco*GL)tH&hsk}DcZN|h$A20{ql#63gn38RlE=0|n0 z5{FD>zl9%tKc+<(Sz-Z#rX_DdBKvPJ!RD=%FFA}P#lx%ScFO5JEpgWo!e~lf88jn1 zd%n#lS0I%e>kHvAYs_lW^@2u|_cj)4R@lw$Dr=GiYM@PavuhVgPG%PilfR@U1T@d% zR^?x?pA=udu?Vs@0+|u%$(0EPShcKrcF$lT_A0_EqCk?n`JVs-0N!$aWNh&%rT_o{ M07*qoM6N<$f=nx$O#lD@ literal 0 HcmV?d00001 diff --git a/artificer/images/icons/red-dot.png b/artificer/images/icons/red-dot.png new file mode 100644 index 0000000000000000000000000000000000000000..3c7acfc5fafd91d05e9a9a68bfb5d5d27c199d7b GIT binary patch literal 1356 zcmV-S1+)5zP)6b5=li6Z>fSvQey&71|JkPV${UQgO?zLkbnpw0gVqLh6p|w5)lXw5E_UO6a_Ux zjDjtNwp+J1ZTG(2xzF*;!cw+$7yOeilQWm^eE;a$+Dnjh33d4NytsDpdjsu2*IUE5((QTLuztr^| zF`F-+PbF!oPezykDGpqAY#g`v<_k{l`fabrKT2yj_$|dBHi6XwaIj~|DMVap1FS> zKsdN?8?HIJH75u+)M1ynu59m+*2GhvhvP}QroLu3k|_|o`4L<)jK!;llIOpe6qZ}& zHG*3fM2t|%xFCaH!TGjpcxfok4^&ND`dGksj`rIYwq&x~R{CVQrSa}Wo_WuSVW4^L z9K5KiWK%l5y-zb3J(IJZY%_Sv`pKbuRPIJpq>#AyU{VNC*L|YZu$HsKy0&yKqnKV- zFI3rrZ1m+wcNF_I4aW@=D|`yps4D8}t4Ck390coX&@`ODL0xO6f0}k}qaY)occ}7+ zzR^r%UF5IcdaS!%QbY-%%XVjaRl>rAj_Zb}sNA|>6;j?E$zw4Rt~>5ao@?dS1xw!e z-eQmY+4UE^X-+vCG-I%U3yfKj(ix4-`tJfTUmIj1UAQ$cu---7BS^VTCd31 zUKQSS(J&MHuC{^5?56zkMwpCmFSp~Y>1IEw3~!ht1_Fg3tDP~ubNAHB=eNbO`r-Bt zK`57JVhT>SwPSrMZGTc(@xr{B)Bo~ZzTs0Qji+m>zx%8zw0d1EiHp~+iA0wm6!*J2 zyYN;rgB{_}8!KvO9YZ4N`7OvyQ9B;~9m2EsRUdgX7})aqPzrpYPlSXO$BBs$WOI1! zpEy?el-;Xl*L;O|LL}7AgBpUd06R8>_bY>2t7Q7~`u;eGRGbX2OZIj5AR!8VT~%nK zIWUM3#}u&hpmEWU1q=z~T-SLw7}$8o(9z%3dCT3rs{USloX%ivV8S+q@KjO^h7o5J zG)W0=M^xNwV)7Y*6FUsW8KcOAV{K^3_*2Tu82-Gh+VJs+ju{sp^v^A&0 z`8#qWcD8~2BN;qbq3-o7+_3Yt&x=4~F2`65hzGTdo|UN7d2&Pt6bX@NFZvv+x2V3u zj!;4JYKuWFG2q6+n++1@)wGc{iS^B7RLW zJ8?)e--edMY0W|tVXbM4LzBjz#*EwJ*QPE3b+Yn%CYQ@~M52L+sH0^Sfgeobz;sHG z^_S{vJ3pfaR7lZNmf2`IJT)0oo94K1os!Djk}W7P;+^JwXLYl2f<${&I5E>J6(;>p zWx{-7BhduIS41JqAY@=r2y*gM)h(fnmp|G9kYWb6;7TOjZCKEFX;0WfU+Hn<6B|V> zXYjH}QiD$(XbJd`bIOoSETc*hzarE8ZUo}=p6SwdSyY@)Djk>q1Q-Cjmzb>0jV+b{ O0000=A7vsjd z$X4{*C_c+`DsiSXi|-iinm$5Wry|f=bSe7DoEvpam+=4Lkaa~D-ZQ#KKjGP~am*2> z8UTe^isr_ptLHw`p$Ic!@hN(M?gJKqs*dn!xK@1DalejX%n4rv(uroGebE8^44?_2 z^GVX%G7#OGFs>n7Sa_e|QpLiDqDP`5pk@h-Gdbj1YE$5O%{x`HBYQa&f%X7;Dtf~8 z)P$)_fZA$PTwD|V7a_dhdP}M5T@s>84}m%YC=F9rk+gLw=F_?8RCFf#!FX2jbU1Z@ zrpEfdFwq@#=9}m%nv+*`PDQszLTN(vFL!LU-mtSS060V6aZDX*?D^N%sVx&M`BpP~ zptkI+8juw`>m1FwzXY}kEx(4Zh0>Q~1J*2{-|#U>z5|473DJ@eo#M#CxbiolyVmUG zl)SHp<(kD-IAM!nJT~U!$tR$ejMvwJWJ8(o)Ja}7gh3boEIPrRMIT3ofO1sxeQHy~ z`SnHgPV`Zo5{7MY!v%Q6Bn=oEq&BFI2y;&>>INJap4EW#uz zTPEY-5caTa>o$7(Sl_qzaXh!%$|&vdZ@#qWp8tIJf1gsb_*$S41!6D)!arRg+C3ok z+@mA6y9(mhL=$YZGtgDcm-a;lXo7OLy4q(&(c*DS7vjKm)aeL(Qor{Kbi%Z$u$Nwaj3{%`E zQ`p^Sn%{7Lda_ctYBoD&+pCai9S=0%n6gaJZ|^~_9mf~BD^6aPf`NCqo9SkWcghmFDC`m)WYThrK@x$HBnh~NmI7`|)j`XVO^~zdd5Dms7$}Gr<(WWUK#^ZL%NGE396?{v?tQ9h z00>j|*Jo$9C#onyt!NwIC@`JZYHdS(nZML-9h2E3N)m=;~)ssIK`r@uqEQ zdfD2ccaBapQY50AURDH>jhi2;Z7QTy0kN1)eQa^=`>&8qCB*m1xYpay`^k4;e`i1V zY<7^JFo7;3eT0P=40Y5qgw9iT|A~xUJ%+8rq)4%Q5U`zbZvY>`6bCg#DJ2SUd zTQK1_#7xWt%dU0hd{djd?Tb@{Y%oKQ5|*I-NGp~43WB72?d$e{zG(iJS#K_@3h+UY$zW7~sIUmb@O%A`x@Gl8D9!lCz0C)S*$=v_ ztn8oH0Jy>(X{Bq*JRUNYy*$Xia1=;%`5*?z0LUR;GJUwR%zxrC*xPL}cNs$EAlABf z{Rk4*_s}ZD|o(TG8TmaCd1f@ zN!G9|B_@-jb3fq~1QbK6%%tlH)wfJ0_hYxLW1Wio2;(GVc2Dw-R+9^#rn$(CPC!|y zy|~WwU&i@1$0HZ&%Pf>(`R{#J207*qoM6N<$ Ef<-X3y#N3J literal 0 HcmV?d00001 diff --git a/artificer/images/icons/white-dot.png b/artificer/images/icons/white-dot.png new file mode 100644 index 0000000000000000000000000000000000000000..2cf6f256b8da016525a1d2771f9d39bac2b20efa GIT binary patch literal 1175 zcmV;I1Zew-P)ISq||2o@=J=7c54;ohYg$j5kJ`Vkvfwfwq1rrOQM`5){eyp z2ZJzX?7P?fcHXz~o|);m>z=3QeeUO)`?;U%zTQ`}x3@=ZcXxNRxw%OP2M1)aSadr( zJBF2&l~*@6HwmIB3J7rq1qE3W6BB20b90x&!^531F)@^yno5Czff9y5AMEk*kq}I~ zySrbEj*k9tdwcsTGBQ$^nVBgC1C+M6w`qNS{SC(7%gV}{l9G~^bUGa=#+k`pTU+}L z0PT5sdE(sMoOp3@AzocwDb90bD;5?OiimSoR8)NHx?lP^IXR)`=H}N35IZ|NpKNyZ zv$Hd0t*56)3=R$!8yXtwdA|g8`s zLv?j^(@{}TUztoMdU$xCCw1^*99LCUMXRf;W&nPvi-?GLiTZrk-``Ks(b4oA!!46u zucyAgzBnHrp9Sss_;^8BSQw?Jr%PG6+Vb);)zs7wZcQ3_?rO|{goFfQicC&U=4ny9 z_}JK3DP{HXy1To{Y&MhA>6AvEtB=VB?h$JJxt6&W8XD^M7>kRGUgxrXAgzwU?C0m_ zZi8}ia=gxEv)ODsIE484_#Lobsh8_fjYgxA5d+C{*P5|0Ex-ngrmd|_-_grKzduS+tP~DK&)_G!xW;rl+T0pf%2c z{z)Am_iSrxE4S43)YMc8<0!q^)zwvq*0{s5-S(v#h+7Zwj`sHU5~Vlgj^_th_?nv? z_45eG&v6o|$&uM>8HioOHz8X{NC@B98}w`I($W%fXQ<8La8O1@2BoB={5U*3Yy`Nn zrrFroP%~OrR8(Y6PEO7l8ykCaySxsmB7po2QPBJO`Pp1sklTr5w_2?%-;cS zcjX<&3=R%bWo6~}cy7DAyd)^H;#yAA)%W-J$zU-23N?A#($exItKQyT(rUHa#l^)# zxbY`I5}3cgKdGIqy1Ke+ZEa0@!N|PA@hCq(|0h8Z>^xVyaD061mXwf|-;m8NIP{{v zzMkgi=lP{_UtV7Rv%2k+nsEW$IsV-NX)=wBj7S@ySF8?yf)bX~(^CRXK61g6Vz7qc zo%j|sG2Y+b)9malK@?0}*X!$Rw|lgndXEbVg+aiM@v-ezdywU002ovPDHLkV1oPAMwb8p literal 0 HcmV?d00001 diff --git a/artificer/images/icons/yellow-dot.png b/artificer/images/icons/yellow-dot.png new file mode 100644 index 0000000000000000000000000000000000000000..62a366e4c67fc4f83e3171d42ac3adf3145595d9 GIT binary patch literal 1466 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 DSjadl literal 0 HcmV?d00001 diff --git a/artificer/images/leather.png b/artificer/images/leather.png new file mode 100644 index 0000000000000000000000000000000000000000..09cf9b18d91988d9b936d2f19bc4be99c983413d GIT binary patch literal 56840 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®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

                    '; +} + +// Change columns in product loop to 3 +add_filter('loop_shop_columns', 'loop_columns'); + +if (!function_exists('loop_columns')) { + function loop_columns() { + return 3; + } +} + +// Display x products per page based on user input +add_filter('loop_shop_per_page', 'products_per_page'); +if (!function_exists('products_per_page')) { + function products_per_page() { + global $woo_options; + if ( isset( $woo_options['woo_products_per_page'] ) ) { + return $woo_options['woo_products_per_page']; + } + } +} + +// Remove pagination (we're using the WooFramework default pagination) +// < 2.0 +remove_action( 'woocommerce_pagination', 'woocommerce_pagination', 10 ); +add_action( 'woocommerce_pagination', 'woocommerceframework_pagination', 10 ); +// 2.0 + +if ( version_compare( WOOCOMMERCE_VERSION, '2.0', '>=' ) ) { + remove_action( 'woocommerce_after_shop_loop', 'woocommerce_pagination', 10 ); + add_action( 'woocommerce_after_shop_loop', 'woocommerceframework_pagination', 10 ); +} + +function woocommerceframework_pagination() { + if ( is_search() && is_post_type_archive() ) { + add_filter( 'woo_pagination_args', 'woocommerceframework_add_search_fragment', 10 ); + add_filter( 'woo_pagination_args_defaults', 'woocommerceframework_woo_pagination_defaults', 10 ); + } + woo_pagination(); +} + +function woocommerceframework_add_search_fragment ( $settings ) { + $settings['add_fragment'] = '&post_type=product'; + + return $settings; +} // End woocommerceframework_add_search_fragment() + +function woocommerceframework_woo_pagination_defaults ( $settings ) { + $settings['use_search_permastruct'] = false; + + return $settings; +} // End woocommerceframework_woo_pagination_defaults() + +// Add wrapping div around pagination +add_action( 'woocommerce_pagination', 'woocommerce_pagination_wrap_open', 5 ); +add_action( 'woocommerce_pagination', 'woocommerce_pagination_wrap_close', 25 ); + +if (!function_exists('woocommerce_pagination_wrap_open')) { + function woocommerce_pagination_wrap_open() { + echo '
                    '; + } +} + +if (!function_exists('woocommerce_pagination_wrap_close')) { + function woocommerce_pagination_wrap_close() { + echo '
                    '; + } +} + +// Add image wrap +add_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_product_thumbnail_wrap_open', 9, 2); + +if (!function_exists('woocommerce_product_thumbnail_wrap_open')) { + function woocommerce_product_thumbnail_wrap_open() { + echo '
                    '; + } +} + +// Close image wrap +add_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_product_thumbnail_wrap_close', 15, 2); +if (!function_exists('woocommerce_product_thumbnail_wrap_close')) { + function woocommerce_product_thumbnail_wrap_close() { + echo '
                    '; + } +} + +// Move sale flash +remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_show_product_loop_sale_flash', 10); +add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_show_product_loop_sale_flash', 25); + +/*-------------------------------------------------------------------------------------------*/ +/* BREADCRUMB */ +/*-------------------------------------------------------------------------------------------*/ + +// Remove WC breadcrumb (we're using the WooFramework breadcrumb) +remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0); + +// Customise the breadcrumb +add_filter( 'woo_breadcrumbs_args', 'woo_custom_breadcrumbs_args', 10 ); + +if (!function_exists('woo_custom_breadcrumbs_args')) { + function woo_custom_breadcrumbs_args ( $args ) { + $textdomain = 'woothemes'; + $args = array('separator' => '>', 'before' => '', 'show_home' => __( 'Home', $textdomain ),); + return $args; + } // End woo_custom_breadcrumbs_args() +} + +// Adjust the star rating in the sidebar +add_filter('woocommerce_star_rating_size_sidebar', 'woostore_star_sidebar'); + +if (!function_exists('woostore_star_sidebar')) { + function woostore_star_sidebar() { + return 12; + } +} + +/*-------------------------------------------------------------------------------------------*/ +/* SINGLE PRODUCT */ +/*-------------------------------------------------------------------------------------------*/ + +// Redefine woocommerce_output_related_products() +if ( ! function_exists( 'woocommerce_output_related_products' ) && version_compare( WOOCOMMERCE_VERSION, "2.1" ) < 0 ) { + function woocommerce_output_related_products() { + woocommerce_related_products(3,3); // Display 3 products in rows of 3 + } +} +add_filter( 'woocommerce_output_related_products_args', 'superstore_related_products' ); +function superstore_related_products() { + $args = array( + 'posts_per_page' => 3, + 'columns' => 3, + ); + return $args; +} + +// If theme lightbox is enabled, disable the WooCommerce lightbox and make product images prettyPhoto galleries +add_action( 'wp', 'woocommerce_prettyphoto' ); +function woocommerce_prettyphoto() { + global $woo_options; + if ( $woo_options[ 'woo_enable_lightbox' ] == "true" ) { + update_option( 'woocommerce_enable_lightbox', false ); + } +} + +// Upsells +if (!function_exists('woocommerceframework_upsell_display')) { + function woocommerceframework_upsell_display() { + // Display 3 up sells if full width layout in use. + woocommerce_upsell_display( 3, 3 ); + } +} + +remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 ); +add_action( 'woocommerce_after_single_product_summary', 'woocommerceframework_upsell_display', 15 ); + +/*-------------------------------------------------------------------------------------------*/ +/* WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ + +// Adjust the star rating in the recent reviews widget +add_filter('woocommerce_star_rating_size_recent_reviews', 'woostore_star_reviews'); + +if (!function_exists('woostore_star_reviews')) { + function woostore_star_reviews() { + return 12; + } +} + +/*-------------------------------------------------------------------------------------------*/ +/* AJAX FRAGMENTS */ +/*-------------------------------------------------------------------------------------------*/ + +// Handle cart in header fragment for ajax add to cart +add_filter('add_to_cart_fragments', 'header_add_to_cart_fragment'); +function header_add_to_cart_fragment( $fragments ) { + global $woocommerce; + + ob_start(); + + woocommerce_cart_link(); + + $fragments['a.cart-button'] = ob_get_clean(); + + return $fragments; + +} + +function woocommerce_cart_link() { + global $woocommerce; + ?> + + + cart->get_cart_total(); ?> + cart->cart_contents_count, 'woothemes'), $woocommerce->cart->cart_contents_count); ?> + + \ No newline at end of file diff --git a/artificer/includes/widgets/widget-woo-adspace.php b/artificer/includes/widgets/widget-woo-adspace.php new file mode 100755 index 0000000..d107019 --- /dev/null +++ b/artificer/includes/widgets/widget-woo-adspace.php @@ -0,0 +1,83 @@ + 'Use this widget to add any type of Ad as a widget.' ); + parent::WP_Widget(false, __('Woo - Adspace Widget', 'woothemes'),$widget_ops); + } + + function widget($args, $instance) { + $settings = $this->woo_get_settings(); + extract( $args, EXTR_SKIP ); + $instance = wp_parse_args( $instance, $settings ); + extract( $instance, EXTR_SKIP ); + echo '
                    '; + + if ( $title != '' ) + echo $before_title . apply_filters( 'widget_title', $title, $instance, $this->id_base ) . $after_title; + + if ( $adcode != '' ) { + echo $adcode; + } else { + ?><?php echo esc_attr( $alt ); ?>'; + } + + function update( $new_instance, $old_instance ) { + foreach ( array( 'title', 'alt', 'image', 'href' ) as $setting ) + $new_instance[$setting] = strip_tags( $new_instance[$setting] ); + // Users without unfiltered_html cannot update this arbitrary HTML field + if ( !current_user_can( 'unfiltered_html' ) ) + $new_instance['adcode'] = $old_instance['adcode']; + return $new_instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + return $settings; + } + + function form($instance) { + $instance = wp_parse_args( $instance, $this->woo_get_settings() ); + extract( $instance, EXTR_SKIP ); +?> +

                    + + +

                    + +

                    + + +

                    +

                    or

                    + +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    + 'This is a WooThemes Blog Author Info widget.' ); + parent::WP_Widget( false, __( 'Woo - Blog Author Info', 'woothemes' ), $widget_ops ); + } + + function widget( $args, $instance ) { + $settings = $this->woo_get_settings(); + extract( $args, EXTR_SKIP ); + $instance = wp_parse_args( $instance, $settings ); + extract( $instance, EXTR_SKIP ); + + // Enforce defaults + foreach ( array( 'avatar_size', 'avatar_align' ) as $setting ) { + if ( !$$setting ) + $$setting = $settings[$setting]; + } + + if ( ( $page == "home" && is_home() ) || ( $page == "single" && is_single() ) || $page == "all" ) { + ?> + + id_base ) . $after_title; } ?> + +

                    + ' . esc_html( $read_more_text ) . '

                    '; ?> +
                    + settings, '' ); + // Now set the more specific defaults + $settings['avatar_size'] = 48; + $settings['avatar_align'] = 'left'; + return $settings; + } + + function form( $instance ) { + $instance = wp_parse_args( $instance, $this->woo_get_settings() ); + extract( $instance, EXTR_SKIP ); + ?> +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    + 'Display the Embed code from posts in tab like fashion.' ); + parent::WP_Widget( false, __( 'Woo - Embed/Video', 'woothemes' ), $widget_ops ); + } + + function widget( $args, $instance ) { + extract( $args, EXTR_SKIP ); + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); + + if ( !empty( $tag ) ) + $myposts = get_posts( "numberposts=$limit&tag=$tag" ); + else + $myposts = get_posts( "numberposts=$limit&cat=$cat_id" ); + + $post_list = ''; + $count = 0; + $active = 'active'; + $display = ''; + + echo $before_widget; + echo $before_title . apply_filters('widget_title', $title, $instance, $this->id_base) . $after_title; + if ( isset( $myposts ) ) { + foreach( $myposts as $mypost ) { + $embed = woo_get_embed( 'embed', $width, $height, 'widget_video', $mypost->ID ); + if ( $embed ) { + $count++; + if ( $count > 1 ) { + $active = ''; + $display = "style='display:none'"; + } + echo '
                    '; + echo '

                    ' . get_the_title( $mypost->ID ) . "

                    \n"; + echo $embed; + $post_list .= "
                  • " . get_the_title( $mypost->ID ) . "
                  • \n"; + echo '
                    '; + } + } + } +?> +
                      + +
                    +woo_enforce_defaults( $new_instance ); + return $new_instance; + } + + function woo_enforce_defaults( $instance ) { + $defaults = $this->woo_get_settings(); + $instance = wp_parse_args( $instance, $defaults ); + $instance['cat_id'] = absint( $instance['cat_id'] ); + if ( $instance['cat_id'] < 1 ) + $instance['cat_id'] = ''; + // Enforce defaults if any of these three are empty + foreach ( array( 'limit', 'width', 'height' ) as $setting ) { + $instance[$setting] = absint( $instance[$setting] ); + if ( $instance[$setting] < 1 ) + $instance[$setting] = $defaults[$setting]; + } + return $instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + $settings['limit'] = 10; + $settings['width'] = 300; + $settings['height'] = 200; + return $settings; + } + + function form( $instance ) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); + ?> +

                    + + +

                    +

                    + + + +

                    +

                    + + +

                    + +

                    + + + W H +

                    + +

                    + + +

                    + + + + + 'This Flickr widget populates photos from a Flickr ID.' ); + parent::WP_Widget( false, __( 'Woo - Flickr', 'woothemes' ), $widget_ops ); + } + + function widget( $args, $instance ) { + extract( $args, EXTR_SKIP ); + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); + + echo $before_widget; + echo $before_title; ?> + flickr', 'woothemes' ); ?> + +
                    + +
                    woo_enforce_defaults( $new_instance ); + return $new_instance; + } + + function woo_enforce_defaults( $instance ) { + $defaults = $this->woo_get_settings(); + $instance = wp_parse_args( $instance, $defaults ); + if ( $instance['limit'] < 1 ) + $instance['limit'] = 1; + elseif ( $instance['limit'] > 10 ) + $instance['limit'] = 10; + $instance['width'] = absint( $instance['width'] ); + if ( $instance['width'] < 1 ) + $instance['width'] = $defaults['width']; + $instance['height'] = absint( $instance['height'] ); + if ( $instance['height'] < 1 ) + $instance['height'] = $defaults['height']; + if ( $instance['sorting'] != 'random' ) + $instance['sorting'] = $defaults['sorting']; + if ( !in_array( $instance['size'], array( 's', 'm', 't' ) ) ) + $instance['size'] = $defaults['size']; + if ( $instance['type'] != 'group' ) + $instance['type'] = $defaults['type']; + return $instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + $settings['limit'] = 10; + $settings['width'] = 300; + $settings['height'] = 200; + $settings['size'] = 's'; + $settings['sorting'] = 'latest'; + $settings['type'] = 'user'; + return $settings; + } + + function form( $instance ) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); +?> +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    + 'This is a WooThemes standardized search widget.' ); + parent::WP_Widget( false, __( 'Woo - Search', 'woothemes' ), $widget_ops ); + } + + function widget( $args, $instance ) { + extract( $args, EXTR_SKIP ); + extract( $instance, EXTR_SKIP ); + echo $before_widget; + if ( $title ) { echo $before_title . apply_filters( 'widget_title', $title, $instance, $this->id_base ) . $after_title; } + include( get_template_directory() . '/search-form.php' ); + echo $after_widget; + } + + function update($new_instance, $old_instance) { + $new_instance['title'] = strip_tags( $new_instance['title'] ); + return $new_instance; + } + + function woo_enforce_defaults( $instance ) { + $defaults = $this->woo_get_settings(); + $instance = wp_parse_args( $instance, $defaults ); + return $instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + return $settings; + } + + function form( $instance ) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); ?> +

                    + + +

                    'Add a subscribe/connect widget.' ); + parent::WP_Widget( false, __( 'Woo - Subscribe / Connect', 'woothemes' ), $widget_ops ); + } + + function widget( $args, $instance ) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $args, EXTR_SKIP ); + extract( $instance, EXTR_SKIP ); + if ( !is_singular() || ($single != 'on' && is_single()) || ($page != 'on' && is_page()) ) { + ?> + + + + woo_enforce_defaults( $new_instance ); + return $new_instance; + } + + function woo_enforce_defaults( $instance ) { + $defaults = $this->woo_get_settings(); + $instance = wp_parse_args( $instance, $defaults ); + $instance['title'] = strip_tags( $instance['title'] ); + if ( '' == $instance['title'] ) + $instance['title'] = __('Subscribe', 'woothemes'); + foreach ( array( 'form', 'social', 'single', 'page' ) as $checkbox ) { + if ( 'on' != $instance[$checkbox] ) + $instance[$checkbox] = ''; + } + return $instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + return $settings; + } + + function form($instance) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); +?> +

                    Setup this widget in your options panel under Subscribe & Connect.

                    +

                    + + +

                    +

                    + > +

                    +

                    + > +

                    +

                    + > +

                    +

                    + > +

                    + 'Add your Twitter feed to your sidebar with this widget.' ); + parent::WP_Widget( false, __( 'Woo - Twitter Stream', 'woothemes' ), $widget_ops); + } + + function widget( $args, $instance ) { + extract( $args, EXTR_SKIP ); + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); + + $unique_id = $args['widget_id']; + echo $before_widget; + if ( $title ) { + echo $before_title . apply_filters( 'widget_title', $title, $instance, $this->id_base ) . $after_title; + } else { + ?>
                    +

                    @

                    woo_enforce_defaults( $new_instance ); + return $new_instance; + } + + function woo_enforce_defaults( $instance ) { + $defaults = $this->woo_get_settings(); + $instance = wp_parse_args( $instance, $defaults ); + $instance['title'] = strip_tags( $instance['title'] ); // Not for security so much as to give them feedback that HTML isn't allowed + $instance['username'] = preg_replace( '|[^a-zA-Z0-9_]|', '', $instance['username'] ); + $instance['limit'] = intval( $instance['limit'] ); + if ( $instance['limit'] < 1 ) + $instance['limit'] = 5; + return $instance; + } + + /** + * Provides an array of the settings with the setting name as the key and the default value as the value + * This cannot be called get_settings() or it will override WP_Widget::get_settings() + */ + function woo_get_settings() { + // Set the default to a blank string + $settings = array_fill_keys( $this->settings, '' ); + // Now set the more specific defaults + $settings['limit'] = 5; + return $settings; + } + + function form( $instance ) { + $instance = $this->woo_enforce_defaults( $instance ); + extract( $instance, EXTR_SKIP ); + ?> +

                    + + +

                    +

                    + + +

                    +

                    + + +

                    + + +
                    + + + +
                    + +

                    + + '; + echo stripslashes( $woo_options['woo_stand_first'] ); + echo '
                    '; + } ?> + + + + + + + +
                    + +
                    "> + + + + 'post', 'paged' => $paged, 'posts_per_page' => 1 ) ); + if ( have_posts() ) : $count = 0; + ?> + + + + + + + + + + +
                    > +

                    +
                    + + + + + +
                    + + + + + + + + + +
                    + + \ No newline at end of file diff --git a/artificer/lang/en_GB.po b/artificer/lang/en_GB.po new file mode 100755 index 0000000..74fe471 --- /dev/null +++ b/artificer/lang/en_GB.po @@ -0,0 +1,2655 @@ +msgid "" +msgstr "" +"Project-Id-Version: Artificer v1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2012-06-06 11:35:08+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Poedit-Language: \n" +"X-Poedit-Country: \n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n" +"X-Poedit-Basepath: \n" +"X-Poedit-Bookmarks: \n" +"X-Poedit-SearchPath-0: .\n" +"X-Textdomain-Support: yes" + +#: 404.php:12 +#@ woothemes +msgid "Error 404 - Page not found!" +msgstr "" + +#: 404.php:15 +#@ woothemes +msgid "The page you trying to reach does not exist, or has been moved. Please use the menus or the search box to find what you are looking for." +msgstr "" + +#: archive.php:13 +#: archive.php:19 +#: archive.php:24 +#: archive.php:29 +#@ woothemes +msgid "Archive" +msgstr "" + +#: archive.php:14 +#@ woothemes +msgid "RSS feed for this section" +msgstr "" + +#: archive.php:34 +#@ woothemes +msgid "Archive by Author" +msgstr "" + +#: archive.php:39 +#@ woothemes +msgid "Tag Archives:" +msgstr "" + +#: archive.php:69 +#: index.php:105 +#: page.php:52 +#: search.php:47 +#: single.php:94 +#: template-blog.php:86 +#: template-fullwidth.php:43 +#@ woothemes +msgid "Sorry, no posts matched your criteria." +msgstr "" + +#: comments.php:19 +#@ woothemes +msgid "This post is password protected. Enter the password to view comments." +msgstr "" + +#: comments.php:31 +#@ woothemes +msgid "No Responses" +msgstr "" + +#: comments.php:31 +#@ woothemes +msgid "One Response" +msgstr "" + +#: comments.php:31 +#@ woothemes +msgid "% Responses" +msgstr "" + +#: comments.php:31 +#@ woothemes +msgid "to" +msgstr "" + +#: comments.php:47 +#@ woothemes +msgid "Trackbacks/Pingbacks" +msgstr "" + +#: comments.php:64 +#@ woothemes +msgid "No comments yet." +msgstr "" + +#: content.php:41 +#: content.php:47 +#: template-blog.php:74 +#@ woothemes +msgid "Continue Reading →" +msgstr "" + +#: content.php:46 +#: template-blog.php:72 +#: template-timeline.php:82 +#@ woothemes +msgid "Leave a comment" +msgstr "" + +#: content.php:46 +#: template-blog.php:72 +#@ woothemes +msgid "1 Comment" +msgstr "" + +#: content.php:46 +#: template-blog.php:72 +#@ woothemes +msgid "% Comments" +msgstr "" + +#: content.php:47 +#@ woothemes +msgid "Continue Reading" +msgstr "" + +#: footer.php:48 +#@ woothemes +msgid "All Rights Reserved." +msgstr "" + +#: footer.php:58 +#@ woothemes +msgid "Powered by" +msgstr "" + +#: footer.php:58 +#@ woothemes +msgid "Designed by" +msgstr "" + +#: functions/admin-backup.php:73 +#@ woothemes +msgid "WooThemes Settings Backup" +msgstr "" + +#: functions/admin-backup.php:73 +#: functions/admin-backup.php:103 +#: functions/admin-framework-settings.php:53 +#@ woothemes +msgid "Backup Settings" +msgstr "" + +#: functions/admin-backup.php:105 +#@ woothemes +msgid "Import Settings" +msgstr "" + +#: functions/admin-backup.php:107 +#@ woothemes +msgid "If you have settings in a backup file on your computer, the WooFramework can import those into this site. To get started, upload your backup file to import from below." +msgstr "" + +#: functions/admin-backup.php:112 +#, php-format +#@ woothemes +msgid "Upload File: (Maximum Size: %s)" +msgstr "" + +#: functions/admin-backup.php:115 +#@ woothemes +msgid "Upload File and Import" +msgstr "" + +#: functions/admin-backup.php:119 +#@ woothemes +msgid "Export Settings" +msgstr "" + +#: functions/admin-backup.php:121 +#@ woothemes +msgid "When you click the button below, the WooFramework will create a text file for you to save to your computer." +msgstr "" + +#: functions/admin-backup.php:122 +#, php-format +#@ woothemes +msgid "This text file can be used to restore your settings here on \"%s\", or to easily setup another website with the same settings\"." +msgstr "" + +#: functions/admin-backup.php:126 +#@ woothemes +msgid "All Settings" +msgstr "" + +#: functions/admin-backup.php:127 +#@ woothemes +msgid "This will contain all of the options listed below." +msgstr "" + +#: functions/admin-backup.php:129 +#: functions/admin-functions.php:3264 +#: functions/admin-interface.php:187 +#@ woothemes +msgid "Theme Options" +msgstr "" + +#: functions/admin-backup.php:131 +#@ woothemes +msgid "SEO Settings" +msgstr "" + +#: functions/admin-backup.php:133 +#: functions/admin-framework-settings.php:47 +#: functions/admin-functions.php:3268 +#@ woothemes +msgid "Sidebar Manager" +msgstr "" + +#: functions/admin-backup.php:133 +#@ woothemes +msgid "This will contain only the custom sidebars themselves and not the widgets within them" +msgstr "" + +#: functions/admin-backup.php:135 +#: functions/admin-functions.php:3274 +#: functions/admin-interface.php:192 +#@ woothemes +msgid "Framework Settings" +msgstr "" + +#: functions/admin-backup.php:138 +#@ woothemes +msgid "Download Export File" +msgstr "" + +#: functions/admin-backup.php:161 +#@ woothemes +msgid "Welcome to the WooThemes Backup Manager." +msgstr "" + +#: functions/admin-backup.php:162 +#@ woothemes +msgid "Here are a few notes on using this screen." +msgstr "" + +#: functions/admin-backup.php:163 +#@ woothemes +msgid "The backup manager allows you to backup or restore your \"Theme Options\" and other settings to or from a text file." +msgstr "" + +#: functions/admin-backup.php:164 +#@ woothemes +msgid "To create a backup, simply select the setting type you'd like to backup (or \"All Settings\") and hit the \"Download Export File\" button." +msgstr "" + +#: functions/admin-backup.php:165 +#@ woothemes +msgid "To restore your settings from a backup, browse your computer for the file (under the \"Import Settings\" heading) and hit the \"Upload File and Import\" button. This will restore only the settings that have changed since the backup." +msgstr "" + +#: functions/admin-backup.php:167 +#@ woothemes +msgid "Please note that only valid backup files generated through the WooThemes Backup Manager should be imported." +msgstr "" + +#: functions/admin-backup.php:169 +#@ woothemes +msgid "Looking for assistance?" +msgstr "" + +#: functions/admin-backup.php:170 +#, php-format +#@ woothemes +msgid "Please post your query on the %sWooThemes Support Forums%s where we will do our best to assist you further." +msgstr "" + +#: functions/admin-backup.php:190 +#, php-format +#@ woothemes +msgid "Please note that this backup manager backs up only your settings and not your content. To backup your content, please use the %sWordPress Export Tool%s." +msgstr "" + +#: functions/admin-backup.php:193 +#@ woothemes +msgid "There was a problem importing your settings. Please Try again." +msgstr "" + +#: functions/admin-backup.php:195 +#@ woothemes +msgid "There was a problem exporting your settings. Please Try again." +msgstr "" + +#: functions/admin-backup.php:197 +#@ woothemes +msgid "The import file you've provided is invalid. Please try again." +msgstr "" + +#: functions/admin-backup.php:199 +#, php-format +#@ woothemes +msgid "Settings successfully imported. | Return to %sTheme Options%s" +msgstr "" + +#: functions/admin-custom-nav.php:2125 +#@ woothemes +msgid "Woo - Custom Nav Menu" +msgstr "" + +#: functions/admin-custom-nav.php:2314 +#@ woothemes +msgid "Select Menu:" +msgstr "" + +#: functions/admin-custom-nav.php:2340 +#: includes/widgets/widget-woo-blogauthor.php:65 +#: includes/widgets/widget-woo-embed.php:95 +#: includes/widgets/widget-woo-search.php:48 +#@ woothemes +msgid "Title:" +msgstr "" + +#: functions/admin-custom-nav.php:2349 +#@ woothemes +msgid "Advanced Options:" +msgstr "" + +#: functions/admin-custom-nav.php:2369 +#@ woothemes +msgid "Wrap in container DIV:" +msgstr "" + +#: functions/admin-custom-nav.php:2382 +#@ woothemes +msgid "Wrap in container UL:" +msgstr "" + +#: functions/admin-custom-nav.php:2397 +#@ woothemes +msgid "Show Top Level Descriptions:" +msgstr "" + +#: functions/admin-custom-nav.php:2417 +#@ woothemes +msgid "The Custom Menu has not been configured correctly. Please check your theme settings before adding this widget." +msgstr "" + +#: functions/admin-custom.php:85 +#: includes/theme-options.php:49 +#: includes/theme-options.php:70 +#@ woothemes +msgid "General Settings" +msgstr "" + +#: functions/admin-custom.php:88 +#: functions/admin-framework-settings.php:41 +#@ woothemes +msgid "SEO" +msgstr "" + +#: functions/admin-custom.php:406 +#: functions/admin-interface.php:1446 +#@ woothemes +msgid "@" +msgstr "" + +#: functions/admin-custom.php:624 +#@ woothemes +msgid " Custom Settings" +msgstr "" + +#: functions/admin-express-functions-deprecated.php:194 +#: functions/admin-express-functions.php:210 +#@ woothemes +msgid "You are not allowed to upload files to this site." +msgstr "" + +#: functions/admin-express-functions-deprecated.php:220 +#: functions/admin-express-functions.php:236 +#, php-format +#@ woothemes +msgid "Could not write file %1$s (%2$s)" +msgstr "" + +#: functions/admin-framework-settings.php:29 +#@ woothemes +msgid "Admin Settings" +msgstr "" + +#: functions/admin-framework-settings.php:33 +#@ woothemes +msgid "Super User (username)" +msgstr "" + +#: functions/admin-framework-settings.php:34 +#, php-format +#@ woothemes +msgid "Enter your %s to hide the Framework Settings and Update Framework from other users. Can be reset from the %s under %s." +msgstr "" + +#: functions/admin-framework-settings.php:34 +#@ woothemes +msgid "username" +msgstr "" + +#: functions/admin-framework-settings.php:34 +#@ woothemes +msgid "WP options page" +msgstr "" + +#: functions/admin-framework-settings.php:40 +#@ woothemes +msgid "Disable SEO Menu Item" +msgstr "" + +#: functions/admin-framework-settings.php:41 +#: functions/admin-framework-settings.php:47 +#: functions/admin-framework-settings.php:53 +#: functions/admin-framework-settings.php:59 +#, php-format +#@ woothemes +msgid "Disable the %s menu item in the theme menu." +msgstr "" + +#: functions/admin-framework-settings.php:46 +#@ woothemes +msgid "Disable Sidebar Manager Menu Item" +msgstr "" + +#: functions/admin-framework-settings.php:52 +#@ woothemes +msgid "Disable Backup Settings Menu Item" +msgstr "" + +#: functions/admin-framework-settings.php:58 +#@ woothemes +msgid "Disable Buy Themes Menu Item" +msgstr "" + +#: functions/admin-framework-settings.php:59 +#: functions/admin-interface.php:234 +#@ woothemes +msgid "Buy Themes" +msgstr "" + +#: functions/admin-framework-settings.php:64 +#@ woothemes +msgid "Enable Custom Navigation" +msgstr "" + +#: functions/admin-framework-settings.php:65 +#, php-format +#@ woothemes +msgid "Enable the old %s menu item. Try to use %s instead, as this function is outdated." +msgstr "" + +#: functions/admin-framework-settings.php:65 +#@ woothemes +msgid "Custom Navigation" +msgstr "" + +#: functions/admin-framework-settings.php:65 +#@ woothemes +msgid "WP Menus" +msgstr "" + +#: functions/admin-framework-settings.php:70 +#@ woothemes +msgid "Theme Update Notification" +msgstr "" + +#: functions/admin-framework-settings.php:71 +#@ woothemes +msgid "This will enable notices on your theme options page that there is an update available for your theme." +msgstr "" + +#: functions/admin-framework-settings.php:76 +#@ woothemes +msgid "WooFramework Update Notification" +msgstr "" + +#: functions/admin-framework-settings.php:77 +#@ woothemes +msgid "This will enable notices on your theme options page that there is an update available for the WooFramework." +msgstr "" + +#: functions/admin-framework-settings.php:82 +#@ woothemes +msgid "Theme Settings" +msgstr "" + +#: functions/admin-framework-settings.php:86 +#@ woothemes +msgid "Remove Generator Meta Tags" +msgstr "" + +#: functions/admin-framework-settings.php:87 +#@ woothemes +msgid "This disables the output of generator meta tags in the HEAD section of your site." +msgstr "" + +#: functions/admin-framework-settings.php:92 +#@ woothemes +msgid "Image Placeholder" +msgstr "" + +#: functions/admin-framework-settings.php:93 +#@ woothemes +msgid "Set a default image placeholder for your thumbnails. Use this if you want a default image to be shown if you haven't added a custom image to your post." +msgstr "" + +#: functions/admin-framework-settings.php:98 +#@ woothemes +msgid "Disable Shortcodes Stylesheet" +msgstr "" + +#: functions/admin-framework-settings.php:99 +#@ woothemes +msgid "This disables the output of shortcodes.css in the HEAD section of your site." +msgstr "" + +#: functions/admin-framework-settings.php:104 +#@ woothemes +msgid "Output \"Tracking Code\" Option in Header" +msgstr "" + +#: functions/admin-framework-settings.php:105 +#, php-format +#@ woothemes +msgid "This will output the %s option in your header instead of the footer of your website." +msgstr "" + +#: functions/admin-framework-settings.php:105 +#: includes/theme-options.php:87 +#@ woothemes +msgid "Tracking Code" +msgstr "" + +#: functions/admin-framework-settings.php:110 +#@ woothemes +msgid "Branding" +msgstr "" + +#: functions/admin-framework-settings.php:114 +#@ woothemes +msgid "Options panel header" +msgstr "" + +#: functions/admin-framework-settings.php:115 +#@ woothemes +msgid "Change the header image for the WooThemes Backend." +msgstr "" + +#: functions/admin-framework-settings.php:120 +#@ woothemes +msgid "Options panel icon" +msgstr "" + +#: functions/admin-framework-settings.php:121 +#@ woothemes +msgid "Change the icon image for the WordPress backend sidebar." +msgstr "" + +#: functions/admin-framework-settings.php:126 +#@ woothemes +msgid "WordPress login logo" +msgstr "" + +#: functions/admin-framework-settings.php:127 +#@ woothemes +msgid "Change the logo image for the WordPress login page." +msgstr "" + +#: functions/admin-framework-settings.php:132 +#@ woothemes +msgid "WordPress login URL" +msgstr "" + +#: functions/admin-framework-settings.php:133 +#@ woothemes +msgid "Change the URL that the logo image on the WordPress login page links to." +msgstr "" + +#: functions/admin-framework-settings.php:139 +#@ woothemes +msgid "WordPress login logo Title" +msgstr "" + +#: functions/admin-framework-settings.php:140 +#@ woothemes +msgid "Change the title of the logo image on the WordPress login page." +msgstr "" + +#: functions/admin-framework-settings.php:165 +#@ woothemes +msgid "WordPress Toolbar" +msgstr "" + +#: functions/admin-framework-settings.php:169 +#@ woothemes +msgid "Disable WordPress Toolbar" +msgstr "" + +#: functions/admin-framework-settings.php:170 +#@ woothemes +msgid "Disable the WordPress Toolbar." +msgstr "" + +#: functions/admin-framework-settings.php:175 +#@ woothemes +msgid "Enable the WooFramework Toolbar enhancements" +msgstr "" + +#: functions/admin-framework-settings.php:176 +#@ woothemes +msgid "Enable several WooFramework-specific enhancements to the WordPress Toolbar, such as custom navigation items for \"Theme Options\"." +msgstr "" + +#: functions/admin-framework-settings.php:185 +#@ woothemes +msgid "PressTrends" +msgstr "" + +#: functions/admin-framework-settings.php:189 +#@ woothemes +msgid "Enable PressTrends Tracking" +msgstr "" + +#: functions/admin-framework-settings.php:190 +#@ woothemes +msgid "Enable sending of usage data to PressTrends." +msgstr "" + +#: functions/admin-framework-settings.php:195 +#@ woothemes +msgid "What is PressTrends?" +msgstr "" + +#: functions/admin-framework-settings.php:198 +#, php-format +#@ woothemes +msgid "PressTrends is a simple usage tracker that allows us to see how our customers are using WooThemes themes - so that we can help improve them for you. %sNone%s of your personal data is sent to PressTrends.%sFor more information, please view the PressTrends %s." +msgstr "" + +#: functions/admin-framework-settings.php:198 +#@ woothemes +msgid "privacy policy" +msgstr "" + +#: functions/admin-framework-settings.php:207 +#: functions/admin-interface.php:345 +#@ woothemes +msgid "Options Updated" +msgstr "" + +#: functions/admin-framework-settings.php:208 +#: functions/admin-interface.php:346 +#@ woothemes +msgid "Options Reset" +msgstr "" + +#: functions/admin-framework-settings.php:236 +#, php-format +#@ woothemes +msgid "Framework %s" +msgstr "" + +#: functions/admin-framework-settings.php:242 +#: functions/admin-interface.php:384 +#@ woothemes +msgid "View Changelog" +msgstr "" + +#: functions/admin-framework-settings.php:243 +#: functions/admin-interface.php:385 +#@ woothemes +msgid "View Themedocs" +msgstr "" + +#: functions/admin-framework-settings.php:244 +#: functions/admin-interface.php:386 +#@ woothemes +msgid "Visit Forum" +msgstr "" + +#: functions/admin-framework-settings.php:245 +#: functions/admin-framework-settings.php:263 +#@ woothemes +msgid "Working..." +msgstr "" + +#: functions/admin-framework-settings.php:245 +#: functions/admin-framework-settings.php:264 +#@ woothemes +msgid "Save All Changes" +msgstr "" + +#: functions/admin-framework-settings.php:285 +#@ woothemes +msgid "Reset Options" +msgstr "" + +#: functions/admin-framework-settings.php:285 +#@ woothemes +msgid "Click OK to reset. Any settings will be lost!" +msgstr "" + +#: functions/admin-functions.php:1052 +#@ woothemes +msgid "less than a minute ago" +msgstr "" + +#: functions/admin-functions.php:1054 +#@ woothemes +msgid "about a minute ago" +msgstr "" + +#: functions/admin-functions.php:1056 +#@ woothemes +msgid "minutes ago" +msgstr "" + +#: functions/admin-functions.php:1060 +#@ woothemes +msgid "hours ago" +msgstr "" + +#: functions/admin-functions.php:1064 +#@ woothemes +msgid "days ago" +msgstr "" + +#: functions/admin-functions.php:1550 +#, php-format +#@ woothemes +msgid "Page %s" +msgstr "" + +#: functions/admin-functions.php:1666 +#@ woothemes +msgid "Search Results" +msgstr "" + +#: functions/admin-functions.php:1667 +#@ woothemes +msgid "Author Archives" +msgstr "" + +#: functions/admin-functions.php:1670 +#@ woothemes +msgid "Category Archive" +msgstr "" + +#: functions/admin-functions.php:1671 +#: functions/admin-functions.php:1676 +#@ woothemes +msgid " Archive" +msgstr "" + +#: functions/admin-functions.php:1672 +#@ woothemes +msgid "Daily Archive" +msgstr "" + +#: functions/admin-functions.php:1673 +#@ woothemes +msgid "Monthly Archive" +msgstr "" + +#: functions/admin-functions.php:1674 +#@ woothemes +msgid "Yearly Archive" +msgstr "" + +#: functions/admin-functions.php:1675 +#@ woothemes +msgid "Tag Archive" +msgstr "" + +#: functions/admin-functions.php:2476 +#@ woothemes +msgid "More WooThemes" +msgstr "" + +#: functions/admin-functions.php:2478 +#@ woothemes +msgid "Join the WooThemes Club" +msgstr "" + +#: functions/admin-functions.php:2479 +#@ woothemes +msgid "Themes Gallery" +msgstr "" + +#: functions/admin-functions.php:2480 +#@ woothemes +msgid "Theme Showcase" +msgstr "" + +#: functions/admin-functions.php:2496 +#, php-format +#@ woothemes +msgid "An error has occured with the RSS feed. (%s)" +msgstr "" + +#: functions/admin-functions.php:2665 +#@ woothemes +msgid "« Previous" +msgstr "" + +#: functions/admin-functions.php:2666 +#@ woothemes +msgid "Next »" +msgstr "" + +#: functions/admin-functions.php:2793 +#@ woothemes +msgid "You are here:" +msgstr "" + +#: functions/admin-functions.php:2796 +#: header.php:93 +#: includes/theme-functions.php:579 +#: includes/theme-woocommerce.php:224 +#@ woothemes +#@ default +msgid "Home" +msgstr "" + +#: functions/admin-functions.php:2961 +#@ woothemes +msgid "g:i a" +msgstr "" + +#: functions/admin-functions.php:2964 +#, php-format +#@ woothemes +msgid "Minute %1$s" +msgstr "" + +#: functions/admin-functions.php:2964 +#@ woothemes +msgid "i" +msgstr "" + +#: functions/admin-functions.php:2967 +#@ woothemes +msgid "g a" +msgstr "" + +#: functions/admin-functions.php:2978 +#: functions/admin-functions.php:2984 +#: functions/admin-functions.php:2989 +#: functions/admin-functions.php:2994 +#@ woothemes +msgid "Y" +msgstr "" + +#: functions/admin-functions.php:2979 +#: functions/admin-functions.php:2990 +#@ woothemes +msgid "F" +msgstr "" + +#: functions/admin-functions.php:2980 +#@ woothemes +msgid "j" +msgstr "" + +#: functions/admin-functions.php:2985 +#, php-format +#@ woothemes +msgid "Week %1$s" +msgstr "" + +#: functions/admin-functions.php:2985 +#@ woothemes +msgid "W" +msgstr "" + +#: functions/admin-functions.php:3001 +#, php-format +#@ woothemes +msgid "Search results for "%1$s"" +msgstr "" + +#: functions/admin-functions.php:3005 +#@ woothemes +msgid "404 Not Found" +msgstr "" + +#: functions/admin-functions.php:3253 +#@ woothemes +msgid "WooThemes" +msgstr "" + +#: functions/admin-functions.php:3277 +#@ woothemes +msgid "Update Framework" +msgstr "" + +#: functions/admin-functions.php:3792 +#@ woothemes +msgid "Enhance your theme with WooDojo." +msgstr "" + +#: functions/admin-functions.php:3793 +#@ woothemes +msgid "WooDojo is powerful WooThemes features suit for enhancing your website. Learn more." +msgstr "" + +#: functions/admin-functions.php:3794 +#@ woothemes +msgid "Get WooDojo" +msgstr "" + +#: functions/admin-functions.php:3795 +#: functions/admin-functions.php:3816 +#@ woothemes +msgid "Close" +msgstr "" + +#: functions/admin-functions.php:3813 +#: functions/admin-functions.php:3815 +#@ woothemes +msgid "Enable PressTrends" +msgstr "" + +#: functions/admin-functions.php:3814 +#, php-format +#@ woothemes +msgid "PressTrends is a simple usage tracker that allows us to see how our customers are using WooThemes themes - so that we can help improve them for you. %sNone%s of your personal data is sent to PressTrends." +msgstr "" + +#: functions/admin-functions.php:3829 +#@ woothemes +msgid "You do not have sufficient permissions to access this page." +msgstr "" + +#: functions/admin-functions.php:3831 +#@ woothemes +msgid "You have taken too long. Please go back and retry." +msgstr "" + +#: functions/admin-interface.php:234 +#@ woothemes +msgid "Available WooThemes" +msgstr "" + +#: functions/admin-interface.php:374 +#@ woothemes +msgid "Framework" +msgstr "" + +#: functions/admin-interface.php:915 +#@ woothemes +msgid "Options Saved Successfully" +msgstr "" + +#: functions/admin-interface.php:919 +#@ woothemes +msgid "There was an error while saving your options. Please try again." +msgstr "" + +#: functions/admin-interface.php:923 +#@ woothemes +msgid "Options Reset Successfully" +msgstr "" + +#: functions/admin-interface.php:1550 +#@ woothemes +msgid "You are not able to update this option because you lack the unfiltered_html capability." +msgstr "" + +#: functions/admin-interface.php:1693 +#@ woothemes +msgid "New Version" +msgstr "" + +#: functions/admin-interface.php:1694 +#@ woothemes +msgid "New Feature" +msgstr "" + +#: functions/admin-interface.php:1695 +#@ woothemes +msgid "Bugfix" +msgstr "" + +#: functions/admin-interface.php:1719 +#@ woothemes +msgid "Theme update is available" +msgstr "" + +#: functions/admin-interface.php:1719 +#@ woothemes +msgid "Get the new version" +msgstr "" + +#: functions/admin-interface.php:1719 +#, php-format +#@ woothemes +msgid "Update Type: %s" +msgstr "" + +#: functions/admin-interface.php:1785 +#, php-format +#@ woothemes +msgid "Theme update is available (v%s). %sDownload new version%s (%sSee Changelog%s)" +msgstr "" + +#: functions/admin-interface.php:1813 +#, php-format +#@ woothemes +msgid "WooFramework update is available (v%s). %sDownload new version%s (%sSee Changelog%s)" +msgstr "" + +#: functions/admin-interface.php:1861 +#, php-format +#@ woothemes +msgid "An important WooFramework update is available (v%s). %sDownload new version%s (%sSee Changelog%s)" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:47 +#@ woothemes +msgid "WooFramework Internal Container" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:151 +#@ woothemes +msgid "Upload" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:177 +#@ woothemes +msgid "View File" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:312 +#@ woothemes +msgid "Gallery" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:312 +#@ woothemes +msgid "Previously Uploaded" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:329 +#@ woothemes +msgid "Use this Image" +msgstr "" + +#: functions/admin-medialibrary-uploader.php:330 +#, php-format +#@ woothemes +msgid "Use as %s" +msgstr "" + +#: functions/admin-shortcodes.php:405 +#@ woothemes +msgid "No related posts found" +msgstr "" + +#: functions/admin-shortcodes.php:944 +#@ woothemes +msgid "Hide the Content" +msgstr "" + +#: functions/admin-shortcodes.php:945 +#@ woothemes +msgid "Show the Content" +msgstr "" + +#: functions/admin-shortcodes.php:952 +#@ woothemes +msgid "Read More" +msgstr "" + +#: functions/admin-shortcodes.php:953 +#@ woothemes +msgid "Read Less" +msgstr "" + +#: functions/admin-shortcodes.php:1064 +#@ woothemes +msgid "Message via the contact form" +msgstr "" + +#: functions/admin-shortcodes.php:1065 +#: includes/theme-functions.php:216 +#: includes/theme-functions.php:225 +#: template-contact.php:209 +#@ woothemes +msgid "Submit" +msgstr "" + +#: functions/admin-shortcodes.php:1362 +#@ woothemes +msgid "Please enter your name" +msgstr "" + +#: functions/admin-shortcodes.php:1363 +#@ woothemes +msgid "Please enter your email address (and please make sure it's valid)" +msgstr "" + +#: functions/admin-shortcodes.php:1364 +#@ woothemes +msgid "Please enter your message" +msgstr "" + +#: functions/admin-shortcodes.php:1429 +#: functions/admin-shortcodes.php:1435 +#: template-contact.php:61 +#: template-contact.php:67 +#@ woothemes +msgid "From: " +msgstr "" + +#: functions/admin-shortcodes.php:1429 +#: functions/admin-shortcodes.php:1435 +#: template-contact.php:61 +#@ woothemes +msgid "Reply-To: " +msgstr "" + +#: functions/admin-shortcodes.php:1454 +#: template-contact.php:125 +#@ woothemes +msgid "Your email was successfully sent." +msgstr "" + +#: functions/admin-shortcodes.php:1460 +#@ woothemes +msgid "There were one or more errors while submitting the form." +msgstr "" + +#: functions/admin-shortcodes.php:1465 +#: template-contact.php:180 +#@ woothemes +msgid "E-mail has not been setup properly. Please add your contact e-mail!" +msgstr "" + +#: functions/admin-shortcodes.php:1484 +#: includes/theme-functions.php:294 +#: template-contact.php:187 +#@ woothemes +#@ default +msgid "Name" +msgstr "" + +#: functions/admin-shortcodes.php:1493 +#: includes/theme-functions.php:298 +#: template-contact.php:194 +#@ woothemes +#@ default +msgid "Email" +msgstr "" + +#: functions/admin-shortcodes.php:1502 +#: template-contact.php:201 +#@ woothemes +msgid "Message" +msgstr "" + +#: functions/admin-shortcodes.php:1620 +#: template-contact.php:207 +#@ woothemes +msgid "Send a copy of this email to yourself" +msgstr "" + +#: functions/admin-shortcodes.php:1627 +#: template-contact.php:208 +#@ woothemes +msgid "If you want to submit this form, do not enter anything in this field" +msgstr "" + +#: functions/admin-shortcodes.php:1998 +#: functions/admin-shortcodes.php:2048 +#: functions/admin-shortcodes.php:2064 +#, php-format +#@ woothemes +msgid "My %s Profile" +msgstr "" + +#: functions/admin-shortcodes.php:2019 +#@ woothemes +msgid "Subscribe to our RSS feed" +msgstr "" + +#: functions/admin-shortcodes.php:2365 +#: includes/widgets/widget-woo-twitter.php:26 +#@ woothemes +msgid "Follow" +msgstr "" + +#: functions/admin-shortcodes.php:2484 +#@ woothemes +msgid "Pin It" +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:52 +#@ woothemes +msgid "Customize the Shortcode" +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:67 +#@ woothemes +msgid "Ninja Trouble" +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:70 +#, php-format +#@ woothemes +msgid "Your version of the WooFramework (%s) does not yet support shortcodes. Shortcodes were introduced with version %s of the framework." +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:72 +#: functions/js/shortcode-generator/dialog.php:86 +#@ woothemes +msgid "What to do now?" +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:74 +#@ woothemes +msgid "Upgrading your theme, or rather the WooFramework portion of it, will do the trick." +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:76 +#, php-format +#@ woothemes +msgid "The framework is a collection of functionality that all WooThemes have in common. In most cases you can update the framework even if you have modified your theme, because the framework resides in a separate location (under %s)." +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:78 +#, php-format +#@ woothemes +msgid "There's a tutorial on how to do this on WooThemes.com: %sHow to upgradeyour theme%s." +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:80 +#@ woothemes +msgid "Remember: Every Ninja has a backup plan. Safe or not, always backup your theme before you update it or make changes to it." +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:84 +#@ woothemes +msgid "Looks like your active theme is not from WooThemes. The shortcode generator only works with themes from WooThemes." +msgstr "" + +#: functions/js/shortcode-generator/dialog.php:88 +#@ woothemes +msgid "Pick a fight: (1) If you already have a theme from WooThemes, install and activate it or (2) if you don't yet have one of the awesome WooThemes head over to the WooThemes Gallery and get one." +msgstr "" + +#: header.php:82 +#@ woothemes +msgid "Main navigation" +msgstr "" + +#: includes/theme-comments.php:20 +#@ woothemes +msgid "at" +msgstr "" + +#: includes/theme-comments.php:21 +#@ woothemes +msgid "Direct link to this comment" +msgstr "" + +#: includes/theme-comments.php:21 +#@ woothemes +msgid "Permalink" +msgstr "" + +#: includes/theme-comments.php:22 +#: includes/theme-functions.php:157 +#@ woothemes +msgid "Edit" +msgstr "" + +#: includes/theme-comments.php:29 +#@ woothemes +msgid "Your comment is awaiting moderation." +msgstr "" + +#: includes/theme-functions.php:87 +#@ woothemes +msgid "Primary Menu" +msgstr "" + +#: includes/theme-functions.php:88 +#@ woothemes +msgid "Top Menu" +msgstr "" + +#: includes/theme-functions.php:124 +#@ woothemes +msgid " Older posts" +msgstr "" + +#: includes/theme-functions.php:125 +#@ woothemes +msgid "Newer posts " +msgstr "" + +#: includes/theme-functions.php:175 +#: includes/theme-functions.php:205 +#: includes/widgets/widget-woo-subscribe.php:36 +#@ woothemes +msgid "Subscribe" +msgstr "" + +#: includes/theme-functions.php:177 +#@ woothemes +msgid "Subscribe to our e-mail newsletter to receive updates." +msgstr "" + +#: includes/theme-functions.php:212 +#: includes/theme-functions.php:224 +#@ woothemes +msgid "E-mail" +msgstr "" + +#: includes/theme-functions.php:265 +#@ woothemes +msgid "Related Posts:" +msgstr "" + +#: includes/theme-functions.php:287 +#@ woothemes +msgid "Required" +msgstr "" + +#: includes/theme-functions.php:302 +#@ default +msgid "Website" +msgstr "" + +#: includes/theme-functions.php:322 +#@ woothemes +msgid "Submit Comment" +msgstr "" + +#: includes/theme-functions.php:323 +#@ woothemes +msgid "Click here to cancel reply." +msgstr "" + +#: includes/theme-options.php:53 +#@ woothemes +msgid "Quick Start" +msgstr "" + +#: includes/theme-options.php:56 +#@ woothemes +msgid "Theme Stylesheet" +msgstr "" + +#: includes/theme-options.php:57 +#@ woothemes +msgid "Select your themes alternative color scheme." +msgstr "" + +#: includes/theme-options.php:63 +#@ woothemes +msgid "Custom Logo" +msgstr "" + +#: includes/theme-options.php:64 +#@ woothemes +msgid "Upload a logo for your theme, or specify an image URL directly." +msgstr "" + +#: includes/theme-options.php:69 +#@ woothemes +msgid "Text Title" +msgstr "" + +#: includes/theme-options.php:70 +#, php-format +#@ woothemes +msgid "Enable text-based Site Title and Tagline. Setup title & tagline in %1$s." +msgstr "" + +#: includes/theme-options.php:75 +#@ woothemes +msgid "Site Description" +msgstr "" + +#: includes/theme-options.php:76 +#@ woothemes +msgid "Enable the site description/tagline under site title." +msgstr "" + +#: includes/theme-options.php:81 +#@ woothemes +msgid "Custom Favicon" +msgstr "" + +#: includes/theme-options.php:82 +#@ woothemes +msgid "Upload a 16px x 16px ico image that will represent your website's favicon." +msgstr "" + +#: includes/theme-options.php:88 +#@ woothemes +msgid "Paste your Google Analytics (or other) tracking code here. This will be added into the footer template of your theme." +msgstr "" + +#: includes/theme-options.php:93 +#@ woothemes +msgid "Subscription Settings" +msgstr "" + +#: includes/theme-options.php:96 +#@ woothemes +msgid "RSS URL" +msgstr "" + +#: includes/theme-options.php:97 +#@ woothemes +msgid "Enter your preferred RSS URL. (Feedburner or other)" +msgstr "" + +#: includes/theme-options.php:102 +#@ woothemes +msgid "E-Mail Subscription URL" +msgstr "" + +#: includes/theme-options.php:103 +#@ woothemes +msgid "Enter your preferred E-mail subscription URL. (Feedburner or other)" +msgstr "" + +#: includes/theme-options.php:108 +#@ woothemes +msgid "Contact Form E-Mail" +msgstr "" + +#: includes/theme-options.php:109 +#@ woothemes +msgid "Enter your E-mail address to use on the Contact Form Page Template. Add the contact form by adding a new page and selecting \"Contact Form\" as page template." +msgstr "" + +#: includes/theme-options.php:114 +#@ woothemes +msgid "Display Options" +msgstr "" + +#: includes/theme-options.php:117 +#@ woothemes +msgid "Custom CSS" +msgstr "" + +#: includes/theme-options.php:118 +#@ woothemes +msgid "Quickly add some CSS to your theme by adding it to this block." +msgstr "" + +#: includes/theme-options.php:123 +#@ woothemes +msgid "Post/Page Comments" +msgstr "" + +#: includes/theme-options.php:124 +#@ woothemes +msgid "Select if you want to enable/disable comments on posts and/or pages." +msgstr "" + +#: includes/theme-options.php:128 +#@ woothemes +msgid "Posts Only" +msgstr "" + +#: includes/theme-options.php:128 +#@ woothemes +msgid "Pages Only" +msgstr "" + +#: includes/theme-options.php:128 +#@ woothemes +msgid "Pages / Posts" +msgstr "" + +#: includes/theme-options.php:128 +#@ woothemes +msgid "None" +msgstr "" + +#: includes/theme-options.php:130 +#@ woothemes +msgid "Post Content" +msgstr "" + +#: includes/theme-options.php:131 +#@ woothemes +msgid "Select if you want to show the full content or the excerpt on posts." +msgstr "" + +#: includes/theme-options.php:134 +#@ woothemes +msgid "The Excerpt" +msgstr "" + +#: includes/theme-options.php:134 +#@ woothemes +msgid "Full Content" +msgstr "" + +#: includes/theme-options.php:136 +#@ woothemes +msgid "Post Author Box" +msgstr "" + +#: includes/theme-options.php:137 +#, php-format +#@ woothemes +msgid "This will enable the post author box on the single posts page. Edit description in %1$s." +msgstr "" + +#: includes/theme-options.php:137 +#@ woothemes +msgid "Profile" +msgstr "" + +#: includes/theme-options.php:142 +#@ woothemes +msgid "Display Breadcrumbs" +msgstr "" + +#: includes/theme-options.php:143 +#@ woothemes +msgid "Display dynamic breadcrumbs on each page of your website." +msgstr "" + +#: includes/theme-options.php:148 +#@ woothemes +msgid "Display Pagination" +msgstr "" + +#: includes/theme-options.php:149 +#@ woothemes +msgid "Display pagination on the blog." +msgstr "" + +#: includes/theme-options.php:154 +#@ woothemes +msgid "Pagination Style" +msgstr "" + +#: includes/theme-options.php:155 +#@ woothemes +msgid "Select the style of pagination you would like to use on the blog." +msgstr "" + +#: includes/theme-options.php:158 +#@ woothemes +msgid "Numbers" +msgstr "" + +#: includes/theme-options.php:158 +#@ woothemes +msgid "Next/Previous" +msgstr "" + +#: includes/theme-options.php:161 +#@ woothemes +msgid "Styling Options" +msgstr "" + +#: includes/theme-options.php:165 +#@ woothemes +msgid "Background" +msgstr "" + +#: includes/theme-options.php:168 +#@ woothemes +msgid "Body Background Color" +msgstr "" + +#: includes/theme-options.php:169 +#@ woothemes +msgid "Pick a custom color for background color of the theme e.g. #697e09" +msgstr "" + +#: includes/theme-options.php:174 +#@ woothemes +msgid "Body background image" +msgstr "" + +#: includes/theme-options.php:175 +#@ woothemes +msgid "Upload an image for the theme's background" +msgstr "" + +#: includes/theme-options.php:180 +#@ woothemes +msgid "Background image repeat" +msgstr "" + +#: includes/theme-options.php:181 +#@ woothemes +msgid "Select how you would like to repeat the background-image" +msgstr "" + +#: includes/theme-options.php:187 +#@ woothemes +msgid "Background image position" +msgstr "" + +#: includes/theme-options.php:188 +#@ woothemes +msgid "Select how you would like to position the background" +msgstr "" + +#: includes/theme-options.php:201 +#@ woothemes +msgid "Links" +msgstr "" + +#: includes/theme-options.php:204 +#@ woothemes +msgid "Link Color" +msgstr "" + +#: includes/theme-options.php:205 +#@ woothemes +msgid "Pick a custom color for links or add a hex color code e.g. #697e09" +msgstr "" + +#: includes/theme-options.php:210 +#@ woothemes +msgid "Link Hover Color" +msgstr "" + +#: includes/theme-options.php:211 +#@ woothemes +msgid "Pick a custom color for links hover or add a hex color code e.g. #697e09" +msgstr "" + +#: includes/theme-options.php:216 +#@ woothemes +msgid "Button Color" +msgstr "" + +#: includes/theme-options.php:217 +#@ woothemes +msgid "Pick a custom color for buttons or add a hex color code e.g. #697e09" +msgstr "" + +#: includes/theme-options.php:224 +#@ woothemes +msgid "Typography" +msgstr "" + +#: includes/theme-options.php:228 +#@ woothemes +msgid "Enable Custom Typography" +msgstr "" + +#: includes/theme-options.php:229 +#@ woothemes +msgid "Enable the use of custom typography for your site. Custom styling will be output in your sites HEAD." +msgstr "" + +#: includes/theme-options.php:234 +#@ woothemes +msgid "General Typography" +msgstr "" + +#: includes/theme-options.php:235 +#@ woothemes +msgid "Change the general font." +msgstr "" + +#: includes/theme-options.php:240 +#@ woothemes +msgid "Navigation" +msgstr "" + +#: includes/theme-options.php:241 +#@ woothemes +msgid "Change the navigation font." +msgstr "" + +#: includes/theme-options.php:246 +#@ woothemes +msgid "Page Title" +msgstr "" + +#: includes/theme-options.php:247 +#@ woothemes +msgid "Change the page title." +msgstr "" + +#: includes/theme-options.php:252 +#@ woothemes +msgid "Post Title" +msgstr "" + +#: includes/theme-options.php:253 +#@ woothemes +msgid "Change the post title." +msgstr "" + +#: includes/theme-options.php:258 +#@ woothemes +msgid "Post Meta" +msgstr "" + +#: includes/theme-options.php:259 +#@ woothemes +msgid "Change the post meta." +msgstr "" + +#: includes/theme-options.php:264 +#@ woothemes +msgid "Post Entry" +msgstr "" + +#: includes/theme-options.php:265 +#@ woothemes +msgid "Change the post entry." +msgstr "" + +#: includes/theme-options.php:270 +#@ woothemes +msgid "Widget Titles" +msgstr "" + +#: includes/theme-options.php:271 +#@ woothemes +msgid "Change the widget titles." +msgstr "" + +#: includes/theme-options.php:351 +#@ woothemes +msgid "Layout Options" +msgstr "" + +#: includes/theme-options.php:356 +#@ woothemes +msgid "Main Layout" +msgstr "" + +#: includes/theme-options.php:357 +#@ woothemes +msgid "Select which layout you want for your site." +msgstr "" + +#: includes/theme-options.php:366 +#@ woothemes +msgid "Category Exclude - Homepage" +msgstr "" + +#: includes/theme-options.php:367 +#@ woothemes +msgid "Specify a comma seperated list of category IDs or slugs that you'd like to exclude from your homepage (eg: uncategorized)." +msgstr "" + +#: includes/theme-options.php:372 +#@ woothemes +msgid "Category Exclude - Blog Page Template" +msgstr "" + +#: includes/theme-options.php:373 +#@ woothemes +msgid "Specify a comma seperated list of category IDs or slugs that you'd like to exclude from your 'Blog' page template (eg: uncategorized)." +msgstr "" + +#: includes/theme-options.php:379 +#@ woothemes +msgid "Dynamic Images" +msgstr "" + +#: includes/theme-options.php:383 +#@ woothemes +msgid "Resizer Settings" +msgstr "" + +#: includes/theme-options.php:386 +#@ woothemes +msgid "Dynamic Image Resizing" +msgstr "" + +#: includes/theme-options.php:389 +#@ woothemes +msgid "There are two alternative methods of dynamically resizing the thumbnails in the theme, WP Post Thumbnail or TimThumb - Custom Settings panel. We recommend using WP Post Thumbnail option." +msgstr "" + +#: includes/theme-options.php:392 +#@ woothemes +msgid "WP Post Thumbnail" +msgstr "" + +#: includes/theme-options.php:393 +#@ woothemes +msgid "Use WordPress post thumbnail to assign a post thumbnail. Will enable the Featured Image panel in your post sidebar where you can assign a post thumbnail." +msgstr "" + +#: includes/theme-options.php:399 +#@ woothemes +msgid "WP Post Thumbnail - Dynamic Image Resizing" +msgstr "" + +#: includes/theme-options.php:400 +#@ woothemes +msgid "The post thumbnail will be dynamically resized using native WP resize functionality. (Requires PHP 5.2+)" +msgstr "" + +#: includes/theme-options.php:406 +#@ woothemes +msgid "WP Post Thumbnail - Hard Crop" +msgstr "" + +#: includes/theme-options.php:407 +#@ woothemes +msgid "The post thumbnail will be cropped to match the target aspect ratio (only used if \"Dynamic Image Resizing\" is enabled)." +msgstr "" + +#: includes/theme-options.php:413 +#@ woothemes +msgid "TimThumb - Custom Settings Panel" +msgstr "" + +#: includes/theme-options.php:414 +#, php-format +#@ woothemes +msgid "This will enable the %1$s (thumb.php) script which dynamically resizes images added through the custom settings panel below the post. Make sure your themes cache folder is writable. %2$s" +msgstr "" + +#: includes/theme-options.php:419 +#@ woothemes +msgid "Automatic Image Thumbnail" +msgstr "" + +#: includes/theme-options.php:420 +#@ woothemes +msgid "If no thumbnail is specifified then the first uploaded image in the post is used." +msgstr "" + +#: includes/theme-options.php:425 +#@ woothemes +msgid "Thumbnail Settings" +msgstr "" + +#: includes/theme-options.php:428 +#@ woothemes +msgid "Thumbnail Image Dimensions" +msgstr "" + +#: includes/theme-options.php:429 +#@ woothemes +msgid "Enter an integer value i.e. 250 for the desired size which will be used when dynamically creating the images." +msgstr "" + +#: includes/theme-options.php:436 +#: includes/theme-options.php:466 +#@ woothemes +msgid "Width" +msgstr "" + +#: includes/theme-options.php:440 +#: includes/theme-options.php:470 +#@ woothemes +msgid "Height" +msgstr "" + +#: includes/theme-options.php:443 +#@ woothemes +msgid "Thumbnail Alignment" +msgstr "" + +#: includes/theme-options.php:444 +#@ woothemes +msgid "Select how to align your thumbnails with posts." +msgstr "" + +#: includes/theme-options.php:448 +#: includes/theme-options.php:479 +#: includes/widgets/widget-woo-blogauthor.php:83 +#@ woothemes +msgid "Left" +msgstr "" + +#: includes/theme-options.php:448 +#: includes/theme-options.php:479 +#: includes/widgets/widget-woo-blogauthor.php:84 +#@ woothemes +msgid "Right" +msgstr "" + +#: includes/theme-options.php:448 +#: includes/theme-options.php:479 +#@ woothemes +msgid "Center" +msgstr "" + +#: includes/theme-options.php:451 +#@ woothemes +msgid "Show the thumbnail in the single post page." +msgstr "" + +#: includes/theme-options.php:457 +#@ woothemes +msgid "Single Post - Thumbnail Dimensions" +msgstr "" + +#: includes/theme-options.php:458 +#@ woothemes +msgid "Enter an integer value i.e. 250 for the image size. Max width is 576." +msgstr "" + +#: includes/theme-options.php:473 +#@ woothemes +msgid "Single Post - Thumbnail Alignment" +msgstr "" + +#: includes/theme-options.php:474 +#@ woothemes +msgid "Select how to align your thumbnail with single posts." +msgstr "" + +#: includes/theme-options.php:481 +#@ woothemes +msgid "Add thumbnail to RSS feed" +msgstr "" + +#: includes/theme-options.php:482 +#@ woothemes +msgid "Add the the image uploaded via your Custom Settings panel to your RSS feed" +msgstr "" + +#: includes/theme-options.php:487 +#@ woothemes +msgid "Enable Lightbox" +msgstr "" + +#: includes/theme-options.php:488 +#@ woothemes +msgid "Enable the PrettyPhoto lighbox script on images within your website's content." +msgstr "" + +#: includes/theme-options.php:494 +#@ woothemes +msgid "Footer Customization" +msgstr "" + +#: includes/theme-options.php:499 +#@ woothemes +msgid "Footer Widget Areas" +msgstr "" + +#: includes/theme-options.php:500 +#@ woothemes +msgid "Select how many footer widget areas you want to display." +msgstr "" + +#: includes/theme-options.php:512 +#@ woothemes +msgid "Custom Affiliate Link" +msgstr "" + +#: includes/theme-options.php:513 +#@ woothemes +msgid "Add an affiliate link to the WooThemes logo in the footer of the theme." +msgstr "" + +#: includes/theme-options.php:518 +#@ woothemes +msgid "Enable Custom Footer (Left)" +msgstr "" + +#: includes/theme-options.php:519 +#: includes/theme-options.php:531 +#@ woothemes +msgid "Activate to add the custom text below to the theme footer." +msgstr "" + +#: includes/theme-options.php:524 +#@ woothemes +msgid "Custom Text (Left)" +msgstr "" + +#: includes/theme-options.php:525 +#: includes/theme-options.php:537 +#@ woothemes +msgid "Custom HTML and Text that will appear in the footer of your theme." +msgstr "" + +#: includes/theme-options.php:530 +#@ woothemes +msgid "Enable Custom Footer (Right)" +msgstr "" + +#: includes/theme-options.php:536 +#@ woothemes +msgid "Custom Text (Right)" +msgstr "" + +#: includes/theme-options.php:543 +#@ woothemes +msgid "Subscribe & Connect" +msgstr "" + +#: includes/theme-options.php:547 +#@ woothemes +msgid "Setup" +msgstr "" + +#: includes/theme-options.php:550 +#@ woothemes +msgid "Enable Subscribe & Connect - Single Post" +msgstr "" + +#: includes/theme-options.php:551 +#, php-format +#@ woothemes +msgid "Enable the subscribe & connect area on single posts. You can also add this as a %1$s in your sidebar." +msgstr "" + +#: includes/theme-options.php:556 +#@ woothemes +msgid "Subscribe Title" +msgstr "" + +#: includes/theme-options.php:557 +#@ woothemes +msgid "Enter the title to show in your subscribe & connect area." +msgstr "" + +#: includes/theme-options.php:562 +#@ woothemes +msgid "Text" +msgstr "" + +#: includes/theme-options.php:563 +#@ woothemes +msgid "Change the default text in this area." +msgstr "" + +#: includes/theme-options.php:568 +#@ woothemes +msgid "Enable Related Posts" +msgstr "" + +#: includes/theme-options.php:569 +#@ woothemes +msgid "Enable related posts in the subscribe area. Uses posts with the same tags to find related posts. Note: Will not show in the Subscribe widget." +msgstr "" + +#: includes/theme-options.php:574 +#@ woothemes +msgid "Subscribe Settings" +msgstr "" + +#: includes/theme-options.php:577 +#@ woothemes +msgid "Subscribe By E-mail ID (Feedburner)" +msgstr "" + +#: includes/theme-options.php:578 +#@ woothemes +msgid "Enter your Feedburner ID for the e-mail subscription form." +msgstr "" + +#: includes/theme-options.php:583 +#@ woothemes +msgid "Subscribe By E-mail to MailChimp" +msgstr "" + +#: includes/theme-options.php:584 +#@ woothemes +msgid "If you have a MailChimp account you can enter the MailChimp List Subscribe URL to allow your users to subscribe to a MailChimp List." +msgstr "" + +#: includes/theme-options.php:589 +#@ woothemes +msgid "Connect Settings" +msgstr "" + +#: includes/theme-options.php:592 +#@ woothemes +msgid "Enable RSS" +msgstr "" + +#: includes/theme-options.php:593 +#@ woothemes +msgid "Enable the subscribe and RSS icon." +msgstr "" + +#: includes/theme-options.php:598 +#@ woothemes +msgid "Twitter URL" +msgstr "" + +#: includes/theme-options.php:599 +#@ woothemes +msgid "Enter your Twitter URL e.g. http://www.twitter.com/woothemes" +msgstr "" + +#: includes/theme-options.php:604 +#@ woothemes +msgid "Facebook URL" +msgstr "" + +#: includes/theme-options.php:605 +#@ woothemes +msgid "Enter your Facebook URL e.g. http://www.facebook.com/woothemes" +msgstr "" + +#: includes/theme-options.php:610 +#@ woothemes +msgid "YouTube URL" +msgstr "" + +#: includes/theme-options.php:611 +#@ woothemes +msgid "Enter your YouTube URL e.g. http://www.youtube.com/woothemes" +msgstr "" + +#: includes/theme-options.php:616 +#@ woothemes +msgid "Flickr URL" +msgstr "" + +#: includes/theme-options.php:617 +#@ woothemes +msgid "Enter your Flickr URL e.g. http://www.flickr.com/woothemes" +msgstr "" + +#: includes/theme-options.php:622 +#@ woothemes +msgid "LinkedIn URL" +msgstr "" + +#: includes/theme-options.php:623 +#@ woothemes +msgid "Enter your LinkedIn URL e.g. http://www.linkedin.com/in/woothemes" +msgstr "" + +#: includes/theme-options.php:628 +#@ woothemes +msgid "Delicious URL" +msgstr "" + +#: includes/theme-options.php:629 +#@ woothemes +msgid "Enter your Delicious URL e.g. http://www.delicious.com/woothemes" +msgstr "" + +#: includes/theme-options.php:634 +#@ woothemes +msgid "Google+ URL" +msgstr "" + +#: includes/theme-options.php:635 +#@ woothemes +msgid "Enter your Google+ URL e.g. https://plus.google.com/104560124403688998123/" +msgstr "" + +#: includes/theme-options.php:641 +#@ woothemes +msgid "Advertising" +msgstr "" + +#: includes/theme-options.php:645 +#@ woothemes +msgid "Top Ad (468x60px)" +msgstr "" + +#: includes/theme-options.php:648 +#@ woothemes +msgid "Enable Ad" +msgstr "" + +#: includes/theme-options.php:649 +#@ woothemes +msgid "Enable the ad space" +msgstr "" + +#: includes/theme-options.php:654 +#@ woothemes +msgid "Adsense code" +msgstr "" + +#: includes/theme-options.php:655 +#@ woothemes +msgid "Enter your adsense code (or other ad network code) here." +msgstr "" + +#: includes/theme-options.php:660 +#@ woothemes +msgid "Image Location" +msgstr "" + +#: includes/theme-options.php:661 +#@ woothemes +msgid "Enter the URL to the banner ad image location." +msgstr "" + +#: includes/theme-options.php:666 +#@ woothemes +msgid "Destination URL" +msgstr "" + +#: includes/theme-options.php:667 +#@ woothemes +msgid "Enter the URL where this banner ad points to." +msgstr "" + +#: includes/theme-woocommerce.php:109 +#@ woothemes +msgid "Checkout" +msgstr "" + +#: includes/theme-woocommerce.php:311 +#@ woocommerce +msgid "Related Products" +msgstr "" + +#: includes/theme-woocommerce.php:350 +#: includes/theme-woocommerce.php:353 +#, php-format +#@ woothemes +msgid "%d item" +msgid_plural "%d items" +msgstr[0] "" +msgstr[1] "" + +#: includes/theme-woocommerce.php:350 +#@ woothemes +msgid "in your shopping cart" +msgstr "" + +#: includes/theme-woocommerce.php:351 +#@ woothemes +msgid "My Basket:" +msgstr "" + +#: includes/widgets/widget-woo-adspace.php:11 +#@ woothemes +msgid "Woo - Adspace Widget" +msgstr "" + +#: includes/widgets/widget-woo-adspace.php:57 +#: includes/widgets/widget-woo-subscribe.php:61 +#: includes/widgets/widget-woo-twitter.php:65 +#@ woothemes +msgid "Title (optional):" +msgstr "" + +#: includes/widgets/widget-woo-adspace.php:62 +#@ woothemes +msgid "Ad Code:" +msgstr "" + +#: includes/widgets/widget-woo-adspace.php:68 +#@ woothemes +msgid "Image Url:" +msgstr "" + +#: includes/widgets/widget-woo-adspace.php:72 +#@ woothemes +msgid "Link URL:" +msgstr "" + +#: includes/widgets/widget-woo-adspace.php:76 +#@ woothemes +msgid "Alt text:" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:10 +#@ woothemes +msgid "Woo - Blog Author Info" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:69 +#@ woothemes +msgid "Bio:" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:73 +#@ woothemes +msgid "Gravatar E-mail:" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:77 +#@ woothemes +msgid "Gravatar Size:" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:81 +#@ woothemes +msgid "Gravatar Alignment:" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:88 +#@ woothemes +msgid "Read More Text (optional):" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:92 +#@ woothemes +msgid "Read More URL (optional):" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:96 +#@ woothemes +msgid "Visible Pages:" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:98 +#@ woothemes +msgid "All" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:99 +#@ woothemes +msgid "Home only" +msgstr "" + +#: includes/widgets/widget-woo-blogauthor.php:100 +#@ woothemes +msgid "Single only" +msgstr "" + +#: includes/widgets/widget-woo-embed.php:11 +#@ woothemes +msgid "Woo - Embed/Video" +msgstr "" + +#: includes/widgets/widget-woo-embed.php:99 +#@ woothemes +msgid "Category:" +msgstr "" + +#: includes/widgets/widget-woo-embed.php:111 +#@ woothemes +msgid "Tag:" +msgstr "" + +#: includes/widgets/widget-woo-embed.php:116 +#: includes/widgets/widget-woo-flickr.php:103 +#@ woothemes +msgid "Size:" +msgstr "" + +#: includes/widgets/widget-woo-embed.php:122 +#@ woothemes +msgid "Limit (optional):" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:10 +#@ woothemes +msgid "Woo - Flickr" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:20 +#@ woothemes +msgid "Photos on flickr" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:77 +#@ woothemes +msgid "Flickr ID (idGettr):" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:81 +#@ woothemes +msgid "Number:" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:89 +#@ woothemes +msgid "Type:" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:91 +#@ woothemes +msgid "User" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:92 +#@ woothemes +msgid "Group" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:96 +#@ woothemes +msgid "Sorting:" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:98 +#@ woothemes +msgid "Latest" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:99 +#@ woothemes +msgid "Random" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:105 +#@ woothemes +msgid "Square" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:106 +#@ woothemes +msgid "Medium" +msgstr "" + +#: includes/widgets/widget-woo-flickr.php:107 +#@ woothemes +msgid "Thumbnail" +msgstr "" + +#: includes/widgets/widget-woo-search.php:10 +#@ woothemes +msgid "Woo - Search" +msgstr "" + +#: includes/widgets/widget-woo-subscribe.php:10 +#@ woothemes +msgid "Woo - Subscribe / Connect" +msgstr "" + +#: includes/widgets/widget-woo-subscribe.php:65 +#@ woothemes +msgid "Disable Subscription Form" +msgstr "" + +#: includes/widgets/widget-woo-subscribe.php:68 +#@ woothemes +msgid "Disable Social Icons" +msgstr "" + +#: includes/widgets/widget-woo-subscribe.php:71 +#@ woothemes +msgid "Disable in Posts" +msgstr "" + +#: includes/widgets/widget-woo-subscribe.php:74 +#@ woothemes +msgid "Disable in Pages" +msgstr "" + +#: includes/widgets/widget-woo-twitter.php:10 +#@ woothemes +msgid "Woo - Twitter Stream" +msgstr "" + +#: includes/widgets/widget-woo-twitter.php:26 +#@ woothemes +msgid "on Twitter" +msgstr "" + +#: includes/widgets/widget-woo-twitter.php:69 +#@ woothemes +msgid "Username:" +msgstr "" + +#: includes/widgets/widget-woo-twitter.php:73 +#@ woothemes +msgid "Limit:" +msgstr "" + +#: index.php:137 +#@ woothemes +msgid "Call us:" +msgstr "" + +#: index.php:144 +#@ woothemes +msgid "Send us an email:" +msgstr "" + +#: index.php:145 +#@ woothemes +msgid "Send us an email" +msgstr "" + +#: page.php:35 +#: single.php:56 +#@ woothemes +msgid "Pages:" +msgstr "" + +#: page.php:38 +#: template-fullwidth.php:34 +#@ woothemes +msgid "{ Edit }" +msgstr "" + +#: search-form.php:13 +#@ woothemes +msgid "Search..." +msgstr "" + +#: search.php:25 +#@ woothemes +msgid "Search results:" +msgstr "" + +#: single.php:59 +#@ woothemes +msgid "Tags: " +msgstr "" + +#: single.php:67 +#, php-format +#@ woothemes +msgid "About %s" +msgstr "" + +#: single.php:71 +#, php-format +#@ woothemes +msgid "View all posts by %s " +msgstr "" + +#: template-archives.php:36 +#@ woothemes +msgid "The Last 30 Posts" +msgstr "" + +#: template-archives.php:45 +#@ woothemes +msgid "comments" +msgstr "" + +#: template-archives.php:56 +#: template-sitemap.php:48 +#@ woothemes +msgid "Categories" +msgstr "" + +#: template-archives.php:63 +#@ woothemes +msgid "Monthly Archives" +msgstr "" + +#: template-blog.php:68 +#@ woothemes +msgid "Read More..." +msgstr "" + +#: template-contact.php:29 +#@ woothemes +msgid "You forgot to enter your name." +msgstr "" + +#: template-contact.php:37 +#@ woothemes +msgid "You forgot to enter your email address." +msgstr "" + +#: template-contact.php:40 +#@ woothemes +msgid "You entered an invalid email address." +msgstr "" + +#: template-contact.php:48 +#@ woothemes +msgid "You forgot to enter your comments." +msgstr "" + +#: template-contact.php:58 +#@ woothemes +msgid "Contact Form Submission from " +msgstr "" + +#: template-contact.php:66 +#@ woothemes +msgid "You emailed " +msgstr "" + +#: template-contact.php:86 +#@ woothemes +msgid "You forgot to enter your" +msgstr "" + +#: template-contact.php:93 +#@ woothemes +msgid "You entered an invalid" +msgstr "" + +#: template-contact.php:103 +#@ woothemes +msgid "Thanks! Your email was successfully sent." +msgstr "" + +#: template-contact.php:146 +#@ woothemes +msgid "Tel:" +msgstr "" + +#: template-contact.php:147 +#@ woothemes +msgid "Fax:" +msgstr "" + +#: template-contact.php:148 +#@ woothemes +msgid "Email:" +msgstr "" + +#: template-contact.php:176 +#@ woothemes +msgid "There was an error submitting the form." +msgstr "" + +#: template-sitemap.php:44 +#@ woothemes +msgid "Pages" +msgstr "" + +#: template-sitemap.php:52 +#@ woothemes +msgid "Posts per category" +msgstr "" + +#: template-sitemap.php:67 +#@ woothemes +msgid "Comments" +msgstr "" + +#: template-sitemap.php:76 +#@ woothemes +msgid "Product Categories" +msgstr "" + +#: template-sitemap.php:85 +#@ woothemes +msgid "Products" +msgstr "" + +#: template-timeline.php:82 +#@ woothemes +msgid "1 comment" +msgstr "" + +#: template-timeline.php:82 +#@ woothemes +msgid "% comments" +msgstr "" + diff --git a/artificer/license.txt b/artificer/license.txt new file mode 100755 index 0000000..d31195a --- /dev/null +++ b/artificer/license.txt @@ -0,0 +1,281 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + diff --git a/artificer/page.php b/artificer/page.php new file mode 100755 index 0000000..fc137aa --- /dev/null +++ b/artificer/page.php @@ -0,0 +1,64 @@ + + +
                    + + + +
                    + + +
                    > + +
                    +

                    +
                    + +
                    + + + '' ) ); ?> +
                    + + ', '' ); ?> + +
                    + + +
                    > +

                    +
                    + + +
                    + + + + + +
                    + + \ No newline at end of file diff --git a/artificer/screenshot.png b/artificer/screenshot.png new file mode 100755 index 0000000000000000000000000000000000000000..27b74a197cae6b031240adb5ffcfe6e8a709cda7 GIT binary patch literal 107416 zcmV)OK(@b$P)d*0Z&aULgze%AYXW4qLu&hKBF&|6u3F*Viw|OsusK2(;c1Er1N{dtv8B8-WBc=ZzK}=W!wOJ zf4c^(+O1K{_XbE5SQ>_kN1o;O~v6XQ6r=fYeY zi3E^n(J=3cd*1ll-~NWyIwBMIns|SI<8^$YA02Bi?7eXw2m0vPJMsSh#$Fq*uP;Ok zT-SvF@Or%vy<=Sq@Ao%05`X*K7Xbd5or!ZC=)GaCg|#*So}Gxm`}>W|#Ov!sAh0&i zI}#Y@0RXtKHxP}_2Z2Ol=LP`uHUMng_l<~#2%xuyehggKjYQ(myIN}_0ldx=5rNFa z^}f-1@EHQwYhmxiF;4WO;hq!gz5xKOcjV&p%G~(dFTbGoj{CmxpYQ(w0A8p2m7>(y*=fZv6XszKme0~z|>y6$zS{pnEd-0sKj)=hA8~4q4(R;_dChj?L zjE;T`0Eu}o#Gk+antLs@K9K7MqVXUD$V>o0AP~{8u>k~H0JvtD;y(W-}-Wt|U?7cAh;O|o~+R2yJz>CzzK#Sn-%FRo+Hs+r7az^Xu!C(ad zt#z!mG1mkFhzKBgH(TceT61FU4Fu4m@mofq>)&T?>`Y`Pa&Pca1R?+g7*Jc|gPaTL zi!*P&C|ywh@7@cU4DiwTyZC>JJ_aw(^+xWk!wU4?fyNg;TE||Al?>R?0(&h04ZSr) zL>>0M7W8qEdfu&dB(j3)T8r-|`0RV{Xsw||VC&+nwGbJOX^04n-jM;U&Cjv-h97)u zfz~>D3;k~X|5_6XU~dMPV=$Pu#`m}P#(hsdPyOuCJ9-<~nY<_pHpemaE}+jG$OO-X zzE=R~tz!e|z419_qV#fQ;D{ZjuxTskl1Tu?TtPfkWe5GoDQfGx{`1$L)E@W;d(w)4^z44@GVk42s`@r|I(VEX7Kd;|a z3!Y2gjoy1bV}72A%tULUSkZ7C2mFFl&o2Q45_2Wu|NZN)Y`tOYmt+gz&vD#3DsW-*L*Z5qUvJRA;_TE)hj?T&@ zH=oDa3wv##1)zg=90vm}_}s7e%}b`s7cE#pgRv&}Q@QHZ;5d#tbUtvYs%0%zo@3M@ z+zQTXE<}I{X)TP=(fdH?67n-V$shoXgB5H>>KX7|A^G=fPV~Xby(*ACFz*Y{=RyMG z7(fE|ywO_6=nYHBBBDJ>0DM*%ft(ZX`>uc;;UK{C>%_d0@6!LiwLr91!Dy-y+6rRF zInc*YO4{|^uj_h(SMM0dU{!{|%8gw7J!`QF&D?0cGqLO0JQaCEbUxRndkPf{TNPb` z-9v&&DRkaO?+h+$R`84nj5e?%mFT*j=hWvk&WAd8!jk$QPLkH+Mk17;+ z*EfqBos||%6`B4(u!>)k6yMFlI3%xZ4j$jsFYXiA-DS){q zx-NV~SC-`=jBx3{Fphy!tG)o&vd7+8?E=&$t-Y}4W_j70 zes>~Tugr9-MeVI&w1d^n-e|p{ABUnhGjak|y{)-;;T7!WTDa$}QkK=!-oSbOyr^sQ zKsu-=5~Cl?=zFsQOJ<^-4AjWPah^Di!Nau{_F9O>Oymmie4RQ3tTNU;E3>A)$IxYV zTe2%d?RtiN40Kf(YcA~6!O-E}xpDM^?_BS%g<6VCen(YDL+#X@Qx}3sX{!?Ly`w9O z^Vw{SaqzS0Js)}xTkiqMLmI8|e5r!%jX~;O6KgJ2Ct1}&>jTFzm>ljKp=X|%RgoNn z!DHSN@Ao%AZuBm+NMAd>HR&KtQCW2oX>>)l~1oqW$(pvfu_Wr^*kehH827y(#Iia+~*! zxwoov77GzkcWuv&j8xagK%7X#|NQg!TrTT#A$ljCvu3qotRPU8P&8ehIgyB}GPcTS z_v3+38|Zdo)CU6+O;w89lh&dt9hcR;vwd8P0rMCGU0F4EA_HjA)wZOn4YmaLRDV7A z`TUZ)%4n!GUuzZy2UQ%-pnQ>82c=q&gi2>(FHi963<0+&Z<~P6Rxp%xSXx; zn}>Y#!M1KKUWAWe_Ow8#fY<`)gWoA#3GU?gRQsCAtd58$gEzM402Ihrf%V?>etmxU zzHbER61yOS&x`5{ow-%9_X;L_R}7@l7zhwNr+aTz!*2We z@3*0c)`8qunHa+r2!n(x6t}sqnwx&secgbnq^5*+-?J*U=%IJPs+Dlf^Su0A8Aw#I z1e5T+CWZn~qdn20;~1mB`?V%oAHohd?u(hzKQ~m4 zk7J;Rp2b=Uswm9PZR0pbmG9A*i27)_t{Zbroa4~p6Fy@MEm=u6{fyR|@E=~*p=xHT znqsv{OlGgt?^2T68;In=R|UWK!g0Q!c*fRqCHnCJ^hQHhmAK}@bzfCwMJIUA%88%P zl{SL~FXw&VSZm_zBnY2i5JDQC1A+0)bIQAwY6W$V`XDiNPr?PGW6p_rPqvAj)yq`U zWfJL12seOW@Ccr#fRl}1f%JrN1CF)-&MCiMXfGNLz};~<+d=kq~Z zsJ+m0YE2LOLMW@XMj&&q1i(X*dy9!9w$@t5XvAaO-Z*=(Dr9@=KoQ_)yXUPIm8JDD z4g!IhBnF((cUHDGa8H1CBUn6OZDvwL;_LNdYphnG_pYF*%OjjE)na0^O;~-G(B(qg@%{BRKjL&wm zTiC3gGD4V?n(<&okdfF51OX;Aw2o9|VFCk9|9-LEYolS!jpOKOtz#v@HOTYatE3_kmF0*kTzBzykb&8D@~O zKwjeOD%;I&&#%z4gn-``v z1-Xvn=sHVV0QKZE?POI)Bfilhu)sv%s@Sbbbjmp(c5W{L&z)G$lq|&WlL0@fvf!O~ z@D_Iv0Pw!9=h;M5A`K>J9<~nAh5fMmf+py3VnH@Q+rww}(Aj zf*t0he53`dBez)5cqZK@MFk0<9|uNri=M0$@dR^!W>&Q<82nsK?;xu*W$;o<=>WIY z@sMOACh7N)s+6Gb-*ip`zygyAwt)PgeCjya8JMTM{A^lRVnE4gAe=D%`u*=Y^>C2{ zYL8=}DS(;LAq(WJ5IEF+ZDB!M2W+&X4mDXV9{9PZN?d}*luATV+zA521e;f7&)$Zp z>@AAZfov7_(c1&orLiI%iq_n>w~s*gl;}%=b*&rYIPf}O6@UQ&h;v~pI8sv-JWQfM zZne?YCo#J{KgHC)>09QDC~TqF*G$}(SxWvj1eS+_$@9C8Y8QKNY?*|AO|`NPvZE6) zCZ3SUmBpMzYsf|5-W4X>V`=Sr=pbj6_z^$bLSr{Ocd%I%8i)i((je#v;Wxjl@ z)IyB82oPgPK7*s z141Aaq>Q^+YGBeLGJux2F0s;1{LwHDv!=v@p=ax4d7K9hRck)$OVyTxEr3c|zIX5I z&C0H^vOCAY@3VzhsSw!-DhKqu44d$tBozy08n-}qM)Iue;VOca$3h0TFW(W2A~Zd*l|!;>PxZ(=ms9V z?RA`Dj8a&J%2-uP*2I_?pjL$k(I7Y3IO0rA6$2TWU75)2+t0re_s!mafq~)dXH{~a zy0a9EVq9#DUbMG$MW%~e6HcdRQVft=4<#Mb`wpl+eEw%mG7A69)WxzKqX~~VUkAT~ zKz?2pKD$&{AH4(dfY|rEvF1YWf!qN!;wHHj5CkY&o&X5Mj;C7pGu%6?1^RpkCRmnO zP#@~^lt5J%XeaRfzyGVYQ}0V{B6Ua#P=3yxm0<70^Iaxhlmol%qC1o;%uC+ms+>ypWoM2_*6t- zM3=^HRfYcCbN<}daq>H>Fx!ir2VoT^hz8!>4YKuX?~++Ku?@9}Yfh1C8*}b@W~I3T z6e9@0U-z4s^?B+!_hKyf+KAtO`|k{asz@MI4t7zUYg>OJ2FpyF!0J+EUvHSPpl)Rs zMzB@ZvR7^ewpuva`*UenwV|*rx0Nmn%~+VlGF8ls!bPk>1#~l8GxG<|;}mnca9y{sGJZz0R$pqlNI6ep zOx0%a;F(EvYhpdkS_|*@8^@uG0aQ>a=CS!;2kCWPR0G|v-j*s&1}d{YlUcKI0w7fK zALof4fqO0yA_SU!Rwy4COmOkg)ds>HT*n|L#ENfY?ZnY}p)40LsJ!Mb@u>r_1;gW% z1ZA$mSS>z$=$PEf%k!Z)0 zOzwMD;%=(Uwh}fO^+f#pp90;b2RX)vSS(pupU0~XB!zSArSEwm5je()P?nv}cE_n; zu}bmHgB=7o6Q$NRHkBzbF%^^?@YGKvERRsnzaQ||+K=Nr2y(}x+d4Et;g`>`fFb>f ztB@=_$hr|9{97!DAo&~~VVf#VRWJ8PCH8u~3QID$*jmH9rB2o*3o(CtZFE(v z90#)I$NH~bcnp+mtZw&c$X*M%fqs~kSwAWUiyZf6%j0(4^fDFKz*~Uq>tKbr<|>st zE2pgK1h+=M6|M1blDXP&)N1Is*0%uJM`|#wPm_e=mauk={y`R~nr?svk(QwtG`3jM zGMNDR_J@2Wf!i9H>F7$jX?nTWZC z(;y{f>0Rw0aYM7@h8QfZ$xZn||9}xvch(iEM{6EbC@Xo5(d#bN1WN zS25<(@)l|Ec=z}~TI(z%(pt1fHss(+!f4}qUucb^Z4ptBj4R!m00~KiHU++{uE7ec zw_YgzUK@KZ^n(xUzNnHuk5g&U3_y2rDLd_)uC0z43Q+p8P=9QtZ*H` z<41io^fvImFILg5SJib}HgFDMeyiT!d7cj*X56v!GFu62HlSSqa{<^FjP$kEf_C`kH zb)LeaqY&6{sHEU85-uI?jH* z89dEL6&!e!ubEhTO5(swh5#}WJ-YBFjczpl`?)4Y8#TK}h5amj59!%imC4k z>DP9t_Sy2Ss%n}*SL0}|mYwNqPF3xeKXX;B2~8vnWI&(S(g*7QIEl2YGTXvL9mt3y zQjCiXq{O}kzA5J92-a~7iG!)-V^S7D(un7EVQg+gEu|nF0x$z-eA)Imve|##j zIamFe#FMxI<2zCBxT{j}_?4fJb!31=tV=ELu5q!}8?O6eRWB^f0ch_e1}T`p*L%$= z%s76Gd6@*@b9`hofd5Qx~wguuqTb2**?# zb*uV*#(JVK5(;8xjXN2qtl3XJ=d~7fNUCZ~)gR|z@&gmb`}-T?pzLI7&b63DWr8hz z+!Q|adcA(klUjab5G{qz^!}U?5*Eo;D0%76uahlyvif`md3koO`^Fd@uW}V3o;TM6 zy{wh!a$TqvHBgDd1p`e40udZOziyHr#~6htALmK&u#&L51GjefyvcTUx`AW{zOQfM zVdE&wHk0FWU1Y|bcNqy7pFPJ}Ouvf~U73342Gmz_*nLeW$CQA!O9L1J<^%E9@4qJ1 z$i1@Fkbc7T(!HiKc$0p`ls=!{XY_Ujl)0(&MuI51qi)t9YybuBZ;3VUH4&O9x0>G5 z<~}g@{f1=$R#I0v4rl~G!0hPEgnblKNjA|e9UsunjUK)9K+l7_F*gH?1C_JjGtWm% zZhMqN?bc@ioAW35>@4I~(e14>eCoUNvS(eOC5A1H7wDoBchC^Ga5`6FtwrG)#5jnt zWjsu5xm3VVO-P-rv7a`6=-=qnKy96~@tn78h(6g=*tz3Y4iwN9ls+a90km8Fe^@_eiP*U-41zej~QJ&{=V#L%;+#%~mMYN+C= zP&Ko79vU%v( z2t_zyspA@h?PwF0MNQ{NV*A&h|HuHI@;#FudMkbh5S^LWzdS)LPe5RE$Y-ZpEzJ@i z+mt=$lMZW3Hr*i1Vo@|oP>srT4X*0T-}A14PdX^Hnxhl`Upg?ptX>t^=j<6Xi?Y6g ziZeLC_R0$gTbAgo@b*WUAFbha z96*!0UWa9Cyd?3=!nvvhh(mZd8u2r8S(WVrUBby@XqsV)_9pvD|F5SF4_6s#?}>lS z!fTFW0BY&1GeU!gTUjNI-U%NlK%p?9RRRAK@b%QgR+~GEH8W~^uyX32o07glsEksS!m>G2MP7;;r;!eRobA!N6$;~1K#;91#80DdoyVMXA1S7OKz zA-4vy?sN+Y5m2bE!tMx!AO?Cr;Q2oKcdi{^Caf`v1n{4+DBAA_`4mPbU7WNL&w#ZB z=<(O@e^0AR4VL)un1Yw(6^0}OYd?dU#%)|Z9nw)<_l40rUMGR@_xr5_{ph*)@K5Ygdp?Eaf1z*X6%+Mx89%2`90#<&0~{Cm)r#$!iT1G`6` zHh>%Fht138?4k~WSw1S9Ic;yjo~u)eXn_%wFlfv>w;n8GyFxq+} z9wL2rKw2PGB5Uiyhgc$GIFE0c=iIjO6EN^x^Wq`wl&|a$MmCkXO_dwJxhJcnV;nz( zhP_37-nEt#;;i~unO!g(VC8-5934qjjz21=d{pk;Gm_Gog{r8;qqsiLgVo+WWq%ZO z08wijJ;Y#JZv~k3X4{`={kc4Df001zWC9Z#qaRdni-@`;o#9NWnADVBtS<4aXODas z=~L&>)-_GIaT?6mS+exO*eAP=l=FzKeF)}HVZ}|1oh22-@qqXJCcY{W=zZH{@&Fou z&F?k0hNXLh)fAjjbb`>#Xwa7GUc|_)vqXgEF^TcUAnu8zhR|Bg_xoEhe;bbO%6b%CFGZ8}ASDyHK&3KaIZLQV2RFRp1OFM-6z9GW#z!hxvcN(BP8U}Fpg zJ6`No2YumQ3ckH#CR?XmtP;-iCD7Hx$s-+c>tR8#8CNGli+s)QvNF<}P!+Q^RWXE( zkd=f2l~`=eY_i2;%ii=epsL%gj)(Uj^TY?}4wFI>ioU-oYp|v$dK5tK1W{5S;c550 z5sY6N9%wO@) ztmK$Pmsitu&uSr!N#UbHFn;CM%U)n}-uyXZpbH1NM0q#2yQ)siVAYsV_YC02yqGjd zu=rFhdWZ?Vt~cE-f@0FS7GCG6R*pfS1{A&F`ex;C?9$^lpYX<1+udX!$jU2K zeYP6d@2%lDUr21+7w-}8joRd5PkU7uy>+t6suJ!0^y!n9JL@yw^CCD6%|u2kl5BLz z8rBqeqKWf)>XbIOCUTQE$V&W^G5vZpTFl?6Orw?48l(Ai51agipL+wU_k+y9Y>o% z<9yWEhr!GZVLb$dx3ojiZE?%;`;=Aiw@Oow&$#3daAe@#8vaz3)cP}=tYS{Bp}m}X z`Tbmz4yOzX3|=sOt9I6Is$(2FGHgr zgpBF=!dQ5F9JIn&>&9C7{28@%29uvw@tK`G&Qn#wu4;U#0^GUF(ZLzq*?dWc;;MrV zwowNg0KUJ!IU1x(b)HAH&aNs*r_aJkTW@F?YIRYU*Yk4Gc^dcTfbx)x#?NnOs)~-P zgzT&^<-l4+K+@Hu;Td0<8h!C#c5fZ;`wgn(qY{rXV-H;u%6YVC_jT9v?_Ak+Y?F(H3okFR)ChpmGzUm!Be6~bK~Uo>aVI4AY!f6f=jBvSa) zb>G$Yx}9quIGBZv1XMR{N_QTIeg|a__5_bc8M9kD|MOzKhJow-19%3a=>J1N>u05F zdz3lv5*co>EB!d=Q?I~!YiR<4O&|~A30RjEfvLp?^j&9*GY(n&idnN`fmu2GNU`N+ z*8b1?yIT3Zcll4*;4YJy(~PsRyVvVkppcm*F%XK&N&ilddnIJd>wa2DNa7$YC{!)o z*GOReTsikYc{`^_Cn_>GK{i(2wK^pXjVnqLV#*ZD1Ite9CJH{f!sQ&f)uj%qk7^6zW zR{l|QCFZ)}N%Pbkl3N~QN_!>RXvGfp3Sj#8xl2Bmr7-hrSQN6pX?L%!2Bn6jl8FylcHSC~Yzb&ngHpJd3 zDDKB&Y_5e|a?JorssLa8V2ilsu1bjyiX$GyQU=P2fz?4P6}K;s)!V3N{P^kHxnfSu zxmA_isPq>4lK|dtY8v@r_|FLoXwgIhHo)6k?DlA~hmO+m%{41&6vhTER1t<&3piB8 zlsk#YptT>JnMtL+mJBUX35~P5)P9-KV?uZm$Fvz=dl=%-EHZ=7^ZaZGX&Y}=&AnhH zpEp3x#f_s%p}T#1c2QkZ{QJ+}Gb6PfMN0D}3y!8Bpb{4e9Nmlyoj`dh2r}9dgQ~@p zT6nw6!Poh!IlCSmGpEeV8ohkj|j z#@}<4_#)C#z`Q6MXFkny3yoHtoG{{Ps72@IfFkuhO?i$Cijz$T@6%i`2 z$qg0xj9FN&5mC(ImiETgNGX{mcku;qrEDh9+1TK&1IN84=5^PfHKs#C!8eD@uJKBO z%?j`*1@)a-jC0_FY&XMtCgd}r@}nJi#ejJ?Z2OySH1V5|AWsb z)sFGm%h^}$9lMlKW&<>|lub;cNC!_}Slns2pz9u^T2?!uFkla9z}#j6PZ41ewedYx z_F04H4yaAoR1bLcf7I7ay zEC-OLi;uG|^PIB)GBY6_3SH?TXa=sbV_pj#ykKJ-un`(mf_mK&`+v@-eU_h1LF*Q{ zTHaf_5dK{SR>RqpvwLR5K7EEfjEcRnca*1+69_Ap@l=jd>f3wUDq_z>R<;&H<~2zG z^mAJ&d2OxS6+97-&4!mOtfZDGQ*w&d3k$Kw&{~@tV+aaSAgb!ft!1dXKtArEy+7_7 z9;b=kFv4E^C^v#nOw*P(pCZU6@$v0ZBGKu#&Kbj-ban{^{TE$VHRq{n{k}CBAnn(b z(A0Y-DX4umHnoTki|Yg9=$Q9|fmLfXDF--TF94JbY`5p}sNB04J^%cYp&SEqJ@c8z zIS|=!ulr-}_3?_b>7~cLrkU+vkNUoEdPj|CpWvF$EU2}Hwg950Pm3y274&}CRu8rt zjgBI2+#)F>38<((aR6Jbyq4Ze|>=h zfi-U=LYXPB(*Eiw_Qb=m<1nkB(!R4CZBT2LQ|(x*VC5|37N*3N(khv9_ejg$8xq*gpt&`F)Jk+*%)MJ}PQ_}Ny zZwhAqvr}2SkAam8ErKa0K_(uV^3uDK82e$C#?6Nq-$8izUZ!~ zEi*7~>m{NV3iH?6Nbs?*aj-9&8{wHuP#tsbs-_qO2&K4+0NeuKKvFLjpnc7f>0V+xC&H7)7VySpPlxQ3H074TL~vI%VYx8WjKg?zBe=J5W;^5 z@1pcdG~;k~$?*CvCkH1mkN;S4zlCeXpa1xK*5Kxr(OqT*hW(L!$2friuJ^n8@>FEc zgd80hW#1P!2_Hif+yV-HAVSgCe-VJC?#Fr%%LD+A@I2!*c62DVM+Yed-m%vwUXXiM ziw0L}AKwe%S+t4X)N3zd2mMemR*<~s#R{Phc$-heB% z9Ms2L@B5Ji)FqD^V)inUuk(O+6y9@|w^b(XMZ7f`Rl!gYd!7eI8)Qr8#26=RL6pFc zRZ`ZkndrIi3;h_JVbdhRns+gt{5(^wpQ@!yeBbOIxVWR&mY~-c2aN4eWh~9r0)VR2 zs(VP3)57Py@qcFv>0iEnDN*S4exrRRS3wv<1;Em?@u2soW%y9SaJz5gMpw-d+FaBJ zWfneTjT?1{X+?EBOpH-Mh-~Vv=jR~47Po?%{JFHt(=o&W+V9KuRi!|XLq_Wzr==Nt z{dk|Wy-9dnhhAnE;@|)LD?bg%EDTG8#&a0?=id5zwj_2w5PPm*vOluVhXGn-3B^9K z7q&8i>v}G@#d>B*Jmpdb$f|dT=SPlHwrr3GXlr z3mk>>P&?GPW_(K{qUTkcf*E=XFm;y6Fz{@b%b#qhE0bt}oR1Z?eVG9H!%K5hLe}<} z|C@m^9`b0&df^y*?{bDHEGkfKokgIJ$Jk>G=YRqQK{KFp-ZcW$`%x|TLsFnBk1#XT zA67H)u*#qIHSOcPxFY6|t(TCFV!uf53m^ws(%jEx>(VI=&un_<09zY+x3hZo=PQr6 zWCu}}K-QVHR!VleANZNodNVvDV|!CeXlKT>RyIv3UO;dcTXJGzMY7ytSt% z^}%FDiW;hE<%U3+-Z>aS;G@@10Rl%s&nN4cPPekiXV|y1l{GeI8yNq! z=B!yds9oRz@UUqXRd07s;9+?+)~(8wY#|*YdaXpKwF;BO6g%rcavXM{&_z(-j@C-W zY|rl{HtqfXu8|%Go3F1gSRP@0pQ1a`0@cRPypv2X^X0Ap31~G~dz@a&>yvp0$Y_Z!y9YO{x$v`5!nfTG2=G`gPqUqcA?%HG`U}=)B1Fu?=eF+qORfjs?sP@YRCr_hfGEM$N+5jKLja zApZ5oKhnLiL3cZJdT`@&bjR#mgsoQ|d<&UX;*ayhOCn1Hjx>hjT$cM%;uCB&=OX^_ zJRGP;KXh=IZT5N?iBuXtq`Ggq81MUChk#(`Kt$F>27u57vR@IJ$A|g@UW&C~AXoO3 z`h2vGxw+@hmCBT*NBgi;i7*k6WvE6BJMJz^HgnF&B`%e8>e ziNhTXu(zYQT{82@Ot9)02Q~{6?oa=@cz4Ey{k|K|;A)2-uacPZbeXDJ>p`q|Ld%Jm~ zJ1wDZJ>ym}<@NRA^9UL&u&U;FZ>=HzzyJ9w5n=;^LbN4a4D%5P&P5bjUscV1n7?zJ zXycin4?N!61tzwqUGqh~@4JGbnIo6y{6k*F?FaqXySVD%=S8WaJ<$8fE&wQOhS8lK zNi;rFkcf}{Zn`W!Y$?_yl}!{u)QWxTe3%&xN+!MTG%CYt!T5;*b`MLtqOnpv44MX8 zvVgI~p=aDALAmOHdo0Ey5Rs2A#`>$#JDS=7(&&kYIgBSTKv`~h%gL^vb;v*u@r<)H zF;->@uSu-sJkKIEkitMemE~Qs7Bk5E5d*KqWe4YR)}|c?FDhL0*cXtrqT&7h=J`>eEn`7_{}7|S))sr0HS1>E>r7P3V_~u@F~2(?@P5BbH0uP0 z(8v@X@`EfQKo<~qIuF_6mVWDBxWfO`ShfBP@mGbZcC5EnUitSD?m33k=3?+i!+mpf z%0yFPvk~;Li^sLqAM{XH(ptk}`6ZljA>{kzc|)WIzJs4F9Www4rAG;Ndj#Sizy4QN zrb>zbg63qcAJuO0vPj6bmu3P7BBOL!sKf2W52V4n27Rd_r_j*{skMe|E?x2AwZrT? z4KS+Ax1!inveJByx$!2DU&2P+Y5JbqYW61?Ni?I4gC z#|f|W`qaBPQ_MM8#-A@*%1m3k@V`%$=cCbdZLL%=O`NYoK&3p$#HO0@x#oqVA7x`3 zfl_IE{D*kSK+7oOLbkOunX@B?9VcvYZO?e*#`}6C7R?$XB&966YzC1T{Ch3ac)ea2 zL*V_iSeT$N{g#Aj>X~{YvMo|9I`mk`r|rn&q_Jz(a0!pHsbGW|>RI!Vtr0+fUl&@B z@{M=f_)nL=fz_pIT^JA-|vvexUF8DdE`wV%@#9{ z(%ji;&#fAVE&@wsW`f3ctv^`MR+}1V;N~f1E&c#z_r}VSs#sf$^qR{<<$j<7HUu zS-TWK`8IJ}1O;eYHGglnrHD*i z>qAC>sOp43E$51&ji}Kk=DNl$Om73(oqVCWvlZETjyOWn3Q@mPFG+ zrZL1;6-8~m-j?X}(#{b`pJ=K;pXIYz-_@IyBN`4Ro^;#OEvwjKv{~K1-@K1pL3R{D z!fJ$a7H{)zt>btdm*CNo_Ra2P^S)RiRA5*r!~Jm-CNYIKoCjGB27!j!$g&6?wg_29KkKq;TqQyG0cpWjuIlHH zbBMWNnVlc()DJZ;LamKhx_AhW7JR9hR#zMQks}6-PqYeVTMGbq&{Z9H+)1sAJ;r)J zfDZ=@<5GOC>v1)h%#yDccSO#$F!!Y8a#%#mOndal{W4VnkI`|yURrYUI6OSk6#?#e zWCU)9a|2u3#Xm=D>~7%-jtf&J&f`_Co1f>l8=TIppft6j>im+6$6ol)`$7P?E0K9Oy1YZvLz%`8&}(6tddvn-{tr2^0W&NxwRQ5 zlO=0{tV=lHsQPR@&@xJay|uoIa*h4qPGQ$nF{-j5p4W}JpJf}~Mzd5+4!JT=8y`vyHG6av(tM0FfT&58QE8GLuu_sie@MhsL21PIG-p7mVDj2UdX`NyJT9&4>+EVAf>Jd)26m71ZZAs|wf}s&?7wAbE-v%)~RJ zq@U}O|H|0KqpIXx-JcJRvKUN>shV2dXrtBZcO;9!Sv0ZNZeswq;I|Z_qBY~tC z>UL_Fwd4?bL2V2w>pzBT{hW8QQgb4h_k0ZF6g+dUV!iM|w-<5zuq_(=AMbU8*jugLkcA9IzVc+V#%^t7hKp(iD7NdC5qXPDih%I@B$@EI|9%cbTleT0 zQr_cRfs{*wS0-LxCq|R3}0v04mcK1Epv6huE3h;FZ?r(n+NTi|1XXeQ_AG%&p*OM?`_4afoDl8<-t z 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 literal 0 HcmV?d00001 diff --git a/artificer/search-form.php b/artificer/search-form.php new file mode 100755 index 0000000..9c353f4 --- /dev/null +++ b/artificer/search-form.php @@ -0,0 +1,16 @@ + +
                    +
                    + + +
                    +
                    \ No newline at end of file diff --git a/artificer/search.php b/artificer/search.php new file mode 100755 index 0000000..817a421 --- /dev/null +++ b/artificer/search.php @@ -0,0 +1,64 @@ + +
                    + + + +
                    + + + +
                    + +
                    + + + + + + + + + + + + +
                    > +

                    +
                    + + + + + + + +
                    + + + + + +
                    + + \ No newline at end of file diff --git a/artificer/sidebar.php b/artificer/sidebar.php new file mode 100755 index 0000000..873236d --- /dev/null +++ b/artificer/sidebar.php @@ -0,0 +1,25 @@ + + + \ No newline at end of file diff --git a/artificer/single.php b/artificer/single.php new file mode 100755 index 0000000..d36c486 --- /dev/null +++ b/artificer/single.php @@ -0,0 +1,106 @@ + 'false', + 'single_w' => 450, + 'single_h' => 450, + 'thumb_single_align' => 'alignright' + ); + + $settings = woo_get_dynamic_values( $settings ); +?> + +
                    + + \ No newline at end of file diff --git a/artificer/style.css b/artificer/style.css new file mode 100755 index 0000000..c2cad30 --- /dev/null +++ b/artificer/style.css @@ -0,0 +1,3720 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.9 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #e6e1dd; + border: 1px solid #d0c7c0; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("images/body.gif") #e6e1dd; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #6c6158; + font-family: "Karla", sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #d0c7c0; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #968873; + text-decoration: none; +} +a:hover { + color: #52442f; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Cutive", sans-serif; + color: #342e2a; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #918c88; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: "Cutive", sans-serif; + padding: 1em; + background: #e6e1dd; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #e6e1dd; + border-color: #e6e1dd transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("typefaces/websymbols-regular-webfont.eot"); + src: url("typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("typefaces/websymbols-regular-webfont.woff") format('woff'), url("typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #e6e1dd; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #c4bfbb; + text-shadow: 0 1px 0 #e6e1dd; +} +table thead tr th { + background-color: #e6e1dd; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e6e1dd), to(#d5d0cc)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e6e1dd, #d5d0cc); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e6e1dd, #d5d0cc); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e6e1dd, #d5d0cc); + /* IE10 */ + background-image: -o-linear-gradient(top, #e6e1dd, #d5d0cc); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e6e1dd, #d5d0cc); + color: #4a3f36; + -webkit-box-shadow: inset 0 2px 0 #f7f2ee; + -moz-box-shadow: inset 0 2px 0 #f7f2ee; + box-shadow: inset 0 2px 0 #f7f2ee; +} +table tbody tr { + border: 1px solid #d5ccc5; +} +table tbody tr th, +table tbody tr td { + background-color: #ece9e6; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ece9e6), to(#e6e1dd)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ece9e6, #e6e1dd); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ece9e6, #e6e1dd); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ece9e6, #e6e1dd); + /* IE10 */ + background-image: -o-linear-gradient(top, #ece9e6, #e6e1dd); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ece9e6, #e6e1dd); + -webkit-box-shadow: inset 0 2px 0 #f7f6f5; +} +table tbody tr:first-child { + border-top-color: #bbada2; +} +table tfoot { + border: 1px solid #d5d0cc; + border-top-color: #c4bfbb; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: "Cutive", sans-serif, serif; + background: url("images/nav.gif") #e6e1dd; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc7c3; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #6c6158; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #6c6158; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #856270; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #fcfbfa; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfbfa), to(#e6e1dd)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fcfbfa, #e6e1dd); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #fcfbfa, #e6e1dd); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #fcfbfa, #e6e1dd); + /* IE10 */ + background-image: -o-linear-gradient(top, #fcfbfa, #e6e1dd); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #fcfbfa, #e6e1dd); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #967381; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #7a5c68; + -webkit-box-shadow: inset 0 0 0 0.236em #7a5c68; + text-shadow: 0 1px 0 #63404e; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #7a5c68; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("images/leather.png"), url("images/noise.png"); + background-color: #968873; + box-shadow: inset 0.618em 0 0 0 #746651; + -webkit-box-shadow: inset 0.618em 0 0 0 #746651; + color: #d8d2ca; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #aca190; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: "Cutive", sans-serif; + font-size: 1.618em; + color: #ffffff; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("images/leather.png"), url("images/noise.png"); + background-color: #967381; + color: #d8cad0; + box-shadow: inset 0.618em 0 0 0 #74515f; + -webkit-box-shadow: inset 0.618em 0 0 0 #74515f; + font-family: "Cutive", sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #ac909b; +} +.home #sidebar .tweet ul li a { + color: #ffffff; + background: #6c515c; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #5d464f; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: "Karla", sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #887a6f; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #c4bfbb; + border-bottom: 0; + position: relative; + background: url("images/nav.gif") #f7f2ee; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #d3cac3; + background-image: -webkit-gradient(linear, left top, left bottom, from(#d3cac3), to(#d9d1cb)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #d3cac3, #d9d1cb); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #d3cac3, #d9d1cb); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #d3cac3, #d9d1cb); + /* IE10 */ + background-image: -o-linear-gradient(top, #d3cac3, #d9d1cb); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #d3cac3, #d9d1cb); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #c4bfbb; + border-top-color: #b3aeaa; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #b0a59c; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #d0c7c0 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("images/crinkles.png") top no-repeat, url("images/post.png"), url("images/nav.gif"); + background-color: #f7f2ee; + border: 1px solid #c4bfbb; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #342e2a; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #dbd4ce; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #dbd4ce; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(230, 225, 221, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(230, 225, 221, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #d0c7c0; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #bbada2; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #e6e1dd; + border: 1px solid #d0c7c0; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #6c6158; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #746651; + -webkit-box-shadow: 0 0 0 0.327em #746651; + text-shadow: 0 1px 0 #746651; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: "Cutive", sans-serif; + background: url("images/leather.png"), url("images/noise.png"); + background-color: #968873; + border: 1px dashed #bbb8b4; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #d0c7c0; + border-bottom: 1px solid #d0c7c0; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #d0c7c0; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #6c6158; + border-bottom: 1px solid #d0c7c0; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("images/nav.gif") #e6e1dd; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #ccc7c3; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #d0c7c0; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #c2baad; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #6c6158; + box-shadow: 0 0 0.236em 0 #d8d2ca; + -webkit-box-shadow: 0 0 0.236em 0 #d8d2ca; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #6c6158; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #e5e1de; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #d0c7c0; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #bbada2; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #d0c7c0; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #887a6f; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #d0c7c0; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("images/noise.png"), url("images/leather.png"); + background-color: #967381; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #b79fa8; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #d8cad0; + text-shadow: 0 1px 1px #7a5c68; + box-shadow: 0 1px 2px 0 #7a5c68; + -webkit-box-shadow: 0 1px 2px 0 #7a5c68; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #ffffff; +} +.widget_woo_twitter ul li .time { + color: #ffffff; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #887a6f; +} +.widget_woo_twitter p a { + color: #342e2a; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #c7c2be; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #7b7b7b; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #b3aeaa; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c4bfbb; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c4bfbb; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c4bfbb; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: "Karla", sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: "Karla", sans-serif; + color: #6c6158; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #887a6f; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: "Karla", sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #d0c7c0; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #887a6f; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #94877c; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #6c6158; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #d0c7c0; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #d0c7c0; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #d0c7c0; + background: #e6e1dd; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #bbada2; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #967381; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("images/noise.png"), url("images/leather.png"); + background-color: #968873; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #c2baad; + box-shadow: 0 0 0 0.236em #968873; + -webkit-box-shadow: 0 0 0 0.236em #968873; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #967381; + border: 2px dashed #b895a3; + box-shadow: 0 0 0 2px #967381; + -webkit-box-shadow: 0 0 0 2px #967381; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #52442f; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(230, 225, 221, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #c4bfbb; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #c4bfbb; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #e6e1dd; + background-color: #e6e1dd; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e6e1dd), to(#d5d0cc)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e6e1dd, #d5d0cc); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e6e1dd, #d5d0cc); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e6e1dd, #d5d0cc); + /* IE10 */ + background-image: -o-linear-gradient(top, #e6e1dd, #d5d0cc); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e6e1dd, #d5d0cc); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #f7f2ee; + -moz-box-shadow: inset 0 1px 0 #f7f2ee; + box-shadow: inset 0 1px 0 #f7f2ee; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #ece9e6; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ece9e6), to(#e6e1dd)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ece9e6, #e6e1dd); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ece9e6, #e6e1dd); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ece9e6, #e6e1dd); + /* IE10 */ + background-image: -o-linear-gradient(top, #ece9e6, #e6e1dd); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ece9e6, #e6e1dd); + border-top: 1px solid #c4bfbb; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #c4bfbb; + -webkit-box-shadow: inset 0 1px 0 #f7f6f5; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #4a3f36; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #c4bfbb; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("images/noise.png"), url("images/leather.png"); + background-color: #968873; + color: #cdc6bc; + text-shadow: 0 1px 1px #5d5446; + border: 1px solid #52442f; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #c2baad; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #f8f7f6; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #857762; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #968873 0%, #c9bba6 100%); + background-image: -o-linear-gradient(left, #968873 0%, #c9bba6 100%); + background-image: -moz-linear-gradient(left, #968873 0%, #c9bba6 100%); + background-image: -webkit-linear-gradient(left, #968873 0%, #c9bba6 100%); + background-image: -ms-linear-gradient(left, #968873 0%, #c9bba6 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #968873), color-stop(1, #c9bba6)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #857762; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #7d7269; + background: #746651; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #b7aea6; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #6c6158; + box-shadow: 0 0 0.236em 0 #e5e1de; + -webkit-box-shadow: 0 0 0.236em 0 #e5e1de; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #d8cad0; + -webkit-box-shadow: 0 0 0.618em 0 #d8cad0; + border: 1px solid #c2adb5; +} +::-webkit-input-placeholder { + color: #c1b6ad; +} +:-moz-placeholder { + color: #c1b6ad; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("images/leather.png"), url("images/noise.png"); + background-color: #967381; + border: 1px dashed #c9a6b4; + box-shadow: 0 0 0 0.327em #74515f; + -webkit-box-shadow: 0 0 0 0.327em #74515f; + cursor: pointer; + text-shadow: 0 1px 0 #74515f; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #856270; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("images/ajax-loader.gif") center no-repeat #967381; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #968873; + box-shadow: 0 0 0 0.327em #746651; + -webkit-box-shadow: 0 0 0 0.327em #746651; + border-color: #bbb8b4; + text-shadow: 0 1px 0 #746651; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #857762; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #968873 !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ diff --git a/artificer/style.less b/artificer/style.less new file mode 100755 index 0000000..b80a17a --- /dev/null +++ b/artificer/style.less @@ -0,0 +1,3065 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.9 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ + +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ + +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ + +html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; vertical-align: baseline; } +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } +blockquote, q { quotes: none; } +blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } +table { border-collapse: collapse; border-spacing: 0; } +/* Hand cursor on clickable input elements */ +label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; } +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { -ms-interpolation-mode: bicubic; } +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { overflow: auto; } +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, input, select, textarea { margin: 0; } +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; background: @bg_light; border: 1px solid @border_main; padding: 10px; margin-bottom: 20px; } +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, code, kbd, samp { font-family: monospace, @sans; } +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, a:active { outline: none; } +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, sup { font-size: 75%; line-height: 0; position: relative; } +sup { top: -0.5em; } +sub { bottom: -0.25em; } + + +/* Floating & Alignment */ +.fl{float:left;} +.fr{float:right;} +.ac{text-align:center;} +.ar{text-align:right;} +.clear { clear: both; } + +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, .fix:after, .col-full:before, .col-full:after { content: "\0020"; display: block; height: 0; overflow: hidden; } +.fix:after, .col-full:after { clear: both; } +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, .col-full { zoom: 1; } + +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ + +@import url(css/mixins.less); + +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ + +/* 1.1 Defaults */ +html { + font-size: 62.5%; // Reset font size to 10px for easy calculation + background:url("@{img_path}/body.gif") @bg_light; +} +body { + font-size:1.4em; // 14 px + line-height: 1.618; // golden ratio + color: @color_body; + font-family: @sans_google; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + //-webkit-font-smoothing: antialiased; + background: url("@{img_path}/body.png"); +} + +#wrapper { + padding:0 1.618em; +} + +img { vertical-align: bottom; max-width: 100%; height: auto; } +hr { background-color: @border_main; border:0; height: 1px; margin-bottom: 1.618em; } + +/* 1.2 Hyperlinks */ + +a { + color: @color_links; + text-decoration:none; + + &:hover { + color: @color_links - #444; + } +} + +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ + +h1, h2, h3, h4, h5, h6 { + font-family: @serif_google; + color: darken(@color_body, 20%); + margin:0 0 .618em; + a { + text-decoration: none; + + } +} + +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: + 0 2px 0 #fff, + 0 3px 0 @bg_light - #555; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens : auto; + -webkit-hyphenate-character : "\2010"; + -webkit-hyphenate-limit-after : 1; + -webkit-hyphenate-limit-before : 3; + -moz-hyphens : auto; + orphans : 3; + widows : 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: @serif_google; + padding:1em; + background: @bg_light; + position: relative; + .border_radius(.327em); + &:after { + content: ""; + display: block; + position: absolute; + border:1em solid @bg_light; + border-color:@bg_light transparent transparent transparent; + bottom:-2em; + left:1.618em; + } + p:last-child { + margin-bottom:0; + } +} +// Set up consistent margins for all relevent block level elements +ul,ol,dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} + +li > ul, +li > ol{ + margin:0 0 0 1.618em; +} + +dl { + dt { + font-weight: 700; + } + dd { + margin-bottom:1.618em; + } +} + +mark { + background: rgba(255,255,255,0.5); +} + +// Sexy ampersands +.ampersand { + font-family: 'Baskerville','Goudy Old Style','Palatino','Book Antiqua', serif; + font-style: italic; +} + +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("@{typeface_path}/websymbols-regular-webfont.eot"); + src: url("@{typeface_path}/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), + url("@{typeface_path}/websymbols-regular-webfont.woff") format('woff'), + url("@{typeface_path}/websymbols-regular-webfont.ttf") format('truetype'), + url("@{typeface_path}/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} + +/* 1.4 Tables */ +table { + width:100%; + background: @bg_light; + .box_shadow(0,1px,2px,0,rgba(0,0,0,0.05)); + th, td { + vertical-align: top; + padding:.382em .857em; + text-align: left; + .text_shadow(0,1px,0,rgba(255,255,255,0.75)); + } + thead { + border:1px solid @bg_light - #222; + .text_shadow(0,1px,0,@bg_light); + tr { + th { + .vertical_gradient(@bg_light, @bg_light - #111); + color: @color_body - #222; + -webkit-box-shadow: + inset 0 2px 0 @bg_light + #111; + -moz-box-shadow: + inset 0 2px 0 @bg_light + #111; + box-shadow: + inset 0 2px 0 @bg_light + #111; + } + } + } + tbody { + tr { + border: 1px solid darken(@bg_light,8%); + th, td { + .vertical_gradient(lighten(@bg_light,3%), @bg_light); + -webkit-box-shadow: + inset 0 2px 0 lighten(@bg_light,8%); + } + &:first-child { + border-top-color:darken(@bg_light,20%); + } + } + } + tfoot { + border:1px solid @bg_light - #111; + border-top-color:@bg_light - #222; + } +} + + +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ + +/* 2.1 Containers & Columns */ + + +/* 2.2 Navigation */ +ul.nav { // Styles applied to all instances of navigation + li { + a { + padding:.53em 1em; + display: block; + } + } +} + +#navigation{ + clear:both; + margin-bottom: 2.618em; + display: none; + font-family: @serif_google, serif; + background: url("@{img_path}/nav.gif") @bg_light; + .border_radius(.236em); + border:1px solid @bg_light - #1a1a1a; + -webkit-box-shadow: + inset 0 0 0 0.382em rgba(255,255,255,0.6), + 0 1em 2em rgba(0,0,0,0.1); + -moz-box-shadow: + inset 0 0 0 0.382em rgba(255,255,255,0.6), + 0 1em 2em rgba(0,0,0,0.1); + box-shadow: + inset 0 0 0 0.382em rgba(255,255,255,0.6), + 0 1em 2em rgba(0,0,0,0.1); + + ul.nav { + margin-bottom:0; + list-style: none; + padding:1em; + li { + a { + &:hover { + text-decoration: none; + } + } + } + ul { + list-style: none; + } + } + + ul.rss { + background:url("@{img_path}/ico-rss.png") no-repeat right 44%; + margin:0 1em 0 0; + padding:0 1em 0 0; + li { + display: inline; + padding:0; + a { + color: @color_body; + text-decoration:none; + padding:.5em 1em; + display: inline-block; + position: relative; + } + &.sub-email { color: @color_body; } + } + } +} +/* 2.2.2 Top Navigation (optional) */ +#top { + select { + margin: 1.618em 0 0; + width:100%; + } + #top-nav { + display: none; + } +} + +/* 2.3 Header */ +#header { + padding:3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; + #logo { + float: left; + } + .site-title { + margin-bottom:0; + display: none; + a { + color: @color_theme - #111; + } + &.visible { + display: block; + } + } + .site-description { + display: none; + &.visible { + display: block; + } + } + #topad { + float: right; + } + a.cart-button, a.checkout { + .vertical_gradient(lighten(@bg_light,10%),@bg_light); + padding:.236em .236em .236em .857em; + .border_radius(1em); + margin-left:.618em; + display: inline-block; + .text_shadow(0,1px,0,#fff); + -webkit-box-shadow: + inset 0 0 0 .146em rgba(255,255,255,0.5), + 0 1px 1px rgba(0,0,0,0.2); + -moz-box-shadow: + inset 0 0 0 .146em rgba(255,255,255,0.5), + 0 1px 1px rgba(0,0,0,0.2); + box-shadow: + inset 0 0 0 .146em rgba(255,255,255,0.5), + 0 1px 1px rgba(0,0,0,0.2); + + .lozenge, .items { + background: @color_theme; + padding:.236em .857em; + .border_radius(1em); + margin-left:.53em; + color: #fff; + .inset_box_shadow(0,0,0,.236em,darken(@color_theme,10%)); + .text_shadow(0,1px,0,@color_theme - #333); + } + .label { + &:before { + .iconbefore; + content: "Z"; + } + } + &:hover { + .lozenge, .items { + background: darken(@color_theme,10%); + } + -webkit-box-shadow: + inset 0 0 0 .146em rgba(255,255,255,0.5), + inset 0 0 1.618em rgba(255,255,255,0.5), + 0 1px 1px rgba(0,0,0,0.2); + -moz-box-shadow: + inset 0 0 0 .146em rgba(255,255,255,0.5), + inset 0 0 1.618em rgba(255,255,255,0.5), + 0 1px 1px rgba(0,0,0,0.2); + box-shadow: + inset 0 0 0 .146em rgba(255,255,255,0.5), + inset 0 0 1.618em rgba(255,255,255,0.5), + 0 1px 1px rgba(0,0,0,0.2); + } + } + a.checkout { + padding:.236em; + display: none; + .lozenge { + margin-left:0; + &:after { + .iconafter; + content: "]"; + } + } + } + #main-nav { + text-align: left; + } + .nav-toggle { + margin-top:1em; + a { + &:before { + .iconbefore; + content: "²"; + } + } + } +} + +/* 2.4 Content */ +#content { +} + +/* 2.4.1 Slider */ + +/* 2.5 Sidebar */ +#sidebar{ + .secondary { + float: left; + margin-right:20px; + &.last { margin:0; } + } +} + +// Homepage sidebar +.home { + #sidebar { + .tweet, .phone, .email { // rotatey styles + .rotate(1deg); + position: relative; + background: url("@{img_path}/leather.png"), url("@{img_path}/noise.png"); + background-color: @color_links; + .inset_box_shadow(.618em,0,0,0,@color_links - #222); + color: lighten(@color_links,30%); + margin-bottom:1.618em; + padding:1em; + list-style: none; + position: relative; + .text_shadow(0,1px,2px,rgba(0,0,0,0.35)); + .inner { + padding:1em 1.618em; + border:2px dashed lighten(@color_links,10%); + .rotate(-1deg); + a { + display: block; + font-family: @serif_google; + font-size: 1.618em; + color: lighten(@color_links,50%); + .text_shadow(0,3px,0,rgba(0,0,0,0.2)); + } + } + &:before { + content: ""; + display: block; + position: absolute; + top:0; + left:0; + right:0; + bottom:0; + background: rgba(0,0,0,0.2); + .rotate(-1deg); + } + } + .phone { + .rotate(-1deg); + .inner { + .rotate(1deg); + } + &:before { + .rotate(1deg); + } + } + .tweet { + background: url("@{img_path}/leather.png"), url("@{img_path}/noise.png"); + background-color: @color_theme; + color: lighten(@color_theme,30%); + .inset_box_shadow(.618em,0,0,0,@color_theme - #222); + font-family: @serif_google; + padding:0; + border:0; + + ul { + .rotate(-1deg); + padding:1em; + list-style: none; + padding:1em; + li { + + border:2px dashed lighten(@color_theme,10%); + a { + color:lighten(@color_theme,50%); + background: darken(@color_theme,15%); + .border_radius(1em); + padding:.236em .618em; + &:hover { + background: darken(@color_theme,20%); + } + } + a.time { + display: block; + background: none; + padding:0; + font-family: @sans_google; + margin-top:1.618em; + &:hover { + text-decoration: underline; + } + &:before { + .iconbefore; + content: "t"; + } + } + } + } + } + .phone, .email { + &:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size:40px; + top:1em; + right:1em; + color: rgba(0,0,0,0.25); + .rotate(-3deg); + text-shadow:none; + } + } + .email { + &:after { + content: "@"; + .rotate(2deg); + top:.5em; + } + } + } +} + +/* 2.6 Footer */ +#footer{ + padding: 2.618em 0; + color: lighten(@color_body, 10%); + #credit { + img { + vertical-align: middle; + } + span { + display: none; + } + } +} + +#footer-widgets { + padding:2.618em; + .borderbox; + border:1px solid @bg_light - #222; + border-bottom:0; + position: relative; + background: url("@{img_path}/nav.gif") @bg_light + #111; + -webkit-box-shadow: + inset 0 .53em 2.618em rgba(0,0,0,0.05), + inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), + 0 1px 1px rgba(0,0,0,0.15), /* The top layer shadow */ + 0 10px 0 -5px #eee, /* The second layer */ + 0 10px 1px -4px rgba(0,0,0,0.125), /* The second layer shadow */ + 0 20px 0 -10px #eee, /* The third layer */ + 0 20px 1px -9px rgba(0,0,0,0.125), /* The third layer shadow */ + 0 1em 2em rgba(0,0,0,0.1); + box-shadow: + inset 0 .53em 2.618em rgba(0,0,0,0.05), + inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), + 0 1px 1px rgba(0,0,0,0.15), /* The top layer shadow */ + 0 10px 0 -5px #eee, /* The second layer */ + 0 10px 1px -4px rgba(0,0,0,0.125), /* The second layer shadow */ + 0 20px 0 -10px #eee, /* The third layer */ + 0 20px 1px -9px rgba(0,0,0,0.125), /* The third layer shadow */ + 0 1em 2em rgba(0,0,0,0.1); + .widget { + h3 { + border: 0; + } + } +} + +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom:1.618em; + .breadcrumb-trail { + .vertical_gradient(darken(@bg_light,9%), darken(@bg_light,6%)); + display: inline-block; + padding:.146em .382em; + .border_radius(.327em); + border:1px solid @bg_light - #222; + border-top-color:@bg_light - #333; + .text_shadow(0,1px,0,rgba(255,255,255,0.35)); + -webkit-box-shadow: + inset 0 1px 3px rgba(0,0,0,0.05), + 0 1px 0 rgba(255,255,255,0.75); + box-shadow: + inset 0 1px 3px rgba(0,0,0,0.05), + 0 1px 0 rgba(255,255,255,0.75); + } + .sep { + color: @color_body + #444; + font-family: 'WebSymbolsRegular'; + font-size: .857em; + } + + a { + padding:.146em .382em; + } + .trail-end { + padding:.146em .618em; + } +} + +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, .post .video { + margin-bottom:1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin:0 0 1.618em; + padding:0 0 1em; + font-weight: 700; + border-bottom:@border_main 1px solid; +} +.archive-description { + clear:both; + margin-bottom:1.618em; +} + +.post, .type-page { + margin:0 0 2.618em; + padding:1.618em; + position: relative; + background: url("@{img_path}/crinkles.png") top no-repeat, url("@{img_path}/post.png"), url("@{img_path}/nav.gif"); + background-color: @bg_light + #111; + border:1px solid @bg_light - #222; + border-bottom:0; + .border_radius(2px); + -webkit-box-shadow: + inset 0 .53em 2.618em rgba(0,0,0,0.05), + inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), + 0 1px 1px rgba(0,0,0,0.15), /* The top layer shadow */ + 0 10px 0 -5px #eee, /* The second layer */ + 0 10px 1px -4px rgba(0,0,0,0.125), /* The second layer shadow */ + 0 20px 0 -10px #eee, /* The third layer */ + 0 20px 1px -9px rgba(0,0,0,0.125), /* The third layer shadow */ + 0 1em 2em rgba(0,0,0,0.1); + box-shadow: + inset 0 .53em 2.618em rgba(0,0,0,0.05), + inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), + 0 1px 1px rgba(0,0,0,0.15), /* The top layer shadow */ + 0 10px 0 -5px #eee, /* The second layer */ + 0 10px 1px -4px rgba(0,0,0,0.125), /* The second layer shadow */ + 0 20px 0 -10px #eee, /* The third layer */ + 0 20px 1px -9px rgba(0,0,0,0.125), /* The third layer shadow */ + 0 1em 2em rgba(0,0,0,0.1); + + header h1 { + font-weight: 700; + position:relative; + a:link, a:visited { + color: darken(@color_body, 20%); + } + } + + .woo-image:first-child { + float: left; + margin-left:0; + width: 100%; + height: auto; + .borderbox(); + } + + + + header { + h1 { + padding-right:4em; + } + } + + .post-meta { + margin:0 0 1.618em 0; + border-bottom:2px dashed darken(@bg_light,5%); + ul { + margin-bottom:.53em; + } + li { + display: inline; + margin:0 1.387em 0 0; + font-size: .857em; + &:before, a:before { + .iconbefore; + } + &.post-author { + a { + &:before { + content: "U"; + } + } + } + &.post-date { + &:before { + content: "P"; + } + } + &.post-category { + a { + &:before { + content: "F"; + } + } + } + &.tags { + &:before { + content: ","; + } + } + &.edit { + a { + &:before { + content: "S"; + } + } + } + } + } + .post-more { + clear: both; + font-size:.857em; + border-top:2px dashed darken(@bg_light,5%); + padding-top:1em; + a { + padding:.327em .618em; + background: fade(@bg_light,70%); + .border_radius(.202em); + margin-right:.53em; + &:hover { + background: fade(@bg_light,90%); + } + &:before { + .iconbefore; + } + } + .comments { + a { + &:before { + content: "c"; + } + } + } + .read-more { + a { + &:before { + content: "b"; + } + } + } + } + p.tags { + background:url("@{img_path}/ico-tag.png") no-repeat top left; + padding-left:1.618em; + width:100%; + clear:both; + } + + /* 3.1 Images */ + img, img.thumbnail { + padding:.327em; + border:1px solid @border_main; + background: #fff; + &:hover { + border-color: darken(@border_main, 10%); + } + } + img.wp-smiley { + padding:0; + border: 0; + } + .alignleft { + float: left; + margin:0 1.618em 1em 0; + } + .alignright { + float: right; + margin:0 0 1em 1.618em; + } + .aligncenter { + display: block; + text-align: center; + margin:0 auto 1.618em; + } + .wp-caption { + padding:.077em; + text-align: center; + background: @bg_light; + border: 1px solid @border_main; + img { + margin:0; + padding:.327em 0; + background: none; + border: 0; + } + } + .wp-caption-text { + margin:0; + padding:0; + text-align: center; + } +} + +.type-page { + &:after { + display: none; + } +} + + +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, .wp-pagenavi, .woo-pagination { + padding:1em 1.618em; +} +.nav-entries { + a { + display: block; + color: @color_body; + text-decoration: none; + &:hover { text-decoration: underline; } + } +} +.woo-pagination { + margin:0; + text-align: center; + margin:0 0 1.618em; + .current { + .box_shadow(0,0,0,.327em,@color_links - #222); + .text_shadow(0,1px,0,@color_links - #222); + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: @serif_google; + background: url("@{img_path}/leather.png"), url("@{img_path}/noise.png"); + background-color: @color_links; + border:1px dashed desaturate(@color_links + #333,20%); + } +} + +.woocommerce { + .woocommerce_ordering, .woocommerce_result_count, .woocommerce-ordering, .woocommerce-result-count { + width:48%; + float: left; + & + ul.products { + clear:both; + } + } + .woocommerce_ordering, .woocommerce-ordering { + text-align: right; + } +} + +/* 3.3 Single Post Author */ +#post-author { + clear:both; + margin-bottom:1.618em; + padding:1.618em; + .clearfix(); + .profile-image { + float: right; + width:13.45%; + .lifted(); + &:before, &:after { + .box_shadow(0,15px,5px,0,rgba(0,0,0,0.3)); + } + img { + width:100%; + height: auto; + padding:.618em .618em 1.618em; + background: #fff; + .borderbox(); + border:1px solid #fff; + -webkit-box-shadow: + inset 0 -.146em 1em rgba(0,0,0,0.05), + 0 1px 2px rgba(0,0,0,0.2); + box-shadow: + inset 0 -.146em 1em rgba(0,0,0,0.05), + 0 1px 2px rgba(0,0,0,0.2); + } + } + .profile-content { + width: 82.7%; + float: left; + } +} + +/* 3.4 Post Entry Nav */ +#post-entries { + border-top:1px solid @border_main; + border-bottom:1px solid @border_main; + padding:1.618em; + margin-bottom:1.618em; +} + +/* 3.5 Connect */ +#connect { + clear:both; + margin-bottom:1.618em; + .newsletter-form { + .email { + width:140px; + } + } + .social { + a { + .opacity(0.8); + .transition(); + &:hover { + .opacity(1); + } + } + } + .related-posts { + border-left:1px solid @border_main; + padding-left:1em; + ul { + list-style: none; + } + } + .social { + a { + display:inline-block; + height:28px; + width: 31px; + background-image: url("@{img_path}/ico-subscribe-social.png"); background-repeat:no-repeat; + } + a.subscribe { background-position: 0px 0;  } + a.twitter { background-position: -2.244em 0;  } + a.facebook { background-position: -60px 0;  } + a.youtube { background-position: -90px 0;  } + a.flickr { background-position: -120px 0;  } + a.linkedin { background-position: -150px 0;  } + a.delicious { background-position: -180px 0;  } + a.googleplus { background-position: -210px 0;  } + } +} + +.widget #connect { + .fl, .fr { + float: none; + } +} + +#main #connect { + .col-left, .col-right { + width:48%; + } +} + +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; + h3 { + color:@color_body; + border-bottom:1px solid @border_main; + } + ul { + clear: both; + list-style: none; + li { + a { + text-decoration: none; + &:hover { + text-decoration: underline; + } + } + } + &:last-child { + margin-bottom:0; + } + } +} + +// Widgets in the sidebar +#sidebar { + .widget { + .rotate(.5deg); + position: relative; + background: url("@{img_path}/nav.gif") @bg_light; + margin-bottom:1.618em; + padding:1em; + list-style: none; + position: relative; + border:1px solid @bg_light - #1a1a1a; + -webkit-box-shadow: + inset 0 0 0 0.382em rgba(255,255,255,0.6), + 0 1em 2em rgba(0,0,0,0.1); + -moz-box-shadow: + inset 0 0 0 0.382em rgba(255,255,255,0.6), + 0 1em 2em rgba(0,0,0,0.1); + box-shadow: + inset 0 0 0 0.382em rgba(255,255,255,0.6), + 0 1em 2em rgba(0,0,0,0.1); + .inner { + .rotate(-.5deg); + } + .inner { + padding: 1.618em; + border:2px dashed darken(@bg_light,10%); + + } + h3 { + border: 0; + } + &:before, &:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; + } + &:before { + height: 1.618em; + top:0; + width:100%; + background: url("@{img_path}/string-top.png") top center no-repeat; + margin-top:12px; + z-index: 9999; + .rotate(.5deg); + } + &:after { + height:3.631em; + top:100%; + background: url("@{img_path}/string.png") top center no-repeat; + width:100%; + margin-top:-1.618em; + .rotate(-.5deg) + } + &:last-child:after { + display: none; + } + &:first-child:before { + display: none; + } + } + .widget.alt { + .rotate(-.5deg); + .inner { + .rotate(.5deg); + } + &:after, &:before { + .rotate(.5deg); + } + } +} + +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, #searchform { + border: 1px solid lighten(@color_links,20%); + .border_radius(.236em); + font-size: .857em; + font-family: @serif_google; /* Make inputs use the correct typeface instead of the browser default */ + .borderbox(); + color: @color_body; + .box_shadow(0,0,.236em,0,lighten(@color_links,30%)); + padding:.53em .53em .53em 0; + background: #fff; + position: relative; + label { display: none; } + input.s, input#s { padding: .53em .857em; .borderbox(); margin:0; border:0; background: none; color: @color_body; -webkit-box-shadow:none; -moz-box-shadow:none; box-shadow:none; + &:focus { + -webkit-box-shadow:none; -moz-box-shadow:none; box-shadow:none; + } + } + input.search-submit, input#searchsubmit { + position: absolute; + left:-999em; + } + &:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top:.857em; + right:1em; + color: lighten(@color_body,50%); + } +} + +/* FLICKR */ +.widget_woo_flickr { + h3 { + span { + color:#0051d8; + span { + color:#ff1183; + } + } + } + .flickr_badge_image { + float: left; + margin:0.236em; + } + .wrap { + position: relative; + margin-bottom:1.618em; + padding:0; + } + a { + img { + float: left; + margin:0 0 0.618em 0.618em; + display: block; + border: 1px solid @border_main; + padding:.236em; + } + &:hover { + img { + border-color: darken(@border_main, 10%); + } + } + } +} + +/* CALENDAR */ +#wp-calendar{ + width:95%; + margin-bottom:1.618em; + clear:both; + padding:0; + caption { + padding:1em; + } + th, td { + text-align: center; + background: darken(@bg_light, 10%); + padding:.236em 0; + } + td { + background: transparent; + color: lighten(@color_body, 10%); + } +} + +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo { + .avatar { + padding: .382em; + border: 1px solid @border_main; + } + .left { + float: left; + margin:0 1em .618em 0; + } + .right { + float: right; + margin:0 .618em 1em; + } +} + +/* TWITTER */ +.widget_woo_twitter { + .back { + + } + h3 { + border-bottom:0; + margin:0 0 2px; + img { vertical-align: middle; } + } + ul { + background: url("@{img_path}/noise.png"), url("@{img_path}/leather.png"); + background-color: @color_theme; + padding-left:0; + padding:1em; + .inset_box_shadow(0,0,0,.382em,rgba(0,0,0,0.1)); + .border_radius(.202em); + li { + padding:1em; + list-style: none; + border:2px dashed lighten(@color_theme,15%); + background: rgba(255,255,255,0.1); + margin-bottom:1em; + color: lighten(@color_theme,30%); + .text_shadow(0,1px,1px,darken(@color_theme,10%)); + .box_shadow(0,1px,2px,0,darken(@color_theme,10%)); + &:last-child { + margin-bottom:0; + } + a { + padding:0; + color: lighten(@color_theme,50%); + } + .time { + color: lighten(@color_theme,50%); + display: block; + &:before { + .iconbefore; + content: "t"; + } + } + } + } + p { + font-weight: 700; + color: lighten(@color_body, 10%); + a { color: darken(@color_body, 20%); } + } +} + +/* DOJO TABS */ + +.theme-artificer { // to override dojo styles + .tabbable { + .nav { + li { + margin-bottom:0; + margin-right:.857em; + a { + padding:0; + border:0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right:0; + &:hover { + background: none; + border: 0; + } + } + &.active { + a { + background: none; + border: 0; + &:hover { + background: none; + border: 0; + } + } + } + &.tab-heading-latest, &.tab-heading-popular, &.tab-heading-comments, &.tab-heading-tags { + a:before { + .iconbefore; + content: "b"; + margin-right:.382em; + } + } + &.tab-heading-latest a:before { content: "P"; } + &.tab-heading-popular a:before { content: "R"; } + &.tab-heading-comments a:before { content: "c"; } + &.tab-heading-tags a:before { content: ","; } + } + } + .tab-content { + overflow: visible; + } + .tab-pane { + ul { + padding:0; + img { + margin:0 1em 1em 0; + padding:.382em .382em 1em; + background: #fff; + .box_shadow(0,1px,2px,0,rgba(0,0,0,0.2)); + } + li { + overflow: visible; + .clearfix(); + } + } + } + } +} + +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 5.1 Comments */ +#comments { + position:relative; + ul, li { + list-style: none; + } + li.comment { + position: relative; + + #respond { + margin-top:1em; + .comment-form-author{ + clear: both; + } + } + } + .comment-container, .comment_container { + padding:2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("@{img_path}/comment.png") top left repeat-y #f5f1db; + .lifted(); + .border_radius(.236em); + -webkit-box-shadow: + 0 .202em .382em 0 rgba(0,0,0,0.075), + inset 0 0 0 1px #faf9ef, + inset 0 .53em 2.618em rgba(0,0,0,0.05); + -moz-box-shadow: + 0 .202em .382em 0 rgba(0,0,0,0.075), + inset 0 0 0 1px #faf9ef, + inset 0 .53em 2.618em rgba(0,0,0,0.05); + box-shadow: + 0 .202em .382em 0 rgba(0,0,0,0.075), + inset 0 0 0 1px #faf9ef, + inset 0 .53em 2.618em rgba(0,0,0,0.05); + border:1px solid @bg_light - #1f1f1f; + margin-bottom:1.618em; + font-family: 'Schoolbell', sans-serif; // gloria hallelujah + color: desaturate(lighten(@color_body,10%),20%); + .text_shadow(0,1px,0,rgba(255,255,255,0.6)); + .star-rating, .star-rating span { + background-image: url("@{img_path}/ico-star-scribbled.png"); + } + &.thread-even { + } + &.bypostauthor { + } + .meta, .comment-head { + &:before { + content: ""; + height: 1em; + width: 1em; + border:1px solid @bg_light - #333; + position: absolute; + bottom:40%; + left:1em; + display: block; + z-index: 99999; + background: url("@{img_path}/body.gif"); + .border_radius(1em); + -webkit-box-shadow: + 0 1px 0 rgba(255,255,255,0.76), + inset 0 1px 2px @bg_light - #222; + -moz-box-shadow: + 0 1px 0 rgba(255,255,255,0.76), + inset 0 1px 2px @bg_light - #222; + box-shadow: + 0 1px 0 rgba(255,255,255,0.76), + inset 0 1px 2px @bg_light - #222; + } + } + .comment-container { + position: relative; + } + .comment-head { + margin:0 0 1em 0; + + .name, .date, .edit, .perma { + margin-right:1em; + &:before { + .iconbefore; + } + } + .name:before { + content: "U"; + } + .date:before { + content: "P"; + } + .edit:before { + content: "S"; + } + .perma:before { + content: "K"; + } + } + img.avatar { + float: right; + margin:0 0 1em 1em; + padding:.382em .382em 1em; + background: #fff; + .box_shadow(0,1px,2px,0,rgba(0,0,0,0.2)); + position: relative; + } + .comment-entry { + } + .reply { + a { + font-family: @sans_google; + &:before { + .iconbefore; + content: "h"; + } + } + } + .meta, .comment-head { + font-family: @sans_google; + color: @color_body; + } + } + .comment_container { + &:before, &:after { + .box_shadow(0,13px,5px,0,rgba(0,0,0,0.3)); + } + } + + ul.children { + margin:0 0 0 13.25%; + padding:0; + li { + } + .cancel-comment-reply { } + } + .navigation { + a { + display: block; + text-decoration: none; + } + } + .pingbacks { + li.pingback { + margin: 0 0 1.618em; + .reply { + display: none; + } + } + } + .nocomments { + font-weight: 700; + } +} + +/* 5.2 Comments Form */ +#respond { + label { + color: lighten(@color_body, 10%); + } + #reply-title { + small { + display: block; + margin:0 0 1.618em; + a { + font-family: @sans_google; + font-size: 1em; + &:before { + .iconbefore; + content: "×"; + } + } + } + } + #commentform { + .comment-form-author, .comment-form-email, .comment-form-url { + width:30.75%; + float: left; + margin-right:3.8%; + } + .comment-form-url { + margin-right:0; + } + label { + display:block; + } + input.txt, textarea { + width:100%; + } + .comment-form-comment { + clear: both; + } + } +} + +/* 5.3 Pingbacks / Trackbacks */ +.pinglist { + li { + margin: 0 0 0 1.618em; + list-style-type: decimal; + .author { + font-weight: 700; + } + .date { } + .pingcontent { + display: block; + margin:0 0 1.618em; + } + } +} + +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ + +/* 6.1 Timeline Page Template */ +#archives { + .archives_list { + border-left:1px solid @border_main; + list-style: none; + margin:0 0 1em 1em; + li { + clear: left; + padding-left:2.327em; + font-style: normal; + list-style: none; + } + .date { + color: lighten(@color_body, 10%); + width:22.5%; + display: inline-block; + } + .linked { + width:48%; + display: inline-block; + } + .comments { + width:22.5%; + display: inline-block; + a { + color: lighten(@color_body, 15%); + text-decoration: underline; + padding-left:1.236em; + &:hover { + text-decoration: none; + } + } + } + } +} +h3.archive_year { + font-weight: 700; + color: @color_body; + margin-top:0; +} + +/* 6.2 Contact Form */ +#contact-page { + .screenReader { + left: -9999px; + position: absolute; + top: -9999px; + } + ol.forms { + float: left; + list-style: none; + width:100%; + li { + clear: both; + float: left; + margin-bottom:1.618em; + position: relative; + width:48%; + &:first-child { + margin-right:3.8%; + } + &:nth-child(2n) { + clear: none; + } + &.textarea, &.screenReader, &.inline, &.buttons { + width:100%; + } + input.txt, textarea { + width:100%; + } + .error { + display: block; + color: red; + } + &.textarea { + .error { + display: block; + } + } + &.screenReader { + margin-bottom:0; + } + &.inline { + label { + display: inline; + float: none; + width:auto; + } + } + } + label { + cursor: pointer; + display: block; + font-weight:700; + margin:0 0 1em; + } + input#sendCopy { + border: none; + margin-right:1em; + } + } +} +#contactForm { + .clearfix; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php { + .location-twitter { + .col-left { + float: none; + } + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid @border_main; + ul { + margin: 0; + padding: 0; + } + ul li { + list-style: none; + padding: 0; + } + #office-location { + margin: 0 0 1.618em; + a { + text-decoration: underline; + } + ul { + li { + margin: 0 0 1em; + } + } + } + .contact-social { + float: none; + #twitter { + margin: 0 0 1.618em; + ul { + li { + a.time { + display: block; + &:before { + .iconbefore; + content: "t"; + } + } + } + } + } + #connect { + background: none; + border: none; + border-top: 1px solid @border_main; + h3 { + display: none; + } + .social { + float: none; + } + } + } + } +} + +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding:.236em; + margin: 0 1em 1em 0; + border:1px solid darken(@bg_light,10%); + background:@bg_light; + .border_radius(.236em); + &:hover { + border: 1px solid darken(@bg_light,20%); + .box_shadow(0,1px,0.327em,0px,rgba(0,0,0,0.2)); + } +} + +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ + +p.demo_store { + background: @error; + color: #fff; + position: fixed; + bottom:0; + left:0; + right:0; + margin:0; + padding:1em 0; + text-align: center; +} + +#fancybox-outer { + #review_form { + padding:1.618em; + } +} + +ul#shipping_method { + list-style: none; +} + +a.remove { + font-family: 'WebSymbolsRegular'; +} + +.price, .product_list_widget { + del { + position: relative; + padding:0 .327em; + text-decoration: none; + &:before { + content: ""; + position: absolute; + top:0; + left:0; + right:0; + bottom:0; + background: url("@{img_path}/scribble.png") 0 3px repeat-x; + } + } + ins { + text-decoration: none; + font-weight: 700; + } +} + +.stock { + color: @color_theme; + &:before { + .iconbefore; + content: "." + } + &.out-of-stock { + color: #900; + &:before { + content: "W"; + } + } +} + +.onsale { + background: url("@{img_path}/noise.png"), url("@{img_path}/leather.png"); + background-color: @color_links; + z-index: 99; + padding:.857em .618em; + color: #fff; + .border_radius(2em); + font-weight: 700; + font-size: .857em; + border:2px dashed lighten(@color_links,20%); + .box_shadow(0,0,0,.236em,@color_links); +} + +.quantity { + float: left; + margin-right:1em; + .plus, .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: @color_theme; + border: 2px dashed @color_theme + #222; + .box_shadow(0,0,0,2px,@color_theme); + .border_radius(2em); + font-weight: 700; + padding:.146em .382em; + } + /* Disable input[type=number] buttons until the world is ready */ + input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { + display:none; + } + .minus { + margin-right:.618em; + } + + .qty { + margin-right:.618em; + max-width:3.521em; + } +} + +.validate-required { + &.woocommerce-validated input { + border-color:@success; + background: lighten(@success,30%); + } + &.woocommerce-invalid input { + border-color:@error; + background: lighten(@error,30%); + } +} + +// star ratings +.star-rating { + width: 80px; + height: 16px; + background: url("@{img_path}/ico-star.png") repeat-x left 0; + span { + background: url("@{img_path}/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; + } +} + +p.stars { + overflow: hidden; + zoom: 1; + span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("@{img_path}/ico-star.png") repeat-x left 0; + a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; + } + a:hover, a:focus { + background: url("@{img_path}/ico-star.png") repeat-x left -16px; + } + a.active { + background: url("@{img_path}/ico-star.png") repeat-x left -32px; + } + a.star-1 { width: 16px; z-index: 10; } + a.star-2 { width: 32px; z-index: 9; } + a.star-3 { width: 48px; z-index: 8; } + a.star-4 { width: 64px; z-index: 7; } + a.star-5 { width: 80px; z-index: 6; } + } +} + +// The ratings are smaller in the widgets +.widget { + + .star-rating { + width: 60px; + height: 12px; + background: url("@{img_path}/ico-star-small.png") repeat-x left 0; + + span { + background: url("@{img_path}/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; + } + } + + p.stars { + span { + width: 60px; + height: 12px; + background: url("@{img_path}/ico-star-small.png") repeat-x left 0; + + a { + width: 12px; + padding-top: 12px; + } + } + } +} + +/* 7.1 Messages */ +.woocommerce_message, .woocommerce_info, .woocommerce_error, .woocommerce-message, .woocommerce-info, .woocommerce-error { + padding:.618em 1em .618em 3.631em; + margin-bottom:1.618em; + background: #fff; + border:1px solid @info; + border-left-width:.382em ; + position: relative; + min-height: 2.618em; + &:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: @info; + position: absolute; + top:.618em; + font-size: 1.387em; + left:.857em; + } +} +.woocommerce_error, .woocommerce-error { + border-color:@error; + list-style: none; + &:before { + content: "W"; + color: @error; + } +} +.woocommerce_message, .woocommerce-message { + border-color: @success; + &:before { + content: "."; + color: @success; + } + .button { + float: right; + } +} + +/* 7.2 Products */ +// General layout styles applied to all product lists +ul.products, ul.featured-products { + .clearfix(); + list-style: none; + li { + width:48%; + float: left; + clear: both; + position: relative; + text-align: center; + &:nth-child(2n) { + float: right; + clear: none; + } + img { + width:100%; + height: auto; + } + h3 { + font-size: 1em; + } + .onsale { + position: absolute; + top:1em; + left:1em; + } + .added_to_cart { + margin-left:1em; + } + } + .star-rating { + float: none; + margin:0 auto; + } +} +// Typical WooCommerce product lists +ul.products { + li.product { + text-align: center; + margin-bottom:3.631em; + .img-wrap { + padding:.618em .618em 2.244em; + background: #fff; + .borderbox(); + .rotate(1deg); + position: relative; + -webkit-box-shadow: + 0 .077em .236em rgba(0,0,0,0.2), + inset 0 .202em 1.618em rgba(0,0,0,0.05); + -moz-box-shadow: + 0 .077em .236em rgba(0,0,0,0.2), + inset 0 .202em 1.618em rgba(0,0,0,0.05); + box-shadow: + 0 .077em .236em rgba(0,0,0,0.2), + inset 0 .202em 1.618em rgba(0,0,0,0.05); + margin-bottom:1em; + + img { + .rotate(-1deg); + } + &:hover { + .box_shadow(0,.618em,1.618em,0,rgba(0,0,0,0.25)); + -webkit-transform:scale(1.1) !important; + -moz-transform:scale(1.1) !important; + transform:scale(1.1) !important; + img { + -webkit-transform:none !important; + -moz-transform:none !important; + transform:none !important; + } + } + &:before { + content: ""; + display: block; + z-index: 99999; + height:32px; + width:87px; + position: absolute; + left:25%; + top:-.618em; + background: url("@{img_path}/tape.png"); + .rotate(-2deg); + } + } + &:nth-child(2n) { + .img-wrap { + .rotate(-1deg); + top:2px; + img { + .rotate(1deg); + } + &:before { + left:30%; + .rotate(3deg); + } + } + } + &:nth-child(3n) { + .img-wrap { + .rotate(-1.5deg); + img { + .rotate(1.5deg); + } + &:before { + left:35%; + .rotate(2.5deg); + } + } + } + &:nth-child(5n) { + .img-wrap { + .rotate(1.5deg); + top:-2px; + img { + .rotate(-1.5deg); + } + } + } + .price { + display: block; + margin-bottom:1em; + } + h3 { + font-size: .857em; + } + } +} + +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product { + .images, .summary { + margin-bottom:1.618em; + } + .product { + position: relative; + .onsale { + position: absolute; + top:-.53em; + left:-.53em; + } + } + .images { + img { + display: block; + width:auto; + } + .attachment-shop_single { + .borderbox; + padding:.618em .618em 2.618em; + background: #fff; + .box_shadow(0,1px,2px,0,rgba(0,0,0,0.1)); + margin-bottom:1em; + } + .thumbnails { + .clearfix; + a { + display: block; + width:30.75%; + margin-right:3.8%; + float: left; + &.first { + clear: left; + } + &.last { + margin-right:0; + } + } + } + } + + table.variations { + a.reset_variations { + margin-top:.202em; + margin-left:.618em; + &:after { + .iconafter; + content: "V"; + } + } + } + .product_meta { + font-size: .857em; + } + .woocommerce_tabs, .woocommerce-tabs { + padding-top:1.618em; + ul.tabs { + list-style: none; + li { + list-style: none; + display: inline-block; + margin-right:1em; + a { + &:before { + .iconbefore(); + content: "p"; + } + } + &.active { + a { + color: @color_links - #444; + } + } + &.description_tab a:before { + content: "a"; + } + &.reviews_tab a:before { + content: "R"; + } + &.attributes_tab a:before { + content: "p"; + } + &.related_tab a:before { + content: "K"; + } + } + } + #related-products { + ul.products { + margin-bottom:0; + li.product { + margin-bottom:0; + } + } + } + } +} +/* 7.3 Cart */ +table.cart { + .product-remove, .product-thumbnail, .product-price { + position: absolute; + left:-999em; + } + + td { + .backorder_notification { + font-size:0.8em; + } + } + td + .product-thumbnail { + img { + border:0; + .box_shadow(0,1px,2px,0,rgba(0,0,0,0.25)); + padding:0; + .border_radius(4px); + } + } + td.product-remove { + padding-right:.5em; + } + + .quantity { + .plus, .minus { + display: none !important; + } + } + + td.actions { + + .coupon { + text-align: left; + margin-bottom:0; + + label { + display: none; + } + + #shareyourcart_button { + float: left; + clear: left; + } + .input-text, .button { + width:48%; + float: left; + } + + .button { + float: right; + } + } + + .button, .checkout-button, .input-text { + width:100%; + display: block; + .borderbox(); + margin-bottom:.53em !important; + } + + .checkout-button { + margin-bottom:0 !important; + } + } + + .product-quantity { + .plus, .minus { + display: inline-block; + } + } + + img { + width:3.631em; + height: auto; + } +} +.cross-sells { + ul.products { + li { + img { + padding:0; + border:0; + background: 0; + } + } + } +} +/* 7.4 Checkout */ + +#customer_details { + .col-2 { + #shiptobilling { + float: right; + margin:0; + input { + float: none; + } + label { + display: inline; + } + } + } + .create-account { + clear:both; + } +} + +.required { + color: #900; + border: 0; +} + +#payment { + background: fade(@bg_light,50%); + ul.payment_methods { + border-top:1px solid @bg_light - #222; + margin-bottom:0; + li { + border:1px solid @bg_light - #222; + list-style: none; + padding:.618em .857em; + .text_shadow(0,1px,0,@bg_light); + .vertical_gradient(@bg_light, @bg_light - #111); + .text_shadow(0,1px,0,rgba(255,255,255,0.6)); + -webkit-box-shadow: + inset 0 1px 0 @bg_light + #111; + -moz-box-shadow: + inset 0 1px 0 @bg_light + #111; + box-shadow: + inset 0 1px 0 @bg_light + #111; + + img { + float: right; + padding:0; + border:0; + max-height: 21px; + width: auto; + } + .payment_box { + .vertical_gradient(lighten(@bg_light,3%), @bg_light); + border-top:1px solid @bg_light - #222; + margin:.618em -.857em -.857em -.857em; + padding:.618em .857em; + border-bottom:1px solid @bg_light - #222; + -webkit-box-shadow: + inset 0 1px 0 lighten(@bg_light,8%); + + p { + margin:0; + } + } + + &:first-child { + border-top:0; + } + + label { + color: @color_body - #222; + display: inline-block; + width:94%; + } + } + } + + .payment_box { + .form-row { + padding:0; + border:0; + width:48%; + float:left; + select { + width:40%; + margin-right:3.8%; + } + &.form-row-first { + clear:both; + } + &.form-row-last { + float:right; + } + } + } + + .form-row { + width:100%; + padding: 1.618em; + .borderbox(); + margin-bottom:0; + border:1px solid @bg_light - #222; + border-top:0; + + .button { + .borderbox(); + width:100%; + font-size:1.387em; + } + + p.terms { + width:100%; + float: none; + margin:1.618em 0 0 0; + text-align: center; + padding:0; + border:0; + + label { + display: inline; + } + input[type=checkbox] { + float: none; + } + } + } +} + + +/* 7.5 Widgets */ + +// All wc widgets +.widget { + ul { + li { + .count { + float: right; + } + } + } + ul.product_list_widget { + li { + .clearfix(); + margin-bottom:1em; + a { + display: block; + } + img { + float: right; + width:2.244em; + height: auto; + padding:.236em .236em .618em; + background: #fff; + margin-left:1em; + .box_shadow(0,1px,2px,0,rgba(0,0,0,0.2)); + } + } + } +} +// Cart +#sidebar .widget_shopping_cart { + background: url("@{img_path}/noise.png"), url("@{img_path}/leather.png"); + background-color: @color_links; + color: lighten(@color_links,25%); + .text_shadow(0,1px,1px,darken(@color_links,20%)); + border:1px solid @color_links - #444; + -webkit-box-shadow: + inset 0 0 0 .382em rgba(0,0,0,0.1), + 0 1em 2em rgba(0,0,0,0.2); + box-shadow: + inset 0 0 0 .382em rgba(0,0,0,0.1), + 0 1em 2em rgba(0,0,0,0.2); + .inner { + border-color:lighten(@color_links,20%); + } + a, h3 { + color: lighten(@color_links,45%); + } +} + +// Login +.widget_login { + label { + display: block; + } + .input-text { + width: 100%; + } + input[type=submit] { + margin-right:1em; + } +} + +// Price filter +.widget_price_filter { + .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { + } + .price_slider { + margin-bottom:1em; + } + .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size:0.857em; + .button { + font-size:.857em; + } + .button { + float: left; + } + } + .ui-slider { + position: relative; + text-align: left; + } + .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + .border_radius(1em); + border:1px solid @color_links - #111; + cursor: pointer; + outline: none; + top:-1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f6f8f9), color-stop(50%,#e5ebee), color-stop(51%,#d7dee3), color-stop(100%,#f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%,#e5ebee 50%,#d7dee3 51%,#f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%,#e5ebee 50%,#d7dee3 51%,#f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%,#e5ebee 50%,#d7dee3 51%,#f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%,#e5ebee 50%,#d7dee3 51%,#f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f8f9', endColorstr='#f5f7f9',GradientType=0 ); + .transition(); + + &:hover { + .box_shadow(0,0,0,.366em,rgba(0,0,0,0.075)); + } + + &:last-child { + margin-left:-1em; + } + } + .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + .transition(); + background-image: linear-gradient(left , @color_links 0%, @color_links + #333 100%); + background-image: -o-linear-gradient(left , @color_links 0%, @color_links + #333 100%); + background-image: -moz-linear-gradient(left , @color_links 0%, @color_links + #333 100%); + background-image: -webkit-linear-gradient(left , @color_links 0%, @color_links + #333 100%); + background-image: -ms-linear-gradient(left , @color_links 0%, @color_links + #333 100%); + background-image: -webkit-gradient( + linear, + left top, + right top, + color-stop(0, @color_links), + color-stop(1, @color_links + #333) + ); + .border_radius(1em); + top:-1px !important; + border:1px solid @color_links - #111; + + &:before { + content: ""; + display: block; + height:50%; + width:100%; + position: absolute; + top:0; + left:0; + right:0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); + } + } + .price_slider_wrapper .ui-widget-content { + .border_radius(1em); + border:1px solid @color_body + #111; + background: @color_links - #222; + .inset_box_shadow(0,1px,2px,0,rgba(0,0,0,0.2)); + } + .ui-slider-horizontal { + height: 1em; + } + .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; + } + .ui-slider-horizontal .ui-slider-range-min { + left: -1px; + } + + .ui-slider-horizontal .ui-slider-range-max { + right: -1px; + } +} + +// Layered nav +.widget_layered_nav { + ul { + li { + &.chosen { + a { + &:before { + .iconbefore; + content: "×"; + color: #900; + } + } + } + } + } +} +/* 7.6 Account */ + +// Order details +ul.order_details { + width:65.4%; + background:url("@{img_path}/noise.png") #fff; + .borderbox; + padding:3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + .text_shadow(0,1px,0,#fff); + border:1px solid #ccc; + border-bottom-color:#bbb; + position: relative; + .border_radius(2px); + letter-spacing: 1px; + -webkit-box-shadow: + inset 0 0 0 1px rgba(255,255,255,0.6), + inset 0 -1em 5em 0 rgba(0,0,0,0.065), + 0 .125em .618em rgba(0,0,0,0.1); + -moz-box-shadow: + inset 0 0 0 1px rgba(255,255,255,0.6), + inset 0 -1em 5em 0 rgba(0,0,0,0.065), + 0 .125em .618em rgba(0,0,0,0.1); + box-shadow: + inset 0 0 0 1px rgba(255,255,255,0.6), + inset 0 -1em 5em 0 rgba(0,0,0,0.065), + 0 .125em .618em rgba(0,0,0,0.1); + li { + border-bottom:1px dashed #ddd; + padding:.618em 2.244em; + .clearfix; + strong { + float: right; + color: #787f91; + } + &:last-child { + margin-bottom:0; + padding-bottom:0; + border-bottom: 0; + } + } + &:before { + content: ""; + display: block; + width:50px; + height: 2px; + .vertical_gradient(#ccc, #999); + border-top:1px solid #eee; + .border_radius(2px); + position: absolute; + top:2.244em; + left:45%; + .rotate(2deg); + .box_shadow(0,1px,0,0,#fff); + } +} + +table.my_account_orders { + .button { + font-size: .618em; + } +} +ul.digital-downloads { + list-style: none; + li { + .count { + float: right; + } + a { + &:before { + .iconbefore; + content: ";"; + } + } + } +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + .vertical_gradient(#f6eeca,#faf5e0); + padding:1em 1.618em 2.65em 1.618em; + border-top:1.618em solid #f2e8b5; + border-bottom:1px solid #fcf7f2; + .text_shadow(1px,1px,1px,rgba(255,255,255,0.6)); + .box_shadow(0,2px,10px,0,rgba(0,0,0,0.1)); + .rotate(1deg); + font-family: @handwriting; + margin:1.618em; + font-size:1.142em; + color:#554444; + max-width: 22em; + + a { + padding:0 6px; + background: rgba(255,255,0,0.1); + color:#443333; + } + + &.left { + float: left; + } + + &.right { + float: right; + } +} + +.shortcode-sale { + padding:0 1em; + background: @error; + color:#fff; + text-transform: uppercase; + font-weight:700; + margin-bottom:2.618em; + .text_shadow(0,1px,0,rgba(0,0,0,0.2)); + .border_radius(.27em); + .box_shadow(0,1px,3px,0,rgba(0,0,0,0.3)); + + span { + padding:.3em 0; + display: block; + } + + a { + background: rgba(255,255,255,0.1); + color:#fff; + padding:3px 12px; + .border_radius(20px); + margin:0 6px; + .transition(); + + &:hover { + background: rgba(255,255,255,0.2); + color:#fff; + } + } +} + +/* 7.7.1 Mini Features */ +.mini-features { + margin-left:0 !important; + padding-left:0; + .clearfix(); + list-style: none !important; + + .mini-feature { + margin:0; + .clearfix(); + + img { + width:13.45%; + height: auto; + padding:0; + border:0; + background: none; + float: left; + } + + .feature-content { + width: 82.7%; + float: right; + + h3 { + padding-top:0; + } + } + } +} + + +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ + +/* 8.1 Forms */ +.form-row { + label { + display: block; + } + .input-text { + width:100%; + } +} +// Input / Textarea +input[type=text], input.input-text, textarea, input.txt { + padding: .53em .857em; + border: 1px solid lighten(@color_body,30%); + .border_radius(.236em); + font-size: 1em; /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: @serif_google; /* Make inputs use the correct typeface instead of the browser default */ + outline:none; + .borderbox(); + color: @color_body; + .box_shadow(0,0,.236em,0,lighten(@color_body,50%)); + .transition(); + &:focus { + .box_shadow(0,0,.618em,0,lighten(@color_theme,30%)); + border: 1px solid lighten(@color_theme,20%); + } +} + +::-webkit-input-placeholder { + color: @color_body + #555; +} +:-moz-placeholder { + color: @color_body + #555; +} + +label { + font-weight: 700; +} + +// Buttons +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; /* Make inputs the same size as normal text */ + font-family: @serif_google; /* Make inputs use the correct typeface instead of the browser default */ + cursor: pointer; /* Inputs need pointers! */ + overflow: visible; /* IE fix */ + width:auto; /* IE fix */ + line-height: 1.618em; + background: url("@{img_path}/leather.png"), url("@{img_path}/noise.png"); + background-color: @color_theme; + border:1px dashed @color_theme + #333; + .box_shadow(0,0,0,.327em,@color_theme - #222); + cursor: pointer; + .text_shadow(0,1px,0,@color_theme - #222); + position: relative; + &:hover { + background-color: @color_theme - #111; + } + &.loading { + &:before { + position: absolute; + top:0; + left:0; + right:0; + bottom:0; + background: url("@{img_path}/ajax-loader.gif") center no-repeat @color_theme; + content: ""; + } + } + &.added { + &:after { + .iconafter; + content: "."; + } + } + &.large { font-size:1.387em; } + &.small { font-size:.857em; } + &.alt { + background-color: @color_links; + .box_shadow(0,0,0,.327em,@color_links - #222); + border-color:desaturate(@color_links + #333,20%); + .text_shadow(0,1px,0,@color_links - #222); + &:hover { + background-color: @color_links - #111; + } + } +} + +.chrome, .safari { + input[type="checkbox"] { + background-image: -webkit-linear-gradient(hsla(0,0%,0%,.1), hsla(0,0%,100%,.1)), + -webkit-linear-gradient(left, @error 50%, @success 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px hsla(0,0%,0%,.5), + inset 0 0 10px hsla(0,0%,0%,.5), + 0 0 0 1px hsla(0,0%,0%,.1), + 0 -1px 2px 1px hsla(0,0%,0%,.25), + 0 2px 2px 1px hsla(0,0%,100%,.5), + 0 -2px 10px 2px hsla(0,0%,100%,.75), + 0 2px 10px 2px hsla(0,0%,0%,.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin:0 .5em; + } + input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(hsla(0,0%,100%,.1), hsla(0,0%,0%,.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px hsla(0,0%,100%,1), + inset 0 -1px 1px 1px hsla(0,0%,0%,.25), + 0 1px 3px 1px hsla(0,0%,0%,.5), + 0 0 2px hsla(0,0%,0%,.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; + } + input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; + } + + input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top:-20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left:0px; + } + input[type="checkbox"]:checked:hover:before { + content: '✔'; + } +} + + +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper { + .top_label { + .gfield_label { + display: block; + padding-right:20px; + width:100px; + margin:5px 0 .327em; + } + input.large, select.large, textarea.textarea { + width:400px !important; + padding:7px .236em !important; + } + .clear-multi { + clear: none !important; + } + } + input.button { + padding:5px 10px 6px !important; + } + input { + padding:7px .236em !important; + } + .entry img, img,thumbnail { + padding:0 !important; + border:0 !important; + height: auto; + } + .gfield_checkbox, .gfield_radio { + margin-left:120px !important; + } +} + +img.ui-datepicker-trigger { + border: 0; + padding:0; +} + +/* 8.3 IE specific styling */ +.ie6 { +} +.ie7 { +} +.ie8 { + #sidebar .widget_shopping_cart { + background: @color_links !important; + background-image: none; + } + .single-product { + .images { + img { + display: block; + width:auto; + } + } + } +} + +/* 8.4 Uniform */ diff --git a/artificer/styles/blue.css b/artificer/styles/blue.css new file mode 100644 index 0000000..f4e3fe5 --- /dev/null +++ b/artificer/styles/blue.css @@ -0,0 +1,4618 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.6 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #dee0e1; + border: 1px solid #c3c7c9; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("../images/body.gif") #dee0e1; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #606060; + font-family: "Karla", sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("../images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #c3c7c9; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #3a6b80; + text-decoration: none; +} +a:hover { + color: #00273c; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Cutive", sans-serif; + color: #2d2d2d; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #898b8c; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: "Cutive", sans-serif; + padding: 1em; + background: #dee0e1; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #dee0e1; + border-color: #dee0e1 transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("../typefaces/websymbols-regular-webfont.eot"); + src: url("../typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("../typefaces/websymbols-regular-webfont.woff") format('woff'), url("../typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("../typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #dee0e1; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #bcbebf; + text-shadow: 0 1px 0 #dee0e1; +} +table thead tr th { + background-color: #dee0e1; + background-image: -webkit-gradient(linear, left top, left bottom, from(#dee0e1), to(#cdcfd0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #dee0e1, #cdcfd0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #dee0e1, #cdcfd0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #dee0e1, #cdcfd0); + /* IE10 */ + background-image: -o-linear-gradient(top, #dee0e1, #cdcfd0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #dee0e1, #cdcfd0); + color: #3e3e3e; + -webkit-box-shadow: inset 0 2px 0 #eff1f2; + -moz-box-shadow: inset 0 2px 0 #eff1f2; + box-shadow: inset 0 2px 0 #eff1f2; +} +table tbody tr { + border: 1px solid #c9ccce; +} +table tbody tr th, +table tbody tr td { + background-color: #e6e8e8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e6e8e8), to(#dee0e1)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e6e8e8, #dee0e1); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e6e8e8, #dee0e1); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e6e8e8, #dee0e1); + /* IE10 */ + background-image: -o-linear-gradient(top, #e6e8e8, #dee0e1); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e6e8e8, #dee0e1); + -webkit-box-shadow: inset 0 2px 0 #f3f4f4; +} +table tbody tr:first-child { + border-top-color: #a9aeb0; +} +table tfoot { + border: 1px solid #cdcfd0; + border-top-color: #bcbebf; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: "Cutive", sans-serif, serif; + background: url("../images/nav.gif") #dee0e1; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #c4c6c7; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("../images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #606060; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #606060; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #397792; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #f9f9f9; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#dee0e1)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f9f9f9, #dee0e1); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f9f9f9, #dee0e1); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f9f9f9, #dee0e1); + /* IE10 */ + background-image: -o-linear-gradient(top, #f9f9f9, #dee0e1); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f9f9f9, #dee0e1); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #4a88a3; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #3a6b80; + -webkit-box-shadow: inset 0 0 0 0.236em #3a6b80; + text-shadow: 0 1px 0 #175570; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #3a6b80; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #3a6b80; + box-shadow: inset 0.618em 0 0 0 #18495e; + -webkit-box-shadow: inset 0.618em 0 0 0 #18495e; + color: #89b6ca; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #4a88a3; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: "Cutive", sans-serif; + font-size: 1.618em; + color: #d0e2e9; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #4a88a3; + color: #acccda; + box-shadow: inset 0.618em 0 0 0 #286681; + -webkit-box-shadow: inset 0.618em 0 0 0 #286681; + font-family: "Cutive", sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #66a0ba; +} +.home #sidebar .tweet ul li a { + color: #f3f7f9; + background: #325c6e; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #2a4d5d; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: "Karla", sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #7a7a7a; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #bcbebf; + border-bottom: 0; + position: relative; + background: url("../images/nav.gif") #eff1f2; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #c6c9cb; + background-image: -webkit-gradient(linear, left top, left bottom, from(#c6c9cb), to(#ced1d2)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #c6c9cb, #ced1d2); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #c6c9cb, #ced1d2); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #c6c9cb, #ced1d2); + /* IE10 */ + background-image: -o-linear-gradient(top, #c6c9cb, #ced1d2); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #c6c9cb, #ced1d2); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #bcbebf; + border-top-color: #abadae; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #a4a4a4; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #c3c7c9 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("../images/crinkles.png") top no-repeat, url("../images/post.png"), url("../images/nav.gif"); + background-color: #eff1f2; + border: 1px solid #bcbebf; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #2d2d2d; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #d1d3d5; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #d1d3d5; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(222, 224, 225, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(222, 224, 225, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("../images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #c3c7c9; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #a9aeb0; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #dee0e1; + border: 1px solid #c3c7c9; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #606060; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #18495e; + -webkit-box-shadow: 0 0 0 0.327em #18495e; + text-shadow: 0 1px 0 #18495e; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: "Cutive", sans-serif; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #3a6b80; + border: 1px dashed #83959d; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #c3c7c9; + border-bottom: 1px solid #c3c7c9; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #c3c7c9; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("../images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #606060; + border-bottom: 1px solid #c3c7c9; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("../images/nav.gif") #dee0e1; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #c4c6c7; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #c3c7c9; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("../images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("../images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #66a0ba; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #606060; + box-shadow: 0 0 0.236em 0 #89b6ca; + -webkit-box-shadow: 0 0 0.236em 0 #89b6ca; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #606060; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #e0e0e0; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #c3c7c9; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #a9aeb0; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #c3c7c9; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #7a7a7a; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #c3c7c9; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #4a88a3; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #78abc2; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #acccda; + text-shadow: 0 1px 1px #3a6b80; + box-shadow: 0 1px 2px 0 #3a6b80; + -webkit-box-shadow: 0 1px 2px 0 #3a6b80; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #f3f7f9; +} +.widget_woo_twitter ul li .time { + color: #f3f7f9; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #7a7a7a; +} +.widget_woo_twitter p a { + color: #2d2d2d; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("../images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #bfc1c2; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #7a7a7a; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("../images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #abadae; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("../images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #bcbebf; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #bcbebf; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #bcbebf; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: "Karla", sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: "Karla", sans-serif; + color: #606060; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #7a7a7a; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: "Karla", sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #c3c7c9; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #7a7a7a; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #868686; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #606060; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #c3c7c9; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #c3c7c9; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #c3c7c9; + background: #dee0e1; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #a9aeb0; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #4a88a3; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #3a6b80; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #66a0ba; + box-shadow: 0 0 0 0.236em #3a6b80; + -webkit-box-shadow: 0 0 0 0.236em #3a6b80; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #4a88a3; + border: 2px dashed #6caac5; + box-shadow: 0 0 0 2px #4a88a3; + -webkit-box-shadow: 0 0 0 2px #4a88a3; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("../images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("../images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("../images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("../images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("../images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("../images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("../images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #00273c; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(222, 224, 225, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #bcbebf; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #bcbebf; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #dee0e1; + background-color: #dee0e1; + background-image: -webkit-gradient(linear, left top, left bottom, from(#dee0e1), to(#cdcfd0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #dee0e1, #cdcfd0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #dee0e1, #cdcfd0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #dee0e1, #cdcfd0); + /* IE10 */ + background-image: -o-linear-gradient(top, #dee0e1, #cdcfd0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #dee0e1, #cdcfd0); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #eff1f2; + -moz-box-shadow: inset 0 1px 0 #eff1f2; + box-shadow: inset 0 1px 0 #eff1f2; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #e6e8e8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e6e8e8), to(#dee0e1)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e6e8e8, #dee0e1); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e6e8e8, #dee0e1); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e6e8e8, #dee0e1); + /* IE10 */ + background-image: -o-linear-gradient(top, #e6e8e8, #dee0e1); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e6e8e8, #dee0e1); + border-top: 1px solid #bcbebf; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #bcbebf; + -webkit-box-shadow: inset 0 1px 0 #f3f4f4; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #3e3e3e; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #bcbebf; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #3a6b80; + color: #78abc2; + text-shadow: 0 1px 1px #1a303a; + border: 1px solid #00273c; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #66a0ba; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #bed7e1; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #295a6f; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #3a6b80 0%, #6d9eb3 100%); + background-image: -o-linear-gradient(left, #3a6b80 0%, #6d9eb3 100%); + background-image: -moz-linear-gradient(left, #3a6b80 0%, #6d9eb3 100%); + background-image: -webkit-linear-gradient(left, #3a6b80 0%, #6d9eb3 100%); + background-image: -ms-linear-gradient(left, #3a6b80 0%, #6d9eb3 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #3a6b80), color-stop(1, #6d9eb3)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #295a6f; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #717171; + background: #18495e; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("../images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #adadad; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #606060; + box-shadow: 0 0 0.236em 0 #e0e0e0; + -webkit-box-shadow: 0 0 0.236em 0 #e0e0e0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #acccda; + -webkit-box-shadow: 0 0 0.618em 0 #acccda; + border: 1px solid #89b6ca; +} +::-webkit-input-placeholder { + color: #b5b5b5; +} +:-moz-placeholder { + color: #b5b5b5; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #4a88a3; + border: 1px dashed #7dbbd6; + box-shadow: 0 0 0 0.327em #286681; + -webkit-box-shadow: 0 0 0 0.327em #286681; + cursor: pointer; + text-shadow: 0 1px 0 #286681; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #397792; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/ajax-loader.gif") center no-repeat #4a88a3; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #3a6b80; + box-shadow: 0 0 0 0.327em #18495e; + -webkit-box-shadow: 0 0 0 0.327em #18495e; + border-color: #83959d; + text-shadow: 0 1px 0 #18495e; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #295a6f; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #3a6b80 !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #474747; + border-bottom: 0.146em dashed #6d6d6d; + border-top: 0.327em solid #2d2d2d; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #3a3a3a, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3a3a3a; + -moz-box-shadow: 0 0.236em 0 #3a3a3a, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3a3a3a; + box-shadow: 0 0.236em 0 #3a3a3a, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3a3a3a; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #2d2d2d; + color: #a4a4a4; + } + #top a:hover { + color: #4b7c91; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a:hover { + background-color: #606060; + background-image: -webkit-gradient(linear, left top, left bottom, from(#606060), to(#535353)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #606060, #535353); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #606060, #535353); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #606060, #535353); + /* IE10 */ + background-image: -o-linear-gradient(top, #606060, #535353); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #606060, #535353); + } + #top ul.nav > li:hover { + background-color: #606060; + background-image: -webkit-gradient(linear, left top, left bottom, from(#606060), to(#535353)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #606060, #535353); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #606060, #535353); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #606060, #535353); + /* IE10 */ + background-image: -o-linear-gradient(top, #606060, #535353); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #606060, #535353); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #535353; + background-image: -webkit-gradient(linear, left top, left bottom, from(#535353), to(#474747)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #535353, #474747); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #535353, #474747); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #535353, #474747); + /* IE10 */ + background-image: -o-linear-gradient(top, #535353, #474747); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #535353, #474747); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #navigation ul.nav > li { + border-right: 1px dotted #d1d3d5; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #4a88a3; + -webkit-box-shadow: inset 0 0.382em 0 0 #4a88a3; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #4a88a3; + -webkit-box-shadow: inset 0 0.382em 0 0 #4a88a3; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #4a88a3; + } + #navigation ul.nav li a:hover { + color: #06445f; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #286681; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px dashed #7dbbd6; + background: url("../images/home.png") center no-repeat #4a88a3; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #397792; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(185, 189, 191, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(58, 107, 128, 0.8); + border-bottom: 0.382em solid #3a6b80; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: "Karla", sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #4a88a3; + border-bottom-width: .857em; + background: rgba(74, 136, 163, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: "Cutive", sans-serif; + color: #4a88a3; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #cdcfd0; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #cdcfd0; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #cdcfd0; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #cdcfd0; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #cdcfd0; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #cdcfd0; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #dee0e1; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #3a6b80; + } + .ie8 ul.featured-products li:hover h3 { + background: #4a88a3; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} diff --git a/artificer/styles/blue.less b/artificer/styles/blue.less new file mode 100644 index 0000000..2cdc37b --- /dev/null +++ b/artificer/styles/blue.less @@ -0,0 +1,19 @@ +@import url(../style.less); +@import url(../css/layout.less); +@import url(../css/mixins.less); + +@color_theme: #4a88a3; // Main theme color +@color_links: darken(@color_theme,10%); // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy + +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF + +// Backgrounds +@bg_light: #dee0e1; + +// Images +@img_path: "../images"; + +// Typefaces +@typeface_path: "../typefaces"; \ No newline at end of file diff --git a/artificer/styles/brown.css b/artificer/styles/brown.css new file mode 100644 index 0000000..fe1b0cf --- /dev/null +++ b/artificer/styles/brown.css @@ -0,0 +1,4618 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.6 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #e2e0df; + border: 1px solid #cac6c4; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("../images/body.gif") #e2e0df; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #616161; + font-family: "Karla", sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("../images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #cac6c4; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #755241; + text-decoration: none; +} +a:hover { + color: #310e00; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Cutive", sans-serif; + color: #2e2e2e; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #8d8b8a; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: "Cutive", sans-serif; + padding: 1em; + background: #e2e0df; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #e2e0df; + border-color: #e2e0df transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("../typefaces/websymbols-regular-webfont.eot"); + src: url("../typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("../typefaces/websymbols-regular-webfont.woff") format('woff'), url("../typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("../typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #e2e0df; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #c0bebd; + text-shadow: 0 1px 0 #e2e0df; +} +table thead tr th { + background-color: #e2e0df; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e2e0df), to(#d1cfce)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e2e0df, #d1cfce); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e2e0df, #d1cfce); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e2e0df, #d1cfce); + /* IE10 */ + background-image: -o-linear-gradient(top, #e2e0df, #d1cfce); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e2e0df, #d1cfce); + color: #3f3f3f; + -webkit-box-shadow: inset 0 2px 0 #f3f1f0; + -moz-box-shadow: inset 0 2px 0 #f3f1f0; + box-shadow: inset 0 2px 0 #f3f1f0; +} +table tbody tr { + border: 1px solid #cfcbca; +} +table tbody tr th, +table tbody tr td { + background-color: #e9e8e7; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e9e8e7), to(#e2e0df)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e9e8e7, #e2e0df); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e9e8e7, #e2e0df); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e9e8e7, #e2e0df); + /* IE10 */ + background-image: -o-linear-gradient(top, #e9e8e7, #e2e0df); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e9e8e7, #e2e0df); + -webkit-box-shadow: inset 0 2px 0 #f5f5f4; +} +table tbody tr:first-child { + border-top-color: #b2aca9; +} +table tfoot { + border: 1px solid #d1cfce; + border-top-color: #c0bebd; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: "Cutive", sans-serif, serif; + background: url("../images/nav.gif") #e2e0df; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #c8c6c5; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("../images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #616161; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #616161; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #855842; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #fafafa; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fafafa), to(#e2e0df)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fafafa, #e2e0df); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #fafafa, #e2e0df); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #fafafa, #e2e0df); + /* IE10 */ + background-image: -o-linear-gradient(top, #fafafa, #e2e0df); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #fafafa, #e2e0df); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #966953; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #755241; + -webkit-box-shadow: inset 0 0 0 0.236em #755241; + text-shadow: 0 1px 0 #633620; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #755241; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #755241; + box-shadow: inset 0.618em 0 0 0 #53301f; + -webkit-box-shadow: inset 0.618em 0 0 0 #53301f; + color: #c19f8e; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #966953; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: "Cutive", sans-serif; + font-size: 1.618em; + color: #e5d7d0; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #966953; + color: #d3bbaf; + box-shadow: inset 0.618em 0 0 0 #744731; + -webkit-box-shadow: inset 0.618em 0 0 0 #744731; + font-family: "Cutive", sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #ae836e; +} +.home #sidebar .tweet ul li a { + color: #f7f3f1; + background: #654738; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #543b2f; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: "Karla", sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #7a7a7a; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #c0bebd; + border-bottom: 0; + position: relative; + background: url("../images/nav.gif") #f3f1f0; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #ccc9c7; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ccc9c7), to(#d3d0cf)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ccc9c7, #d3d0cf); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ccc9c7, #d3d0cf); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ccc9c7, #d3d0cf); + /* IE10 */ + background-image: -o-linear-gradient(top, #ccc9c7, #d3d0cf); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ccc9c7, #d3d0cf); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #c0bebd; + border-top-color: #afadac; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #a5a5a5; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #cac6c4 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("../images/crinkles.png") top no-repeat, url("../images/post.png"), url("../images/nav.gif"); + background-color: #f3f1f0; + border: 1px solid #c0bebd; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #2e2e2e; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #d6d3d2; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #d6d3d2; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(226, 224, 223, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(226, 224, 223, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("../images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #cac6c4; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #b2aca9; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #e2e0df; + border: 1px solid #cac6c4; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #616161; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #53301f; + -webkit-box-shadow: 0 0 0 0.327em #53301f; + text-shadow: 0 1px 0 #53301f; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: "Cutive", sans-serif; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #755241; + border: 1px dashed #928d8a; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #cac6c4; + border-bottom: 1px solid #cac6c4; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #cac6c4; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("../images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #616161; + border-bottom: 1px solid #cac6c4; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("../images/nav.gif") #e2e0df; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #c8c6c5; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #cac6c4; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("../images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("../images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #ae836e; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #616161; + box-shadow: 0 0 0.236em 0 #c19f8e; + -webkit-box-shadow: 0 0 0.236em 0 #c19f8e; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #616161; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #e1e1e1; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #cac6c4; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #b2aca9; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #cac6c4; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #7a7a7a; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #cac6c4; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #966953; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #b8917e; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #d3bbaf; + text-shadow: 0 1px 1px #755241; + box-shadow: 0 1px 2px 0 #755241; + -webkit-box-shadow: 0 1px 2px 0 #755241; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #f7f3f1; +} +.widget_woo_twitter ul li .time { + color: #f7f3f1; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #7a7a7a; +} +.widget_woo_twitter p a { + color: #2e2e2e; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("../images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #c3c1c0; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #7a7a7a; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("../images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #afadac; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("../images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c0bebd; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c0bebd; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c0bebd; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: "Karla", sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: "Karla", sans-serif; + color: #616161; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #7a7a7a; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: "Karla", sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #cac6c4; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #7a7a7a; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #878787; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #616161; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #cac6c4; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #cac6c4; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #cac6c4; + background: #e2e0df; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #b2aca9; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #966953; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #755241; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #ae836e; + box-shadow: 0 0 0 0.236em #755241; + -webkit-box-shadow: 0 0 0 0.236em #755241; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #966953; + border: 2px dashed #b88b75; + box-shadow: 0 0 0 2px #966953; + -webkit-box-shadow: 0 0 0 2px #966953; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("../images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("../images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("../images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("../images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("../images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("../images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("../images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #310e00; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(226, 224, 223, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #c0bebd; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #c0bebd; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #e2e0df; + background-color: #e2e0df; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e2e0df), to(#d1cfce)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e2e0df, #d1cfce); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e2e0df, #d1cfce); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e2e0df, #d1cfce); + /* IE10 */ + background-image: -o-linear-gradient(top, #e2e0df, #d1cfce); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e2e0df, #d1cfce); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #f3f1f0; + -moz-box-shadow: inset 0 1px 0 #f3f1f0; + box-shadow: inset 0 1px 0 #f3f1f0; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #e9e8e7; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e9e8e7), to(#e2e0df)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e9e8e7, #e2e0df); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e9e8e7, #e2e0df); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e9e8e7, #e2e0df); + /* IE10 */ + background-image: -o-linear-gradient(top, #e9e8e7, #e2e0df); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e9e8e7, #e2e0df); + border-top: 1px solid #c0bebd; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #c0bebd; + -webkit-box-shadow: inset 0 1px 0 #f5f5f4; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #3f3f3f; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #c0bebd; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #755241; + color: #b8917e; + text-shadow: 0 1px 1px #34241c; + border: 1px solid #310e00; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #ae836e; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #dcc9c0; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #644130; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #755241 0%, #a88574 100%); + background-image: -o-linear-gradient(left, #755241 0%, #a88574 100%); + background-image: -moz-linear-gradient(left, #755241 0%, #a88574 100%); + background-image: -webkit-linear-gradient(left, #755241 0%, #a88574 100%); + background-image: -ms-linear-gradient(left, #755241 0%, #a88574 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #755241), color-stop(1, #a88574)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #644130; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #727272; + background: #53301f; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("../images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #aeaeae; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #616161; + box-shadow: 0 0 0.236em 0 #e1e1e1; + -webkit-box-shadow: 0 0 0.236em 0 #e1e1e1; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #d3bbaf; + -webkit-box-shadow: 0 0 0.618em 0 #d3bbaf; + border: 1px solid #c19f8e; +} +::-webkit-input-placeholder { + color: #b6b6b6; +} +:-moz-placeholder { + color: #b6b6b6; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #966953; + border: 1px dashed #c99c86; + box-shadow: 0 0 0 0.327em #744731; + -webkit-box-shadow: 0 0 0 0.327em #744731; + cursor: pointer; + text-shadow: 0 1px 0 #744731; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #855842; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/ajax-loader.gif") center no-repeat #966953; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #755241; + box-shadow: 0 0 0 0.327em #53301f; + -webkit-box-shadow: 0 0 0 0.327em #53301f; + border-color: #928d8a; + text-shadow: 0 1px 0 #53301f; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #644130; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #755241 !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #484848; + border-bottom: 0.146em dashed #6e6e6e; + border-top: 0.327em solid #2e2e2e; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #3b3b3b, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3b3b3b; + -moz-box-shadow: 0 0.236em 0 #3b3b3b, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3b3b3b; + box-shadow: 0 0.236em 0 #3b3b3b, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3b3b3b; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #2e2e2e; + color: #a5a5a5; + } + #top a:hover { + color: #866352; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a:hover { + background-color: #616161; + background-image: -webkit-gradient(linear, left top, left bottom, from(#616161), to(#545454)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #616161, #545454); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #616161, #545454); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #616161, #545454); + /* IE10 */ + background-image: -o-linear-gradient(top, #616161, #545454); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #616161, #545454); + } + #top ul.nav > li:hover { + background-color: #616161; + background-image: -webkit-gradient(linear, left top, left bottom, from(#616161), to(#545454)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #616161, #545454); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #616161, #545454); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #616161, #545454); + /* IE10 */ + background-image: -o-linear-gradient(top, #616161, #545454); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #616161, #545454); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #545454; + background-image: -webkit-gradient(linear, left top, left bottom, from(#545454), to(#484848)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #545454, #484848); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #545454, #484848); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #545454, #484848); + /* IE10 */ + background-image: -o-linear-gradient(top, #545454, #484848); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #545454, #484848); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #navigation ul.nav > li { + border-right: 1px dotted #d6d3d2; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #966953; + -webkit-box-shadow: inset 0 0.382em 0 0 #966953; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #966953; + -webkit-box-shadow: inset 0 0.382em 0 0 #966953; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #966953; + } + #navigation ul.nav li a:hover { + color: #52250f; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #744731; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px dashed #c99c86; + background: url("../images/home.png") center no-repeat #966953; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #855842; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(192, 188, 186, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(117, 82, 65, 0.8); + border-bottom: 0.382em solid #755241; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: "Karla", sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #966953; + border-bottom-width: .857em; + background: rgba(150, 105, 83, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: "Cutive", sans-serif; + color: #966953; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #d1cfce; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #d1cfce; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #d1cfce; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #d1cfce; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #d1cfce; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #d1cfce; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #e2e0df; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #755241; + } + .ie8 ul.featured-products li:hover h3 { + background: #966953; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} diff --git a/artificer/styles/brown.less b/artificer/styles/brown.less new file mode 100644 index 0000000..0073983 --- /dev/null +++ b/artificer/styles/brown.less @@ -0,0 +1,19 @@ +@import url(../style.less); +@import url(../css/layout.less); +@import url(../css/mixins.less); + +@color_theme: #966953; // Main theme color +@color_links: darken(@color_theme,10%); // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy + +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF + +// Backgrounds +@bg_light: #e2e0df; + +// Images +@img_path: "../images"; + +// Typefaces +@typeface_path: "../typefaces"; \ No newline at end of file diff --git a/artificer/styles/default.css b/artificer/styles/default.css new file mode 100755 index 0000000..b068ea5 --- /dev/null +++ b/artificer/styles/default.css @@ -0,0 +1 @@ +/* Style: Color */ \ No newline at end of file diff --git a/artificer/styles/floral.css b/artificer/styles/floral.css new file mode 100644 index 0000000..29b97f3 --- /dev/null +++ b/artificer/styles/floral.css @@ -0,0 +1,4639 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.6 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #f3f1f3; + border: 1px solid #dbd6db; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("../images/body.gif") #f3f1f3; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #766f76; + font-family: "Karla", sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("../images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #dbd6db; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #82637b; + text-decoration: none; +} +a:hover { + color: #3e1f37; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Cutive", sans-serif; + color: #413e41; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #9e9c9e; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: "Cutive", sans-serif; + padding: 1em; + background: #f3f1f3; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #f3f1f3; + border-color: #f3f1f3 transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("../typefaces/websymbols-regular-webfont.eot"); + src: url("../typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("../typefaces/websymbols-regular-webfont.woff") format('woff'), url("../typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("../typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #f3f1f3; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #d1cfd1; + text-shadow: 0 1px 0 #f3f1f3; +} +table thead tr th { + background-color: #f3f1f3; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f3f1f3), to(#e2e0e2)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f3f1f3, #e2e0e2); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f3f1f3, #e2e0e2); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f3f1f3, #e2e0e2); + /* IE10 */ + background-image: -o-linear-gradient(top, #f3f1f3, #e2e0e2); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f3f1f3, #e2e0e2); + color: #544d54; + -webkit-box-shadow: inset 0 2px 0 #ffffff; + -moz-box-shadow: inset 0 2px 0 #ffffff; + box-shadow: inset 0 2px 0 #ffffff; +} +table tbody tr { + border: 1px solid #e0dbe0; +} +table tbody tr th, +table tbody tr td { + background-color: #faf9fa; + background-image: -webkit-gradient(linear, left top, left bottom, from(#faf9fa), to(#f3f1f3)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #faf9fa, #f3f1f3); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #faf9fa, #f3f1f3); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #faf9fa, #f3f1f3); + /* IE10 */ + background-image: -o-linear-gradient(top, #faf9fa, #f3f1f3); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #faf9fa, #f3f1f3); + -webkit-box-shadow: inset 0 2px 0 #ffffff; +} +table tbody tr:first-child { + border-top-color: #c4bac4; +} +table tfoot { + border: 1px solid #e2e0e2; + border-top-color: #d1cfd1; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: "Cutive", sans-serif, serif; + background: url("../images/nav.gif") #f3f1f3; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #d9d7d9; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("../images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #766f76; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #766f76; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #576c69; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #ffffff; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f3f1f3)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ffffff, #f3f1f3); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ffffff, #f3f1f3); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ffffff, #f3f1f3); + /* IE10 */ + background-image: -o-linear-gradient(top, #ffffff, #f3f1f3); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ffffff, #f3f1f3); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #687d7a; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #51615f; + -webkit-box-shadow: inset 0 0 0 0.236em #51615f; + text-shadow: 0 1px 0 #354a47; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #51615f; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #82637b; + box-shadow: inset 0.618em 0 0 0 #604159; + -webkit-box-shadow: inset 0.618em 0 0 0 #604159; + color: #c8b6c4; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #9c7c95; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: "Cutive", sans-serif; + font-size: 1.618em; + color: #f4f0f3; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #687d7a; + color: #b9c5c3; + box-shadow: inset 0.618em 0 0 0 #465b58; + -webkit-box-shadow: inset 0.618em 0 0 0 #465b58; + font-family: "Cutive", sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #819794; +} +.home #sidebar .tweet ul li a { + color: #f1f3f3; + background: #455351; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #3a4544; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: "Karla", sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #8f898f; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #d1cfd1; + border-bottom: 0; + position: relative; + background: url("../images/nav.gif") #ffffff; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #ded8de; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ded8de), to(#e5e1e5)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ded8de, #e5e1e5); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ded8de, #e5e1e5); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ded8de, #e5e1e5); + /* IE10 */ + background-image: -o-linear-gradient(top, #ded8de, #e5e1e5); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ded8de, #e5e1e5); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #d1cfd1; + border-top-color: #c0bec0; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #bab3ba; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #dbd6db 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("../images/crinkles.png") top no-repeat, url("../images/post.png"), url("../images/nav.gif"); + background-color: #ffffff; + border: 1px solid #d1cfd1; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #413e41; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #e7e3e7; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #e7e3e7; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(243, 241, 243, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(243, 241, 243, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("../images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #dbd6db; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #c4bac4; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #f3f1f3; + border: 1px solid #dbd6db; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #766f76; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #604159; + -webkit-box-shadow: 0 0 0 0.327em #604159; + text-shadow: 0 1px 0 #604159; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: "Cutive", sans-serif; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #82637b; + border: 1px dashed #a6a6a6; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #dbd6db; + border-bottom: 1px solid #dbd6db; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #dbd6db; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("../images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #766f76; + border-bottom: 1px solid #dbd6db; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("../images/nav.gif") #f3f1f3; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #d9d7d9; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #dbd6db; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("../images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("../images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #b299ac; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #766f76; + box-shadow: 0 0 0.236em 0 #c8b6c4; + -webkit-box-shadow: 0 0 0.236em 0 #c8b6c4; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #766f76; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #f2f2f2; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #dbd6db; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #c4bac4; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #dbd6db; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #8f898f; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #dbd6db; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #687d7a; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #8fa29f; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #b9c5c3; + text-shadow: 0 1px 1px #51615f; + box-shadow: 0 1px 2px 0 #51615f; + -webkit-box-shadow: 0 1px 2px 0 #51615f; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #f1f3f3; +} +.widget_woo_twitter ul li .time { + color: #f1f3f3; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #8f898f; +} +.widget_woo_twitter p a { + color: #413e41; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("../images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #d4d2d4; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #8c8c8c; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("../images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #c0bec0; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("../images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #d1cfd1; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #d1cfd1; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #d1cfd1; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: "Karla", sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: "Karla", sans-serif; + color: #766f76; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #8f898f; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: "Karla", sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #dbd6db; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #8f898f; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #9c969c; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #766f76; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #dbd6db; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #dbd6db; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #dbd6db; + background: #f3f1f3; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #c4bac4; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #687d7a; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #82637b; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #b299ac; + box-shadow: 0 0 0 0.236em #82637b; + -webkit-box-shadow: 0 0 0 0.236em #82637b; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #687d7a; + border: 2px dashed #8a9f9c; + box-shadow: 0 0 0 2px #687d7a; + -webkit-box-shadow: 0 0 0 2px #687d7a; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("../images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("../images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("../images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("../images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("../images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("../images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("../images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #3e1f37; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(243, 241, 243, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #d1cfd1; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #d1cfd1; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #f3f1f3; + background-color: #f3f1f3; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f3f1f3), to(#e2e0e2)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f3f1f3, #e2e0e2); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f3f1f3, #e2e0e2); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f3f1f3, #e2e0e2); + /* IE10 */ + background-image: -o-linear-gradient(top, #f3f1f3, #e2e0e2); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f3f1f3, #e2e0e2); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #ffffff; + -moz-box-shadow: inset 0 1px 0 #ffffff; + box-shadow: inset 0 1px 0 #ffffff; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #faf9fa; + background-image: -webkit-gradient(linear, left top, left bottom, from(#faf9fa), to(#f3f1f3)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #faf9fa, #f3f1f3); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #faf9fa, #f3f1f3); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #faf9fa, #f3f1f3); + /* IE10 */ + background-image: -o-linear-gradient(top, #faf9fa, #f3f1f3); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #faf9fa, #f3f1f3); + border-top: 1px solid #d1cfd1; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #d1cfd1; + -webkit-box-shadow: inset 0 1px 0 #ffffff; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #544d54; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #d1cfd1; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #82637b; + color: #bda8b8; + text-shadow: 0 1px 1px #483744; + border: 1px solid #3e1f37; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #b299ac; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #e9e2e7; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #71526a; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #82637b 0%, #b596ae 100%); + background-image: -o-linear-gradient(left, #82637b 0%, #b596ae 100%); + background-image: -moz-linear-gradient(left, #82637b 0%, #b596ae 100%); + background-image: -webkit-linear-gradient(left, #82637b 0%, #b596ae 100%); + background-image: -ms-linear-gradient(left, #82637b 0%, #b596ae 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #82637b), color-stop(1, #b596ae)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #71526a; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #878087; + background: #604159; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("../images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #c1bdc1; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #766f76; + box-shadow: 0 0 0.236em 0 #f2f2f2; + -webkit-box-shadow: 0 0 0.236em 0 #f2f2f2; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #b9c5c3; + -webkit-box-shadow: 0 0 0.618em 0 #b9c5c3; + border: 1px solid #9daeab; +} +::-webkit-input-placeholder { + color: #cbc4cb; +} +:-moz-placeholder { + color: #cbc4cb; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #687d7a; + border: 1px dashed #9bb0ad; + box-shadow: 0 0 0 0.327em #465b58; + -webkit-box-shadow: 0 0 0 0.327em #465b58; + cursor: pointer; + text-shadow: 0 1px 0 #465b58; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #576c69; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/ajax-loader.gif") center no-repeat #687d7a; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #82637b; + box-shadow: 0 0 0 0.327em #604159; + -webkit-box-shadow: 0 0 0 0.327em #604159; + border-color: #a6a6a6; + text-shadow: 0 1px 0 #604159; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #71526a; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #82637b !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #5b575b; + border-bottom: 0.146em dashed #837c83; + border-top: 0.327em solid #413e41; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #4e4a4e, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #4e4a4e; + -moz-box-shadow: 0 0.236em 0 #4e4a4e, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #4e4a4e; + box-shadow: 0 0.236em 0 #4e4a4e, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #4e4a4e; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #433c43; + color: #bab3ba; + } + #top a:hover { + color: #93748c; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a:hover { + background-color: #766f76; + background-image: -webkit-gradient(linear, left top, left bottom, from(#766f76), to(#686368)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #766f76, #686368); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #766f76, #686368); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #766f76, #686368); + /* IE10 */ + background-image: -o-linear-gradient(top, #766f76, #686368); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #766f76, #686368); + } + #top ul.nav > li:hover { + background-color: #766f76; + background-image: -webkit-gradient(linear, left top, left bottom, from(#766f76), to(#686368)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #766f76, #686368); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #766f76, #686368); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #766f76, #686368); + /* IE10 */ + background-image: -o-linear-gradient(top, #766f76, #686368); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #766f76, #686368); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #686368; + background-image: -webkit-gradient(linear, left top, left bottom, from(#686368), to(#5b575b)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #686368, #5b575b); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #686368, #5b575b); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #686368, #5b575b); + /* IE10 */ + background-image: -o-linear-gradient(top, #686368, #5b575b); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #686368, #5b575b); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #navigation ul.nav > li { + border-right: 1px dotted #e7e3e7; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #687d7a; + -webkit-box-shadow: inset 0 0.382em 0 0 #687d7a; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #687d7a; + -webkit-box-shadow: inset 0 0.382em 0 0 #687d7a; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #687d7a; + } + #navigation ul.nav li a:hover { + color: #243936; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #465b58; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px dashed #9bb0ad; + background: url("../images/home.png") center no-repeat #687d7a; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #576c69; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(210, 203, 210, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(130, 99, 123, 0.8); + border-bottom: 0.382em solid #82637b; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: "Karla", sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #687d7a; + border-bottom-width: .857em; + background: rgba(104, 125, 122, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: "Cutive", sans-serif; + color: #687d7a; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #e2e0e2; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #e2e0e2; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #e2e0e2; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #e2e0e2; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #e2e0e2; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #e2e0e2; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #f3f1f3; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #82637b; + } + .ie8 ul.featured-products li:hover h3 { + background: #687d7a; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} +body, +html, +#navigation, +.widget, +#sidebar .widget, +#footer-widgets, +.post, +.type-page, +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + background-image: none; +} +body { + background-image: url("../images/floral/body.png"); +} +#sidebar .widget:after, +#sidebar .widget:before, +ul.products li.product .img-wrap:before { + display: none; +} diff --git a/artificer/styles/floral.less b/artificer/styles/floral.less new file mode 100644 index 0000000..4129558 --- /dev/null +++ b/artificer/styles/floral.less @@ -0,0 +1,31 @@ +@import url(../style.less); +@import url(../css/layout.less); +@import url(../css/mixins.less); + +@color_theme: #687d7a; // Main theme color +@color_links: #82637b; // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy + +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF + +// Backgrounds +@bg_light: #f3f1f3; + +// Images +@img_path: "../images"; + +// Typefaces +@typeface_path: "../typefaces"; + +body, html, #navigation, .widget, #sidebar .widget, #footer-widgets, .post, .type-page, .home #sidebar .tweet, .home #sidebar .phone, .home #sidebar .email { + background-image: none; +} + +body { + background-image: url("@{img_path}/floral/body.png"); +} + +#sidebar .widget:after, #sidebar .widget:before, ul.products li.product .img-wrap:before { + display: none; +} \ No newline at end of file diff --git a/artificer/styles/green.css b/artificer/styles/green.css new file mode 100644 index 0000000..c0a88c9 --- /dev/null +++ b/artificer/styles/green.css @@ -0,0 +1,4618 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.6 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #e1e5dc; + border: 1px solid #c8cfbf; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("../images/body.gif") #e1e5dc; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #626a58; + font-family: "Karla", sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("../images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #c8cfbf; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #66712b; + text-decoration: none; +} +a:hover { + color: #222d00; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Cutive", sans-serif; + color: #2e322a; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #8c9087; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: "Cutive", sans-serif; + padding: 1em; + background: #e1e5dc; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #e1e5dc; + border-color: #e1e5dc transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("../typefaces/websymbols-regular-webfont.eot"); + src: url("../typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("../typefaces/websymbols-regular-webfont.woff") format('woff'), url("../typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("../typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #e1e5dc; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #bfc3ba; + text-shadow: 0 1px 0 #e1e5dc; +} +table thead tr th { + background-color: #e1e5dc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e1e5dc), to(#d0d4cb)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e1e5dc, #d0d4cb); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e1e5dc, #d0d4cb); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e1e5dc, #d0d4cb); + /* IE10 */ + background-image: -o-linear-gradient(top, #e1e5dc, #d0d4cb); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e1e5dc, #d0d4cb); + color: #404836; + -webkit-box-shadow: inset 0 2px 0 #f2f6ed; + -moz-box-shadow: inset 0 2px 0 #f2f6ed; + box-shadow: inset 0 2px 0 #f2f6ed; +} +table tbody tr { + border: 1px solid #cdd4c5; +} +table tbody tr th, +table tbody tr td { + background-color: #e9ece5; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e9ece5), to(#e1e5dc)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e9ece5, #e1e5dc); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e9ece5, #e1e5dc); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e9ece5, #e1e5dc); + /* IE10 */ + background-image: -o-linear-gradient(top, #e9ece5, #e1e5dc); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e9ece5, #e1e5dc); + -webkit-box-shadow: inset 0 2px 0 #f5f6f3; +} +table tbody tr:first-child { + border-top-color: #afbaa1; +} +table tfoot { + border: 1px solid #d0d4cb; + border-top-color: #bfc3ba; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: "Cutive", sans-serif, serif; + background: url("../images/nav.gif") #e1e5dc; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #c7cbc2; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("../images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #626a58; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #626a58; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #768528; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #fafbf9; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fafbf9), to(#e1e5dc)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fafbf9, #e1e5dc); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #fafbf9, #e1e5dc); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #fafbf9, #e1e5dc); + /* IE10 */ + background-image: -o-linear-gradient(top, #fafbf9, #e1e5dc); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #fafbf9, #e1e5dc); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #879639; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #66712b; + -webkit-box-shadow: inset 0 0 0 0.236em #66712b; + text-shadow: 0 1px 0 #546306; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #66712b; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #66712b; + box-shadow: inset 0.618em 0 0 0 #444f09; + -webkit-box-shadow: inset 0.618em 0 0 0 #444f09; + color: #b9c86d; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #879639; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: "Cutive", sans-serif; + font-size: 1.618em; + color: #dde4b7; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #879639; + color: #cbd692; + box-shadow: inset 0.618em 0 0 0 #657417; + -webkit-box-shadow: inset 0.618em 0 0 0 #657417; + font-family: "Cutive", sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #a7ba48; +} +.home #sidebar .tweet ul li a { + color: #eef2dc; + background: #555f24; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #444c1d; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: "Karla", sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #7c866f; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #bfc3ba; + border-bottom: 0; + position: relative; + background: url("../images/nav.gif") #f2f6ed; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #cad1c2; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cad1c2), to(#d2d8ca)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cad1c2, #d2d8ca); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cad1c2, #d2d8ca); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cad1c2, #d2d8ca); + /* IE10 */ + background-image: -o-linear-gradient(top, #cad1c2, #d2d8ca); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cad1c2, #d2d8ca); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #bfc3ba; + border-top-color: #aeb2a9; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #a6ae9c; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #c8cfbf 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("../images/crinkles.png") top no-repeat, url("../images/post.png"), url("../images/nav.gif"); + background-color: #f2f6ed; + border: 1px solid #bfc3ba; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #2e322a; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #d4dacd; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #d4dacd; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(225, 229, 220, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(225, 229, 220, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("../images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #c8cfbf; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #afbaa1; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #e1e5dc; + border: 1px solid #c8cfbf; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #626a58; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #444f09; + -webkit-box-shadow: 0 0 0 0.327em #444f09; + text-shadow: 0 1px 0 #444f09; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: "Cutive", sans-serif; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #66712b; + border: 1px dashed #888b77; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #c8cfbf; + border-bottom: 1px solid #c8cfbf; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #c8cfbf; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("../images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #626a58; + border-bottom: 1px solid #c8cfbf; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("../images/nav.gif") #e1e5dc; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #c7cbc2; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #c8cfbf; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("../images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("../images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #a7ba48; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #626a58; + box-shadow: 0 0 0.236em 0 #b9c86d; + -webkit-box-shadow: 0 0 0.236em 0 #b9c86d; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #626a58; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #e1e3de; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #c8cfbf; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #afbaa1; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #c8cfbf; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #7c866f; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #c8cfbf; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #879639; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #b0c15b; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #cbd692; + text-shadow: 0 1px 1px #66712b; + box-shadow: 0 1px 2px 0 #66712b; + -webkit-box-shadow: 0 1px 2px 0 #66712b; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #eef2dc; +} +.widget_woo_twitter ul li .time { + color: #eef2dc; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #7c866f; +} +.widget_woo_twitter p a { + color: #2e322a; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("../images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #c2c6bd; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #7a7a7a; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("../images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #aeb2a9; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("../images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #bfc3ba; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #bfc3ba; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #bfc3ba; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: "Karla", sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: "Karla", sans-serif; + color: #626a58; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #7c866f; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: "Karla", sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #c8cfbf; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #7c866f; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #89937c; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #626a58; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #c8cfbf; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #c8cfbf; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #c8cfbf; + background: #e1e5dc; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #afbaa1; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #879639; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #66712b; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #a7ba48; + box-shadow: 0 0 0 0.236em #66712b; + -webkit-box-shadow: 0 0 0 0.236em #66712b; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #879639; + border: 2px dashed #a9b85b; + box-shadow: 0 0 0 2px #879639; + -webkit-box-shadow: 0 0 0 2px #879639; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("../images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("../images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("../images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("../images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("../images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("../images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("../images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #222d00; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(225, 229, 220, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #bfc3ba; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #bfc3ba; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #e1e5dc; + background-color: #e1e5dc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e1e5dc), to(#d0d4cb)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e1e5dc, #d0d4cb); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e1e5dc, #d0d4cb); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e1e5dc, #d0d4cb); + /* IE10 */ + background-image: -o-linear-gradient(top, #e1e5dc, #d0d4cb); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e1e5dc, #d0d4cb); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #f2f6ed; + -moz-box-shadow: inset 0 1px 0 #f2f6ed; + box-shadow: inset 0 1px 0 #f2f6ed; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #e9ece5; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e9ece5), to(#e1e5dc)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e9ece5, #e1e5dc); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e9ece5, #e1e5dc); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e9ece5, #e1e5dc); + /* IE10 */ + background-image: -o-linear-gradient(top, #e9ece5, #e1e5dc); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e9ece5, #e1e5dc); + border-top: 1px solid #bfc3ba; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #bfc3ba; + -webkit-box-shadow: inset 0 1px 0 #f5f6f3; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #404836; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #bfc3ba; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #66712b; + color: #b0c15b; + text-shadow: 0 1px 1px #23270f; + border: 1px solid #222d00; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #a7ba48; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #d4dda5; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #55601a; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #66712b 0%, #99a45e 100%); + background-image: -o-linear-gradient(left, #66712b 0%, #99a45e 100%); + background-image: -moz-linear-gradient(left, #66712b 0%, #99a45e 100%); + background-image: -webkit-linear-gradient(left, #66712b 0%, #99a45e 100%); + background-image: -ms-linear-gradient(left, #66712b 0%, #99a45e 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #66712b), color-stop(1, #99a45e)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #55601a; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #737b69; + background: #444f09; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("../images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #aeb5a6; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #626a58; + box-shadow: 0 0 0.236em 0 #e1e3de; + -webkit-box-shadow: 0 0 0.236em 0 #e1e3de; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #cbd692; + -webkit-box-shadow: 0 0 0.618em 0 #cbd692; + border: 1px solid #b9c86d; +} +::-webkit-input-placeholder { + color: #b7bfad; +} +:-moz-placeholder { + color: #b7bfad; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #879639; + border: 1px dashed #bac96c; + box-shadow: 0 0 0 0.327em #657417; + -webkit-box-shadow: 0 0 0 0.327em #657417; + cursor: pointer; + text-shadow: 0 1px 0 #657417; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #768528; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/ajax-loader.gif") center no-repeat #879639; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #66712b; + box-shadow: 0 0 0 0.327em #444f09; + -webkit-box-shadow: 0 0 0 0.327em #444f09; + border-color: #888b77; + text-shadow: 0 1px 0 #444f09; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #55601a; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #66712b !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #484e41; + border-bottom: 0.146em dashed #6f7863; + border-top: 0.327em solid #2e322a; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #3b4035, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3b4035; + -moz-box-shadow: 0 0.236em 0 #3b4035, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3b4035; + box-shadow: 0 0.236em 0 #3b4035, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3b4035; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #2f3725; + color: #a6ae9c; + } + #top a:hover { + color: #77823c; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a:hover { + background-color: #626a58; + background-image: -webkit-gradient(linear, left top, left bottom, from(#626a58), to(#555c4c)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #626a58, #555c4c); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #626a58, #555c4c); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #626a58, #555c4c); + /* IE10 */ + background-image: -o-linear-gradient(top, #626a58, #555c4c); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #626a58, #555c4c); + } + #top ul.nav > li:hover { + background-color: #626a58; + background-image: -webkit-gradient(linear, left top, left bottom, from(#626a58), to(#555c4c)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #626a58, #555c4c); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #626a58, #555c4c); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #626a58, #555c4c); + /* IE10 */ + background-image: -o-linear-gradient(top, #626a58, #555c4c); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #626a58, #555c4c); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #555c4c; + background-image: -webkit-gradient(linear, left top, left bottom, from(#555c4c), to(#484e41)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #555c4c, #484e41); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #555c4c, #484e41); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #555c4c, #484e41); + /* IE10 */ + background-image: -o-linear-gradient(top, #555c4c, #484e41); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #555c4c, #484e41); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #navigation ul.nav > li { + border-right: 1px dotted #d4dacd; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #879639; + -webkit-box-shadow: inset 0 0.382em 0 0 #879639; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #879639; + -webkit-box-shadow: inset 0 0.382em 0 0 #879639; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #879639; + } + #navigation ul.nav li a:hover { + color: #435200; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #657417; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px dashed #bac96c; + background: url("../images/home.png") center no-repeat #879639; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #768528; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(190, 199, 179, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(102, 113, 43, 0.8); + border-bottom: 0.382em solid #66712b; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: "Karla", sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #879639; + border-bottom-width: .857em; + background: rgba(135, 150, 57, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: "Cutive", sans-serif; + color: #879639; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #d0d4cb; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #d0d4cb; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #d0d4cb; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #d0d4cb; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #d0d4cb; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #d0d4cb; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #e1e5dc; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #66712b; + } + .ie8 ul.featured-products li:hover h3 { + background: #879639; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} diff --git a/artificer/styles/green.less b/artificer/styles/green.less new file mode 100644 index 0000000..e956a59 --- /dev/null +++ b/artificer/styles/green.less @@ -0,0 +1,19 @@ +@import url(../style.less); +@import url(../css/layout.less); +@import url(../css/mixins.less); + +@color_theme: #879639; // Main theme color +@color_links: darken(@color_theme,10%); // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy + +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF + +// Backgrounds +@bg_light: #e1e5dc; + +// Images +@img_path: "../images"; + +// Typefaces +@typeface_path: "../typefaces"; \ No newline at end of file diff --git a/artificer/styles/honey.css b/artificer/styles/honey.css new file mode 100644 index 0000000..4b2bb1e --- /dev/null +++ b/artificer/styles/honey.css @@ -0,0 +1,4639 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.6 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #f7f4ee; + border: 1px solid #e7decb; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("../images/body.gif") #f7f4ee; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #977f4f; + font-family: "Karla", sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("../images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #e7decb; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #e7a206; + text-decoration: none; +} +a:hover { + color: #a35e00; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Cutive", sans-serif; + color: #54472c; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #a29f99; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: "Cutive", sans-serif; + padding: 1em; + background: #f7f4ee; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #f7f4ee; + border-color: #f7f4ee transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("../typefaces/websymbols-regular-webfont.eot"); + src: url("../typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("../typefaces/websymbols-regular-webfont.woff") format('woff'), url("../typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("../typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #f7f4ee; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #d5d2cc; + text-shadow: 0 1px 0 #f7f4ee; +} +table thead tr th { + background-color: #f7f4ee; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f7f4ee), to(#e6e3dd)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f7f4ee, #e6e3dd); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f7f4ee, #e6e3dd); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f7f4ee, #e6e3dd); + /* IE10 */ + background-image: -o-linear-gradient(top, #f7f4ee, #e6e3dd); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f7f4ee, #e6e3dd); + color: #755d2d; + -webkit-box-shadow: inset 0 2px 0 #ffffff; + -moz-box-shadow: inset 0 2px 0 #ffffff; + box-shadow: inset 0 2px 0 #ffffff; +} +table tbody tr { + border: 1px solid #eae2d2; +} +table tbody tr th, +table tbody tr td { + background-color: #fcfbf8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfbf8), to(#f7f4ee)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fcfbf8, #f7f4ee); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #fcfbf8, #f7f4ee); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #fcfbf8, #f7f4ee); + /* IE10 */ + background-image: -o-linear-gradient(top, #fcfbf8, #f7f4ee); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #fcfbf8, #f7f4ee); + -webkit-box-shadow: inset 0 2px 0 #ffffff; +} +table tbody tr:first-child { + border-top-color: #d6c7a9; +} +table tfoot { + border: 1px solid #e6e3dd; + border-top-color: #d5d2cc; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: "Cutive", sans-serif, serif; + background: url("../images/nav.gif") #f7f4ee; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #dddad4; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("../images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #977f4f; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #977f4f; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #d69100; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #ffffff; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f7f4ee)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ffffff, #f7f4ee); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ffffff, #f7f4ee); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ffffff, #f7f4ee); + /* IE10 */ + background-image: -o-linear-gradient(top, #ffffff, #f7f4ee); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ffffff, #f7f4ee); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #e7a206; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #b57f05; + -webkit-box-shadow: inset 0 0 0 0.236em #b57f05; + text-shadow: 0 1px 0 #b46f00; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #b57f05; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #e7a206; + box-shadow: inset 0.618em 0 0 0 #c58000; + -webkit-box-shadow: inset 0.618em 0 0 0 #c58000; + color: #fcd98a; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #f9b927; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: "Cutive", sans-serif; + font-size: 1.618em; + color: #fff9ed; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #e7a206; + color: #fcd98a; + box-shadow: inset 0.618em 0 0 0 #c58000; + -webkit-box-shadow: inset 0.618em 0 0 0 #c58000; + font-family: "Cutive", sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #f9b927; +} +.home #sidebar .tweet ul li a { + color: #fff9ed; + background: #9c6e04; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #845c03; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: "Karla", sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #b09869; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #d5d2cc; + border-bottom: 0; + position: relative; + background: url("../images/nav.gif") #ffffff; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #e8e0cf; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e0cf), to(#ede7d9)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e8e0cf, #ede7d9); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e8e0cf, #ede7d9); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e8e0cf, #ede7d9); + /* IE10 */ + background-image: -o-linear-gradient(top, #e8e0cf, #ede7d9); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e8e0cf, #ede7d9); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #d5d2cc; + border-top-color: #c4c1bb; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #dbc393; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #e7decb 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("../images/crinkles.png") top no-repeat, url("../images/post.png"), url("../images/nav.gif"); + background-color: #ffffff; + border: 1px solid #d5d2cc; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #54472c; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #efe9dd; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #efe9dd; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(247, 244, 238, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(247, 244, 238, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("../images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #e7decb; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #d6c7a9; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #f7f4ee; + border: 1px solid #e7decb; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #977f4f; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #c58000; + -webkit-box-shadow: 0 0 0 0.327em #c58000; + text-shadow: 0 1px 0 #c58000; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: "Cutive", sans-serif; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #e7a206; + border: 1px dashed #ffcb54; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #e7decb; + border-bottom: 1px solid #e7decb; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #e7decb; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("../images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #977f4f; + border-bottom: 1px solid #e7decb; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("../images/nav.gif") #f7f4ee; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #dddad4; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #e7decb; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("../images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("../images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #fbc958; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #977f4f; + box-shadow: 0 0 0.236em 0 #fcd98a; + -webkit-box-shadow: 0 0 0.236em 0 #fcd98a; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #977f4f; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #f6f4ef; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #e7decb; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #d6c7a9; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #e7decb; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #b09869; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #e7decb; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #e7a206; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #fac13f; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #fcd98a; + text-shadow: 0 1px 1px #b57f05; + box-shadow: 0 1px 2px 0 #b57f05; + -webkit-box-shadow: 0 1px 2px 0 #b57f05; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #fff9ed; +} +.widget_woo_twitter ul li .time { + color: #fff9ed; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #b09869; +} +.widget_woo_twitter p a { + color: #54472c; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("../images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #d8d5cf; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #999180; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("../images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #c4c1bb; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("../images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #d5d2cc; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #d5d2cc; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #d5d2cc; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: "Karla", sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: "Karla", sans-serif; + color: #977f4f; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #b09869; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: "Karla", sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #e7decb; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #b09869; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #b9a47a; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #977f4f; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #e7decb; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #e7decb; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #e7decb; + background: #f7f4ee; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #d6c7a9; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #e7a206; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #e7a206; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #fbc958; + box-shadow: 0 0 0 0.236em #e7a206; + -webkit-box-shadow: 0 0 0 0.236em #e7a206; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #e7a206; + border: 2px dashed #ffc428; + box-shadow: 0 0 0 2px #e7a206; + -webkit-box-shadow: 0 0 0 2px #e7a206; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("../images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("../images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("../images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("../images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("../images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("../images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("../images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #a35e00; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(247, 244, 238, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #d5d2cc; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #d5d2cc; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #f7f4ee; + background-color: #f7f4ee; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f7f4ee), to(#e6e3dd)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f7f4ee, #e6e3dd); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f7f4ee, #e6e3dd); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f7f4ee, #e6e3dd); + /* IE10 */ + background-image: -o-linear-gradient(top, #f7f4ee, #e6e3dd); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f7f4ee, #e6e3dd); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #ffffff; + -moz-box-shadow: inset 0 1px 0 #ffffff; + box-shadow: inset 0 1px 0 #ffffff; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #fcfbf8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfbf8), to(#f7f4ee)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fcfbf8, #f7f4ee); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #fcfbf8, #f7f4ee); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #fcfbf8, #f7f4ee); + /* IE10 */ + background-image: -o-linear-gradient(top, #fcfbf8, #f7f4ee); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #fcfbf8, #f7f4ee); + border-top: 1px solid #d5d2cc; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #d5d2cc; + -webkit-box-shadow: inset 0 1px 0 #ffffff; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #755d2d; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #d5d2cc; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #e7a206; + color: #fbd171; + text-shadow: 0 1px 1px #845c03; + border: 1px solid #a35e00; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #fbc958; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #fef1d5; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #d69100; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #e7a206 0%, #ffd539 100%); + background-image: -o-linear-gradient(left, #e7a206 0%, #ffd539 100%); + background-image: -moz-linear-gradient(left, #e7a206 0%, #ffd539 100%); + background-image: -webkit-linear-gradient(left, #e7a206 0%, #ffd539 100%); + background-image: -ms-linear-gradient(left, #e7a206 0%, #ffd539 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #e7a206), color-stop(1, #ffd539)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #d69100; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #a89060; + background: #c58000; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("../images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #d3c6ac; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #977f4f; + box-shadow: 0 0 0.236em 0 #f6f4ef; + -webkit-box-shadow: 0 0 0.236em 0 #f6f4ef; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #fcd98a; + -webkit-box-shadow: 0 0 0.618em 0 #fcd98a; + border: 1px solid #fbc958; +} +::-webkit-input-placeholder { + color: #ecd4a4; +} +:-moz-placeholder { + color: #ecd4a4; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #e7a206; + border: 1px dashed #ffd539; + box-shadow: 0 0 0 0.327em #c58000; + -webkit-box-shadow: 0 0 0 0.327em #c58000; + cursor: pointer; + text-shadow: 0 1px 0 #c58000; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #d69100; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/ajax-loader.gif") center no-repeat #e7a206; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #e7a206; + box-shadow: 0 0 0 0.327em #c58000; + -webkit-box-shadow: 0 0 0 0.327em #c58000; + border-color: #ffcb54; + text-shadow: 0 1px 0 #c58000; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #d69100; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #e7a206 !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #75633e; + border-bottom: 0.146em dashed #a78d58; + border-top: 0.327em solid #54472c; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #655535, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #655535; + -moz-box-shadow: 0 0.236em 0 #655535, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #655535; + box-shadow: 0 0.236em 0 #655535, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #655535; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #644c1c; + color: #dbc393; + } + #top a:hover { + color: #f8b317; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a:hover { + background-color: #977f4f; + background-image: -webkit-gradient(linear, left top, left bottom, from(#977f4f), to(#867147)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #977f4f, #867147); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #977f4f, #867147); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #977f4f, #867147); + /* IE10 */ + background-image: -o-linear-gradient(top, #977f4f, #867147); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #977f4f, #867147); + } + #top ul.nav > li:hover { + background-color: #977f4f; + background-image: -webkit-gradient(linear, left top, left bottom, from(#977f4f), to(#867147)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #977f4f, #867147); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #977f4f, #867147); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #977f4f, #867147); + /* IE10 */ + background-image: -o-linear-gradient(top, #977f4f, #867147); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #977f4f, #867147); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #867147; + background-image: -webkit-gradient(linear, left top, left bottom, from(#867147), to(#75633e)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #867147, #75633e); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #867147, #75633e); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #867147, #75633e); + /* IE10 */ + background-image: -o-linear-gradient(top, #867147, #75633e); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #867147, #75633e); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #navigation ul.nav > li { + border-right: 1px dotted #efe9dd; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #e7a206; + -webkit-box-shadow: inset 0 0.382em 0 0 #e7a206; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #e7a206; + -webkit-box-shadow: inset 0 0.382em 0 0 #e7a206; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #e7a206; + } + #navigation ul.nav li a:hover { + color: #a35e00; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #c58000; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px dashed #ffd539; + background: url("../images/home.png") center no-repeat #e7a206; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #d69100; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(224, 213, 189, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(231, 162, 6, 0.8); + border-bottom: 0.382em solid #e7a206; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: "Karla", sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #e7a206; + border-bottom-width: .857em; + background: rgba(231, 162, 6, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: "Cutive", sans-serif; + color: #e7a206; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #e6e3dd; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #e6e3dd; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #e6e3dd; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #e6e3dd; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #e6e3dd; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #e6e3dd; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #f7f4ee; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #e7a206; + } + .ie8 ul.featured-products li:hover h3 { + background: #e7a206; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} +body, +html, +#navigation, +.widget, +#sidebar .widget, +#footer-widgets, +.post, +.type-page, +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + background-image: none; +} +body { + background-image: url("../images/honey/body.png"); +} +#sidebar .widget:after, +#sidebar .widget:before, +ul.products li.product .img-wrap:before { + display: none; +} diff --git a/artificer/styles/honey.less b/artificer/styles/honey.less new file mode 100644 index 0000000..9acfe30 --- /dev/null +++ b/artificer/styles/honey.less @@ -0,0 +1,31 @@ +@import url(../style.less); +@import url(../css/layout.less); +@import url(../css/mixins.less); + +@color_theme: #e7a206; // Main theme color +@color_links: #e7a206; // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy + +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF + +// Backgrounds +@bg_light: #f7f4ee; + +// Images +@img_path: "../images"; + +// Typefaces +@typeface_path: "../typefaces"; + +body, html, #navigation, .widget, #sidebar .widget, #footer-widgets, .post, .type-page, .home #sidebar .tweet, .home #sidebar .phone, .home #sidebar .email { + background-image: none; +} + +body { + background-image: url("@{img_path}/honey/body.png"); +} + +#sidebar .widget:after, #sidebar .widget:before, ul.products li.product .img-wrap:before { + display: none; +} \ No newline at end of file diff --git a/artificer/styles/indigo.css b/artificer/styles/indigo.css new file mode 100644 index 0000000..32dbce4 --- /dev/null +++ b/artificer/styles/indigo.css @@ -0,0 +1,4618 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.6 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #dedfe1; + border: 1px solid #c3c5c9; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("../images/body.gif") #dedfe1; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #606060; + font-family: "Karla", sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("../images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #c3c5c9; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #524872; + text-decoration: none; +} +a:hover { + color: #0e042e; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Cutive", sans-serif; + color: #2d2d2d; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #898a8c; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: "Cutive", sans-serif; + padding: 1em; + background: #dedfe1; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #dedfe1; + border-color: #dedfe1 transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("../typefaces/websymbols-regular-webfont.eot"); + src: url("../typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("../typefaces/websymbols-regular-webfont.woff") format('woff'), url("../typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("../typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #dedfe1; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #bcbdbf; + text-shadow: 0 1px 0 #dedfe1; +} +table thead tr th { + background-color: #dedfe1; + background-image: -webkit-gradient(linear, left top, left bottom, from(#dedfe1), to(#cdced0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #dedfe1, #cdced0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #dedfe1, #cdced0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #dedfe1, #cdced0); + /* IE10 */ + background-image: -o-linear-gradient(top, #dedfe1, #cdced0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #dedfe1, #cdced0); + color: #3e3e3e; + -webkit-box-shadow: inset 0 2px 0 #eff0f2; + -moz-box-shadow: inset 0 2px 0 #eff0f2; + box-shadow: inset 0 2px 0 #eff0f2; +} +table tbody tr { + border: 1px solid #c9cace; +} +table tbody tr th, +table tbody tr td { + background-color: #e6e7e8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e6e7e8), to(#dedfe1)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e6e7e8, #dedfe1); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e6e7e8, #dedfe1); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e6e7e8, #dedfe1); + /* IE10 */ + background-image: -o-linear-gradient(top, #e6e7e8, #dedfe1); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e6e7e8, #dedfe1); + -webkit-box-shadow: inset 0 2px 0 #f3f4f4; +} +table tbody tr:first-child { + border-top-color: #a9abb0; +} +table tfoot { + border: 1px solid #cdced0; + border-top-color: #bcbdbf; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: "Cutive", sans-serif, serif; + background: url("../images/nav.gif") #dedfe1; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #c4c5c7; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("../images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #606060; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #606060; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #584b80; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #f9f9f9; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#dedfe1)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f9f9f9, #dedfe1); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f9f9f9, #dedfe1); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f9f9f9, #dedfe1); + /* IE10 */ + background-image: -o-linear-gradient(top, #f9f9f9, #dedfe1); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f9f9f9, #dedfe1); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #695c91; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #524872; + -webkit-box-shadow: inset 0 0 0 0.236em #524872; + text-shadow: 0 1px 0 #36295e; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #524872; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #524872; + box-shadow: inset 0.618em 0 0 0 #302650; + -webkit-box-shadow: inset 0.618em 0 0 0 #302650; + color: #a096bd; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #695c91; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: "Cutive", sans-serif; + font-size: 1.618em; + color: #d9d5e4; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #695c91; + color: #bcb6d0; + box-shadow: inset 0.618em 0 0 0 #473a6f; + -webkit-box-shadow: inset 0.618em 0 0 0 #473a6f; + font-family: "Cutive", sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #8377a9; +} +.home #sidebar .tweet ul li a { + color: #f5f4f8; + background: #473e62; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #3c3453; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: "Karla", sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #7a7a7a; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #bcbdbf; + border-bottom: 0; + position: relative; + background: url("../images/nav.gif") #eff0f2; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #c6c8cb; + background-image: -webkit-gradient(linear, left top, left bottom, from(#c6c8cb), to(#cecfd2)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #c6c8cb, #cecfd2); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #c6c8cb, #cecfd2); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #c6c8cb, #cecfd2); + /* IE10 */ + background-image: -o-linear-gradient(top, #c6c8cb, #cecfd2); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #c6c8cb, #cecfd2); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #bcbdbf; + border-top-color: #abacae; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #a4a4a4; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #c3c5c9 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("../images/crinkles.png") top no-repeat, url("../images/post.png"), url("../images/nav.gif"); + background-color: #eff0f2; + border: 1px solid #bcbdbf; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #2d2d2d; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #d1d2d5; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #d1d2d5; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(222, 223, 225, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(222, 223, 225, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("../images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #c3c5c9; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #a9abb0; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #dedfe1; + border: 1px solid #c3c5c9; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #606060; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #302650; + -webkit-box-shadow: 0 0 0 0.327em #302650; + text-shadow: 0 1px 0 #302650; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: "Cutive", sans-serif; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #524872; + border: 1px dashed #909090; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #c3c5c9; + border-bottom: 1px solid #c3c5c9; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #c3c5c9; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("../images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #606060; + border-bottom: 1px solid #c3c5c9; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("../images/nav.gif") #dedfe1; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #c4c5c7; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #c3c5c9; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("../images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("../images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #8377a9; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #606060; + box-shadow: 0 0 0.236em 0 #a096bd; + -webkit-box-shadow: 0 0 0.236em 0 #a096bd; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #606060; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #e0e0e0; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #c3c5c9; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #a9abb0; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #c3c5c9; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #7a7a7a; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #c3c5c9; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #695c91; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #9287b3; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #bcb6d0; + text-shadow: 0 1px 1px #524872; + box-shadow: 0 1px 2px 0 #524872; + -webkit-box-shadow: 0 1px 2px 0 #524872; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #f5f4f8; +} +.widget_woo_twitter ul li .time { + color: #f5f4f8; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #7a7a7a; +} +.widget_woo_twitter p a { + color: #2d2d2d; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("../images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #bfc0c2; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #7a7a7a; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("../images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #abacae; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("../images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #bcbdbf; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #bcbdbf; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #bcbdbf; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: "Karla", sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: "Karla", sans-serif; + color: #606060; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #7a7a7a; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: "Karla", sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #c3c5c9; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #7a7a7a; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #868686; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #606060; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #c3c5c9; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #c3c5c9; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #c3c5c9; + background: #dedfe1; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #a9abb0; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #695c91; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #524872; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #8377a9; + box-shadow: 0 0 0 0.236em #524872; + -webkit-box-shadow: 0 0 0 0.236em #524872; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #695c91; + border: 2px dashed #8b7eb3; + box-shadow: 0 0 0 2px #695c91; + -webkit-box-shadow: 0 0 0 2px #695c91; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("../images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("../images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("../images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("../images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("../images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("../images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("../images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #0e042e; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(222, 223, 225, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #bcbdbf; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #bcbdbf; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #dedfe1; + background-color: #dedfe1; + background-image: -webkit-gradient(linear, left top, left bottom, from(#dedfe1), to(#cdced0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #dedfe1, #cdced0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #dedfe1, #cdced0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #dedfe1, #cdced0); + /* IE10 */ + background-image: -o-linear-gradient(top, #dedfe1, #cdced0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #dedfe1, #cdced0); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #eff0f2; + -moz-box-shadow: inset 0 1px 0 #eff0f2; + box-shadow: inset 0 1px 0 #eff0f2; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #e6e7e8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e6e7e8), to(#dedfe1)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e6e7e8, #dedfe1); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e6e7e8, #dedfe1); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e6e7e8, #dedfe1); + /* IE10 */ + background-image: -o-linear-gradient(top, #e6e7e8, #dedfe1); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e6e7e8, #dedfe1); + border-top: 1px solid #bcbdbf; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #bcbdbf; + -webkit-box-shadow: inset 0 1px 0 #f3f4f4; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #3e3e3e; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #bcbdbf; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #524872; + color: #9287b3; + text-shadow: 0 1px 1px #252133; + border: 1px solid #0e042e; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #8377a9; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #cac5da; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #413761; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #524872 0%, #857ba5 100%); + background-image: -o-linear-gradient(left, #524872 0%, #857ba5 100%); + background-image: -moz-linear-gradient(left, #524872 0%, #857ba5 100%); + background-image: -webkit-linear-gradient(left, #524872 0%, #857ba5 100%); + background-image: -ms-linear-gradient(left, #524872 0%, #857ba5 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #524872), color-stop(1, #857ba5)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #413761; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #717171; + background: #302650; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("../images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #adadad; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #606060; + box-shadow: 0 0 0.236em 0 #e0e0e0; + -webkit-box-shadow: 0 0 0.236em 0 #e0e0e0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #bcb6d0; + -webkit-box-shadow: 0 0 0.618em 0 #bcb6d0; + border: 1px solid #a096bd; +} +::-webkit-input-placeholder { + color: #b5b5b5; +} +:-moz-placeholder { + color: #b5b5b5; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #695c91; + border: 1px dashed #9c8fc4; + box-shadow: 0 0 0 0.327em #473a6f; + -webkit-box-shadow: 0 0 0 0.327em #473a6f; + cursor: pointer; + text-shadow: 0 1px 0 #473a6f; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #584b80; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/ajax-loader.gif") center no-repeat #695c91; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #524872; + box-shadow: 0 0 0 0.327em #302650; + -webkit-box-shadow: 0 0 0 0.327em #302650; + border-color: #909090; + text-shadow: 0 1px 0 #302650; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #413761; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #524872 !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #474747; + border-bottom: 0.146em dashed #6d6d6d; + border-top: 0.327em solid #2d2d2d; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #3a3a3a, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3a3a3a; + -moz-box-shadow: 0 0.236em 0 #3a3a3a, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3a3a3a; + box-shadow: 0 0.236em 0 #3a3a3a, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3a3a3a; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #2d2d2d; + color: #a4a4a4; + } + #top a:hover { + color: #635983; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a:hover { + background-color: #606060; + background-image: -webkit-gradient(linear, left top, left bottom, from(#606060), to(#535353)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #606060, #535353); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #606060, #535353); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #606060, #535353); + /* IE10 */ + background-image: -o-linear-gradient(top, #606060, #535353); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #606060, #535353); + } + #top ul.nav > li:hover { + background-color: #606060; + background-image: -webkit-gradient(linear, left top, left bottom, from(#606060), to(#535353)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #606060, #535353); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #606060, #535353); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #606060, #535353); + /* IE10 */ + background-image: -o-linear-gradient(top, #606060, #535353); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #606060, #535353); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #535353; + background-image: -webkit-gradient(linear, left top, left bottom, from(#535353), to(#474747)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #535353, #474747); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #535353, #474747); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #535353, #474747); + /* IE10 */ + background-image: -o-linear-gradient(top, #535353, #474747); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #535353, #474747); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #navigation ul.nav > li { + border-right: 1px dotted #d1d2d5; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #695c91; + -webkit-box-shadow: inset 0 0.382em 0 0 #695c91; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #695c91; + -webkit-box-shadow: inset 0 0.382em 0 0 #695c91; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #695c91; + } + #navigation ul.nav li a:hover { + color: #25184d; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #473a6f; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px dashed #9c8fc4; + background: url("../images/home.png") center no-repeat #695c91; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #584b80; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(185, 187, 191, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(82, 72, 114, 0.8); + border-bottom: 0.382em solid #524872; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: "Karla", sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #695c91; + border-bottom-width: .857em; + background: rgba(105, 92, 145, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: "Cutive", sans-serif; + color: #695c91; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #cdced0; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #cdced0; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #cdced0; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #cdced0; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #cdced0; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #cdced0; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #dedfe1; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #524872; + } + .ie8 ul.featured-products li:hover h3 { + background: #695c91; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} diff --git a/artificer/styles/indigo.less b/artificer/styles/indigo.less new file mode 100644 index 0000000..ed738ff --- /dev/null +++ b/artificer/styles/indigo.less @@ -0,0 +1,19 @@ +@import url(../style.less); +@import url(../css/layout.less); +@import url(../css/mixins.less); + +@color_theme: #695c91; // Main theme color +@color_links: darken(@color_theme,10%); // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy + +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF + +// Backgrounds +@bg_light: #dedfe1; + +// Images +@img_path: "../images"; + +// Typefaces +@typeface_path: "../typefaces"; \ No newline at end of file diff --git a/artificer/styles/industrial.css b/artificer/styles/industrial.css new file mode 100644 index 0000000..cd468f6 --- /dev/null +++ b/artificer/styles/industrial.css @@ -0,0 +1,4699 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.6 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #ececec; + border: 1px solid #d3d3d3; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("../images/body.gif") #ececec; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #6d6d6d; + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("../images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #d3d3d3; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #da6030; + text-decoration: none; +} +a:hover { + color: #961c00; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: sans-serif; + color: #3a3a3a; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #979797; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: sans-serif; + padding: 1em; + background: #ececec; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #ececec; + border-color: #ececec transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("../typefaces/websymbols-regular-webfont.eot"); + src: url("../typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("../typefaces/websymbols-regular-webfont.woff") format('woff'), url("../typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("../typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #ececec; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #cacaca; + text-shadow: 0 1px 0 #ececec; +} +table thead tr th { + background-color: #ececec; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ececec), to(#dbdbdb)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ececec, #dbdbdb); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ececec, #dbdbdb); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ececec, #dbdbdb); + /* IE10 */ + background-image: -o-linear-gradient(top, #ececec, #dbdbdb); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ececec, #dbdbdb); + color: #4b4b4b; + -webkit-box-shadow: inset 0 2px 0 #fdfdfd; + -moz-box-shadow: inset 0 2px 0 #fdfdfd; + box-shadow: inset 0 2px 0 #fdfdfd; +} +table tbody tr { + border: 1px solid #d8d8d8; +} +table tbody tr th, +table tbody tr td { + background-color: #f4f4f4; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f4f4f4, #ececec); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f4f4f4, #ececec); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f4f4f4, #ececec); + /* IE10 */ + background-image: -o-linear-gradient(top, #f4f4f4, #ececec); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f4f4f4, #ececec); + -webkit-box-shadow: inset 0 2px 0 #ffffff; +} +table tbody tr:first-child { + border-top-color: #b9b9b9; +} +table tfoot { + border: 1px solid #dbdbdb; + border-top-color: #cacaca; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: sans-serif, serif; + background: url("../images/nav.gif") #ececec; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #d2d2d2; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("../images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #6d6d6d; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #6d6d6d; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #666666; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #ffffff; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#ececec)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ffffff, #ececec); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ffffff, #ececec); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ffffff, #ececec); + /* IE10 */ + background-image: -o-linear-gradient(top, #ffffff, #ececec); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ffffff, #ececec); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #777777; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #5e5e5e; + -webkit-box-shadow: inset 0 0 0 0.236em #5e5e5e; + text-shadow: 0 1px 0 #444444; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #5e5e5e; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #da6030; + box-shadow: inset 0.618em 0 0 0 #b83e0e; + -webkit-box-shadow: inset 0.618em 0 0 0 #b83e0e; + color: #f1c4b2; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #e2815b; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: sans-serif; + font-size: 1.618em; + color: #ffffff; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #777777; + color: #c3c3c3; + box-shadow: inset 0.618em 0 0 0 #555555; + -webkit-box-shadow: inset 0.618em 0 0 0 #555555; + font-family: sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #919191; +} +.home #sidebar .tweet ul li a { + color: #f7f7f7; + background: #515151; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #444444; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #868686; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #cacaca; + border-bottom: 0; + position: relative; + background: url("../images/nav.gif") #fdfdfd; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #d5d5d5; + background-image: -webkit-gradient(linear, left top, left bottom, from(#d5d5d5), to(#dddddd)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #d5d5d5, #dddddd); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #d5d5d5, #dddddd); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #d5d5d5, #dddddd); + /* IE10 */ + background-image: -o-linear-gradient(top, #d5d5d5, #dddddd); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #d5d5d5, #dddddd); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #cacaca; + border-top-color: #b9b9b9; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #b1b1b1; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #d3d3d3 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("../images/crinkles.png") top no-repeat, url("../images/post.png"), url("../images/nav.gif"); + background-color: #fdfdfd; + border: 1px solid #cacaca; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #3a3a3a; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #dfdfdf; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #dfdfdf; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(236, 236, 236, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(236, 236, 236, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("../images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #d3d3d3; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #b9b9b9; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #ececec; + border: 1px solid #d3d3d3; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #6d6d6d; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #b83e0e; + -webkit-box-shadow: 0 0 0 0.327em #b83e0e; + text-shadow: 0 1px 0 #b83e0e; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: sans-serif; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #da6030; + border: 1px dashed #ff9971; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #d3d3d3; + border-bottom: 1px solid #d3d3d3; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #d3d3d3; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("../images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #6d6d6d; + border-bottom: 1px solid #d3d3d3; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("../images/nav.gif") #ececec; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #d2d2d2; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #d3d3d3; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("../images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("../images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #e9a287; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #6d6d6d; + box-shadow: 0 0 0.236em 0 #f1c4b2; + -webkit-box-shadow: 0 0 0.236em 0 #f1c4b2; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #6d6d6d; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #ececec; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #d3d3d3; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #b9b9b9; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #d3d3d3; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #868686; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #d3d3d3; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #777777; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #9d9d9d; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #c3c3c3; + text-shadow: 0 1px 1px #5e5e5e; + box-shadow: 0 1px 2px 0 #5e5e5e; + -webkit-box-shadow: 0 1px 2px 0 #5e5e5e; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #f7f7f7; +} +.widget_woo_twitter ul li .time { + color: #f7f7f7; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #868686; +} +.widget_woo_twitter p a { + color: #3a3a3a; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("../images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #cdcdcd; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #868686; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("../images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #b9b9b9; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("../images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #cacaca; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #cacaca; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #cacaca; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: sans-serif; + color: #6d6d6d; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #868686; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #d3d3d3; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #868686; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #939393; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #6d6d6d; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #d3d3d3; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #d3d3d3; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #d3d3d3; + background: #ececec; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #b9b9b9; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #777777; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #da6030; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #e9a287; + box-shadow: 0 0 0 0.236em #da6030; + -webkit-box-shadow: 0 0 0 0.236em #da6030; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #777777; + border: 2px dashed #999999; + box-shadow: 0 0 0 2px #777777; + -webkit-box-shadow: 0 0 0 2px #777777; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("../images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("../images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("../images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("../images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("../images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("../images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("../images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #961c00; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(236, 236, 236, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #cacaca; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #cacaca; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #ececec; + background-color: #ececec; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ececec), to(#dbdbdb)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ececec, #dbdbdb); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ececec, #dbdbdb); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ececec, #dbdbdb); + /* IE10 */ + background-image: -o-linear-gradient(top, #ececec, #dbdbdb); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ececec, #dbdbdb); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #fdfdfd; + -moz-box-shadow: inset 0 1px 0 #fdfdfd; + box-shadow: inset 0 1px 0 #fdfdfd; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #f4f4f4; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f4f4f4, #ececec); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f4f4f4, #ececec); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f4f4f4, #ececec); + /* IE10 */ + background-image: -o-linear-gradient(top, #f4f4f4, #ececec); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f4f4f4, #ececec); + border-top: 1px solid #cacaca; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #cacaca; + -webkit-box-shadow: inset 0 1px 0 #ffffff; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #4b4b4b; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #cacaca; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #da6030; + color: #edb39c; + text-shadow: 0 1px 1px #8b3919; + border: 1px solid #961c00; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #e9a287; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #fdf6f3; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #c94f1f; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #da6030 0%, #ff9363 100%); + background-image: -o-linear-gradient(left, #da6030 0%, #ff9363 100%); + background-image: -moz-linear-gradient(left, #da6030 0%, #ff9363 100%); + background-image: -webkit-linear-gradient(left, #da6030 0%, #ff9363 100%); + background-image: -ms-linear-gradient(left, #da6030 0%, #ff9363 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #da6030), color-stop(1, #ff9363)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #c94f1f; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #7e7e7e; + background: #b83e0e; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("../images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #b9b9b9; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #6d6d6d; + box-shadow: 0 0 0.236em 0 #ececec; + -webkit-box-shadow: 0 0 0.236em 0 #ececec; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #c3c3c3; + -webkit-box-shadow: 0 0 0.618em 0 #c3c3c3; + border: 1px solid #aaaaaa; +} +::-webkit-input-placeholder { + color: #c2c2c2; +} +:-moz-placeholder { + color: #c2c2c2; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #777777; + border: 1px dashed #aaaaaa; + box-shadow: 0 0 0 0.327em #555555; + -webkit-box-shadow: 0 0 0 0.327em #555555; + cursor: pointer; + text-shadow: 0 1px 0 #555555; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #666666; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/ajax-loader.gif") center no-repeat #777777; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #da6030; + box-shadow: 0 0 0 0.327em #b83e0e; + -webkit-box-shadow: 0 0 0 0.327em #b83e0e; + border-color: #ff9971; + text-shadow: 0 1px 0 #b83e0e; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #c94f1f; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #da6030 !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #535353; + border-bottom: 0.146em dashed #797979; + border-top: 0.327em solid #3a3a3a; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #464646, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #464646; + -moz-box-shadow: 0 0.236em 0 #464646, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #464646; + box-shadow: 0 0.236em 0 #464646, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #464646; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #3a3a3a; + color: #b1b1b1; + } + #top a:hover { + color: #eb7141; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a:hover { + background-color: #6d6d6d; + background-image: -webkit-gradient(linear, left top, left bottom, from(#6d6d6d), to(#606060)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #6d6d6d, #606060); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #6d6d6d, #606060); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #6d6d6d, #606060); + /* IE10 */ + background-image: -o-linear-gradient(top, #6d6d6d, #606060); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #6d6d6d, #606060); + } + #top ul.nav > li:hover { + background-color: #6d6d6d; + background-image: -webkit-gradient(linear, left top, left bottom, from(#6d6d6d), to(#606060)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #6d6d6d, #606060); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #6d6d6d, #606060); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #6d6d6d, #606060); + /* IE10 */ + background-image: -o-linear-gradient(top, #6d6d6d, #606060); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #6d6d6d, #606060); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #606060; + background-image: -webkit-gradient(linear, left top, left bottom, from(#606060), to(#535353)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #606060, #535353); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #606060, #535353); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #606060, #535353); + /* IE10 */ + background-image: -o-linear-gradient(top, #606060, #535353); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #606060, #535353); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #navigation ul.nav > li { + border-right: 1px dotted #dfdfdf; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #777777; + -webkit-box-shadow: inset 0 0.382em 0 0 #777777; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #777777; + -webkit-box-shadow: inset 0 0.382em 0 0 #777777; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #777777; + } + #navigation ul.nav li a:hover { + color: #333333; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #555555; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px dashed #aaaaaa; + background: url("../images/home.png") center no-repeat #777777; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #666666; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(200, 200, 200, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(218, 96, 48, 0.8); + border-bottom: 0.382em solid #da6030; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #777777; + border-bottom-width: .857em; + background: rgba(119, 119, 119, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: sans-serif; + color: #777777; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #dbdbdb; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #dbdbdb; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #dbdbdb; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #dbdbdb; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #dbdbdb; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #dbdbdb; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #ececec; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #da6030; + } + .ie8 ul.featured-products li:hover h3 { + background: #777777; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} +body, +html, +#navigation, +#top, +.widget, +#sidebar .widget, +#footer-widgets, +.post, +.type-page, +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email, +a.button, +#commentform #submit, +.submit, +input[type="submit"], +input.button, +button.button, +.woo-pagination a { + background-image: none; +} +body { + background-image: url("../images/industrial/body.png"); +} +#sidebar .widget:after, +#sidebar .widget:before, +ul.products li.product .img-wrap:before { + display: none; +} +#sidebar .widget, +#sidebar .widget .inner, +#sidebar .widget:nth-child(2n), +#sidebar .widget:nth-child(2n) .inner, +ul.products li.product .img-wrap, +ul.products li.product:nth-child(2n) .img-wrap, +ul.products li.product:nth-child(3n) .img-wrap, +ul.products li.product:nth-child(4n) .img-wrap, +ul.products li.product:nth-child(5n) .img-wrap, +ul.products li.product .img-wrap img, +.img-wrap, +ul.products li.product:nth-child(2n) .img-wrap img, +.img-wrap, +ul.products li.product:nth-child(3n) .img-wrap img, +.img-wrap, +ul.products li.product:nth-child(4n) .img-wrap img, +.img-wrap, +ul.products li.product:nth-child(5n) .img-wrap img, +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email, +.home #sidebar .phone .inner, +.home #sidebar .email .inner, +.home #sidebar .tweet ul { + -webkit-transform: rotate(0); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0); + /* FF3.5+ */ + -ms-transform: rotate(0); + /* IE9 */ + -o-transform: rotate(0); + /* Opera 10.5 */ + transform: rotate(0); + zoom: 1; +} +ul.products li.product:nth-child(4n) .img-wrap { + top: 0; +} +#sidebar .widget .inner, +#top, +a.button, +#commentform #submit, +.submit, +input[type="submit"], +input.button, +button.button, +.woo-pagination a, +.quantity .plus, +.quantity .minus, +.woo-pagination .current { + border: none; +} diff --git a/artificer/styles/industrial.less b/artificer/styles/industrial.less new file mode 100644 index 0000000..c59c662 --- /dev/null +++ b/artificer/styles/industrial.less @@ -0,0 +1,39 @@ +@import url(../style.less); +@import url(../css/layout.less); +@import url(../css/mixins.less); + +@color_theme: #777; // Main theme color +@color_links: #da6030; // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy +@serif_google: sans-serif; +@sans_google: sans-serif; + +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF + +// Backgrounds +@bg_light: #ececec; + +// Images +@img_path: "../images"; + +// Typefaces +@typeface_path: "../typefaces"; + +body, html, #navigation, #top, .widget, #sidebar .widget, #footer-widgets, .post, .type-page, .home #sidebar .tweet, .home #sidebar .phone, .home #sidebar .email, a.button, #commentform #submit, .submit, input[type="submit"], input.button, button.button, .woo-pagination a { + background-image: none; +} + +body { + background-image: url("@{img_path}/industrial/body.png"); +} + +#sidebar .widget:after, #sidebar .widget:before, ul.products li.product .img-wrap:before { + display: none; +} + +#sidebar .widget, #sidebar .widget .inner, #sidebar .widget:nth-child(2n), #sidebar .widget:nth-child(2n) .inner, ul.products li.product .img-wrap, ul.products li.product:nth-child(2n) .img-wrap, ul.products li.product:nth-child(3n) .img-wrap, ul.products li.product:nth-child(4n) .img-wrap, ul.products li.product:nth-child(5n) .img-wrap, ul.products li.product .img-wrap img, .img-wrap, ul.products li.product:nth-child(2n) .img-wrap img, .img-wrap, ul.products li.product:nth-child(3n) .img-wrap img, .img-wrap, ul.products li.product:nth-child(4n) .img-wrap img, .img-wrap, ul.products li.product:nth-child(5n) .img-wrap img, .home #sidebar .tweet, .home #sidebar .phone, .home #sidebar .email, .home #sidebar .phone .inner, .home #sidebar .email .inner, .home #sidebar .tweet ul { .rotate(0); } + +ul.products li.product:nth-child(4n) .img-wrap { top:0; } + +#sidebar .widget .inner, #top, a.button, #commentform #submit, .submit, input[type="submit"], input.button, button.button, .woo-pagination a, .quantity .plus, .quantity .minus, .woo-pagination .current { border: none; } \ No newline at end of file diff --git a/artificer/styles/minimal.css b/artificer/styles/minimal.css new file mode 100644 index 0000000..0114816 --- /dev/null +++ b/artificer/styles/minimal.css @@ -0,0 +1,4643 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.6 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #ececec; + border: 1px solid #d3d3d3; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("../images/body.gif") #ececec; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #6d6d6d; + font-family: "Karla", sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("../images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #d3d3d3; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #919191; + text-decoration: none; +} +a:hover { + color: #4d4d4d; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Cutive", sans-serif; + color: #3a3a3a; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #979797; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: "Cutive", sans-serif; + padding: 1em; + background: #ececec; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #ececec; + border-color: #ececec transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("../typefaces/websymbols-regular-webfont.eot"); + src: url("../typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("../typefaces/websymbols-regular-webfont.woff") format('woff'), url("../typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("../typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #ececec; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #cacaca; + text-shadow: 0 1px 0 #ececec; +} +table thead tr th { + background-color: #ececec; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ececec), to(#dbdbdb)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ececec, #dbdbdb); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ececec, #dbdbdb); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ececec, #dbdbdb); + /* IE10 */ + background-image: -o-linear-gradient(top, #ececec, #dbdbdb); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ececec, #dbdbdb); + color: #4b4b4b; + -webkit-box-shadow: inset 0 2px 0 #fdfdfd; + -moz-box-shadow: inset 0 2px 0 #fdfdfd; + box-shadow: inset 0 2px 0 #fdfdfd; +} +table tbody tr { + border: 1px solid #d8d8d8; +} +table tbody tr th, +table tbody tr td { + background-color: #f4f4f4; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f4f4f4, #ececec); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f4f4f4, #ececec); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f4f4f4, #ececec); + /* IE10 */ + background-image: -o-linear-gradient(top, #f4f4f4, #ececec); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f4f4f4, #ececec); + -webkit-box-shadow: inset 0 2px 0 #ffffff; +} +table tbody tr:first-child { + border-top-color: #b9b9b9; +} +table tfoot { + border: 1px solid #dbdbdb; + border-top-color: #cacaca; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: "Cutive", sans-serif, serif; + background: url("../images/nav.gif") #ececec; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #d2d2d2; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("../images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #6d6d6d; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #6d6d6d; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #666666; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #ffffff; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#ececec)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ffffff, #ececec); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ffffff, #ececec); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ffffff, #ececec); + /* IE10 */ + background-image: -o-linear-gradient(top, #ffffff, #ececec); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ffffff, #ececec); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #777777; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #5e5e5e; + -webkit-box-shadow: inset 0 0 0 0.236em #5e5e5e; + text-shadow: 0 1px 0 #444444; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #5e5e5e; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #919191; + box-shadow: inset 0.618em 0 0 0 #6f6f6f; + -webkit-box-shadow: inset 0.618em 0 0 0 #6f6f6f; + color: #dddddd; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #aaaaaa; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: "Cutive", sans-serif; + font-size: 1.618em; + color: #ffffff; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #777777; + color: #c3c3c3; + box-shadow: inset 0.618em 0 0 0 #555555; + -webkit-box-shadow: inset 0.618em 0 0 0 #555555; + font-family: "Cutive", sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #919191; +} +.home #sidebar .tweet ul li a { + color: #f7f7f7; + background: #515151; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #444444; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: "Karla", sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #868686; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #cacaca; + border-bottom: 0; + position: relative; + background: url("../images/nav.gif") #fdfdfd; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #d5d5d5; + background-image: -webkit-gradient(linear, left top, left bottom, from(#d5d5d5), to(#dddddd)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #d5d5d5, #dddddd); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #d5d5d5, #dddddd); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #d5d5d5, #dddddd); + /* IE10 */ + background-image: -o-linear-gradient(top, #d5d5d5, #dddddd); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #d5d5d5, #dddddd); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #cacaca; + border-top-color: #b9b9b9; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #b1b1b1; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #d3d3d3 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("../images/crinkles.png") top no-repeat, url("../images/post.png"), url("../images/nav.gif"); + background-color: #fdfdfd; + border: 1px solid #cacaca; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #3a3a3a; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #dfdfdf; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #dfdfdf; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(236, 236, 236, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(236, 236, 236, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("../images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #d3d3d3; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #b9b9b9; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #ececec; + border: 1px solid #d3d3d3; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #6d6d6d; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #6f6f6f; + -webkit-box-shadow: 0 0 0 0.327em #6f6f6f; + text-shadow: 0 1px 0 #6f6f6f; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: "Cutive", sans-serif; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #919191; + border: 1px dashed #c4c4c4; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #d3d3d3; + border-bottom: 1px solid #d3d3d3; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #d3d3d3; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("../images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #6d6d6d; + border-bottom: 1px solid #d3d3d3; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("../images/nav.gif") #ececec; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #d2d2d2; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #d3d3d3; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("../images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("../images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #c3c3c3; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #6d6d6d; + box-shadow: 0 0 0.236em 0 #dddddd; + -webkit-box-shadow: 0 0 0.236em 0 #dddddd; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #6d6d6d; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #ececec; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #d3d3d3; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #b9b9b9; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #d3d3d3; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #868686; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #d3d3d3; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #777777; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #9d9d9d; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #c3c3c3; + text-shadow: 0 1px 1px #5e5e5e; + box-shadow: 0 1px 2px 0 #5e5e5e; + -webkit-box-shadow: 0 1px 2px 0 #5e5e5e; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #f7f7f7; +} +.widget_woo_twitter ul li .time { + color: #f7f7f7; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #868686; +} +.widget_woo_twitter p a { + color: #3a3a3a; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("../images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #cdcdcd; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #868686; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("../images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #b9b9b9; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("../images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #cacaca; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #cacaca; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #cacaca; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: "Karla", sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: "Karla", sans-serif; + color: #6d6d6d; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #868686; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: "Karla", sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #d3d3d3; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #868686; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #939393; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #6d6d6d; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #d3d3d3; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #d3d3d3; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #d3d3d3; + background: #ececec; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #b9b9b9; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #777777; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #919191; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #c3c3c3; + box-shadow: 0 0 0 0.236em #919191; + -webkit-box-shadow: 0 0 0 0.236em #919191; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #777777; + border: 2px dashed #999999; + box-shadow: 0 0 0 2px #777777; + -webkit-box-shadow: 0 0 0 2px #777777; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("../images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("../images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("../images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("../images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("../images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("../images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("../images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #4d4d4d; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(236, 236, 236, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #cacaca; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #cacaca; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #ececec; + background-color: #ececec; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ececec), to(#dbdbdb)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ececec, #dbdbdb); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ececec, #dbdbdb); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ececec, #dbdbdb); + /* IE10 */ + background-image: -o-linear-gradient(top, #ececec, #dbdbdb); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ececec, #dbdbdb); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #fdfdfd; + -moz-box-shadow: inset 0 1px 0 #fdfdfd; + box-shadow: inset 0 1px 0 #fdfdfd; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #f4f4f4; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f4f4f4, #ececec); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f4f4f4, #ececec); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f4f4f4, #ececec); + /* IE10 */ + background-image: -o-linear-gradient(top, #f4f4f4, #ececec); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f4f4f4, #ececec); + border-top: 1px solid #cacaca; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #cacaca; + -webkit-box-shadow: inset 0 1px 0 #ffffff; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #4b4b4b; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #cacaca; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #919191; + color: #d0d0d0; + text-shadow: 0 1px 1px #5e5e5e; + border: 1px solid #4d4d4d; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #c3c3c3; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #ffffff; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #808080; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #919191 0%, #c4c4c4 100%); + background-image: -o-linear-gradient(left, #919191 0%, #c4c4c4 100%); + background-image: -moz-linear-gradient(left, #919191 0%, #c4c4c4 100%); + background-image: -webkit-linear-gradient(left, #919191 0%, #c4c4c4 100%); + background-image: -ms-linear-gradient(left, #919191 0%, #c4c4c4 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #919191), color-stop(1, #c4c4c4)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #808080; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #7e7e7e; + background: #6f6f6f; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("../images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #b9b9b9; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #6d6d6d; + box-shadow: 0 0 0.236em 0 #ececec; + -webkit-box-shadow: 0 0 0.236em 0 #ececec; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #c3c3c3; + -webkit-box-shadow: 0 0 0.618em 0 #c3c3c3; + border: 1px solid #aaaaaa; +} +::-webkit-input-placeholder { + color: #c2c2c2; +} +:-moz-placeholder { + color: #c2c2c2; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #777777; + border: 1px dashed #aaaaaa; + box-shadow: 0 0 0 0.327em #555555; + -webkit-box-shadow: 0 0 0 0.327em #555555; + cursor: pointer; + text-shadow: 0 1px 0 #555555; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #666666; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/ajax-loader.gif") center no-repeat #777777; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #919191; + box-shadow: 0 0 0 0.327em #6f6f6f; + -webkit-box-shadow: 0 0 0 0.327em #6f6f6f; + border-color: #c4c4c4; + text-shadow: 0 1px 0 #6f6f6f; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #808080; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #919191 !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #535353; + border-bottom: 0.146em dashed #797979; + border-top: 0.327em solid #3a3a3a; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #464646, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #464646; + -moz-box-shadow: 0 0.236em 0 #464646, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #464646; + box-shadow: 0 0.236em 0 #464646, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #464646; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #3a3a3a; + color: #b1b1b1; + } + #top a:hover { + color: #a2a2a2; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a:hover { + background-color: #6d6d6d; + background-image: -webkit-gradient(linear, left top, left bottom, from(#6d6d6d), to(#606060)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #6d6d6d, #606060); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #6d6d6d, #606060); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #6d6d6d, #606060); + /* IE10 */ + background-image: -o-linear-gradient(top, #6d6d6d, #606060); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #6d6d6d, #606060); + } + #top ul.nav > li:hover { + background-color: #6d6d6d; + background-image: -webkit-gradient(linear, left top, left bottom, from(#6d6d6d), to(#606060)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #6d6d6d, #606060); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #6d6d6d, #606060); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #6d6d6d, #606060); + /* IE10 */ + background-image: -o-linear-gradient(top, #6d6d6d, #606060); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #6d6d6d, #606060); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #606060; + background-image: -webkit-gradient(linear, left top, left bottom, from(#606060), to(#535353)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #606060, #535353); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #606060, #535353); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #606060, #535353); + /* IE10 */ + background-image: -o-linear-gradient(top, #606060, #535353); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #606060, #535353); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #navigation ul.nav > li { + border-right: 1px dotted #dfdfdf; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #777777; + -webkit-box-shadow: inset 0 0.382em 0 0 #777777; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #777777; + -webkit-box-shadow: inset 0 0.382em 0 0 #777777; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #777777; + } + #navigation ul.nav li a:hover { + color: #333333; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #555555; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px dashed #aaaaaa; + background: url("../images/home.png") center no-repeat #777777; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #666666; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(200, 200, 200, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(145, 145, 145, 0.8); + border-bottom: 0.382em solid #919191; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: "Karla", sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #777777; + border-bottom-width: .857em; + background: rgba(119, 119, 119, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: "Cutive", sans-serif; + color: #777777; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #dbdbdb; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #dbdbdb; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #dbdbdb; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #dbdbdb; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #dbdbdb; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #dbdbdb; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #ececec; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #919191; + } + .ie8 ul.featured-products li:hover h3 { + background: #777777; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} +body, +html, +#navigation, +#top, +.widget, +#sidebar .widget, +#footer-widgets, +.post, +.type-page, +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email, +a.button, +#commentform #submit, +.submit, +input[type="submit"], +input.button, +button.button, +.woo-pagination a { + background-image: none; +} +#sidebar .widget:after, +#sidebar .widget:before { + display: none; +} diff --git a/artificer/styles/minimal.less b/artificer/styles/minimal.less new file mode 100644 index 0000000..4b97087 --- /dev/null +++ b/artificer/styles/minimal.less @@ -0,0 +1,27 @@ +@import url(../style.less); +@import url(../css/layout.less); +@import url(../css/mixins.less); + +@color_theme: #777; // Main theme color +@color_links: lighten(@color_theme,10%); // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy + +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF + +// Backgrounds +@bg_light: #ececec; + +// Images +@img_path: "../images"; + +// Typefaces +@typeface_path: "../typefaces"; + +body, html, #navigation, #top, .widget, #sidebar .widget, #footer-widgets, .post, .type-page, .home #sidebar .tweet, .home #sidebar .phone, .home #sidebar .email, a.button, #commentform #submit, .submit, input[type="submit"], input.button, button.button, .woo-pagination a { + background-image: none; +} + +#sidebar .widget:after, #sidebar .widget:before { + display: none; +} \ No newline at end of file diff --git a/artificer/styles/orange.css b/artificer/styles/orange.css new file mode 100644 index 0000000..24e60ce --- /dev/null +++ b/artificer/styles/orange.css @@ -0,0 +1,4618 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.6 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #e5e4df; + border: 1px solid #ceccc3; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("../images/body.gif") #e5e4df; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #68665d; + font-family: "Karla", sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("../images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #ceccc3; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #925c31; + text-decoration: none; +} +a:hover { + color: #4e1800; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Cutive", sans-serif; + color: #32312d; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #908f8a; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: "Cutive", sans-serif; + padding: 1em; + background: #e5e4df; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #e5e4df; + border-color: #e5e4df transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("../typefaces/websymbols-regular-webfont.eot"); + src: url("../typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("../typefaces/websymbols-regular-webfont.woff") format('woff'), url("../typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("../typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #e5e4df; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #c3c2bd; + text-shadow: 0 1px 0 #e5e4df; +} +table thead tr th { + background-color: #e5e4df; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e5e4df), to(#d4d3ce)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e5e4df, #d4d3ce); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e5e4df, #d4d3ce); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e5e4df, #d4d3ce); + /* IE10 */ + background-image: -o-linear-gradient(top, #e5e4df, #d4d3ce); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e5e4df, #d4d3ce); + color: #46443b; + -webkit-box-shadow: inset 0 2px 0 #f6f5f0; + -moz-box-shadow: inset 0 2px 0 #f6f5f0; + box-shadow: inset 0 2px 0 #f6f5f0; +} +table tbody tr { + border: 1px solid #d3d1c8; +} +table tbody tr th, +table tbody tr td { + background-color: #ecebe7; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ecebe7), to(#e5e4df)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ecebe7, #e5e4df); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ecebe7, #e5e4df); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ecebe7, #e5e4df); + /* IE10 */ + background-image: -o-linear-gradient(top, #ecebe7, #e5e4df); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ecebe7, #e5e4df); + -webkit-box-shadow: inset 0 2px 0 #f7f7f6; +} +table tbody tr:first-child { + border-top-color: #b7b5a7; +} +table tfoot { + border: 1px solid #d4d3ce; + border-top-color: #c3c2bd; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: "Cutive", sans-serif, serif; + background: url("../images/nav.gif") #e5e4df; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #cbcac5; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("../images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #68665d; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #68665d; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #b2703b; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #fcfcfb; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfb), to(#e5e4df)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fcfcfb, #e5e4df); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #fcfcfb, #e5e4df); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #fcfcfb, #e5e4df); + /* IE10 */ + background-image: -o-linear-gradient(top, #fcfcfb, #e5e4df); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #fcfcfb, #e5e4df); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #c3814c; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #a56837; + -webkit-box-shadow: inset 0 0 0 0.236em #a56837; + text-shadow: 0 1px 0 #904e19; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #a56837; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #925c31; + box-shadow: inset 0.618em 0 0 0 #703a0f; + -webkit-box-shadow: inset 0.618em 0 0 0 #703a0f; + color: #d6a985; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #b8743e; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: "Cutive", sans-serif; + font-size: 1.618em; + color: #f0dfd2; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #c3814c; + color: #e9d2bf; + box-shadow: inset 0.618em 0 0 0 #a15f2a; + -webkit-box-shadow: inset 0.618em 0 0 0 #a15f2a; + font-family: "Cutive", sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #d09c72; +} +.home #sidebar .tweet ul li a { + color: #ffffff; + background: #925c31; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #7f502a; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: "Karla", sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #838075; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #c3c2bd; + border-bottom: 0; + position: relative; + background: url("../images/nav.gif") #f6f5f0; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #d0cfc6; + background-image: -webkit-gradient(linear, left top, left bottom, from(#d0cfc6), to(#d7d6ce)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #d0cfc6, #d7d6ce); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #d0cfc6, #d7d6ce); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #d0cfc6, #d7d6ce); + /* IE10 */ + background-image: -o-linear-gradient(top, #d0cfc6, #d7d6ce); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #d0cfc6, #d7d6ce); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #c3c2bd; + border-top-color: #b2b1ac; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #acaaa1; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #ceccc3 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("../images/crinkles.png") top no-repeat, url("../images/post.png"), url("../images/nav.gif"); + background-color: #f6f5f0; + border: 1px solid #c3c2bd; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #32312d; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #dad8d1; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #dad8d1; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(229, 228, 223, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(229, 228, 223, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("../images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #ceccc3; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #b7b5a7; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #e5e4df; + border: 1px solid #ceccc3; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #68665d; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #703a0f; + -webkit-box-shadow: 0 0 0 0.327em #703a0f; + text-shadow: 0 1px 0 #703a0f; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: "Cutive", sans-serif; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #925c31; + border: 1px dashed #af9179; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #ceccc3; + border-bottom: 1px solid #ceccc3; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #ceccc3; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("../images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #68665d; + border-bottom: 1px solid #ceccc3; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("../images/nav.gif") #e5e4df; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #cbcac5; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #ceccc3; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("../images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("../images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #c98e5f; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #68665d; + box-shadow: 0 0 0.236em 0 #d6a985; + -webkit-box-shadow: 0 0 0.236em 0 #d6a985; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #68665d; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #e4e3e0; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #ceccc3; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #b7b5a7; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #ceccc3; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #838075; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #ceccc3; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #c3814c; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #d6a985; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #e9d2bf; + text-shadow: 0 1px 1px #a56837; + box-shadow: 0 1px 2px 0 #a56837; + -webkit-box-shadow: 0 1px 2px 0 #a56837; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #ffffff; +} +.widget_woo_twitter ul li .time { + color: #ffffff; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #838075; +} +.widget_woo_twitter p a { + color: #32312d; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("../images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #c6c5c0; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #7c7c7c; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("../images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #b2b1ac; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("../images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c3c2bd; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c3c2bd; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c3c2bd; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: "Karla", sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: "Karla", sans-serif; + color: #68665d; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #838075; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: "Karla", sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #ceccc3; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #838075; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #8f8d82; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #68665d; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #ceccc3; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #ceccc3; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #ceccc3; + background: #e5e4df; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #b7b5a7; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #c3814c; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #925c31; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #c98e5f; + box-shadow: 0 0 0 0.236em #925c31; + -webkit-box-shadow: 0 0 0 0.236em #925c31; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #c3814c; + border: 2px dashed #e5a36e; + box-shadow: 0 0 0 2px #c3814c; + -webkit-box-shadow: 0 0 0 2px #c3814c; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("../images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("../images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("../images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("../images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("../images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("../images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("../images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #4e1800; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(229, 228, 223, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #c3c2bd; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #c3c2bd; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #e5e4df; + background-color: #e5e4df; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e5e4df), to(#d4d3ce)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e5e4df, #d4d3ce); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e5e4df, #d4d3ce); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e5e4df, #d4d3ce); + /* IE10 */ + background-image: -o-linear-gradient(top, #e5e4df, #d4d3ce); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e5e4df, #d4d3ce); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #f6f5f0; + -moz-box-shadow: inset 0 1px 0 #f6f5f0; + box-shadow: inset 0 1px 0 #f6f5f0; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #ecebe7; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ecebe7), to(#e5e4df)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ecebe7, #e5e4df); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ecebe7, #e5e4df); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ecebe7, #e5e4df); + /* IE10 */ + background-image: -o-linear-gradient(top, #ecebe7, #e5e4df); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ecebe7, #e5e4df); + border-top: 1px solid #c3c2bd; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #c3c2bd; + -webkit-box-shadow: inset 0 1px 0 #f7f7f6; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #46443b; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #c3c2bd; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #925c31; + color: #d09c72; + text-shadow: 0 1px 1px #452c17; + border: 1px solid #4e1800; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #c98e5f; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #e9d2bf; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #814b20; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #925c31 0%, #c58f64 100%); + background-image: -o-linear-gradient(left, #925c31 0%, #c58f64 100%); + background-image: -moz-linear-gradient(left, #925c31 0%, #c58f64 100%); + background-image: -webkit-linear-gradient(left, #925c31 0%, #c58f64 100%); + background-image: -ms-linear-gradient(left, #925c31 0%, #c58f64 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #925c31), color-stop(1, #c58f64)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #814b20; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #79776e; + background: #703a0f; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("../images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #b3b2ab; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #68665d; + box-shadow: 0 0 0.236em 0 #e4e3e0; + -webkit-box-shadow: 0 0 0.236em 0 #e4e3e0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #e9d2bf; + -webkit-box-shadow: 0 0 0.618em 0 #e9d2bf; + border: 1px solid #ddb798; +} +::-webkit-input-placeholder { + color: #bdbbb2; +} +:-moz-placeholder { + color: #bdbbb2; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #c3814c; + border: 1px dashed #f6b47f; + box-shadow: 0 0 0 0.327em #a15f2a; + -webkit-box-shadow: 0 0 0 0.327em #a15f2a; + cursor: pointer; + text-shadow: 0 1px 0 #a15f2a; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #b2703b; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/ajax-loader.gif") center no-repeat #c3814c; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #925c31; + box-shadow: 0 0 0 0.327em #703a0f; + -webkit-box-shadow: 0 0 0 0.327em #703a0f; + border-color: #af9179; + text-shadow: 0 1px 0 #703a0f; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #814b20; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #925c31 !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #4d4c45; + border-bottom: 0.146em dashed #757369; + border-top: 0.327em solid #32312d; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #3f3e39, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3f3e39; + -moz-box-shadow: 0 0.236em 0 #3f3e39, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3f3e39; + box-shadow: 0 0.236em 0 #3f3e39, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3f3e39; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #35332a; + color: #acaaa1; + } + #top a:hover { + color: #a36d42; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a:hover { + background-color: #68665d; + background-image: -webkit-gradient(linear, left top, left bottom, from(#68665d), to(#5a5951)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #68665d, #5a5951); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #68665d, #5a5951); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #68665d, #5a5951); + /* IE10 */ + background-image: -o-linear-gradient(top, #68665d, #5a5951); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #68665d, #5a5951); + } + #top ul.nav > li:hover { + background-color: #68665d; + background-image: -webkit-gradient(linear, left top, left bottom, from(#68665d), to(#5a5951)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #68665d, #5a5951); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #68665d, #5a5951); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #68665d, #5a5951); + /* IE10 */ + background-image: -o-linear-gradient(top, #68665d, #5a5951); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #68665d, #5a5951); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #5a5951; + background-image: -webkit-gradient(linear, left top, left bottom, from(#5a5951), to(#4d4c45)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #5a5951, #4d4c45); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #5a5951, #4d4c45); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #5a5951, #4d4c45); + /* IE10 */ + background-image: -o-linear-gradient(top, #5a5951, #4d4c45); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #5a5951, #4d4c45); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #navigation ul.nav > li { + border-right: 1px dotted #dad8d1; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #c3814c; + -webkit-box-shadow: inset 0 0.382em 0 0 #c3814c; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #c3814c; + -webkit-box-shadow: inset 0 0.382em 0 0 #c3814c; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #c3814c; + } + #navigation ul.nav li a:hover { + color: #7f3d08; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #a15f2a; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px dashed #f6b47f; + background: url("../images/home.png") center no-repeat #c3814c; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #b2703b; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(197, 195, 184, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(146, 92, 49, 0.8); + border-bottom: 0.382em solid #925c31; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: "Karla", sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #c3814c; + border-bottom-width: .857em; + background: rgba(195, 129, 76, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: "Cutive", sans-serif; + color: #c3814c; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #d4d3ce; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #d4d3ce; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #d4d3ce; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #d4d3ce; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #d4d3ce; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #d4d3ce; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #e5e4df; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #925c31; + } + .ie8 ul.featured-products li:hover h3 { + background: #c3814c; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} diff --git a/artificer/styles/orange.less b/artificer/styles/orange.less new file mode 100644 index 0000000..fdeacd4 --- /dev/null +++ b/artificer/styles/orange.less @@ -0,0 +1,19 @@ +@import url(../style.less); +@import url(../css/layout.less); +@import url(../css/mixins.less); + +@color_theme: #c3814c; // Main theme color +@color_links: darken(@color_theme,15%); // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy + +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF + +// Backgrounds +@bg_light: #e5e4df; + +// Images +@img_path: "../images"; + +// Typefaces +@typeface_path: "../typefaces"; \ No newline at end of file diff --git a/artificer/styles/red.css b/artificer/styles/red.css new file mode 100644 index 0000000..18d27db --- /dev/null +++ b/artificer/styles/red.css @@ -0,0 +1,4618 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.6 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #e4dee0; + border: 1px solid #cdc2c6; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("../images/body.gif") #e4dee0; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #665d60; + font-family: "Karla", sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("../images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #cdc2c6; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #ac744a; + text-decoration: none; +} +a:hover { + color: #683006; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Cutive", sans-serif; + color: #312c2e; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #8f898b; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: "Cutive", sans-serif; + padding: 1em; + background: #e4dee0; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #e4dee0; + border-color: #e4dee0 transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("../typefaces/websymbols-regular-webfont.eot"); + src: url("../typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("../typefaces/websymbols-regular-webfont.woff") format('woff'), url("../typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("../typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #e4dee0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #c2bcbe; + text-shadow: 0 1px 0 #e4dee0; +} +table thead tr th { + background-color: #e4dee0; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e4dee0), to(#d3cdcf)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e4dee0, #d3cdcf); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e4dee0, #d3cdcf); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e4dee0, #d3cdcf); + /* IE10 */ + background-image: -o-linear-gradient(top, #e4dee0, #d3cdcf); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e4dee0, #d3cdcf); + color: #443b3e; + -webkit-box-shadow: inset 0 2px 0 #f5eff1; + -moz-box-shadow: inset 0 2px 0 #f5eff1; + box-shadow: inset 0 2px 0 #f5eff1; +} +table tbody tr { + border: 1px solid #d2c8cb; +} +table tbody tr th, +table tbody tr td { + background-color: #ebe6e8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ebe6e8), to(#e4dee0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ebe6e8, #e4dee0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ebe6e8, #e4dee0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ebe6e8, #e4dee0); + /* IE10 */ + background-image: -o-linear-gradient(top, #ebe6e8, #e4dee0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ebe6e8, #e4dee0); + -webkit-box-shadow: inset 0 2px 0 #f6f4f5; +} +table tbody tr:first-child { + border-top-color: #b6a6ab; +} +table tfoot { + border: 1px solid #d3cdcf; + border-top-color: #c2bcbe; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: "Cutive", sans-serif, serif; + background: url("../images/nav.gif") #e4dee0; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #cac4c6; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("../images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #665d60; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #665d60; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #9b4239; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #fbfafa; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fbfafa), to(#e4dee0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fbfafa, #e4dee0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #fbfafa, #e4dee0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #fbfafa, #e4dee0); + /* IE10 */ + background-image: -o-linear-gradient(top, #fbfafa, #e4dee0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #fbfafa, #e4dee0); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #ac534a; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #88423b; + -webkit-box-shadow: inset 0 0 0 0.236em #88423b; + text-shadow: 0 1px 0 #792017; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #88423b; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #ac744a; + box-shadow: inset 0.618em 0 0 0 #8a5228; + -webkit-box-shadow: inset 0.618em 0 0 0 #8a5228; + color: #dec4b1; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #bf8e6a; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: "Cutive", sans-serif; + font-size: 1.618em; + color: #fcfaf9; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #ac534a; + color: #deb5b1; + box-shadow: inset 0.618em 0 0 0 #8a3128; + -webkit-box-shadow: inset 0.618em 0 0 0 #8a3128; + font-family: "Cutive", sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #bf726a; +} +.home #sidebar .tweet ul li a { + color: #fcf9f9; + background: #773933; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #65312b; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: "Karla", sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #817579; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #c2bcbe; + border-bottom: 0; + position: relative; + background: url("../images/nav.gif") #f5eff1; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #cfc5c8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cfc5c8), to(#d6cdd0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cfc5c8, #d6cdd0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cfc5c8, #d6cdd0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cfc5c8, #d6cdd0); + /* IE10 */ + background-image: -o-linear-gradient(top, #cfc5c8, #d6cdd0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cfc5c8, #d6cdd0); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #c2bcbe; + border-top-color: #b1abad; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #aaa1a4; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #cdc2c6 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("../images/crinkles.png") top no-repeat, url("../images/post.png"), url("../images/nav.gif"); + background-color: #f5eff1; + border: 1px solid #c2bcbe; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #312c2e; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #d9d0d3; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #d9d0d3; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(228, 222, 224, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(228, 222, 224, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("../images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #cdc2c6; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #b6a6ab; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #e4dee0; + border: 1px solid #cdc2c6; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #665d60; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #8a5228; + -webkit-box-shadow: 0 0 0 0.327em #8a5228; + text-shadow: 0 1px 0 #8a5228; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: "Cutive", sans-serif; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #ac744a; + border: 1px dashed #cfa98d; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #cdc2c6; + border-bottom: 1px solid #cdc2c6; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #cdc2c6; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("../images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #665d60; + border-bottom: 1px solid #cdc2c6; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("../images/nav.gif") #e4dee0; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #cac4c6; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #cdc2c6; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("../images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("../images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #cea98e; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #665d60; + box-shadow: 0 0 0.236em 0 #dec4b1; + -webkit-box-shadow: 0 0 0.236em 0 #dec4b1; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #665d60; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #e3e0e1; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #cdc2c6; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #b6a6ab; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #cdc2c6; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #817579; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #cdc2c6; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #ac534a; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #c7837c; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #deb5b1; + text-shadow: 0 1px 1px #88423b; + box-shadow: 0 1px 2px 0 #88423b; + -webkit-box-shadow: 0 1px 2px 0 #88423b; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #fcf9f9; +} +.widget_woo_twitter ul li .time { + color: #fcf9f9; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #817579; +} +.widget_woo_twitter p a { + color: #312c2e; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("../images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #c5bfc1; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #7b7b7b; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("../images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #b1abad; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("../images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c2bcbe; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c2bcbe; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c2bcbe; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: "Karla", sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: "Karla", sans-serif; + color: #665d60; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #817579; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: "Karla", sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #cdc2c6; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #817579; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #8e8286; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #665d60; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #cdc2c6; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #cdc2c6; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #cdc2c6; + background: #e4dee0; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #b6a6ab; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #ac534a; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #ac744a; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #cea98e; + box-shadow: 0 0 0 0.236em #ac744a; + -webkit-box-shadow: 0 0 0 0.236em #ac744a; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #ac534a; + border: 2px dashed #ce756c; + box-shadow: 0 0 0 2px #ac534a; + -webkit-box-shadow: 0 0 0 2px #ac534a; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("../images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("../images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("../images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("../images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("../images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("../images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("../images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #683006; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(228, 222, 224, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #c2bcbe; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #c2bcbe; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #e4dee0; + background-color: #e4dee0; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e4dee0), to(#d3cdcf)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e4dee0, #d3cdcf); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e4dee0, #d3cdcf); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e4dee0, #d3cdcf); + /* IE10 */ + background-image: -o-linear-gradient(top, #e4dee0, #d3cdcf); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e4dee0, #d3cdcf); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #f5eff1; + -moz-box-shadow: inset 0 1px 0 #f5eff1; + box-shadow: inset 0 1px 0 #f5eff1; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #ebe6e8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ebe6e8), to(#e4dee0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ebe6e8, #e4dee0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ebe6e8, #e4dee0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ebe6e8, #e4dee0); + /* IE10 */ + background-image: -o-linear-gradient(top, #ebe6e8, #e4dee0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ebe6e8, #e4dee0); + border-top: 1px solid #c2bcbe; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #c2bcbe; + -webkit-box-shadow: inset 0 1px 0 #f6f4f5; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #443b3e; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #c2bcbe; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #ac744a; + color: #d6b7a0; + text-shadow: 0 1px 1px #65442b; + border: 1px solid #683006; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #cea98e; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #f5ede7; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #9b6339; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #ac744a 0%, #dfa77d 100%); + background-image: -o-linear-gradient(left, #ac744a 0%, #dfa77d 100%); + background-image: -moz-linear-gradient(left, #ac744a 0%, #dfa77d 100%); + background-image: -webkit-linear-gradient(left, #ac744a 0%, #dfa77d 100%); + background-image: -ms-linear-gradient(left, #ac744a 0%, #dfa77d 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #ac744a), color-stop(1, #dfa77d)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #9b6339; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #776e71; + background: #8a5228; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("../images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #b2aaad; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #665d60; + box-shadow: 0 0 0.236em 0 #e3e0e1; + -webkit-box-shadow: 0 0 0.236em 0 #e3e0e1; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #deb5b1; + -webkit-box-shadow: 0 0 0.618em 0 #deb5b1; + border: 1px solid #ce948e; +} +::-webkit-input-placeholder { + color: #bbb2b5; +} +:-moz-placeholder { + color: #bbb2b5; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #ac534a; + border: 1px dashed #df867d; + box-shadow: 0 0 0 0.327em #8a3128; + -webkit-box-shadow: 0 0 0 0.327em #8a3128; + cursor: pointer; + text-shadow: 0 1px 0 #8a3128; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #9b4239; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/ajax-loader.gif") center no-repeat #ac534a; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #ac744a; + box-shadow: 0 0 0 0.327em #8a5228; + -webkit-box-shadow: 0 0 0 0.327em #8a5228; + border-color: #cfa98d; + text-shadow: 0 1px 0 #8a5228; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #9b6339; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #ac744a !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #4c4447; + border-bottom: 0.146em dashed #74696c; + border-top: 0.327em solid #312c2e; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #3e383a, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3e383a; + -moz-box-shadow: 0 0.236em 0 #3e383a, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3e383a; + box-shadow: 0 0.236em 0 #3e383a, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3e383a; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #332a2d; + color: #aaa1a4; + } + #top a:hover { + color: #bd855b; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a:hover { + background-color: #665d60; + background-image: -webkit-gradient(linear, left top, left bottom, from(#665d60), to(#595153)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #665d60, #595153); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #665d60, #595153); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #665d60, #595153); + /* IE10 */ + background-image: -o-linear-gradient(top, #665d60, #595153); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #665d60, #595153); + } + #top ul.nav > li:hover { + background-color: #665d60; + background-image: -webkit-gradient(linear, left top, left bottom, from(#665d60), to(#595153)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #665d60, #595153); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #665d60, #595153); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #665d60, #595153); + /* IE10 */ + background-image: -o-linear-gradient(top, #665d60, #595153); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #665d60, #595153); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #595153; + background-image: -webkit-gradient(linear, left top, left bottom, from(#595153), to(#4c4447)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #595153, #4c4447); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #595153, #4c4447); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #595153, #4c4447); + /* IE10 */ + background-image: -o-linear-gradient(top, #595153, #4c4447); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #595153, #4c4447); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #navigation ul.nav > li { + border-right: 1px dotted #d9d0d3; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #ac534a; + -webkit-box-shadow: inset 0 0.382em 0 0 #ac534a; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #ac534a; + -webkit-box-shadow: inset 0 0.382em 0 0 #ac534a; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #ac534a; + } + #navigation ul.nav li a:hover { + color: #680f06; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #8a3128; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px dashed #df867d; + background: url("../images/home.png") center no-repeat #ac534a; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #9b4239; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(196, 183, 187, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(172, 116, 74, 0.8); + border-bottom: 0.382em solid #ac744a; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: "Karla", sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #ac534a; + border-bottom-width: .857em; + background: rgba(172, 83, 74, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: "Cutive", sans-serif; + color: #ac534a; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #d3cdcf; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #d3cdcf; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #d3cdcf; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #d3cdcf; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #d3cdcf; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #d3cdcf; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #e4dee0; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #ac744a; + } + .ie8 ul.featured-products li:hover h3 { + background: #ac534a; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} diff --git a/artificer/styles/red.less b/artificer/styles/red.less new file mode 100644 index 0000000..e7a8548 --- /dev/null +++ b/artificer/styles/red.less @@ -0,0 +1,19 @@ +@import url(../style.less); +@import url(../css/layout.less); +@import url(../css/mixins.less); + +@color_theme: #ac534a; // Main theme color +@color_links: spin(@color_theme,20); // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy + +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF + +// Backgrounds +@bg_light: #e4dee0; + +// Images +@img_path: "../images"; + +// Typefaces +@typeface_path: "../typefaces"; \ No newline at end of file diff --git a/artificer/styles/violet.css b/artificer/styles/violet.css new file mode 100644 index 0000000..34405ce --- /dev/null +++ b/artificer/styles/violet.css @@ -0,0 +1,4618 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.6 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #e0dee1; + border: 1px solid #c7c3c9; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("../images/body.gif") #e0dee1; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #606060; + font-family: "Karla", sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("../images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #c7c3c9; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #874975; + text-decoration: none; +} +a:hover { + color: #430531; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Cutive", sans-serif; + color: #2d2d2d; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #8b898c; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: "Cutive", sans-serif; + padding: 1em; + background: #e0dee1; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #e0dee1; + border-color: #e0dee1 transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("../typefaces/websymbols-regular-webfont.eot"); + src: url("../typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("../typefaces/websymbols-regular-webfont.woff") format('woff'), url("../typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("../typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #e0dee1; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #bebcbf; + text-shadow: 0 1px 0 #e0dee1; +} +table thead tr th { + background-color: #e0dee1; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0dee1), to(#cfcdd0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e0dee1, #cfcdd0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e0dee1, #cfcdd0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e0dee1, #cfcdd0); + /* IE10 */ + background-image: -o-linear-gradient(top, #e0dee1, #cfcdd0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e0dee1, #cfcdd0); + color: #3e3e3e; + -webkit-box-shadow: inset 0 2px 0 #f1eff2; + -moz-box-shadow: inset 0 2px 0 #f1eff2; + box-shadow: inset 0 2px 0 #f1eff2; +} +table tbody tr { + border: 1px solid #ccc9ce; +} +table tbody tr th, +table tbody tr td { + background-color: #e8e6e8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e6e8), to(#e0dee1)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e8e6e8, #e0dee1); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e8e6e8, #e0dee1); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e8e6e8, #e0dee1); + /* IE10 */ + background-image: -o-linear-gradient(top, #e8e6e8, #e0dee1); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e8e6e8, #e0dee1); + -webkit-box-shadow: inset 0 2px 0 #f4f3f4; +} +table tbody tr:first-child { + border-top-color: #aea9b0; +} +table tfoot { + border: 1px solid #cfcdd0; + border-top-color: #bebcbf; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: "Cutive", sans-serif, serif; + background: url("../images/nav.gif") #e0dee1; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #c6c4c7; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("../images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #606060; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #606060; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #964b80; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #f9f9f9; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#e0dee1)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f9f9f9, #e0dee1); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f9f9f9, #e0dee1); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f9f9f9, #e0dee1); + /* IE10 */ + background-image: -o-linear-gradient(top, #f9f9f9, #e0dee1); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f9f9f9, #e0dee1); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #a75c91; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #874975; + -webkit-box-shadow: inset 0 0 0 0.236em #874975; + text-shadow: 0 1px 0 #74295e; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #874975; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #874975; + box-shadow: inset 0.618em 0 0 0 #652753; + -webkit-box-shadow: inset 0.618em 0 0 0 #652753; + color: #cb9ebe; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #a75c91; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: "Cutive", sans-serif; + font-size: 1.618em; + color: #efe0ea; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #a75c91; + color: #ddbfd4; + box-shadow: inset 0.618em 0 0 0 #853a6f; + -webkit-box-shadow: inset 0.618em 0 0 0 #853a6f; + font-family: "Cutive", sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #b97da7; +} +.home #sidebar .tweet ul li a { + color: #ffffff; + background: #774067; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #663758; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: "Karla", sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #7a7a7a; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #bebcbf; + border-bottom: 0; + position: relative; + background: url("../images/nav.gif") #f1eff2; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #c9c6cb; + background-image: -webkit-gradient(linear, left top, left bottom, from(#c9c6cb), to(#d1ced2)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #c9c6cb, #d1ced2); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #c9c6cb, #d1ced2); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #c9c6cb, #d1ced2); + /* IE10 */ + background-image: -o-linear-gradient(top, #c9c6cb, #d1ced2); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #c9c6cb, #d1ced2); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #bebcbf; + border-top-color: #adabae; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #a4a4a4; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #c7c3c9 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("../images/crinkles.png") top no-repeat, url("../images/post.png"), url("../images/nav.gif"); + background-color: #f1eff2; + border: 1px solid #bebcbf; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #2d2d2d; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #d3d1d5; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #d3d1d5; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(224, 222, 225, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(224, 222, 225, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("../images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #c7c3c9; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #aea9b0; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #e0dee1; + border: 1px solid #c7c3c9; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #606060; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #652753; + -webkit-box-shadow: 0 0 0 0.327em #652753; + text-shadow: 0 1px 0 #652753; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: "Cutive", sans-serif; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #874975; + border: 1px dashed #a690a0; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #c7c3c9; + border-bottom: 1px solid #c7c3c9; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #c7c3c9; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("../images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #606060; + border-bottom: 1px solid #c7c3c9; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("../images/nav.gif") #e0dee1; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #c6c4c7; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #c7c3c9; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("../images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("../images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #b97da7; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #606060; + box-shadow: 0 0 0.236em 0 #cb9ebe; + -webkit-box-shadow: 0 0 0.236em 0 #cb9ebe; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #606060; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #e0e0e0; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #c7c3c9; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #aea9b0; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #c7c3c9; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #7a7a7a; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #c7c3c9; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #a75c91; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #c28eb3; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #ddbfd4; + text-shadow: 0 1px 1px #874975; + box-shadow: 0 1px 2px 0 #874975; + -webkit-box-shadow: 0 1px 2px 0 #874975; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #ffffff; +} +.widget_woo_twitter ul li .time { + color: #ffffff; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #7a7a7a; +} +.widget_woo_twitter p a { + color: #2d2d2d; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("../images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #c1bfc2; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #7a7a7a; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("../images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #adabae; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("../images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #bebcbf; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #bebcbf; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #bebcbf; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: "Karla", sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: "Karla", sans-serif; + color: #606060; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #7a7a7a; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: "Karla", sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #c7c3c9; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #7a7a7a; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #868686; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #606060; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #c7c3c9; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #c7c3c9; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #c7c3c9; + background: #e0dee1; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #aea9b0; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #a75c91; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #874975; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #b97da7; + box-shadow: 0 0 0 0.236em #874975; + -webkit-box-shadow: 0 0 0 0.236em #874975; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #a75c91; + border: 2px dashed #c97eb3; + box-shadow: 0 0 0 2px #a75c91; + -webkit-box-shadow: 0 0 0 2px #a75c91; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("../images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("../images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("../images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("../images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("../images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("../images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("../images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #430531; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(224, 222, 225, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #bebcbf; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #bebcbf; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #e0dee1; + background-color: #e0dee1; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0dee1), to(#cfcdd0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e0dee1, #cfcdd0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e0dee1, #cfcdd0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e0dee1, #cfcdd0); + /* IE10 */ + background-image: -o-linear-gradient(top, #e0dee1, #cfcdd0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e0dee1, #cfcdd0); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #f1eff2; + -moz-box-shadow: inset 0 1px 0 #f1eff2; + box-shadow: inset 0 1px 0 #f1eff2; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #e8e6e8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e6e8), to(#e0dee1)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e8e6e8, #e0dee1); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e8e6e8, #e0dee1); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e8e6e8, #e0dee1); + /* IE10 */ + background-image: -o-linear-gradient(top, #e8e6e8, #e0dee1); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e8e6e8, #e0dee1); + border-top: 1px solid #bebcbf; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #bebcbf; + -webkit-box-shadow: inset 0 1px 0 #f4f3f4; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #3e3e3e; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #bebcbf; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #874975; + color: #c28eb3; + text-shadow: 0 1px 1px #45253c; + border: 1px solid #430531; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #b97da7; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #e6d0df; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #763864; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #874975 0%, #ba7ca8 100%); + background-image: -o-linear-gradient(left, #874975 0%, #ba7ca8 100%); + background-image: -moz-linear-gradient(left, #874975 0%, #ba7ca8 100%); + background-image: -webkit-linear-gradient(left, #874975 0%, #ba7ca8 100%); + background-image: -ms-linear-gradient(left, #874975 0%, #ba7ca8 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #874975), color-stop(1, #ba7ca8)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #763864; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #717171; + background: #652753; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("../images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #adadad; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #606060; + box-shadow: 0 0 0.236em 0 #e0e0e0; + -webkit-box-shadow: 0 0 0.236em 0 #e0e0e0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #ddbfd4; + -webkit-box-shadow: 0 0 0.618em 0 #ddbfd4; + border: 1px solid #cb9ebe; +} +::-webkit-input-placeholder { + color: #b5b5b5; +} +:-moz-placeholder { + color: #b5b5b5; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #a75c91; + border: 1px dashed #da8fc4; + box-shadow: 0 0 0 0.327em #853a6f; + -webkit-box-shadow: 0 0 0 0.327em #853a6f; + cursor: pointer; + text-shadow: 0 1px 0 #853a6f; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #964b80; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/ajax-loader.gif") center no-repeat #a75c91; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #874975; + box-shadow: 0 0 0 0.327em #652753; + -webkit-box-shadow: 0 0 0 0.327em #652753; + border-color: #a690a0; + text-shadow: 0 1px 0 #652753; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #763864; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #874975 !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #474747; + border-bottom: 0.146em dashed #6d6d6d; + border-top: 0.327em solid #2d2d2d; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #3a3a3a, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3a3a3a; + -moz-box-shadow: 0 0.236em 0 #3a3a3a, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3a3a3a; + box-shadow: 0 0.236em 0 #3a3a3a, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3a3a3a; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #2d2d2d; + color: #a4a4a4; + } + #top a:hover { + color: #985a86; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a:hover { + background-color: #606060; + background-image: -webkit-gradient(linear, left top, left bottom, from(#606060), to(#535353)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #606060, #535353); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #606060, #535353); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #606060, #535353); + /* IE10 */ + background-image: -o-linear-gradient(top, #606060, #535353); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #606060, #535353); + } + #top ul.nav > li:hover { + background-color: #606060; + background-image: -webkit-gradient(linear, left top, left bottom, from(#606060), to(#535353)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #606060, #535353); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #606060, #535353); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #606060, #535353); + /* IE10 */ + background-image: -o-linear-gradient(top, #606060, #535353); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #606060, #535353); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #535353; + background-image: -webkit-gradient(linear, left top, left bottom, from(#535353), to(#474747)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #535353, #474747); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #535353, #474747); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #535353, #474747); + /* IE10 */ + background-image: -o-linear-gradient(top, #535353, #474747); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #535353, #474747); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #navigation ul.nav > li { + border-right: 1px dotted #d3d1d5; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #a75c91; + -webkit-box-shadow: inset 0 0.382em 0 0 #a75c91; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #a75c91; + -webkit-box-shadow: inset 0 0.382em 0 0 #a75c91; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #a75c91; + } + #navigation ul.nav li a:hover { + color: #63184d; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #853a6f; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px dashed #da8fc4; + background: url("../images/home.png") center no-repeat #a75c91; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #964b80; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(189, 185, 191, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(135, 73, 117, 0.8); + border-bottom: 0.382em solid #874975; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: "Karla", sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #a75c91; + border-bottom-width: .857em; + background: rgba(167, 92, 145, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: "Cutive", sans-serif; + color: #a75c91; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #cfcdd0; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #cfcdd0; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #cfcdd0; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #cfcdd0; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #cfcdd0; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #cfcdd0; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #e0dee1; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #874975; + } + .ie8 ul.featured-products li:hover h3 { + background: #a75c91; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} diff --git a/artificer/styles/violet.less b/artificer/styles/violet.less new file mode 100644 index 0000000..5e79ecc --- /dev/null +++ b/artificer/styles/violet.less @@ -0,0 +1,19 @@ +@import url(../style.less); +@import url(../css/layout.less); +@import url(../css/mixins.less); + +@color_theme: #a75c91; // Main theme color +@color_links: darken(@color_theme,10%); // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy + +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF + +// Backgrounds +@bg_light: #e0dee1; + +// Images +@img_path: "../images"; + +// Typefaces +@typeface_path: "../typefaces"; \ No newline at end of file diff --git a/artificer/styles/yellow.css b/artificer/styles/yellow.css new file mode 100644 index 0000000..625151a --- /dev/null +++ b/artificer/styles/yellow.css @@ -0,0 +1,4618 @@ +/* +Theme Name: Artificer +Theme URI: http://www.woothemes.com/ +Version: 1.3.6 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com +Tags: woothemes + + Copyright: (c) 2009-2011 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ +/*------------------------------------------------------------------------------------------- + +INDEX: + +0. RESET + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks +-1.3 Typography + -1.3.1 Typefaces +-1.4 Tables + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation + -2.2.1 Drop-down menus + -2.2.2 Top Navigation (optional) +-2.3 Header +-2.4 Content + -2.4.1 Slider +-2.5 Sidebar +-2.6 Footer +-2.7 Breadcrumbs + +3. POSTS +-3.1 Images +-3.2 Pagination / WP-Pagenavi / Woo-Pagination +-3.3 Single Post Author +-3.4 Post Entry Nav +-3.5 Subscribe & Connect + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Comments Form +-5.3 Pingbacks / Trackbacks + +6. PAGE TEMPLATES +-6.1 Timeline Page Template +-6.2 Contact Form +-6.3 Image Gallery + +7. WOOCOMMERCE +-7.1 Messages +-7.2 Products + -7.2.1 Single Product +-7.3 Cart +-7.4 Checkout +-7.5 Widgets +-7.6 Account +-7.7 Shortcodes + +8. MISC +-8.1 Forms +-8.2 Gravity forms +-8.3 IE specific styling +-8.4 Uniform + +-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* RESET - http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 */ +/*-------------------------------------------------------------------------------------------*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* Hand cursor on clickable input elements */ +label, +input[type="button"], +input[type="submit"], +input[type="image"], +button { + cursor: pointer; +} +/* Bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { + -ms-interpolation-mode: bicubic; +} +/* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ +textarea { + overflow: auto; +} +/* Webkit browsers add a 2px margin outside the chrome of form elements */ +button, +input, +select, +textarea { + margin: 0; +} +/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + background: #e5e5df; + border: 1px solid #cecec3; + padding: 10px; + margin-bottom: 20px; +} +/* Normalize monospace sizing: en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ +pre, +code, +kbd, +samp { + font-family: monospace, sans-serif; +} +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, +a:active { + outline: none; +} +/* Set sub, sup without affecting line-height: gist.github.com/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +/* Floating & Alignment */ +.fl { + float: left; +} +.fr { + float: right; +} +.ac { + text-align: center; +} +.ar { + text-align: right; +} +.clear { + clear: both; +} +/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements. + j.mp/bestclearfix */ +.fix:before, +.fix:after, +.col-full:before, +.col-full:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; +} +.fix:after, +.col-full:after { + clear: both; +} +/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ +.fix, +.col-full { + zoom: 1; +} +/*-------------------------------------------------------------------------------------------*/ +/* IMPORTS */ +/*-------------------------------------------------------------------------------------------*/ +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ +/* 1.1 Defaults */ +html { + font-size: 62.5%; + background: url("../images/body.gif") #e5e5df; +} +body { + font-size: 1.4em; + line-height: 1.618; + color: #68685d; + font-family: "Karla", sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + text-rendering: optimizeLegibility; + background: url("../images/body.png"); +} +#wrapper { + padding: 0 1.618em; +} +img { + vertical-align: bottom; + max-width: 100%; + height: auto; +} +hr { + background-color: #cecec3; + border: 0; + height: 1px; + margin-bottom: 1.618em; +} +/* 1.2 Hyperlinks */ +a { + color: #826f3d; + text-decoration: none; +} +a:hover { + color: #3e2b00; +} +/* 1.3 Typography */ +/* + All typography (and layout) based on a modular scale using 12 & 14 px values scaled in accordance the golden ratio (1.618) + http://modularscale.com/scale/?px1=14&px2=12&ra1=1.618&ra2=0 + Remember to keep margins consistent and try to avoid margin-top. If everything has an appropriate margin-bottom we don't need one and vertical rhythm will be kept consistent +*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Cutive", sans-serif; + color: #32322d; + margin: 0 0 .618em; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + text-decoration: none; +} +h1 { + font-size: 1.618em; + line-height: 1.387em; + text-shadow: 0 2px 0 #ffffff, 0 3px 0 #90908a; +} +h2 { + font-size: 1.387em; + line-height: 1.387em; +} +h3 { + font-size: 1em; +} +h4 { + font-size: 1em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.857em; +} +p { + -webkit-hyphens: auto; + -webkit-hyphenate-character: "\2010"; + -webkit-hyphenate-limit-after: 1; + -webkit-hyphenate-limit-before: 3; + -moz-hyphens: auto; + orphans: 3; + widows: 3; +} +strong { + font-weight: 700; +} +blockquote { + font-family: "Cutive", sans-serif; + padding: 1em; + background: #e5e5df; + position: relative; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +blockquote:after { + content: ""; + display: block; + position: absolute; + border: 1em solid #e5e5df; + border-color: #e5e5df transparent transparent transparent; + bottom: -2em; + left: 1.618em; +} +blockquote p:last-child { + margin-bottom: 0; +} +ul, +ol, +dl, +p, +blockquote, +table, +form, +pre, +hr { + margin: 0 0 1.618em 0; +} +li > ul, +li > ol { + margin: 0 0 0 1.618em; +} +dl dt { + font-weight: 700; +} +dl dd { + margin-bottom: 1.618em; +} +mark { + background: rgba(255, 255, 255, 0.5); +} +.ampersand { + font-family: 'Baskerville', 'Goudy Old Style', 'Palatino', 'Book Antiqua', serif; + font-style: italic; +} +/* 1.3.1 Typefaces */ +@font-face { + font-family: 'WebSymbolsRegular'; + src: url("../typefaces/websymbols-regular-webfont.eot"); + src: url("../typefaces/websymbols-regular-webfont.eot?#iefix") format('embedded-opentype'), url("../typefaces/websymbols-regular-webfont.woff") format('woff'), url("../typefaces/websymbols-regular-webfont.ttf") format('truetype'), url("../typefaces/websymbols-regular-webfont.svg#WebSymbolsRegular") format('svg'); + font-weight: normal; + font-style: normal; +} +/* 1.4 Tables */ +table { + width: 100%; + background: #e5e5df; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +table th, +table td { + vertical-align: top; + padding: .382em .857em; + text-align: left; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75); +} +table thead { + border: 1px solid #c3c3bd; + text-shadow: 0 1px 0 #e5e5df; +} +table thead tr th { + background-color: #e5e5df; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e5e5df), to(#d4d4ce)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e5e5df, #d4d4ce); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e5e5df, #d4d4ce); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e5e5df, #d4d4ce); + /* IE10 */ + background-image: -o-linear-gradient(top, #e5e5df, #d4d4ce); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e5e5df, #d4d4ce); + color: #46463b; + -webkit-box-shadow: inset 0 2px 0 #f6f6f0; + -moz-box-shadow: inset 0 2px 0 #f6f6f0; + box-shadow: inset 0 2px 0 #f6f6f0; +} +table tbody tr { + border: 1px solid #d3d3c8; +} +table tbody tr th, +table tbody tr td { + background-color: #ecece7; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ecece7), to(#e5e5df)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ecece7, #e5e5df); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ecece7, #e5e5df); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ecece7, #e5e5df); + /* IE10 */ + background-image: -o-linear-gradient(top, #ecece7, #e5e5df); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ecece7, #e5e5df); + -webkit-box-shadow: inset 0 2px 0 #f7f7f6; +} +table tbody tr:first-child { + border-top-color: #b7b7a7; +} +table tfoot { + border: 1px solid #d4d4ce; + border-top-color: #c3c3bd; +} +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ +/* 2.1 Containers & Columns */ +/* 2.2 Navigation */ +ul.nav li a { + padding: .53em 1em; + display: block; +} +#navigation { + clear: both; + margin-bottom: 2.618em; + display: none; + font-family: "Cutive", sans-serif, serif; + background: url("../images/nav.gif") #e5e5df; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #cbcbc5; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#navigation ul.nav { + margin-bottom: 0; + list-style: none; + padding: 1em; +} +#navigation ul.nav li a:hover { + text-decoration: none; +} +#navigation ul.nav ul { + list-style: none; +} +#navigation ul.rss { + background: url("../images/ico-rss.png") no-repeat right 44%; + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +#navigation ul.rss li { + display: inline; + padding: 0; +} +#navigation ul.rss li a { + color: #68685d; + text-decoration: none; + padding: .5em 1em; + display: inline-block; + position: relative; +} +#navigation ul.rss li.sub-email { + color: #68685d; +} +/* 2.2.2 Top Navigation (optional) */ +#top select { + margin: 1.618em 0 0; + width: 100%; +} +#top #top-nav { + display: none; +} +/* 2.3 Header */ +#header { + padding: 3.631em 0 1.618em; + clear: both; + position: relative; + text-align: center; +} +#header #logo { + float: left; +} +#header .site-title { + margin-bottom: 0; + display: none; +} +#header .site-title a { + color: #b99430; +} +#header .site-title.visible { + display: block; +} +#header .site-description { + display: none; +} +#header .site-description.visible { + display: block; +} +#header #topad { + float: right; +} +#header a.cart-button, +#header a.checkout { + background-color: #fcfcfb; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfb), to(#e5e5df)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #fcfcfb, #e5e5df); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #fcfcfb, #e5e5df); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #fcfcfb, #e5e5df); + /* IE10 */ + background-image: -o-linear-gradient(top, #fcfcfb, #e5e5df); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #fcfcfb, #e5e5df); + padding: .236em .236em .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .618em; + display: inline-block; + text-shadow: 0 1px 0 #ffffff; + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button .lozenge, +#header a.checkout .lozenge, +#header a.cart-button .items, +#header a.checkout .items { + background: #caa541; + padding: .236em .857em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: .53em; + color: #fff; + box-shadow: inset 0 0 0 0.236em #a9882f; + -webkit-box-shadow: inset 0 0 0 0.236em #a9882f; + text-shadow: 0 1px 0 #97720e; +} +#header a.cart-button .label:before, +#header a.checkout .label:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "Z"; +} +#header a.cart-button:hover, +#header a.checkout:hover { + -webkit-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.146em rgba(255, 255, 255, 0.5), inset 0 0 1.618em rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.2); +} +#header a.cart-button:hover .lozenge, +#header a.checkout:hover .lozenge, +#header a.cart-button:hover .items, +#header a.checkout:hover .items { + background: #a9882f; +} +#header a.checkout { + padding: .236em; + display: none; +} +#header a.checkout .lozenge { + margin-left: 0; +} +#header a.checkout .lozenge:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "]"; +} +#header #main-nav { + text-align: left; +} +#header .nav-toggle { + margin-top: 1em; +} +#header .nav-toggle a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "²"; +} +/* 2.4 Content */ +/* 2.4.1 Slider */ +/* 2.5 Sidebar */ +#sidebar .secondary { + float: left; + margin-right: 20px; +} +#sidebar .secondary.last { + margin: 0; +} +.home #sidebar .tweet, +.home #sidebar .phone, +.home #sidebar .email { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #826f3d; + box-shadow: inset 0.618em 0 0 0 #604d1b; + -webkit-box-shadow: inset 0.618em 0 0 0 #604d1b; + color: #caba8d; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); +} +.home #sidebar .tweet .inner, +.home #sidebar .phone .inner, +.home #sidebar .email .inner { + padding: 1em 1.618em; + border: 2px dashed #a58d4d; + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .tweet .inner a, +.home #sidebar .phone .inner a, +.home #sidebar .email .inner a { + display: block; + font-family: "Cutive", sans-serif; + font-size: 1.618em; + color: #eae4d3; + text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); +} +.home #sidebar .tweet:before, +.home #sidebar .phone:before, +.home #sidebar .email:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +.home #sidebar .phone .inner { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .phone:before { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +.home #sidebar .tweet { + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #caa541; + color: #ebdeb9; + box-shadow: inset 0.618em 0 0 0 #a8831f; + -webkit-box-shadow: inset 0.618em 0 0 0 #a8831f; + font-family: "Cutive", sans-serif; + padding: 0; + border: 0; +} +.home #sidebar .tweet ul { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + list-style: none; + padding: 1em; +} +.home #sidebar .tweet ul li { + border: 2px dashed #d5b869; +} +.home #sidebar .tweet ul li a { + color: #ffffff; + background: #95782a; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + padding: .236em .618em; +} +.home #sidebar .tweet ul li a:hover { + background: #816824; +} +.home #sidebar .tweet ul li a.time { + display: block; + background: none; + padding: 0; + font-family: "Karla", sans-serif; + margin-top: 1.618em; +} +.home #sidebar .tweet ul li a.time:hover { + text-decoration: underline; +} +.home #sidebar .tweet ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.home #sidebar .phone:after, +.home #sidebar .email:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + content: "e"; + position: absolute; + font-size: 40px; + top: 1em; + right: 1em; + color: rgba(0, 0, 0, 0.25); + -webkit-transform: rotate(-3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-3deg); + /* FF3.5+ */ + -ms-transform: rotate(-3deg); + /* IE9 */ + -o-transform: rotate(-3deg); + /* Opera 10.5 */ + transform: rotate(-3deg); + zoom: 1; + text-shadow: none; +} +.home #sidebar .email:after { + content: "@"; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + top: .5em; +} +/* 2.6 Footer */ +#footer { + padding: 2.618em 0; + color: #838375; +} +#footer #credit img { + vertical-align: middle; +} +#footer #credit span { + display: none; +} +#footer-widgets { + padding: 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #c3c3bd; + border-bottom: 0; + position: relative; + background: url("../images/nav.gif") #f6f6f0; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); +} +#footer-widgets .widget h3 { + border: 0; +} +/* 2.7 Breadcrumbs */ +#breadcrumbs { + margin-bottom: 1.618em; +} +#breadcrumbs .breadcrumb-trail { + background-color: #d0d0c6; + background-image: -webkit-gradient(linear, left top, left bottom, from(#d0d0c6), to(#d7d7ce)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #d0d0c6, #d7d7ce); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #d0d0c6, #d7d7ce); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #d0d0c6, #d7d7ce); + /* IE10 */ + background-image: -o-linear-gradient(top, #d0d0c6, #d7d7ce); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #d0d0c6, #d7d7ce); + display: inline-block; + padding: .146em .382em; + -webkit-border-radius: 0.327em; + border-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #c3c3bd; + border-top-color: #b2b2ac; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.75); +} +#breadcrumbs .sep { + color: #acaca1; + font-family: 'WebSymbolsRegular'; + font-size: .857em; +} +#breadcrumbs a { + padding: .146em .382em; +} +#breadcrumbs .trail-end { + padding: .146em .618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ +#breadcrumb, +.post .video { + margin-bottom: 1.618em; +} +.archive-header { + display: block; + float: left; + width: 100%; + margin: 0 0 1.618em; + padding: 0 0 1em; + font-weight: 700; + border-bottom: #cecec3 1px solid; +} +.archive-description { + clear: both; + margin-bottom: 1.618em; +} +.post, +.type-page { + margin: 0 0 2.618em; + padding: 1.618em; + position: relative; + background: url("../images/crinkles.png") top no-repeat, url("../images/post.png"), url("../images/nav.gif"); + background-color: #f6f6f0; + border: 1px solid #c3c3bd; + border-bottom: 0; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05), inset 0 0 0 0.618em rgba(255, 255, 255, 0.55), 0 1px 1px rgba(0, 0, 0, 0.15), /* The top layer shadow */ 0 10px 0 -5px #eeeeee, /* The second layer */ 0 10px 1px -4px rgba(0, 0, 0, 0.125), /* The second layer shadow */ 0 20px 0 -10px #eeeeee, /* The third layer */ 0 20px 1px -9px rgba(0, 0, 0, 0.125), /* The third layer shadow */ 0 1em 2em rgba(0, 0, 0, 0.1); + /* 3.1 Images */ +} +.post header h1, +.type-page header h1 { + font-weight: 700; + position: relative; +} +.post header h1 a:link, +.type-page header h1 a:link, +.post header h1 a:visited, +.type-page header h1 a:visited { + color: #32322d; +} +.post .woo-image:first-child, +.type-page .woo-image:first-child { + float: left; + margin-left: 0; + width: 100%; + height: auto; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ +} +.post header h1, +.type-page header h1 { + padding-right: 4em; +} +.post .post-meta, +.type-page .post-meta { + margin: 0 0 1.618em 0; + border-bottom: 2px dashed #dadad1; +} +.post .post-meta ul, +.type-page .post-meta ul { + margin-bottom: .53em; +} +.post .post-meta li, +.type-page .post-meta li { + display: inline; + margin: 0 1.387em 0 0; + font-size: .857em; +} +.post .post-meta li:before, +.type-page .post-meta li:before, +.post .post-meta li a:before, +.type-page .post-meta li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-meta li.post-author a:before, +.type-page .post-meta li.post-author a:before { + content: "U"; +} +.post .post-meta li.post-date:before, +.type-page .post-meta li.post-date:before { + content: "P"; +} +.post .post-meta li.post-category a:before, +.type-page .post-meta li.post-category a:before { + content: "F"; +} +.post .post-meta li.tags:before, +.type-page .post-meta li.tags:before { + content: ","; +} +.post .post-meta li.edit a:before, +.type-page .post-meta li.edit a:before { + content: "S"; +} +.post .post-more, +.type-page .post-more { + clear: both; + font-size: .857em; + border-top: 2px dashed #dadad1; + padding-top: 1em; +} +.post .post-more a, +.type-page .post-more a { + padding: .327em .618em; + background: rgba(229, 229, 223, 0.7); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-right: .53em; +} +.post .post-more a:hover, +.type-page .post-more a:hover { + background: rgba(229, 229, 223, 0.9); +} +.post .post-more a:before, +.type-page .post-more a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +.post .post-more .comments a:before, +.type-page .post-more .comments a:before { + content: "c"; +} +.post .post-more .read-more a:before, +.type-page .post-more .read-more a:before { + content: "b"; +} +.post p.tags, +.type-page p.tags { + background: url("../images/ico-tag.png") no-repeat top left; + padding-left: 1.618em; + width: 100%; + clear: both; +} +.post img, +.type-page img, +.post img.thumbnail, +.type-page img.thumbnail { + padding: .327em; + border: 1px solid #cecec3; + background: #fff; +} +.post img:hover, +.type-page img:hover, +.post img.thumbnail:hover, +.type-page img.thumbnail:hover { + border-color: #b7b7a7; +} +.post img.wp-smiley, +.type-page img.wp-smiley { + padding: 0; + border: 0; +} +.post .alignleft, +.type-page .alignleft { + float: left; + margin: 0 1.618em 1em 0; +} +.post .alignright, +.type-page .alignright { + float: right; + margin: 0 0 1em 1.618em; +} +.post .aligncenter, +.type-page .aligncenter { + display: block; + text-align: center; + margin: 0 auto 1.618em; +} +.post .wp-caption, +.type-page .wp-caption { + padding: .077em; + text-align: center; + background: #e5e5df; + border: 1px solid #cecec3; +} +.post .wp-caption img, +.type-page .wp-caption img { + margin: 0; + padding: .327em 0; + background: none; + border: 0; +} +.post .wp-caption-text, +.type-page .wp-caption-text { + margin: 0; + padding: 0; + text-align: center; +} +.type-page:after { + display: none; +} +/* 3.2 Pagination / WP-Pagenavi / Woo-Pagination */ +.nav-entries, +.wp-pagenavi, +.woo-pagination { + padding: 1em 1.618em; +} +.nav-entries a { + display: block; + color: #68685d; + text-decoration: none; +} +.nav-entries a:hover { + text-decoration: underline; +} +.woo-pagination { + margin: 0; + text-align: center; + margin: 0 0 1.618em; +} +.woo-pagination .current { + box-shadow: 0 0 0 0.327em #604d1b; + -webkit-box-shadow: 0 0 0 0.327em #604d1b; + text-shadow: 0 1px 0 #604d1b; + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + font-family: "Cutive", sans-serif; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #826f3d; + border: 1px dashed #9f9885; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce_result_count, +.woocommerce .woocommerce-ordering, +.woocommerce .woocommerce-result-count { + width: 48%; + float: left; +} +.woocommerce .woocommerce_ordering + ul.products, +.woocommerce .woocommerce_result_count + ul.products, +.woocommerce .woocommerce-ordering + ul.products, +.woocommerce .woocommerce-result-count + ul.products { + clear: both; +} +.woocommerce .woocommerce_ordering, +.woocommerce .woocommerce-ordering { + text-align: right; +} +/* 3.3 Single Post Author */ +#post-author { + clear: both; + margin-bottom: 1.618em; + padding: 1.618em; +} +#post-author:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +#post-author .profile-image { + float: right; + width: 13.45%; + position: relative; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#post-author .profile-image:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#post-author .profile-image:before, +#post-author .profile-image:after { + box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 15px 5px 0 rgba(0, 0, 0, 0.3); +} +#post-author .profile-image img { + width: 100%; + height: auto; + padding: .618em .618em 1.618em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px solid #fff; + -webkit-box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -0.146em 1em rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.2); +} +#post-author .profile-content { + width: 82.7%; + float: left; +} +/* 3.4 Post Entry Nav */ +#post-entries { + border-top: 1px solid #cecec3; + border-bottom: 1px solid #cecec3; + padding: 1.618em; + margin-bottom: 1.618em; +} +/* 3.5 Connect */ +#connect { + clear: both; + margin-bottom: 1.618em; +} +#connect .newsletter-form .email { + width: 140px; +} +#connect .social a { + opacity: 0.8; + filter: alpha(opacity=@opacity * 100); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +#connect .social a:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); +} +#connect .related-posts { + border-left: 1px solid #cecec3; + padding-left: 1em; +} +#connect .related-posts ul { + list-style: none; +} +#connect .social a { + display: inline-block; + height: 28px; + width: 31px; + background-image: url("../images/ico-subscribe-social.png"); + background-repeat: no-repeat; +} +#connect .social a.subscribe { + background-position: 0px 0; +} +#connect .social a.twitter { + background-position: -2.244em 0; +} +#connect .social a.facebook { + background-position: -60px 0; +} +#connect .social a.youtube { + background-position: -90px 0; +} +#connect .social a.flickr { + background-position: -120px 0; +} +#connect .social a.linkedin { + background-position: -150px 0; +} +#connect .social a.delicious { + background-position: -180px 0; +} +#connect .social a.googleplus { + background-position: -210px 0; +} +.widget #connect .fl, +.widget #connect .fr { + float: none; +} +#main #connect .col-left, +#main #connect .col-right { + width: 48%; +} +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ +/* 4.1 Generic Widgets */ +.widget { + margin-bottom: 1.618em; +} +.widget h3 { + color: #68685d; + border-bottom: 1px solid #cecec3; +} +.widget ul { + clear: both; + list-style: none; +} +.widget ul li a { + text-decoration: none; +} +.widget ul li a:hover { + text-decoration: underline; +} +.widget ul:last-child { + margin-bottom: 0; +} +#sidebar .widget { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; + background: url("../images/nav.gif") #e5e5df; + margin-bottom: 1.618em; + padding: 1em; + list-style: none; + position: relative; + border: 1px solid #cbcbc5; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1em 2em rgba(0, 0, 0, 0.1); +} +#sidebar .widget .inner { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget .inner { + padding: 1.618em; + border: 2px dashed #cecec3; +} +#sidebar .widget h3 { + border: 0; +} +#sidebar .widget:before, +#sidebar .widget:after { + display: block; + content: ""; + position: absolute; + margin-left: -1em; +} +#sidebar .widget:before { + height: 1.618em; + top: 0; + width: 100%; + background: url("../images/string-top.png") top center no-repeat; + margin-top: 12px; + z-index: 9999; + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget:after { + height: 3.631em; + top: 100%; + background: url("../images/string.png") top center no-repeat; + width: 100%; + margin-top: -1.618em; + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget:last-child:after { + display: none; +} +#sidebar .widget:first-child:before { + display: none; +} +#sidebar .widget.alt { + -webkit-transform: rotate(-0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-0.5deg); + /* IE9 */ + -o-transform: rotate(-0.5deg); + /* Opera 10.5 */ + transform: rotate(-0.5deg); + zoom: 1; +} +#sidebar .widget.alt .inner { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +#sidebar .widget.alt:after, +#sidebar .widget.alt:before { + -webkit-transform: rotate(0.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(0.5deg); + /* FF3.5+ */ + -ms-transform: rotate(0.5deg); + /* IE9 */ + -o-transform: rotate(0.5deg); + /* Opera 10.5 */ + transform: rotate(0.5deg); + zoom: 1; +} +/* 4.2 Specific Widgets */ +/* SEARCH FORM */ +.searchform, +#searchform { + border: 1px solid #baa46b; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #68685d; + box-shadow: 0 0 0.236em 0 #caba8d; + -webkit-box-shadow: 0 0 0.236em 0 #caba8d; + padding: .53em .53em .53em 0; + background: #fff; + position: relative; +} +.searchform label, +#searchform label { + display: none; +} +.searchform input.s, +#searchform input.s, +.searchform input#s, +#searchform input#s { + padding: .53em .857em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin: 0; + border: 0; + background: none; + color: #68685d; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.s:focus, +#searchform input.s:focus, +.searchform input#s:focus, +#searchform input#s:focus { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.searchform input.search-submit, +#searchform input.search-submit, +.searchform input#searchsubmit, +#searchform input#searchsubmit { + position: absolute; + left: -999em; +} +.searchform:after, +#searchform:after { + font-family: 'WebSymbolsRegular'; + display: block; + content: "L"; + color: red; + position: absolute; + top: .857em; + right: 1em; + color: #e4e4e0; +} +/* FLICKR */ +.widget_woo_flickr h3 span { + color: #0051d8; +} +.widget_woo_flickr h3 span span { + color: #ff1183; +} +.widget_woo_flickr .flickr_badge_image { + float: left; + margin: 0.236em; +} +.widget_woo_flickr .wrap { + position: relative; + margin-bottom: 1.618em; + padding: 0; +} +.widget_woo_flickr a img { + float: left; + margin: 0 0 0.618em 0.618em; + display: block; + border: 1px solid #cecec3; + padding: .236em; +} +.widget_woo_flickr a:hover img { + border-color: #b7b7a7; +} +/* CALENDAR */ +#wp-calendar { + width: 95%; + margin-bottom: 1.618em; + clear: both; + padding: 0; +} +#wp-calendar caption { + padding: 1em; +} +#wp-calendar th, +#wp-calendar td { + text-align: center; + background: #cecec3; + padding: .236em 0; +} +#wp-calendar td { + background: transparent; + color: #838375; +} +/* BLOG AUTHOR */ +.widget_woo_blogauthorinfo .avatar { + padding: .382em; + border: 1px solid #cecec3; +} +.widget_woo_blogauthorinfo .left { + float: left; + margin: 0 1em .618em 0; +} +.widget_woo_blogauthorinfo .right { + float: right; + margin: 0 .618em 1em; +} +/* TWITTER */ +.widget_woo_twitter h3 { + border-bottom: 0; + margin: 0 0 2px; +} +.widget_woo_twitter h3 img { + vertical-align: middle; +} +.widget_woo_twitter ul { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #caa541; + padding-left: 0; + padding: 1em; + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0.202em; + border-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.widget_woo_twitter ul li { + padding: 1em; + list-style: none; + border: 2px dashed #dbc17d; + background: rgba(255, 255, 255, 0.1); + margin-bottom: 1em; + color: #ebdeb9; + text-shadow: 0 1px 1px #a9882f; + box-shadow: 0 1px 2px 0 #a9882f; + -webkit-box-shadow: 0 1px 2px 0 #a9882f; +} +.widget_woo_twitter ul li:last-child { + margin-bottom: 0; +} +.widget_woo_twitter ul li a { + padding: 0; + color: #ffffff; +} +.widget_woo_twitter ul li .time { + color: #ffffff; + display: block; +} +.widget_woo_twitter ul li .time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.widget_woo_twitter p { + font-weight: 700; + color: #838375; +} +.widget_woo_twitter p a { + color: #32322d; +} +/* DOJO TABS */ +.theme-artificer .tabbable .nav li { + margin-bottom: 0; + margin-right: .857em; +} +.theme-artificer .tabbable .nav li a { + padding: 0; + border: 0; + background: 0; + line-height: inherit; + font-size: .857em; + margin-right: 0; +} +.theme-artificer .tabbable .nav li a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.active a:hover { + background: none; + border: 0; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before, +.theme-artificer .tabbable .nav li.tab-heading-popular a:before, +.theme-artificer .tabbable .nav li.tab-heading-comments a:before, +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "b"; + margin-right: .382em; +} +.theme-artificer .tabbable .nav li.tab-heading-latest a:before { + content: "P"; +} +.theme-artificer .tabbable .nav li.tab-heading-popular a:before { + content: "R"; +} +.theme-artificer .tabbable .nav li.tab-heading-comments a:before { + content: "c"; +} +.theme-artificer .tabbable .nav li.tab-heading-tags a:before { + content: ","; +} +.theme-artificer .tabbable .tab-content { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul { + padding: 0; +} +.theme-artificer .tabbable .tab-pane ul img { + margin: 0 1em 1em 0; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.theme-artificer .tabbable .tab-pane ul li { + overflow: visible; +} +.theme-artificer .tabbable .tab-pane ul li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ +/* 5.1 Comments */ +#comments { + position: relative; +} +#comments ul, +#comments li { + list-style: none; +} +#comments li.comment { + position: relative; +} +#comments li.comment #respond { + margin-top: 1em; +} +#comments li.comment #respond .comment-form-author { + clear: both; +} +#comments .comment-container, +#comments .comment_container { + padding: 2.244em 1.618em 2.244em 4.236em; + list-style: none; + background: url("../images/comment.png") top left repeat-y #f5f1db; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.202em 0.382em 0 rgba(0, 0, 0, 0.075), inset 0 0 0 1px #faf9ef, inset 0 0.53em 2.618em rgba(0, 0, 0, 0.05); + border: 1px solid #c6c6c0; + margin-bottom: 1.618em; + font-family: 'Schoolbell', sans-serif; + color: #7c7c7c; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); +} +#comments .comment-container:before, +#comments .comment_container:before, +#comments .comment-container:after, +#comments .comment_container:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; +} +#comments .comment-container:after, +#comments .comment_container:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; +} +#comments .comment-container .star-rating, +#comments .comment_container .star-rating, +#comments .comment-container .star-rating span, +#comments .comment_container .star-rating span { + background-image: url("../images/ico-star-scribbled.png"); +} +#comments .comment-container .meta:before, +#comments .comment_container .meta:before, +#comments .comment-container .comment-head:before, +#comments .comment_container .comment-head:before { + content: ""; + height: 1em; + width: 1em; + border: 1px solid #b2b2ac; + position: absolute; + bottom: 40%; + left: 1em; + display: block; + z-index: 99999; + background: url("../images/body.gif"); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c3c3bd; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c3c3bd; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.76), inset 0 1px 2px #c3c3bd; +} +#comments .comment-container .comment-container, +#comments .comment_container .comment-container { + position: relative; +} +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + margin: 0 0 1em 0; +} +#comments .comment-container .comment-head .name, +#comments .comment_container .comment-head .name, +#comments .comment-container .comment-head .date, +#comments .comment_container .comment-head .date, +#comments .comment-container .comment-head .edit, +#comments .comment_container .comment-head .edit, +#comments .comment-container .comment-head .perma, +#comments .comment_container .comment-head .perma { + margin-right: 1em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before, +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before, +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before, +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; +} +#comments .comment-container .comment-head .name:before, +#comments .comment_container .comment-head .name:before { + content: "U"; +} +#comments .comment-container .comment-head .date:before, +#comments .comment_container .comment-head .date:before { + content: "P"; +} +#comments .comment-container .comment-head .edit:before, +#comments .comment_container .comment-head .edit:before { + content: "S"; +} +#comments .comment-container .comment-head .perma:before, +#comments .comment_container .comment-head .perma:before { + content: "K"; +} +#comments .comment-container img.avatar, +#comments .comment_container img.avatar { + float: right; + margin: 0 0 1em 1em; + padding: .382em .382em 1em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + position: relative; +} +#comments .comment-container .reply a, +#comments .comment_container .reply a { + font-family: "Karla", sans-serif; +} +#comments .comment-container .reply a:before, +#comments .comment_container .reply a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "h"; +} +#comments .comment-container .meta, +#comments .comment_container .meta, +#comments .comment-container .comment-head, +#comments .comment_container .comment-head { + font-family: "Karla", sans-serif; + color: #68685d; +} +#comments .comment_container:before, +#comments .comment_container:after { + box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 13px 5px 0 rgba(0, 0, 0, 0.3); +} +#comments ul.children { + margin: 0 0 0 13.25%; + padding: 0; +} +#comments .navigation a { + display: block; + text-decoration: none; +} +#comments .pingbacks li.pingback { + margin: 0 0 1.618em; +} +#comments .pingbacks li.pingback .reply { + display: none; +} +#comments .nocomments { + font-weight: 700; +} +/* 5.2 Comments Form */ +#respond label { + color: #838375; +} +#respond #reply-title small { + display: block; + margin: 0 0 1.618em; +} +#respond #reply-title small a { + font-family: "Karla", sans-serif; + font-size: 1em; +} +#respond #reply-title small a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; +} +#respond #commentform .comment-form-author, +#respond #commentform .comment-form-email, +#respond #commentform .comment-form-url { + width: 30.75%; + float: left; + margin-right: 3.8%; +} +#respond #commentform .comment-form-url { + margin-right: 0; +} +#respond #commentform label { + display: block; +} +#respond #commentform input.txt, +#respond #commentform textarea { + width: 100%; +} +#respond #commentform .comment-form-comment { + clear: both; +} +/* 5.3 Pingbacks / Trackbacks */ +.pinglist li { + margin: 0 0 0 1.618em; + list-style-type: decimal; +} +.pinglist li .author { + font-weight: 700; +} +.pinglist li .pingcontent { + display: block; + margin: 0 0 1.618em; +} +/*-------------------------------------------------------------------------------------------*/ +/* 6. PAGE TEMPLATES */ +/*-------------------------------------------------------------------------------------------*/ +/* 6.1 Timeline Page Template */ +#archives .archives_list { + border-left: 1px solid #cecec3; + list-style: none; + margin: 0 0 1em 1em; +} +#archives .archives_list li { + clear: left; + padding-left: 2.327em; + font-style: normal; + list-style: none; +} +#archives .archives_list .date { + color: #838375; + width: 22.5%; + display: inline-block; +} +#archives .archives_list .linked { + width: 48%; + display: inline-block; +} +#archives .archives_list .comments { + width: 22.5%; + display: inline-block; +} +#archives .archives_list .comments a { + color: #8f8f82; + text-decoration: underline; + padding-left: 1.236em; +} +#archives .archives_list .comments a:hover { + text-decoration: none; +} +h3.archive_year { + font-weight: 700; + color: #68685d; + margin-top: 0; +} +/* 6.2 Contact Form */ +#contact-page .screenReader { + left: -9999px; + position: absolute; + top: -9999px; +} +#contact-page ol.forms { + float: left; + list-style: none; + width: 100%; +} +#contact-page ol.forms li { + clear: both; + float: left; + margin-bottom: 1.618em; + position: relative; + width: 48%; +} +#contact-page ol.forms li:first-child { + margin-right: 3.8%; +} +#contact-page ol.forms li:nth-child(2n) { + clear: none; +} +#contact-page ol.forms li.textarea, +#contact-page ol.forms li.screenReader, +#contact-page ol.forms li.inline, +#contact-page ol.forms li.buttons { + width: 100%; +} +#contact-page ol.forms li input.txt, +#contact-page ol.forms li textarea { + width: 100%; +} +#contact-page ol.forms li .error { + display: block; + color: red; +} +#contact-page ol.forms li.textarea .error { + display: block; +} +#contact-page ol.forms li.screenReader { + margin-bottom: 0; +} +#contact-page ol.forms li.inline label { + display: inline; + float: none; + width: auto; +} +#contact-page ol.forms label { + cursor: pointer; + display: block; + font-weight: 700; + margin: 0 0 1em; +} +#contact-page ol.forms input#sendCopy { + border: none; + margin-right: 1em; +} +#contactForm:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.entry #contact-page ol.forms li { + list-style: none; +} +.page-template-template-contact-php .location-twitter { + margin: 0 0 1em; + padding: 0 0 1.618em; + border-bottom: 1px solid #cecec3; +} +.page-template-template-contact-php .location-twitter .col-left { + float: none; +} +.page-template-template-contact-php .location-twitter ul { + margin: 0; + padding: 0; +} +.page-template-template-contact-php .location-twitter ul li { + list-style: none; + padding: 0; +} +.page-template-template-contact-php .location-twitter #office-location { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter #office-location a { + text-decoration: underline; +} +.page-template-template-contact-php .location-twitter #office-location ul li { + margin: 0 0 1em; +} +.page-template-template-contact-php .location-twitter .contact-social { + float: none; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0 0 1.618em; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time { + display: block; +} +.page-template-template-contact-php .location-twitter .contact-social #twitter ul li a.time:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "t"; +} +.page-template-template-contact-php .location-twitter .contact-social #connect { + background: none; + border: none; + border-top: 1px solid #cecec3; +} +.page-template-template-contact-php .location-twitter .contact-social #connect h3 { + display: none; +} +.page-template-template-contact-php .location-twitter .contact-social #connect .social { + float: none; +} +/* 6.3 Image Gallery */ +.image-gallery-item img { + max-width: 100%; + padding: .236em; + margin: 0 1em 1em 0; + border: 1px solid #cecec3; + background: #e5e5df; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.image-gallery-item img:hover { + border: 1px solid #b7b7a7; + box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 0.327em 0px rgba(0, 0, 0, 0.2); +} +/*-------------------------------------------------------------------------------------------*/ +/* 7. WOOCOMMERCE */ +/*-------------------------------------------------------------------------------------------*/ +p.demo_store { + background: #c67c77; + color: #fff; + position: fixed; + bottom: 0; + left: 0; + right: 0; + margin: 0; + padding: 1em 0; + text-align: center; +} +#fancybox-outer #review_form { + padding: 1.618em; +} +ul#shipping_method { + list-style: none; +} +a.remove { + font-family: 'WebSymbolsRegular'; +} +.price del, +.product_list_widget del { + position: relative; + padding: 0 .327em; + text-decoration: none; +} +.price del:before, +.product_list_widget del:before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/scribble.png") 0 3px repeat-x; +} +.price ins, +.product_list_widget ins { + text-decoration: none; + font-weight: 700; +} +.stock { + color: #caa541; +} +.stock:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "."; +} +.stock.out-of-stock { + color: #900; +} +.stock.out-of-stock:before { + content: "W"; +} +.onsale { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #826f3d; + z-index: 99; + padding: .857em .618em; + color: #fff; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + font-size: .857em; + border: 2px dashed #baa46b; + box-shadow: 0 0 0 0.236em #826f3d; + -webkit-box-shadow: 0 0 0 0.236em #826f3d; +} +.quantity { + float: left; + margin-right: 1em; + /* Disable input[type=number] buttons until the world is ready */ +} +.quantity .plus, +.quantity .minus { + color: #fff; + font-size: 1em; + font-family: inherit; + background: #caa541; + border: 2px dashed #ecc763; + box-shadow: 0 0 0 2px #caa541; + -webkit-box-shadow: 0 0 0 2px #caa541; + -webkit-border-radius: 2em; + border-radius: 2em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; + padding: .146em .382em; +} +.quantity input::-webkit-outer-spin-button, +.quantity input::-webkit-inner-spin-button { + display: none; +} +.quantity .minus { + margin-right: .618em; +} +.quantity .qty { + margin-right: .618em; + max-width: 3.521em; +} +.validate-required.woocommerce-validated input { + border-color: #a0bd72; + background: #e6eeda; +} +.validate-required.woocommerce-invalid input { + border-color: #c67c77; + background: #f3e4e3; +} +.star-rating { + width: 80px; + height: 16px; + background: url("../images/ico-star.png") repeat-x left 0; +} +.star-rating span { + background: url("../images/ico-star.png") repeat-x left -32px; + height: 0; + padding-top: 16px; + overflow: hidden; + float: left; +} +p.stars { + overflow: hidden; + zoom: 1; +} +p.stars span { + width: 80px; + height: 16px; + position: relative; + float: left; + background: url("../images/ico-star.png") repeat-x left 0; +} +p.stars span a { + float: left; + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 0; + padding-top: 16px; + overflow: hidden; +} +p.stars span a:hover, +p.stars span a:focus { + background: url("../images/ico-star.png") repeat-x left -16px; +} +p.stars span a.active { + background: url("../images/ico-star.png") repeat-x left -32px; +} +p.stars span a.star-1 { + width: 16px; + z-index: 10; +} +p.stars span a.star-2 { + width: 32px; + z-index: 9; +} +p.stars span a.star-3 { + width: 48px; + z-index: 8; +} +p.stars span a.star-4 { + width: 64px; + z-index: 7; +} +p.stars span a.star-5 { + width: 80px; + z-index: 6; +} +.widget .star-rating { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget .star-rating span { + background: url("../images/ico-star-small.png") repeat-x left -24px; + padding-top: 12px; +} +.widget p.stars span { + width: 60px; + height: 12px; + background: url("../images/ico-star-small.png") repeat-x left 0; +} +.widget p.stars span a { + width: 12px; + padding-top: 12px; +} +/* 7.1 Messages */ +.woocommerce_message, +.woocommerce_info, +.woocommerce_error, +.woocommerce-message, +.woocommerce-info, +.woocommerce-error { + padding: .618em 1em .618em 3.631em; + margin-bottom: 1.618em; + background: #fff; + border: 1px solid #6ea0b6; + border-left-width: .382em ; + position: relative; + min-height: 2.618em; +} +.woocommerce_message:before, +.woocommerce_info:before, +.woocommerce_error:before, +.woocommerce-message:before, +.woocommerce-info:before, +.woocommerce-error:before { + font-family: 'WebSymbolsRegular'; + content: "D"; + display: block; + color: #6ea0b6; + position: absolute; + top: .618em; + font-size: 1.387em; + left: .857em; +} +.woocommerce_error, +.woocommerce-error { + border-color: #c67c77; + list-style: none; +} +.woocommerce_error:before, +.woocommerce-error:before { + content: "W"; + color: #c67c77; +} +.woocommerce_message, +.woocommerce-message { + border-color: #a0bd72; +} +.woocommerce_message:before, +.woocommerce-message:before { + content: "."; + color: #a0bd72; +} +.woocommerce_message .button, +.woocommerce-message .button { + float: right; +} +/* 7.2 Products */ +ul.products, +ul.featured-products { + list-style: none; +} +ul.products:after, +ul.featured-products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.products li, +ul.featured-products li { + width: 48%; + float: left; + clear: both; + position: relative; + text-align: center; +} +ul.products li:nth-child(2n), +ul.featured-products li:nth-child(2n) { + float: right; + clear: none; +} +ul.products li img, +ul.featured-products li img { + width: 100%; + height: auto; +} +ul.products li h3, +ul.featured-products li h3 { + font-size: 1em; +} +ul.products li .onsale, +ul.featured-products li .onsale { + position: absolute; + top: 1em; + left: 1em; +} +ul.products li .added_to_cart, +ul.featured-products li .added_to_cart { + margin-left: 1em; +} +ul.products .star-rating, +ul.featured-products .star-rating { + float: none; + margin: 0 auto; +} +ul.products li.product { + text-align: center; + margin-bottom: 3.631em; +} +ul.products li.product .img-wrap { + padding: .618em .618em 2.244em; + background: #fff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + position: relative; + -webkit-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0.077em 0.236em rgba(0, 0, 0, 0.2), inset 0 0.202em 1.618em rgba(0, 0, 0, 0.05); + margin-bottom: 1em; +} +ul.products li.product .img-wrap img { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; +} +ul.products li.product .img-wrap:hover { + box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 0.618em 1.618em 0 rgba(0, 0, 0, 0.25); + -webkit-transform: scale(1.1) !important; + -moz-transform: scale(1.1) !important; + transform: scale(1.1) !important; +} +ul.products li.product .img-wrap:hover img { + -webkit-transform: none !important; + -moz-transform: none !important; + transform: none !important; +} +ul.products li.product .img-wrap:before { + content: ""; + display: block; + z-index: 99999; + height: 32px; + width: 87px; + position: absolute; + left: 25%; + top: -0.618em; + background: url("../images/tape.png"); + -webkit-transform: rotate(-2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-2deg); + /* FF3.5+ */ + -ms-transform: rotate(-2deg); + /* IE9 */ + -o-transform: rotate(-2deg); + /* Opera 10.5 */ + transform: rotate(-2deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap { + -webkit-transform: rotate(-1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1deg); + /* FF3.5+ */ + -ms-transform: rotate(-1deg); + /* IE9 */ + -o-transform: rotate(-1deg); + /* Opera 10.5 */ + transform: rotate(-1deg); + zoom: 1; + top: 2px; +} +ul.products li.product:nth-child(2n) .img-wrap img { + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; +} +ul.products li.product:nth-child(2n) .img-wrap:before { + left: 30%; + -webkit-transform: rotate(3deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(3deg); + /* FF3.5+ */ + -ms-transform: rotate(3deg); + /* IE9 */ + -o-transform: rotate(3deg); + /* Opera 10.5 */ + transform: rotate(3deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap img { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; +} +ul.products li.product:nth-child(3n) .img-wrap:before { + left: 35%; + -webkit-transform: rotate(2.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2.5deg); + /* FF3.5+ */ + -ms-transform: rotate(2.5deg); + /* IE9 */ + -o-transform: rotate(2.5deg); + /* Opera 10.5 */ + transform: rotate(2.5deg); + zoom: 1; +} +ul.products li.product:nth-child(5n) .img-wrap { + -webkit-transform: rotate(1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(1.5deg); + /* IE9 */ + -o-transform: rotate(1.5deg); + /* Opera 10.5 */ + transform: rotate(1.5deg); + zoom: 1; + top: -2px; +} +ul.products li.product:nth-child(5n) .img-wrap img { + -webkit-transform: rotate(-1.5deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(-1.5deg); + /* FF3.5+ */ + -ms-transform: rotate(-1.5deg); + /* IE9 */ + -o-transform: rotate(-1.5deg); + /* Opera 10.5 */ + transform: rotate(-1.5deg); + zoom: 1; +} +ul.products li.product .price { + display: block; + margin-bottom: 1em; +} +ul.products li.product h3 { + font-size: .857em; +} +.pagination-wrap { + text-align: center; +} +/* 7.2.1 Single Product */ +.single-product .images, +.single-product .summary { + margin-bottom: 1.618em; +} +.single-product .product { + position: relative; +} +.single-product .product .onsale { + position: absolute; + top: -0.53em; + left: -0.53em; +} +.single-product .images img { + display: block; + width: auto; +} +.single-product .images .attachment-shop_single { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: .618em .618em 2.618em; + background: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + margin-bottom: 1em; +} +.single-product .images .thumbnails:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.single-product .images .thumbnails a { + display: block; + width: 30.75%; + margin-right: 3.8%; + float: left; +} +.single-product .images .thumbnails a.first { + clear: left; +} +.single-product .images .thumbnails a.last { + margin-right: 0; +} +.single-product table.variations a.reset_variations { + margin-top: .202em; + margin-left: .618em; +} +.single-product table.variations a.reset_variations:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "V"; +} +.single-product .product_meta { + font-size: .857em; +} +.single-product .woocommerce_tabs, +.single-product .woocommerce-tabs { + padding-top: 1.618em; +} +.single-product .woocommerce_tabs ul.tabs, +.single-product .woocommerce-tabs ul.tabs { + list-style: none; +} +.single-product .woocommerce_tabs ul.tabs li, +.single-product .woocommerce-tabs ul.tabs li { + list-style: none; + display: inline-block; + margin-right: 1em; +} +.single-product .woocommerce_tabs ul.tabs li a:before, +.single-product .woocommerce-tabs ul.tabs li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.active a, +.single-product .woocommerce-tabs ul.tabs li.active a { + color: #3e2b00; +} +.single-product .woocommerce_tabs ul.tabs li.description_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.description_tab a:before { + content: "a"; +} +.single-product .woocommerce_tabs ul.tabs li.reviews_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.reviews_tab a:before { + content: "R"; +} +.single-product .woocommerce_tabs ul.tabs li.attributes_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.attributes_tab a:before { + content: "p"; +} +.single-product .woocommerce_tabs ul.tabs li.related_tab a:before, +.single-product .woocommerce-tabs ul.tabs li.related_tab a:before { + content: "K"; +} +.single-product .woocommerce_tabs #related-products ul.products, +.single-product .woocommerce-tabs #related-products ul.products { + margin-bottom: 0; +} +.single-product .woocommerce_tabs #related-products ul.products li.product, +.single-product .woocommerce-tabs #related-products ul.products li.product { + margin-bottom: 0; +} +/* 7.3 Cart */ +table.cart .product-remove, +table.cart .product-thumbnail, +table.cart .product-price { + position: absolute; + left: -999em; +} +table.cart td .backorder_notification { + font-size: 0.8em; +} +table.cart td .product-thumbnail img { + border: 0; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25); + padding: 0; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +table.cart td.product-remove { + padding-right: .5em; +} +table.cart .quantity .plus, +table.cart .quantity .minus { + display: none !important; +} +table.cart td.actions .coupon { + text-align: left; + margin-bottom: 0; +} +table.cart td.actions .coupon label { + display: none; +} +table.cart td.actions .coupon #shareyourcart_button { + float: left; + clear: left; +} +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .button { + width: 48%; + float: left; +} +table.cart td.actions .coupon .button { + float: right; +} +table.cart td.actions .button, +table.cart td.actions .checkout-button, +table.cart td.actions .input-text { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: .53em !important; +} +table.cart td.actions .checkout-button { + margin-bottom: 0 !important; +} +table.cart .product-quantity .plus, +table.cart .product-quantity .minus { + display: inline-block; +} +table.cart img { + width: 3.631em; + height: auto; +} +.cross-sells ul.products li img { + padding: 0; + border: 0; + background: 0; +} +/* 7.4 Checkout */ +#customer_details .col-2 #shiptobilling { + float: right; + margin: 0; +} +#customer_details .col-2 #shiptobilling input { + float: none; +} +#customer_details .col-2 #shiptobilling label { + display: inline; +} +#customer_details .create-account { + clear: both; +} +.required { + color: #900; + border: 0; +} +#payment { + background: rgba(229, 229, 223, 0.5); +} +#payment ul.payment_methods { + border-top: 1px solid #c3c3bd; + margin-bottom: 0; +} +#payment ul.payment_methods li { + border: 1px solid #c3c3bd; + list-style: none; + padding: .618em .857em; + text-shadow: 0 1px 0 #e5e5df; + background-color: #e5e5df; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e5e5df), to(#d4d4ce)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #e5e5df, #d4d4ce); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #e5e5df, #d4d4ce); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #e5e5df, #d4d4ce); + /* IE10 */ + background-image: -o-linear-gradient(top, #e5e5df, #d4d4ce); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #e5e5df, #d4d4ce); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); + -webkit-box-shadow: inset 0 1px 0 #f6f6f0; + -moz-box-shadow: inset 0 1px 0 #f6f6f0; + box-shadow: inset 0 1px 0 #f6f6f0; +} +#payment ul.payment_methods li img { + float: right; + padding: 0; + border: 0; + max-height: 21px; + width: auto; +} +#payment ul.payment_methods li .payment_box { + background-color: #ecece7; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ecece7), to(#e5e5df)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #ecece7, #e5e5df); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #ecece7, #e5e5df); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #ecece7, #e5e5df); + /* IE10 */ + background-image: -o-linear-gradient(top, #ecece7, #e5e5df); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #ecece7, #e5e5df); + border-top: 1px solid #c3c3bd; + margin: 0.618em -0.857em -0.857em -0.857em; + padding: .618em .857em; + border-bottom: 1px solid #c3c3bd; + -webkit-box-shadow: inset 0 1px 0 #f7f7f6; +} +#payment ul.payment_methods li .payment_box p { + margin: 0; +} +#payment ul.payment_methods li:first-child { + border-top: 0; +} +#payment ul.payment_methods li label { + color: #46463b; + display: inline-block; + width: 94%; +} +#payment .payment_box .form-row { + padding: 0; + border: 0; + width: 48%; + float: left; +} +#payment .payment_box .form-row select { + width: 40%; + margin-right: 3.8%; +} +#payment .payment_box .form-row.form-row-first { + clear: both; +} +#payment .payment_box .form-row.form-row-last { + float: right; +} +#payment .form-row { + width: 100%; + padding: 1.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 0; + border: 1px solid #c3c3bd; + border-top: 0; +} +#payment .form-row .button { + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + width: 100%; + font-size: 1.387em; +} +#payment .form-row p.terms { + width: 100%; + float: none; + margin: 1.618em 0 0 0; + text-align: center; + padding: 0; + border: 0; +} +#payment .form-row p.terms label { + display: inline; +} +#payment .form-row p.terms input[type=checkbox] { + float: none; +} +/* 7.5 Widgets */ +.widget ul li .count { + float: right; +} +.widget ul.product_list_widget li { + margin-bottom: 1em; +} +.widget ul.product_list_widget li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.widget ul.product_list_widget li a { + display: block; +} +.widget ul.product_list_widget li img { + float: right; + width: 2.244em; + height: auto; + padding: .236em .236em .618em; + background: #fff; + margin-left: 1em; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #826f3d; + color: #c2af7c; + text-shadow: 0 1px 1px #3c341c; + border: 1px solid #3e2b00; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 0 0.382em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.2); +} +#sidebar .widget_shopping_cart .inner { + border-color: #baa46b; +} +#sidebar .widget_shopping_cart a, +#sidebar .widget_shopping_cart h3 { + color: #e2dac2; +} +.widget_login label { + display: block; +} +.widget_login .input-text { + width: 100%; +} +.widget_login input[type=submit] { + margin-right: 1em; +} +.widget_price_filter .price_slider { + margin-bottom: 1em; +} +.widget_price_filter .price_slider_amount { + text-align: right; + line-height: 2.4em; + font-size: 0.857em; +} +.widget_price_filter .price_slider_amount .button { + font-size: .857em; +} +.widget_price_filter .price_slider_amount .button { + float: left; +} +.widget_price_filter .ui-slider { + position: relative; + text-align: left; +} +.widget_price_filter .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #715e2c; + cursor: pointer; + outline: none; + top: -1px; + background: #f6f8f9; + background: -moz-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f8f9), color-stop(50%, #e5ebee), color-stop(51%, #d7dee3), color-stop(100%, #f5f7f9)); + background: -webkit-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -o-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: -ms-linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + background: linear-gradient(top, #f6f8f9 0%, #e5ebee 50%, #d7dee3 51%, #f5f7f9 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f8f9', endColorstr='#f5f7f9', GradientType=0); + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.widget_price_filter .ui-slider .ui-slider-handle:hover { + box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 0 0 0.366em rgba(0, 0, 0, 0.075); +} +.widget_price_filter .ui-slider .ui-slider-handle:last-child { + margin-left: -1em; +} +.widget_price_filter .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + background-image: linear-gradient(left, #826f3d 0%, #b5a270 100%); + background-image: -o-linear-gradient(left, #826f3d 0%, #b5a270 100%); + background-image: -moz-linear-gradient(left, #826f3d 0%, #b5a270 100%); + background-image: -webkit-linear-gradient(left, #826f3d 0%, #b5a270 100%); + background-image: -ms-linear-gradient(left, #826f3d 0%, #b5a270 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #826f3d), color-stop(1, #b5a270)); + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + top: -1px !important; + border: 1px solid #715e2c; +} +.widget_price_filter .ui-slider .ui-slider-range:before { + content: ""; + display: block; + height: 50%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4//+/JAAJFQMXyTCTnwAAAABJRU5ErkJggg==); +} +.widget_price_filter .price_slider_wrapper .ui-widget-content { + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #79796e; + background: #604d1b; + box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.2); +} +.widget_price_filter .ui-slider-horizontal { + height: 1em; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-min { + left: -1px; +} +.widget_price_filter .ui-slider-horizontal .ui-slider-range-max { + right: -1px; +} +.widget_layered_nav ul li.chosen a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: "×"; + color: #900; +} +/* 7.6 Account */ +ul.order_details { + width: 65.4%; + background: url("../images/noise.png") #ffffff; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + padding: 3.631em 0 2.244em 0; + font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace; + list-style: none; + color: #949aa8; + text-shadow: 0 1px 0 #ffffff; + border: 1px solid #ccc; + border-bottom-color: #bbb; + position: relative; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + letter-spacing: 1px; + -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 -1em 5em 0 rgba(0, 0, 0, 0.065), 0 0.125em 0.618em rgba(0, 0, 0, 0.1); +} +ul.order_details li { + border-bottom: 1px dashed #ddd; + padding: .618em 2.244em; +} +ul.order_details li:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +ul.order_details li strong { + float: right; + color: #787f91; +} +ul.order_details li:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: 0; +} +ul.order_details:before { + content: ""; + display: block; + width: 50px; + height: 2px; + background-color: #cccccc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#cccccc), to(#999999)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #cccccc, #999999); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #cccccc, #999999); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #cccccc, #999999); + /* IE10 */ + background-image: -o-linear-gradient(top, #cccccc, #999999); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #cccccc, #999999); + border-top: 1px solid #eee; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + position: absolute; + top: 2.244em; + left: 45%; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + box-shadow: 0 1px 0 0 #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; +} +table.my_account_orders .button { + font-size: .618em; +} +ul.digital-downloads { + list-style: none; +} +ul.digital-downloads li .count { + float: right; +} +ul.digital-downloads li a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ";"; +} +/* 7.7 Shortcodes */ +.shortcode-sticky { + background-color: #f6eeca; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f6eeca), to(#faf5e0)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #f6eeca, #faf5e0); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #f6eeca, #faf5e0); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #f6eeca, #faf5e0); + /* IE10 */ + background-image: -o-linear-gradient(top, #f6eeca, #faf5e0); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #f6eeca, #faf5e0); + padding: 1em 1.618em 2.65em 1.618em; + border-top: 1.618em solid #f2e8b5; + border-bottom: 1px solid #fcf7f2; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1); + -webkit-transform: rotate(1deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(1deg); + /* FF3.5+ */ + -ms-transform: rotate(1deg); + /* IE9 */ + -o-transform: rotate(1deg); + /* Opera 10.5 */ + transform: rotate(1deg); + zoom: 1; + font-family: 'Schoolbell', cursive; + margin: 1.618em; + font-size: 1.142em; + color: #554444; + max-width: 22em; +} +.shortcode-sticky a { + padding: 0 6px; + background: rgba(255, 255, 0, 0.1); + color: #443333; +} +.shortcode-sticky.left { + float: left; +} +.shortcode-sticky.right { + float: right; +} +.shortcode-sale { + padding: 0 1em; + background: #c67c77; + color: #fff; + text-transform: uppercase; + font-weight: 700; + margin-bottom: 2.618em; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + -webkit-border-radius: 0.27em; + border-radius: 0.27em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3); +} +.shortcode-sale span { + padding: .3em 0; + display: block; +} +.shortcode-sale a { + background: rgba(255, 255, 255, 0.1); + color: #fff; + padding: 3px 12px; + -webkit-border-radius: 20px; + border-radius: 20px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 0 6px; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +.shortcode-sale a:hover { + background: rgba(255, 255, 255, 0.2); + color: #fff; +} +/* 7.7.1 Mini Features */ +.mini-features { + margin-left: 0 !important; + padding-left: 0; + list-style: none !important; +} +.mini-features:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature { + margin: 0; +} +.mini-features .mini-feature:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; +} +.mini-features .mini-feature img { + width: 13.45%; + height: auto; + padding: 0; + border: 0; + background: none; + float: left; +} +.mini-features .mini-feature .feature-content { + width: 82.7%; + float: right; +} +.mini-features .mini-feature .feature-content h3 { + padding-top: 0; +} +/*-------------------------------------------------------------------------------------------*/ +/* 8. MISC */ +/*-------------------------------------------------------------------------------------------*/ +/* 8.1 Forms */ +.form-row label { + display: block; +} +.form-row .input-text { + width: 100%; +} +input[type=text], +input.input-text, +textarea, +input.txt { + padding: .53em .857em; + border: 1px solid #b3b3ab; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 1em; + /* Make inputs the same size as normal text */ + line-height: 1.618em; + font-size: .857em; + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + outline: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + color: #68685d; + box-shadow: 0 0 0.236em 0 #e4e4e0; + -webkit-box-shadow: 0 0 0.236em 0 #e4e4e0; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; +} +input[type=text]:focus, +input.input-text:focus, +textarea:focus, +input.txt:focus { + box-shadow: 0 0 0.618em 0 #ebdeb9; + -webkit-box-shadow: 0 0 0.618em 0 #ebdeb9; + border: 1px solid #e0cb91; +} +::-webkit-input-placeholder { + color: #bdbdb2; +} +:-moz-placeholder { + color: #bdbdb2; +} +label { + font-weight: 700; +} +a.button, +#commentform #submit, +.submit, +input[type=submit], +input.button, +button.button, +.woo-pagination a { + display: inline-block; + padding: .382em 1em; + color: white; + text-align: center; + text-decoration: none; + font-size: .857em; + /* Make inputs the same size as normal text */ + font-family: "Cutive", sans-serif; + /* Make inputs use the correct typeface instead of the browser default */ + /* Inputs need pointers! */ + overflow: visible; + /* IE fix */ + width: auto; + /* IE fix */ + line-height: 1.618em; + background: url("../images/leather.png"), url("../images/noise.png"); + background-color: #caa541; + border: 1px dashed #fdd874; + box-shadow: 0 0 0 0.327em #a8831f; + -webkit-box-shadow: 0 0 0 0.327em #a8831f; + cursor: pointer; + text-shadow: 0 1px 0 #a8831f; + position: relative; +} +a.button:hover, +#commentform #submit:hover, +.submit:hover, +input[type=submit]:hover, +input.button:hover, +button.button:hover, +.woo-pagination a:hover { + background-color: #b99430; +} +a.button.loading:before, +#commentform #submit.loading:before, +.submit.loading:before, +input[type=submit].loading:before, +input.button.loading:before, +button.button.loading:before, +.woo-pagination a.loading:before { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url("../images/ajax-loader.gif") center no-repeat #caa541; + content: ""; +} +a.button.added:after, +#commentform #submit.added:after, +.submit.added:after, +input[type=submit].added:after, +input.button.added:after, +button.button.added:after, +.woo-pagination a.added:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "."; +} +a.button.large, +#commentform #submit.large, +.submit.large, +input[type=submit].large, +input.button.large, +button.button.large, +.woo-pagination a.large { + font-size: 1.387em; +} +a.button.small, +#commentform #submit.small, +.submit.small, +input[type=submit].small, +input.button.small, +button.button.small, +.woo-pagination a.small { + font-size: .857em; +} +a.button.alt, +#commentform #submit.alt, +.submit.alt, +input[type=submit].alt, +input.button.alt, +button.button.alt, +.woo-pagination a.alt { + background-color: #826f3d; + box-shadow: 0 0 0 0.327em #604d1b; + -webkit-box-shadow: 0 0 0 0.327em #604d1b; + border-color: #9f9885; + text-shadow: 0 1px 0 #604d1b; +} +a.button.alt:hover, +#commentform #submit.alt:hover, +.submit.alt:hover, +input[type=submit].alt:hover, +input.button.alt:hover, +button.button.alt:hover, +.woo-pagination a.alt:hover { + background-color: #715e2c; +} +.chrome input[type="checkbox"], +.safari input[type="checkbox"] { + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)), -webkit-linear-gradient(left, #c67c77 50%, #a0bd72 50%); + background-size: 100% 100%, 200% 100%; + background-position: 0 0, 5px 0; + border-radius: 25px; + box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.1), 0 -1px 2px 1px rgba(0, 0, 0, 0.25), 0 2px 2px 1px rgba(255, 255, 255, 0.5), 0 -2px 10px 2px rgba(255, 255, 255, 0.75), 0 2px 10px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; + height: 10px; + padding-right: 10px; + position: relative; + width: 20px; + -webkit-appearance: none; + -webkit-transition: .15s; + margin: 0 .5em; +} +.chrome input[type="checkbox"]:after, +.safari input[type="checkbox"]:after { + background-color: #eee; + background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)); + border-radius: 25px; + box-shadow: inset 0 1px 1px 1px #ffffff, inset 0 -1px 1px 1px rgba(0, 0, 0, 0.25), 0 1px 3px 1px rgba(0, 0, 0, 0.5), 0 0 2px rgba(0, 0, 0, 0.25); + content: ''; + display: block; + height: 10px; + left: 0; + position: relative; + top: 0; + width: 10px; +} +.chrome input[type="checkbox"]:checked, +.safari input[type="checkbox"]:checked { + background-position: 0 0, 15px 0; + padding-left: 10px; + padding-right: 0; +} +.chrome input[type="checkbox"]:hover:before, +.safari input[type="checkbox"]:hover:before { + color: #e4ded4; + content: '✘'; + font: 12px/20px sans-serif; + height: 20px; + top: -20px; + letter-spacing: 1px; + position: absolute; + text-align: center; + text-transform: uppercase; + width: 20px; + left: 0px; +} +.chrome input[type="checkbox"]:checked:hover:before, +.safari input[type="checkbox"]:checked:hover:before { + content: '✔'; +} +/* 8.2 Gravity forms */ +.gfield { + margin-bottom: 1em; +} +.gform_wrapper .top_label .gfield_label { + display: block; + padding-right: 20px; + width: 100px; + margin: 5px 0 .327em; +} +.gform_wrapper .top_label input.large, +.gform_wrapper .top_label select.large, +.gform_wrapper .top_label textarea.textarea { + width: 400px !important; + padding: 7px .236em !important; +} +.gform_wrapper .top_label .clear-multi { + clear: none !important; +} +.gform_wrapper input.button { + padding: 5px 10px 6px !important; +} +.gform_wrapper input { + padding: 7px .236em !important; +} +.gform_wrapper .entry img, +.gform_wrapper img, +.gform_wrapper thumbnail { + padding: 0 !important; + border: 0 !important; + height: auto; +} +.gform_wrapper .gfield_checkbox, +.gform_wrapper .gfield_radio { + margin-left: 120px !important; +} +img.ui-datepicker-trigger { + border: 0; + padding: 0; +} +/* 8.3 IE specific styling */ +.ie8 #sidebar .widget_shopping_cart { + background: #826f3d !important; + background-image: none; +} +.ie8 .single-product .images img { + display: block; + width: auto; +} +/* 8.4 Uniform */ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. Containers & Columns +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + #wrapper { + padding: 0 2.618em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + overflow-x: hidden; + } + blockquote { + padding: 1.618em; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .857em 1.387em; + } + ul.nav li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul li a:after { + content: "" !important; + } + ul.nav ul li.parent a:after { + display: inline-block; + content: "]" !important; + float: right; + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav ul ul li a:after { + display: none !important; + } + ul.nav li:hover > ul { + visibility: visible; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: url("../images/noise.png"), url("../images/leather.png"); + background-color: #4d4d45; + border-bottom: 0.146em dashed #757569; + border-top: 0.327em solid #32322d; + font-weight: 700; + -webkit-box-shadow: 0 0.236em 0 #3f3f39, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3f3f39; + -moz-box-shadow: 0 0.236em 0 #3f3f39, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3f3f39; + box-shadow: 0 0.236em 0 #3f3f39, 0 0.382em 1em rgba(0, 0, 0, 0.25), inset 0 -1px 0 #3f3f39; + position: relative; + margin: 0 -2.618em; + padding: 0 2.618em; + } + #top:before, + #top:after { + content: ""; + position: absolute; + z-index: -1; + -ms-transform: skew(-3deg, -2deg); + -webkit-transform: skew(-3deg, -2deg); + /* Safari and Chrome */ + -o-transform: skew(-3deg, -2deg); + /* Opera */ + -moz-transform: skew(-3deg, -2deg); + /* Firefox */ + bottom: 13px; + box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 10px 5px 0 rgba(0, 0, 0, 0.3); + height: 50px; + left: 3px; + max-width: 50%; + width: 51%; + } + #top:after { + -ms-transform: skew(3deg, 2deg); + /* IE 9 */ + -webkit-transform: skew(3deg, 2deg); + /* Safari and Chrome */ + -o-transform: skew(3deg, 2deg); + /* Opera */ + -moz-transform: skew(3deg, 2deg); + /* Firefox */ + left: auto; + right: 3px; + } + #top #top-nav { + display: block; + } + #top a { + text-shadow: 0 -1px 0 #35352a; + color: #acaca1; + } + #top a:hover { + color: #93804e; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a:hover { + background-color: #68685d; + background-image: -webkit-gradient(linear, left top, left bottom, from(#68685d), to(#5a5a51)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #68685d, #5a5a51); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #68685d, #5a5a51); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #68685d, #5a5a51); + /* IE10 */ + background-image: -o-linear-gradient(top, #68685d, #5a5a51); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #68685d, #5a5a51); + } + #top ul.nav > li:hover { + background-color: #68685d; + background-image: -webkit-gradient(linear, left top, left bottom, from(#68685d), to(#5a5a51)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #68685d, #5a5a51); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #68685d, #5a5a51); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #68685d, #5a5a51); + /* IE10 */ + background-image: -o-linear-gradient(top, #68685d, #5a5a51); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #68685d, #5a5a51); + } + #top ul.nav > li.logout a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: "X"; + } + #top ul.nav ul { + background-color: #5a5a51; + background-image: -webkit-gradient(linear, left top, left bottom, from(#5a5a51), to(#4d4d45)); + /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, #5a5a51, #4d4d45); + /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, #5a5a51, #4d4d45); + /* FF3.6+ */ + background-image: -ms-linear-gradient(top, #5a5a51, #4d4d45); + /* IE10 */ + background-image: -o-linear-gradient(top, #5a5a51, #4d4d45); + /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, #5a5a51, #4d4d45); + box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1em 1em 0 rgba(0, 0, 0, 0.2); + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #navigation { + display: block !important; + } + #navigation ul.nav { + padding: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #navigation ul.nav > li { + border-right: 1px dotted #dadad1; + } + #navigation ul.nav > li a:hover { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #caa541; + -webkit-box-shadow: inset 0 0.382em 0 0 #caa541; + } + #navigation ul.nav > li:hover, + #navigation ul.nav > li.current_page_item { + background: #fff; + box-shadow: inset 0 0.382em 0 0 #caa541; + -webkit-box-shadow: inset 0 0.382em 0 0 #caa541; + } + #navigation ul.nav li a { + padding: 1em 1.618em; + color: #caa541; + } + #navigation ul.nav li a:hover { + color: #866100; + } + #navigation ul.nav li.home { + border: 0; + } + #navigation ul.nav li.home a { + border: 0.327em solid #a8831f; + padding: 0; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + -webkit-border-top-left-radius: 0.236em; + -webkit-border-bottom-left-radius: 0.236em; + border-top-left-radius: 0.236em; + border-bottom-left-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #navigation ul.nav li.home a span { + padding: .673em 1.618em; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + border: 1px dashed #fdd874; + background: url("../images/home.png") center no-repeat #caa541; + color: #fff; + text-indent: -999em; + } + #navigation ul.nav li.home a:hover { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav li.home a:hover span { + background-color: #b99430; + } + #navigation ul.nav li.home:hover a, + #navigation ul.nav li.home.current_page_item a { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + } + #navigation ul.nav ul { + background: #fff; + padding: .618em 0; + -webkit-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + box-shadow: inset 0 0 0 0.382em rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1); + } + #navigation ul.nav ul li a:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: none; + } + #navigation ul.nav ul ul { + left: 100%; + padding: 0; + } + h3.nav-toggle { + display: none; + } + /* 4. CONTAINERS & COLUMNS */ + #main.fullwidth, + .layout-full #main, + .col-full { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 65.4%; + } + #sidebar { + margin-top: 0; + width: 30.75%; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main, + .woocommerce-fullwidth #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .post, + .type-page { + padding: 3.631em; + } + .post .woo-image:first-child, + .type-page .woo-image:first-child { + float: right; + padding: .618em .618em 1.618em; + background: #fff; + border: 0; + box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-box-shadow: 0 0.077em 0.146em 0 rgba(0, 0, 0, 0.15); + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transform: rotate(2deg); + /* Saf3.1+, Chrome */ + -moz-transform: rotate(2deg); + /* FF3.5+ */ + -ms-transform: rotate(2deg); + /* IE9 */ + -o-transform: rotate(2deg); + /* Opera 10.5 */ + transform: rotate(2deg); + zoom: 1; + width: 11.089em; + margin-right: 0; + margin-left: 1.618em; + } + #post-author, + #post-entries { + padding: 1.618em 3.631em; + } + .mini-features .mini-feature { + width: 30.75%; + margin-right: 3.8%; + float: left; + font-size: 0.8em; + } + .mini-features .mini-feature:nth-child(3n) { + margin-right: 0; + } + #header { + text-align: left; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header #logo { + margin-right: 1em; + } + #header hgroup { + float: left; + margin-bottom: 1.618em; + } + #header hgroup .site-description { + clear: left; + } + #header a.cart-button, + #header a.checkout { + float: right; + } + #header a.checkout { + display: inline-block; + } + #sidebar { + margin-bottom: 2.618em; + } + .home #sidebar .tweet ul li { + padding: 1.618em; + } + #respond #reply-title small { + float: right; + } + /* 5. WOOCOMMERCE */ + .home-intro .stand-first { + width: 46.2%; + padding-left: 3.8%; + float: left; + clear: left; + z-index: 99999; + } + ul.featured-products { + margin: 0 0 5.874em; + z-index: 99; + clear: both; + padding-top: 3.631em; + } + ul.featured-products li { + width: 20%; + float: none; + display: inline-block; + vertical-align: top; + clear: none; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + position: relative; + word-spacing: 0; + } + ul.featured-products li:after { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -webkit-box-shadow: 0 0 0 2.618em rgba(197, 197, 184, 0.25), 0 0 1em rgba(0, 0, 0, 0.1); + z-index: -999999; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 39.9%; + margin-top: -20%; + } + ul.featured-products li:nth-child(2n), + ul.featured-products li.second { + float: none; + } + ul.featured-products li:nth-child(5n), + ul.featured-products li.fifth { + margin-left: 20%; + } + ul.featured-products li img { + width: 100%; + height: auto; + } + ul.featured-products li h3 { + position: absolute; + bottom: 0; + background: rgba(130, 111, 61, 0.8); + border-bottom: 0.382em solid #826f3d; + color: #fff; + margin: 0; + padding: .54em .857em; + left: 0; + right: 0; + font-family: "Karla", sans-serif; + font-size: .857em; + -webkit-transition: all ease-in-out 0.2s; + -moz-transition: all ease-in-out 0.2s; + -ms-transition: all ease-in-out 0.2s; + -o-transition: all ease-in-out 0.2s; + transition: all ease-in-out 0.2s; + } + ul.featured-products li h3 .price { + opacity: 0.6; + filter: alpha(opacity=@opacity * 100); + } + ul.featured-products li h3 .price:before { + content: "\2014"; + display: inline-block; + padding: 0 .382em 0 .236em; + } + ul.featured-products li .onsale { + position: absolute; + top: 0; + } + ul.featured-products li a:hover h3 { + border-color: #caa541; + border-bottom-width: .857em; + background: rgba(202, 165, 65, 0.85); + } + ul.featured-products li.go-shopping { + position: relative; + } + ul.featured-products li.go-shopping a { + margin: 40% 0 0 40%; + } + ul.featured-products li.go-shopping:after { + display: none; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + } + /* 5.1 Messages */ + /* 5.2 Products */ + ul.products:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + ul.products li.product { + width: 30.75%; + float: left; + clear: none; + margin-right: 3.8%; + } + ul.products li.product:nth-child(2n) { + float: left; + clear: none; + } + ul.products li.product.first { + clear: left; + } + .post-type-archive-product ul.products:hover li.product .img-wrap { + opacity: 0.5; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover { + opacity: 1; + filter: alpha(opacity=@opacity * 100); + } + .post-type-archive-product ul.products:hover li.product .img-wrap:hover:before { + display: none; + } + .pagination-wrap .woo-pagination, + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + width: 48%; + float: left; + text-align: left; + padding: 0; + } + .pagination-wrap .woocommerce_ordering, + .pagination-wrap .woocommerce-ordering { + float: right; + text-align: right; + } + /* 5.2.1 Single Product */ + .single-product .images { + width: 30.75%; + float: left; + } + .single-product .images img { + height: auto; + } + .single-product .summary { + width: 65.4%; + float: right; + } + .single-product .summary .price { + font-family: "Cutive", sans-serif; + color: #caa541; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .woocommerce_tabs ul.tabs, + .single-product .woocommerce-tabs ul.tabs { + width: 29.75%; + float: left; + border-top: 1px solid #d4d4ce; + } + .single-product .woocommerce_tabs ul.tabs li, + .single-product .woocommerce-tabs ul.tabs li { + display: block; + margin-right: 0; + } + .single-product .woocommerce_tabs ul.tabs li a, + .single-product .woocommerce-tabs ul.tabs li a { + display: block; + border-bottom: 1px solid #d4d4ce; + padding: .618em 0; + } + .single-product .woocommerce_tabs ul.tabs li.active a:after, + .single-product .woocommerce-tabs ul.tabs li.active a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ">"; + float: right; + margin-right: .857em; + margin-top: .202em; + } + .single-product .woocommerce_tabs .panel, + .single-product .woocommerce-tabs .panel { + width: 65.4%; + padding-left: 3.8%; + border-left: 1px solid #d4d4ce; + float: right; + margin-bottom: 1.618em; + border-top: 1px solid #d4d4ce; + padding-top: 1.618em; + } + .single-product .woocommerce_tabs .panel p:last-child, + .single-product .woocommerce-tabs .panel p:last-child { + margin-bottom: 0; + } + .single-product .woocommerce_tabs .panel#tab-description ul, + .single-product .woocommerce-tabs .panel#tab-description ul, + .single-product .woocommerce_tabs .panel#tab-description ol, + .single-product .woocommerce-tabs .panel#tab-description ol { + margin-left: 1.618em; + } + .single-product .woocommerce_tabs .panel#tab-reviews, + .single-product .woocommerce-tabs .panel#tab-reviews { + position: relative; + } + .single-product .woocommerce_tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child, + .single-product .woocommerce-tabs .panel#tab-reviews div[itemprop=aggregateRating] .star-rating:first-child { + position: absolute; + top: -1.618em; + right: 0; + background-color: #d4d4ce; + -webkit-border-bottom-left-radius: 0.202em; + -webkit-border-bottom-right-radius: 0.202em; + border-bottom-left-radius: 0.202em; + border-bottom-right-radius: 0.202em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 0.53em solid #d4d4ce; + } + .single-product .related, + .single-product .upsells { + clear: both; + } + /* 5.3 Cart */ + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart .quantity .plus, + table.cart .quantity .minus { + display: inline-block !important; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + /* 5.4 Checkout */ + #customer_details .col-1, + #customer_details .col-2 { + background: rgba(255, 255, 255, 0.5); + border: 1px solid #e5e5df; + padding: 2.244em; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + margin-bottom: 1.618em; + width: 49%; + } + /* 5.5 Widgets */ + /* 5.6 Account */ + .woocommerce-account form.login .button { + margin-right: 1em; + } + .woocommerce-account form.login .clear + .form-row { + width: 100%; + } + /* 5.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie8 ul.featured-products li h3 { + background: #826f3d; + } + .ie8 ul.featured-products li:hover h3 { + background: #caa541; + } + .ie8 ul.featured-products li.fourth { + width: 40%; + margin-top: -20%; + } + .ie8 ul.featured-products li.fifth { + margin-left: 20%; + } +} +@media only screen and (min-width: 1600px) { + body { + font-size: 1.6em; + } + #sidebar .widget { + margin-bottom: 1em; + } + ul.featured-products li:nth-child(4n), + ul.featured-products li.fourth { + width: 40%; + } +} diff --git a/artificer/styles/yellow.less b/artificer/styles/yellow.less new file mode 100644 index 0000000..18fd24a --- /dev/null +++ b/artificer/styles/yellow.less @@ -0,0 +1,19 @@ +@import url(../style.less); +@import url(../css/layout.less); +@import url(../css/mixins.less); + +@color_theme: #caa541; // Main theme color +@color_links: desaturate(darken(@color_theme,15%),20%); // Links +@color_body: darken(desaturate(@bg_light,5%),50%); // Body Copy + +// Borders +@border_main: darken(@bg_light,10%); // The 1px grey rules used throughout the WF + +// Backgrounds +@bg_light: #e5e5df; + +// Images +@img_path: "../images"; + +// Typefaces +@typeface_path: "../typefaces"; \ No newline at end of file diff --git a/artificer/template-archives.php b/artificer/template-archives.php new file mode 100755 index 0000000..eff6a64 --- /dev/null +++ b/artificer/template-archives.php @@ -0,0 +1,82 @@ + +
                    + + + +
                    + +
                    > + +
                    +

                    +
                    + +
                    + + + + +

                    + +
                      + + is_home = false; ?> +
                    • - - comment_count; ?>
                    • + +
                    + + + +
                    +

                    +
                      + +
                    +
                    + +
                    +

                    + +
                      + +
                    +
                    + +
                    + +
                    + +
                    + + + + + +
                    + + \ No newline at end of file diff --git a/artificer/template-blog.php b/artificer/template-blog.php new file mode 100755 index 0000000..7b49ab0 --- /dev/null +++ b/artificer/template-blog.php @@ -0,0 +1,103 @@ + 450, + 'thumb_h' => 450, + 'thumb_align' => 'alignright' + ); + + $settings = woo_get_dynamic_values( $settings ); +?> + +
                    + + + +
                    + + + + 'post', + 'paged' => $paged + ); + + $query_args = apply_filters( 'woo_blog_template_query_args', $query_args ); // Do not remove. Used to exclude categories from displaying here. + + remove_filter( 'pre_get_posts', 'woo_exclude_categories_homepage' ); + + query_posts( $query_args ); + + if ( have_posts() ) { + $count = 0; + while ( have_posts() ) { the_post(); $count++; + ?> + +
                    > + + + +
                    +

                    +
                    + + + +
                    + + +
                    + +
                    + + + + +
                    + +
                    + + +
                    > +

                    +
                    + + + + + + + +
                    + + + + + +
                    + + \ No newline at end of file diff --git a/artificer/template-contact.php b/artificer/template-contact.php new file mode 100755 index 0000000..f812be0 --- /dev/null +++ b/artificer/template-contact.php @@ -0,0 +1,228 @@ +" . "\r\n" . __( 'Reply-To: ', 'woothemes' ) . $email; + + wp_mail( $emailTo, $subject, $body, $headers ); + + if( $sendCopy == true ) { + $subject = __( 'You emailed ', 'woothemes' ) . get_bloginfo( 'title' ); + $headers = __( 'From: ', 'woothemes' ) . "$name <$emailTo>"; + wp_mail( $email, $subject, $body, $headers ); + } + + $emailSent = true; + + } + } +} +?> + + +
                    + + + +
                    + +
                    + + + +

                    + + + + + + + +
                    +

                    +
                    + +
                    + + +
                    + +
                    class="col-left"> +

                    +
                      +
                    • +
                    • +
                    • +
                    • +
                    +
                    + +
                    + + +
                    +

                    Twitter

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

                    + + + + + + + +
                    + +
                      +
                    1. + + + + +
                    2. + +
                    3. + + + + +
                    4. + +
                    5. + + + + +
                    6. +
                    7. />
                    8. +
                    9. +
                    10. +
                    +
                    + + + +
                    +
                    + + + + + +
                    + + \ No newline at end of file diff --git a/artificer/template-fullwidth.php b/artificer/template-fullwidth.php new file mode 100755 index 0000000..6bae5b1 --- /dev/null +++ b/artificer/template-fullwidth.php @@ -0,0 +1,53 @@ + + +
                    + + + +
                    + + +
                    > + +
                    +

                    +
                    + +
                    + +
                    + + ', '' ); ?> + +
                    + + +
                    > +

                    +
                    + + +
                    + + + +
                    + + \ No newline at end of file diff --git a/artificer/template-imagegallery.php b/artificer/template-imagegallery.php new file mode 100755 index 0000000..b9e3dee --- /dev/null +++ b/artificer/template-imagegallery.php @@ -0,0 +1,56 @@ + + +
                    + + + +
                    + +
                    > + +
                    +

                    +
                    + +
                    + + + + is_home = false; + woo_image( 'single=true&class=thumbnail alignleft' ); + } + } + ?> +
                    + +
                    + +
                    + + + + + +
                    + + \ No newline at end of file diff --git a/artificer/template-sitemap.php b/artificer/template-sitemap.php new file mode 100755 index 0000000..9a9a778 --- /dev/null +++ b/artificer/template-sitemap.php @@ -0,0 +1,117 @@ + + +
                    + + + +
                    + +
                    > + + +
                    +

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

                    +
                      + +
                    +

                    +
                      + +
                    +

                    + cat_ID); + + ?> + + + +

                    cat_name; ?>

                    +
                      + +
                    • - (comment_count ?>)
                    • + +
                    + + +
                    + +
                    + +

                    +
                      + +
                    + + + +

                    + +
                      + 'product', 'posts_per_page' => -1, 'meta_query' => array( array('key' => '_visibility','value' => array('catalog', 'visible'))) ); + $loop = new WP_Query( $args ); + while ( $loop->have_posts() ) : $loop->the_post(); + ?> +
                    • + +
                    + + +
                    +
                    + +
                    + + + +
                    + +
                    + +
                    + + + + + +
                    + + \ No newline at end of file diff --git a/artificer/template-tags.php b/artificer/template-tags.php new file mode 100755 index 0000000..4436951 --- /dev/null +++ b/artificer/template-tags.php @@ -0,0 +1,46 @@ + + +
                    + + + +
                    + +
                    > + +
                    +

                    +
                    + + +
                    + +
                    + + +
                    + +
                    + +
                    + +
                    + + + +
                    + + \ No newline at end of file diff --git a/artificer/template-timeline.php b/artificer/template-timeline.php new file mode 100755 index 0000000..c8dca54 --- /dev/null +++ b/artificer/template-timeline.php @@ -0,0 +1,110 @@ + + +
                    + + + +
                    + + +
                    > + +
                    +

                    +
                    + +
                    + + post_date ); + $post_year = date( 'Y', $post_ts ); + + /* Handle the first year as a special case */ + if ( is_null( $prev_post_year ) ) { + ?> +

                    +
                      + +
                    + $post_year ) { + $working_year--; + ?> +

                    + +
                      + +
                    • + +
                    • + +
                    + + +
                    + +
                    + +
                    + + + + + + + +
                    + + diff --git a/artificer/theme_info.txt b/artificer/theme_info.txt new file mode 100644 index 0000000..eb8dcf2 --- /dev/null +++ b/artificer/theme_info.txt @@ -0,0 +1,3 @@ +56564 +65fda40fb27b2cf259e5b155053c6675 +artificer/style.css \ No newline at end of file diff --git a/artificer/typefaces/websymbols-regular-webfont.eot b/artificer/typefaces/websymbols-regular-webfont.eot new file mode 100755 index 0000000000000000000000000000000000000000..4bf9c07a4319669f95fc8e505d1b7c8022e618c0 GIT binary patch literal 12596 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 XTeYmJsxg#)htuy`_MT8xRrS9BXhLbS literal 0 HcmV?d00001 diff --git a/artificer/typefaces/websymbols-regular-webfont.svg b/artificer/typefaces/websymbols-regular-webfont.svg new file mode 100755 index 0000000..ecf0e30 --- /dev/null +++ b/artificer/typefaces/websymbols-regular-webfont.svg @@ -0,0 +1,108 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Copyright c 2011 by Just Be Nice studio All rights reserved +Designer : Igor Kiselev +Foundry : Just Be Nice studio +Foundry URL : httpwwwjustbenicestudiocom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/artificer/typefaces/websymbols-regular-webfont.ttf b/artificer/typefaces/websymbols-regular-webfont.ttf new file mode 100755 index 0000000000000000000000000000000000000000..e7da1ba15cecd51a1f4165dfcbb6856ff3a6c810 GIT binary patch literal 12344 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 + +
                    +
                    + + + + +
                    + +

                    +

                    + +
                    + + +
                    +

                    +
                    + + +
                    + + + +
                    + + \ No newline at end of file diff --git a/bueno/README.md b/bueno/README.md new file mode 100644 index 0000000..e69de29 diff --git a/bueno/archive.php b/bueno/archive.php new file mode 100755 index 0000000..3d65d03 --- /dev/null +++ b/bueno/archive.php @@ -0,0 +1,91 @@ + + +
                    +
                    + + + + + | get_queried_object(); $cat_id = $cat_obj->cat_ID; echo ''.__('RSS feed for this section', 'woothemes').''; ?> + + + | + + + | + + + | + + + + + + + + + +
                    + + + + +
                    + +

                    + +

                    + + +

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

                    +
                    + + +
                    + +
                    +
                    +
                    + +
                    + +
                    + + + +
                    + + \ No newline at end of file diff --git a/bueno/changelog.txt b/bueno/changelog.txt new file mode 100755 index 0000000..3944421 --- /dev/null +++ b/bueno/changelog.txt @@ -0,0 +1,100 @@ +*** Bueno Changelog *** + +2014.09.24 - version 1.8.0 + * Fix - Updated built in widgets structure + includes/widgets/*, + includes/theme-widgets.php, + css/*.css, + includes/theme-options.php + + +2012.04.16 - version 1.7.4 + * styles/default.css - Added #pagenav li.current-menu-item a + * styles/blue.css - Added #pagenav li.current-menu-item a + * styles/brown.css - Added #pagenav li.current-menu-item a + * styles/green.css - Added #pagenav li.current-menu-item a + * styles/grey.css - Added #pagenav li.current-menu-item a + * styles/purple.css - Added #pagenav li.current-menu-item a + * styles/red.css - Added #pagenav li.current-menu-item a + +2012.04.16 - version 1.7.3 + * single.php - added previous and next links. + * style.css - styling for prev and next links. + +2011.05.09 - version 1.7.2 + * page.php - fixed comments to show on pages. + +2011.03.31 - version 1.7.1 + * archive.php - added Localization support for the "RSS feed for this section" string. + * lang/bueno.po - updated po file + +2011.03.02 - version 1.7 + * header.php - added Google Font instead of Cufon + * style.css - added google font-family 'Anton' + * index.php, archive.php - added global $woo_options + * includes/theme-options.php - fixed options so $woo_options work. + +2011.02.14 - version 1.6 + * index.php - Added support for adjusting excerpt vs. full-content + * archive.php - Added support for adjusting excerpt vs. full-content + * /includes/theme-options.php - Added support for adjusting excerpt vs. full-content (lines 109-113) + +2010.09.08 - version 1.5.1 + * header.php - Added site-title to cufon replace + +2010.08.10 - version 1.5 + * includes/theme-functions.php - removed yoast breadcrumbs plugin. Download here: http://yoast.com/wordpress/breadcrumbs/ + * includes/theme-options.php - removed option for breadcrumbs. Install plugin to activate + * single.php - fixed yoast_breadcrumb (line 6) + * page.php - fixed yoast_breadcrumb (line 6) + +2010.06.21 - version 1.4.1 + * style.css - Fixed Gravity forms styling bug + +2010.06.21 - version 1.4.0 + * header.php - Added theme support for WordPress 3.0 Menu Management + * /includes/theme-functions.php - Added theme support for WordPress 3.0 Menu Management + +2010.06.15 - version 1.3.1 + * style.css - Added styling for Gravity forms + * /styles/*.css - Added styling for Gravity forms + +2010.05.26 - version 1.3 + * includes/theme-options.php - added text title option + * style.css - added text title styling + +2010.05.12 - version 1.2.1 + * comments.php - Fixed Trackbacks and Pingbacks + * /land/bueno.po - Adjust "Trackbacks/Pingbacks" to "Trackbacks and Pingbacks" + +2010.04.28 - version 1.2 + * header.php - added support for WooNav + * search.php - sanitized search + +2010.04.07 - version 1.1 + * /functions/* - MAJOR UPDATE - Framework V.2.7.0 + * header.php - Added SEO tags, woo_title(); & woo_meta(); + * functions.php - Changed layout for loading required files. + +2010.04.06 - version 1.0.5 + * comments.php - Fixed translation bug. + * lang/bueno.po - Replaced PO file + +2009.12.08 - version 1.0.4 + * /css/ie7.css - Fixed z-index bug for IE7 + +2009.12.08 - version 1.0.3 + * /css/ie6.css - Fixed z-index bug for IE6 + +2009.11.25 - version 1.0.2 + * style.css - Added hover style to category navigation + * includes/theme-widgets.php - Fixed margin below Featured Post widget + +2009.11.25 - version 1.0.1 + * includes/theme-widgets.php - Fixed the single template bug in the featured post sidebar linking the image to it's source and not the relative post. + +2009.11.05 - version 1.0 + * First release! + +2009.11.05 - version 1.0 + * First release! \ No newline at end of file diff --git a/bueno/comments-legacy.php b/bueno/comments-legacy.php new file mode 100755 index 0000000..5290949 --- /dev/null +++ b/bueno/comments-legacy.php @@ -0,0 +1,164 @@ +post_password)) { // if there's a password + if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie + ?> + +

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

                    + +
                      + + + +
                    1. + + comment_author_email; + $grav_url = "http://www.gravatar.com/avatar.php?gravatar_id=".md5($email). "&default=".urlencode($GLOBALS['defaultgravatar'])."&size=48"; + $usegravatar = get_option('woo_gravatar'); + ?> + + + +
                      + Says: + comment_approved == '0') : ?> + + +
                      + + + + +
                      + +
                    2. + + + + + +
                    + + 0 ) { ?> + +

                    + +
                      + + + +
                    1. " id="comment-"> + + Says: + comment_approved == '0') : ?> + + +
                      + + + + + +
                    2. + + + + + +
                    + + + + + + comment_status) : ?> + + + + +

                    + + + + + +comment_status) : ?> +
                    + +

                    + + +

                    + + +
                    + + + +

                    . »

                    + + + +

                    +

                    + +

                    +

                    + +

                    +

                    + + + + + +

                    + +

                    + +

                    + +
                    + + + +
                    + diff --git a/bueno/comments.php b/bueno/comments.php new file mode 100755 index 0000000..4c108d2 --- /dev/null +++ b/bueno/comments.php @@ -0,0 +1,131 @@ + +

                    + + + + + + + + +
                    + +

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

                    + +
                      + +
                    + +
                    + + + + + + comment_status) : ?> + + +
                    + +

                    + +
                    + + + + +
                    + +

                    + +
                    + + + + + +comment_status) : ?> + +
                    + +

                    + +
                    + +
                    + + + +

                    + + + +
                    + + + +

                    . »

                    + + + +

                    + + +

                    + +

                    + + +

                    + +

                    + + +

                    + + + + + +

                    + + + + + + ID); ?> + +
                    + + + +
                    + +
                    + + diff --git a/bueno/css/ie6.css b/bueno/css/ie6.css new file mode 100755 index 0000000..d50c12b --- /dev/null +++ b/bueno/css/ie6.css @@ -0,0 +1,7 @@ +#header { position: relative; z-index: 1; } +#content {position: relative; z-index: 0;} +.widget li, .post, #footer {zoom: 1;} +input.submit { padding: 4px 0!important; } +#pagenav li.rss a { width: 15px; } +#flickr .flickr_badge_image { margin: 15px 15px 0 0; } +#commentform label { display: inline-block; margin-top: -28px; line-height: 10px; } \ No newline at end of file diff --git a/bueno/css/ie7.css b/bueno/css/ie7.css new file mode 100755 index 0000000..4a374f8 --- /dev/null +++ b/bueno/css/ie7.css @@ -0,0 +1,5 @@ +#header { position: relative; z-index: 1; } +#content {position: relative; z-index: 0;} +#commentform label { display: inline-block; margin-top: -28px; line-height: 10px; } +input.submit { padding: 4px 0!important; } +#flickr .flickr_badge_image { margin: 15px 25px 0 0; } \ No newline at end of file diff --git a/bueno/css/reset.css b/bueno/css/reset.css new file mode 100755 index 0000000..a86d510 --- /dev/null +++ b/bueno/css/reset.css @@ -0,0 +1,66 @@ +/*-------------------------------------------------------------------------------------------*/ +/* RESET */ +/*-------------------------------------------------------------------------------------------*/ + +/* http://meyerweb.com/eric/tools/css/reset/ | v1.0 | 20080212 */ + +body, html { height: 100%; } +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} +body { line-height: 1; } +ol, ul { list-style: none; } +blockquote, q { quotes: none; } +blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } +:focus { outline: 0; }/* remember to define focus styles! */ +del { text-decoration: line-through; } +table { border-collapse: collapse; border-spacing: 0; }/* tables still need 'cellspacing="0"' in the markup */ + +/*-------------------------------------------------------------------------------------------*/ +/* GENERAL STYLES */ +/*-------------------------------------------------------------------------------------------*/ + +/* Floating & Alignment */ +.fl{float: left;} +.fr{float: right;} +.ac{text-align: center;} +.ar{text-align: right;} + +/* Clear Floats */ +.col-full:after{content: "."; display: block;height: 0;clear: both; visibility: hidden;} + +.fix{clear: both;height: 1px;margin: -1px 0 0;overflow: hidden;} + +html body * span.clear, +html body * div.clear, +html body * li.clear, +html body * dd.clear +{ + background: none; + border: 0; + clear: both; + display: block; + float: none; + font-size: 0; + list-style: none; + margin: 0; + padding: 0; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; +}/* http://sonspring.com/journal/clearing-floats */ diff --git a/bueno/custom.css b/bueno/custom.css new file mode 100755 index 0000000..945ec20 --- /dev/null +++ b/bueno/custom.css @@ -0,0 +1,13 @@ +/* +WOO CUSTOM STYLESHEET +--------------------- + +Instructions: + +Add your custom styles here instead of style.css so it +is easier to update the theme. Simply copy an existing +style from style.css to this file, and modify it to +your liking. + +*/ + diff --git a/bueno/footer.php b/bueno/footer.php new file mode 100755 index 0000000..62b829a --- /dev/null +++ b/bueno/footer.php @@ -0,0 +1,47 @@ + + + + +
                    + + + + \ No newline at end of file diff --git a/bueno/functions.php b/bueno/functions.php new file mode 100755 index 0000000..de405da --- /dev/null +++ b/bueno/functions.php @@ -0,0 +1,29 @@ + \ No newline at end of file diff --git a/bueno/functions/admin-backup.php b/bueno/functions/admin-backup.php new file mode 100755 index 0000000..5ba7767 --- /dev/null +++ b/bueno/functions/admin-backup.php @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/bueno/functions/admin-custom-nav.php b/bueno/functions/admin-custom-nav.php new file mode 100755 index 0000000..9f60354 --- /dev/null +++ b/bueno/functions/admin-custom-nav.php @@ -0,0 +1,99 @@ + +deprecated since version %2$s of the WooFramework! Use %3$s instead.', 'woothemes' ), $function, '5.4', __( 'WordPress Menu Management', 'woothemes' ) ) ); +} + +/*-----------------------------------------------------------------------------------*/ +/* Woothemes Custom Navigation Menu Setup +/* Setup of the Menu +/* Add Menu Item to the theme +/* Scripts - JS and CSS +/*-----------------------------------------------------------------------------------*/ + +function woo_custom_navigation_setup() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +function woo_custom_nav_reset() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +function woo_custom_navigation_menu() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +function woo_custom_nav_scripts() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + + +/*-----------------------------------------------------------------------------------*/ +/* Woothemes Custom Navigation Menu Interface +/* woo_custom_navigation() is the main function for the Custom Navigation +/* See functions in admin-functions.php +/*-----------------------------------------------------------------------------------*/ + +function woo_custom_navigation() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +/*-----------------------------------------------------------------------------------*/ +/* WooThemes Custom Navigation Functions */ +/* woo_custom_navigation_output() displays the menu in the back/frontend +/* woo_custom_navigation_sub_items() is a recursive sub menu item function +/* woo_get_pages() +/* woo_get_categories() +/* woo_custom_navigation_default_sub_items() is a recursive sub menu item function +/*-----------------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------------*/ +/* Main Output Function +/* args list +/* type - frontend or backend +/* name - name of your menu +/* id - id of menu in db +/* desc - 1 = show descriptions, 2 = dont show descriptions +/* before_title - html before title is outputted in tag +/* after_title - html after title is outputted in tag +/*-----------------------------------------------------------------------------------*/ + +function woo_custom_navigation_output($args = array()) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); wp_list_pages( 'sort_column=menu_order&depth=6&title_li=&exclude=' ); } + +//RECURSIVE Sub Menu Items +function woo_custom_navigation_sub_items($post_id,$type,$table_name,$output_type,$menu_id = 0,$depth = 0,$depth_counter = 0) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//Checks if any of parent menu items children are the current page +function woo_child_is_current($parent_id, $menu_id, $table_name, $queried_id, $type_settings, $full_web_address) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//Outputs All Pages and Sub Items +function woo_get_pages($counter,$type) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//Outputs All Categories and Sub Items +function woo_get_categories($counter, $type) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//RECURSIVE Sub Menu Items of default categories and pages +function woo_custom_navigation_default_sub_items($childof, $intCounter, $parentli, $type, $output_type) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +/*-----------------------------------------------------------------------------------*/ +/* Recursive get children */ +/*-----------------------------------------------------------------------------------*/ + +function get_children_menu_elements($childof, $intCounter, $parentli, $type, $menu_id, $table_name) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +?> \ No newline at end of file diff --git a/bueno/functions/admin-custom.php b/bueno/functions/admin-custom.php new file mode 100755 index 0000000..4563424 --- /dev/null +++ b/bueno/functions/admin-custom.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/bueno/functions/admin-express-functions-deprecated.php b/bueno/functions/admin-express-functions-deprecated.php new file mode 100755 index 0000000..c48ecb7 --- /dev/null +++ b/bueno/functions/admin-express-functions-deprecated.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/bueno/functions/admin-express-functions.php b/bueno/functions/admin-express-functions.php new file mode 100755 index 0000000..c48ecb7 --- /dev/null +++ b/bueno/functions/admin-express-functions.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/bueno/functions/admin-framework-settings.php b/bueno/functions/admin-framework-settings.php new file mode 100755 index 0000000..7f3077c --- /dev/null +++ b/bueno/functions/admin-framework-settings.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/bueno/functions/admin-functions.php b/bueno/functions/admin-functions.php new file mode 100755 index 0000000..eb345f0 --- /dev/null +++ b/bueno/functions/admin-functions.php @@ -0,0 +1,3684 @@ + +ID; + } + + $thumb_id = esc_html( get_post_meta( $id, '_thumbnail_id', true ) ); + + // Set alignment + if ( $alignment == '' ) + $alignment = esc_html( get_post_meta( $id, '_image_alignment', true ) ); + + // Get standard sizes + if ( ! $width && ! $height ) { + $width = '100'; + $height = '100'; + } + + // Cast $width and $height to integer + $width = intval( $width ); + $height = intval( $height ); + + /* ------------------------------------------------------------------------- */ + /* FIND IMAGE TO USE */ + /* ------------------------------------------------------------------------- */ + + // When a custom image is sent through + if ( $src != '' ) { + $custom_field = esc_url( $src ); + $link = 'img'; + + // WP 2.9 Post Thumbnail support + } elseif ( get_option( 'woo_post_image_support' ) == 'true' && ! empty( $thumb_id ) ) { + + if ( get_option( 'woo_pis_resize' ) == 'true' ) { + + if ( 0 == $height ) { + $img_data = wp_get_attachment_image_src( $thumb_id, array( intval( $width ), 9999 ) ); + $height = $img_data[2]; + } + + // Dynamically resize the post thumbnail + $vt_crop = get_option( 'woo_pis_hard_crop' ); + if ($vt_crop == 'true' ) $vt_crop = true; else $vt_crop = false; + $vt_image = vt_resize( $thumb_id, '', $width, $height, $vt_crop ); + + // Set fields for output + $custom_field = esc_url( $vt_image['url'] ); + $width = $vt_image['width']; + $height = $vt_image['height']; + + } else { + // Use predefined size string + if ( $size ) + $thumb_size = $size; + else + $thumb_size = array( $width, $height ); + + $img_link = get_the_post_thumbnail( $id, $thumb_size, array( 'class' => 'woo-image ' . esc_attr( $class ) ) ); + } + + // Grab the image from custom field + } else { + $custom_field = esc_url( get_post_meta( $id, $key, true ) ); + } + + // Automatic Image Thumbs - get first image from post attachment + if ( empty( $custom_field ) && get_option( 'woo_auto_img' ) == 'true' && empty( $img_link ) && ! ( is_singular() && in_the_loop() && $link == 'src' ) ) { + + if( $offset >= 1 ) + $repeat = $repeat + $offset; + + $attachments = get_children( array( 'post_parent' => $id, + 'numberposts' => $repeat, + 'post_type' => 'attachment', + 'post_mime_type' => 'image', + 'order' => 'DESC', + 'orderby' => 'menu_order date') + ); + + // Search for and get the post attachment + if ( ! empty( $attachments ) ) { + $counter = -1; + foreach ( $attachments as $att_id => $attachment ) { + $counter++; + if ( $counter < $offset ) + continue; + + if ( get_option( 'woo_post_image_support' ) == 'true' && get_option( 'woo_pis_resize' ) == 'true' ) { + // Dynamically resize the post thumbnail + $vt_crop = get_option( 'woo_pis_hard_crop' ); + if ( $vt_crop == 'true' ) $vt_crop = true; else $vt_crop = false; + $vt_image = vt_resize( $att_id, '', $width, $height, $vt_crop ); + + // Set fields for output + $custom_field = esc_url( $vt_image['url'] ); + $width = $vt_image['width']; + $height = $vt_image['height']; + } else { + $src = wp_get_attachment_image_src( $att_id, 'large', true ); + $custom_field = esc_url( $src[0] ); + $attachment_id[] = $att_id; + $src_arr[] = $custom_field; + } + $thumb_id = $att_id; + $is_auto_image = true; + } + + // Get the first img tag from content + } else { + + $first_img = ''; + $post = get_post( $id ); + ob_start(); + ob_end_clean(); + $output = preg_match_all( '//i', $post->post_content, $matches ); + if ( !empty($matches[1][0]) ) { + + // Save Image URL + $custom_field = esc_url( $matches[1][0] ); + + // Search for ALT tag + $output = preg_match_all( '//i', $post->post_content, $matches ); + if ( !empty($matches[1][0]) ) { + $alt = esc_attr( $matches[1][0] ); + } + } + + } + + } + + // Check if there is YouTube embed + if ( empty( $custom_field ) && empty( $img_link ) ) { + $embed = esc_html( get_post_meta( $id, 'embed', true ) ); + if ( $embed ) + $custom_field = esc_url( woo_get_video_image( $embed ) ); + } + + // Return if there is no attachment or custom field set + if ( empty( $custom_field ) && empty( $img_link ) ) { + + // Check if default placeholder image is uploaded + // $placeholder = get_option( 'framework_woo_default_image' ); + $placeholder = WF()->get_placeholder_image_url(); + if ( $placeholder && !(is_singular() && in_the_loop()) ) { + $custom_field = esc_url( $placeholder ); + + // Resize the placeholder if + if ( get_option( 'woo_post_image_support' ) == 'true' && get_option( 'woo_pis_resize' ) == 'true' ) { + // Dynamically resize the post thumbnail + $vt_crop = get_option( 'woo_pis_hard_crop' ); + if ($vt_crop == 'true' ) $vt_crop = true; else $vt_crop = false; + $vt_image = vt_resize( '', $placeholder, $width, $height, $vt_crop ); + + // Set fields for output + $custom_field = esc_url( $vt_image['url'] ); + $width = $vt_image['width']; + $height = $vt_image['height']; + } + } else { + return; + } + } + + if(empty( $src_arr ) && empty( $img_link ) ) { $src_arr[] = $custom_field; } + + /* ------------------------------------------------------------------------- */ + /* BEGIN OUTPUT */ + /* ------------------------------------------------------------------------- */ + + $output = ''; + + // Set output height and width + $set_width = ' width="' . esc_attr( $width ) . '" '; + $set_height = ''; + + if ( ! $noheight && 0 < $height ) + $set_height = ' height="' . esc_attr( $height ) . '" '; + + // Set standard class + if ( $class ) $class = 'woo-image ' . esc_attr( $class ); else $class = 'woo-image'; + + // Do check to verify if images are smaller then specified. + if($force == true){ $set_width = ''; $set_height = ''; } + + // WP Post Thumbnail + if( ! empty( $img_link ) ) { + + if( $link == 'img' ) { // Output the image without anchors + $output .= wp_kses_post( $before ); + $output .= $img_link; + $output .= wp_kses_post( $after ); + } elseif( $link == 'url' ) { // Output the large image + $src = wp_get_attachment_image_src( $thumb_id, 'large', true ); + $custom_field = esc_url( $src[0] ); + $output .= $custom_field; + } else { // Default - output with link + if ( ( is_single() || is_page() ) && $single == false ) { + $rel = 'rel="lightbox"'; + $href = false; + } else { + $href = get_permalink( $id ); + $rel = ''; + } + + $title = 'title="' . esc_attr( get_the_title( $id ) ) .'"'; + + $output .= wp_kses_post( $before ); + if($href == false){ + $output .= $img_link; + } else { + $output .= '' . $img_link . ''; + } + + $output .= wp_kses_post( $after ); + } + } + + // Use thumb.php to resize. Skip if image has been natively resized with vt_resize. Make sure thumb.php exists on purpose in a child theme. + elseif ( get_option( 'woo_resize') == 'true' && empty( $vt_image['url'] )/* && file_exists( get_stylesheet_directory_uri() . '/thumb.php' )*/ ) { + + foreach( $src_arr as $key => $custom_field ) { + + // Clean the image URL + $href = esc_url( $custom_field ); + $custom_field = cleanSource( $custom_field ); + + // Check if WPMU and set correct path AND that image isn't external + if ( function_exists( 'get_current_site') ) { + get_current_site(); + //global $blog_id; Breaks with WP3 MS + if ( !$blog_id ) { + global $current_blog; + $blog_id = $current_blog->blog_id; + } + if ( isset($blog_id) && $blog_id > 0 ) { + $imageParts = explode( 'files/', $custom_field ); + if ( isset( $imageParts[1] ) ) + $custom_field = '/blogs.dir/' . $blog_id . '/files/' . $imageParts[1]; + } + } + + //Set the ID to the Attachment's ID if it is an attachment + if($is_auto_image == true){ + $quick_id = $attachment_id[$key]; + } else { + $quick_id = $id; + } + + //Set custom meta + if ($meta) { + $alt = $meta; + $title = 'title="' . esc_attr( $meta ) . '"'; + } else { + if ( ( $alt != '' ) || ! ( $alt = get_post_meta( $thumb_id, '_wp_attachment_image_alt', true ) ) ) { + $alt = esc_attr( get_post_meta( $thumb_id, '_wp_attachment_image_alt', true ) ); + } else { + $alt = esc_attr( get_the_title( $quick_id ) ); + } + $title = 'title="'. esc_attr( get_the_title( $quick_id ) ) .'"'; + } + + // Set alignment parameter + if ( $alignment != '' ) + $alignment = '&a=' . urlencode( $alignment ); + + $img_url = esc_url( get_template_directory_uri() . '/functions/thumb.php?src=' . $custom_field . '&w=' . $width . '&h=' . $height . '&zc=1&q=' . $quality . $alignment ); + $img_link = '' . esc_attr( $alt ) . ''; + + if( $link == 'img' ) { // Just output the image + $output .= wp_kses_post( $before ); + $output .= $img_link; + $output .= wp_kses_post( $after ); + + } elseif( $link == 'url' ) { // Output the image without anchors + + if($is_auto_image == true){ + $src = wp_get_attachment_image_src($thumb_id, 'large', true); + $custom_field = esc_url( $src[0] ); + } + $output .= $href; + + } else { // Default - output with link + + if ( ( is_single() || is_page() ) && $single == false ) { + $rel = 'rel="lightbox"'; + } else { + $href = get_permalink( $id ); + $rel = ''; + } + + $output .= wp_kses_post( $before ); + $output .= '' . $img_link . ''; + $output .= wp_kses_post( $after ); + } + } + + // No dynamic resizing + } else { + foreach( $src_arr as $key => $custom_field ) { + + //Set the ID to the Attachment's ID if it is an attachment + if( $is_auto_image == true && isset( $attachment_id[$key] ) ){ + $quick_id = $attachment_id[$key]; + } else { + $quick_id = $id; + } + + //Set custom meta + if ($meta) { + $alt = esc_attr( $meta ); + $title = 'title="'. esc_attr( $meta ) .'"'; + } else { + if ( empty( $alt ) ) $alt = esc_attr( get_post_meta( $thumb_id, '_wp_attachment_image_alt', true ) ); + $title = 'title="'. esc_attr( get_the_title( $quick_id ) ) .'"'; + } + + if ( empty( $alt ) ) { + $alt = esc_attr( get_post( $thumb_id )->post_excerpt ); // If not, Use the Caption + } + + if ( empty( $alt ) ) { + $alt = esc_attr( get_post( $thumb_id )->post_title ); // Finally, use the title + } + + $img_link = '' . esc_attr( $alt ) . ''; + + if ( $link == 'img' ) { // Just output the image + $output .= wp_kses_post( $before ); + $output .= $img_link; + $output .= wp_kses_post( $after ); + + } elseif( $link == 'url' ) { // Output the URL to original image + if ( $vt_image['url'] || $is_auto_image ) { + $src = wp_get_attachment_image_src( $thumb_id, 'full', true ); + $custom_field = esc_url( $src[0] ); + } + $output .= $custom_field; + + } else { // Default - output with link + + if ( ( is_single() || is_page() ) && $single == false ) { + + // Link to the large image if single post + if ( $vt_image['url'] || $is_auto_image ) { + $src = wp_get_attachment_image_src( $thumb_id, 'full', true ); + $custom_field = esc_url( $src[0] ); + } + + $href = $custom_field; + $rel = 'rel="lightbox"'; + } else { + $href = get_permalink( $id ); + $rel = ''; + } + + $output .= wp_kses_post( $before ); + $output .= '' . $img_link . ''; + $output .= wp_kses_post( $after ); + } + } + } + + // Remove no height attribute - IE fix when no height is set + $output = str_replace( 'height=""', '', $output ); + $output = str_replace( 'height="0"', '', $output ); + + // Return or echo the output + if ( $return == TRUE ) + return $output; + else + echo $output; // Done + +} +} + +/* Get thumbnail from Video Embed code */ +if ( ! function_exists( 'woo_get_video_image' ) ) { +function woo_get_video_image( $embed ) { + $video_thumb = ''; + + // YouTube - get the video code if this is an embed code (old embed) + preg_match( '/youtube\.com\/v\/([\w\-]+)/', $embed, $match ); + + // YouTube - if old embed returned an empty ID, try capuring the ID from the new iframe embed + if( ! isset( $match[1] ) ) + preg_match( '/youtube\.com\/embed\/([\w\-]+)/', $embed, $match ); + + // YouTube - if it is not an embed code, get the video code from the youtube URL + if( ! isset( $match[1] ) ) + preg_match( '/v\=(.+)&/', $embed, $match ); + + // YouTube - get the corresponding thumbnail images + if( isset( $match[1] ) ) + $video_thumb = "http://img.youtube.com/vi/" . urlencode( $match[1] ) . "/0.jpg"; + + // return whichever thumbnail image you would like to retrieve + return $video_thumb; +} // End woo_get_video_image() +} + + +/*-----------------------------------------------------------------------------------*/ +/* vt_resize - Resize images dynamically using wp built in functions +/*-----------------------------------------------------------------------------------*/ +/* + * Resize images dynamically using wp built in functions + * Victor Teixeira + * + * php 5.2+ + * + * Exemplo de uso: + * + * + * + * + * @param int $attach_id + * @param string $img_url + * @param int $width + * @param int $height + * @param bool $crop + * @return array + */ +if ( ! function_exists( 'vt_resize' ) ) { + function vt_resize( $attach_id = null, $img_url = null, $width, $height, $crop = false ) { + + // Cast $width and $height to integer + $width = intval( $width ); + $height = intval( $height ); + + // this is an attachment, so we have the ID + if ( $attach_id ) { + $image_src = wp_get_attachment_image_src( $attach_id, 'full' ); + $file_path = get_attached_file( $attach_id ); + // this is not an attachment, let's use the image url + } else if ( $img_url ) { + $file_path = parse_url( esc_url( $img_url ) ); + $file_path = $_SERVER['DOCUMENT_ROOT'] . $file_path['path']; + + //$file_path = ltrim( $file_path['path'], '/' ); + //$file_path = rtrim( ABSPATH, '/' ).$file_path['path']; + + $orig_size = getimagesize( $file_path ); + + $image_src[0] = $img_url; + $image_src[1] = $orig_size[0]; + $image_src[2] = $orig_size[1]; + } + + $file_info = pathinfo( $file_path ); + + // check if file exists + if ( !isset( $file_info['dirname'] ) && !isset( $file_info['filename'] ) && !isset( $file_info['extension'] ) ) + return; + + $base_file = $file_info['dirname'].'/'.$file_info['filename'].'.'.$file_info['extension']; + if ( !file_exists($base_file) ) + return; + + $extension = '.'. $file_info['extension']; + + // the image path without the extension + $no_ext_path = $file_info['dirname'].'/'.$file_info['filename']; + + $cropped_img_path = $no_ext_path.'-'.$width.'x'.$height.$extension; + + // checking if the file size is larger than the target size + // if it is smaller or the same size, stop right here and return + if ( $image_src[1] > $width ) { + // the file is larger, check if the resized version already exists (for $crop = true but will also work for $crop = false if the sizes match) + if ( file_exists( $cropped_img_path ) ) { + $cropped_img_url = str_replace( basename( $image_src[0] ), basename( $cropped_img_path ), $image_src[0] ); + + $vt_image = array ( + 'url' => $cropped_img_url, + 'width' => $width, + 'height' => $height + ); + return $vt_image; + } + + // $crop = false or no height set + if ( $crop == false OR !$height ) { + // calculate the size proportionaly + $proportional_size = wp_constrain_dimensions( $image_src[1], $image_src[2], $width, $height ); + $resized_img_path = $no_ext_path.'-'.$proportional_size[0].'x'.$proportional_size[1].$extension; + + // checking if the file already exists + if ( file_exists( $resized_img_path ) ) { + $resized_img_url = str_replace( basename( $image_src[0] ), basename( $resized_img_path ), $image_src[0] ); + + $vt_image = array ( + 'url' => $resized_img_url, + 'width' => $proportional_size[0], + 'height' => $proportional_size[1] + ); + return $vt_image; + } + } + + // check if image width is smaller than set width + $img_size = getimagesize( $file_path ); + if ( $img_size[0] <= $width ) $width = $img_size[0]; + + // Check if GD Library installed + if ( ! function_exists ( 'imagecreatetruecolor' ) ) { + echo 'GD Library Error: imagecreatetruecolor does not exist - please contact your webhost and ask them to install the GD library'; + return; + } + + // no cache files - let's finally resize it + if ( function_exists( 'wp_get_image_editor' ) ) { + $image = wp_get_image_editor( $file_path ); + if ( ! is_wp_error( $image ) ) { + $image->resize( $width, $height, $crop ); + $save_data = $image->save(); + if ( isset( $save_data['path'] ) ) $new_img_path = $save_data['path']; + } + } else { + $new_img_path = image_resize( $file_path, $width, $height, $crop ); + } + + $new_img_size = getimagesize( $new_img_path ); + $new_img = str_replace( basename( $image_src[0] ), basename( $new_img_path ), $image_src[0] ); + + // resized output + $vt_image = array ( + 'url' => $new_img, + 'width' => $new_img_size[0], + 'height' => $new_img_size[1] + ); + + return $vt_image; + } + + // default output - without resizing + $vt_image = array ( + 'url' => $image_src[0], + 'width' => $width, + 'height' => $height + ); + + return $vt_image; + } +} + +/*-----------------------------------------------------------------------------------*/ +/* Depreciated - woo_get_image - Get Image from custom field */ +/*-----------------------------------------------------------------------------------*/ + +// Depreciated +function woo_get_image($key = 'image', $width = null, $height = null, $class = "thumbnail", $quality = 90,$id = null,$link = 'src',$repeat = 1,$offset = 0,$before = '', $after = '',$single = false, $force = false, $return = false) { + // Run new function + woo_image( 'key='.$key.'&width='.$width.'&height='.$height.'&class='.$class.'&quality='.$quality.'&id='.$id.'&link='.$link.'&repeat='.$repeat.'&offset='.$offset.'&before='.$before.'&after='.$after.'&single='.$single.'&fore='.$force.'&return='.$return ); + return; +} // End woo_get_image() + +/*-----------------------------------------------------------------------------------*/ +/* woo_embed - Get Video embed code from custom field */ +/*-----------------------------------------------------------------------------------*/ + +/* +Get Video +This function gets the embed code from the custom field +Parameters: + $key = Custom field key eg. "embed" + $width = Set width manually without using $type + $height = Set height manually without using $type + $class = Custom class to apply to wrapping div + $id = ID from post to pull custom field from +*/ + +if ( ! function_exists( 'woo_embed' ) ) { +function woo_embed( $args ) { + //Defaults + $key = 'embed'; + $width = null; + $height = null; + $class = 'video'; + $id = null; + $preserve_dimensions = false; + + if ( ! is_array( $args ) ) + parse_str( $args, $args ); + + extract( $args ); + + if( empty( $id ) ) { + global $post; + $id = $post->ID; + } + +// Cast $width and $height to integer +$width = intval( $width ); +$height = intval( $height ); + +$custom_field = esc_textarea( get_post_meta( $id, $key, true ) ); +if ( $custom_field ) : + $custom_field = html_entity_decode( $custom_field ); // Decode HTML entities. + + // Only run oEmbed checks if we definitely don't have any HTML tags in the field. + if ( $custom_field == strip_tags( $custom_field ) ) { + $custom_field = wp_oembed_get( $custom_field ); + } + + // If we definitely don't have a video, get out. + if ( '' == $custom_field ) return false; + + // Store dimensions that were passed through the arguments. + $org_width = $width; + $org_height = $height; + + // Store the dimensions present in the embed code. + $embed_width = ''; + $embed_height = ''; + + $raw_values = explode( ' ', $custom_field ); + + if ( 0 < count( $raw_values ) ) { + foreach ( $raw_values as $raw ) { + $embed_params = explode( '=', $raw ); + if ( 'width' == $embed_params[0] ) { + $embed_width = preg_replace( '/[^0-9]/', '', $embed_params[1]); + } elseif ( 'height' == $embed_params[0] ) { + $embed_height = preg_replace( '/[^0-9]/', '', $embed_params[1]); + } + } + } + + // If we have a width and no height, calculate the height. + if ( '' == $org_height && '' != $org_width ) { + // Store a calculated height ratio. + $calculated_height = ''; + + $float_width = floatval( $embed_width ); + $float_height = floatval( $embed_height ); + $float_ratio = floatval( $float_height / $float_width ); + $calculated_height = intval( $float_ratio * $width ); + + // Set the height. + $height = $calculated_height; + } + + // Custom height check (last minute). + if ( 0 >= intval( $width ) ) $width = intval( ( get_post_meta( $id, 'width', true ) ) ); + if ( 0 >= intval( $height ) ) $height = intval( get_post_meta( $id, 'height', true ) ); + + $atts = array( 'width' => $width, 'height' => $height ); + $styles = array(); + $styles_string = ''; + + if ( 0 < count( $atts ) ) { + foreach ( $atts as $k => $v ) { + $atts[$k] = $k . '="' . esc_attr( $v ) . '"'; + $styles_string .= $k . ':' . intval( $v ) . 'px;'; + } + } + + if ( '' != $styles_string ) { + $styles_string = ' style="' . $styles_string . '"'; + } + + $custom_field = stripslashes( $custom_field ); + if ( true != $preserve_dimensions ) { + $custom_field = preg_replace( '/width="([0-9]*)"/' , $atts['width'], $custom_field ); + $custom_field = preg_replace( '/height="([0-9]*)"/' , $atts['height'], $custom_field ); + $custom_field = str_replace( ' src="', $styles_string . ' src="', $custom_field ); + } + + // Suckerfish menu hack + $custom_field = str_replace( '' . $custom_field . '
                    '; + + return apply_filters( 'woo_embed', $output ); +else : + return false; +endif; +} +} + +/*-----------------------------------------------------------------------------------*/ +/* Add default filters to woo_embed() */ +/*-----------------------------------------------------------------------------------*/ + +add_filter( 'woo_embed', 'do_shortcode' ); + +/*-----------------------------------------------------------------------------------*/ +/* Depreciated - woo_get_embed - Get Video embed code from custom field */ +/*-----------------------------------------------------------------------------------*/ +// Depreciated +function woo_get_embed( $key = 'embed', $width, $height, $class = 'video', $id = null, $preserve_dimensions = false ) { + // Run new function + return woo_embed( 'key=' . $key . '&width=' . $width . '&height=' . $height . '&class=' . $class . '&id=' . $id . '&preserve_dimensions=' . $preserve_dimensions ); +} // End woo_get_embed() + +/*-----------------------------------------------------------------------------------*/ +/* Woo Show Page Menu */ +/*-----------------------------------------------------------------------------------*/ +// Show menu in header.php +// Exlude the pages from the slider +function woo_show_pagemenu( $exclude = '' ) { + // Split the featured pages from the options, and put in an array + if ( get_option( 'woo_ex_featpages') ) { + $menupages = get_option( 'woo_featpages' ); + $exclude = $menupages . ',' . $exclude; + } + + $pages = wp_list_pages( 'sort_column=menu_order&title_li=&echo=0&depth=1&exclude=' . $exclude ); + $pages = preg_replace( '%]+)>%U','', $pages ); + $pages = str_replace( '','', $pages ); + echo $pages; +} // End woo_show_pagemenu() + +/*-----------------------------------------------------------------------------------*/ +/* Get the style path currently selected */ +/*-----------------------------------------------------------------------------------*/ +function woo_style_path() { + $return = ''; + + $style = $_REQUEST['style']; + + // Sanitize request input. + $style = esc_attr( strtolower( trim( strip_tags( $style ) ) ) ); + + if ( $style != '' ) { + $style_path = $style; + } else { + $stylesheet = esc_attr( get_option( 'woo_alt_stylesheet' ) ); + + // Prevent against an empty return to $stylesheet. + if ( $stylesheet == '' ) { + $stylesheet = 'default.css'; + } + + $style_path = str_replace( '.css', '', $stylesheet ); + } + + if ( $style_path == 'default' ) { + $return = 'images'; + } else { + $return = 'styles/' . $style_path; + } + + echo esc_html( $return ); +} // End woo_style_path() + + +/*-----------------------------------------------------------------------------------*/ +/* Get page ID */ +/*-----------------------------------------------------------------------------------*/ +function get_page_id( $page_slug ) { + $page_id = get_page_by_path( $page_slug ); + if ($page_id) { + return $page_id->ID; + } else { + return null; + } +} // End get_page_id() + +/*-----------------------------------------------------------------------------------*/ +/* Tidy up the image source url */ +/*-----------------------------------------------------------------------------------*/ +function cleanSource( $src ) { + // remove slash from start of string + if(strpos($src, "/") == 0) { + $src = substr($src, -(strlen($src) - 1)); + } + + // Check if same domain so it doesn't strip external sites + $host = str_replace( 'www.', '', $_SERVER['HTTP_HOST'] ); + if ( ! strpos( $src, $host ) ) + return $src; + + + $regex = "/^((ht|f)tp(s|):\/\/)(www\.|)" . $host . "/i"; + $src = preg_replace ( $regex, '', $src ); + $src = htmlentities ( $src ); + + // remove slash from start of string + if ( strpos( $src, '/' ) === 0 ) { + $src = substr ( $src, -( strlen( $src ) - 1 ) ); + } + + return $src; +} // End cleanSource() + +/*-----------------------------------------------------------------------------------*/ +/* Show image in RSS feed */ +/* Original code by Justin Tadlock */ +/*-----------------------------------------------------------------------------------*/ +if ( 'true' == get_option( 'woo_rss_thumb', false ) || true == apply_filters( 'wf_add_image_to_rss', false ) ) { + if ( get_option( 'rss_use_excerpt' ) ) + add_filter( 'the_excerpt_rss', 'add_image_RSS' ); + else + add_filter( 'the_content_feed', 'add_image_RSS' ); +} + +/** + * Maybe add the featured image to the RSS feed. + * @param string $content The content of the specified RSS feed item. + * @since 1.0.0 + * @return string + */ +function add_image_RSS ( $content ) { + if ( ! is_feed() ) return $content; + global $post, $id; + + // Get the "image" from custom field + $image = woo_image( 'return=true&link=url' ); + $image_width = intval( apply_filters( 'wf_add_image_to_rss_width', 240 ) ); + + // If there's an image, display the image with the content + if( '' != $image ) { + $content = '

                    + +

                    ' . $content; + } + return $content; +} // End add_image_RSS() + + + +/*-----------------------------------------------------------------------------------*/ +/* Show analytics code in footer */ +/*-----------------------------------------------------------------------------------*/ +function woo_analytics(){ + $output = get_option( 'woo_google_analytics' ); + if ( $output != '' ) + echo stripslashes( $output ) . "\n"; +} // End woo_analytics() +add_action( 'wp_footer','woo_analytics' ); + + + +/*-----------------------------------------------------------------------------------*/ +/* Browser detection body_class() output */ +/*-----------------------------------------------------------------------------------*/ +add_filter( 'body_class','browser_body_class' ); +function browser_body_class( $classes ) { + global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone; + + if($is_lynx) $classes[] = 'lynx'; + elseif($is_gecko) $classes[] = 'gecko'; + elseif($is_opera) $classes[] = 'opera'; + elseif($is_NS4) $classes[] = 'ns4'; + elseif($is_safari) $classes[] = 'safari'; + elseif($is_chrome) $classes[] = 'chrome'; + elseif($is_IE) { + $browser = $_SERVER['HTTP_USER_AGENT']; + $browser = substr( "$browser", 25, 8); + if ($browser == "MSIE 7.0" ) { + $classes[] = 'ie7'; + $classes[] = 'ie'; + } elseif ($browser == "MSIE 6.0" ) { + $classes[] = 'ie6'; + $classes[] = 'ie'; + } elseif ($browser == "MSIE 8.0" ) { + $classes[] = 'ie8'; + $classes[] = 'ie'; + } elseif ($browser == "MSIE 9.0" ) { + $classes[] = 'ie9'; + $classes[] = 'ie'; + } else { + $classes[] = 'ie'; + } + } + else $classes[] = 'unknown'; + + if( $is_iphone ) $classes[] = 'iphone'; + + // Alternative style body class. + $style = get_option( 'woo_alt_stylesheet', 'default' ); + $style = str_replace( '.css', '', $style ); + if ( '' != $style ) { + $classes[] = 'alt-style-' . esc_attr( $style ); + } + return $classes; +} // End browser_body_class() + +/*-----------------------------------------------------------------------------------*/ +/* Twitter's Blogger.js output for Twitter widgets */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_twitter_script' ) ) { + function woo_twitter_script() { + _deprecated_function( __FUNCTION__, '6.0.0', __( 'WooDojo Twitter widgets.', 'woothemes' ) ); + return false; + } // End woo_twitter_script() +} + +/*-----------------------------------------------------------------------------------*/ +/* Deprecated: Template Detector */ +/*-----------------------------------------------------------------------------------*/ +function woo_active_template( $filename = null ) { + _deprecated_function( __FUNCTION__, '5.4.0' ); + return false; // No $filename argument was set +} // End woo_active_template() + +/*-----------------------------------------------------------------------------------*/ +/* WooFramework Update Page */ +/*-----------------------------------------------------------------------------------*/ + +function woothemes_framework_update_page() { + // Clear transients. + delete_transient( 'woo_framework_critical_update' ); + delete_transient( 'woo_framework_critical_update_data' ); + delete_transient( 'wooframework_version_data' ); + + $method = get_filesystem_method(); + + $to = ABSPATH . 'wp-content/themes/' . get_option( 'template' ) . '/functions/'; + if(isset($_POST['password'])){ + + $cred = $_POST; + $filesystem = WP_Filesystem($cred); + + } + elseif(isset($_POST['woo_ftp_cred'])){ + + $cred = unserialize(base64_decode($_POST['woo_ftp_cred'])); + $filesystem = WP_Filesystem($cred); + + } else { + + $filesystem = WP_Filesystem(); + + }; + $url = admin_url( 'admin.php?page=woothemes_framework_update' ); + ?> +
                    + + +

                    + +
                    + + + +

                    +

                    +

                    +

                    Your version:

                    + +

                    Current Version:

                    + + +

                    You have the latest version of WooFramework

                    +

                    Your version:

                    + +

                    + + + +
                    + +
                    +

                    Failed: Filesystem preventing downloads. ( ". $method .")

                    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_filesystem_warning' ); + return; + } + if(isset($_REQUEST['woo_update_save'])){ + + // Sanitize action being requested. + $_action = esc_attr( $_REQUEST['woo_update_save'] ); + + if( $_action == 'save' ) { + + $temp_file_addr = download_url( esc_url( 'http://wooframework.s3.amazonaws.com/latest/framework.zip' ) ); + + if ( is_wp_error($temp_file_addr) ) { + + $error = esc_html( $temp_file_addr->get_error_code() ); + + if( $error == 'http_no_url' ) { + //The source file was not found or is invalid + function woothemes_framework_update_missing_source_warning() { + echo "

                    Failed: Invalid URL Provided

                    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_missing_source_warning' ); + } else { + function woothemes_framework_update_other_upload_warning() { + echo "

                    Failed: Upload - $error

                    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_other_upload_warning' ); + + } + + return; + + } + //Unzip it + global $wp_filesystem; + $to = $wp_filesystem->wp_content_dir() . "/themes/" . get_option( 'template' ) . "/functions/"; + + $dounzip = unzip_file($temp_file_addr, $to); + + unlink($temp_file_addr); // Delete Temp File + + if ( is_wp_error($dounzip) ) { + + //DEBUG + $error = esc_html( $dounzip->get_error_code() ); + $data = $dounzip->get_error_data($error); + //echo $error. ' - '; + //print_r($data); + + if($error == 'incompatible_archive') { + //The source file was not found or is invalid + function woothemes_framework_update_no_archive_warning() { + echo "

                    Failed: Incompatible archive

                    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_no_archive_warning' ); + } + if($error == 'empty_archive') { + function woothemes_framework_update_empty_archive_warning() { + echo "

                    Failed: Empty Archive

                    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_empty_archive_warning' ); + } + if($error == 'mkdir_failed') { + function woothemes_framework_update_mkdir_warning() { + echo "

                    Failed: mkdir Failure

                    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_mkdir_warning' ); + } + if($error == 'copy_failed') { + function woothemes_framework_update_copy_fail_warning() { + echo "

                    Failed: Copy Failed

                    "; + } + add_action( 'admin_notices', 'woothemes_framework_update_copy_fail_warning' ); + } + + return; + + } + + function woothemes_framework_updated_success() { + echo "

                    New framework successfully downloaded, extracted and updated.

                    "; + } + + add_action( 'admin_notices', 'woothemes_framework_updated_success' ); + + } + } + } //End user input save part of the update + } +} + +add_action( 'admin_head', 'woothemes_framework_update_head' ); + +/*-----------------------------------------------------------------------------------*/ +/* WooFramework Version Getter */ +/*-----------------------------------------------------------------------------------*/ + +function woo_get_fw_version( $url = '', $check_if_critical = false ) { + + if( ! empty( $url ) ) { + $fw_url = $url; + } else { + $fw_url = 'http://wooframework.s3.amazonaws.com/latest/functions-changelog.txt'; + } + + $output = array( 'version' => '', 'is_critical' => false ); + + $version_data = get_transient( 'wooframework_version_data' ); + + if ( $version_data != '' && $check_if_critical == false ) { return $version_data; } + + $temp_file_addr = download_url( $fw_url ); + if( ! is_wp_error( $temp_file_addr ) && $file_contents = file( $temp_file_addr ) ) { + foreach ( $file_contents as $line_num => $line ) { + $current_line = $line; + + if( $line_num > 1 ) { // Not the first or second... dodgy :P + + if ( preg_match( '/^[0-9]/', $line ) ) { + + // Do critical update check. + if ( $check_if_critical && ( strtolower( trim( substr( $line, -10 ) ) ) == 'critical' ) ) { + $output['is_critical'] = true; + } + + $current_line = stristr( $current_line, 'version' ); + $current_line = preg_replace( '~[^0-9,.]~','',$current_line ); + $output['version'] = $current_line; + break; + } + } + } + unlink( $temp_file_addr ); + } else { + $output['version'] = get_option( 'woo_framework_version' ); + } + + // Set the transient containing the latest version number. + set_transient( 'wooframework_version_data', $output , 60*60*24 ); + + return $output; +} // End woo_get_fw_version() + + +/*-----------------------------------------------------------------------------------*/ +/* WooFramework Version Checker */ +/*-----------------------------------------------------------------------------------*/ + +function woo_framework_version_checker( $local_version, $check_if_critical = false ) { + $data = array( 'is_update' => false, 'version' => '1.0.0', 'status' => 'none' ); + + if ( ! $local_version ) { return $data; } + + $version_data = woo_get_fw_version( '', $check_if_critical ); + + $check = version_compare( $version_data['version'], $local_version ); // Returns 1 if there is an update available. + + if ( $check == 1 ) { + $data['is_update'] = true; + $data['version'] = $version_data['version']; + $data['is_critical'] = $version_data['is_critical']; + } + + return $data; +} // End woo_framework_version_checker() + +/*-----------------------------------------------------------------------------------*/ +/* Woo URL shortener */ +/*-----------------------------------------------------------------------------------*/ + +function woo_short_url($url) { + _deprecated_function( __FUNCTION__, '6.0.0', __( 'Shortlinks feature in WooDojo.', 'woothemes' ) ); + + $service = get_option( 'woo_url_shorten' ); + $bitlyapilogin = get_option( 'woo_bitly_api_login' );; + $bitlyapikey = get_option( 'woo_bitly_api_key' );; + if (isset($service)) { + switch ($service) + { + case 'TinyURL': + $shorturl = getTinyUrl($url); + break; + case 'Bit.ly': + if (isset($bitlyapilogin) && isset($bitlyapikey) && ($bitlyapilogin != '') && ($bitlyapikey != '')) { + $shorturl = make_bitly_url($url,$bitlyapilogin,$bitlyapikey,'json' ); + } + else { + $shorturl = getTinyUrl($url); + } + break; + case 'Off': + $shorturl = $url; + break; + default: + $shorturl = $url; + break; + } + } + else { + $shorturl = $url; + } + return $shorturl; +} + +//TinyURL +function getTinyUrl($url) { + _deprecated_function( __FUNCTION__, '6.0.0', __( 'Shortlinks feature in WooDojo.', 'woothemes' ) ); + + $tinyurl = file_get_contents_curl( "http://tinyurl.com/api-create.php?url=".$url); + return $tinyurl; +} + +//Bit.ly +function make_bitly_url($url,$login,$appkey,$format = 'xml',$version = '2.0.1') { + _deprecated_function( __FUNCTION__, '6.0.0', __( 'Shortlinks feature in WooDojo.', 'woothemes' ) ); + //create the URL + $bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$appkey.'&format='.$format; + + //get the url + //could also use cURL here + $response = file_get_contents_curl($bitly); + + //parse depending on desired format + if(strtolower($format) == 'json') + { + $json = @json_decode($response,true); + return $json['results'][$url]['shortUrl']; + } + else //xml + { + $xml = simplexml_load_string($response); + return 'http://bit.ly/'.$xml->results->nodeKeyVal->hash; + } +} + +//Alternative CURL function +function file_get_contents_curl($url) { + if ( $url == '' || $url == null ) { return ''; } + $data = ''; + + $response = wp_remote_get( $url ); + + if ( is_wp_error( $response ) ) { + $data = $url; + } else { + $data = $response['body']; + } + + return $data; +} // End file_get_contents_curl() + +// Checks for presence of the cURL extension. +function _iscurlinstalled() { + if (in_array ( 'curl', get_loaded_extensions())) { + if (function_exists( 'curl_init')) { + return true; + } else { + return false; + } + } + else{ + if (function_exists( 'curl_init')) { + return true; + } else { + return false; + } + } +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_title() */ +/*-----------------------------------------------------------------------------------*/ + +/** + * Display or return the title for the current screen. + * @since 1.0.0 + * @param boolean $echo Whether or not to echo the title. Default: true. + * @return string The title. + */ +if ( ! function_exists( 'woo_title' ) ) { +function woo_title ( $echo = true ) { + // If the parameter isn't a boolean, set it to the default value. + if ( ! is_bool( $echo ) ) { + $echo = true; + } + $sep = '|'; + $raw_title = wp_title( $sep, false, 'right' ); + + // Allow child themes/plugins to filter the title value. + $title = apply_filters( 'woo_title', $raw_title, $sep, $raw_title ); + if ( true == $echo ) echo $title; + return $title; +} // End woo_title() +} + +if ( ! function_exists( 'wf_add_blog_name_to_title' ) ) { +/** + * Add the site title to the woo_title() text. + * @since 6.0.0 + * @param string $title Existing title value. + * @param string $sep Separator string. + * @param string $raw_title Raw title value. + * @return string Modified title. + */ +function wf_add_blog_name_to_title ( $title, $sep, $raw_title ) { + $site_title = get_bloginfo( 'name' ); + $title .= apply_filters( 'wf_add_blog_name_to_title', $site_title ); + return $title; +} // End wf_add_blog_name_to_title() +} + +if ( ! function_exists( 'wf_maybe_add_page_number_to_title' ) ) { +/** + * Maybe add the page number, if paginating, to the woo_title() text. + * @since 6.0.0 + * @param string $title Existing title value. + * @param string $sep Separator string. + * @param string $raw_title Raw title value. + * @return string Modified title. + */ +function wf_maybe_add_page_number_to_title ( $title, $sep, $raw_title ) { + if ( is_paged() ) { + $page = intval( get_query_var( 'page' ) ); + $paged = intval( get_query_var( 'paged' ) ); + $page_number = $paged; + if ( 0 < $page ) { + $page_number = $page; + } + + $title .= apply_filters( 'wf_maybe_add_page_number_to_title', ' ' . $sep . ' ' . sprintf( __( 'Page %s', 'woothemes' ), intval( $page_number ) ) ); + } + return $title; +} // End wf_maybe_add_page_number_to_title() +} + +if ( ! class_exists( 'WPSEO_Frontend' ) && ! defined( 'WPSEO_VERSION' ) ) { + add_filter( 'woo_title', 'wf_add_blog_name_to_title', 10, 3 ); + add_filter( 'woo_title', 'wf_maybe_add_page_number_to_title', 10, 3 ); +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_meta() */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_meta' ) ) { +/** + * Display meta tags. + * @since 1.0.0 + * @return void + */ +function woo_meta () { + echo '' . "\n"; + + do_action( 'woo_meta' ); +} // End woo_meta() +} + +/*-----------------------------------------------------------------------------------*/ +/* Woo Text Trimmer */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_text_trim' ) ) { + function woo_text_trim( $text, $words = 50 ) { + $matches = preg_split( "/\s+/", $text, $words + 1); + $sz = count($matches); + if ($sz > $words) + { + unset($matches[$sz-1]); + return implode( ' ',$matches)." ..."; + } + return $text; + } // End woo_text_trim() +} + +/*-----------------------------------------------------------------------------------*/ +/* Google Webfonts Array */ +/* Documentation: +/* +/* name: The name of the Google Font. +/* variant: The Google Font API variants available for the font. +/*-----------------------------------------------------------------------------------*/ + +// Available Google webfont names +$GLOBALS['google_fonts'] = wf_get_google_fonts(); + +/** + * Return a filtered array of possible system fonts. + * @since 6.0.0 + * @return array Possible system fonts. + */ +function wf_get_system_fonts () { + return (array)apply_filters( 'wf_get_system_fonts', array( + 'Arial, sans-serif' => __( 'Arial', 'woothemes' ), + 'Verdana, Geneva, sans-serif' => __( 'Verdana', 'woothemes' ), + '"Trebuchet MS", Tahoma, sans-serif' => __( 'Trebuchet', 'woothemes' ), + 'Georgia, serif' => __( 'Georgia', 'woothemes' ), + '"Times New Roman", serif' => __( 'Times New Roman', 'woothemes' ), + 'Tahoma, Geneva, Verdana, sans-serif' => __( 'Tahoma', 'woothemes' ), + 'Palatino, "Palatino Linotype", serif' => __( 'Palatino', 'woothemes' ), + '"Helvetica Neue", Helvetica, sans-serif' => __( 'Helvetica *', 'woothemes' ), + 'Calibri, Candara, Segoe, Optima, sans-serif' => __( 'Calibri *', 'woothemes' ), + '"Myriad Pro", Myriad, sans-serif' => __( 'Myriad Pro *', 'woothemes' ), + '"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif' => __( 'Lucida', 'woothemes' ), + '"Arial Black", sans-serif' => __( 'Arial Black', 'woothemes' ), + '"Gill Sans", "Gill Sans MT", Calibri, sans-serif' => __( 'Gill Sans *', 'woothemes' ), + 'Geneva, Tahoma, Verdana, sans-serif' => __( 'Geneva *', 'woothemes' ), + 'Impact, Charcoal, sans-serif' => __( 'Impact', 'woothemes' ), + 'Courier, "Courier New", monospace' => __( 'Courier', 'woothemes' ), + '"Century Gothic", sans-serif' => __( 'Century Gothic', 'woothemes' ) + ) + ); +} // End wf_get_system_fonts() + +/** + * Return a filtered array of possible system fonts test cases. + * @since 6.0.0 + * @return array Possible system fonts test cases. + */ +function wf_get_system_fonts_test_cases () { + // The test case should always correspond to the text before the first comma in the array key. + return (array)apply_filters( 'wf_get_system_fonts_test_cases', array( + 'Arial, sans-serif' => 'Arial', + 'Verdana, Geneva, sans-serif' => 'Verdana', + '"Trebuchet MS", Tahoma, sans-serif' => 'Trebuchet MS', + 'Georgia, serif' => 'Georgia', + '"Times New Roman", serif' => 'Times New Roman', + 'Tahoma, Geneva, Verdana, sans-serif' => 'Tahoma', + 'Palatino, "Palatino Linotype", serif' => 'Palatino', + '"Helvetica Neue", Helvetica, sans-serif' => 'Helvetica Neue', + 'Calibri, Candara, Segoe, Optima, sans-serif' => 'Calibri', + '"Myriad Pro", Myriad, sans-serif' => 'Myriad Pro', + '"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif' => 'Lucida Grande', + '"Arial Black", sans-serif' => 'Arial Black', + '"Gill Sans", "Gill Sans MT", Calibri, sans-serif' => 'Gill Sans', + 'Geneva, Tahoma, Verdana, sans-serif' => 'Geneva', + 'Impact, Charcoal, sans-serif' => 'Impact', + 'Courier, "Courier New", monospace' => 'Courier', + '"Century Gothic", sans-serif' => 'Century Gothic' + ) + ); +} // End wf_get_system_fonts_test_cases() + +/** + * Return a filtered array of Google WebFonts. + * @since 6.0.0 + * @return array Google WebFonts. + */ +function wf_get_google_fonts () { + return (array)apply_filters( 'wf_get_google_fonts', wf_get_google_fonts_store() ); +} // End wf_get_google_fonts() + +/** + * Return a raw array of Google WebFonts. + * @since 6.0.0 + * @return array Google WebFonts. + */ +function wf_get_google_fonts_store () { + $google_fonts = array ( + array( 'name' => 'ABeeZee', 'variant' => ':regular,:italic' ), + array( 'name' => 'Abel', 'variant' => ':regular' ), + array( 'name' => 'Abril Fatface', 'variant' => ':regular' ), + array( 'name' => 'Aclonica', 'variant' => ':regular' ), + array( 'name' => 'Acme', 'variant' => ':regular' ), + array( 'name' => 'Actor', 'variant' => ':regular' ), + array( 'name' => 'Adamina', 'variant' => ':regular' ), + array( 'name' => 'Advent Pro', 'variant' => ':100,:200,:300,:regular,:500,:600,:700' ), + array( 'name' => 'Aguafina Script', 'variant' => ':regular' ), + array( 'name' => 'Akronim', 'variant' => ':regular' ), + array( 'name' => 'Aladin', 'variant' => ':regular' ), + array( 'name' => 'Aldrich', 'variant' => ':regular' ), + array( 'name' => 'Alef', 'variant' => ':regular,:700' ), + array( 'name' => 'Alegreya', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Alegreya SC', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Alegreya Sans', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:500,:500italic,:700,:700italic,:800,:800italic,:900,:900italic' ), + array( 'name' => 'Alegreya Sans SC', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:500,:500italic,:700,:700italic,:800,:800italic,:900,:900italic' ), + array( 'name' => 'Alex Brush', 'variant' => ':regular' ), + array( 'name' => 'Alfa Slab One', 'variant' => ':regular' ), + array( 'name' => 'Alice', 'variant' => ':regular' ), + array( 'name' => 'Alike', 'variant' => ':regular' ), + array( 'name' => 'Alike Angular', 'variant' => ':regular' ), + array( 'name' => 'Allan', 'variant' => ':regular,:700' ), + array( 'name' => 'Allerta', 'variant' => ':regular' ), + array( 'name' => 'Allerta Stencil', 'variant' => ':regular' ), + array( 'name' => 'Allura', 'variant' => ':regular' ), + array( 'name' => 'Almendra', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Almendra Display', 'variant' => ':regular' ), + array( 'name' => 'Almendra SC', 'variant' => ':regular' ), + array( 'name' => 'Amarante', 'variant' => ':regular' ), + array( 'name' => 'Amaranth', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Amatic SC', 'variant' => ':regular,:700' ), + array( 'name' => 'Amethysta', 'variant' => ':regular' ), + array( 'name' => 'Anaheim', 'variant' => ':regular' ), + array( 'name' => 'Andada', 'variant' => ':regular' ), + array( 'name' => 'Andika', 'variant' => ':regular' ), + array( 'name' => 'Angkor', 'variant' => ':regular' ), + array( 'name' => 'Annie Use Your Telescope', 'variant' => ':regular' ), + array( 'name' => 'Anonymous Pro', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Antic', 'variant' => ':regular' ), + array( 'name' => 'Antic Didone', 'variant' => ':regular' ), + array( 'name' => 'Antic Slab', 'variant' => ':regular' ), + array( 'name' => 'Anton', 'variant' => ':regular' ), + array( 'name' => 'Arapey', 'variant' => ':regular,:italic' ), + array( 'name' => 'Arbutus', 'variant' => ':regular' ), + array( 'name' => 'Arbutus Slab', 'variant' => ':regular' ), + array( 'name' => 'Architects Daughter', 'variant' => ':regular' ), + array( 'name' => 'Archivo Black', 'variant' => ':regular' ), + array( 'name' => 'Archivo Narrow', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Arimo', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Arizonia', 'variant' => ':regular' ), + array( 'name' => 'Armata', 'variant' => ':regular' ), + array( 'name' => 'Artifika', 'variant' => ':regular' ), + array( 'name' => 'Arvo', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Asap', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Asset', 'variant' => ':regular' ), + array( 'name' => 'Astloch', 'variant' => ':regular,:700' ), + array( 'name' => 'Asul', 'variant' => ':regular,:700' ), + array( 'name' => 'Atomic Age', 'variant' => ':regular' ), + array( 'name' => 'Aubrey', 'variant' => ':regular' ), + array( 'name' => 'Audiowide', 'variant' => ':regular' ), + array( 'name' => 'Autour One', 'variant' => ':regular' ), + array( 'name' => 'Average', 'variant' => ':regular' ), + array( 'name' => 'Average Sans', 'variant' => ':regular' ), + array( 'name' => 'Averia Gruesa Libre', 'variant' => ':regular' ), + array( 'name' => 'Averia Libre', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic' ), + array( 'name' => 'Averia Sans Libre', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic' ), + array( 'name' => 'Averia Serif Libre', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic' ), + array( 'name' => 'Bad Script', 'variant' => ':regular' ), + array( 'name' => 'Balthazar', 'variant' => ':regular' ), + array( 'name' => 'Bangers', 'variant' => ':regular' ), + array( 'name' => 'Basic', 'variant' => ':regular' ), + array( 'name' => 'Battambang', 'variant' => ':regular,:700' ), + array( 'name' => 'Baumans', 'variant' => ':regular' ), + array( 'name' => 'Bayon', 'variant' => ':regular' ), + array( 'name' => 'Belgrano', 'variant' => ':regular' ), + array( 'name' => 'Belleza', 'variant' => ':regular' ), + array( 'name' => 'BenchNine', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Bentham', 'variant' => ':regular' ), + array( 'name' => 'Berkshire Swash', 'variant' => ':regular' ), + array( 'name' => 'Bevan', 'variant' => ':regular' ), + array( 'name' => 'Bigelow Rules', 'variant' => ':regular' ), + array( 'name' => 'Bigshot One', 'variant' => ':regular' ), + array( 'name' => 'Bilbo', 'variant' => ':regular' ), + array( 'name' => 'Bilbo Swash Caps', 'variant' => ':regular' ), + array( 'name' => 'Bitter', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Black Ops One', 'variant' => ':regular' ), + array( 'name' => 'Bokor', 'variant' => ':regular' ), + array( 'name' => 'Bonbon', 'variant' => ':regular' ), + array( 'name' => 'Boogaloo', 'variant' => ':regular' ), + array( 'name' => 'Bowlby One', 'variant' => ':regular' ), + array( 'name' => 'Bowlby One SC', 'variant' => ':regular' ), + array( 'name' => 'Brawler', 'variant' => ':regular' ), + array( 'name' => 'Bree Serif', 'variant' => ':regular' ), + array( 'name' => 'Bubblegum Sans', 'variant' => ':regular' ), + array( 'name' => 'Bubbler One', 'variant' => ':regular' ), + array( 'name' => 'Buda', 'variant' => ':300' ), + array( 'name' => 'Buenard', 'variant' => ':regular,:700' ), + array( 'name' => 'Butcherman', 'variant' => ':regular' ), + array( 'name' => 'Butterfly Kids', 'variant' => ':regular' ), + array( 'name' => 'Cabin', 'variant' => ':regular,:italic,:500,:500italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Cabin Condensed', 'variant' => ':regular,:500,:600,:700' ), + array( 'name' => 'Cabin Sketch', 'variant' => ':regular,:700' ), + array( 'name' => 'Caesar Dressing', 'variant' => ':regular' ), + array( 'name' => 'Cagliostro', 'variant' => ':regular' ), + array( 'name' => 'Calligraffitti', 'variant' => ':regular' ), + array( 'name' => 'Cambo', 'variant' => ':regular' ), + array( 'name' => 'Candal', 'variant' => ':regular' ), + array( 'name' => 'Cantarell', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Cantata One', 'variant' => ':regular' ), + array( 'name' => 'Cantora One', 'variant' => ':regular' ), + array( 'name' => 'Capriola', 'variant' => ':regular' ), + array( 'name' => 'Cardo', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Carme', 'variant' => ':regular' ), + array( 'name' => 'Carrois Gothic', 'variant' => ':regular' ), + array( 'name' => 'Carrois Gothic SC', 'variant' => ':regular' ), + array( 'name' => 'Carter One', 'variant' => ':regular' ), + array( 'name' => 'Caudex', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Cedarville Cursive', 'variant' => ':regular' ), + array( 'name' => 'Ceviche One', 'variant' => ':regular' ), + array( 'name' => 'Changa One', 'variant' => ':regular,:italic' ), + array( 'name' => 'Chango', 'variant' => ':regular' ), + array( 'name' => 'Chau Philomene One', 'variant' => ':regular,:italic' ), + array( 'name' => 'Chela One', 'variant' => ':regular' ), + array( 'name' => 'Chelsea Market', 'variant' => ':regular' ), + array( 'name' => 'Chenla', 'variant' => ':regular' ), + array( 'name' => 'Cherry Cream Soda', 'variant' => ':regular' ), + array( 'name' => 'Cherry Swash', 'variant' => ':regular,:700' ), + array( 'name' => 'Chewy', 'variant' => ':regular' ), + array( 'name' => 'Chicle', 'variant' => ':regular' ), + array( 'name' => 'Chivo', 'variant' => ':regular,:italic,:900,:900italic' ), + array( 'name' => 'Cinzel', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Cinzel Decorative', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Clicker Script', 'variant' => ':regular' ), + array( 'name' => 'Coda', 'variant' => ':regular,:800' ), + array( 'name' => 'Coda Caption', 'variant' => ':800' ), + array( 'name' => 'Codystar', 'variant' => ':300,:regular' ), + array( 'name' => 'Combo', 'variant' => ':regular' ), + array( 'name' => 'Comfortaa', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Coming Soon', 'variant' => ':regular' ), + array( 'name' => 'Concert One', 'variant' => ':regular' ), + array( 'name' => 'Condiment', 'variant' => ':regular' ), + array( 'name' => 'Content', 'variant' => ':regular,:700' ), + array( 'name' => 'Contrail One', 'variant' => ':regular' ), + array( 'name' => 'Convergence', 'variant' => ':regular' ), + array( 'name' => 'Cookie', 'variant' => ':regular' ), + array( 'name' => 'Copse', 'variant' => ':regular' ), + array( 'name' => 'Corben', 'variant' => ':regular,:700' ), + array( 'name' => 'Courgette', 'variant' => ':regular' ), + array( 'name' => 'Cousine', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Coustard', 'variant' => ':regular,:900' ), + array( 'name' => 'Covered By Your Grace', 'variant' => ':regular' ), + array( 'name' => 'Crafty Girls', 'variant' => ':regular' ), + array( 'name' => 'Creepster', 'variant' => ':regular' ), + array( 'name' => 'Crete Round', 'variant' => ':regular,:italic' ), + array( 'name' => 'Crimson Text', 'variant' => ':regular,:italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Croissant One', 'variant' => ':regular' ), + array( 'name' => 'Crushed', 'variant' => ':regular' ), + array( 'name' => 'Cuprum', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Cutive', 'variant' => ':regular' ), + array( 'name' => 'Cutive Mono', 'variant' => ':regular' ), + array( 'name' => 'Damion', 'variant' => ':regular' ), + array( 'name' => 'Dancing Script', 'variant' => ':regular,:700' ), + array( 'name' => 'Dangrek', 'variant' => ':regular' ), + array( 'name' => 'Dawning of a New Day', 'variant' => ':regular' ), + array( 'name' => 'Days One', 'variant' => ':regular' ), + array( 'name' => 'Delius', 'variant' => ':regular' ), + array( 'name' => 'Delius Swash Caps', 'variant' => ':regular' ), + array( 'name' => 'Delius Unicase', 'variant' => ':regular,:700' ), + array( 'name' => 'Della Respira', 'variant' => ':regular' ), + array( 'name' => 'Denk One', 'variant' => ':regular' ), + array( 'name' => 'Devonshire', 'variant' => ':regular' ), + array( 'name' => 'Didact Gothic', 'variant' => ':regular' ), + array( 'name' => 'Diplomata', 'variant' => ':regular' ), + array( 'name' => 'Diplomata SC', 'variant' => ':regular' ), + array( 'name' => 'Domine', 'variant' => ':regular,:700' ), + array( 'name' => 'Donegal One', 'variant' => ':regular' ), + array( 'name' => 'Doppio One', 'variant' => ':regular' ), + array( 'name' => 'Dorsa', 'variant' => ':regular' ), + array( 'name' => 'Dosis', 'variant' => ':200,:300,:regular,:500,:600,:700,:800' ), + array( 'name' => 'Dr Sugiyama', 'variant' => ':regular' ), + array( 'name' => 'Droid Sans', 'variant' => ':regular,:700' ), + array( 'name' => 'Droid Sans Mono', 'variant' => ':regular' ), + array( 'name' => 'Droid Serif', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Duru Sans', 'variant' => ':regular' ), + array( 'name' => 'Dynalight', 'variant' => ':regular' ), + array( 'name' => 'EB Garamond', 'variant' => ':regular' ), + array( 'name' => 'Eagle Lake', 'variant' => ':regular' ), + array( 'name' => 'Eater', 'variant' => ':regular' ), + array( 'name' => 'Economica', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Electrolize', 'variant' => ':regular' ), + array( 'name' => 'Elsie', 'variant' => ':regular,:900' ), + array( 'name' => 'Elsie Swash Caps', 'variant' => ':regular,:900' ), + array( 'name' => 'Emblema One', 'variant' => ':regular' ), + array( 'name' => 'Emilys Candy', 'variant' => ':regular' ), + array( 'name' => 'Engagement', 'variant' => ':regular' ), + array( 'name' => 'Englebert', 'variant' => ':regular' ), + array( 'name' => 'Enriqueta', 'variant' => ':regular,:700' ), + array( 'name' => 'Erica One', 'variant' => ':regular' ), + array( 'name' => 'Esteban', 'variant' => ':regular' ), + array( 'name' => 'Euphoria Script', 'variant' => ':regular' ), + array( 'name' => 'Ewert', 'variant' => ':regular' ), + array( 'name' => 'Exo', 'variant' => ':100,:100italic,:200,:200italic,:300,:300italic,:regular,:italic,:500,:500italic,:600,:600italic,:700,:700italic,:800,:800italic,:900,:900italic' ), + array( 'name' => 'Exo 2', 'variant' => ':100,:100italic,:200,:200italic,:300,:300italic,:regular,:italic,:500,:500italic,:600,:600italic,:700,:700italic,:800,:800italic,:900,:900italic' ), + array( 'name' => 'Expletus Sans', 'variant' => ':regular,:italic,:500,:500italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Fanwood Text', 'variant' => ':regular,:italic' ), + array( 'name' => 'Fascinate', 'variant' => ':regular' ), + array( 'name' => 'Fascinate Inline', 'variant' => ':regular' ), + array( 'name' => 'Faster One', 'variant' => ':regular' ), + array( 'name' => 'Fasthand', 'variant' => ':regular' ), + array( 'name' => 'Fauna One', 'variant' => ':regular' ), + array( 'name' => 'Federant', 'variant' => ':regular' ), + array( 'name' => 'Federo', 'variant' => ':regular' ), + array( 'name' => 'Felipa', 'variant' => ':regular' ), + array( 'name' => 'Fenix', 'variant' => ':regular' ), + array( 'name' => 'Finger Paint', 'variant' => ':regular' ), + array( 'name' => 'Fjalla One', 'variant' => ':regular' ), + array( 'name' => 'Fjord One', 'variant' => ':regular' ), + array( 'name' => 'Flamenco', 'variant' => ':300,:regular' ), + array( 'name' => 'Flavors', 'variant' => ':regular' ), + array( 'name' => 'Fondamento', 'variant' => ':regular,:italic' ), + array( 'name' => 'Fontdiner Swanky', 'variant' => ':regular' ), + array( 'name' => 'Forum', 'variant' => ':regular' ), + array( 'name' => 'Francois One', 'variant' => ':regular' ), + array( 'name' => 'Freckle Face', 'variant' => ':regular' ), + array( 'name' => 'Fredericka the Great', 'variant' => ':regular' ), + array( 'name' => 'Fredoka One', 'variant' => ':regular' ), + array( 'name' => 'Freehand', 'variant' => ':regular' ), + array( 'name' => 'Fresca', 'variant' => ':regular' ), + array( 'name' => 'Frijole', 'variant' => ':regular' ), + array( 'name' => 'Fruktur', 'variant' => ':regular' ), + array( 'name' => 'Fugaz One', 'variant' => ':regular' ), + array( 'name' => 'GFS Didot', 'variant' => ':regular' ), + array( 'name' => 'GFS Neohellenic', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Gabriela', 'variant' => ':regular' ), + array( 'name' => 'Gafata', 'variant' => ':regular' ), + array( 'name' => 'Galdeano', 'variant' => ':regular' ), + array( 'name' => 'Galindo', 'variant' => ':regular' ), + array( 'name' => 'Gentium Basic', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Gentium Book Basic', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Geo', 'variant' => ':regular,:italic' ), + array( 'name' => 'Geostar', 'variant' => ':regular' ), + array( 'name' => 'Geostar Fill', 'variant' => ':regular' ), + array( 'name' => 'Germania One', 'variant' => ':regular' ), + array( 'name' => 'Gilda Display', 'variant' => ':regular' ), + array( 'name' => 'Give You Glory', 'variant' => ':regular' ), + array( 'name' => 'Glass Antiqua', 'variant' => ':regular' ), + array( 'name' => 'Glegoo', 'variant' => ':regular' ), + array( 'name' => 'Gloria Hallelujah', 'variant' => ':regular' ), + array( 'name' => 'Goblin One', 'variant' => ':regular' ), + array( 'name' => 'Gochi Hand', 'variant' => ':regular' ), + array( 'name' => 'Gorditas', 'variant' => ':regular,:700' ), + array( 'name' => 'Goudy Bookletter 1911', 'variant' => ':regular' ), + array( 'name' => 'Graduate', 'variant' => ':regular' ), + array( 'name' => 'Grand Hotel', 'variant' => ':regular' ), + array( 'name' => 'Gravitas One', 'variant' => ':regular' ), + array( 'name' => 'Great Vibes', 'variant' => ':regular' ), + array( 'name' => 'Griffy', 'variant' => ':regular' ), + array( 'name' => 'Gruppo', 'variant' => ':regular' ), + array( 'name' => 'Gudea', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Habibi', 'variant' => ':regular' ), + array( 'name' => 'Hammersmith One', 'variant' => ':regular' ), + array( 'name' => 'Hanalei', 'variant' => ':regular' ), + array( 'name' => 'Hanalei Fill', 'variant' => ':regular' ), + array( 'name' => 'Handlee', 'variant' => ':regular' ), + array( 'name' => 'Hanuman', 'variant' => ':regular,:700' ), + array( 'name' => 'Happy Monkey', 'variant' => ':regular' ), + array( 'name' => 'Headland One', 'variant' => ':regular' ), + array( 'name' => 'Henny Penny', 'variant' => ':regular' ), + array( 'name' => 'Herr Von Muellerhoff', 'variant' => ':regular' ), + array( 'name' => 'Holtwood One SC', 'variant' => ':regular' ), + array( 'name' => 'Homemade Apple', 'variant' => ':regular' ), + array( 'name' => 'Homenaje', 'variant' => ':regular' ), + array( 'name' => 'IM Fell DW Pica', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell DW Pica SC', 'variant' => ':regular' ), + array( 'name' => 'IM Fell Double Pica', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell Double Pica SC', 'variant' => ':regular' ), + array( 'name' => 'IM Fell English', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell English SC', 'variant' => ':regular' ), + array( 'name' => 'IM Fell French Canon', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell French Canon SC', 'variant' => ':regular' ), + array( 'name' => 'IM Fell Great Primer', 'variant' => ':regular,:italic' ), + array( 'name' => 'IM Fell Great Primer SC', 'variant' => ':regular' ), + array( 'name' => 'Iceberg', 'variant' => ':regular' ), + array( 'name' => 'Iceland', 'variant' => ':regular' ), + array( 'name' => 'Imprima', 'variant' => ':regular' ), + array( 'name' => 'Inconsolata', 'variant' => ':regular,:700' ), + array( 'name' => 'Inder', 'variant' => ':regular' ), + array( 'name' => 'Indie Flower', 'variant' => ':regular' ), + array( 'name' => 'Inika', 'variant' => ':regular,:700' ), + array( 'name' => 'Irish Grover', 'variant' => ':regular' ), + array( 'name' => 'Istok Web', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Italiana', 'variant' => ':regular' ), + array( 'name' => 'Italianno', 'variant' => ':regular' ), + array( 'name' => 'Jacques Francois', 'variant' => ':regular' ), + array( 'name' => 'Jacques Francois Shadow', 'variant' => ':regular' ), + array( 'name' => 'Jim Nightshade', 'variant' => ':regular' ), + array( 'name' => 'Jockey One', 'variant' => ':regular' ), + array( 'name' => 'Jolly Lodger', 'variant' => ':regular' ), + array( 'name' => 'Josefin Sans', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Josefin Slab', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic' ), + array( 'name' => 'Joti One', 'variant' => ':regular' ), + array( 'name' => 'Judson', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Julee', 'variant' => ':regular' ), + array( 'name' => 'Julius Sans One', 'variant' => ':regular' ), + array( 'name' => 'Junge', 'variant' => ':regular' ), + array( 'name' => 'Jura', 'variant' => ':300,:regular,:500,:600' ), + array( 'name' => 'Just Another Hand', 'variant' => ':regular' ), + array( 'name' => 'Just Me Again Down Here', 'variant' => ':regular' ), + array( 'name' => 'Kameron', 'variant' => ':regular,:700' ), + array( 'name' => 'Kantumruy', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Karla', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Kaushan Script', 'variant' => ':regular' ), + array( 'name' => 'Kavoon', 'variant' => ':regular' ), + array( 'name' => 'Kdam Thmor', 'variant' => ':regular' ), + array( 'name' => 'Keania One', 'variant' => ':regular' ), + array( 'name' => 'Kelly Slab', 'variant' => ':regular' ), + array( 'name' => 'Kenia', 'variant' => ':regular' ), + array( 'name' => 'Khmer', 'variant' => ':regular' ), + array( 'name' => 'Kite One', 'variant' => ':regular' ), + array( 'name' => 'Knewave', 'variant' => ':regular' ), + array( 'name' => 'Kotta One', 'variant' => ':regular' ), + array( 'name' => 'Koulen', 'variant' => ':regular' ), + array( 'name' => 'Kranky', 'variant' => ':regular' ), + array( 'name' => 'Kreon', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Kristi', 'variant' => ':regular' ), + array( 'name' => 'Krona One', 'variant' => ':regular' ), + array( 'name' => 'La Belle Aurore', 'variant' => ':regular' ), + array( 'name' => 'Lancelot', 'variant' => ':regular' ), + array( 'name' => 'Lato', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'League Script', 'variant' => ':regular' ), + array( 'name' => 'Leckerli One', 'variant' => ':regular' ), + array( 'name' => 'Ledger', 'variant' => ':regular' ), + array( 'name' => 'Lekton', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Lemon', 'variant' => ':regular' ), + array( 'name' => 'Libre Baskerville', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Life Savers', 'variant' => ':regular,:700' ), + array( 'name' => 'Lilita One', 'variant' => ':regular' ), + array( 'name' => 'Lily Script One', 'variant' => ':regular' ), + array( 'name' => 'Limelight', 'variant' => ':regular' ), + array( 'name' => 'Linden Hill', 'variant' => ':regular,:italic' ), + array( 'name' => 'Lobster', 'variant' => ':regular' ), + array( 'name' => 'Lobster Two', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Londrina Outline', 'variant' => ':regular' ), + array( 'name' => 'Londrina Shadow', 'variant' => ':regular' ), + array( 'name' => 'Londrina Sketch', 'variant' => ':regular' ), + array( 'name' => 'Londrina Solid', 'variant' => ':regular' ), + array( 'name' => 'Lora', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Love Ya Like A Sister', 'variant' => ':regular' ), + array( 'name' => 'Loved by the King', 'variant' => ':regular' ), + array( 'name' => 'Lovers Quarrel', 'variant' => ':regular' ), + array( 'name' => 'Luckiest Guy', 'variant' => ':regular' ), + array( 'name' => 'Lusitana', 'variant' => ':regular,:700' ), + array( 'name' => 'Lustria', 'variant' => ':regular' ), + array( 'name' => 'Macondo', 'variant' => ':regular' ), + array( 'name' => 'Macondo Swash Caps', 'variant' => ':regular' ), + array( 'name' => 'Magra', 'variant' => ':regular,:700' ), + array( 'name' => 'Maiden Orange', 'variant' => ':regular' ), + array( 'name' => 'Mako', 'variant' => ':regular' ), + array( 'name' => 'Marcellus', 'variant' => ':regular' ), + array( 'name' => 'Marcellus SC', 'variant' => ':regular' ), + array( 'name' => 'Marck Script', 'variant' => ':regular' ), + array( 'name' => 'Margarine', 'variant' => ':regular' ), + array( 'name' => 'Marko One', 'variant' => ':regular' ), + array( 'name' => 'Marmelad', 'variant' => ':regular' ), + array( 'name' => 'Marvel', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Mate', 'variant' => ':regular,:italic' ), + array( 'name' => 'Mate SC', 'variant' => ':regular' ), + array( 'name' => 'Maven Pro', 'variant' => ':regular,:500,:700,:900' ), + array( 'name' => 'McLaren', 'variant' => ':regular' ), + array( 'name' => 'Meddon', 'variant' => ':regular' ), + array( 'name' => 'MedievalSharp', 'variant' => ':regular' ), + array( 'name' => 'Medula One', 'variant' => ':regular' ), + array( 'name' => 'Megrim', 'variant' => ':regular' ), + array( 'name' => 'Meie Script', 'variant' => ':regular' ), + array( 'name' => 'Merienda', 'variant' => ':regular,:700' ), + array( 'name' => 'Merienda One', 'variant' => ':regular' ), + array( 'name' => 'Merriweather', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Merriweather Sans', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic,:800,:800italic' ), + array( 'name' => 'Metal', 'variant' => ':regular' ), + array( 'name' => 'Metal Mania', 'variant' => ':regular' ), + array( 'name' => 'Metamorphous', 'variant' => ':regular' ), + array( 'name' => 'Metrophobic', 'variant' => ':regular' ), + array( 'name' => 'Michroma', 'variant' => ':regular' ), + array( 'name' => 'Milonga', 'variant' => ':regular' ), + array( 'name' => 'Miltonian', 'variant' => ':regular' ), + array( 'name' => 'Miltonian Tattoo', 'variant' => ':regular' ), + array( 'name' => 'Miniver', 'variant' => ':regular' ), + array( 'name' => 'Miss Fajardose', 'variant' => ':regular' ), + array( 'name' => 'Modern Antiqua', 'variant' => ':regular' ), + array( 'name' => 'Molengo', 'variant' => ':regular' ), + array( 'name' => 'Molle', 'variant' => ':italic' ), + array( 'name' => 'Monda', 'variant' => ':regular,:700' ), + array( 'name' => 'Monofett', 'variant' => ':regular' ), + array( 'name' => 'Monoton', 'variant' => ':regular' ), + array( 'name' => 'Monsieur La Doulaise', 'variant' => ':regular' ), + array( 'name' => 'Montaga', 'variant' => ':regular' ), + array( 'name' => 'Montez', 'variant' => ':regular' ), + array( 'name' => 'Montserrat', 'variant' => ':regular,:700' ), + array( 'name' => 'Montserrat Alternates', 'variant' => ':regular,:700' ), + array( 'name' => 'Montserrat Subrayada', 'variant' => ':regular,:700' ), + array( 'name' => 'Moul', 'variant' => ':regular' ), + array( 'name' => 'Moulpali', 'variant' => ':regular' ), + array( 'name' => 'Mountains of Christmas', 'variant' => ':regular,:700' ), + array( 'name' => 'Mouse Memoirs', 'variant' => ':regular' ), + array( 'name' => 'Mr Bedfort', 'variant' => ':regular' ), + array( 'name' => 'Mr Dafoe', 'variant' => ':regular' ), + array( 'name' => 'Mr De Haviland', 'variant' => ':regular' ), + array( 'name' => 'Mrs Saint Delafield', 'variant' => ':regular' ), + array( 'name' => 'Mrs Sheppards', 'variant' => ':regular' ), + array( 'name' => 'Muli', 'variant' => ':300,:300italic,:regular,:italic' ), + array( 'name' => 'Mystery Quest', 'variant' => ':regular' ), + array( 'name' => 'Neucha', 'variant' => ':regular' ), + array( 'name' => 'Neuton', 'variant' => ':200,:300,:regular,:italic,:700,:800' ), + array( 'name' => 'New Rocker', 'variant' => ':regular' ), + array( 'name' => 'News Cycle', 'variant' => ':regular,:700' ), + array( 'name' => 'Niconne', 'variant' => ':regular' ), + array( 'name' => 'Nixie One', 'variant' => ':regular' ), + array( 'name' => 'Nobile', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Nokora', 'variant' => ':regular,:700' ), + array( 'name' => 'Norican', 'variant' => ':regular' ), + array( 'name' => 'Nosifer', 'variant' => ':regular' ), + array( 'name' => 'Nothing You Could Do', 'variant' => ':regular' ), + array( 'name' => 'Noticia Text', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Noto Sans', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Noto Serif', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Nova Cut', 'variant' => ':regular' ), + array( 'name' => 'Nova Flat', 'variant' => ':regular' ), + array( 'name' => 'Nova Mono', 'variant' => ':regular' ), + array( 'name' => 'Nova Oval', 'variant' => ':regular' ), + array( 'name' => 'Nova Round', 'variant' => ':regular' ), + array( 'name' => 'Nova Script', 'variant' => ':regular' ), + array( 'name' => 'Nova Slim', 'variant' => ':regular' ), + array( 'name' => 'Nova Square', 'variant' => ':regular' ), + array( 'name' => 'Numans', 'variant' => ':regular' ), + array( 'name' => 'Nunito', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Odor Mean Chey', 'variant' => ':regular' ), + array( 'name' => 'Offside', 'variant' => ':regular' ), + array( 'name' => 'Old Standard TT', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Oldenburg', 'variant' => ':regular' ), + array( 'name' => 'Oleo Script', 'variant' => ':regular,:700' ), + array( 'name' => 'Oleo Script Swash Caps', 'variant' => ':regular,:700' ), + array( 'name' => 'Open Sans', 'variant' => ':300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic,:800,:800italic' ), + array( 'name' => 'Open Sans Condensed', 'variant' => ':300,:300italic,:700' ), + array( 'name' => 'Oranienbaum', 'variant' => ':regular' ), + array( 'name' => 'Orbitron', 'variant' => ':regular,:500,:700,:900' ), + array( 'name' => 'Oregano', 'variant' => ':regular,:italic' ), + array( 'name' => 'Orienta', 'variant' => ':regular' ), + array( 'name' => 'Original Surfer', 'variant' => ':regular' ), + array( 'name' => 'Oswald', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Over the Rainbow', 'variant' => ':regular' ), + array( 'name' => 'Overlock', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Overlock SC', 'variant' => ':regular' ), + array( 'name' => 'Ovo', 'variant' => ':regular' ), + array( 'name' => 'Oxygen', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Oxygen Mono', 'variant' => ':regular' ), + array( 'name' => 'PT Mono', 'variant' => ':regular' ), + array( 'name' => 'PT Sans', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'PT Sans Caption', 'variant' => ':regular,:700' ), + array( 'name' => 'PT Sans Narrow', 'variant' => ':regular,:700' ), + array( 'name' => 'PT Serif', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'PT Serif Caption', 'variant' => ':regular,:italic' ), + array( 'name' => 'Pacifico', 'variant' => ':regular' ), + array( 'name' => 'Paprika', 'variant' => ':regular' ), + array( 'name' => 'Parisienne', 'variant' => ':regular' ), + array( 'name' => 'Passero One', 'variant' => ':regular' ), + array( 'name' => 'Passion One', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Pathway Gothic One', 'variant' => ':regular' ), + array( 'name' => 'Patrick Hand', 'variant' => ':regular' ), + array( 'name' => 'Patrick Hand SC', 'variant' => ':regular' ), + array( 'name' => 'Patua One', 'variant' => ':regular' ), + array( 'name' => 'Paytone One', 'variant' => ':regular' ), + array( 'name' => 'Peralta', 'variant' => ':regular' ), + array( 'name' => 'Permanent Marker', 'variant' => ':regular' ), + array( 'name' => 'Petit Formal Script', 'variant' => ':regular' ), + array( 'name' => 'Petrona', 'variant' => ':regular' ), + array( 'name' => 'Philosopher', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Piedra', 'variant' => ':regular' ), + array( 'name' => 'Pinyon Script', 'variant' => ':regular' ), + array( 'name' => 'Pirata One', 'variant' => ':regular' ), + array( 'name' => 'Plaster', 'variant' => ':regular' ), + array( 'name' => 'Play', 'variant' => ':regular,:700' ), + array( 'name' => 'Playball', 'variant' => ':regular' ), + array( 'name' => 'Playfair Display', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Playfair Display SC', 'variant' => ':regular,:italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Podkova', 'variant' => ':regular,:700' ), + array( 'name' => 'Poiret One', 'variant' => ':regular' ), + array( 'name' => 'Poller One', 'variant' => ':regular' ), + array( 'name' => 'Poly', 'variant' => ':regular,:italic' ), + array( 'name' => 'Pompiere', 'variant' => ':regular' ), + array( 'name' => 'Pontano Sans', 'variant' => ':regular' ), + array( 'name' => 'Port Lligat Sans', 'variant' => ':regular' ), + array( 'name' => 'Port Lligat Slab', 'variant' => ':regular' ), + array( 'name' => 'Prata', 'variant' => ':regular' ), + array( 'name' => 'Preahvihear', 'variant' => ':regular' ), + array( 'name' => 'Press Start 2P', 'variant' => ':regular' ), + array( 'name' => 'Princess Sofia', 'variant' => ':regular' ), + array( 'name' => 'Prociono', 'variant' => ':regular' ), + array( 'name' => 'Prosto One', 'variant' => ':regular' ), + array( 'name' => 'Puritan', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Purple Purse', 'variant' => ':regular' ), + array( 'name' => 'Quando', 'variant' => ':regular' ), + array( 'name' => 'Quantico', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Quattrocento', 'variant' => ':regular,:700' ), + array( 'name' => 'Quattrocento Sans', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Questrial', 'variant' => ':regular' ), + array( 'name' => 'Quicksand', 'variant' => ':300,:regular,:700' ), + array( 'name' => 'Quintessential', 'variant' => ':regular' ), + array( 'name' => 'Qwigley', 'variant' => ':regular' ), + array( 'name' => 'Racing Sans One', 'variant' => ':regular' ), + array( 'name' => 'Radley', 'variant' => ':regular,:italic' ), + array( 'name' => 'Raleway', 'variant' => ':100,:200,:300,:regular,:500,:600,:700,:800,:900' ), + array( 'name' => 'Raleway Dots', 'variant' => ':regular' ), + array( 'name' => 'Rambla', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Rammetto One', 'variant' => ':regular' ), + array( 'name' => 'Ranchers', 'variant' => ':regular' ), + array( 'name' => 'Rancho', 'variant' => ':regular' ), + array( 'name' => 'Rationale', 'variant' => ':regular' ), + array( 'name' => 'Redressed', 'variant' => ':regular' ), + array( 'name' => 'Reenie Beanie', 'variant' => ':regular' ), + array( 'name' => 'Revalia', 'variant' => ':regular' ), + array( 'name' => 'Ribeye', 'variant' => ':regular' ), + array( 'name' => 'Ribeye Marrow', 'variant' => ':regular' ), + array( 'name' => 'Righteous', 'variant' => ':regular' ), + array( 'name' => 'Risque', 'variant' => ':regular' ), + array( 'name' => 'Roboto', 'variant' => ':100,:100italic,:300,:300italic,:regular,:italic,:500,:500italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Roboto Condensed', 'variant' => ':300,:300italic,:regular,:italic,:700,:700italic' ), + array( 'name' => 'Roboto Slab', 'variant' => ':100,:300,:regular,:700' ), + array( 'name' => 'Rochester', 'variant' => ':regular' ), + array( 'name' => 'Rock Salt', 'variant' => ':regular' ), + array( 'name' => 'Rokkitt', 'variant' => ':regular,:700' ), + array( 'name' => 'Romanesco', 'variant' => ':regular' ), + array( 'name' => 'Ropa Sans', 'variant' => ':regular,:italic' ), + array( 'name' => 'Rosario', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Rosarivo', 'variant' => ':regular,:italic' ), + array( 'name' => 'Rouge Script', 'variant' => ':regular' ), + array( 'name' => 'Ruda', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Rufina', 'variant' => ':regular,:700' ), + array( 'name' => 'Ruge Boogie', 'variant' => ':regular' ), + array( 'name' => 'Ruluko', 'variant' => ':regular' ), + array( 'name' => 'Rum Raisin', 'variant' => ':regular' ), + array( 'name' => 'Ruslan Display', 'variant' => ':regular' ), + array( 'name' => 'Russo One', 'variant' => ':regular' ), + array( 'name' => 'Ruthie', 'variant' => ':regular' ), + array( 'name' => 'Rye', 'variant' => ':regular' ), + array( 'name' => 'Sacramento', 'variant' => ':regular' ), + array( 'name' => 'Sail', 'variant' => ':regular' ), + array( 'name' => 'Salsa', 'variant' => ':regular' ), + array( 'name' => 'Sanchez', 'variant' => ':regular,:italic' ), + array( 'name' => 'Sancreek', 'variant' => ':regular' ), + array( 'name' => 'Sansita One', 'variant' => ':regular' ), + array( 'name' => 'Sarina', 'variant' => ':regular' ), + array( 'name' => 'Satisfy', 'variant' => ':regular' ), + array( 'name' => 'Scada', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Schoolbell', 'variant' => ':regular' ), + array( 'name' => 'Seaweed Script', 'variant' => ':regular' ), + array( 'name' => 'Sevillana', 'variant' => ':regular' ), + array( 'name' => 'Seymour One', 'variant' => ':regular' ), + array( 'name' => 'Shadows Into Light', 'variant' => ':regular' ), + array( 'name' => 'Shadows Into Light Two', 'variant' => ':regular' ), + array( 'name' => 'Shanti', 'variant' => ':regular' ), + array( 'name' => 'Share', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Share Tech', 'variant' => ':regular' ), + array( 'name' => 'Share Tech Mono', 'variant' => ':regular' ), + array( 'name' => 'Shojumaru', 'variant' => ':regular' ), + array( 'name' => 'Short Stack', 'variant' => ':regular' ), + array( 'name' => 'Siemreap', 'variant' => ':regular' ), + array( 'name' => 'Sigmar One', 'variant' => ':regular' ), + array( 'name' => 'Signika', 'variant' => ':300,:regular,:600,:700' ), + array( 'name' => 'Signika Negative', 'variant' => ':300,:regular,:600,:700' ), + array( 'name' => 'Simonetta', 'variant' => ':regular,:italic,:900,:900italic' ), + array( 'name' => 'Sintony', 'variant' => ':regular,:700' ), + array( 'name' => 'Sirin Stencil', 'variant' => ':regular' ), + array( 'name' => 'Six Caps', 'variant' => ':regular' ), + array( 'name' => 'Skranji', 'variant' => ':regular,:700' ), + array( 'name' => 'Slackey', 'variant' => ':regular' ), + array( 'name' => 'Smokum', 'variant' => ':regular' ), + array( 'name' => 'Smythe', 'variant' => ':regular' ), + array( 'name' => 'Sniglet', 'variant' => ':regular,:800' ), + array( 'name' => 'Snippet', 'variant' => ':regular' ), + array( 'name' => 'Snowburst One', 'variant' => ':regular' ), + array( 'name' => 'Sofadi One', 'variant' => ':regular' ), + array( 'name' => 'Sofia', 'variant' => ':regular' ), + array( 'name' => 'Sonsie One', 'variant' => ':regular' ), + array( 'name' => 'Sorts Mill Goudy', 'variant' => ':regular,:italic' ), + array( 'name' => 'Source Code Pro', 'variant' => ':200,:300,:regular,:500,:600,:700,:900' ), + array( 'name' => 'Source Sans Pro', 'variant' => ':200,:200italic,:300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic,:900,:900italic' ), + array( 'name' => 'Special Elite', 'variant' => ':regular' ), + array( 'name' => 'Spicy Rice', 'variant' => ':regular' ), + array( 'name' => 'Spinnaker', 'variant' => ':regular' ), + array( 'name' => 'Spirax', 'variant' => ':regular' ), + array( 'name' => 'Squada One', 'variant' => ':regular' ), + array( 'name' => 'Stalemate', 'variant' => ':regular' ), + array( 'name' => 'Stalinist One', 'variant' => ':regular' ), + array( 'name' => 'Stardos Stencil', 'variant' => ':regular,:700' ), + array( 'name' => 'Stint Ultra Condensed', 'variant' => ':regular' ), + array( 'name' => 'Stint Ultra Expanded', 'variant' => ':regular' ), + array( 'name' => 'Stoke', 'variant' => ':300,:regular' ), + array( 'name' => 'Strait', 'variant' => ':regular' ), + array( 'name' => 'Sue Ellen Francisco', 'variant' => ':regular' ), + array( 'name' => 'Sunshiney', 'variant' => ':regular' ), + array( 'name' => 'Supermercado One', 'variant' => ':regular' ), + array( 'name' => 'Suwannaphum', 'variant' => ':regular' ), + array( 'name' => 'Swanky and Moo Moo', 'variant' => ':regular' ), + array( 'name' => 'Syncopate', 'variant' => ':regular,:700' ), + array( 'name' => 'Tangerine', 'variant' => ':regular,:700' ), + array( 'name' => 'Taprom', 'variant' => ':regular' ), + array( 'name' => 'Tauri', 'variant' => ':regular' ), + array( 'name' => 'Telex', 'variant' => ':regular' ), + array( 'name' => 'Tenor Sans', 'variant' => ':regular' ), + array( 'name' => 'Text Me One', 'variant' => ':regular' ), + array( 'name' => 'The Girl Next Door', 'variant' => ':regular' ), + array( 'name' => 'Tienne', 'variant' => ':regular,:700,:900' ), + array( 'name' => 'Tinos', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Titan One', 'variant' => ':regular' ), + array( 'name' => 'Titillium Web', 'variant' => ':200,:200italic,:300,:300italic,:regular,:italic,:600,:600italic,:700,:700italic,:900' ), + array( 'name' => 'Trade Winds', 'variant' => ':regular' ), + array( 'name' => 'Trocchi', 'variant' => ':regular' ), + array( 'name' => 'Trochut', 'variant' => ':regular,:italic,:700' ), + array( 'name' => 'Trykker', 'variant' => ':regular' ), + array( 'name' => 'Tulpen One', 'variant' => ':regular' ), + array( 'name' => 'Ubuntu', 'variant' => ':300,:300italic,:regular,:italic,:500,:500italic,:700,:700italic' ), + array( 'name' => 'Ubuntu Condensed', 'variant' => ':regular' ), + array( 'name' => 'Ubuntu Mono', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Ultra', 'variant' => ':regular' ), + array( 'name' => 'Uncial Antiqua', 'variant' => ':regular' ), + array( 'name' => 'Underdog', 'variant' => ':regular' ), + array( 'name' => 'Unica One', 'variant' => ':regular' ), + array( 'name' => 'UnifrakturCook', 'variant' => ':700' ), + array( 'name' => 'UnifrakturMaguntia', 'variant' => ':regular' ), + array( 'name' => 'Unkempt', 'variant' => ':regular,:700' ), + array( 'name' => 'Unlock', 'variant' => ':regular' ), + array( 'name' => 'Unna', 'variant' => ':regular' ), + array( 'name' => 'VT323', 'variant' => ':regular' ), + array( 'name' => 'Vampiro One', 'variant' => ':regular' ), + array( 'name' => 'Varela', 'variant' => ':regular' ), + array( 'name' => 'Varela Round', 'variant' => ':regular' ), + array( 'name' => 'Vast Shadow', 'variant' => ':regular' ), + array( 'name' => 'Vibur', 'variant' => ':regular' ), + array( 'name' => 'Vidaloka', 'variant' => ':regular' ), + array( 'name' => 'Viga', 'variant' => ':regular' ), + array( 'name' => 'Voces', 'variant' => ':regular' ), + array( 'name' => 'Volkhov', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Vollkorn', 'variant' => ':regular,:italic,:700,:700italic' ), + array( 'name' => 'Voltaire', 'variant' => ':regular' ), + array( 'name' => 'Waiting for the Sunrise', 'variant' => ':regular' ), + array( 'name' => 'Wallpoet', 'variant' => ':regular' ), + array( 'name' => 'Walter Turncoat', 'variant' => ':regular' ), + array( 'name' => 'Warnes', 'variant' => ':regular' ), + array( 'name' => 'Wellfleet', 'variant' => ':regular' ), + array( 'name' => 'Wendy One', 'variant' => ':regular' ), + array( 'name' => 'Wire One', 'variant' => ':regular' ), + array( 'name' => 'Yanone Kaffeesatz', 'variant' => ':200,:300,:regular,:700' ), + array( 'name' => 'Yellowtail', 'variant' => ':regular' ), + array( 'name' => 'Yeseva One', 'variant' => ':regular' ), + array( 'name' => 'Yesteryear', 'variant' => ':regular' ), + array( 'name' => 'Zeyada', 'variant' => ':regular' ) + ); + + return $google_fonts; +} // End wf_get_google_fonts_store() + +/*-----------------------------------------------------------------------------------*/ +/* Google Webfonts Stylesheet Generator */ +/*-----------------------------------------------------------------------------------*/ +/* +INSTRUCTIONS: Needs to be loaded for the Google Fonts options to work for font options. Add this to +the specific themes includes/theme-actions.php or functions.php: + +add_action( 'wp_head', 'woo_google_webfonts' ); +*/ + +if ( ! function_exists( 'woo_google_webfonts' ) ) { + function woo_google_webfonts() { + global $google_fonts; + $fonts_to_load = array(); + $output = ''; + + // Setup Woo Options array + global $woo_options; + + // Go through the options + if ( ! empty( $woo_options ) && ! empty( $google_fonts ) ) { + foreach ( $woo_options as $option ) { + // Check if option has "face" in array + if ( is_array( $option ) && isset( $option['face'] ) ) { + // Go through the google font array + foreach ( $google_fonts as $font ) { + // Check if the google font name exists in the current "face" option + if ( $option['face'] == $font['name'] && ! in_array( $font['name'], array_keys( $fonts_to_load ) ) ) { + // Add google font to output + $variant = ''; + if ( isset( $font['variant'] ) ) $variant = $font['variant']; + $fonts_to_load[$font['name']] = $variant; + } + } + } + } + + // Output google font css in header + if ( 0 < count( $fonts_to_load ) ) { + $fonts_and_variants = array(); + foreach ( $fonts_to_load as $k => $v ) { + $fonts_and_variants[] = $k . $v; + } + $fonts_and_variants = array_map( 'urlencode', $fonts_and_variants ); + $fonts = join( '|', $fonts_and_variants ); + + $output .= "\n\n"; + $output .= ''."\n"; + + echo $output; + } + } + } // End woo_google_webfonts() +} + + +/*-----------------------------------------------------------------------------------*/ +/* Enable Home link in WP Menus +/*-----------------------------------------------------------------------------------*/ +if ( !function_exists( 'woo_home_page_menu_args' ) ) { + function woo_home_page_menu_args( $args ) { + $args['show_home'] = true; + return $args; + } // End woo_home_page_menu_args() + add_filter( 'wp_page_menu_args', 'woo_home_page_menu_args' ); +} + +/*---------------------------------------------------------------------------------*/ +/* Detects the Charset of String and Converts it to UTF-8 */ +/*---------------------------------------------------------------------------------*/ +if ( !function_exists( 'woo_encoding_convert') ) { + function woo_encoding_convert($str_to_convert) { + if ( function_exists( 'mb_detect_encoding') ) { + $str_lang_encoding = mb_detect_encoding($str_to_convert); + //if no encoding detected, assume UTF-8 + if (!$str_lang_encoding) { + //UTF-8 assumed + $str_lang_converted_utf = $str_to_convert; + } else { + //Convert to UTF-8 + $str_lang_converted_utf = mb_convert_encoding($str_to_convert, 'UTF-8', $str_lang_encoding); + } + } else { + $str_lang_converted_utf = $str_to_convert; + } + + return $str_lang_converted_utf; + } +} + +/*---------------------------------------------------------------------------------*/ +/* WP Login logo */ +/*---------------------------------------------------------------------------------*/ +if ( !function_exists( 'woo_custom_login_logo' ) ) { + function woo_custom_login_logo() { + $logo = get_option( 'framework_woo_custom_login_logo' ); + $dimensions = @getimagesize( $logo ); + $background_size = 'background-size: auto;'; + if ( 0 >= $dimensions[1] ) { + $dimensions[1] = '67'; + $background_size = ''; + } + + echo ''; + } // End woo_custom_login_logo() + if ( '' != get_option( 'framework_woo_custom_login_logo') ) { + add_action( 'login_head', 'woo_custom_login_logo' ); + } +} + +/*---------------------------------------------------------------------------------*/ +/* WP Login logo URL */ +/*---------------------------------------------------------------------------------*/ +if ( ! function_exists( 'woo_custom_login_logo_url' ) ) { + function woo_custom_login_logo_url( $text ) { + return get_option( 'framework_woo_custom_login_logo_url' ); // Escaping via esc_url() is done in wp-login.php. + } // End woo_custom_login_logo_url() + + if ( '' != get_option( 'framework_woo_custom_login_logo_url' ) ) { + add_filter( 'login_headerurl', 'woo_custom_login_logo_url', 10 ); + } +} + +/*---------------------------------------------------------------------------------*/ +/* WP Login logo title */ +/*---------------------------------------------------------------------------------*/ +if ( ! function_exists( 'woo_custom_login_logo_title' ) ) { + function woo_custom_login_logo_title( $text ) { + return get_option( 'framework_woo_custom_login_logo_title' ); // Escaping via esc_attr() is done in wp-login.php. + } // End woo_custom_login_logo_title() + + if ( '' != get_option( 'framework_woo_custom_login_logo_title' ) ) { + add_filter( 'login_headertitle', 'woo_custom_login_logo_title', 10 ); + } +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_pagination() - Custom loop pagination function */ +/*-----------------------------------------------------------------------------------*/ +/* +/* Additional documentation: http://codex.wordpress.org/Function_Reference/paginate_links +/* +/* Params: +/* +/* Arguments Array: +/* +/* 'base' (optional) - The query argument on which to determine the pagination (for advanced users) +/* 'format' (optional) - The format in which the query argument is formatted in it's raw format (for advanced users) +/* 'total' (optional) - The total amount of pages +/* 'current' (optional) - The current page number +/* 'prev_next' (optional) - Whether to include the previous and next links in the list or not. +/* 'prev_text' (optional) - The previous page text. Works only if 'prev_next' argument is set to true. +/* 'next_text' (optional) - The next page text. Works only if 'prev_next' argument is set to true. +/* 'show_all' (optional) - If set to True, then it will show all of the pages instead of a short list of the pages near the current page. By default, the 'show_all' is set to false and controlled by the 'end_size' and 'mid_size' arguments. +/* 'end_size' (optional) - How many numbers on either the start and the end list edges. +/* 'mid_size' (optional) - How many numbers to either side of current page, but not including current page. +/* 'add_fragment' (optional) - An array of query args to add using add_query_arg(). +/* 'type' (optional) - Controls format of the returned value. Possible values are: + 'plain' - A string with the links separated by a newline character. + 'array' - An array of the paginated link list to offer full control of display. + 'list' - Unordered HTML list. +/* 'before' (optional) - The HTML to display before the paginated links. +/* 'after' (optional) - The HTML to display after the paginated links. +/* 'echo' (optional) - Whether or not to display the paginated links (alternative is to "return"). +/* 'use_search_permastruct' (optiona;) - Whether or not to use the "pretty" URL permastruct for search URLs. +/* +/* Query Parameter (optional) - Specify a custom query which you'd like to paginate. +/* +/*-----------------------------------------------------------------------------------*/ +/** + * woo_pagination() is used for paginating the various archive pages created by WordPress. This is not + * to be used on single.php or other single view pages. + * + * @since 3.7.0 + * @uses paginate_links() Creates a string of paginated links based on the arguments given. + * @param array $args Arguments to customize how the page links are output. + * @param object $query An optional custom query to paginate. + */ + +if ( ! function_exists( 'woo_pagination' ) ) { + function woo_pagination( $args = array(), $query = '' ) { + global $wp_rewrite, $wp_query; + + do_action( 'woo_pagination_start' ); + + if ( $query ) { + + $wp_query = $query; + + } // End IF Statement + + /* If there's not more than one page, return nothing. */ + if ( 1 >= $wp_query->max_num_pages ) + return; + + /* Get the current page. */ + $current = ( get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1 ); + + /* Get the max number of pages. */ + $max_num_pages = intval( $wp_query->max_num_pages ); + + /* Set up some default arguments for the paginate_links() function. */ + $defaults = array( + 'base' => add_query_arg( 'paged', '%#%' ), + 'format' => '', + 'total' => $max_num_pages, + 'current' => $current, + 'prev_next' => true, + 'prev_text' => __( '← Previous', 'woothemes' ), // Translate in WordPress. This is the default. + 'next_text' => __( 'Next →', 'woothemes' ), // Translate in WordPress. This is the default. + 'show_all' => false, + 'end_size' => 1, + 'mid_size' => 1, + 'add_fragment' => '', + 'type' => 'plain', + 'before' => '', + 'echo' => true, + 'use_search_permastruct' => true + ); + + /* Allow themes/plugins to filter the default arguments. */ + $defaults = apply_filters( 'woo_pagination_args_defaults', $defaults ); + + /* Add the $base argument to the array if the user is using permalinks. */ + if( $wp_rewrite->using_permalinks() && ! is_search() ) + $defaults['base'] = user_trailingslashit( trailingslashit( get_pagenum_link() ) . 'page/%#%' ); + + /* Force search links to use raw permastruct for more accurate multi-word searching. */ + if ( is_search() ) + $defaults['use_search_permastruct'] = false; + + /* If we're on a search results page, we need to change this up a bit. */ + if ( is_search() ) { + /* If we're in BuddyPress, or the user has selected to do so, use the default "unpretty" URL structure. */ + if ( class_exists( 'BP_Core_User' ) || $defaults['use_search_permastruct'] == false ) { + $search_query = get_query_var( 's' ); + $paged = get_query_var( 'paged' ); + $base = add_query_arg( 's', urlencode( $search_query ) ); + $base = add_query_arg( 'paged', '%#%' ); + $defaults['base'] = $base; + } else { + $search_permastruct = $wp_rewrite->get_search_permastruct(); + if ( ! empty( $search_permastruct ) ) { + $base = get_search_link(); + $base = add_query_arg( 'paged', '%#%', $base ); + $defaults['base'] = $base; + } + } + } + + /* Merge the arguments input with the defaults. */ + $args = wp_parse_args( $args, $defaults ); + + /* Allow developers to overwrite the arguments with a filter. */ + $args = apply_filters( 'woo_pagination_args', $args ); + + /* Don't allow the user to set this to an array. */ + if ( 'array' == $args['type'] ) + $args['type'] = 'plain'; + + /* Make sure raw querystrings are displayed at the end of the URL, if using pretty permalinks. */ + $pattern = '/\?(.*?)\//i'; + + preg_match( $pattern, $args['base'], $raw_querystring ); + + if( $wp_rewrite->using_permalinks() && $raw_querystring ) + $raw_querystring[0] = str_replace( '', '', $raw_querystring[0] ); + @$args['base'] = str_replace( $raw_querystring[0], '', $args['base'] ); + @$args['base'] .= substr( $raw_querystring[0], 0, -1 ); + + /* Get the paginated links. */ + $page_links = paginate_links( $args ); + + /* Remove 'page/1' from the entire output since it's not needed. */ + $page_links = str_replace( array( '&paged=1\'', '/page/1\'' ), '\'', $page_links ); + + /* Wrap the paginated links with the $before and $after elements. */ + $page_links = $args['before'] . $page_links . $args['after']; + + /* Allow devs to completely overwrite the output. */ + $page_links = apply_filters( 'woo_pagination', $page_links ); + + do_action( 'woo_pagination_end' ); + + /* Return the paginated links for use in themes. */ + if ( $args['echo'] ) + echo $page_links; + else + return $page_links; + } // End woo_pagination() +} // End IF Statement + +/*-----------------------------------------------------------------------------------*/ +/* woo_breadcrumbs() - Custom breadcrumb generator function */ +/* +/* Params: +/* +/* Arguments Array: +/* +/* 'separator' - The character to display between the breadcrumbs. +/* 'before' - HTML to display before the breadcrumbs. +/* 'after' - HTML to display after the breadcrumbs. +/* 'front_page' - Include the front page at the beginning of the breadcrumbs. +/* 'show_home' - If $show_home is set and we're not on the front page of the site, link to the home page. +/* 'echo' - Specify whether or not to echo the breadcrumbs. Alternative is "return". +/* 'show_posts_page' - If a static front page is set and there is a posts page, toggle whether or not to display that page's tree. +/* +/*-----------------------------------------------------------------------------------*/ +/** + * The code below is inspired by Justin Tadlock's Hybrid Core. + * + * woo_breadcrumbs() shows a breadcrumb for all types of pages. Themes and plugins can filter $args or input directly. + * Allow filtering of only the $args using get_the_breadcrumb_args. + * + * @since 3.7.0 + * @param array $args Mixed arguments for the menu. + * @return string Output of the breadcrumb menu. + */ +function woo_breadcrumbs( $args = array() ) { + global $wp_query, $wp_rewrite; + + /* Create an empty variable for the breadcrumb. */ + $breadcrumb = ''; + + /* Create an empty array for the trail. */ + $trail = array(); + $path = ''; + + /* Set up the default arguments for the breadcrumb. */ + $defaults = array( + 'separator' => '›', + 'before' => '' . __( 'You are here:', 'woothemes' ) . '', + 'after' => false, + 'front_page' => true, + 'show_home' => __( 'Home', 'woothemes' ), + 'echo' => true, + 'show_posts_page' => true, + 'show_only_first_taxonomy_tree' => false + ); + + /* Allow singular post views to have a taxonomy's terms prefixing the trail. */ + if ( is_singular() ) { + $defaults["singular_{$wp_query->post->post_type}_taxonomy"] = false; + } + + /* Apply filters to the arguments. */ + $args = apply_filters( 'woo_breadcrumbs_args', $args ); + + /* Parse the arguments and extract them for easy variable naming. */ + extract( wp_parse_args( $args, $defaults ) ); + + /* If $show_home is set and we're not on the front page of the site, link to the home page. */ + if ( !is_front_page() && $show_home ) + $trail[] = '' . esc_html( $show_home ) . ''; + + /* If viewing the front page of the site. */ + if ( is_front_page() ) { + if ( !$front_page ) + $trail = false; + elseif ( $show_home ) + $trail['trail_end'] = "{$show_home}"; + } + + /* If viewing the "home"/posts page. */ + elseif ( is_home() ) { + $home_page = get_page( $wp_query->get_queried_object_id() ); + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( $home_page->post_parent, '' ) ); + $trail['trail_end'] = get_the_title( $home_page->ID ); + } + + /* If viewing a singular post (page, attachment, etc.). */ + elseif ( is_singular() ) { + + /* Get singular post variables needed. */ + $post = $wp_query->get_queried_object(); + $post_id = absint( $wp_query->get_queried_object_id() ); + $post_type = $post->post_type; + $parent = $post->post_parent; + $post_type_object = get_post_type_object( $post_type ); + + /* If an attachment, check if there are any pages in its hierarchy based on the slug. */ + if ( 'attachment' == $post_type ) { + /* If $front has been set, add it to the $path. */ + if ( ( $post_type_object->rewrite['with_front'] && $wp_rewrite->front ) ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If there's a slug, add it to the $path. */ + if ( !empty( $post_type_object->rewrite['slug'] ) ) + $path .= $post_type_object->rewrite['slug']; + + /* If there's a path, check for parents. */ + if ( !empty( $path ) && '/' != $path ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + } + + /* If there's an archive page, add it to the trail. */ + if ( ! empty( $post_type_object->has_archive ) ) + $trail['post_type_archive_link'] = '' . esc_html( $post_type_object->labels->name ) . ''; + + /* If the post type path returns nothing and there is a parent, get its parents. */ + if ( empty( $path ) && 0 !== $parent || 'attachment' == $post_type ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( $parent, '' ) ); + + /* Toggle the display of the posts page on single blog posts. */ + if ( 'post' == $post_type && $show_posts_page == true && 'page' == get_option( 'show_on_front' ) ) { + $posts_page = get_option( 'page_for_posts' ); + if ( $posts_page != '' && is_numeric( $posts_page ) ) { + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( $posts_page, '' ) ); + } + } + + /* Display terms for specific post type taxonomy if requested. */ + if ( isset( $args["singular_{$post_type}_taxonomy"] ) ) { + $raw_terms = get_the_terms( $post_id, $args["singular_{$post_type}_taxonomy"] ); + + if ( is_array( $raw_terms ) && 0 < count( $raw_terms ) && ! is_wp_error( $raw_terms ) ) { + $links = array(); + $count = 0; + + $sorted = $raw_terms; + + $terms_by_ancestor = array(); + foreach ( $raw_terms as $k => $v ) { + $ancestors = array_reverse( get_ancestors( $v->term_id, $args["singular_{$post_type}_taxonomy"] ) ); + if ( isset( $ancestors[0] ) ) { + $key = $ancestors[0]; + } else { + $key = $v->term_id; + } + $terms_by_ancestor[$key][$v->term_id] = get_term_by( 'term_id', $v->term_id, $args["singular_{$post_type}_taxonomy"] ); + } + + if ( 0 < count( $terms_by_ancestor ) ) { + $sorted = array(); + foreach ( $terms_by_ancestor as $k => $v ) { + if ( 0 < count( $v ) ) { + foreach ( $v as $i => $j ) { + $sorted[$i] = $j; + } + } + } + foreach ( $sorted as $k => $v ) { + if ( isset( $sorted[$v->parent] ) ) { + unset( $sorted[$v->parent] ); + } + } + } + + foreach ( $sorted as $k => $v ) { + $count++; + if ( isset( $args['show_only_first_taxonomy_tree'] ) && true == (bool)$args['show_only_first_taxonomy_tree'] && 1 < $count ) continue; // Display only the first match. + $parents = woo_get_term_parents( $v->term_id, $args["singular_{$post_type}_taxonomy"], true, '|-|', $v->name, array() ); + if ( $parents != '' && ! is_wp_error( $parents ) ) { + $parents_arr = explode( '|-|', $parents ); + foreach ( $parents_arr as $p ) { + if ( $p != '' && ! in_array( $p, $links ) ) { $links[] = $p; } + } + } + } + + if ( 0 < count( $links ) ) { + foreach ( $links as $k => $v ) { + $trail[] = $v; + } + } + } + } + + /* End with the post title. */ + $post_title = get_the_title( $post_id ); // Force the post_id to make sure we get the correct page title. + if ( !empty( $post_title ) ) + $trail['trail_end'] = $post_title; + } + + /* If we're viewing any type of archive. */ + elseif ( is_archive() ) { + + /* If viewing a taxonomy term archive. */ + if ( is_tax() || is_category() || is_tag() ) { + + /* Get some taxonomy and term variables. */ + $term = $wp_query->get_queried_object(); + $taxonomy = get_taxonomy( $term->taxonomy ); + + /* Get the path to the term archive. Use this to determine if a page is present with it. */ + if ( is_category() ) + $path = get_option( 'category_base' ); + elseif ( is_tag() ) + $path = get_option( 'tag_base' ); + else { + if ( $taxonomy->rewrite['with_front'] && $wp_rewrite->front ) + $path = trailingslashit( $wp_rewrite->front ); + $path .= $taxonomy->rewrite['slug']; + } + + /* Get parent pages by path if they exist. */ + if ( $path ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* If the taxonomy is hierarchical, list its parent terms. */ + if ( is_taxonomy_hierarchical( $term->taxonomy ) && $term->parent ) + $trail = array_merge( $trail, woo_breadcrumbs_get_term_parents( $term->parent, $term->taxonomy ) ); + + /* Add the term name to the trail end. */ + $trail['trail_end'] = $term->name; + } + + /* If viewing a post type archive. */ + elseif ( is_post_type_archive() ) { + + /* Get the post type object. */ + $post_type_object = get_post_type_object( get_query_var( 'post_type' ) ); + + /* If $front has been set, add it to the $path. */ + if ( $post_type_object->rewrite['with_front'] && $wp_rewrite->front ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If there's a slug, add it to the $path. */ + if ( !empty( $post_type_object->rewrite['archive'] ) ) + $path .= $post_type_object->rewrite['archive']; + + /* If there's a path, check for parents. */ + if ( !empty( $path ) && '/' != $path ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* Add the post type [plural] name to the trail end. */ + $trail['trail_end'] = $post_type_object->labels->name; + } + + /* If viewing an author archive. */ + elseif ( is_author() ) { + /* If $front has been set, add it to $path. */ + if ( !empty( $wp_rewrite->front ) ) + $path .= trailingslashit( $wp_rewrite->front ); + + /* If an $author_base exists, add it to $path. */ + if ( !empty( $wp_rewrite->author_base ) ) + $path .= $wp_rewrite->author_base; + + /* If $path exists, check for parent pages. */ + if ( !empty( $path ) ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $path ) ); + + /* Add the author's display name to the trail end. */ + $trail['trail_end'] = get_the_author_meta( 'display_name', get_query_var( 'author' ) ); + } + + /* If viewing a time-based archive. */ + elseif ( is_time() ) { + if ( get_query_var( 'minute' ) && get_query_var( 'hour' ) ) + $trail['trail_end'] = get_the_time( __( 'g:i a', 'woothemes' ) ); + + elseif ( get_query_var( 'minute' ) ) + $trail['trail_end'] = sprintf( __( 'Minute %1$s', 'woothemes' ), get_the_time( __( 'i', 'woothemes' ) ) ); + + elseif ( get_query_var( 'hour' ) ) + $trail['trail_end'] = get_the_time( __( 'g a', 'woothemes' ) ); + } + + /* If viewing a date-based archive. */ + elseif ( is_date() ) { + /* If $front has been set, check for parent pages. */ + if ( $wp_rewrite->front ) + $trail = array_merge( $trail, woo_breadcrumbs_get_parents( '', $wp_rewrite->front ) ); + + if ( is_day() ) { + $trail[] = '' . get_the_time( __( 'Y', 'woothemes' ) ) . ''; + $trail[] = '' . get_the_time( __( 'F', 'woothemes' ) ) . ''; + $trail['trail_end'] = get_the_time( __( 'j', 'woothemes' ) ); + } + + elseif ( get_query_var( 'w' ) ) { + $trail[] = '' . get_the_time( __( 'Y', 'woothemes' ) ) . ''; + $trail['trail_end'] = sprintf( __( 'Week %1$s', 'woothemes' ), get_the_time( esc_attr__( 'W', 'woothemes' ) ) ); + } + + elseif ( is_month() ) { + $trail[] = '' . get_the_time( __( 'Y', 'woothemes' ) ) . ''; + $trail['trail_end'] = get_the_time( __( 'F', 'woothemes' ) ); + } + + elseif ( is_year() ) { + $trail['trail_end'] = get_the_time( __( 'Y', 'woothemes' ) ); + } + } + } + + /* If viewing search results. */ + elseif ( is_search() ) + $trail['trail_end'] = sprintf( __( 'Search results for "%1$s"', 'woothemes' ), esc_attr( get_search_query() ) ); + + /* If viewing a 404 error page. */ + elseif ( is_404() ) + $trail['trail_end'] = __( '404 Not Found', 'woothemes' ); + + /* Allow child themes/plugins to filter the trail array. */ + $trail = apply_filters( 'woo_breadcrumbs_trail', $trail, $args ); + + /* Connect the breadcrumb trail if there are items in the trail. */ + if ( is_array( $trail ) ) { + + /* Open the breadcrumb trail containers. */ + $breadcrumb = ''; + } + + /* Allow developers to filter the breadcrumb trail HTML. */ + $breadcrumb = apply_filters( 'woo_breadcrumbs', $breadcrumb ); + + /* Output the breadcrumb. */ + if ( $echo ) + echo $breadcrumb; + else + return $breadcrumb; +} // End woo_breadcrumbs() + +if ( ! function_exists( 'wf_set_default_breadcrumb_taxonomies' ) ) { +/** + * Cater for WooThemes post types where we know the taxonomy. These should be done in each plugin, in future. + * @since 6.0.0 + * @param array $args Arguments. + * @return array Arguments. + */ +function wf_set_default_breadcrumb_taxonomies ( $args ) { + $post_types = get_post_types( array( 'public' => true ) ); + if ( 0 < count( $post_types ) ) { + foreach ( $post_types as $k => $v ) { + $taxonomies = get_taxonomies( array( 'object_type' => array( $k ), 'public' => true ) ); + $post_types[$k] = ''; + // Choose the first taxonomy, if one is present. + if ( 0 < count( $taxonomies ) ) { + foreach ( $taxonomies as $i => $j ) { + if ( '' != $post_types[$k] ) continue; + $post_types[$k] = $j; + } + } + + if ( '' != $post_types[$k] && ! isset( $args['singular_' . $k . '_taxonomy'] ) && is_singular() && ( $k == get_post_type() ) ) { + $args['singular_' . $k . '_taxonomy'] = $post_types[$k]; + } + } + } + + return $args; +} // End wf_set_default_breadcrumb_taxonomies() +} +add_filter( 'woo_breadcrumbs_args', 'wf_set_default_breadcrumb_taxonomies' ); + +if ( ! function_exists( 'wf_maybe_add_shop_page_link' ) ) { +/** + * If WooCommerce is present, and we've got a post_type_archive_link, replace it with the shop page. + * @since 6.0.0 + * @param array $trail The breadcrumb trail array. + * @return array The modified breadcrumb trail array. + */ +function wf_maybe_add_shop_page_link ( $trail ) { + if ( is_singular() && 'product' == get_post_type() && function_exists( 'wc_get_page_id' ) ) { + $permalinks = get_option( 'woocommerce_permalinks' ); + $shop_page_id = wc_get_page_id( 'shop' ); + $shop_page = get_post( $shop_page_id ); + + // If permalinks contain the shop page in the URI prepend the breadcrumb with shop + if ( isset( $trail['post_type_archive_link'] ) ) { + if ( $shop_page_id && $shop_page && strstr( $permalinks['product_base'], '/' . $shop_page->post_name ) && get_option( 'page_on_front' ) !== $shop_page_id ) { + $trail['post_type_archive_link'] = '' . esc_html( $shop_page->post_title ) . ''; + } else { + if ( true == (bool)apply_filters( 'wf_hide_product_post_type_archive_link', false ) ) { + unset( $trail['post_type_archive_link'] ); + } + } + } + } + return $trail; +} // End wf_set_default_breadcrumb_taxonomies() +} +add_filter( 'woo_breadcrumbs_trail', 'wf_maybe_add_shop_page_link' ); + +/*-----------------------------------------------------------------------------------*/ +/* woo_breadcrumbs_get_parents() - Retrieve the parents of the current page/post */ +/*-----------------------------------------------------------------------------------*/ +/** + * Gets parent pages of any post type or taxonomy by the ID or Path. The goal of this function is to create + * a clear path back to home given what would normally be a "ghost" directory. If any page matches the given + * path, it'll be added. But, it's also just a way to check for a hierarchy with hierarchical post types. + * + * @since 3.7.0 + * @param int $post_id ID of the post whose parents we want. + * @param string $path Path of a potential parent page. + * @return array $trail Array of parent page links. + */ +function woo_breadcrumbs_get_parents( $post_id = '', $path = '' ) { + /* Set up an empty trail array. */ + $trail = array(); + + /* If neither a post ID nor path set, return an empty array. */ + if ( empty( $post_id ) && empty( $path ) ) + return $trail; + + /* If the post ID is empty, use the path to get the ID. */ + if ( empty( $post_id ) ) { + + /* Get parent post by the path. */ + $parent_page = get_page_by_path( $path ); + + /* ******************************************************************** + Modification: The above line won't get the parent page if + the post type slug or parent page path is not the full path as required + by get_page_by_path. By using get_page_with_title, the full parent + trail can be obtained. This may still be buggy for page names that use + characters or long concatenated names. + Author: Byron Rode + Date: 06 June 2011 + ******************************************************************* */ + + if( empty( $parent_page ) ) + // search on page name (single word) + $parent_page = get_page_by_title ( $path ); + + if( empty( $parent_page ) ) + // search on page title (multiple words) + $parent_page = get_page_by_title ( str_replace( array('-', '_'), ' ', $path ) ); + + /* End Modification */ + + /* If a parent post is found, set the $post_id variable to it. */ + if ( !empty( $parent_page ) ) + $post_id = $parent_page->ID; + } + + /* If a post ID and path is set, search for a post by the given path. */ + if ( $post_id == 0 && !empty( $path ) ) { + + /* Separate post names into separate paths by '/'. */ + $path = trim( $path, '/' ); + preg_match_all( "/\/.*?\z/", $path, $matches ); + + /* If matches are found for the path. */ + if ( isset( $matches ) ) { + + /* Reverse the array of matches to search for posts in the proper order. */ + $matches = array_reverse( $matches ); + + /* Loop through each of the path matches. */ + foreach ( $matches as $match ) { + + /* If a match is found. */ + if ( isset( $match[0] ) ) { + + /* Get the parent post by the given path. */ + $path = str_replace( $match[0], '', $path ); + $parent_page = get_page_by_path( trim( $path, '/' ) ); + + /* If a parent post is found, set the $post_id and break out of the loop. */ + if ( !empty( $parent_page ) && $parent_page->ID > 0 ) { + $post_id = $parent_page->ID; + break; + } + } + } + } + } + + /* While there's a post ID, add the post link to the $parents array. */ + while ( $post_id ) { + /* Get the post by ID. */ + $page = get_page( $post_id ); + + /* Add the formatted post link to the array of parents. */ + $parents[] = '' . esc_html( get_the_title( $post_id ) ) . ''; + + /* Set the parent post's parent to the post ID. */ + $post_id = $page->post_parent; + } + + /* If we have parent posts, reverse the array to put them in the proper order for the trail. */ + if ( isset( $parents ) ) + $trail = array_reverse( $parents ); + + /* Return the trail of parent posts. */ + return $trail; +} // End woo_breadcrumbs_get_parents() + +/*-----------------------------------------------------------------------------------*/ +/* woo_breadcrumbs_get_term_parents() - Retrieve the parents of the current term */ +/*-----------------------------------------------------------------------------------*/ +/** + * Searches for term parents of hierarchical taxonomies. This function is similar to the WordPress + * function get_category_parents() but handles any type of taxonomy. + * + * @since 3.7.0 + * @param int $parent_id The ID of the first parent. + * @param object|string $taxonomy The taxonomy of the term whose parents we want. + * @return array $trail Array of links to parent terms. + */ +function woo_breadcrumbs_get_term_parents( $parent_id = '', $taxonomy = '' ) { + /* Set up some default arrays. */ + $trail = array(); + $parents = array(); + + /* If no term parent ID or taxonomy is given, return an empty array. */ + if ( empty( $parent_id ) || empty( $taxonomy ) ) + return $trail; + + /* While there is a parent ID, add the parent term link to the $parents array. */ + while ( $parent_id ) { + + /* Get the parent term. */ + $parent = get_term( $parent_id, $taxonomy ); + + /* Add the formatted term link to the array of parent terms. */ + $parents[] = '' . $parent->name . ''; + + /* Set the parent term's parent as the parent ID. */ + $parent_id = $parent->parent; + } + + /* If we have parent terms, reverse the array to put them in the proper order for the trail. */ + if ( !empty( $parents ) ) + $trail = array_reverse( $parents ); + + /* Return the trail of parent terms. */ + return $trail; +} // End woo_breadcrumbs_get_term_parents() + +/** + * Retrieve term parents with separator. + * + * @param int $id Term ID. + * @param string $taxonomy. + * @param bool $link Optional, default is false. Whether to format with link. + * @param string $separator Optional, default is '/'. How to separate terms. + * @param bool $nicename Optional, default is false. Whether to use nice name for display. + * @param array $visited Optional. Already linked to terms to prevent duplicates. + * @return string + */ + +if ( ! function_exists( 'woo_get_term_parents' ) ) { +function woo_get_term_parents( $id, $taxonomy, $link = false, $separator = '/', $nicename = false, $visited = array() ) { + $chain = ''; + $parent = get_term( $id, $taxonomy ); + if ( is_wp_error( $parent ) ) + return $parent; + + if ( $nicename ) { + $name = $parent->slug; + } else { + $name = $parent->name; + } + + if ( $parent->parent && ( $parent->parent != $parent->term_id ) && !in_array( $parent->parent, $visited ) ) { + $visited[] = $parent->parent; + $chain .= woo_get_term_parents( $parent->parent, $taxonomy, $link, $separator, $nicename, $visited ); + } + + if ( $link ) { + $chain .= '' . esc_html( $parent->name ) . '' . $separator; + } else { + $chain .= $name.$separator; + } + return $chain; +} // End woo_get_term_parents() +} + +/*-----------------------------------------------------------------------------------*/ +/* woo_prepare_category_ids_from_option() + * + * Setup an array of category IDs, from a given theme option. + * Attempt to transform category slugs into ID values as well. + * + * Params: String $option + * Return: Array $cats +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_prepare_category_ids_from_option' ) ) { + function woo_prepare_category_ids_from_option ( $option ) { + $cats = array(); + + $stored_cats = get_option( $option ); + + $cats_raw = explode( ',', $stored_cats ); + + if ( is_array( $cats_raw ) && ( count( $cats_raw ) > 0 ) ) { + foreach ( $cats_raw as $k => $v ) { + $value = trim( $v ); + + if ( is_numeric( $value ) ) { + $cats_raw[$k] = $value; + } else { + $cat_obj = get_category_by_slug( $value ); + if ( isset( $cat_obj->term_id ) ) { + $cats_raw[$k] = $cat_obj->term_id; + } + } + + $cats = $cats_raw; + } + } + + return $cats; + } // End woo_prepare_category_ids_from_option() +} + +/*-----------------------------------------------------------------------------------*/ +/* Move tracking code from footer to header */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'init', 'woo_move_tracking_code', 20 ); + +function woo_move_tracking_code () { + $move_code = get_option( 'framework_woo_move_tracking_code' ); + + if ( ! is_admin() && isset( $move_code ) && ( $move_code == 'true' ) ) { + remove_action( 'wp_footer', 'woo_analytics' ); + add_action( 'wp_head', 'woo_analytics', 10 ); + } +} // End woo_move_tracking_code() + + +/*-----------------------------------------------------------------------------------*/ +/* woo_get_dynamic_value() */ +/* Replace values in a provided array with theme options, if available. */ +/* +/* $settings array should resemble: $settings = array( 'theme_option_without_woo_' => 'default_value' ); +/* +/* @since 4.4.4 */ +/*-----------------------------------------------------------------------------------*/ + +function woo_get_dynamic_values ( $settings ) { + $all = WF()->settings->get_all(); + if ( is_array( $all ) && 0 < count( $all ) ) { + foreach ( $settings as $k => $v ) { + $k = str_replace( 'woo_', '', $k ); // Make sure we remove the prefix. + if ( isset( $all['woo_' . $k] ) ) { $settings[$k] = $all['woo_' . $k]; } + } + } + + return (array)apply_filters( 'woo_get_dynamic_values', $settings ); +} // End woo_get_dynamic_values() + +/*-----------------------------------------------------------------------------------*/ +/* woo_get_posts_by_taxonomy() +/* +/* Selects posts based on specified taxonomies. +/* +/* @since 4.5.0 +/* @param array $args +/* @return array $posts +/*-----------------------------------------------------------------------------------*/ + + function woo_get_posts_by_taxonomy ( $args = null ) { + global $wp_query; + + $posts = array(); + + /* Parse arguments, and declare individual variables for each. */ + + $defaults = array( + 'limit' => 5, + 'post_type' => 'any', + 'taxonomies' => 'post_tag, category', + 'specific_terms' => '', + 'relationship' => 'OR', + 'order' => 'DESC', + 'orderby' => 'date', + 'operator' => 'IN', + 'exclude' => '' + ); + + $args = wp_parse_args( $args, $defaults ); + + extract( $args, EXTR_SKIP ); + + // Make sure the order value is safe. + if ( ! in_array( $order, array( 'ASC', 'DESC' ) ) ) { $order = $defaults['order']; } + + // Make sure the orderby value is safe. + if ( ! in_array( $orderby, array( 'none', 'id', 'author', 'title', 'date', 'modified', 'parent', 'rand', 'comment_count', 'menu_order' ) ) ) { $orderby = $defaults['orderby']; } + + // Make sure the operator value is safe. + if ( ! in_array( $operator, array( 'IN', 'NOT IN', 'AND' ) ) ) { $orderby = $defaults['operator']; } + + // Convert our post types to an array. + if ( ! is_array( $post_type ) ) { $post_type = explode( ',', $post_type ); } + + // Convert our taxonomies to an array. + if ( ! is_array( $taxonomies ) ) { $taxonomies = explode( ',', $taxonomies ); } + + // Convert exclude to an array. + if ( ! is_array( $exclude ) && ( $exclude != '' ) ) { $exclude = explode( ',', $exclude ); } + + if ( ! count( (array)$taxonomies ) ) { return; } + + // Clean up our taxonomies for use in the query. + if ( count( $taxonomies ) ) { + foreach ( $taxonomies as $k => $v ) { + $taxonomies[$k] = trim( $v ); + } + } + + // Determine which terms we're going to relate to this entry. + $related_terms = array(); + + foreach ( $taxonomies as $t ) { + $terms = get_terms( $t, 'orderby=id&hide_empty=1' ); + + if ( ! empty( $terms ) ) { + foreach ( $terms as $k => $v ) { + $related_terms[$t][$v->term_id] = $v->slug; + } + } + } + + // If specific terms are available, use those. + if ( ! is_array( $specific_terms ) ) { $specific_terms = explode( ',', $specific_terms ); } + + if ( count( $specific_terms ) ) { + foreach ( $specific_terms as $k => $v ) { + $specific_terms[$k] = trim( $v ); + } + } + + // Look for posts with the same terms. + + // Setup query arguments. + $query_args = array(); + + if ( $post_type ) { $query_args['post_type'] = $post_type; } + + if ( $limit ) { + $query_args['posts_per_page'] = $limit; + // $query_args['nopaging'] = true; + } + + // Setup specific posts to exclude. + if ( count( $exclude ) > 0 ) { + $query_args['post__not_in'] = $exclude; + } + + $query_args['order'] = $order; + $query_args['orderby'] = $orderby; + + $query_args['tax_query'] = array(); + + // Setup for multiple taxonomies. + + if ( count( $related_terms ) > 1 ) { + $query_args['tax_query']['relation'] = $args['relationship']; + } + + // Add the taxonomies to the query arguments. + + foreach ( (array)$related_terms as $k => $v ) { + $terms_for_search = array_values( $v ); + + if ( count( $specific_terms ) ) { + $specific_terms_by_tax = array(); + + foreach ( $specific_terms as $i => $j ) { + if ( in_array( $j, array_values( $v ) ) ) { + $specific_terms_by_tax[] = $j; + } + } + + if ( count( $specific_terms_by_tax ) ) { + $terms_for_search = $specific_terms_by_tax; + } + } + + $query_args['tax_query'][] = array( + 'taxonomy' => $k, + 'field' => 'slug', + 'terms' => $terms_for_search, + 'operator' => $operator + ); + } + + if ( empty( $query_args['tax_query'] ) ) { return; } + + $query_saved = $wp_query; + + $query = new WP_Query( $query_args ); + + if ( $query->have_posts() ) { + while( $query->have_posts() ) { + $query->the_post(); + + $posts[] = $query->post; + } + } + + $query = $query_saved; + + wp_reset_query(); + + return $posts; + } // End woo_get_posts_by_taxonomy() + +/*-----------------------------------------------------------------------------------*/ +/* If the user has specified a "posts page", load the "Blog" page template there */ +/*-----------------------------------------------------------------------------------*/ + +add_filter( 'template_include', 'woo_load_posts_page_blog_template', 10 ); + +if ( ! function_exists( 'woo_load_posts_page_blog_template' ) ) { + function woo_load_posts_page_blog_template ( $template ) { + if ( 'page' == get_option( 'show_on_front' ) && ( '' != get_option( 'page_for_posts' ) ) && is_home() ) { + $tpl = locate_template( array( 'template-blog.php' ) ); + if ( $tpl != '' ) { $template = $tpl; } + } + return $template; + } // End woo_load_posts_page_blog_template() +} + +/*-----------------------------------------------------------------------------------*/ +/* THE END */ +/*-----------------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------------*/ +/* WooDojo Download Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'install_plugins' ) && ! class_exists( 'WooDojo' ) ) { + add_action( 'wooframework_container_inside', 'wooframework_add_woodojo_banner' ); +} + +add_action( 'wp_ajax_wooframework_banner_close', 'wooframework_ajax_banner_close' ); + +/** + * Add a WooDojo banner on the Theme Options screen. + * @since 5.3.4 + * @return void + */ +function wooframework_add_woodojo_banner () { + if ( get_user_setting( 'wooframeworkhidebannerwoodojo', '0' ) == '1' ) { return; } + + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=woodojo' ), 'wooframework_banner_close' ); + $html = ''; + + $html .= '
                    ' . "\n"; + $html .= '' . __( 'Enhance your theme with WooDojo.', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'WooDojo is a powerful WooThemes features suite for enhancing your website. Learn more.', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'Get WooDojo', 'woothemes' ) . '' . "\n"; + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
                    ' . "\n"; + + echo $html; +} // End wooframework_add_woodojo_banner() + +/** + * wooframework_ajax_banner_close function. + * + * @access public + * @since 1.0.0 + */ +function wooframework_ajax_banner_close () { + if( ! current_user_can( 'install_plugins' ) ) wp_die( __( 'You do not have sufficient permissions to access this page.', 'woothemes' ) ); + + if( ! check_admin_referer( 'wooframework_banner_close' ) ) wp_die( __( 'You have taken too long. Please go back and retry.', 'woothemes' ) ); + + $banner = ( isset( $_GET['banner'] ) ) ? $_GET['banner'] : ''; + + if( ! $banner ) die; + + // Run the update. + $response = set_user_setting( 'wooframeworkhidebanner' . $banner, '1' ); + + $sendback = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'ids' ), wp_get_referer() ); + wp_safe_redirect( $sendback ); + exit; +} // End toggle_notifications_status() + +/*-----------------------------------------------------------------------------------*/ +/* Timthumb Detection Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'install_plugins' ) ) { + add_action( 'wooframework_wooframeworksettings_container_inside', 'wooframework_add_wootimthumb_banner' ); + add_action( 'wooframework_container_inside', 'wooframework_add_wootimthumb_banner' ); +} + +/** + * Add a Timthumb Detection banner on all WooThemes Options screens. + * @since 5.4.0 + * @return void + */ +function wooframework_add_wootimthumb_banner () { + if ( get_user_setting( 'wooframeworkhidebannerwootimthumb', '0' ) == '1' ) { return; } + + // Test for old timthumb scripts + $thumb_php_test = file_exists( get_template_directory() . '/thumb.php' ); + $timthumb_php_test = file_exists( get_template_directory() . '/timthumb.php' ); + + if ( $thumb_php_test || $timthumb_php_test ) { + $theme_dir = str_replace( WP_CONTENT_DIR, '', get_template_directory() ); + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=wootimthumb' ), 'wooframework_banner_close' ); + $html = ''; + + $html .= '
                    ' . "\n"; + $html .= '' . __( 'ATTENTION: Insecure Version of Timthumb Image Resize Script Detected', 'woothemes' ) . '' . "\n"; + $html .= '' . __( "A possible old version of the TimThumb script was detected in your theme folder. Please remove the following files from your theme as a security precaution", 'woothemes' ) . ':' . "\n"; + if ( $thumb_php_test ) { $html .= '- thumb.php ( found at ' . $theme_dir . '/thumb.php' . ' )' . "\n"; } + if ( $timthumb_php_test ) { $html .= '- timthumb.php ( found at ' . $theme_dir . '/timthumb.php' . ' )' . "\n"; } + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
                    ' . "\n"; + + echo $html; + } else { + return; + } + +} // End wooframework_add_wootimthumb_banner() + +/*-----------------------------------------------------------------------------------*/ +/* Static Front Page Detection Banner */ +/*-----------------------------------------------------------------------------------*/ + +if ( is_admin() && current_user_can( 'manage_options' ) && ( 0 < intval( get_option( 'page_on_front' ) ) ) ) { + add_action( 'wooframework_container_inside', 'wooframework_add_static_front_page_banner' ); +} + +/** + * Add a Static Front Page Detection banner on all WooThemes Options screens. + * @since 5.5.2 + * @return void + */ +function wooframework_add_static_front_page_banner () { + if ( get_user_setting( 'wooframeworkhidebannerstaticfrontpage', '0' ) == '1' ) { return; } + $theme_data = wooframework_get_theme_version_data(); + $close_url = wp_nonce_url( admin_url( 'admin-ajax.php?action=wooframework_banner_close&banner=staticfrontpage' ), 'wooframework_banner_close' ); + $html = ''; + $html .= '
                    ' . "\n"; + $html .= '' . sprintf( __( 'You have setup a static front page in %1$sSettings > Reading%2$s. Please set it to show "Your latest posts" if you want to display the default homepage in %3$s.', 'woothemes' ), '', '', $theme_data['theme_name'], '', '' ) . '' . "\n"; + $html .= '' . __( 'Close', 'woothemes' ) . '' . "\n"; + $html .= '
                    ' . "\n"; + + echo $html; +} // End wooframework_add_static_front_page_banner() + +/** + * Get the version data for the currently active theme. + * @since 5.4.2 + * @return array [theme_version, theme_name, framework_version, is_child, child_theme_version, child_theme_name] + */ +if ( ! function_exists( 'wooframework_get_theme_version_data' ) ) { +function wooframework_get_theme_version_data () { + $response = array( + 'theme_version' => '', + 'theme_name' => '', + 'framework_version' => get_option( 'woo_framework_version' ), + 'is_child' => is_child_theme(), + 'child_theme_version' => '', + 'child_theme_name' => '' + ); + + if ( function_exists( 'wp_get_theme' ) ) { + $theme_data = wp_get_theme(); + if ( true == $response['is_child'] ) { + $response['theme_version'] = $theme_data->parent()->Version; + $response['theme_name'] = $theme_data->parent()->Name; + + $response['child_theme_version'] = $theme_data->Version; + $response['child_theme_name'] = $theme_data->Name; + } else { + $response['theme_version'] = $theme_data->Version; + $response['theme_name'] = $theme_data->Name; + } + } else { + $theme_data = get_theme_data( get_template_directory() . '/style.css' ); + $response['theme_version'] = $theme_data['Version']; + $response['theme_name'] = $theme_data['Name']; + + if ( true == $response['is_child'] ) { + $theme_data = get_theme_data( get_stylesheet_directory() . '/style.css' ); + $response['child_theme_version'] = $theme_data['Version']; + $response['child_theme_name'] = $theme_data['Name']; + } + } + + return $response; +} // End wooframework_get_theme_version_data() +} + +if ( ! function_exists( 'wooframework_display_theme_version_data' ) ) { +/** + * Display the version data for the currently active theme. + * @since 5.4.2 + * @return void + */ +function wooframework_display_theme_version_data ( $echo = true ) { + $data = wooframework_get_theme_version_data(); + $html = ''; + + // Theme Version + if ( true == $data['is_child'] ) { + $html .= '' . esc_html( $data['child_theme_name'] . ' ' . $data['child_theme_version'] ) . '' . "\n"; + $html .= '' . esc_html( $data['theme_name'] . ' ' . $data['theme_version'] ) . '' . "\n"; + } else { + $html .= '' . esc_html( $data['theme_name'] . ' ' . $data['theme_version'] ) . '' . "\n"; + } + + // Framework Version + $html .= '' . esc_html( sprintf( __( 'Framework %s', 'woothemes' ), $data['framework_version'] ) ) . '' . "\n"; + + if ( true == $echo ) { echo $html; } else { return $html; } +} // End wooframework_display_theme_version_data() +} + +if ( ! function_exists( 'wooframework_load_google_fonts' ) ) { +/** + * Load relevant Google Fonts for use in the "Custom Typography" shortcode. + * @since 5.5.5 + * @return void + */ +function wooframework_load_google_fonts() { + global $woo_used_google_fonts; + + if( $woo_used_google_fonts && is_array( $woo_used_google_fonts ) ) { + $fonts = ''; + $c = 0; + foreach( $woo_used_google_fonts as $font ) { + if( $c > 0 ) { + $fonts .= '|'; + } else { + ++$c; + } + $fonts .= $font; + } + + if( '' != $fonts ) { + woo_shortcode_typography_loadgooglefonts( $fonts , 'woo-used-google-fonts' ); + } + } +} // End wooframework_load_google_fonts() +} +add_action( 'wp_footer', 'wooframework_load_google_fonts' ); + +if ( ! function_exists( 'woo_trim_excerpt' ) ) { +/** + * A spin off of wp_trim_excerpt(), primarily used for additional control when removing the dropcap shortcode from excerpts. + * @since 6.0.0 + * @return void + */ +function woo_trim_excerpt ( $text ) { + $text = strip_shortcodes( $text ); + + /** This filter is documented in wp-includes/post-template.php */ + $text = apply_filters( 'the_content', $text ); + $text = str_replace(']]>', ']]>', $text); + + /** + * Filter the number of words in an excerpt. + * + * @since 2.7.0 + * + * @param int $number The number of words. Default 55. + */ + $excerpt_length = apply_filters( 'excerpt_length', 55 ); + /** + * Filter the string in the "more" link displayed after a trimmed excerpt. + * + * @since 2.9.0 + * + * @param string $more_string The string shown within the more link. + */ + $excerpt_more = apply_filters( 'excerpt_more', ' ' . '[…]' ); + $text = wp_trim_words( $text, $excerpt_length, $excerpt_more ); + + return $text; +} // End woo_trim_excerpt() +} +?> \ No newline at end of file diff --git a/bueno/functions/admin-hooks.php b/bueno/functions/admin-hooks.php new file mode 100755 index 0000000..e0f846e --- /dev/null +++ b/bueno/functions/admin-hooks.php @@ -0,0 +1,252 @@ +context has been set, don't run through the conditionals again. Just return the variable. */ + if ( is_object( $query_context ) && isset( $query_context->context ) && is_array( $query_context->context ) ) { + return $query_context->context; + } + + unset( $query_context ); + $query_context = new stdClass(); + $query_context->context = array(); + + /* Front page of the site. */ + if ( is_front_page() ) { + $query_context->context[] = 'home'; + } + + /* Blog page. */ + if ( is_home() && ! is_front_page() ) { + $query_context->context[] = 'blog'; + + /* Singular views. */ + } elseif ( is_singular() ) { + $query_context->context[] = 'singular'; + $query_context->context[] = "singular-{$wp_query->post->post_type}"; + + /* Page Templates. */ + if ( is_page_template() ) { + $to_skip = array( 'page', 'post' ); + + $page_template = basename( get_page_template() ); + $page_template = str_replace( '.php', '', $page_template ); + $page_template = str_replace( '.', '-', $page_template ); + + if ( $page_template && ! in_array( $page_template, $to_skip ) ) { + $query_context->context[] = $page_template; + } + } + + $query_context->context[] = "singular-{$wp_query->post->post_type}-{$wp_query->post->ID}"; + } + + /* Archive views. */ + elseif ( is_archive() ) { + $query_context->context[] = 'archive'; + + /* Taxonomy archives. */ + if ( is_tax() || is_category() || is_tag() ) { + $term = $wp_query->get_queried_object(); + $query_context->context[] = 'taxonomy'; + $query_context->context[] = $term->taxonomy; + $query_context->context[] = "{$term->taxonomy}-" . sanitize_html_class( $term->slug, $term->term_id ); + } + + /* User/author archives. */ + elseif ( is_author() ) { + $query_context->context[] = 'user'; + $query_context->context[] = 'user-' . sanitize_html_class( get_the_author_meta( 'user_nicename', get_query_var( 'author' ) ), $wp_query->get_queried_object_id() ); + } + + /* Time/Date archives. */ + else { + if ( is_date() ) { + $query_context->context[] = 'date'; + if ( is_year() ) + $query_context->context[] = 'year'; + if ( is_month() ) + $query_context->context[] = 'month'; + if ( get_query_var( 'w' ) ) + $query_context->context[] = 'week'; + if ( is_day() ) + $query_context->context[] = 'day'; + } + if ( is_time() ) { + $query_context->context[] = 'time'; + if ( get_query_var( 'hour' ) ) + $query_context->context[] = 'hour'; + if ( get_query_var( 'minute' ) ) + $query_context->context[] = 'minute'; + } + } + } + + /* Search results. */ + elseif ( is_search() ) { + $query_context->context[] = 'search'; + /* Error 404 pages. */ + } elseif ( is_404() ) { + $query_context->context[] = 'error-404'; + } + + return $query_context->context; +} // End woo_get_query_context() +} +?> \ No newline at end of file diff --git a/bueno/functions/admin-init.php b/bueno/functions/admin-init.php new file mode 100755 index 0000000..1fdc26f --- /dev/null +++ b/bueno/functions/admin-init.php @@ -0,0 +1,98 @@ +\n"; + if ( isset( $data['is_child'] ) && true == $data['is_child'] ) echo '' ."\n"; + echo '' ."\n"; + echo '' ."\n"; +} // End woo_version() + +/*-----------------------------------------------------------------------------------*/ +/* Load the required Framework Files */ +/*-----------------------------------------------------------------------------------*/ + +$functions_path = get_template_directory() . '/functions/'; +$classes_path = $functions_path . 'classes/'; + +if ( true == (bool)apply_filters( 'wf_load_deprecated_functions', true ) ) { + require_once( $functions_path . 'deprecated.php' ); // Load deprecated functionality. Can be disabled via a filter if the user doesn't wish to load these functions. + require_once( $functions_path . 'admin-medialibrary-uploader.php' ); // Framework Media Library Uploader Functions // 2010-11-05. +} +// Load core classes for the WooFramework. +require_once( $classes_path . 'class-wf.php' ); // WF core class. +require_once( $classes_path . 'class-wf-fields.php' ); // Form fields generator class. +require_once( $classes_path . 'class-wf-fields-settings.php' ); // Theme settings class. Extends WF_Fields. +require_once( $classes_path . 'class-wf-fields-meta.php' ); // Post meta fields class. Extends WF_Fields. +require_once( $classes_path . 'class-wf-settings.php' ); // A class to handle all basic settings interactions. +require_once( $classes_path . 'class-wf-meta.php' ); // Meta box generator class. + +/** + * Returns the main instance of WF to prevent the need to use globals. + * + * @since 1.0.0 + * @return object WF + */ +function WF() { + return WF::instance(); +} // End WF() + +// Run the WF() function to generate the initial instance. +WF(); + +// Load the other WooFramework files. +require_once( $functions_path . 'admin-functions.php' ); // Functions used in the WooFramework and in the theme files. +require_once( $functions_path . 'admin-setup.php' ); // Set up the WooFramework. +require_once( $functions_path . 'admin-interface.php' ); // Administration interfaces. +require_once( $functions_path . 'admin-seo.php' ); // SEO functions. +require_once( $functions_path . 'admin-sbm.php' ); // Widget Area functions. +require_once( $functions_path . 'admin-hooks.php' ); // Contextual hooks. + +if ( true == (bool)apply_filters( 'wf_enable_custom_nav', false ) ) { + require_once( $functions_path . 'admin-custom-nav.php' ); // Woo Custom Navigation +} + +require_once ( $functions_path . 'admin-shortcodes.php' ); // Woo Shortcodes + +// Load certain files only in the WordPress admin. +if ( is_admin() ) { + require_once( $classes_path . 'class-wf-screen-admin-base.php' ); // Base class for common functionality used on more technical admin screens. + require_once( $classes_path . 'class-wf-screen.php' ); // Admin screen class. + require_once( $classes_path . 'class-wf-screen-welcome.php' ); // Welcome screen class. + require_once( $classes_path . 'class-wf-screen-framework.php' ); // Framework screen class. + + require_once( $classes_path . 'class-wf-backup.php' ); // WF_Backup Class. + require_once( $functions_path . 'admin-backup.php' ); // Theme Options Backup // 2011-08-26. + require_once( $functions_path . 'admin-shortcode-generator.php' ); // Framework Shortcode generator // 2011-01-21. +} else { + // Add or remove Generator meta tags + if ( true == apply_filters( 'wf_disable_generator_tags', false ) ) { + remove_action( 'wp_head', 'wp_generator' ); + } else { + add_action( 'wp_head', 'woo_version', 10 ); + } +} +?> \ No newline at end of file diff --git a/bueno/functions/admin-interface.php b/bueno/functions/admin-interface.php new file mode 100755 index 0000000..1d842b1 --- /dev/null +++ b/bueno/functions/admin-interface.php @@ -0,0 +1,315 @@ +get_assets_url() . 'images/placeholder.png'; + } else { + return $url; + } +} // End wf_set_default_placeholder_image_url() + +/** + * Set the default placeholder image path to the default image provided within the WooFramework. + * @since 6.0.1 + * @param string $path The current empty placeholder image path. + * @return string The default placeholder image path. + */ +function wf_set_default_placeholder_image_path ( $path ) { + if ( '' == $path ) { + return WF()->get_assets_path() . 'images/placeholder.png'; + } else { + return $path; + } +} // End wf_set_default_placeholder_image_path() + +if ( true == (bool)apply_filters( 'wf_use_default_placeholder_image', false ) ) { + add_filter( 'wf_placeholder_image_url', 'wf_set_default_placeholder_image_url' ); + add_filter( 'wf_placeholder_image_path', 'wf_set_default_placeholder_image_path' ); +} + +/** + * Enqueue menu.css. + * Used to control the display of WooFramework menu items across the dashboard + * @since 6.0.0 + * @return void + */ +function wf_menu_styles() { + $token = 'woo'; + $wf_version = wf_get_version(); + + wp_register_style( $token . '-menu', esc_url( WF()->get_assets_url() . 'css/menu.css' ), array(), $wf_version ); + wp_enqueue_style( $token . '-menu' ); +} + +add_action( 'admin_enqueue_scripts', 'wf_menu_styles' ); + +/** + * Display a list of useful links within the WordPress admin. + * @since 6.0.0 + * @return void + */ +function wf_useful_links () { + $theme_data = wooframework_get_theme_version_data(); + do_action( 'wf_useful_links_before' ); + $theme_name = strtolower( $theme_data['theme_name'] ) ; + $docs_url = get_option( 'woo_manual', 'http://docs.woothemes.com/document/' . urlencode( sanitize_title( $theme_name ) ) ); + $html = '' . "\n"; + echo $html; + do_action( 'wf_useful_links_after' ); +} // End wf_useful_links() + +add_action( 'wf_screen_header_before_content_woothemes', 'wf_useful_links' ); +add_action( 'wf_screen_header_before_content_wf-framework', 'wf_useful_links' ); + +if ( ! function_exists( 'woo_update_options_filter' ) ) { + function woo_update_options_filter( $new_value, $old_value ) { + if ( !current_user_can( 'unfiltered_html' ) ) { + // Options that get KSES'd + foreach( woo_ksesed_option_keys() as $option ) { + $new_value[$option] = wp_kses_post( $new_value[$option] ); + } + // Options that cannot be set without unfiltered HTML + foreach( woo_disabled_if_not_unfiltered_html_option_keys() as $option ) { + $new_value[$option] = $old_value[$option]; + } + } + return $new_value; + } +} + +if ( ! function_exists( 'woo_prevent_option_update' ) ) { + function woo_prevent_option_update( $new_value, $old_value ) { + return $old_value; + } +} + +/** + * This is the list of options that are run through KSES on save for users without + * the unfiltered_html capability + */ +if ( ! function_exists( 'woo_ksesed_option_keys' ) ) { + function woo_ksesed_option_keys() { + return array(); + } +} + +/** + * This is the list of standalone options that are run through KSES on save for users without + * the unfiltered_html capability + */ +if ( ! function_exists( 'woo_ksesed_standalone_options' ) ) { + function woo_ksesed_standalone_options() { + return array( 'woo_footer_left_text', 'woo_footer_right_text', 'woo_connect_content' ); + } +} + +/** + * This is the list of options that users without the unfiltered_html capability + * are not able to update + */ +if ( ! function_exists( 'woo_disabled_if_not_unfiltered_html_option_keys' ) ) { + function woo_disabled_if_not_unfiltered_html_option_keys() { + return array( 'woo_google_analytics', 'woo_custom_css' ); + } +} + +add_filter( 'pre_update_option_woo_options', 'woo_update_options_filter', 10, 2 ); +foreach( woo_ksesed_standalone_options() as $o ) { + add_filter( 'pre_update_option_' . $o, 'wp_kses_post' ); +} +unset( $o ); + +if ( ! function_exists( 'woothemes_admin_menu_after' ) ) { +/** + * Load WooFramework menu items that should always appear last. + * @since 6.0.0 + * @return void + */ +function woothemes_admin_menu_after () { + global $current_user; + $current_user_id = $current_user->user_login; + $super_user = apply_filters( 'wf_super_user', '' ); + + do_action( 'wf_admin_menu_after_before_defaults' ); + + // Update Framework Menu Item + if( $super_user == $current_user_id || empty( $super_user ) ) { + $framework_update_page = add_submenu_page( 'woothemes', 'WooFramework Update', 'Update Framework', 'manage_options', 'woothemes_framework_update', 'woothemes_framework_update_page' ); + } + + do_action( 'wf_admin_menu_after' ); +} // End woothemes_admin_menu_after() +} + +add_action( 'admin_menu', 'woothemes_admin_menu_after', 50 ); + +// If this is the Listings theme, add the Content Builder admin menu item. +if ( function_exists( 'woothemes_content_builder_menu' ) ) { + add_action( 'wf_admin_menu_after_before_defaults', 'woothemes_content_builder_menu' ); +} + +/** + * Unset the interal WooFramework admin menu items, and preserve the screens themselves (linked to elsewhere). + * @since 6.0.0 + * @return void + */ +function wf_unset_internal_framework_menu_items () { + remove_submenu_page( 'woothemes', 'woothemes-backup' ); + remove_submenu_page( 'woothemes', 'woothemes_framework_update' ); +} // End wf_unset_internal_framework_menu_items() + +add_action( 'admin_head', 'wf_unset_internal_framework_menu_items' ); + +/** + * Load admin CSS on specific screens. + * @since 6.0.0 + * @return void + */ +function wf_load_admin_css () { + $load_on = (array)apply_filters( 'wf_load_admin_css', array( 'woothemes', 'wf-framework', 'woothemes-backup' ) ); + wp_register_style( 'wf-admin', esc_url( WF()->get_assets_url() . 'css/admin.css' ), array(), '1.0.0', 'all' ); + + if ( isset( $_GET['page'] ) && in_array( $_GET['page'], $load_on ) ) + wp_enqueue_style( 'wf-admin' ); +} // End wf_load_admin_css() + +add_action( 'admin_enqueue_scripts', 'wf_load_admin_css' ); + +/** + * Make sure to flush the rewrite rules when saving on the settings screen. + * @since 6.0.0 + */ +add_action( 'wf_settings_save_before', 'woo_flush_rewriterules' ); + +function woo_thumb_admin_notice() { + + if ( get_user_setting( 'wooframeworkhidebannerwootimthumb', '0' ) == '1' ) { return; } + global $current_user; + $current_user_id = $current_user->user_login; + $super_user = get_option( 'framework_woo_super_user' ); + if( $super_user == $current_user_id || empty( $super_user ) ) { + // Test for old timthumb scripts + $thumb_php_test = file_exists( get_template_directory() . '/thumb.php' ); + $timthumb_php_test = file_exists( get_template_directory() . '/timthumb.php' ); + + if ( ( $thumb_php_test || $timthumb_php_test ) && ! is_child_theme() ) { + echo '
                    +

                    ' . __( 'ATTENTION: A possible old version of the TimThumb script was detected in your theme folder. Please remove the following files from your theme as a security precaution.', 'woothemes' ) . ':

                    ' . "\n"; + if ( $thumb_php_test ) { echo '

                    - thumb.php

                    '; } + if ( $timthumb_php_test ) { echo '

                    - timthumb.php

                    '; } + echo '

                    ' . __( 'If you\'ve added "thumb.php" to your child theme manually please ensure the file is kept up to date. You can then safely hide this notice.', 'woothemes' ) . '

                    ' . "\n"; + echo '
                    '; + + } + } // End If Statement +} // End woo_thumb_admin_notice() + +add_action( 'admin_notices', 'woo_thumb_admin_notice' ); + +global $pagenow; +if ( $pagenow == 'admin.php' && isset( $_GET['page'] ) && $_GET['page'] == 'woothemes' ) { + if ( get_option( 'framework_woo_framework_version_checker' ) == 'true' ) { add_action( 'admin_notices', 'woo_framework_update_notice', 10 ); } + + add_action( 'admin_notices', 'woo_framework_critical_update_notice', 8 ); // Periodically check for critical WooFramework updates. +} + +/** + * woo_framework_update_notice function. + * + * @description Notify users of framework updates, if necessary. + * @since 4.8.0 + * @access public + * @return void + */ +if ( ! function_exists( 'woo_framework_update_notice' ) ) { + function woo_framework_update_notice () { + $local_version = get_option( 'woo_framework_version' ); + if ( $local_version == '' ) { return; } + $update_data = woo_framework_version_checker( $local_version ); + + $html = ''; + + if ( is_array( $update_data ) && $update_data['is_update'] == true ) { + $html = '

                    ' . sprintf( __( 'WooFramework update is available (v%s). %sDownload new version%s (%sSee Changelog%s)', 'woothemes' ), $update_data['version'], '', '', '', '' ) . '

                    '; + } + + if ( $html != '' ) { echo $html; } + } // End woo_framework_update_notice() +} + +/** + * woo_framework_critical_update_notice function. + * + * @description Notify users of critical framework updates, if necessary. + * @since 4.8.0 + * @access public + * @return void + */ +if ( ! function_exists( 'woo_framework_critical_update_notice' ) ) { + function woo_framework_critical_update_notice () { + // Determine if the check has happened. + $critical_update = get_transient( 'woo_framework_critical_update' ); + $critical_update_data = get_transient( 'woo_framework_critical_update_data' ); + + if ( ! $critical_update || ! is_array( $critical_update_data ) ) { + + $local_version = get_option( 'woo_framework_version' ); + if ( $local_version == '' ) { return; } + + $update_data = woo_framework_version_checker( $local_version, true ); + + // Set this to "has been checked" for 2 weeks. + set_transient( 'woo_framework_critical_update', true, 60*60*336 ); + + // Cache the data as well. + set_transient( 'woo_framework_critical_update_data', $update_data, 60*60*336 ); + } else { + $update_data = $critical_update_data; + } + + $html = ''; + + // Generate output based on returned/stored data. + if ( is_array( $update_data ) && $update_data['is_update'] == true && $update_data['is_critical'] == true ) { + + // Remove the generic update notice. + remove_action( 'admin_notices', 'woo_framework_update_notice', 10 ); + + $html = '

                    ' . sprintf( __( 'An important WooFramework update is available (v%s). %sDownload new version%s (%sSee Changelog%s)', 'woothemes' ), $update_data['version'], '', '', '', '' ) . '

                    '; + } + + if ( $html != '' ) { echo $html; } + } // End woo_framework_critical_update_notice() +} +?> \ No newline at end of file diff --git a/bueno/functions/admin-medialibrary-uploader.php b/bueno/functions/admin-medialibrary-uploader.php new file mode 100755 index 0000000..be52f7c --- /dev/null +++ b/bueno/functions/admin-medialibrary-uploader.php @@ -0,0 +1,340 @@ + + array( + 'name' => __( 'WooFramework Internal Container', 'woothemes' ), + ), + 'public' => true, + 'show_ui' => false, + 'capability_type' => 'post', + 'hierarchical' => false, + 'rewrite' => false, + 'supports' => array( 'title', 'editor' ), + 'query_var' => false, + 'can_export' => true, + 'show_in_nav_menus' => false + ) ); + } // End woothemes_mlu_init() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_css */ +/* +/* Add the Thickbox CSS file and specific loading and button images to the header +/* on the pages where this function is called. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_css' ) ) { + function woothemes_mlu_css () { + $_html = ''; + $_html .= '' . "\n"; + $_html .= '' . "\n"; + + echo $_html; + } // End woothemes_mlu_css() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_js */ +/* +/* Register and enqueue (load) the necessary JavaScript file for working with the +/* Media Library-driven AJAX File Uploader Module. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_js' ) ) { + function woothemes_mlu_js () { + // Register custom scripts for the Media Library AJAX uploader. + wp_register_script( 'woo-medialibrary-uploader', get_template_directory_uri() . '/functions/js/woo-medialibrary-uploader.js', array( 'jquery', 'thickbox' ) ); + wp_enqueue_script( 'woo-medialibrary-uploader' ); + wp_enqueue_script( 'media-upload' ); + } // End woothemes_mlu_js() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_medialibrary_uploader */ +/* +/* WooThemes Uploader Using the WordPress Media Library. +/* +/* Parameters: +/* - string $_id - A token to identify this field (the name). +/* - string $_value - The value of the field, if present. +/* - string $_mode - The display mode of the field. +/* - string $_desc - An optional description of the field. +/* - int $_postid - An optional post id (used in the meta boxes). +/* +/* Dependencies: +/* - woothemes_mlu_get_silentpost() +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_medialibrary_uploader' ) ) { + function woothemes_medialibrary_uploader ( $_id, $_value, $_mode = 'full', $_desc = '', $_postid = 0 ) { + $output = ''; + + $id = ''; + $class = ''; + $int = ''; + $value = ''; + + $id = strip_tags( strtolower( $_id ) ); + + // If a post id is present, use it. Otherwise, search for one based on the $_id. + if ( $_postid != 0 ) { + $int = $_postid; + } else { + $int = woothemes_mlu_get_silentpost( $id ); // Change for each field, using a "silent" post. If no post is present, one will be created. + } + + // If we're on a post add/edit screen, call the post meta value. + if ( $_mode == 'postmeta' ) { + $value = get_post_meta( $_postid, $id, true ); + } else { + $value = get_option( $id ); + } + + // If a value is passed and we don't have a stored value, use the value that's passed through. + if ( $_value != '' && $value == '' ) { + $value = $_value; + } + + if ( $value ) { $class = ' has-file'; } // End IF Statement + + // Hide the input field for "minimal" upload fields. + $field_type = 'text'; + if ( $_mode == 'min' ) { $field_type = 'hidden'; } + + $output .= '' . "\n"; + $output .= '' . "\n"; + + if ( $_desc != '' ) { + $output .= '' . $_desc . '' . "\n"; + } + + $output .= '
                    ' . "\n"; + + if ( $value != '' ) { + $remove = 'Remove'; + + $image = preg_match( '/(^.*\.jpg|jpeg|png|gif|ico*)/i', $value ); + + if ( $image ) { + $output .= ''.$remove.''; + } else { + $parts = explode( "/", $value ); + + for( $i = 0; $i < sizeof( $parts ); ++$i ) { + $title = $parts[$i]; + } // End FOR Loop + + // No output preview if it's not an image. + $output .= ''; + + // Standard generic output if it's not an image. + $title = __( 'View File', 'woothemes' ); + + $output .= '
                    '.$title.'' . $remove . '
                    '; + + } // End IF Statement + } // End IF Statement + + $output .= '
                    ' . "\n"; + + return $output; + } // End woothemes_medialibrary_uploader() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_get_silentpost */ +/* +/* Use "silent" posts in the database to store relationships for images. +/* This also creates the facility to collect galleries of, for example, logo images. +/* +/* Return: $_postid. +/* +/* If no "silent" post is present, one will be created with the type "wooframework" +/* and the post_name of "woo-wf-$_token". +/* +/* Example Usage: +/* woothemes_mlu_get_silentpost ( 'woo_logo' ); +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_get_silentpost' ) ) { + function woothemes_mlu_get_silentpost ( $_token ) { + global $wpdb; + + $_id = 0; + + // Check if the token is valid against a whitelist. + + // $_whitelist = array( 'woo_logo', 'woo_custom_favicon', 'woo_body_img', 'woo_ad_top_image' ); + + // Sanitise the token. + + $_token = strtolower( str_replace( ' ', '_', $_token ) ); + + // if ( in_array( $_token, $_whitelist ) ) { + + if ( $_token ) { + // Tell the function what to look for in a post. + $_args = array( 'post_parent' => '0', 'post_type' => 'wooframework', 'post_name' => 'woo-wf-' . $_token, 'post_status' => 'draft', 'comment_status' => 'closed', 'ping_status' => 'closed' ); + + // Look in the database for a "silent" post that meets our criteria. + $_posts = get_post( $_args ); + + // If we've got a post, loop through and get it's ID. + if ( count( $_posts ) ) { + $_id = $_posts->ID; + } else { + // If no post is present, insert one. + // Prepare some additional data to go with the post insertion. + $_words = explode( '_', $_token ); + $_title = join( ' ', $_words ); + $_title = ucwords( $_title ); + $_post_data = array( 'post_title' => $_title ); + $_post_data = array_merge( $_post_data, $_args ); + + $_id = wp_insert_post( $_post_data ); + } // End IF Statement + } + + return $_id; + } // End woothemes_mlu_get_silentpost() +} + +/*-----------------------------------------------------------------------------------*/ +/* woothemes_mlu_insidepopup */ +/* +/* Trigger code inside the Media Library popup. +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woothemes_mlu_insidepopup' ) ) { + function woothemes_mlu_insidepopup () { + if ( isset( $_REQUEST['is_woothemes'] ) && $_REQUEST['is_woothemes'] == 'yes' ) { + add_action( 'admin_head', 'woothemes_mlu_js_popup' ); + add_filter( 'media_upload_tabs', 'woothemes_mlu_modify_tabs' ); + } + } // End woothemes_mlu_insidepopup() +} + +if ( ! function_exists( 'woothemes_mlu_js_popup' ) ) { + function woothemes_mlu_js_popup () { + $_woo_title = 'file'; + + if ( isset( $_REQUEST['woo_title'] ) ) { $_woo_title = $_REQUEST['woo_title']; } // End IF Statement +?> + + \ No newline at end of file diff --git a/bueno/functions/admin-sbm.php b/bueno/functions/admin-sbm.php new file mode 100755 index 0000000..c5e1b98 --- /dev/null +++ b/bueno/functions/admin-sbm.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/bueno/functions/admin-seo.php b/bueno/functions/admin-seo.php new file mode 100755 index 0000000..8d3ef95 --- /dev/null +++ b/bueno/functions/admin-seo.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/bueno/functions/admin-setup.php b/bueno/functions/admin-setup.php new file mode 100755 index 0000000..c9537fb --- /dev/null +++ b/bueno/functions/admin-setup.php @@ -0,0 +1,302 @@ +settings->get_all(); + + // Allow child themes/plugins to filter here. + $woo_array = apply_filters( 'woo_options_array', $woo_array ); + update_option( 'woo_options', $woo_array ); +} // End woo_option_setup() +} + + +if ( ! function_exists( 'woothemes_admin_head' ) ) { +/** + * Optionally add markup in the header of the WordPress admin. + * @since 4.0.0 + * @return void + */ +function woothemes_admin_head() {} // End woothemes_admin_head() +} +add_action( 'admin_head', 'woothemes_admin_head', 10 ); + + +if ( ! function_exists( 'woothemes_wp_head' ) ) { +/** + * Output the default WooFramework "head" markup in the "head" section. + * @since 2.0.0 + * @return void + */ +function woothemes_wp_head() { + do_action( 'woothemes_wp_head_before' ); + // Output alternative stylesheet + if ( function_exists( 'woo_output_alt_stylesheet' ) ) + woo_output_alt_stylesheet(); + // Output custom favicon + if ( function_exists( 'woo_output_custom_favicon' ) ) + woo_output_custom_favicon(); + // Output CSS from standarized styling options + if ( function_exists( 'woo_head_css' ) ) + woo_head_css(); + // Output shortcodes stylesheet + if ( function_exists( 'woo_shortcode_stylesheet' ) ) + woo_shortcode_stylesheet(); + // Output custom.css + if ( function_exists( 'woo_output_custom_css' ) ) + woo_output_custom_css(); + do_action( 'woothemes_wp_head_after' ); +} // End woothemes_wp_head() +} +add_action( 'wp_head', 'woothemes_wp_head', 10 ); + + +if ( ! function_exists( 'woo_output_alt_stylesheet' ) ) { +/** + * Output the alternative stylesheet. + * @since 2.0.0 + * @return void + */ +function woo_output_alt_stylesheet() { + $style = ''; + + if ( isset( $_REQUEST['style'] ) ) { + $requested_style = esc_attr( strtolower( strip_tags( trim( $_REQUEST['style'] ) ) ) ); + $style = $requested_style; + } + + echo "\n" . '' . "\n"; + // If we're using the query variable, be sure to check for /css/layout.css as well. + if ( $style != '' ) { + if ( strtolower( $style ) == 'default' ) { + if ( file_exists( get_template_directory() . '/css/layout.css' ) ) { + echo '' . "\n"; + } + echo '' . "\n"; + } else { + echo '' . "\n"; + } + } else { + $style = get_option( 'woo_alt_stylesheet' ); + $style = esc_attr( strtolower( strip_tags( trim( $style ) ) ) ); + if( $style != '' ) { + echo '' . "\n"; + } else { + echo '' . "\n"; + } + } +} // End woo_output_alt_stylesheet() +} + +if ( ! function_exists( 'woo_output_custom_favicon' ) ) { +/** + * Output the favicon HTML. + * @since 2.0.0 + * @return void + */ +function woo_output_custom_favicon () { + $favicon = get_option( 'woo_custom_favicon', '' ); + if ( is_ssl() ) $favicon = str_replace( 'http://', 'https://', $favicon ); + $favicon = apply_filters( 'woo_custom_favicon', $favicon ); + if( '' != $favicon ) echo "\n" . '' . "\n" . '' . "\n"; +} // End woo_output_custom_favicon() +} + +if ( ! function_exists( 'woo_load_textdomain' ) ) { +/** + * Load the theme's textdomain, as well as an optional child theme textdomain. + * @since 2.0.0 + * @return void + */ +function woo_load_textdomain () { + load_theme_textdomain( 'woothemes' ); + load_theme_textdomain( 'woothemes', get_template_directory() . '/lang' ); + if ( function_exists( 'load_child_theme_textdomain' ) ) + load_child_theme_textdomain( 'woothemes' ); +} // End woo_load_textdomain() +} + +add_action( 'after_setup_theme', 'woo_load_textdomain', 10 ); + +if ( ! function_exists( 'woo_head_css' ) ) { +/** + * Output CSS from standardized theme options. + * @since 2.0.0 + * @return void + */ +function woo_head_css () { + $output = ''; + $text_title = get_option( 'woo_texttitle' ); + $tagline = get_option( 'woo_tagline' ); + $custom_css = get_option( 'woo_custom_css' ); + + $template = get_option( 'woo_template' ); + if ( is_array( $template ) ) { + foreach( $template as $option ) { + if( isset( $option['id'] ) ) { + if( $option['id'] == 'woo_texttitle' ) { + // Add CSS to output + if ( $text_title == 'true' ) { + $output .= '#logo img { display:none; } .site-title { display:block !important; }' . "\n"; + if ( $tagline == 'false' ) + $output .= '.site-description { display:none !important; }' . "\n"; + else + $output .= '.site-description { display:block !important; }' . "\n"; + } + } + } + } + } + + if ( $custom_css != '' ) { + $output .= $custom_css . "\n"; + } + + // Output styles + if ( $output != '' ) { + $output = strip_tags($output); + echo '' . "\n"; + $output = "\n\n"; + echo stripslashes( $output ); + } +} // End woo_head_css() +} + +if ( ! function_exists( 'woo_output_custom_css' ) ) { +/** + * Output the HTML for the "custom.css" file. + * @since 2.0.0 + * @return void + */ +function woo_output_custom_css() { + // If "custom.css" exists in the parent theme, load it. + if ( file_exists( get_template_directory() . '/custom.css' ) ) { + echo "\n" . '' . "\n" . '' . "\n"; + } + + // If we're using a child theme, and "custom.css" exists within the child theme, load it as well. + if ( is_child_theme() && file_exists( get_stylesheet_directory() . '/custom.css' ) ) { + if ( file_exists( get_stylesheet_directory() . '/custom.css' ) ) { + echo "\n" . '' . "\n" . '' . "\n"; + } + } +} // End woo_output_custom_css() +} + +/** + * Add theme support for post thumbnails, and integrate the size settings. + * @since 4.0.0 + */ +if( function_exists( 'add_theme_support' ) ) { + if( get_option( 'woo_post_image_support' ) == 'true' ) { + add_theme_support( 'post-thumbnails' ); + // set height, width and crop if dynamic resize functionality isn't enabled + if ( get_option( 'woo_pis_resize' ) != 'true' ) { + $thumb_width = get_option( 'woo_thumb_w' ); + $thumb_height = get_option( 'woo_thumb_h' ); + $single_width = get_option( 'woo_single_w' ); + $single_height = get_option( 'woo_single_h' ); + $hard_crop = get_option( 'woo_pis_hard_crop' ); + if($hard_crop == 'true') { $hard_crop = true; } else { $hard_crop = false; } + set_post_thumbnail_size( $thumb_width, $thumb_height, $hard_crop ); // Normal post thumbnails + add_image_size( 'single-post-thumbnail', $single_width, $single_height, $hard_crop ); + } + } +} + +if ( ! function_exists( 'woo_comment_reply' ) ) { +/** + * Enqueue the comment reply JavaScript on singular entry screens. + * @since 3.0.0 + * @return void + */ +function woo_comment_reply() { + if ( is_singular() && comments_open() ) wp_enqueue_script( 'comment-reply' ); +} // End woo_comment_reply() +} + +add_action( 'get_header', 'woo_comment_reply', 10 ); +?> \ No newline at end of file diff --git a/bueno/functions/admin-shortcode-generator.php b/bueno/functions/admin-shortcode-generator.php new file mode 100755 index 0000000..163cc39 --- /dev/null +++ b/bueno/functions/admin-shortcode-generator.php @@ -0,0 +1,223 @@ +framework_url() . 'js/colorpicker.js' ), array( 'jquery' ), '3.6', true ); // Loaded into the footer. + wp_enqueue_script( 'woo-colourpicker' ); + + // Register the colourpicker CSS. + wp_register_style( 'woo-colourpicker', esc_url( $this->framework_url() . 'css/colorpicker.css' ) ); + wp_enqueue_style( 'woo-colourpicker' ); + + wp_register_style( 'woo-shortcode-icon', esc_url( $this->framework_url() . 'css/shortcode-icon.css' ) ); + wp_enqueue_style( 'woo-shortcode-icon' ); + + // Register the custom CSS styles. + wp_register_style( 'woo-shortcode-generator', esc_url( $this->framework_url() . 'css/shortcode-generator.css' ) ); + wp_enqueue_style( 'woo-shortcode-generator' ); + } + } // End init() + + /** + * Add a new button to tinyMCE. + * @access public + * @since 3.5.0 + * @return void + */ + public function filter_mce_buttons( $buttons ) { + array_push( $buttons, '|', 'woothemes_shortcodes_button' ); + + return $buttons; + } // End filter_mce_buttons() + + /** + * Add functionality to tinyMCE as an external plugin. + * @access public + * @since 3.5.0 + * @return void + */ + public function filter_mce_external_plugins( $plugins ) { + global $wp_version; + $suffix = ''; + if ( '3.9' <= $wp_version ) { + $suffix = '_39'; + } + $plugins['WooThemesShortcodes'] = wp_nonce_url( esc_url( $this->framework_url() . 'js/shortcode-generator/editor_plugin' . $suffix . '.js' ), 'wooframework-shortcode-generator' ); + + return $plugins; + } // End filter_mce_external_plugins() + + /** + * Return the WooFramework URL. + * @access public + * @since 3.5.0 + * @return void + */ + public function framework_url() { + return esc_url( trailingslashit( get_template_directory_uri() . '/' . basename( dirname( __FILE__ ) ) ) ); + } // End framework_url() + + /** + * Checks if a given url (via GET or POST) exists. Returns JSON. + * NOTE: For users that are not logged in this is not called. The client recieves -1 in that case. + * @access public + * @since 3.5.0 + * @return void + */ + public function ajax_action_check_url() { + $hadError = true; + + $url = isset( $_REQUEST['url'] ) ? $_REQUEST['url'] : ''; + + if ( strlen( $url ) > 0 && function_exists( 'get_headers' ) ) { + $url = esc_url( $url ); + $file_headers = @get_headers( $url ); + $exists = $file_headers && $file_headers[0] != 'HTTP/1.1 404 Not Found'; + $hadError = false; + } + + echo '{ "exists": '. ($exists ? '1' : '0') . ($hadError ? ', "error" : 1 ' : '') . ' }'; + + die(); + } // End ajax_action_check_url() + + /** + * Generate a nonce. + * NOTE: For users that are not logged in this is not called. The client recieves -1 in that case. + * @access public + * @since 3.5.0 + * @return void + */ + public function ajax_action_generate_nonce() { + echo wp_create_nonce( 'wooframework-shortcode-generator' ); + die(); + } // End ajax_action_generate_nonce() + + /** + * Output the HTML markup for the dialog box. + * @access public + * @since 6.0.0 + * @return void + */ + public function output_dialog_markup () { + $woo_framework_url = $this->framework_url(); + $woo_framework_version = wf_get_version(); + + $MIN_VERSION = '2.9'; + + $meetsMinVersion = version_compare($woo_framework_version, $MIN_VERSION) >= 0; + + $isWooTheme = true; +?> + + \ No newline at end of file diff --git a/bueno/functions/admin-shortcodes.php b/bueno/functions/admin-shortcodes.php new file mode 100755 index 0000000..da61262 --- /dev/null +++ b/bueno/functions/admin-shortcodes.php @@ -0,0 +1,2362 @@ + +\n"; + echo ''."\n"; + } // End woo_shortcode_stylesheet() +} + +// Replace WP autop formatting +if ( ! function_exists( 'woo_remove_wpautop' ) ) { + function woo_remove_wpautop( $content ) { + $content = do_shortcode( shortcode_unautop( $content ) ); + $content = preg_replace( '#^<\/p>|^
                    |

                    $#', '', $content ); + return $content; + } // End woo_remove_wpautop() +} + +/*-----------------------------------------------------------------------------------*/ +/* 1.1 Output shortcode JS in footer */ +/*-----------------------------------------------------------------------------------*/ + +add_action( 'wp_print_scripts', 'woo_register_shortcode_js', 10 ); + +function woo_register_shortcode_js () { + wp_register_script( 'woo-shortcodes', get_template_directory_uri() . '/functions/js/shortcodes.js', array( 'jquery', 'jquery-ui-tabs' ), '5.0.0' ); +} // End woo_register_shortcode_js() + +add_action( 'wp_footer', 'woo_enqueue_shortcode_js', 50 ); + +function woo_enqueue_shortcode_js () { + if ( ! is_admin() && defined( 'WOO_SHORTCODE_JS' ) ) { + wp_enqueue_script( 'woo-shortcodes' ); + + global $wp_scripts; + $wp_scripts->to_do = array( 'woo-shortcodes' ); + + wp_print_scripts(); + } +} // End woo_enqueue_shortcode_js() + +/*-----------------------------------------------------------------------------------*/ +/* 1.2 Ensure the Dropcap shortcode content is parsed in excerpts */ +/*-----------------------------------------------------------------------------------*/ + +/** + * Remove the 'wp_trim_excerpt' filter on excerpts, at the start of the main loop, so we can parse excerpts ourselves. + * @since 6.0.0 + * @return void + */ +function maybe_remove_trim_excerpt () { + if ( is_main_query() ) remove_filter( 'get_the_excerpt', 'wp_trim_excerpt' ); +} // End maybe_remove_trim_excerpt() +add_action( 'loop_start', 'maybe_remove_trim_excerpt' ); + +/** + * Restore the 'wp_trim_excerpt' filter on excerpts, at the end of the main loop. + * @since 6.0.0 + * @return void + */ +function maybe_restore_trim_excerpt () { + add_filter( 'get_the_excerpt', 'wp_trim_excerpt' ); +} // End maybe_restore_trim_excerpt() +add_action( 'loop_end', 'maybe_restore_trim_excerpt' ); + +/** + * Remove the 'dropcap' shortcode before outputting the excerpt, to prevent missing characters in words. + * @since 6.0.0 + * @param string $text The excerpt text. + * @return string The modified excerpt text. + */ +function woo_remove_dropcap_from_excerpts ( $text ) { + global $post; + $original_text = $text; // Make a backup of the info passed through. + remove_shortcode( 'dropcap' ); + if ( '' != $post->post_excerpt ) { + $text = $original_text; + } else { + $text = get_the_content(); + } + $text = str_replace( '[/dropcap]', '', str_replace( '[dropcap]', '', $text ) ); + add_shortcode( 'dropcap', 'woo_shortcode_dropcap' ); + + if ( function_exists( 'woo_trim_excerpt' ) ) { + $text = woo_trim_excerpt( $text ); // We have to create our own function, as WordPress doesn't allow filtering inside wp_trim_excerpt(). + } + + return $text; +} // End woo_remove_dropcap_from_excerpts() +add_filter( 'get_the_excerpt', 'woo_remove_dropcap_from_excerpts' ); + +/*-----------------------------------------------------------------------------------*/ +/* 2. Boxes - box +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - type: info, alert, tick, download, note + - size: medium, large + - style: rounded + - border: none, full + - icon: none OR full URL to a custom icon + +*/ +function woo_shortcode_box( $atts, $content = null ) { + extract( shortcode_atts( array( 'type' => 'normal', + 'size' => '', + 'style' => '', + 'border' => '', + 'icon' => '' ), $atts ) ); + + // "Toggle in a box" fix + $allowed_tags = wp_kses_allowed_html( 'post' ); + $allowed_tags['input'] = array( 'type' => true, + 'name' => true, + 'value' => true ); + + $allowed_protocols = wp_allowed_protocols(); + $allowed_protocols[] = 'skype'; + + $class = ''; + $custom = ''; + if ( $icon == 'none' ) { + $class = 'no-icon'; + $custom = ' style="padding-left:15px;background-image:none;"'; + } elseif ( $icon ) { + $class = 'custom-icon'; + $custom = ' style="padding-left:50px;background-image:url( ' . esc_attr( esc_url( $icon ) ) . ' ); background-repeat:no-repeat; background-position:20px 45%;"'; + } + return '

                    ' . wp_kses( do_shortcode( woo_remove_wpautop( $content ) ), $allowed_tags, $allowed_protocols ) . '
                    '; +} // End woo_shortcode_box() + +add_shortcode( 'box', 'woo_shortcode_box' ); + +/*-----------------------------------------------------------------------------------*/ +/* 3. Buttons - button +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - size: small, large + - style: info, alert, tick, download, note + - color: red, green, black, grey OR custom hex color (e.g #000000) + - border: border color (e.g. red or #000000) + - text: black (for light color background on button) + - class: custom class + - link: button link (e.g http://www.woothemes.com) + - window: true/false + +*/ +function woo_shortcode_button( $atts, $content = null ) { + extract( shortcode_atts( array( 'size' => '', + 'style' => '', + 'bg_color' => '', + 'color' => '', + 'border' => '', + 'text' => '', + 'class' => '', + 'link' => '#', + 'window' => '' ), $atts ) ); + + + // Set custom background and border color + $color_output = ''; + if ( $color ) { + $preset_colors = array( 'red', 'orange', 'green', 'aqua', 'teal', 'purple', 'pink', 'silver' ); + if ( in_array( $color, $preset_colors ) ) { + $class .= ' ' . $color; + } else { + if ( $border ){ + $border_out = $border; + } else { + $border_out = $color; + } + + $color_output = 'style="background:' . esc_attr( $color ) . ';border-color:' . esc_attr( $border_out ) . '"'; + + // add custom class + $class .= ' custom'; + } + } else { + if ( $border ) + $border_out = $border; + else + $border_out = $bg_color; + + $color_output = 'style="background:' . esc_attr( $bg_color ) . ';border-color:' . esc_attr( $border_out ) . '"'; + + // add custom class + $class .= ' custom'; + } + + $class_output = ''; + + // Set text color + if ( $text ) $class_output .= ' dark'; + // Set class + if ( $class ) $class_output .= ' '.$class; + // Set Size + if ( $size ) $class_output .= ' '.$size; + // Set window target + if ( $window ) $window = 'target="_blank" '; + + $output = '' . wp_kses_post( woo_remove_wpautop( $content ) ) . ''; + return $output; +} // End woo_shortcode_button() + +add_shortcode( 'button', 'woo_shortcode_button' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 4. Related Posts - related_posts +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - limit: number of posts to show (default: 5) + - image: thumbnail size, 0 = off (default: 0) +*/ + +function woo_shortcode_related_posts ( $atts ) { + global $post, $wp_version; + + wp_reset_query(); // Make sure we have a fresh query before we start. + + $defaults = array( + 'limit' => 5, + 'image' => 0, + 'float' => 'none' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + // This function requires at least WordPress Version 3.1. + if ( $wp_version < 3.1 ) { + return _dep_woo_shortcode_related_posts( $atts ); + } else { + + // Sanitize float attribute. + if ( isset( $atts['float'] ) && ! in_array( $atts['float'], array( 'none', 'left', 'right' ) ) ) { $atts['float'] = 'none'; } + + // Float translation array. + $floats = array( 'none' => '', 'left' => 'fl', 'right' => 'fr' ); + + $css_class = 'woo-sc-related-posts'; + + extract( $atts ); + + if ( $float != 'none' ) { $css_class .= ' ' . $floats[$float]; } + + $output = ''; + + $post_type = get_post_type( $post->ID ); + + $post_type_obj = get_post_type_object( $post_type ); + + $taxonomies_string = 'post_tag, category'; + $taxonomies = array( 'post_tag', 'category' ); + + if ( isset( $post_type_obj->taxonomies ) && count( $post_type_obj->taxonomies ) > 0 ) { + $taxonomies_string = join( ', ', $post_type_obj->taxonomies ); + $taxonomies = $post_type_obj->taxonomies; + } + + // Clean up our taxonomies for use in the query. + if ( count( $taxonomies ) ) { + foreach ( $taxonomies as $k => $v ) { + $taxonomies[$k] = trim( $v ); + } + } + + // Determine which terms we're going to relate to this entry. + $related_terms = array(); + + foreach ( $taxonomies as $t ) { + $terms = get_the_terms( $post->ID, $t ); + + if ( ! empty( $terms ) ) { + foreach ( $terms as $k => $v ) { + $related_terms[$t][$v->term_id] = $v->slug; + } + } + } + + $specific_terms = array(); + foreach ( $related_terms as $k => $v ) { + foreach ( $v as $i => $j ) { + $specific_terms[] = $j; + } + } + + $query_args = array( + 'limit' => $atts['limit'], + 'post_type' => $post_type, + 'taxonomies' => $taxonomies_string, + 'specific_terms' => $specific_terms, + 'order' => 'DESC', + 'orderby' => 'date', + 'exclude' => array( $post->ID ) + ); + + $posts = woo_get_posts_by_taxonomy( $query_args ); + + if ( count( (array)$posts ) ) { + + $output .= '
                    ' . "\n"; + + $output .= '' . "\n"; + $output .= '
                    ' . "\n"; + $output .= '
                    '; + } + + wp_reset_postdata(); + + return apply_filters( 'woo_shortcode_related_posts', $output, $atts ); + + } // End IF Statement (version check) +} // End woo_shortcode_related_posts() + +add_shortcode( 'related_posts', 'woo_shortcode_related_posts' ); + +/*-----------------------------------------------------------------------------------*/ +/* Deprecated: Related Posts Shortcode. +/* +/* Used for WordPress version 3.0 or less. +/*-----------------------------------------------------------------------------------*/ + +function _dep_woo_shortcode_related_posts( $atts ) { trigger_error( sprintf( __( '%1$s is deprecated since version %2$s of the WooFramework! Please upgrade your WordPress to the latest version to use the latest functionality.', 'woothemes' ), '_dep_woo_shortcode_related_posts', '5.4' ) ); } + +/*-----------------------------------------------------------------------------------*/ +/* 5. Tweetmeme button - tweetmeme +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://help.tweetmeme.com/2009/04/06/tweetmeme-button/ + +Optional arguments: + - link: specify URL directly + - style: compact + - source: username + - float: none, left, right (default: left) + +*/ +function woo_shortcode_tweetmeme($atts, $content = null) { + extract(shortcode_atts(array( 'link' => '', + 'style' => '', + 'source' => '', + 'float' => 'left'), $atts)); + $output = ''; + + if ( $link == '' ) { + global $post; + $link = get_permalink( $post->ID ); + } + + if ( $link ) + $output .= "tweetmeme_url = '" . esc_url( $link ) . "';"; + + if ( $style ) + $output .= "tweetmeme_style = 'compact';"; + + if ( $source ) + $output .= "tweetmeme_source = '" . esc_attr( $source ) . "';"; + + if ( $link OR $style ) + $output = ''; + + $output .= '
                    '; + return $output; + +} // End woo_shortcode_tweetmeme() + +add_shortcode( 'tweetmeme', 'woo_shortcode_tweetmeme' ); + +/*-----------------------------------------------------------------------------------*/ +/* 6. Twitter button - twitter +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://twitter.com/goodies/tweetbutton + +Optional arguments: + - style: vertical, horizontal, none ( default: vertical ) + - url: specify URL directly + - source: username to mention in tweet + - related: related account + - text: optional tweet text (default: title of page) + - float: none, left, right (default: left) + - lang: fr, de, es, js (default: english) + - use_post_url: automatically retrieve the URL to the specific post (useful on archive screens) +*/ +function woo_shortcode_twitter($atts, $content = null) { + global $post; + extract(shortcode_atts(array( 'url' => '', + 'style' => '', + 'source' => '', + 'text' => '', + 'related' => '', + 'lang' => '', + 'float' => 'left', + 'use_post_url' => 'false', + 'recommend' => '', + 'hashtag' => '', + 'size' => '', + ), $atts)); + $output = ''; + + if ( $url ) + $output .= ' data-url="' . esc_url( $url ) . '"'; + + if ( $source ) + $output .= ' data-via="' . esc_attr( $source ) . '"'; + + if ( $text ) + $output .= ' data-text="' . esc_attr( $text ) . '"'; + + if ( $related ) + $output .= ' data-related="' . esc_attr( $related ) . '"'; + + if ( $hashtag ) + $output .= ' data-hashtags="' . esc_attr( $hashtag ) . '"'; + + if ( $size ) + $output .= ' data-size="' . esc_attr( $size ) . '"'; + + if ( $lang ) + $output .= ' data-lang="' . esc_attr( $lang ) . '"'; + + if ( $style != '' ) { + $output .= 'data-count="' . esc_attr( $style ) . '"'; + } + + if ( $use_post_url == 'true' && $url == '' ) { + $output .= ' data-url="' . get_permalink( $post->ID ) . '"'; + } + + $output = ''; + return $output; + +} // End woo_shortcode_twitter() + +add_shortcode( 'twitter', 'woo_shortcode_twitter' ); + +/*-----------------------------------------------------------------------------------*/ +/* 7. Digg Button - digg +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://about.digg.com/button + +Optional arguments: + - link: specify URL directly + - title: specify a title (must add link also) + - style: medium, large, compact, icon (default: medium) + - float: none, left, right (default: left) +*/ +function woo_shortcode_digg($atts, $content = null) { + extract(shortcode_atts(array( 'link' => '', + 'title' => '', + 'style' => 'medium', + 'float' => 'left' ), $atts)); + $output = " + + "; + + // Add custom URL + if ( $link ) { + // Add custom title + if ( $title ) + $title = '&title=' . $title; + + $link = ' href="' . esc_url( 'http://digg.com/submit?url='. $link . $title ) . '"'; + } + + if ( $link == '' ) { + global $post; + $link = get_permalink( $post->ID ); + } + + if ( $style == "large" ) + $style = "Large"; + elseif ( $style == "compact" ) + $style = "Compact"; + elseif ( $style == "icon" ) + $style = "Icon"; + else + $style = "Medium"; + + $output .= '
                    '; + return $output; + +} // End woo_shortcode_digg() + +add_shortcode( 'digg', 'woo_shortcode_digg' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 8. Facebook Like Button - fblike +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://developers.facebook.com/docs/reference/plugins/like + +Optional arguments: + - float: none (default), left, right + - url: link you want to share (default: current post ID) + - style: standard (default), button + - showfaces: true or false (default) + - width: 450 + - verb: like (default) or recommend + - colorscheme: light (default), dark + - font: arial (default), lucida grande, segoe ui, tahoma, trebuchet ms, verdana + +*/ +function woo_shortcode_fblike($atts, $content = null) { + extract(shortcode_atts(array( 'float' => 'none', + 'url' => '', + 'style' => 'standard', + 'showfaces' => 'false', + 'width' => '450', + 'verb' => 'like', + 'colorscheme' => 'light', + 'font' => 'arial', + 'locale' => 'en_US' ), $atts)); + + global $post; + + if ( ! $post ) { + $post = new stdClass(); + $post->ID = 0; + } + + $allowed_styles = array( 'standard', 'button_count', 'box_count' ); + + if ( ! in_array( $style, $allowed_styles ) ) { $style = 'standard'; } // End IF Statement + + if ( ! $url ) { + $url = get_permalink( $post->ID ); + } + + $height = '65'; + if ( $showfaces == 'true') + $height = '100'; + + if ( ! $width || ! is_numeric( $width ) ) { $width = 450; } // End IF Statement + + // Set the width to "auto" if "showfaces" is off and the default width is still set. + $widthpx = $width . 'px'; + if ( $width == 450 && $showfaces == 'false' ) { $widthpx = 'auto'; } + + // Set the height to 20 if "showfaces" is disabled and the style is either "standard" or "button_count". + if ( $showfaces == 'false' && ( $style != 'box_count' ) ) { $height = 25; } + + switch ( $float ) { + case 'left': + $float = 'fl'; + break; + + case 'right': + $float = 'fr'; + break; + + default: + break; + } + + $src_url = 'http://www.facebook.com/plugins/like.php?href=' . esc_url( $url ) . '&layout=' . urlencode( $style ) . '&show_faces=' . urlencode( $showfaces ) . '&width=' . urlencode( $width ) . '&action=' . urlencode( $verb ) . '&colorscheme=' . urlencode( $colorscheme ) . '&font=' . urlencode( $font ) . '&locale=' . urlencode( $locale ) . ''; + $output = ' +
                    + +
                    + '; + return $output; +} // End woo_shortcode_fblike() + +add_shortcode( 'fblike', 'woo_shortcode_fblike' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 9. Columns +/*-----------------------------------------------------------------------------------*/ +/* + +Description: + +Columns are named with this convention Xcol_Y where X is the total number of columns and Y is +the number of columns you want this column to span. Add _last behind the shortcode if it is the +last column. + +*/ + +/* ============= Two Columns ============= */ + +function woo_shortcode_twocol_one($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'twocol_one', 'woo_shortcode_twocol_one' ); + +function woo_shortcode_twocol_one_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'twocol_one_last', 'woo_shortcode_twocol_one_last' ); + + +/* ============= Three Columns ============= */ + +function woo_shortcode_threecol_one($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'threecol_one', 'woo_shortcode_threecol_one' ); + +function woo_shortcode_threecol_one_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'threecol_one_last', 'woo_shortcode_threecol_one_last' ); + +function woo_shortcode_threecol_two($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'threecol_two', 'woo_shortcode_threecol_two' ); + +function woo_shortcode_threecol_two_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'threecol_two_last', 'woo_shortcode_threecol_two_last' ); + +/* ============= Four Columns ============= */ + +function woo_shortcode_fourcol_one($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fourcol_one', 'woo_shortcode_fourcol_one' ); + +function woo_shortcode_fourcol_one_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fourcol_one_last', 'woo_shortcode_fourcol_one_last' ); + +function woo_shortcode_fourcol_two($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fourcol_two', 'woo_shortcode_fourcol_two' ); + +function woo_shortcode_fourcol_two_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fourcol_two_last', 'woo_shortcode_fourcol_two_last' ); + +function woo_shortcode_fourcol_three($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fourcol_three', 'woo_shortcode_fourcol_three' ); + +function woo_shortcode_fourcol_three_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fourcol_three_last', 'woo_shortcode_fourcol_three_last' ); + +/* ============= Five Columns ============= */ + +function woo_shortcode_fivecol_one($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fivecol_one', 'woo_shortcode_fivecol_one' ); + +function woo_shortcode_fivecol_one_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fivecol_one_last', 'woo_shortcode_fivecol_one_last' ); + +function woo_shortcode_fivecol_two($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fivecol_two', 'woo_shortcode_fivecol_two' ); + +function woo_shortcode_fivecol_two_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fivecol_two_last', 'woo_shortcode_fivecol_two_last' ); + +function woo_shortcode_fivecol_three($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fivecol_three', 'woo_shortcode_fivecol_three' ); + +function woo_shortcode_fivecol_three_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fivecol_three_last', 'woo_shortcode_fivecol_three_last' ); + +function woo_shortcode_fivecol_four($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fivecol_four', 'woo_shortcode_fivecol_four' ); + +function woo_shortcode_fivecol_four_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'fivecol_four_last', 'woo_shortcode_fivecol_four_last' ); + + +/* ============= Six Columns ============= */ + +function woo_shortcode_sixcol_one($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'sixcol_one', 'woo_shortcode_sixcol_one' ); + +function woo_shortcode_sixcol_one_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'sixcol_one_last', 'woo_shortcode_sixcol_one_last' ); + +function woo_shortcode_sixcol_two($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'sixcol_two', 'woo_shortcode_sixcol_two' ); + +function woo_shortcode_sixcol_two_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'sixcol_two_last', 'woo_shortcode_sixcol_two_last' ); + +function woo_shortcode_sixcol_three($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'sixcol_three', 'woo_shortcode_sixcol_three' ); + +function woo_shortcode_sixcol_three_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'sixcol_three_last', 'woo_shortcode_sixcol_three_last' ); + +function woo_shortcode_sixcol_four($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'sixcol_four', 'woo_shortcode_sixcol_four' ); + +function woo_shortcode_sixcol_four_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'sixcol_four_last', 'woo_shortcode_sixcol_four_last' ); + +function woo_shortcode_sixcol_five($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'sixcol_five', 'woo_shortcode_sixcol_five' ); + +function woo_shortcode_sixcol_five_last($atts, $content = null) { + return '
                    ' . woo_remove_wpautop($content) . '
                    '; +} +add_shortcode( 'sixcol_five_last', 'woo_shortcode_sixcol_five_last' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 10. Horizontal Rule / Divider - hr - divider +/*-----------------------------------------------------------------------------------*/ +/* +Description: Use to separate text. +*/ +function woo_shortcode_hr($atts, $content = null) { + return '
                    '; +} // End woo_shortcode_hr() +add_shortcode( 'hr', 'woo_shortcode_hr' ); + +function woo_shortcode_divider($atts, $content = null) { + return '
                    '; +} // End woo_shortcode_divider() +add_shortcode( 'divider', 'woo_shortcode_divider' ); + +function woo_shortcode_divider_flat($atts, $content = null) { + return '
                    '; +} // End woo_shortcode_divider_flat() +add_shortcode( 'divider_flat', 'woo_shortcode_divider_flat' ); + + +/*-----------------------------------------------------------------------------------*/ +/* 11. Quote - quote +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - style: boxed + - float: left, right + +*/ +function woo_shortcode_quote($atts, $content = null) { + extract(shortcode_atts(array( 'style' => '', + 'float' => ''), $atts)); + $class = ''; + if ( $style ) + $class .= ' '.$style; + if ( $float ) + $class .= ' '.$float; + + return '

                    ' . woo_remove_wpautop($content) . '

                    '; +} // End woo_shortcode_quote() +add_shortcode( 'quote', 'woo_shortcode_quote' ); + +/*-----------------------------------------------------------------------------------*/ +/* 12. Icon links - ilink +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - style: download, note, tick, info, alert + - url: the url for your link + - icon: add an url to a custom icon + - title: optional title attribute + +*/ +function woo_shortcode_ilink( $atts, $content = null ) { + extract( shortcode_atts( array( 'style' => 'info', 'url' => '', 'icon' => '', 'title' => '' ), $atts ) ); + + $atts = ''; + if ( $icon != '' ) { + $atts .= ' style="background: url( ' . esc_url( $icon ) . ') no-repeat left 40%;"'; + } + if ( $title != '' ) { + $atts .= ' title="' . esc_attr( $title ) . '"'; + } + + return '' . woo_remove_wpautop( $content ) . ''; +} // End woo_shortcode_ilink() +add_shortcode( 'ilink', 'woo_shortcode_ilink' ); + +/*-----------------------------------------------------------------------------------*/ +/* 13. jQuery Toggle +/*-----------------------------------------------------------------------------------*/ +/* + +} + +Optional arguments: + - title: The text in the main trigger + - hide: Hide the toggle box on load + - display_main_trigger: Display the main trigger on the toggle + +*/ +function woo_shortcode_toggle ( $atts, $content = null ) { + // Instruct the shortcode JavaScript to load. + if ( ! defined( 'WOO_SHORTCODE_JS' ) ) { define( 'WOO_SHORTCODE_JS', 'load' ); } + + $defaults = array( + 'title_open' => __( 'Hide the Content', 'woothemes' ), + 'title_closed' => __( 'Show the Content', 'woothemes' ), + 'hide' => 'yes', + 'display_main_trigger' => 'yes', + 'style' => 'default', + 'border' => 'yes', + 'excerpt_length' => '0', + 'include_excerpt_html' => 'no', + 'read_more_text' => __( 'Read More', 'woothemes' ), + 'read_less_text' => __( 'Read Less', 'woothemes' ) + ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $title = ''; + $class = ''; + + $class_open = ' toggle-' . sanitize_title( $title_open ); + + $class_closed = ' toggle-' . sanitize_title( $title_closed ); + + if ( $hide == 'yes' ) { + $class .= $class_closed . ' closed'; $title = $title_closed; + } else { + $class .= $class_open . ' open'; $title = $title_open; + } // End IF Statement + + $main_trigger = ''; + + if ( $display_main_trigger == 'yes' ) { + + $main_trigger = '

                    ' . $title . '

                    ' . "\n"; + + } // End IF Statement + + // Add the alternate style to the CSS class. + $class .= ' ' . $style; + + // Add the border class, if necessary. + if ( $border == 'yes' ) { $class .= ' border'; } // End IF Statement + + // If the excerpt length is greater than 0, apply the excerpt logic. + $excerpt_length = intval( $excerpt_length ); + + if ( $excerpt_length > 0 ) { + $orig_content = $content; + + if ( $include_excerpt_html == 'no' ) { + $content = strip_tags( $content ); + } + + $excerpt = substr( $content, 0, $excerpt_length ); + + $more_link = '' . $read_more_text . ''; + + $content = '' . $excerpt . '' . "\n" . $more_link . "\n" . '' . substr( $content, $excerpt_length, strlen( $content ) ) . '' . "\n"; + } + + return '
                    ' . $main_trigger . '
                    ' . do_shortcode( $content ) . '
                    ' . "\n" . '' . '
                    '; +} // End woo_shortcode_toggle() + +add_shortcode( 'toggle', 'woo_shortcode_toggle', 99 ); + +/*-----------------------------------------------------------------------------------*/ +/* 14. Facebook Share Button - fbshare +/*-----------------------------------------------------------------------------------*/ +/* + +Source: http://developers.facebook.com/docs/share + +Optional arguments: + - type: box_count, button_count, button (default), icon_link, or icon + - float: none, left, right (default: left) + +*/ +function woo_shortcode_fbshare($atts, $content = null) { + extract( shortcode_atts( array( 'url' => '', 'type' => 'button', 'float' => 'left', 'width' => 100 ), $atts ) ); + + global $post; + + if ( isset( $url ) && $url == '' && isset( $post ) ) { $url = get_permalink( $post->ID ); } // End IF Statement + + $output = '
                    '; + + // Load the necessary JavaScript in the footer. + if ( ! has_action( 'wp_footer', 'woo_shortcode_fbshare_javascript' ) ) add_action( 'wp_footer', 'woo_shortcode_fbshare_javascript' ); + + return $output; +} // End woo_shortcode_fbshare() +add_shortcode( 'fbshare', 'woo_shortcode_fbshare' ); + +/** + * Output the JavaScript necessary for handling the 'fbshare' shortcode. + * @since 6.0.0 + * @return void + */ +function woo_shortcode_fbshare_javascript () { + echo '
                    +' . "\n"; +} // End woo_shortcode_fbshare_javascript() + +/*-----------------------------------------------------------------------------------*/ +/* 15. Advanced Contact Form - contact_form +/*-----------------------------------------------------------------------------------*/ +/* + +Optional arguments: + - email: The e-mail address to which the form will send (defaults to woo_contactform_email). + - subject: The subject of the e-mail (defaults to "Message via the contact form". + - button_text: Optionally change the text of the "submit" button. + + - Advanced form fields functionality, for creating dynamic form fields: + --- Text Input: text_fieldname="Text Field Label|Optional Default Text" + --- Select Box: select_fieldname="Select Box Label|key=value,key=value,key=value" + --- Textarea Input: textarea_fieldname="Textarea Field Label|Optional Default Text|Optional Number of Rows|Optional Number of Columns" + --- Checkbox Input: checkbox_fieldname="Checkbox Field Label|Value of the Checkbox|Checked By Default" + --- Radio Button Input: radio_fieldname="Radio Field Label|key=value,key=value,key=value|Optional Default Value" + +*/ + +function woo_shortcode_contactform ( $atts, $content = null ) { + $defaults = array( + 'email' => get_option( 'woo_contactform_email'), + 'subject' => __( 'Message via the contact form', 'woothemes' ), + 'button_text' => apply_filters( 'woo_contact_form_button_text', __( 'Submit', 'woothemes' ) ), + 'show_default_fields' => 'yes' + ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // Extract the dynamic fields as well, if they don't have a value in $defaults. + $html = ''; + $dynamic_atts = array(); + $formatted_dynamic_atts = array(); + $error_messages = array(); + + if ( is_array( $atts ) ) { + foreach ( $atts as $k => $v ) { + ${$k} = $v; + + $dynamic_atts[$k] = ${$k}; + } + } + + // Parse dynamic fields. + if ( count( $dynamic_atts ) ) { + foreach ( $dynamic_atts as $k => $v ) { + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // The default value. + if ( array_key_exists( 2, $params ) ) { $default_value = $params[2]; } else { $default_value = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options, 'default_value' => $default_value ); + + } // End IF Statement + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // The default value. + if ( array_key_exists( 2, $params ) ) { $default_value = $params[2]; } else { $default_value = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options, 'default_value' => $default_value ); + + } // End IF Statement + + /* Parse the checkbox inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'checkbox_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The value of the checkbox. + if ( array_key_exists( 1, $params ) ) { $value = $params[1]; } else { $value = ''; } // End IF Statement + + // Checked by default? + if ( array_key_exists( 1, $params ) ) { $checked = $params[2]; } else { $checked = ''; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'value' => $value, 'checked' => $checked ); + + } // End IF Statement + + /* Parse the text inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 5 ) == 'text_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The default text. + if ( array_key_exists( 1, $params ) ) { $default_text = $params[1]; } else { $default_text = ''; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'default_text' => $default_text ); + + } // End IF Statement + + /* Parse the select boxes. + --------------------------------------------------*/ + + if ( substr( $k, 0, 7 ) == 'select_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The options. + if ( array_key_exists( 1, $params ) ) { $options_string = $params[1]; } else { $options_string = ''; } // End IF Statement + + // Format the options. + $options = array(); + + if ( $options_string ) { + + $options_raw = explode( ',', $options_string ); + + if ( count( $options_raw ) ) { + + foreach ( $options_raw as $o ) { + + $o = trim( $o ); + + $is_formatted = strpos( $o, '=' ); + + // It's not formatted how we'd like it, so just add the value is both the value and label. + if ( $is_formatted === false ) { + + $options[$o] = $o; + + // That's more like it. A separate value and label. + } else { + + $option_data = explode( '=', $o ); + + $options[$option_data[0]] = $option_data[1]; + + } // End IF Statement + + } // End FOREACH Loop + + } // End IF Statement + + } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'options' => $options ); + + } // End IF Statement + + /* Parse the textarea inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'textarea_' ) { + + // Separate the parameters. + $params = explode( '|', $v ); + + // The title. + if ( array_key_exists( 0, $params ) ) { $label = $params[0]; } else { $label = $k; } // End IF Statement + + // The default text. + if ( array_key_exists( 1, $params ) ) { $default_text = $params[1]; } else { $default_text = ''; } // End IF Statement + + // The number of rows. + if ( array_key_exists( 2, $params ) ) { $number_of_rows = $params[2]; } else { $number_of_rows = 10; } // End IF Statement + + // The number of columns. + if ( array_key_exists( 3, $params ) ) { $number_of_columns = $params[3]; } else { $number_of_columns = 10; } // End IF Statement + + // Remove this field from the array, as we're done with it. + unset( $dynamic_atts[$k] ); + + $formatted_dynamic_atts[$k] = array( 'label' => $label, 'default_text' => $default_text, 'number_of_rows' => $number_of_rows, 'number_of_columns' => $number_of_columns ); + + } // End IF Statement + + } // End FOREACH Loop + + // Make sure the key is the field name, and the value is the translated label text. + $label_translations = apply_filters( 'woo_contact_form_label_translations', array() ); + if ( is_array( $formatted_dynamic_atts ) && 0 < count( $formatted_dynamic_atts ) ) { + foreach ( $formatted_dynamic_atts as $k => $v ) { + if ( in_array( $k, array_keys( $label_translations ) ) && isset( $v['label'] ) ) { + $formatted_dynamic_atts[$k]['label'] = esc_html( $label_translations[$k] ); + } + } + } + } // End IF Statement + + /*-------------------------------------------------- + * Form Processing. + * + * Here is where we validate the POST'ed data and + * format it for sending in an e-mail. + * + * We then send the e-mail and notify the user. + --------------------------------------------------*/ + + $emailSent = false; + + if ( ( count( $_POST ) > 2 ) && isset( $_POST['submitted'] ) ) { + + $fields_to_skip = array( 'checking', 'submitted', 'sendCopy' ); + $default_fields = array( 'contactName' => '', 'contactEmail' => '', 'contactMessage' => '' ); + $error_responses = array( + 'contactName' => __( 'Please enter your name', 'woothemes' ), + 'contactEmail' => __( 'Please enter your email address (and please make sure it\'s valid)', 'woothemes' ), + 'contactMessage' => __( 'Please enter your message', 'woothemes' ) + ); + + $posted_data = $_POST; + + // Check if we're using the default fields. + if ( $show_default_fields != 'no' ) { + // Check for errors. + foreach ( array_keys( $default_fields ) as $d ) { + if ( !isset ( $_POST[$d] ) || $_POST[$d] == '' || ( $d == 'contactEmail' && ! is_email( $_POST[$d] ) ) ) { + $error_messages[$d] = esc_html( $error_responses[$d] ); + } // End IF Statement + } // End FOREACH Loop + } else { + $default_fields = array( 'contactName' => get_bloginfo( 'name' ), 'contactEmail' => get_bloginfo( 'admin_email' ), 'contactMessage' => '' ); + } + + // If we have errors, don't do anything. Otherwise, run the processing code. + + if ( count( $error_messages ) ) {} else { + // Setup e-mail variables. + $message_fromname = $default_fields['contactName']; + $message_fromemail = strtolower( $default_fields['contactEmail'] ); + $message_subject = $subject; + $message_body = $default_fields['contactMessage'] . "\n\r\n\r"; + + $default_labels = apply_filters( 'woo_contact_form_shortcode_default_labels', array( 'Name' => __( 'Name', 'woothemes' ), 'Email' => __( 'Email', 'woothemes' ), 'Message' => __( 'Message', 'woothemes' ) ) ); + + // Filter out skipped fields and assign default fields. + foreach ( $posted_data as $k => $v ) { + if ( in_array( $k, $fields_to_skip ) ) { + unset( $posted_data[$k] ); + } // End IF Statement + + if ( in_array( $k, array_keys( $default_fields ) ) ) { + $default_fields[$k] = $v; + + unset( $posted_data[$k] ); + } // End IF Statement + } // End FOREACH Loop + + // Okay, so now we're left with only the dynamic fields. Assign to a fresh variable. + $dynamic_fields = $posted_data; + + // Format the default fields into the $message_body. + + foreach ( $default_fields as $k => $v ) { + if ( $v == '' ) {} else { + $label = str_replace( 'contact', '', $k ); + if ( isset( $default_labels[$label] ) ) $label = $default_labels[$label]; + $message_body .= $label . ': ' . $v . "\n\r"; + } // End IF Statement + } // End FOREACH Loop + + // Format the dynamic fields into the $message_body. + + foreach ( $dynamic_fields as $k => $v ) { + if ( $v == '' ) {} else { + $value = ''; + + if ( substr( $k, 0, 7 ) == 'select_' || substr( $k, 0, 6 ) == 'radio_' ) { + $message_body .= $formatted_dynamic_atts[$k]['label'] . ': ' . $formatted_dynamic_atts[$k]['options'][$v] . "\n\r"; + } else { + $message_body .= $formatted_dynamic_atts[$k]['label'] . ': ' . $v . "\n\r"; + } // End IF Statement + } // End IF Statement + } // End FOREACH Loop + + // Send the e-mail. + $headers = 'From:' . $default_fields['contactName'] . ' <' . $default_fields['contactEmail'] . '>' . "\r\n" . 'Reply-To:' . $default_fields['contactEmail']; + + $emailSent = wp_mail($email, $subject, $message_body, $headers); + + // Send a copy of the e-mail to the sender, if specified. + if ( isset( $_POST['sendCopy'] ) && $_POST['sendCopy'] == 'true' ) { + $headers = 'From:' . $default_fields['contactName'] . ' <' . $default_fields['contactEmail'] . '>' . "\r\n" . 'Reply-To:' . $default_fields['contactEmail']; + + $emailSent = wp_mail($default_fields['contactEmail'], $subject, $message_body, $headers); + } // End IF Statement + + } // End IF Statement ( count( $error_messages ) ) + + } // End IF Statement + + /* Generate the form HTML. + --------------------------------------------------*/ + + $html .= '
                    ' . "\n"; + + /* Display message HTML if necessary. + --------------------------------------------------*/ + + // Success messages + if( isset( $emailSent ) && $emailSent == true ) { + $html .= do_shortcode( '[box type="tick"]' . __( 'Your email was successfully sent.', 'woothemes' ) . '[/box]' ); + $html .= '' . "\n"; + } + + // Error messages + if( count( $error_messages ) ) { + $html .= do_shortcode( '[box type="alert"]' . __( 'There were one or more errors while submitting the form.', 'woothemes' ) . '[/box]' ); + } + + // No e-mail address supplied. + if( $email == '' ) { + $html .= do_shortcode( '[box type="alert"]' . __( 'E-mail has not been setup properly. Please add your contact e-mail!', 'woothemes' ) . '[/box]' ); + } + + if ( $email == '' ) {} else { + $html .= '
                    ' . "\n"; + $html .= '
                    ' . "\n"; + + /* Parse the "static" form fields. + --------------------------------------------------*/ + if ( $show_default_fields != 'no' ) { + $contactName = ''; + if( isset( $_POST['contactName'] ) ) { $contactName = $_POST['contactName']; } + + $contactEmail = ''; + if( isset( $_POST['contactEmail'] ) ) { $contactEmail = $_POST['contactEmail']; } + + $contactMessage = ''; + if( isset( $_POST['contactMessage'] ) ) { $contactMessage = stripslashes( $_POST['contactMessage'] ); } + + $html .= '

                    ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactName', $error_messages ) ) { + $html .= '' . esc_html( $error_messages['contactName'] ) . '' . "\n"; + } + + $html .= '

                    ' . "\n"; + + $html .= '

                    ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactEmail', $error_messages ) ) { + $html .= '' . esc_html( $error_messages['contactEmail'] ) . '' . "\n"; + } + + $html .= '

                    ' . "\n"; + + $html .= '

                    ' . "\n"; + $html .= '' . "\n"; + + if( array_key_exists( 'contactMessage', $error_messages ) ) { + $html .= '' . esc_html( $error_messages['contactMessage'] ) . '' . "\n"; + } + + $html .= '

                    ' . "\n"; + } // End static fields check + + /* Parse dynamic fields into HTML. + --------------------------------------------------*/ + + if ( count( $formatted_dynamic_atts ) ) { + + foreach ( $formatted_dynamic_atts as $k => $v ) { + + /* Parse the radio buttons. + --------------------------------------------------*/ + + if ( substr( $k, 0, 6 ) == 'radio_' ) { + /* Generate Select Box Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_value']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

                    ' . "\n"; + + $html .= '' . "\n"; + + foreach ( $v['options'] as $value => $label ) { + $html .= ' ' . esc_html( $label ) . '
                    ' . "\n"; + } + + $html .= '
                    ' . "\n"; + } + + /* Parse the checkbox inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'checkbox_' ) { + /* Generate Checkbox Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['value']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $checked = 0; + if ( array_key_exists( 'checked', $v ) && $v['checked'] == 'yes' ) { $checked = ${$k}; } + + $html .= '

                    ' . "\n"; + $html .= '' . "\n"; + $html .= '

                    ' . "\n"; + } + + /* Parse the text inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 5 ) == 'text_' ) { + /* Generate Text Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_text']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

                    ' . "\n"; + $html .= '

                    ' . "\n"; + } + + /* Parse the select boxes. + --------------------------------------------------*/ + + if ( substr( $k, 0, 7 ) == 'select_' ) { + /* Generate Select Box Field HTML. + ----------------------------------------------*/ + + ${$k} = ''; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

                    ' . "\n"; + $html .= '

                    ' . "\n"; + } + + /* Parse the textarea inputs. + --------------------------------------------------*/ + + if ( substr( $k, 0, 9 ) == 'textarea_' ) { + /* Generate Textarea Input Field HTML. + ----------------------------------------------*/ + + ${$k} = $v['default_text']; + if ( isset( $_POST[$k] ) ) { ${$k} = trim( strip_tags( $_POST[$k] ) ); } // End IF Statement + + $html .= '

                    ' . "\n"; + $html .= '

                    ' . "\n"; + + } + } // End FOREACH Loop + } // End IF Statement + + /* The end of the form. + ----------------------------------------------*/ + + $sendCopy = ''; + if(isset($_POST['sendCopy']) && $_POST['sendCopy'] == true) { + $sendCopy = ' checked="checked"'; + } + + $html .= '

                    ' . "\n"; + + $checking = ''; + if(isset($_POST['checking'])) { + $checking = $_POST['checking']; + } + + $html .= '

                    ' . "\n"; + $html .= '

                    '; + $html .= '
                    ' . "\n"; + $html .= '
                    ' . "\n"; + $html .= '
                    ' . "\n"; + $html .= '
                    ' . "\n"; + } // End IF Statement ( $email == '' ) + + return $html; +} // End woo_shortcode_contactform() + +add_shortcode( 'contact_form', 'woo_shortcode_contactform' ); + +/*-----------------------------------------------------------------------------------*/ +/* 16. Tabs - [tabs][/tabs] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_tabs ( $atts, $content = null ) { + // Instruct the shortcode JavaScript to load. + if ( ! defined( 'WOO_SHORTCODE_JS' ) ) { define( 'WOO_SHORTCODE_JS', 'load' ); } + + $defaults = array( 'style' => 'default', 'title' => '', 'css' => '', 'id' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // If no unique ID is set, set the ID as a random number between 1 and 100 (to make sure each tab group is unique). + if ( $id == '' ) { $id = rand( 1, 100 ); } + if ( $css != '' ) { $css = ' ' . $css; } + + // Extract the tab titles for use in the tabber widget. + preg_match_all( '/tab title="([^\"]+)"/i', $content, $matches, PREG_OFFSET_CAPTURE ); + + $tab_titles = array(); + $tabs_class = 'tab_titles'; + + if ( isset( $matches[1] ) ) { $tab_titles = $matches[1]; } // End IF Statement + + $titles_html = ''; + + if ( count( $tab_titles ) ) { + if ( $title ) { $titles_html .= '

                    ' . esc_html( $title ) . '

                    '; $tabs_class .= ' has_title'; } // End IF Statement + + $titles_html .= '
                      ' . "\n"; + + $counter = 1; + + foreach ( $tab_titles as $t ) { + $titles_html .= '' . "\n"; + $counter++; + } // End FOREACH Loop + + $titles_html .= '
                    ' . "\n"; + } // End IF Statement + + return '
                    ' . $titles_html . do_shortcode( $content ) . "\n" . '
                    ' . "\n" . '
                    '; +} // End woo_shortcode_tabs() + +add_shortcode( 'tabs', 'woo_shortcode_tabs', 90 ); + +/*-----------------------------------------------------------------------------------*/ +/* 16.1 A Single Tab - [tab title="The title goes here"][/tab] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_tab_single ( $atts, $content = null ) { + $defaults = array( 'title' => 'Tab' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $class = ''; + + if ( $title != 'Tab' ) { + $class = ' tab-' . sanitize_title( $title ); + } + + return '
                    ' . do_shortcode( $content ) . '
                    '; +} // End woo_shortcode_tab_single() + +add_shortcode( 'tab', 'woo_shortcode_tab_single', 99 ); + +/*-----------------------------------------------------------------------------------*/ +/* 17. Dropcap - [dropcap][/dropcap] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_dropcap ( $atts, $content = null ) { + $defaults = array(); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; +} // End woo_shortcode_dropcap() + +add_shortcode( 'dropcap', 'woo_shortcode_dropcap' ); + +/*-----------------------------------------------------------------------------------*/ +/* 18. Highlight - [highlight][/highlight] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_highlight ( $atts, $content = null ) { + $defaults = array(); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; +} // End woo_shortcode_highlight() + +add_shortcode( 'highlight', 'woo_shortcode_highlight' ); + +/*-----------------------------------------------------------------------------------*/ +/* 19. Abbreviation - [abbr][/abbr] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_abbreviation ( $atts, $content = null ) { + $defaults = array( 'title' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '' . $content . ''; +} // End woo_shortcode_abbreviation() + +add_shortcode( 'abbr', 'woo_shortcode_abbreviation' ); + +/*-----------------------------------------------------------------------------------*/ +/* 20. Typography - [typography font="" size="" color=""][/typography] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_typography ( $atts, $content = null ) { + global $google_fonts, $woo_used_google_fonts; + + // Get just the names of the Google fonts. + $google_font_names = array(); + + if ( count( $google_fonts ) ) { + foreach ( $google_fonts as $g ) { + $google_font_names[] = $g['name']; + } // End FOREACH Loop + } // End IF Statement + + // Build array of usable typefaces. + $fonts_whitelist = array( + 'Arial, Helvetica, sans-serif', + 'Verdana, Geneva, sans-serif', + '|Trebuchet MS|, Tahoma, sans-serif', + 'Georgia, |Times New Roman|, serif', + 'Tahoma, Geneva, Verdana, sans-serif', + 'Palatino, |Palatino Linotype|, serif', + '|Helvetica Neue|, Helvetica, sans-serif', + 'Calibri, Candara, Segoe, Optima, sans-serif', + '|Myriad Pro|, Myriad, sans-serif', + '|Lucida Grande|, |Lucida Sans Unicode|, |Lucida Sans|, sans-serif', + '|Arial Black|, sans-serif', + '|Gill Sans|, |Gill Sans MT|, Calibri, sans-serif', + 'Geneva, Tahoma, Verdana, sans-serif', + 'Impact, Charcoal, sans-serif' + ); + + $fonts_whitelist = array(); // Temporarily remove the default fonts. + + $defaults = array( 'font' => 'Arial, Helvetica, sans-serif', 'size' => '12', 'color' => '#000000', 'size_format' => 'px' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + // Run checks to make sure it's an allowed font stack. + if ( in_array( $font, $fonts_whitelist ) || in_array( $font, $google_font_names ) ) { + if ( in_array( $font, $google_font_names ) ) { + + // Set up global array of used Google fonts for processing later + if( ! $woo_used_google_fonts ) { $woo_used_google_fonts = array(); } + + // Add to array of used Google fonts + if ( ! in_array( $font, $woo_used_google_fonts ) ) { + $woo_used_google_fonts[] = $font; + } // End IF Statement + + $font = "'" . $font . "'"; + } // End IF Statement + } else { + $font = 'Arial, Helvetica, sans-serif'; + } // End IF Statement + + // $font = str_replace( '|', '"', $font ); + + return '' . do_shortcode( $content ) . ''; +} // End woo_shortcode_typography() + +add_shortcode( 'typography', 'woo_shortcode_typography' ); + +add_action( 'wp_head', 'woo_shortcode_typography_loadgooglefonts', 0 ); + +function woo_shortcode_typography_loadgooglefonts ( $font = false , $id = false ) { + if ( $font ) { + // If a specific font is requested, just enqueue that font. + $variations = array( + 'Raleway' => ':100', + 'Coda' => ':800', + 'UnifrakturCook' => ':bold', + 'Allan' => ':bold', + 'Sniglet' => ':800', + 'Cabin' => ':bold', + 'Corben' => ':bold', + 'Buda' => ':light' + ); + + $f = $font; + + $f = str_replace( ' ', '+', $f ); + + $f_include = $f; + + if ( in_array( $f, array_keys( $variations ) ) ) { + $f_include = $f . $variations[$f]; + } // End IF Statement + + if( ! $id ) { + $id = 'woo-googlefont-' . sanitize_title( $f ); + } + + wp_enqueue_style( $id , 'http'. ( is_ssl() ? 's' : '' ) .'://fonts.googleapis.com/css?family=' . $f_include . '' , array() , '3.6' , 'screen' ); + } // End IF Statement +} // End woo_shortcode_typography_loadgooglefonts() + +/*-----------------------------------------------------------------------------------*/ +/* 21. List Styles - Unordered List - [unordered_list style=""][/unordered_list] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_unorderedlist ( $atts, $content = null ) { + $defaults = array( 'style' => 'default' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '
                    ' . do_shortcode( $content ) . '
                    ' . "\n"; +} // End woo_shortcode_unorderedlist() + +add_shortcode( 'unordered_list', 'woo_shortcode_unorderedlist' ); + +/*-----------------------------------------------------------------------------------*/ +/* 22. List Styles - Ordered List - [ordered_list style=""][/ordered_list] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_orderedlist ( $atts, $content = null ) { + $defaults = array( 'style' => 'default' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + return '
                    ' . do_shortcode( $content ) . '
                    ' . "\n"; +} // End woo_shortcode_orderedlist() + +add_shortcode( 'ordered_list', 'woo_shortcode_orderedlist' ); + +/*-----------------------------------------------------------------------------------*/ +/* 23. Social Icon - [social_icon url="" float="" icon_url="" title="" profile_type="" window=""] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_socialicon ( $atts, $content = null ) { + $defaults = array( 'url' => '', 'float' => 'none', 'icon_url' => '', 'title' => '', 'profile_type' => '', 'window' => 'no', 'rel' => '' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + if ( ! $url ) { return; } // End IF Statement - Don't run the shortcode if no URL has been supplied. + + // Attempt to determine the location of the social profile. + // If no location is found, a default icon will be used. + + $_default_icon = ''; + + $_supported_profiles = array( + 'facebook' => 'facebook.com', + 'twitter' => 'twitter.com', + 'youtube' => 'youtube.com', + 'delicious' => 'delicious.com', + 'flickr' => 'flickr.com', + 'linkedin' => 'linkedin.com', + 'googleplus' => 'plus.google.com' + ); + + $_profile_to_display = ''; + $_alt_text = ''; + $_classes = 'social-icon'; + + $_profile_match = false; + + // If they've specified an icon, skip the automation. + + if ( $profile_type != '' ) { + $_profile_match = true; + $_profile_to_display = $profile_type; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $_profile_to_display ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + $_profile_class = ' social-icon-' . $_profile_to_display; + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + } + } // End IF Statement + + // Create a special scenario for use with the RSS feed for this website. + if ( $url == 'feed' ) { + $_profile_match = true; + $_profile_to_display = 'rss'; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = __( 'Subscribe to our RSS feed', 'woothemes' ); } // End IF Statement + $_classes .= ' social-icon-subscribe'; + $url = get_bloginfo( 'rss2_url' ); + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + } + } else { + foreach ( $_supported_profiles as $k => $v ) { + if ( $_profile_match == true ) { break; } // End IF Statement - Break out of the loop if we already have a match. + + // Get host name from URL + preg_match( '@^(?:http://)?([^/]+)@i', $url, $matches ); + $host = $matches[1]; + + if ( $host == $v ) { + + $_profile_match = true; + $_profile_to_display = $k; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $_profile_to_display ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + $_profile_class = ' social-icon-' . $_profile_to_display; + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + } + } else { + $_profile_to_display = 'default'; + if ( $title ) { $_alt_text = $title; } else { $_alt_text = ucwords( $matches[1] ); $_alt_text = sprintf( __( 'My %s Profile', 'woothemes' ), $_alt_text ); } // End IF Statement + + $_host_bits = explode( '.', $matches[1] ); + $_profile_class = ' social-icon-' . $_host_bits[0]; + + if ( $icon_url ) { + $_img_url = $icon_url; + } else { + $_img_url = trailingslashit( get_template_directory_uri() ) . 'functions/images/ico-social-' . $_profile_to_display . '.png'; + + // Check if an image has been added for this social icon. + if ( file_exists( trailingslashit( get_stylesheet_directory() ) . 'images/ico-social-' . $_host_bits[0] . '.png' ) ) { + $_img_url = trailingslashit( get_stylesheet_directory_uri() ) . 'images/ico-social-' . $_host_bits[0] . '.png'; + } + } // End IF Statement + } // End IF Statement + } // End FOREACH Loop + + $_classes .= $_profile_class; + + // Determine the floating CSS class to be used. + switch ( $float ) { + case 'left': + $_classes .= ' fl'; + break; + + case 'right': + $_classes .= ' fr'; + break; + + default: + break; + } + } // End IF Statement + + $target = ''; + if ( $window == 'yes' ) { $target = ' target="_blank"'; } // End IF Statement + if ( $rel != '' ) { $rel = ' rel="' . esc_attr( $rel ) . '"'; } + + return '' . esc_attr( $_alt_text ) . '' . "\n"; +} // End woo_shortcode_socialicon() + +add_shortcode( 'social_icon', 'woo_shortcode_socialicon' ); + +/*-----------------------------------------------------------------------------------*/ +/* 24. LinkedIn Button - [linkedin_share url="" style=""] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_linkedin_share ( $atts, $content = null ) { + + $defaults = array( 'url' => '', 'style' => 'none', 'float' => 'none' ); + + extract( shortcode_atts( $defaults, $atts ) ); + + $allowed_floats = array( 'left' => 'fl', 'right' => 'fr', 'none' => '' ); + $allowed_styles = array( 'top' => ' data-counter="top"', 'right' => ' data-counter="right"', 'none' => '' ); + + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + if ( ! in_array( $style, array_keys( $allowed_styles ) ) ) { $style = 'none'; } + + if ( $url ) { $url = ' data-url="' . esc_url( $url ) . '"'; } + + $output = ''; + + if ( $float == 'none' ) {} else { $output .= '
                    ' . "\n"; } + + $output .= '' . "\n"; + + if ( $float == 'none' ) {} else { $output .= '
                    ' . "\n"; } + + // Enqueue the LinkedIn button JavaScript from their API. + add_action( 'wp_footer', 'woo_shortcode_linkedin_js' ); + add_action( 'woo_shortcode_generator_preview_footer', 'woo_shortcode_linkedin_js' ); + + return $output . "\n"; +} // End woo_shortcode_linkedin_share() + +add_shortcode( 'linkedin_share', 'woo_shortcode_linkedin_share' ); + +/*-----------------------------------------------------------------------------------*/ +/* 24.1 Load Javascript for LinkedIn Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_linkedin_js () { + echo '' . "\n"; +} // End woo_shortcode_linkedin_js() + +/*-----------------------------------------------------------------------------------*/ +/* 25. Google +1 Button - [google_plusone] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_google_plusone ( $atts, $content = null ) { + global $post; + + $defaults = array( + 'size' => '', + 'language' => '', + 'count' => '', + 'href' => '', + 'callback' => '', + 'float' => 'none', + 'annotation' => 'none' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $params = array(); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + if ( ! in_array( $annotation, array( 'bubble', 'inline', 'none' ) ) ) { $annotation = 'none'; } + + // A friendly-looking array of supported languages, along with their codes. + $supported_languages = array( + 'ar' => 'Arabic', + 'bg' => 'Bulgarian', + 'ca' => 'Catalan', + 'zh-CN' => 'Chinese (Simplified)', + 'zh-TW' => 'Chinese (Traditional)', + 'hr' => 'Croatian', + 'cs' => 'Czech', + 'da' => 'Danish', + 'nl' => 'Dutch', + 'en-US' => 'English (US)', + 'en-GB' => 'English (UK)', + 'et' => 'Estonian', + 'fil' => 'Filipino', + 'fi' => 'Finnish', + 'fr' => 'French', + 'de' => 'German', + 'el' => 'Greek', + 'iw' => 'Hebrew', + 'hi' => 'Hindi', + 'hu' => 'Hungarian', + 'id' => 'Indonesian', + 'it' => 'Italian', + 'ja' => 'Japanese', + 'ko' => 'Korean', + 'lv' => 'Latvian', + 'lt' => 'Lithuanian', + 'ms' => 'Malay', + 'no' => 'Norwegian', + 'fa' => 'Persian', + 'pl' => 'Polish', + 'pt-BR' => 'Portuguese (Brazil)', + 'pt-PT' => 'Portuguese (Portugal)', + 'ro' => 'Romanian', + 'ru' => 'Russian', + 'sr' => 'Serbian', + 'sv' => 'Swedish', + 'sk' => 'Slovak', + 'sl' => 'Slovenian', + 'es' => 'Spanish', + 'es-419' => 'Spanish (Latin America)', + 'th' => 'Thai', + 'tr' => 'Turkish', + 'uk' => 'Ukrainian', + 'vi' => 'Vietnamese' + ); + + $output = ''; + $tag_atts = ''; + + // Make sure we only have Google +1 attributes in our array, after parsing the "float" parameter. + unset( $atts['float'] ); + + if ( $atts['href'] == '' & isset( $post->ID ) ) { + $atts['href'] = get_permalink( $post->ID ); + } + + foreach ( $atts as $k => $v ) { + if ( ${$k} != '' ) { + $tag_atts .= ' data-' . esc_attr( $k ) . '="' . esc_attr( ${$k} ) . '"'; + } + } + + $output = '
                    ' . "\n"; + + // Parameters to pass to Google PlusOne JavaScript. + if ( in_array( $atts['language'] , array_values( $supported_languages ) ) ) { + $language = ''; + + foreach ( $supported_languages as $k => $v ) { + if ( $v == $atts['language'] ) { + $language = $k; + break; + } + } + + $params = array( 'language' => $language ); + } + + // Enqueue the Google +1 button JavaScript from their API. + woo_shortcode_google_plusone_js( $params ); + + return $output . "\n"; +} // End woo_shortcode_google_plusone() + +add_shortcode( 'google_plusone', 'woo_shortcode_google_plusone' ); + +/*-----------------------------------------------------------------------------------*/ +/* 25.1 Load Javascript for Google +1 Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_google_plusone_js ( $params ) { + echo '' . "\n"; + echo '' . "\n"; +} // End woo_shortcode_google_plusone_js() + +/*-----------------------------------------------------------------------------------*/ +/* 26. Twitter Follow Button - [twitter_follow] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_twitter_follow ( $atts, $content = null ) { + + global $post; + + if ( ! isset( $atts['username'] ) || ( $atts['username'] == '' ) ) { return; } // We can't continue without the username. + + $defaults = array( + 'username' => '', + 'button_color' => 'blue', + 'text_color' => '', + 'link_color' => '', + 'width' => '', + 'align' => '', + 'language' => '', + 'count' => '', + 'float' => 'none', + 'show_screen_name' => 'true', + 'size' => 'medium' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $allowed_langs = array( 'en', 'fr', 'de', 'it', 'es', 'ko', 'ja' ); + if ( ! in_array( $language, array_keys( $allowed_langs ) ) ) { $language = ''; } + + $output = ''; + $tag_atts = ''; + + // Make sure we only have Google +1 attributes in our array, after parsing the "float" parameter. + unset( $atts['float'] ); + unset( $atts['username'] ); + + // Setup array of attributes and the value keys containing the data for each. + $att_keys = array( + 'button_color' => 'data-button', + 'text_color' => 'data-text-color', + 'link_color' => 'data-link-color', + 'width' => 'data-width', + 'align' => 'data-align', + 'language' => 'data-lang', + 'count' => 'data-show-count', + 'show_screen_name' => 'data-show-screen-name', + 'size' => 'data-size' + ); + + foreach ( $atts as $k => $v ) { + if ( ${$k} != '' ) { + $tag_atts .= ' ' . esc_attr( $att_keys[$k] ) . '="' . esc_attr( ${$k} ) . '"'; + } + } + + $output = '
                    ' . "\n"; + $output .= '' . "\n"; + $output .= woo_shortcode_twitter_follow_js( false ); + $output .= '
                    ' . "\n"; + + return $output . "\n"; +} // End woo_shortcode_twitter_follow() + +add_shortcode( 'twitter_follow', 'woo_shortcode_twitter_follow' ); + +/*-----------------------------------------------------------------------------------*/ +/* 26.1 Load Javascript for Twitter Follow Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_twitter_follow_js ( $echo = true ) { + $html = '' . "\n"; + if ( true == $echo ) { echo $html; } else { return $html; } +} // End woo_shortcode_twitter_follow_js() + +/*-----------------------------------------------------------------------------------*/ +/* 27. StumbleUpon Badge - [stumbleupon] +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_stumbleupon ( $atts, $content = null ) { + global $post; + + $defaults = array( + 'design' => 'horizontal_large', + 'float' => 'none', + 'url' => '', + 'use_post' => 'false' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $allowed_designs = array( 'horizontal_large' => '1', 'horizontal_medium' => '2', 'horizontal_small' => '3', 'icon_small' => '4', 'vertical_count' => '5', 'icon_large' => '6' ); + if ( ! in_array( $design, array_keys( $allowed_designs ) ) ) { $design = 'horizontal_large'; } + + $output = ''; + + $url_call = ''; + + // Use the custom URL, if it has been specified. + if ( $atts['url'] != '' ) { + $url_call = '&r=' . esc_url( $url ); + } + + // Use the URL to the current $post in the loop, if no custom URL is set and if instructed to do so. + if ( $url_call == '' && $atts['use_post'] == 'true' ) { + $url_call = '&r=' . esc_url( get_permalink( $post ) ); + } + + $output = apply_filters( 'woo_shortcode_stumbleupon', '
                    ' . "\n", $atts ); + + return $output . "\n"; +} // End woo_shortcode_stumbleupon() + +add_shortcode( 'stumbleupon', 'woo_shortcode_stumbleupon' ); + +/*-----------------------------------------------------------------------------------*/ +/* 28. Pinterest "Pin It" Button [pinterest] */ +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_pinterest ( $atts, $content = null ) { + global $post; + + $defaults = array( + 'count' => 'horizontal', + 'float' => 'none', + 'url' => '', + 'image_url' => '', + 'description' => '', + 'use_post' => 'false' + ); + + $atts = shortcode_atts( $defaults, $atts ); + + extract( $atts ); + + $allowed_floats = array( 'left' => ' fl', 'right' => ' fr', 'none' => '' ); + if ( ! in_array( $float, array_keys( $allowed_floats ) ) ) { $float = 'none'; } + + $allowed_counts = array( 'horizontal', 'vertical', 'none' ); + if ( ! in_array( $count, array_keys( $allowed_counts ) ) ) { $count = 'horizontal'; } + + $output = ''; + + // Use the custom URL, if it has been specified. + if ( $atts['url'] != '' ) { + $url = esc_url( $atts['url'] ); + } else { + // Use the URL to the current $post in the loop. + $url = esc_url( get_permalink( $post ) ); + } + + // Use the custom image URL, if it has been specified. + if ( '' != $atts['image_url'] ) { + $image_url = esc_url( $atts['image_url'] ); + } else { + // Use the image of the current $post in the loop. + $image_url = esc_url( woo_image( 'link=url&return=true' ) ); + } + + // Use the custom description, if it has been specified. + if ( '' != $atts['description'] ) { + $description = esc_attr( $atts['description'] ); + } else { + // Use the excerpt of the current $post in the loop, if no description is set and if instructed to do so. + if ( 'true' == $atts['use_post'] ) { + $description = esc_attr( strip_shortcodes( apply_filters( 'get_the_excerpt', $post->post_excerpt ) ) ); + } + } + + $output = apply_filters( 'woo_shortcode_pinterest', '' . "\n", $atts ); + + // Enqueue the Pinterest button JavaScript from their API. + add_action( 'wp_footer', 'woo_shortcode_pinterest_javascript' ); + add_action( 'woo_shortcode_generator_preview_footer', 'woo_shortcode_pinterest_javascript' ); + + return $output . "\n"; +} // End woo_shortcode_pinterest() + +add_shortcode( 'pinterest', 'woo_shortcode_pinterest' ); + +/*-----------------------------------------------------------------------------------*/ +/* 28.1 Load Javascript for Pinterest Button +/*-----------------------------------------------------------------------------------*/ + +function woo_shortcode_pinterest_javascript () { + echo '' . "\n"; +} // End woo_shortcode_pinterest_javascript() + +/*-----------------------------------------------------------------------------------*/ +/* THE END */ +/*-----------------------------------------------------------------------------------*/ +?> \ No newline at end of file diff --git a/bueno/functions/admin-style.css b/bueno/functions/admin-style.css new file mode 100755 index 0000000..886bc48 --- /dev/null +++ b/bueno/functions/admin-style.css @@ -0,0 +1,784 @@ +/*-------------------------------------------------------------------------------------------*/ +/* WooThemes admin styles */ +/*-------------------------------------------------------------------------------------------*/ + +/* If you have a screen which uses the old WooFramework styles, load this file in. */ + +/* UI SLIDER */ +#woo_container .section-slider .controls .ui-slider { float: left; margin: 0; top: 8px; width: 268px; border: 1px solid red; border: 1px solid #DDD; background: #EEE; color: #333;position: relative; text-align: left;height: .8em; } +#woo_container .section-slider .controls .ui-slider .ui-slider-handle { border: 1px solid #CCC; cursor: pointer; background: #F6F6F6; font-weight: bold; color: #1C94C4; outline: none; position: absolute; z-index: 2; width: 14px; height: 14px; cursor: pointer; top: -3px; margin-left: -7px; } +#woo_container .section-slider .controls .woo-input { float: right; width: 40px; } + +.updated, .error { display: none !important; } /* disable the admin notices */ +#wooframework_important_update.error { display: block !important; } +#wooframework_update.updated { display: block !important; } +#theme_update.updated { display: block !important; } /* Except for the theme update notifier */ + +#woo_container { margin-top: 15px; width: 827px; position:relative; z-index: 0 } + +/* WOOSEO AND WOOSIDEBARS DEPRECATION BANNER */ +#woodeprecate-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 15px; border: 1px solid #C00; background: #FFEBE8; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#woodeprecate-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#woodeprecate-banner span.main { margin-top: 2px; font-weight: bold; font-size: 16px; } +#woodeprecate-banner .button-primary { position: absolute; right: 20px; top: 27px; } +#woodeprecate-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#woodeprecate-banner .close-banner:hover { opacity: 1; } +#woodeprecate-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + +/* WOODOJO DOWNLOAD BANNER */ +#woodojo-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 90px; border: 1px solid #d9d9d9; background: #f5f5f5 url(images/ico-dojo-banner.png) no-repeat 14px 11px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#woodojo-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#woodojo-banner span.main { margin-top: 2px; font-weight: bold; font-size: 16px; } +#woodojo-banner .button-primary { position: absolute; right: 20px; top: 27px; } +#woodojo-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#woodojo-banner .close-banner:hover { opacity: 1; } +#woodojo-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + +/* PRESSTRENDS ENABLE BANNER */ +#presstrends-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 90px; border: 1px solid #d9d9d9; background: #f5f5f5 url(images/ico-presstrends-banner.png) no-repeat 14px 30px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#presstrends-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#presstrends-banner span.main { margin-top: 2px; font-weight: bold; font-size: 16px; margin-bottom: 5px; } +#presstrends-banner span.info { margin-right: 160px; line-height: 18px; } +#presstrends-banner .button-primary { position: absolute; right: 20px; top: 45px; } +#presstrends-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#presstrends-banner .close-banner:hover { opacity: 1; } +#presstrends-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + +/* STATIC FRONT PAGE BANNER */ +#staticfrontpage-banner { position: relative; margin: 0 0 2em; padding: 15px 15px 15px 15px; border: 1px solid #d9d9d9; background: #f5f5f5; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -moz-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; -webkit-box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #fff; } +#staticfrontpage-banner span { display: block; text-shadow: 1px 1px 0 #fff; font-size: 14px; line-height: 22px; color: #595959; } +#staticfrontpage-banner span.main { margin-top: 2px; font-weight: normal; font-size: 14px; } +#staticfrontpage-banner span.subtext { font-size: 12px; } +#staticfrontpage-banner .button-primary { position: absolute; right: 20px; top: 27px; } +#staticfrontpage-banner .close-banner { position: absolute; top: 5px; right: 5px; display: block; width: 13px; height: 13px; background: url(images/ico-dojo-banner-close.png) no-repeat left top; opacity: 0.6; cursor: pointer; } +#staticfrontpage-banner .close-banner:hover { opacity: 1; } +#staticfrontpage-banner .close-banner a { display: block; width: 13px; height: 13px; text-indent: -9999px; } + + +#woo_container #header { height: 80px; background: url(images/headertile.jpg) repeat-x left top; border: 1px solid #a4bbcd; border-top-left-radius: 15px; -moz-border-radius-topleft: 15px; -webkit-border-top-left-radius: 15px; -webkit-border-top-right-radius: 15px; border-top-right-radius: 15px; -moz-border-radius-topright: 15px; +/*INSET SHADOW*/ +-webkit-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +-moz-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +} + +#woo_container #header .logo { float: left; margin: 24px 0 0 25px; height: 35px; } +#woo_container #header .theme-info { float: right; margin: 26px 25px 0 0; } +#woo_container #header .theme-info span { display: block; line-height: 15px; text-transform: uppercase; text-align: right; color: #4e4e4e; text-shadow: 1px 1px 0 #fff; } +#woo_container #header .theme-info .theme { font-size: 15px; font-weight: bold; } +#woo_container #header .theme-info .framework { font-size: 12px; } +#woo_container #header .theme-info b { font-size: 11px; text-transform: none; color: #444; font-weight: 100; } + +#woo_container #support-links { height: 32px; padding: 0 0 0 15px; background-color: #d7e6f2; border-top: 1px solid #f1f6fa; border-bottom: 1px solid #a4bbcd; border-left: 1px solid #d8d8d8; border-right: 1px solid #d8d8d8; } +#woo_container #support-links ul { margin: 0; } +#woo_container #support-links ul li { display: inline; margin: 0 6px 0 0; } +#woo_container #support-links ul li a:link, #support-links ul li a:visited { line-height: 32px; font-size: 10px; font-weight: bold; text-transform: uppercase; text-decoration: none; color: #21759b; text-shadow: 1px 1px 0 #fff; } +#woo_container #support-links ul li a:hover { color: #155876; } +#woo_container #support-links ul li.changelog { padding: 2px 0 2px 20px; background: url(images/ico-changelog.png) no-repeat left center; } +#woo_container #support-links ul li.docs { padding: 1px 0 1px 20px; background: url(images/ico-docs.png) no-repeat left top; } +#woo_container #support-links ul li.forum { padding: 1px 0 1px 20px; background: url(images/ico-forum.png) no-repeat left top; } +#woo_container #support-links ul li.right { float:right; margin-right:15px} + +#woo_container #main { background-color: #f1f1f1; border-left: 1px solid #d8d8d8; border-right: 1px solid #d8d8d8; border-bottom: 1px solid #d8d8d8; } + +#woo_container #main #content { position: relative; margin-left: 189px; } + +#woo_container #woo-nav-shadow { width: 50px; position: absolute; top: 0; bottom: 0; right: 0; background: transparent url(images/menu-shadow.png) repeat-y top right; width: 6px; z-index: 999;} + +#woo_container #wooform { position: relative; } +#woo_container #woo-nav { float: left; position: absolute; top: 116px; bottom: 47px; z-index: 9999; width: 190px; } +#woo_container.add #wooform-content-builder #woo-nav, #woo_container.edit #wooform-content-builder #woo-nav { top: 150px; } +#woo_container #woo-nav ul { margin:0; } +#woo_container #woo-nav li { margin-bottom:0; position: relative;} +#woo_container #woo-nav ul li a:link, #woo-nav ul li a:visited { display: block; padding: 7px 10px 7px 10px; font:bold 12px/18px sans-serif; text-decoration: none; color: #797979; border-bottom: 1px solid #d8d8d8; border-top:1px solid #fff; text-shadow: 0 1px 0 #fff; } +#woo_container #woo-nav ul li.current a:link, #woo_container #woo-nav ul li.current a:visited { + color: #21759b; + margin-left: -1px; + background-color: #777; + background-image: -ms-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -moz-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -o-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080)); + background-image: -webkit-linear-gradient(bottom,#6d6d6d,#808080); + background-image: linear-gradient(bottom,#6d6d6d,#808080); + text-shadow: 0 -1px 0 #333; + color: white; + border-top-color: gray; + border-bottom-color: #6D6D6D; +} +body.js #woo_container #woo-nav li.current ul.sub-menu, body.js #woo_container #woo-nav li.current ul.sub-menu li a { margin-left:0; } + +#woo-nav li .arrow { + display: none; + top: 1px; + cursor: auto; + position: absolute; + left: -1000px; + margin: 0; + height: 32px; + width: 6px; + -moz-transform: translate(146px); + -webkit-transform: translate(146px); + -o-transform: translate(146px); + -ms-transform: translate(146px); + transform: translate(146px); +} + + +#woo-nav li .arrow div { + position: absolute; + -moz-transform: matrix(-0.6,1,0.6,1,0,0); + -webkit-transform: matrix(-0.6,1,0.6,1,0,0); + -o-transform: matrix(-0.6,1,0.6,1,0,0); + -ms-transform: matrix(-0.6,1,0.6,1,0,0); + transform: matrix(-0.6,1,0.6,1,0,0); + height: 17px; + width: 17px; + top: 7px; + left: -2px; + border-width: 0 0 1px 1px; + border-style: solid; + background: #E4E4E4; + border-color: #CCC; +} +#woo-nav li.has-children:hover .arrow { + display: block; + z-index: 9999; + -moz-transform: translate(1183px); + -webkit-transform: translate(1183px); + -o-transform: translate(1183px); + -ms-transform: translate(1183px); + transform: translate(1183px); + background: #E4E4E4; + border-color: #CCC; +} + +#woo-nav li.current .arrow, #woo-nav li.has-children.current .arrow { + display: block; + z-index: 9997; + -moz-transform: translate(1184px); + -webkit-transform: translate(1184px); + -o-transform: translate(1184px); + -ms-transform: translate(1184px); + transform: translate(1184px); + background-color: #777; + background-image: -ms-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -moz-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -o-linear-gradient(bottom,#6d6d6d,#808080); + background-image: -webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080)); + background-image: -webkit-linear-gradient(bottom,#6d6d6d,#808080); + background-image: linear-gradient(bottom,#6d6d6d,#808080); +} + +#woo_container #woo-nav ul li.current .arrow div { + border: none; + background-color: #777; + background-image: -ms-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: -moz-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: -o-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: -webkit-gradient(linear,right bottom,left top,from(#6d6d6d),to(#808080)); + background-image: -webkit-linear-gradient(right bottom,#6d6d6d,#808080); + background-image: linear-gradient(right bottom,#6d6d6d,#808080); +} + +.admin-color-classic #woo_container #woo-nav ul li.current a:link, #woo_container #woo-nav ul li.current a:visited { + border-top-color: #5A8FAD; + border-bottom-color: #5589AA; + background-color: #5589AA; + background-image: -ms-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -moz-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -o-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb)); + background-image: -webkit-linear-gradient(bottom,#5589AA,#619bbb); + background-image: linear-gradient(bottom,#5589AA,#619bbb); +} +.admin-color-classic #woo-nav li.current .arrow, .admin-color-classic #woo-nav li.has-children.current .arrow { + background-color: #5589AA; + background-image: -ms-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -moz-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -o-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb)); + background-image: -webkit-linear-gradient(bottom,#5589AA,#619bbb); + background-image: linear-gradient(bottom,#5589AA,#619bbb); +} + +.admin-color-classic #woo_container #woo-nav ul li.current .arrow div { + border: none; + background-color: #5589AA; + background-image: -ms-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -moz-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -o-linear-gradient(bottom,#5589AA,#619bbb); + background-image: -webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb)); + background-image: -webkit-linear-gradient(bottom,#5589AA,#619bbb); + background-image: linear-gradient(bottom,#5589AA,#619bbb); +} + +#woo_container #woo-nav ul li a:hover { color: #D54E21; background-color: #e4e4e4; } +#woo_container #woo-nav ul li.current a:hover { color: #fff; } + +#woo_container #woo-nav li ul { background: #fff; border-bottom: 1px solid #DFDFDF; padding:5px 0; } +#woo_container #woo-nav li ul li { border: none; } + +/*-------------------------------------------------------------------------------------------*/ +/* Sub-Menu Navigation */ +/*-------------------------------------------------------------------------------------------*/ + +body.js #woo_container #woo-nav ul.sub-menu { display: none; margin: 0 1px; } +#wpwrap #woo_container #woo-nav li.top-level:hover { background-color: #e4e4e4; } +#wpwrap #woo_container #woo-nav li.top-level:hover .flyout-menu { display: block; } +#wpwrap #woo_container #woo-nav li.top-level.open:hover .flyout-menu { display: none; } +body.js #woo_container #woo-nav .flyout-menu { z-index: 9998; display: none; position: absolute; left: 190px; margin-top: -35px; width: 150px; background: #FFFFFF; border: 1px solid #EBEBEB; box-shadow: 5px 5px 10px rgba( 0, 0, 0, 0.4 ); } +body.js #woo_container #woo-nav .flyout-menu ul { border: none; padding:5px 0;} +#wpwrap #woo_container #woo-nav .flyout-menu li a { padding-left: 20px; } +body.js #woo_container #woo-nav li.open .flyout-menu { display: none; } +#wpwrap #woo_container #woo-nav .sub-menu a, #wpwrap #woo_container #woo-nav .flyout-menu a { background-color: #FFFFFF; background-image: none; border-bottom: 0; padding: 3px 5px 3px 15px; font-weight: normal; border: none; color: #21759B; text-shadow: none; } +#wpwrap #woo_container #woo-nav .sub-menu a:hover { background-color: #eaf2fa; color: #333; } +#wpwrap #woo_container #woo-nav .flyout-menu a:hover { background-color: none; color: #333; } +#wpwrap #woo_container #woo-nav .sub-menu .active a, #wpwrap #woo_container #woo-nav .flyout-menu .active a { color: #333333; font-weight: bold; } + +#woo_container #content { float: left; min-height: 650px; width: 595px; margin-left: -1px; padding: 0 20px; font-family: sans-serif; background-color: #fff; border-left: 1px solid #d8d8d8; } + +#woo_container #content .group h1 { display:none; padding: 20px 0; margin: 0 0 20px; font-size: 23px; color:#464646; font-weight:normal; border-bottom: 1px solid #e0e0e0; } + +#woo_container #content .section { margin-bottom: 10px; border-bottom: 1px solid #E7E7E7; padding-bottom:15px; } +#woo_container #content .section h3.heading { font-size:1.1em; margin: 15px 0 5px; padding: 7px 0px; } +#woo_container #content .section.section-info { border-bottom: none; margin:0; padding:0; } +#woo_container #content .section .controls { float: left; width: 345px; margin: 0 15px 0 0; } +#woo_container #content .section .explain { float: left; width: 235px; padding: 0 0 0 0; font-size: 11px; color: #999999; font-family: sans-serif; } + +#woo_container #content .section-checkbox .controls { width:25px} +#woo_container #content .section-checkbox .explain { width:540px} + +#woo_container #content .section-color .controls { width:125px} +#woo_container #content .section-color .explain { width:440px} + +#woo_container #content .section-info h3.heading { + font-size: 12px; font-weight: 100; border: 0; margin-top: 20px; letter-spacing: 1px; border-top: 1px solid #FFF298; margin-bottom: 0; background:#EFE186; padding: 10px 20px; } +#woo_container #content .section-info .controls { margin: 0 0 10px; padding: 15px 20px; width: auto; line-height: 1.5em; font-size: 14px; font-style: italic; font-family: Georgia, serif; background: #FFF298; border:1px solid #ECD852; color:#424242;} +#woo_container #content .section-info .controls small { font-size: 12px} + +#woo_container #content .section-info h3.heading { + -moz-border-radius-topleft:4px; + -moz-border-radius-topright:4px; +} +#woo_container #content .section-info .controls{ + float:none; + -moz-border-radius-bottomleft:4px; + -moz-border-radius-bottomright:4px; +} + +#woo_container textarea, #woo_container input, #woo_container select { + -moz-border-radius:4px; + -webkit-border-radius:4px; + -border-radius:4px; + border-style:solid; + border-width:1px; +} + +#woo_container input[type="checkbox"], #woo_container input[type="radio"] { + vertical-align: baseline; +} + +#woo_container .controls input,#woo_container .controls select,#woo_container .controls textarea { + margin-bottom: 9px !important; + background-color: #fafafa; + border: 1px solid; + border-color: #CCCCCC #EEEEEE #EEEEEE #CCCCCC; + width: 340px; + padding: 5px; + font-family: sans-serif; + font-size: 12px; + color:#555; +} +#woo_container .controls input:hover,#woo_container .controls select:hover,#woo_container .controls textarea:hover { color:#333; background: #fff;} + +#woo_container .controls input.upload { width:279px; padding-bottom:6px; } +#woo_container .controls input.upload_button { font-size: 12px; float: right; width: 55px; height: 28px; border-color: #BBBBBB; cursor: pointer; padding: 0; margin: 0; margin-top: 1px; padding-top: 1px; } +#woo_container .controls input.upload_button:hover { border-color: #999999; color: #000000; } + +body.version-3-4-1 #woo_container .controls input.upload_button, +body.version-3-4-2 #woo_container .controls input.upload_button { height: 25px; } + +#woo_container .section-upload_min .controls input.upload_button { float: left; } + +#woo_container .screenshot { + float:left; + margin-left:1px; + position:relative; + width:344px; + margin-top:3px; + z-index: 1; +} + +#woo_container .screenshot img { + -moz-border-radius:4px; + -webkit-border-radius:4px; + -border-radius:4px; + background:#FAFAFA; + border-color:#CCCCCC #EEEEEE #EEEEEE #CCCCCC; + border-style:solid; + border-width:1px; + float:left; + max-width:334px; + padding:4px; +} + +#woo_container .screenshot .mlu_remove, #woo_container .typography-preview-container .preview_remove { + + background:url( "images/ico-delete.png") no-repeat; + border:medium none; + bottom:-4px; + display:block; + float:left; + height:16px; + padding:0; + position:absolute; + left:-4px; + text-indent:-9999px; + width:16px; +} + +#woo_container .screenshot .no_image .file_link { + margin-left: 20px; +} + +#woo_container .screenshot .no_image .mlu_remove { + bottom: 0px; +} + + +/* SELECT DROPDOWN */ +#woo_container #content select.woo-input { + cursor:pointer; + height:28px; + margin:0; + opacity:0; + padding:0; + position:relative; + width:inherit; + z-index:4; +} + +#woo_container #content .select_wrapper { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + font-family: sans-serif; + font-size: 12px; + background: #fafafa url(images/select.png) no-repeat right center; + border-color: #ccc #eee #eee #ccc; + border-style: solid; + border-width: 1px; + float: left; + height: 26px; + width: 344px; + margin: 0; + margin-bottom: 9px !important; + width: 344px; + display: block; + color: #555; +} +#woo_container #content .option-type .select_wrapper { + background-color: #fff; +} +#woo_container #content .select_wrapper:hover { + background-color: #fff; + border-color: #bbb #eee #eee #bbb; + color: #333; +} +#woo_container #content .select_wrapper span { + height: 26px; + line-height: 26px; + position: absolute; + z-index: 2; + padding-left: 6px; +} + + +#woo_container .colorSelector { margin-top:1px; } +#woo_container .colorSelector:hover { cursor:pointer; } +#woo_container .controls select { padding: 6px 4px; width: 340px } +#woo_container .controls select:hover { cursor: pointer;} +#woo_container .controls textarea {width: 345px; } + +#woo_container input[type=text], #woo_container select { height:28px; } +#woo_container input[type=text] { width: 340px; } + +#woo_container input.woo-input-calendar { width: 320px; } + +#woo_container input.checkbox { width: 30px; } +#woo_container input.woo-radio { width: 30px; } +#woo_container .controls .radio-wrapper { margin: 0 0 10px 0; } +#woo_container .controls .radio-wrapper input { margin-bottom: 0!important; } + +#woo_container .controls .input-text-small { width: 60px; margin-right:10px} +#woo_container .meta-two { margin-right:10px} + +#woo_container .controls .woo-color {float:left; width: 70px; margin-left:5px; /* font-size:20px; height:34px;*/} + +#woo_container #content .section-typography .controls { width:440px } +#woo_container #content .section-typography .explain { width:140px } + +#woo_container .controls .woo-typography-size { width:50px; float:left} +#woo_container .controls .woo-typography-unit { width:50px; float:left} +#woo_container .controls .woo-typography-face { width:100px; float:left} +#woo_container .controls .woo-typography-style { width:80px; float:left} +#woo_container .controls .woo-typography-preview-button { float: left; margin: 3px 0 0 5px; padding-top: 3px; } +#woo_container .controls .woo-typography-preview-button span { background: transparent url(images/ico-preview.png) no-repeat center center; display: block; text-indent: -9999px; width: 14px; height: 16px; } +#woo_container .controls .woo-typography-preview-button span.refresh { background-image: url(images/ico-refresh.png); } +#woo_container .typography-preview-container { clear: both; } +#woo_container .typography-preview-container .preview_remove { position: relative; float: right; margin-bottom: -10px; margin-right: -10px; z-index: 99; } +#woo_container .typography-preview { word-wrap: break-word; clear: both; padding: 20px; border: 1px solid #CCCCCC; background: #FDFDFD; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } + +.wf-loading #woo_container .typography-preview.current { background: #FDFDFD url(images/loading-bottom.gif) no-repeat 560px center; } /* Class is dynamically added to the "html" tag. */ + +#woo_container .controls .woo-radio-img-img { border:3px solid #dedede; margin:0 5px 10px 0; display:none; cursor:pointer; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } +#woo_container .controls .woo-radio-img-selected { border:3px solid #aaa; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px;} + +#woo_container .controls .woo-border-width { width:80px; float:left} +#woo_container .controls .woo-border-style { width:120px; float:left} + +#woo_container .section-timestamp .controls .ui-datepicker-trigger { float: left; position: relative; top: 7px; } +#woo_container .section-timestamp .woo-timestamp-at { position: relative; top: 2px; margin: 0 5px; } +#woo_container .section-timestamp .controls input.woo-input-calendar { width: 195px; float: right; } +#woo_container .section-timestamp .controls .time-selectors { float: right; } +#woo_container .controls select.woo-select-timestamp { width: 50px; } + +#woo_container .group { padding-bottom: 20px; } + +#woo_container input:focus,#woo_container select:focus, #woo_container textarea:focus { background:#fff;} + +#woo_container .happy { + background: #DBF6BE no-repeat 10px center; + border: solid #9BBF65; + border-width: 0px 1px 1px 1px; + color: #060; + font-weight: bold; + padding: 10px; + text-align: center; +} + +#woo_container .warning { + background: #ffeeee no-repeat 10px center;; + border: solid #dfbfbf; + border-width: 0px 1px 1px 1px; + color: #333; + font-weight: bold; + padding: 10px; + text-align: center; +} +#woo_container .update_available { + + background: #FFFEEB no-repeat 10px center;; + border: solid #CCCCCC; + border-width: 0px 1px 1px 1px; + color: #333; + font-weight: bold; + padding: 10px; + text-align: center; + + + +} + +#woo_container .woo-save-popup { position:absolute; -moz-border-radius:12px; background:rgba(0,0,0,0.4); color:#fff; font-size:24px; text-align:center; display:none; z-index: 10; } + +#woo_container .woo-save-save { background:url(images/happy.png) 20px 50% no-repeat; padding:30px 30px 30px 70px} +#woo_container .woo-save-reset { background:url(images/warning.png) 20px 50% no-repeat; padding:30px 30px 30px 70px} + +.upload_button_div { margin-bottom: 10px;} +.upload_button_div .button { padding:4px 14px; +} +.upload_button_div .image_reset_button { margin-left:10px} + +.upload-error { float:left;color:#666; font-size:10px; font-weight:bold; text-decoration:none; text-shadow:1px 1px 0 #FFFFFF; + margin: 0 10px 0 0; padding:3px 10px; background:#FFDFEC; -moz-border-radius:4px} + +.reset-button { color:#c77!important;text-shadow:0 1px 0 #fff !important;} +.reset-button:hover { border-color:#c77!important;} +.save_bar_top { background: #f3f3f3; border:solid #ccc; border-width:0px 1px 1px 1px; padding: 10px 20px 0px 20px; height: 35px; text-align: right; +/*INSET SHADOW*/ +-webkit-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +-moz-box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +box-shadow: inset 1px 1px 0 rgba(255,255,255,.2), inset -1px -1px 0 rgba(255,255,255,.2); +} +#wooform-reset { float: left; } + +.hide { display: none; } + +.ajax-loading-img-top { margin: 8px 4px 0; float: left; } +.ajax-loading-img-bottom {} + +.woo-option-image { max-width: 340px; } + +#woo_container .mini .controls select, #woo_container #content .section .mini .controls { width: 70px; } +#woo_container .mini .controls input, #woo_container #content .mini .controls { width: 70px; } + +#woo_container #content .mini .explain { width:500px; } + +.woo-notice { background: #ffd1d1 ; border:1px solid #DFA8A7; -moz-border-radius:8px; text-align: center; margin-bottom: 15px } + +#woo_container h3 { margin: 0 0 10px 0} +#woo_container h3 span { font-size: 10px; color: #ccc} + +/* Nav Menu - From wordpress */ +#menu-container .inside { padding-bottom: 10px; } + +.menu { + padding-top:1em; +} + +#menu-to-edit { + padding: 1em 0; +} + +.menu ul { + width: 100%; +} +.menu ul.sub-menu { +} +.menu li { + margin-bottom: 0; + position:relative; +} +.menu-item-bar { + clear:both; + line-height:1.5em; + position:relative; + margin-top: 13px; +} +.menu-item-handle { + border: 1px solid #E6E6E6; + position: relative; + padding-left: 10px; + height: auto; + width: 400px; + line-height: 35px; + text-shadow: 0 1px 0 #FFFFFF; + font-weight:bold; + overflow: hidden; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -khtml-border-radius: 6px; + word-wrap: break-word; +} +.menu-item-edit-active .menu-item-handle { + -moz-border-radius: 6px 6px 0 0; + -webkit-border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 0; + -khtml-border-bottom-right-radius: 0; + -khtml-border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.no-js .menu-item-edit-active .item-edit { + display: none; +} +.js .menu-item-handle { + cursor: move; +} +.menu li.deleting .menu-item-handle { + background-color: #f66; + background-image: none; + text-shadow: 0 0 0 #ccc; +} + +.menu-item-handle .item-title { + padding: 7px 0; + line-height: 20px; + display:block; + margin-right:13em; +} + +.item-type { text-transform: uppercase; font-size: 11px; color: #999999; padding-right: 10px; } +.item-controls { font-size: 11px; position: absolute; right: 20px; top: -1px; } +.item-controls a { text-decoration: none; } +.item-controls a:hover { cursor: pointer; } +.item-controls .item-order { padding-right: 10px;} +.item-controls .item-order a { + font-weight:bold; +} + +body.js .item-order { + display:none; +} + +.item-controls .menu-item-delete:hover { color: #ff0000; } + +.item-edit { + background: url( "../../../../wp-admin/images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -105px; + position: absolute; + right: -20px; + top: 0; + display: block; + width: 23px; + height: 36px; + overflow: hidden; + text-indent:-999em; + border-bottom: 1px solid #eee; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + -khtml-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; +} + +/* Menu editing */ +.menu-instructions-inactive { + display: none; +} +.menu-item-settings { + background: #F9F9F9; + display:block; + width: 492px; + padding: 10px 0 10px 10px; + border: solid #E6E6E6; + border-width: 0 1px 1px 1px; + -moz-border-radius: 0 0 6px 6px; + -webkit-border-bottom-right-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -khtml-border-bottom-right-radius: 6px; + -khtml-border-bottom-left-radius: 6px; +} + + +.menu-item-settings:after { + clear: both; + content: '.'; + display: block; + height: 0px; + visibility: hidden; +} +.menu-item-settings input { width: 100%!important} + +.menu-item-edit-active .menu-item-settings { + display:block; +} + +.menu-item-edit-inactive .menu-item-settings { + display:none; +} + +.add-menu-item-pagelinks { + margin:.5em auto; + text-align:center; +} + +.link-to-original { + display: block; + margin: 0 0 10px; + padding: 3px 5px 5px; + font-size: 11px; + color: #777; + font-style: italic; + border: 1px solid #dfdfdf; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -khtml-border-radius: 6px; +} + .link-to-original a { + padding-left: 4px; + font-style: normal; + } + +.hidden-field { + display: none; +} + +.menu-item-settings .description-thin, +.menu-item-settings .description-wide { + margin-right: 10px; + float: left; +} +.description-thin { + width: 190px; + height: 40px; +} +.description-wide { + width: 390px; +} + +.menu-item-actions { + padding-top: 15px; +} + +#cancel-save { cursor: pointer; } +#cancel-save:hover { color: #fff !important; } +#update-menu-item { color: #fff !important; } +#update-menu-item:hover, +#update-menu-item:active, +#update-menu-item:focus { color: #eaf2fa !important; border-color: #13455b !important; } + +/*-------------------------------------------------------------------------------------------*/ +/* Icons Option panel */ +/*-------------------------------------------------------------------------------------------*/ + +#woo_container #woo-nav ul li span.icon { + background-position: 0 center; + background-repeat: no-repeat; + display: block; + float: left; + height: 16px; + width: 16px; + margin-left: 10px; + padding: 16px 0 0 9px; +} + +#woo_container #woo-nav ul li.general span.icon { background-image:url(images/option-icon-general.png); } +#woo_container #woo-nav ul li.styling span.icon { background-image:url(images/option-icon-styling.png); } +#woo_container #woo-nav ul li.typography span.icon { background-image:url(images/option-icon-typography.png); } +#woo_container #woo-nav ul li.image span.icon { background-image:url(images/option-icon-image.png); } +#woo_container #woo-nav ul li.ads span.icon { background-image:url(images/option-icon-ads.png); } +#woo_container #woo-nav ul li.homepage span.icon { background-image:url(images/option-icon-homepage.png); } +#woo_container #woo-nav ul li.woocommerce span.icon { background-image:url(images/option-icon-woocommerce.png); } +#woo_container #woo-nav ul li.media span.icon { background-image:url(images/option-icon-media.png); } +#woo_container #woo-nav ul li.calendar span.icon { background-image:url(images/option-icon-calendar.png); } +#woo_container #woo-nav ul li.slider span.icon { background-image:url(images/option-icon-slider.png); } +#woo_container #woo-nav ul li.box span.icon { background-image:url(images/option-icon-box.png); } +#woo_container #woo-nav ul li.layout span.icon { background-image:url(images/option-icon-layout.png); } +#woo_container #woo-nav ul li.header span.icon { background-image:url(images/option-icon-header.png); } +#woo_container #woo-nav ul li.featured span.icon { background-image:url(images/option-icon-featured.png); } +#woo_container #woo-nav ul li.main span.icon { background-image:url(images/option-icon-main.png); } +#woo_container #woo-nav ul li.sidebar span.icon { background-image:url(images/option-icon-sidebar.png); } +#woo_container #woo-nav ul li.footer span.icon { background-image:url(images/option-icon-footer.png); } +#woo_container #woo-nav ul li.portfolio span.icon { background-image:url(images/option-icon-portfolio.png); } +#woo_container #woo-nav ul li.tumblog span.icon { background-image:url(images/option-icon-tumblog.png); } +#woo_container #woo-nav ul li.nav span.icon { background-image:url(images/option-icon-nav.png); } +#woo_container #woo-nav ul li.audio span.icon { background-image:url(images/option-icon-audio.png); } +#woo_container #woo-nav ul li.misc span.icon { background-image:url(images/option-icon-misc.png); } +#woo_container #woo-nav ul li.maps span.icon { background-image:url(images/option-icon-maps.png); } +#woo_container #woo-nav ul li.searchoption span.icon { background-image:url(images/option-icon-search.png); } +#woo_container #woo-nav ul li.upload span.icon { background-image:url(images/option-icon-upload.png); } +#woo_container #woo-nav ul li.favorite span.icon { background-image:url(images/option-icon-favorite.png); } +#woo_container #woo-nav ul li.listing span.icon { background-image:url(images/option-icon-listing.png); } +#woo_container #woo-nav ul li.post span.icon { background-image:url(images/option-icon-post.png); } +#woo_container #woo-nav ul li.connect span.icon { background-image:url(images/option-icon-connect.png); } +#woo_container #woo-nav ul li.wpsc_presentation span.icon { background-image:url(images/option-icon-cart.png); } +#woo_container #woo-nav ul li.presstrends span.icon { background-image:url(images/option-icon-presstrends.png); } + +/*-------------------------------------------------------------------------------------------*/ +/* GENERAL STYLES */ +/*-------------------------------------------------------------------------------------------*/ + +/* http://sonspring.com/journal/clearing-floats */ + +html body * span.clear, +html body * div.clear, +html body * li.clear, +html body * dd.clear +{ + background: none; + border: 0; + clear: both; + display: block; + float: none; + font-size: 0; + list-style: none; + margin: 0; + padding: 0; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; +} \ No newline at end of file diff --git a/bueno/functions/admin-tumblog-quickpress.php b/bueno/functions/admin-tumblog-quickpress.php new file mode 100755 index 0000000..f437300 --- /dev/null +++ b/bueno/functions/admin-tumblog-quickpress.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/bueno/functions/assets/css/activation.css b/bueno/functions/assets/css/activation.css new file mode 100755 index 0000000..1d1cd7d --- /dev/null +++ b/bueno/functions/assets/css/activation.css @@ -0,0 +1,103 @@ +.wf-wrap.about-wrap .theme-screenshot { + float: left; + max-width: 320px; + margin-right: 1.618em; + margin-bottom: 1.618em; +} +.wf-wrap .getting-started-buttons .button { + margin-right: 10px; +} +.wf-wrap .getting-started-buttons .dashicons:before { + line-height: 26px; +} +.wf-wrap ul.theme-info { + color: #666; +} +.wf-wrap ul.theme-info > li:first-child { + float: left; + margin-right: 10px; + padding-right: 10px; + border-right: 1px solid rgba(0, 0, 0, 0.1); +} +.wf-wrap table.theme-info tbody td { + padding-bottom: 2px; +} +.wf-wrap table.theme-info tfoot td { + padding-top: 5px; + font-size: 12px; + color: #999; +} +.wf-wrap table.theme-info tfoot td strong { + font-weight: normal; +} +.wf-wrap .plugin-name strong { + display: block; +} +.wf-wrap table.theme-info, +.wf-wrap table.wf-plugins { + margin-bottom: 1.618em; + max-width: 621px; +} +.wf-wrap table.theme-info tr td:first-child, +.wf-wrap table.wf-plugins tr td:first-child { + width: 63%; +} +.wf-wrap table.theme-info .actions, +.wf-wrap table.wf-plugins .actions, +.wf-wrap table.theme-info .version, +.wf-wrap table.wf-plugins .version { + text-align: right; + width: 100px; +} +.wf-wrap table.wf-plugins span.active { + background-color: #7ad03a; + color: #fff; + padding: 0 11px 2px; + line-height: 26px; + display: inline-block; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-weight: 700; +} +.wf-wrap .woo-notice { + background: #FFFFFF; + border-left: 4px solid #255A8C; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + margin: 5px 0 15px; + padding: 1px 12px; + font-size: 14px; +} +.wf-wrap .woo-notice p { + margin: .5em 0; + padding: 2px; +} +.wf-wrap .spacer { + margin: 2.618em 0 1.618em; + clear: both; +} +@media screen and (max-width: 782px) { + .wf-wrap.about-wrap .theme-name { + word-wrap: break-word; + } + .wf-wrap.about-wrap .wp-list-table.wf-plugins { + margin-top: 50px; + } + .wf-wrap.about-wrap .wp-list-table.wf-plugins .plugin-title, + .wf-wrap.about-wrap .wp-list-table.wf-plugins .column-name { + padding-left: 10px; + } + .wf-wrap .getting-started-buttons .dashicons:before { + line-height: 21px; + } +} +@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2) { + .wf-wrap.about-wrap .theme-screenshot { + max-width: 600px; + } +} diff --git a/bueno/functions/assets/css/activation.less b/bueno/functions/assets/css/activation.less new file mode 100755 index 0000000..7586153 --- /dev/null +++ b/bueno/functions/assets/css/activation.less @@ -0,0 +1,146 @@ +@import url( 'mixins.less' ); + +.wf-wrap { + &.about-wrap { + .theme-screenshot { + float: left; + max-width: 320px; + margin-right: 1.618em; + margin-bottom: 1.618em; + } + } + + .getting-started-buttons { + .button { + margin-right: 10px; + } + + .dashicons:before { + line-height: 26px; + } + } + + ul.theme-info { + color: #666; + + > li:first-child { + float: left; + margin-right: 10px; + padding-right: 10px; + border-right: 1px solid rgba(0,0,0,0.1); + } + } + + table.theme-info { + tbody { + td { + padding-bottom: 2px; + } + } + + tfoot { + td { + padding-top: 5px; + font-size: 12px; + color: #999; + + strong { + font-weight: normal; + } + } + } + } + + .plugin-name { + strong { + display: block; + } + } + + table.theme-info, + table.wf-plugins { + margin-bottom: 1.618em; + max-width: 621px; + + tr { + td { + &:first-child { + width: 63%; + } + } + } + + .actions, + .version { + text-align: right; + width: 100px; + } + } + + table.wf-plugins { + span.active { + background-color: #7ad03a; + color: #fff; + padding: 0 11px 2px; + line-height: 26px; + display: inline-block; + .border_radius(3px); + font-weight: 700; + } + } + + .woo-notice { + .woo_notice; + } + .woo-notice p { + margin: .5em 0; + padding: 2px; + } + + .spacer { + margin: 2.618em 0 1.618em; + clear: both; + } +} + +// Mobile +@media screen and (max-width: 782px) { + .wf-wrap { + &.about-wrap { + .theme-name { + word-wrap: break-word; + } + .wp-list-table { + &.wf-plugins { + margin-top: 50px; + .plugin-title, .column-name { + padding-left: 10px; + } + } + } + } + } + + .wf-wrap { + .getting-started-buttons { + .dashicons:before { + line-height: 21px; + } + } + } +} + +// Retina +@media only screen and (-webkit-min-device-pixel-ratio: 2), +only screen and ( min--moz-device-pixel-ratio: 2), +only screen and ( -o-min-device-pixel-ratio: 2/1), +only screen and ( min-device-pixel-ratio: 2), +{ + .wf-wrap { + &.about-wrap { + .theme-screenshot { + max-width: 600px; + } + } + } +} \ No newline at end of file diff --git a/bueno/functions/assets/css/admin.css b/bueno/functions/assets/css/admin.css new file mode 100755 index 0000000..9dc8369 --- /dev/null +++ b/bueno/functions/assets/css/admin.css @@ -0,0 +1,74 @@ +.wf-wrap .useful-links { + margin-left: 0; + display: block; + text-align: center; +} +.wf-wrap .useful-links li { + display: inline; + padding-right: 1.618em; +} +.wf-wrap .useful-links .documentation:before { + font-family: 'dashicons'; + content: "\f123"; + position: relative; + top: 2px; + right: 5px; +} +.wf-wrap .useful-links .changelog:before { + font-family: 'dashicons'; + content: "\f107"; + position: relative; + top: 2px; + right: 5px; +} +.wf-wrap .useful-links .support:before { + font-family: 'dashicons'; + content: "\f328"; + position: relative; + top: 2px; + right: 5px; +} +.wf-wrap .woo-notice { + background: #FFFFFF; + border-left: 4px solid #255A8C; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + margin: 5px 0 15px; + padding: 1px 12px; + font-size: 14px; +} +.wf-wrap .woo-notice p { + margin: .5em 0; + padding: 2px; +} +.wf-wrap .settings-section td .woo-notice { + margin-left: -10px; + margin-top: -15px; + margin-bottom: 0; +} +.wf-wrap .plugin-name strong { + display: block; +} +/* Styling for the 'useful links' section on desktop and larger screens. */ +@media screen and (min-width: 600px) { + .wf-wrap #settings-sections.subsubsub { + position: relative; + margin-right: 140px; + } + .wf-wrap .useful-links { + margin-left: 1em; + position: absolute; + right: 20px; + text-align: left; + } + .wf-wrap .useful-links li { + display: block; + padding: 0; + } +} +span.logo img { + height: auto; + max-height: 31px; +} diff --git a/bueno/functions/assets/css/admin.less b/bueno/functions/assets/css/admin.less new file mode 100755 index 0000000..1387ca8 --- /dev/null +++ b/bueno/functions/assets/css/admin.less @@ -0,0 +1,89 @@ +@import url( 'mixins.less' ); + +.wf-wrap { + .useful-links { + margin-left: 0; + display: block; + text-align: center; + li { + display: inline; + padding-right: 1.618em; + } + .documentation { + &:before { + font-family: 'dashicons'; + content: "\f123"; + position: relative; + top: 2px; + right: 5px; + } + } + + .changelog { + &:before { + font-family: 'dashicons'; + content: "\f107"; + position: relative; + top: 2px; + right: 5px; + } + } + + .support { + &:before { + font-family: 'dashicons'; + content: "\f328"; + position: relative; + top: 2px; + right: 5px; + } + } + } + .woo-notice { + .woo_notice; + } + .woo-notice p { + margin: .5em 0; + padding: 2px; + } + .settings-section { + td .woo-notice { + margin-left: -10px; + margin-top: -15px; + margin-bottom: 0; + } + } + .plugin-name { + strong { + display: block; + } + } +} + +/* Styling for the 'useful links' section on desktop and larger screens. */ +@media screen and (min-width: 600px) { + .wf-wrap { + #settings-sections.subsubsub { + position: relative; + margin-right: 140px; + } + + .useful-links { + margin-left: 1em; + position: absolute; + right: 20px; + text-align: left; + li { + display: block; + padding: 0; + } + } + } +} + +span.logo { + img { + height: auto; + max-height: 31px; + } +} \ No newline at end of file diff --git a/bueno/functions/assets/css/fields.css b/bueno/functions/assets/css/fields.css new file mode 100755 index 0000000..5494aa0 --- /dev/null +++ b/bueno/functions/assets/css/fields.css @@ -0,0 +1,356 @@ +/* Tweaks to the styling of "Chosen". */ +.wf-field-select select, +.wf-field-select2 select, +.wf-field-select .chosen-container, +.wf-field-select2 .chosen-container { + min-width: 300px; +} +.wf-field select { + min-width: 75px; +} +.wf-field .wp-picker-holder { + position: absolute; + z-index: 99; +} +.wf-field-typography { + line-height: 2.8; + /* Fixes alignment of Chosen fields with the colourpicker. */ +} +.wf-field-typography .chosen-container.woo-typography-font-face { + min-width: 250px; +} +.wf-field-typography .wp-picker-clear { + position: relative; + top: 9px; +} +.wf-field-border { + line-height: 2.8; + /* Fixes alignment of Chosen fields with the colourpicker. */ +} +.wf-field-border .wp-picker-clear { + position: absolute; + top: 8px; +} +.wf-info-box { + border: 1px solid #CCCCCC; + background: #EBEBEB; + max-width: 650px; + padding: 0.8em; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + margin-left: -15px; +} +.wf-info-box .title { + margin-top: 0; +} +.radio-images { + position: relative; + top: -30px; +} +.radio-image-thumb { + border: 3px solid #CCC; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; + margin-right: 5px; + width: 45px; + height: 35px; + padding: 2px; + background-color: #e1e1e1; +} +.radio-image-thumb:hover, +.radio-image-thumb.active { + border-color: #999; +} +.wf-field-timestamp img, +.wf-field-calendar img { + position: relative; + top: 0px; + left: 4px; + margin-right: 4px; +} +.wf-field-border .wp-picker-container { + position: relative; + /* top: 8px; */ +} +.wf-field-multi_field input { + max-width: 75px; +} +.image-preview.no-image img { + display: none; +} +.image-preview.no-image .remove { + display: none; +} +.image-preview.has-image { + padding: 0.15em; + padding-top: 0.5em; +} +.image-preview.has-image .remove { + display: block; + font-size: 80%; +} +.image-preview img { + max-width: 175px; + height: auto; +} +.wf-field-typography .unit-px .hide-if-px { + display: none; +} +.wf-field-typography .unit-em .hide-if-em { + display: none; +} +.ui-datepicker { + background: #FFFFFF; + border: 1px solid #DDDDDD; + margin-top: 5px; + -webkit-border-radius: 6px; + border-radius: 6px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.ui-datepicker .ui-datepicker-header { + background: #EBEBEB; + border-bottom: 1px solid #DDDDDD; + padding: 0.6em 0.6em; +} +.ui-datepicker .ui-datepicker-header .ui-corner-all { + position: absolute; + top: 7px; + display: inline-block; + cursor: pointer; +} +.ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + left: 8px; +} +.ui-datepicker .ui-datepicker-header .ui-datepicker-next { + right: 8px; +} +.ui-datepicker .ui-datepicker-header .ui-datepicker-title { + text-align: center; + padding-left: 10px; + padding-right: 10px; +} +.ui-datepicker .ui-datepicker-calendar { + border-spacing: 0; +} +.ui-datepicker .ui-datepicker-calendar th { + padding: 0.5em; + text-align: right; +} +.ui-datepicker .ui-datepicker-calendar td { + text-align: right; +} +.ui-datepicker .ui-datepicker-calendar td a { + display: block; + padding: 0.5em; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-calendar td a.ui-state-default { + background: #EBEBEB; +} +.ui-datepicker .ui-datepicker-calendar td a.ui-state-active { + background: #21759b; + color: #FFFFFF; +} +.ui-datepicker .ui-datepicker-calendar td a.ui-state-highlight { + background: #CDCDCD; +} +.ui-datepicker .ui-datepicker-calendar td.ui-state-disabled { + background: #FFFFFF; +} +.wf-field-slider { + /* Component containers + ----------------------------------*/ + /* Interaction states + ----------------------------------*/ + /* Misc visuals + ----------------------------------*/ + /* Corner radius */ +} +.wf-field-slider .chosen-container { + display: none; +} +.wf-field-slider .slider-value { + position: relative; + bottom: 16px; + left: 325px; + font-weight: bold; + font-size: 1.2em; + width: 75px; +} +.wf-field-slider .ui-slider { + max-width: 300px; +} +.wf-field-slider .ui-slider { + position: relative; + text-align: left; +} +.wf-field-slider .ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; +} +.wf-field-slider .ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} +.wf-field-slider .ui-slider-horizontal { + height: .8em; +} +.wf-field-slider .ui-slider-horizontal .ui-slider-handle { + top: -0.3em; + margin-left: -0.6em; +} +.wf-field-slider .ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.wf-field-slider .ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.wf-field-slider .ui-slider-horizontal .ui-slider-range-max { + right: 0; +} +.wf-field-slider .ui-slider-vertical { + width: .8em; + height: 100px; +} +.wf-field-slider .ui-slider-vertical .ui-slider-handle { + left: -0.3em; + margin-left: 0; + margin-bottom: -0.6em; +} +.wf-field-slider .ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.wf-field-slider .ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.wf-field-slider .ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.wf-field-slider .ui-widget { + font-family: Verdana, Arial, sans-serif /*{ffDefault}*/; + font-size: 1.1em /*{fsDefault}*/; +} +.wf-field-slider .ui-widget .ui-widget { + font-size: 1em; +} +.wf-field-slider .ui-widget input, +.wf-field-slider .ui-widget select, +.wf-field-slider .ui-widget textarea, +.wf-field-slider .ui-widget button { + font-family: Verdana, Arial, sans-serif /*{ffDefault}*/; + font-size: 1em; +} +.wf-field-slider .ui-widget-content { + border: 1px solid #aaaaaa /*{borderColorContent}*/; + background: #ffffff /*{bgColorContent}*/ url(../images/ui-bg_flat_75_ffffff_40x100.png) /*{bgImgUrlContent}*/ 50% /*{bgContentXPos}*/ 50% /*{bgContentYPos}*/ repeat-x /*{bgContentRepeat}*/; + color: #222222 /*{fcContent}*/; +} +.wf-field-slider .ui-widget-content a { + color: #222222 /*{fcContent}*/; +} +.wf-field-slider .ui-widget-header { + border: 1px solid #aaaaaa /*{borderColorHeader}*/; + background: #cccccc /*{bgColorHeader}*/ url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) /*{bgImgUrlHeader}*/ 50% /*{bgHeaderXPos}*/ 50% /*{bgHeaderYPos}*/ repeat-x /*{bgHeaderRepeat}*/; + color: #222222 /*{fcHeader}*/; + font-weight: bold; +} +.wf-field-slider .ui-widget-header a { + color: #222222 /*{fcHeader}*/; +} +.wf-field-slider .ui-state-default, +.wf-field-slider .ui-widget-content .ui-state-default, +.wf-field-slider .ui-widget-header .ui-state-default { + border: 1px solid #d3d3d3 /*{borderColorDefault}*/; + background: #e6e6e6 /*{bgColorDefault}*/ url(../images/ui-bg_glass_75_e6e6e6_1x400.png) /*{bgImgUrlDefault}*/ 50% /*{bgDefaultXPos}*/ 50% /*{bgDefaultYPos}*/ repeat-x /*{bgDefaultRepeat}*/; + font-weight: normal /*{fwDefault}*/; + color: #555555 /*{fcDefault}*/; +} +.wf-field-slider .ui-state-default a, +.wf-field-slider .ui-state-default a:link, +.wf-field-slider .ui-state-default a:visited { + color: #555555 /*{fcDefault}*/; + text-decoration: none; +} +.wf-field-slider .ui-state-hover, +.wf-field-slider .ui-widget-content .ui-state-hover, +.wf-field-slider .ui-widget-header .ui-state-hover, +.wf-field-slider .ui-state-focus, +.wf-field-slider .ui-widget-content .ui-state-focus, +.wf-field-slider .ui-widget-header .ui-state-focus { + border: 1px solid #999999 /*{borderColorHover}*/; + background: #dadada /*{bgColorHover}*/ url(../images/ui-bg_glass_75_dadada_1x400.png) /*{bgImgUrlHover}*/ 50% /*{bgHoverXPos}*/ 50% /*{bgHoverYPos}*/ repeat-x /*{bgHoverRepeat}*/; + font-weight: normal /*{fwDefault}*/; + color: #212121 /*{fcHover}*/; +} +.wf-field-slider .ui-state-hover a, +.wf-field-slider .ui-state-hover a:hover { + color: #212121 /*{fcHover}*/; + text-decoration: none; +} +.wf-field-slider .ui-state-active, +.wf-field-slider .ui-widget-content .ui-state-active, +.wf-field-slider .ui-widget-header .ui-state-active { + border: 1px solid #aaaaaa /*{borderColorActive}*/; + background: #ffffff /*{bgColorActive}*/ url(../images/ui-bg_glass_65_ffffff_1x400.png) /*{bgImgUrlActive}*/ 50% /*{bgActiveXPos}*/ 50% /*{bgActiveYPos}*/ repeat-x /*{bgActiveRepeat}*/; + font-weight: normal /*{fwDefault}*/; + color: #212121 /*{fcActive}*/; +} +.wf-field-slider .ui-state-active a, +.wf-field-slider .ui-state-active a:link, +.wf-field-slider .ui-state-active a:visited { + color: #212121 /*{fcActive}*/; + text-decoration: none; +} +.wf-field-slider .ui-widget :active { + outline: none; +} +.wf-field-slider .ui-corner-all, +.wf-field-slider .ui-corner-top, +.wf-field-slider .ui-corner-left, +.wf-field-slider .ui-corner-tl { + -moz-border-radius-topleft: 4px /*{cornerRadius}*/; + -webkit-border-top-left-radius: 4px /*{cornerRadius}*/; + -khtml-border-top-left-radius: 4px /*{cornerRadius}*/; + border-top-left-radius: 4px /*{cornerRadius}*/; +} +.wf-field-slider .ui-corner-all, +.wf-field-slider .ui-corner-top, +.wf-field-slider .ui-corner-right, +.wf-field-slider .ui-corner-tr { + -moz-border-radius-topright: 4px /*{cornerRadius}*/; + -webkit-border-top-right-radius: 4px /*{cornerRadius}*/; + -khtml-border-top-right-radius: 4px /*{cornerRadius}*/; + border-top-right-radius: 4px /*{cornerRadius}*/; +} +.wf-field-slider .ui-corner-all, +.wf-field-slider .ui-corner-bottom, +.wf-field-slider .ui-corner-left, +.wf-field-slider .ui-corner-bl { + -moz-border-radius-bottomleft: 4px /*{cornerRadius}*/; + -webkit-border-bottom-left-radius: 4px /*{cornerRadius}*/; + -khtml-border-bottom-left-radius: 4px /*{cornerRadius}*/; + border-bottom-left-radius: 4px /*{cornerRadius}*/; +} +.wf-field-slider .ui-corner-all, +.wf-field-slider .ui-corner-bottom, +.wf-field-slider .ui-corner-right, +.wf-field-slider .ui-corner-br { + -moz-border-radius-bottomright: 4px /*{cornerRadius}*/; + -webkit-border-bottom-right-radius: 4px /*{cornerRadius}*/; + -khtml-border-bottom-right-radius: 4px /*{cornerRadius}*/; + border-bottom-right-radius: 4px /*{cornerRadius}*/; +} diff --git a/bueno/functions/assets/css/fields.less b/bueno/functions/assets/css/fields.less new file mode 100755 index 0000000..bc2c4ab --- /dev/null +++ b/bueno/functions/assets/css/fields.less @@ -0,0 +1,222 @@ +@import url( 'mixins.less' ); + +/* Tweaks to the styling of "Chosen". */ +.wf-field-select, .wf-field-select2 { + select, .chosen-container { min-width: 300px; } +} + +.wf-field select { + min-width: 75px; +} + +.wf-field { + .wp-picker-holder { + position: absolute; + z-index: 99; + } +} + +.wf-field-typography { + line-height: 2.8; /* Fixes alignment of Chosen fields with the colourpicker. */ + .chosen-container.woo-typography-font-face { + min-width: 250px; + } + + .wp-picker-clear { + position: relative; + top: 9px; + } +} + +.wf-field-border { + line-height: 2.8; /* Fixes alignment of Chosen fields with the colourpicker. */ + .wp-picker-clear { + position: absolute; + top: 8px; + } +} + +.wf-info-box { + border: 1px solid #CCCCCC; background: #EBEBEB; max-width: 650px; padding: 0.8em; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; margin-left: -15px; + .title { margin-top: 0; } +} + +.radio-images { + position: relative; top: -30px; +} + +.radio-image-thumb { + border: 3px solid #CCC; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; + margin-right: 5px; + width: 45px; + height: 35px; + padding: 2px; + background-color: #e1e1e1; +} + +.radio-image-thumb:hover, +.radio-image-thumb.active { + border-color: #999; +} + +.wf-field-timestamp img, .wf-field-calendar img { position: relative; top: 0px; left: 4px; margin-right: 4px; } + +.wf-field-border { + .wp-picker-container { + position: relative; + /* top: 8px; */ + } +} + +.wf-field-multi_field { + input { + max-width: 75px; + } +} + +.image-preview { + &.no-image { + img { + display: none; + } + .remove { + display: none; + } + } + &.has-image { + padding: 0.15em; + padding-top: 0.5em; + .remove { + display: block; + font-size: 80%; + } + } + img { + max-width: 175px; + height: auto; + } +} + +.wf-field-typography { + .unit-px .hide-if-px { + display: none; + } + .unit-em .hide-if-em { + display: none; + } +} + +.ui-datepicker { + background: #FFFFFF; + border: 1px solid #DDDDDD; + margin-top: 5px; + .border_radius( 6px ); + + .ui-datepicker-header { + background: #EBEBEB; + border-bottom: 1px solid #DDDDDD; + padding: 0.6em 0.6em; + .ui-corner-all { + position: absolute; + top: 7px; + display: inline-block; + cursor: pointer; + } + .ui-datepicker-prev { + left: 8px; + } + .ui-datepicker-next { + right: 8px; + } + .ui-datepicker-title { + text-align: center; + padding-left: 10px; + padding-right: 10px; + } + } + + .ui-datepicker-calendar { + border-spacing: 0; + th { + padding: 0.5em; + text-align: right; + } + td { + text-align: right; + a { + display: block; + padding: 0.5em; + text-decoration: none; + &.ui-state-default { + background: #EBEBEB; + } + &.ui-state-active { + background: #21759b; + color: #FFFFFF; + } + &.ui-state-highlight { + background: #CDCDCD; + } + } + &.ui-state-disabled { + background: #FFFFFF; + } + } + } +} + +.wf-field-slider { + .chosen-container { display: none; } + .slider-value { position: relative; bottom: 16px; left: 325px; font-weight: bold; font-size: 1.2em; width: 75px; } + + .ui-slider { max-width: 300px; } + + .ui-slider { position: relative; text-align: left; } + .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } + .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + + .ui-slider-horizontal { height: .8em; } + .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } + .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } + .ui-slider-horizontal .ui-slider-range-min { left: 0; } + .ui-slider-horizontal .ui-slider-range-max { right: 0; } + + .ui-slider-vertical { width: .8em; height: 100px; } + .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } + .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } + .ui-slider-vertical .ui-slider-range-min { bottom: 0; } + .ui-slider-vertical .ui-slider-range-max { top: 0; } + + /* Component containers + ----------------------------------*/ + .ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; } + .ui-widget .ui-widget { font-size: 1em; } + .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; } + .ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(../images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; } + .ui-widget-content a { color: #222222/*{fcContent}*/; } + .ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; } + .ui-widget-header a { color: #222222/*{fcHeader}*/; } + + /* Interaction states + ----------------------------------*/ + .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(../images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; } + .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; } + .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(../images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; } + .ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; } + .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(../images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; } + .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; } + .ui-widget :active { outline: none; } + + /* Misc visuals + ----------------------------------*/ + + /* Corner radius */ + .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; -khtml-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; } + .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; -khtml-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } + .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } + .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +} \ No newline at end of file diff --git a/bueno/functions/assets/css/lib/chosen.css b/bueno/functions/assets/css/lib/chosen.css new file mode 100755 index 0000000..ba9c70e --- /dev/null +++ b/bueno/functions/assets/css/lib/chosen.css @@ -0,0 +1,430 @@ +/* @group Base */ +.chosen-container { + position: relative; + display: inline-block; + vertical-align: middle; + font-size: 13px; + zoom: 1; + *display: inline; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.chosen-container .chosen-drop { + position: absolute; + top: 100%; + left: -9999px; + z-index: 1010; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: 1px solid #aaa; + border-top: 0; + background: #fff; + box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15); +} +.chosen-container.chosen-with-drop .chosen-drop { + left: 0; +} +.chosen-container a { + cursor: pointer; +} + +/* @end */ +/* @group Single Chosen */ +.chosen-container-single .chosen-single { + position: relative; + display: block; + overflow: hidden; + padding: 0 0 0 8px; + height: 23px; + border: 1px solid #aaa; + border-radius: 5px; + background-color: #fff; + background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4)); + background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background-clip: padding-box; + box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1); + color: #444; + text-decoration: none; + white-space: nowrap; + line-height: 24px; +} +.chosen-container-single .chosen-default { + color: #999; +} +.chosen-container-single .chosen-single span { + display: block; + overflow: hidden; + margin-right: 26px; + text-overflow: ellipsis; + white-space: nowrap; +} +.chosen-container-single .chosen-single-with-deselect span { + margin-right: 38px; +} +.chosen-container-single .chosen-single abbr { + position: absolute; + top: 6px; + right: 26px; + display: block; + width: 12px; + height: 12px; + background: url('../../images/lib/chosen-sprite.png') -42px 1px no-repeat; + font-size: 1px; +} +.chosen-container-single .chosen-single abbr:hover { + background-position: -42px -10px; +} +.chosen-container-single.chosen-disabled .chosen-single abbr:hover { + background-position: -42px -10px; +} +.chosen-container-single .chosen-single div { + position: absolute; + top: 0; + right: 0; + display: block; + width: 18px; + height: 100%; +} +.chosen-container-single .chosen-single div b { + display: block; + width: 100%; + height: 100%; + background: url('../../images/lib/chosen-sprite.png') no-repeat 0px 2px; +} +.chosen-container-single .chosen-search { + position: relative; + z-index: 1010; + margin: 0; + padding: 3px 4px; + white-space: nowrap; +} +.chosen-container-single .chosen-search input[type="text"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 1px 0; + padding: 4px 20px 4px 5px; + width: 100%; + height: auto; + outline: 0; + border: 1px solid #aaa; + background: white url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px; + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat 100% -20px, linear-gradient(#eeeeee 1%, #ffffff 15%); + font-size: 1em; + font-family: sans-serif; + line-height: normal; + border-radius: 0; +} +.chosen-container-single .chosen-drop { + margin-top: -1px; + border-radius: 0 0 4px 4px; + background-clip: padding-box; +} +.chosen-container-single.chosen-container-single-nosearch .chosen-search { + position: absolute; + left: -9999px; +} + +/* @end */ +/* @group Results */ +.chosen-container .chosen-results { + position: relative; + overflow-x: hidden; + overflow-y: auto; + margin: 0 4px 4px 0; + padding: 0 0 0 4px; + max-height: 240px; + -webkit-overflow-scrolling: touch; +} +.chosen-container .chosen-results li { + display: none; + margin: 0; + padding: 5px 6px; + list-style: none; + line-height: 15px; +} +.chosen-container .chosen-results li.active-result { + display: list-item; + cursor: pointer; +} +.chosen-container .chosen-results li.disabled-result { + display: list-item; + color: #ccc; + cursor: default; +} +.chosen-container .chosen-results li.highlighted { + background-color: #3875d7; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc)); + background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: linear-gradient(#3875d7 20%, #2a62bc 90%); + color: #fff; +} +.chosen-container .chosen-results li.no-results { + display: list-item; + background: #f4f4f4; +} +.chosen-container .chosen-results li.group-result { + display: list-item; + font-weight: bold; + cursor: default; +} +.chosen-container .chosen-results li.group-option { + padding-left: 15px; +} +.chosen-container .chosen-results li em { + font-style: normal; + text-decoration: underline; +} + +/* @end */ +/* @group Multi Chosen */ +.chosen-container-multi .chosen-choices { + position: relative; + overflow: hidden; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + padding: 0; + width: 100%; + height: auto !important; + height: 1%; + border: 1px solid #aaa; + background-color: #fff; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); + background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); + background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%); + background-image: linear-gradient(#eeeeee 1%, #ffffff 15%); + cursor: text; +} +.chosen-container-multi .chosen-choices li { + float: left; + list-style: none; +} +.chosen-container-multi .chosen-choices li.search-field { + margin: 0; + padding: 0; + white-space: nowrap; +} +.chosen-container-multi .chosen-choices li.search-field input[type="text"] { + margin: 1px 0; + padding: 5px; + height: 15px; + outline: 0; + border: 0 !important; + background: transparent !important; + box-shadow: none; + color: #666; + font-size: 100%; + font-family: sans-serif; + line-height: normal; + border-radius: 0; +} +.chosen-container-multi .chosen-choices li.search-field .default { + color: #999; +} +.chosen-container-multi .chosen-choices li.search-choice { + position: relative; + margin: 3px 0 3px 5px; + padding: 3px 20px 3px 5px; + border: 1px solid #aaa; + border-radius: 3px; + background-color: #e4e4e4; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); + background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-clip: padding-box; + box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05); + color: #333; + line-height: 13px; + cursor: default; +} +.chosen-container-multi .chosen-choices li.search-choice .search-choice-close { + position: absolute; + top: 4px; + right: 3px; + display: block; + width: 12px; + height: 12px; + background: url('../../images/lib/chosen-sprite.png') -42px 1px no-repeat; + font-size: 1px; +} +.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover { + background-position: -42px -10px; +} +.chosen-container-multi .chosen-choices li.search-choice-disabled { + padding-right: 5px; + border: 1px solid #ccc; + background-color: #e4e4e4; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); + background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + color: #666; +} +.chosen-container-multi .chosen-choices li.search-choice-focus { + background: #d4d4d4; +} +.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close { + background-position: -42px -10px; +} +.chosen-container-multi .chosen-results { + margin: 0; + padding: 0; +} +.chosen-container-multi .chosen-drop .result-selected { + display: list-item; + color: #ccc; + cursor: default; +} + +/* @end */ +/* @group Active */ +.chosen-container-active .chosen-single { + border: 1px solid #5897fb; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); +} +.chosen-container-active.chosen-with-drop .chosen-single { + border: 1px solid #aaa; + -moz-border-radius-bottomright: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomleft: 0; + border-bottom-left-radius: 0; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff)); + background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: linear-gradient(#eeeeee 20%, #ffffff 80%); + box-shadow: 0 1px 0 #fff inset; +} +.chosen-container-active.chosen-with-drop .chosen-single div { + border-left: none; + background: transparent; +} +.chosen-container-active.chosen-with-drop .chosen-single div b { + background-position: -18px 2px; +} +.chosen-container-active .chosen-choices { + border: 1px solid #5897fb; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); +} +.chosen-container-active .chosen-choices li.search-field input[type="text"] { + color: #111 !important; +} + +/* @end */ +/* @group Disabled Support */ +.chosen-disabled { + opacity: 0.5 !important; + cursor: default; +} +.chosen-disabled .chosen-single { + cursor: default; +} +.chosen-disabled .chosen-choices .search-choice .search-choice-close { + cursor: default; +} + +/* @end */ +/* @group Right to Left */ +.chosen-rtl { + text-align: right; +} +.chosen-rtl .chosen-single { + overflow: visible; + padding: 0 8px 0 0; +} +.chosen-rtl .chosen-single span { + margin-right: 0; + margin-left: 26px; + direction: rtl; +} +.chosen-rtl .chosen-single-with-deselect span { + margin-left: 38px; +} +.chosen-rtl .chosen-single div { + right: auto; + left: 3px; +} +.chosen-rtl .chosen-single abbr { + right: auto; + left: 26px; +} +.chosen-rtl .chosen-choices li { + float: right; +} +.chosen-rtl .chosen-choices li.search-field input[type="text"] { + direction: rtl; +} +.chosen-rtl .chosen-choices li.search-choice { + margin: 3px 5px 3px 0; + padding: 3px 5px 3px 19px; +} +.chosen-rtl .chosen-choices li.search-choice .search-choice-close { + right: auto; + left: 4px; +} +.chosen-rtl.chosen-container-single-nosearch .chosen-search, +.chosen-rtl .chosen-drop { + left: 9999px; +} +.chosen-rtl.chosen-container-single .chosen-results { + margin: 0 0 4px 4px; + padding: 0 4px 0 0; +} +.chosen-rtl .chosen-results li.group-option { + padding-right: 15px; + padding-left: 0; +} +.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div { + border-right: none; +} +.chosen-rtl .chosen-search input[type="text"] { + padding: 4px 5px 4px 20px; + background: white url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px; + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%); + background: url('../../images/lib/chosen-sprite.png') no-repeat -30px -20px, linear-gradient(#eeeeee 1%, #ffffff 15%); + direction: rtl; +} +.chosen-rtl.chosen-container-single .chosen-single div b { + background-position: 6px 2px; +} +.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b { + background-position: -12px 2px; +} + +/* @end */ +/* @group Retina compatibility */ +@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) { + .chosen-rtl .chosen-search input[type="text"], + .chosen-container-single .chosen-single abbr, + .chosen-container-single .chosen-single div b, + .chosen-container-single .chosen-search input[type="text"], + .chosen-container-multi .chosen-choices .search-choice .search-choice-close, + .chosen-container .chosen-results-scroll-down span, + .chosen-container .chosen-results-scroll-up span { + background-image: url('../../images/lib/chosen-sprite@2x.png') !important; + background-size: 52px 37px !important; + background-repeat: no-repeat !important; + } +} +/* @end */ diff --git a/bueno/functions/assets/css/lib/chosen.min.css b/bueno/functions/assets/css/lib/chosen.min.css new file mode 100755 index 0000000..3f3f5dd --- /dev/null +++ b/bueno/functions/assets/css/lib/chosen.min.css @@ -0,0 +1,3 @@ +/* Chosen v1.0.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ + +.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;*display:inline;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:23px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(chosen-sprite.png) no-repeat 0 2px}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:#fff url(chosen-sprite.png) no-repeat 100% -20px;background:url(chosen-sprite.png) no-repeat 100% -20px,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(chosen-sprite.png) no-repeat 100% -20px,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat 100% -20px,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat 100% -20px,-o-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat 100% -20px,linear-gradient(#eee 1%,#fff 15%);font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:5px;height:15px;outline:0;border:0!important;background:transparent!important;box-shadow:none;color:#666;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-field .default{color:#999}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 0 3px 5px;padding:3px 20px 3px 5px;border:1px solid #aaa;border-radius:3px;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:0;background:transparent}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#111!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single-nosearch .chosen-search,.chosen-rtl .chosen-drop{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:0}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:#fff url(chosen-sprite.png) no-repeat -30px -20px;background:url(chosen-sprite.png) no-repeat -30px -20px,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(chosen-sprite.png) no-repeat -30px -20px,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat -30px -20px,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat -30px -20px,-o-linear-gradient(#eee 1%,#fff 15%);background:url(chosen-sprite.png) no-repeat -30px -20px,linear-gradient(#eee 1%,#fff 15%);direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.chosen-rtl .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-container-single .chosen-search input[type=text],.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background-image:url(chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}} \ No newline at end of file diff --git a/bueno/functions/assets/css/menu.css b/bueno/functions/assets/css/menu.css new file mode 100755 index 0000000..ec1ce6f --- /dev/null +++ b/bueno/functions/assets/css/menu.css @@ -0,0 +1,14 @@ +/* Icon Font */ +@font-face { + font-family: 'wooframework'; + src: url('../fonts/wooframework.eot'); + src: url('../fonts/wooframework.eot?#iefix') format('embedded-opentype'), url('../fonts/wooframework.woff') format('woff'), url('../fonts/wooframework.ttf') format('truetype'), url('../fonts/wooframework.svg#wooframework') format('svg'); + font-weight: normal; + font-style: normal; +} +/* Menu Icons */ +#adminmenu #toplevel_page_woothemes .menu-icon-generic div.wp-menu-image:before { + font-family: 'wooframework' !important; + content: "\e601"; + font-size: 1.3em !important; +} diff --git a/bueno/functions/assets/css/menu.less b/bueno/functions/assets/css/menu.less new file mode 100755 index 0000000..efa1a6d --- /dev/null +++ b/bueno/functions/assets/css/menu.less @@ -0,0 +1,18 @@ +/* Icon Font */ +@font-face { + font-family: 'wooframework'; + src:url('../fonts/wooframework.eot'); + src:url('../fonts/wooframework.eot?#iefix') format('embedded-opentype'), + url('../fonts/wooframework.woff') format('woff'), + url('../fonts/wooframework.ttf') format('truetype'), + url('../fonts/wooframework.svg#wooframework') format('svg'); + font-weight: normal; + font-style: normal; +} + +/* Menu Icons */ +#adminmenu #toplevel_page_woothemes .menu-icon-generic div.wp-menu-image:before { + font-family: 'wooframework' !important; + content: "\e601"; + font-size: 1.3em !important; +} \ No newline at end of file diff --git a/bueno/functions/assets/css/mixins.less b/bueno/functions/assets/css/mixins.less new file mode 100755 index 0000000..84a6f50 --- /dev/null +++ b/bueno/functions/assets/css/mixins.less @@ -0,0 +1,139 @@ +// =============================================================================== +// Mixins +// =============================================================================== +.clearfix() { + &:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } +} +.border_radius(@radius:10px) { + -webkit-border-radius:@radius; + border-radius:@radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_right(@radius:10px) { + -webkit-border-top-right-radius: @radius; + -webkit-border-bottom-right-radius: @radius; + border-top-right-radius: @radius; + border-bottom-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_left(@radius:10px) { + -webkit-border-top-left-radius: @radius; + -webkit-border-bottom-left-radius: @radius; + border-top-left-radius: @radius; + border-bottom-left-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_bottom(@radius:10px) { + -webkit-border-bottom-left-radius: @radius; + -webkit-border-bottom-right-radius: @radius; + border-bottom-left-radius: @radius; + border-bottom-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_top(@radius:10px) { + -webkit-border-top-left-radius: @radius; + -webkit-border-top-right-radius: @radius; + border-top-left-radius: @radius; + border-top-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_reset() { + -webkit-border-radius: none; + -moz-border-radius: none; + border-radius: none; +} + +.box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { + box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; + -webkit-box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; +} + +.inset_box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { + box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; + -webkit-box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; +} + +.box_shadow_reset() { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.text_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_color:#fff) { + text-shadow:@shadow_x @shadow_y @shadow_rad @shadow_color; +} + +.vertical_gradient(@from: #000, @to: #FFF) { + background-color: @from; + background-image: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to)); // Saf4+, Chrome + background-image: -webkit-linear-gradient(top, @from, @to); // Chrome 10+, Saf5.1+, iOS 5+ + background-image: -moz-linear-gradient(top, @from, @to); // FF3.6+ + background-image: -ms-linear-gradient(top, @from, @to); // IE10 + background-image: -o-linear-gradient(top, @from, @to); // Opera 11.10+ + background-image: linear-gradient(to bottom, @from, @to); +} + +.transition(@selector:all, @animation:ease-in-out, @duration:.2s) { + -webkit-transition:@selector @animation @duration; + -moz-transition:@selector @animation @duration; + -ms-transition:@selector @animation @duration; + -o-transition:@selector @animation @duration; + transition:@selector @animation @duration; +} + +.opacity(@opacity:0.75) { + opacity: @opacity; + filter:~"alpha(opacity=@opacity * 100)"; +} + +.rotate(@degree:1deg) { + -webkit-transform: rotate(@degree); // Saf3.1+, Chrome + -moz-transform: rotate(@degree); // FF3.5+ + -ms-transform: rotate(@degree); // IE9 + -o-transform: rotate(@degree); // Opera 10.5 + transform: rotate(@degree); + zoom: 1; +} + +.scale(@ratio:1.5) { + -webkit-transform:scale(@ratio); + -moz-transform:scale(@ratio); + -ms-transform:scale(@ratio); + -o-transform:scale(@ratio); + transform:scale(@ratio); +} + +.radial_gradient(@from: #000, @to: #FFF) { + background: @from; + background: -webkit-gradient(radial, 50% 10%, 0, 50% 10%, 1000, from(@from), to(@to)); + background: -moz-radial-gradient(center top, @from 0%, @to 100%); +} + +.borderbox () { + -webkit-box-sizing: border-box; // Safari/Chrome, other WebKit + -moz-box-sizing: border-box; // Firefox, other Gecko + box-sizing: border-box; // Opera/IE 8+ +} + +.woo_notice() { + background: #FFFFFF; + border-left: 4px solid #255A8C; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); + margin: 5px 0 15px; + padding: 1px 12px; + font-size: 14px; +} \ No newline at end of file diff --git a/bueno/functions/assets/fonts/wooframework.eot b/bueno/functions/assets/fonts/wooframework.eot new file mode 100755 index 0000000000000000000000000000000000000000..6c075ec8bbfa77079d69a65c9f75424f45038b6f GIT binary patch literal 2008 zcmaJ?ON6Esgvnx>O&JWr=#5YPeONjghY(9J^< z(VLLW(*nHq${a+lY_1-+XM3Oe`KR7TLd?lZUgoX!0F~&YS{vr<;p&*vqfLi@@`>=O%xhMuHB zd_^Y{pNStJ`6QwI7Y(taO`ckeZ7*NjDZb0{RtrCQi?%OUBD!AsFm=WdZ(XU73|b4S zK=n~0LaPNF-=$Wo^;=oAtsnr^n)GAbj@5WU2Z494^{u=wZzA40+JPgxPIurkTo<)K z7Q%{XL}Oy40c@=agccOXlvq+eTPwM9RNfvBmv=&Q?GSQjJ1(2U9AXhjri zQ1x&iwHl$@q%O6ERu?O>I2cxVD6!TMnnpzyO!!%As&%d*CX#56!kE-5F)mEs339F} zl;@;!p7|Xs&xOFy)Q4c{XlY|LpRaB#@f#O8dIXlrBJG!I-9p()`uUW_$x@lFN*KkV zdp(s2SeTZT?JZ?k6nbLc&GiCg%$|=B`RbG3T;ru&cVI%oa0H$E$3<%3*K4v~;#q z?+uwRT;MhqA0_zV;c#@Is)I{2Q^;9tyBW((2Nrj)Dp8CW znSr#5f$Xccd!tQo+M~l`JT!>jK{td^7@_kt)XlMGOtjgL%NzPoI9-h{K7_Iqo)+AD z_~$(qQ=BiOXhK?^S03yyvAKG~Kp|DirC6o((L3q1^j+6>Jl7WZSH1Otte^KRHkE5D zb_;8JytF4--b5pnm)$v>3Zo85|2D|`N7fjwtvVow3L3l z{q@-=wDYxM=Cvn+R%jng4#FV7%E|jred$`#QRo2zi=2MiQkS>zZE!lTLBC)Y=%vk` zT>)L|#AFQd#6w#K^j=3UA+L9M1N>r#H*pb!Y45kUcvW3$2W<&(pB}}m(mK>=VoUo=Jm{D-c2WPLGEi`tuyTkJX`l=_+QVO^(O!T literal 0 HcmV?d00001 diff --git a/bueno/functions/assets/fonts/wooframework.svg b/bueno/functions/assets/fonts/wooframework.svg new file mode 100755 index 0000000..2d736a5 --- /dev/null +++ b/bueno/functions/assets/fonts/wooframework.svg @@ -0,0 +1,12 @@ + + + +Generated by IcoMoon + + + + + + + + \ No newline at end of file diff --git a/bueno/functions/assets/fonts/wooframework.ttf b/bueno/functions/assets/fonts/wooframework.ttf new file mode 100755 index 0000000000000000000000000000000000000000..02204367c4622014ece4486c5f7d6bd4e0883de4 GIT binary patch literal 1824 zcmZ`(ON^z9#&Pl$LO_^!Fu$`WJ_{542>ZvNuzjmocpe3D3h zdS<3IP1kPB5t-1@>cJU8Dy-Qqh8n>i2eF0@vcaF(CI zSHY9T*22t%v+sD|AECzVQhVhb&WUB|M?%sdzN(9fkHvS;e3(l9oyOSFE{`n6u^(T% zDY?t?RtG=2BIbMx!c^rQVvt z(yYp&i8yORt-*EVL=hcPoRZokriJM{LBTbJ@|;Y;GrwWwxlkBd`cSN$C~vKWVQp)f zU%AZjKV+>UvVOVVFO;pMA7(60m&)~3qd1A&>zQ1@!nCaXU^&O4IFR^m&bQfcY?DpT z5w@k+u#{!$KoJiluH%CUQz@yk<;ZfC-we4mvS&C>ummvqrpab?R>d07%^YE#9c1lOZkIi(d0-?CzocfSg_c3 zbC#P8EbiY_MulQ^Q(=`yo;y%EC|!jkZ{ImCd1B`%^YE69GM*S8GE~;ZEl6q0zO9W$ zMG8YsK0C&o3uDs>OR=YRzqk`6EZ1I*$G0c&Wg!b;WU}%D$Ikl>57hfT<}j&8y0^r` z-da!is=^vxWT>iQY_QZE9L3v}ljxMqoYaQQKw70h4%NE7(G_^xljBo7Hj3UsH$-t1 zqw_S?&9Pxhbm0e;Ekn3CeH(pz6xULGRB`XYZ}(Wtb6CNp32Av=WpudA=K3uo#Z0-7 zVU^LZ-pOXA@4B|*xwgQ+8f=W@{m`@6RIaVqEp8m}vYupl6OB|^d%J>`x_nt<@vg?d zh<($Gn^&xiYwbUFNEt65KhS)Bms)@1VAJr6c}JodhW74xVOSW3A=KeFUW%)U>sM>F zoPBEPxPi{n_oY8bYw30I&A2 zNikUJugIspJ?vt3UDcD!aG=pSQ=H~Zahfy5Y0eay=Da{{{AOvHTC_kj zr1>(PrB{KMX$2FmO^cM!Hk@}`*ZM!+7uxOFWj*uT%V(eDgSs;`N9WPoEo6RD-F@&{ g?AC74Iml_$K1CPt+)t-*mV?;(MCo+b_xgnOH>|qg6951J literal 0 HcmV?d00001 diff --git a/bueno/functions/assets/fonts/wooframework.woff b/bueno/functions/assets/fonts/wooframework.woff new file mode 100755 index 0000000000000000000000000000000000000000..d9d556a403973efe153417225ea7aba8c22f2c21 GIT binary patch literal 1900 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 EKia1B{Qv*} literal 0 HcmV?d00001 diff --git a/bueno/functions/assets/images/lib/chosen-sprite.png b/bueno/functions/assets/images/lib/chosen-sprite.png new file mode 100755 index 0000000000000000000000000000000000000000..3611ae4ace1c4b1cbeacd6145b5a79cbc72e0bdc GIT binary patch literal 646 zcmV;10(t$3P)0006_Nkl&pbAC0n?)s%2x5M$#UgGxI1~gymp~v; zh<`zGaTJP5BybQY4tlRo;SIcmE0t>ueW3>*u6N;@_u;;|BoL8PuhZ#FWY9$(flan1oVvxDBL8~}0Q5z;^2p>Ov z7}Q$E7=l>$BZLUt1*uKMCaQwKYf$lsJCyerWMd+%BeGH6f_f&Vpy%=$BN%uK%Ahxi zF+%Jj=Pc-WXF;djSiJw|m4>cN%^Fi|FBZ!E{_yJLS?RI<3U696XLkQSs z{{&kQJ$K(#5CgC1;GbA>mjm56zJZ^-Hg2_ASKI_K@CybPh7Rq}8ud``)NM~eZx}qT z)oK?Lf>t!B;%Uh}*P+)Ef?jbx#w|BNEVb(l{2LK}m#fw4xx>ddF;&j}!S{N-e!<&Q z?kvzyI_AT@H-u4tUz1h&GCh8>?TnA~?BZ7WGP<9`r gQ6DuZO!_~60ju@{TzXF%TmS$707*qoM6N<$g2#CqL;wH) literal 0 HcmV?d00001 diff --git a/bueno/functions/assets/images/lib/chosen-sprite@2x.png b/bueno/functions/assets/images/lib/chosen-sprite@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..ffe4d7d1121ca45cd35783696940050c690a8676 GIT binary patch literal 872 zcmeAS@N?(olHy`uVBq!ia0vp^89?mC!3-o5mOWetq|OBRgt-3y{~yTgfB`oc01C8& zL0el}Lqh|Q1oD8A5J8A6G6@lfkU;ftMr&&;+$f+RkloVK0wm!8C|FWb0x`e2xj8g6 z6i7l;BAWwL4-tfu5G@ccP!{MmqnYOy06pVW666=m!0_*bfx(A_gav;C1PU5HKT!C5 z;g7@l4POuZ{>hQBP{j4uqq`I2WP9&Sn{}I8xJi*&v*QL&+Dw-Bf-CQLyLk0Ht2-;T zynum$iPO`?F{C2y?bYjfj|~J`6Xz~`vM4Ef+U{Vpli%)D%kKSey_RG0Bi9Xw4jtOb z@!)?~_%DVelO793W#Pl3vjdNCDTnGGb(^YY+BbF2;mJK!nq}@nBGoHxCn#7X*gdxr z+~ZQF6rpL6;MDP)JzehcJBL53AM-QU?@65Plc4-}1EW@`H@EEGrnFmTubZ~5iUzVn zrZYyBIm|RmW$3F@+wkq2)c>|mGh5Rv3%(p~zjStyruBl(TP2_51LpTH2noN*e&}J; z1;$+4EpJ(Mb+^1}Fv>ms%b`r}+KYy~zf5x(4?8l28%eNnEHzx({;NGP)_hX&tEw9t zSKv=Qjt(d#~b;F7hbDdUu$OUK8iumkkl&-=~$APCd2zdqHg6@=Z#Pt*5RY_s@Hw*YS9+ z^u)7AmzM6Ux!dus_!gJY)Vtf?+t>a3wO2S)_Vct=T}#@RuG(h!d8WYZS9Tst+VfKv zt~zntPsvfyqLY`klZSPslCz_dlcSRJLa$Px)_+W2Y&u!?oJrIMCNTz2S3j3^P6;Vay1QdYNDQd~Qlr7qIT{2c6%ddVkdQ9vlv27!r+{=bn*V

                    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 a6G@egy=r*{ff4E)6hIB6rCh0K5%xcW2c9qh literal 0 HcmV?d00001 diff --git a/bueno/functions/assets/images/placeholder.png b/bueno/functions/assets/images/placeholder.png new file mode 100755 index 0000000000000000000000000000000000000000..feb271a815ad99c7674c929ee969c3cc5d789f11 GIT binary patch literal 1503 zcmZXUdpOg39LIkyZObK-*|Vf4TTaL%E^Zb0LmI$AqNzdpui%O+$YX&$Dvo=pQwdl(+xEc?jtaC!s_lmKA=Jw1R$57dceu!40Qon2f5adapEY_oSJ z+Ihr{%$7t(jyS>7lP8a4p<%hj1oarhRKZ8trd4&(bu%Tn(=l!NhS+(Mh@PBl+1me%J-^D_ArIb8w->8hYMC_8T`bD1m z(rO|cUs*x5@tXojikJnn)G)qpbMoefom^C}4P_jewJlHg@#-qxfvc{SEgaCmU{=1Y z9wI7oB zwnwFXO5B_6px~U>hGH7$581&CG6@Q`hM*UdleBm7J7_8?I_ERW2Bv;N(yE`HH14aT zSQM-Fn|TJX9|OI3mernzqv44yRaJ%=uo9+I-mM1B=o)(DYOqD|%I76RplmRt9Q@1_ zqEt(mI~YYzP;4p>8fw&U_Vm@OT|~vnUr`(hIuir9n#6M^$C_frL0k!=*Ajt#Q@-7R zuO`v{ye`h1+sq|8NF>?XS15{o3v(j`8hPie_l1H5qs38m3YCfEPiGfuAQ`2f@t ze7b&SUzmk?8zv=!?~8Xh&~2)zkNG)*zuEktwG%HHUlTwQ>nWZ>?Gc{<=zx_0-+-n9 z1aJ34Y{TJji;vDURm(3}^TH0(qew(jKCSEKyjOU&S5>W*L16mybf~I#t9aPf-`}5B zPhs>mj@?(%S6d$u&sFI6dtSL+d0j9>$=AUI^G6$NlRkWwJlBm;zfh0#x&By|*b#lt zuDB-%I1g@mT6vfL8uh)Gq@+E{vSW7ED4~V(4F!w*Wc}S)57Esd!-TSTGc%WchfcVk zVcHsSRb~QBD=&+r+CUAJ_khYnV=^k76lUW&kP%82Xn@OHw00=j2UqY+TH?HpL$4iw z;V(G%Q(HLSw?&}O_JeFpcIG$@c=%#SZsUuK58X*UL5E&QnBk?C65~>GG_OTB`wOVpGQRU zM+eaE3RR zvmN%$!Zr(DJ8OM@Y)JweiOPe*hP_V!?ir`FY0<>Z+oU9$xp zTPz{K{zA~d1jwVmJAc6Gf27is2NKM7R^}`q=gO=LvtQ<9j34Z66jdsI(bL)DtTTyB JyiYip@*5fxs1pDH literal 0 HcmV?d00001 diff --git a/bueno/functions/assets/images/ui-bg_flat_0_aaaaaa_40x100.png b/bueno/functions/assets/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..99be896bfde3d35d2d397a617a9f0d08a134df56 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsTfZe$B>MBZ_hFEGB9v3E4;n` qM0IOh@q`9HqtXa&E($;$r(Vt_Z4c|U=avKQVeoYIb6Mw<&;$TQVjFA# literal 0 HcmV?d00001 diff --git a/bueno/functions/assets/images/ui-bg_flat_75_ffffff_40x100.png b/bueno/functions/assets/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..e77a5354970332c0d41b2bde303105f4e4130552 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsVGku$B>MBZ_hFEGB9v3E8Mr= oB6Zl(!=dVGqM!%`;E#~Zhp&B48ZW9o1=_;k>FVdQ&MBb@04$RpA^-pY literal 0 HcmV?d00001 diff --git a/bueno/functions/assets/images/ui-bg_glass_55_fbf9ee_1x400.png b/bueno/functions/assets/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..6352348b63ca10df77c50654e0a81346baa5496f GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq-;E0978Nlzdh~E#h}3B?D)Pu zqCWN}SJsLbqAr^xBYq Q8qgdDPgg&ebxsLQ08PRr=Kufz literal 0 HcmV?d00001 diff --git a/bueno/functions/assets/images/ui-bg_glass_65_ffffff_1x400.png b/bueno/functions/assets/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..54b5d35284d6a4a1a671a89762907b9ff09182e6 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq|`iJ978NlC;#~V{(gO1VA2!` t)i%?Q@*Ed-9uZpdT0+&WGcbvPgF)+-`K~$KwQ)cl44$rjF6*2UngEQl91j2h literal 0 HcmV?d00001 diff --git a/bueno/functions/assets/images/ui-bg_glass_75_dadada_1x400.png b/bueno/functions/assets/images/ui-bg_glass_75_dadada_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..20055b8b0cc9e6c48187abb2f4c06a313d2b0553 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq)a_s978NlCs%xWa zFlmZ}YMbuIx3|qTx+hK)Y)(i@a!OO&aiinn0~uAf&V!x|49Al>?}#7!WCt{W!PC{x JWt~$(698MiBB=lX literal 0 HcmV?d00001 diff --git a/bueno/functions/assets/images/ui-bg_glass_75_e6e6e6_1x400.png b/bueno/functions/assets/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..efe693be7157ad6e6d03075079d2b28d60455682 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAGVZ#9R3S1;RXC978NlzrC_i@PGjav%_0^ z4KuTX3Z|tWxj0!f_br_CpkcRgXa`4P+7Zj=*+TXvp#Gkwn#L$;0Al#~`N`K|Tq t-5!0VBLBG1&b{AdU0m*d|5-VaJyP%;0Q?znQT^iJ$9) S$k!^MK@6U*elF{r5}E+(UniUZ literal 0 HcmV?d00001 diff --git a/bueno/functions/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/bueno/functions/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..7c9fa6c6edcfcdd3e5b77e6f547b719e6fc66e30 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l#Zv1V~E7m\"\'\`]/.test(text)) { + return text; + } + map = { + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + unsafe_chars = /&(?!\w+;)|[\<\>\"\'\`]/g; + return text.replace(unsafe_chars, function(chr) { + return map[chr] || "&"; + }); + }; + + return SelectParser; + + })(); + + SelectParser.select_to_array = function(select) { + var child, parser, _i, _len, _ref; + + parser = new SelectParser(); + _ref = select.childNodes; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + child = _ref[_i]; + parser.add_node(child); + } + return parser.parsed; + }; + + AbstractChosen = (function() { + function AbstractChosen(form_field, options) { + this.form_field = form_field; + this.options = options != null ? options : {}; + if (!AbstractChosen.browser_is_supported()) { + return; + } + this.is_multiple = this.form_field.multiple; + this.set_default_text(); + this.set_default_values(); + this.setup(); + this.set_up_html(); + this.register_observers(); + } + + AbstractChosen.prototype.set_default_values = function() { + var _this = this; + + this.click_test_action = function(evt) { + return _this.test_active_click(evt); + }; + this.activate_action = function(evt) { + return _this.activate_field(evt); + }; + this.active_field = false; + this.mouse_on_container = false; + this.results_showing = false; + this.result_highlighted = null; + this.result_single_selected = null; + this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false; + this.disable_search_threshold = this.options.disable_search_threshold || 0; + this.disable_search = this.options.disable_search || false; + this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true; + this.group_search = this.options.group_search != null ? this.options.group_search : true; + this.search_contains = this.options.search_contains || false; + this.single_backstroke_delete = this.options.single_backstroke_delete != null ? this.options.single_backstroke_delete : true; + this.max_selected_options = this.options.max_selected_options || Infinity; + this.inherit_select_classes = this.options.inherit_select_classes || false; + this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true; + return this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true; + }; + + AbstractChosen.prototype.set_default_text = function() { + if (this.form_field.getAttribute("data-placeholder")) { + this.default_text = this.form_field.getAttribute("data-placeholder"); + } else if (this.is_multiple) { + this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text; + } else { + this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text; + } + return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text; + }; + + AbstractChosen.prototype.mouse_enter = function() { + return this.mouse_on_container = true; + }; + + AbstractChosen.prototype.mouse_leave = function() { + return this.mouse_on_container = false; + }; + + AbstractChosen.prototype.input_focus = function(evt) { + var _this = this; + + if (this.is_multiple) { + if (!this.active_field) { + return setTimeout((function() { + return _this.container_mousedown(); + }), 50); + } + } else { + if (!this.active_field) { + return this.activate_field(); + } + } + }; + + AbstractChosen.prototype.input_blur = function(evt) { + var _this = this; + + if (!this.mouse_on_container) { + this.active_field = false; + return setTimeout((function() { + return _this.blur_test(); + }), 100); + } + }; + + AbstractChosen.prototype.results_option_build = function(options) { + var content, data, _i, _len, _ref; + + content = ''; + _ref = this.results_data; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + data = _ref[_i]; + if (data.group) { + content += this.result_add_group(data); + } else { + content += this.result_add_option(data); + } + if (options != null ? options.first : void 0) { + if (data.selected && this.is_multiple) { + this.choice_build(data); + } else if (data.selected && !this.is_multiple) { + this.single_set_selected_text(data.text); + } + } + } + return content; + }; + + AbstractChosen.prototype.result_add_option = function(option) { + var classes, style; + + if (!option.search_match) { + return ''; + } + if (!this.include_option_in_results(option)) { + return ''; + } + classes = []; + if (!option.disabled && !(option.selected && this.is_multiple)) { + classes.push("active-result"); + } + if (option.disabled && !(option.selected && this.is_multiple)) { + classes.push("disabled-result"); + } + if (option.selected) { + classes.push("result-selected"); + } + if (option.group_array_index != null) { + classes.push("group-option"); + } + if (option.classes !== "") { + classes.push(option.classes); + } + style = option.style.cssText !== "" ? " style=\"" + option.style + "\"" : ""; + return "

                  • " + option.search_text + "
                  • "; + }; + + AbstractChosen.prototype.result_add_group = function(group) { + if (!(group.search_match || group.group_match)) { + return ''; + } + if (!(group.active_options > 0)) { + return ''; + } + return "
                  • " + group.search_text + "
                  • "; + }; + + AbstractChosen.prototype.results_update_field = function() { + this.set_default_text(); + if (!this.is_multiple) { + this.results_reset_cleanup(); + } + this.result_clear_highlight(); + this.result_single_selected = null; + this.results_build(); + if (this.results_showing) { + return this.winnow_results(); + } + }; + + AbstractChosen.prototype.results_toggle = function() { + if (this.results_showing) { + return this.results_hide(); + } else { + return this.results_show(); + } + }; + + AbstractChosen.prototype.results_search = function(evt) { + if (this.results_showing) { + return this.winnow_results(); + } else { + return this.results_show(); + } + }; + + AbstractChosen.prototype.winnow_results = function() { + var escapedSearchText, option, regex, regexAnchor, results, results_group, searchText, startpos, text, zregex, _i, _len, _ref; + + this.no_results_clear(); + results = 0; + searchText = this.get_search_text(); + escapedSearchText = searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + regexAnchor = this.search_contains ? "" : "^"; + regex = new RegExp(regexAnchor + escapedSearchText, 'i'); + zregex = new RegExp(escapedSearchText, 'i'); + _ref = this.results_data; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + option = _ref[_i]; + option.search_match = false; + results_group = null; + if (this.include_option_in_results(option)) { + if (option.group) { + option.group_match = false; + option.active_options = 0; + } + if ((option.group_array_index != null) && this.results_data[option.group_array_index]) { + results_group = this.results_data[option.group_array_index]; + if (results_group.active_options === 0 && results_group.search_match) { + results += 1; + } + results_group.active_options += 1; + } + if (!(option.group && !this.group_search)) { + option.search_text = option.group ? option.label : option.html; + option.search_match = this.search_string_match(option.search_text, regex); + if (option.search_match && !option.group) { + results += 1; + } + if (option.search_match) { + if (searchText.length) { + startpos = option.search_text.search(zregex); + text = option.search_text.substr(0, startpos + searchText.length) + '' + option.search_text.substr(startpos + searchText.length); + option.search_text = text.substr(0, startpos) + '' + text.substr(startpos); + } + if (results_group != null) { + results_group.group_match = true; + } + } else if ((option.group_array_index != null) && this.results_data[option.group_array_index].search_match) { + option.search_match = true; + } + } + } + } + this.result_clear_highlight(); + if (results < 1 && searchText.length) { + this.update_results_content(""); + return this.no_results(searchText); + } else { + this.update_results_content(this.results_option_build()); + return this.winnow_results_set_highlight(); + } + }; + + AbstractChosen.prototype.search_string_match = function(search_string, regex) { + var part, parts, _i, _len; + + if (regex.test(search_string)) { + return true; + } else if (this.enable_split_word_search && (search_string.indexOf(" ") >= 0 || search_string.indexOf("[") === 0)) { + parts = search_string.replace(/\[|\]/g, "").split(" "); + if (parts.length) { + for (_i = 0, _len = parts.length; _i < _len; _i++) { + part = parts[_i]; + if (regex.test(part)) { + return true; + } + } + } + } + }; + + AbstractChosen.prototype.choices_count = function() { + var option, _i, _len, _ref; + + if (this.selected_option_count != null) { + return this.selected_option_count; + } + this.selected_option_count = 0; + _ref = this.form_field.options; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + option = _ref[_i]; + if (option.selected) { + this.selected_option_count += 1; + } + } + return this.selected_option_count; + }; + + AbstractChosen.prototype.choices_click = function(evt) { + evt.preventDefault(); + if (!(this.results_showing || this.is_disabled)) { + return this.results_show(); + } + }; + + AbstractChosen.prototype.keyup_checker = function(evt) { + var stroke, _ref; + + stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; + this.search_field_scale(); + switch (stroke) { + case 8: + if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) { + return this.keydown_backstroke(); + } else if (!this.pending_backstroke) { + this.result_clear_highlight(); + return this.results_search(); + } + break; + case 13: + evt.preventDefault(); + if (this.results_showing) { + return this.result_select(evt); + } + break; + case 27: + if (this.results_showing) { + this.results_hide(); + } + return true; + case 9: + case 38: + case 40: + case 16: + case 91: + case 17: + break; + default: + return this.results_search(); + } + }; + + AbstractChosen.prototype.container_width = function() { + if (this.options.width != null) { + return this.options.width; + } else { + return "" + this.form_field.offsetWidth + "px"; + } + }; + + AbstractChosen.prototype.include_option_in_results = function(option) { + if (this.is_multiple && (!this.display_selected_options && option.selected)) { + return false; + } + if (!this.display_disabled_options && option.disabled) { + return false; + } + if (option.empty) { + return false; + } + return true; + }; + + AbstractChosen.browser_is_supported = function() { + if (window.navigator.appName === "Microsoft Internet Explorer") { + return document.documentMode >= 8; + } + if (/iP(od|hone)/i.test(window.navigator.userAgent)) { + return false; + } + if (/Android/i.test(window.navigator.userAgent)) { + if (/Mobile/i.test(window.navigator.userAgent)) { + return false; + } + } + return true; + }; + + AbstractChosen.default_multiple_text = "Select Some Options"; + + AbstractChosen.default_single_text = "Select an Option"; + + AbstractChosen.default_no_result_text = "No results match"; + + return AbstractChosen; + + })(); + + $ = jQuery; + + $.fn.extend({ + chosen: function(options) { + if (!AbstractChosen.browser_is_supported()) { + return this; + } + return this.each(function(input_field) { + var $this, chosen; + + $this = $(this); + chosen = $this.data('chosen'); + if (options === 'destroy' && chosen) { + chosen.destroy(); + } else if (!chosen) { + $this.data('chosen', new Chosen(this, options)); + } + }); + } + }); + + Chosen = (function(_super) { + __extends(Chosen, _super); + + function Chosen() { + _ref = Chosen.__super__.constructor.apply(this, arguments); + return _ref; + } + + Chosen.prototype.setup = function() { + this.form_field_jq = $(this.form_field); + this.current_selectedIndex = this.form_field.selectedIndex; + return this.is_rtl = this.form_field_jq.hasClass("chosen-rtl"); + }; + + Chosen.prototype.set_up_html = function() { + var container_classes, container_props; + + container_classes = ["chosen-container"]; + container_classes.push("chosen-container-" + (this.is_multiple ? "multi" : "single")); + if (this.inherit_select_classes && this.form_field.className) { + container_classes.push(this.form_field.className); + } + if (this.is_rtl) { + container_classes.push("chosen-rtl"); + } + container_props = { + 'class': container_classes.join(' '), + 'style': "width: " + (this.container_width()) + ";", + 'title': this.form_field.title + }; + if (this.form_field.id.length) { + container_props.id = this.form_field.id.replace(/[^\w]/g, '_') + "_chosen"; + } + this.container = $("
                    ", container_props); + if (this.is_multiple) { + this.container.html('
                      '); + } else { + this.container.html('' + this.default_text + '
                        '); + } + this.form_field_jq.hide().after(this.container); + this.dropdown = this.container.find('div.chosen-drop').first(); + this.search_field = this.container.find('input').first(); + this.search_results = this.container.find('ul.chosen-results').first(); + this.search_field_scale(); + this.search_no_results = this.container.find('li.no-results').first(); + if (this.is_multiple) { + this.search_choices = this.container.find('ul.chosen-choices').first(); + this.search_container = this.container.find('li.search-field').first(); + } else { + this.search_container = this.container.find('div.chosen-search').first(); + this.selected_item = this.container.find('.chosen-single').first(); + } + this.results_build(); + this.set_tab_index(); + this.set_label_behavior(); + return this.form_field_jq.trigger("chosen:ready", { + chosen: this + }); + }; + + Chosen.prototype.register_observers = function() { + var _this = this; + + this.container.bind('mousedown.chosen', function(evt) { + _this.container_mousedown(evt); + }); + this.container.bind('mouseup.chosen', function(evt) { + _this.container_mouseup(evt); + }); + this.container.bind('mouseenter.chosen', function(evt) { + _this.mouse_enter(evt); + }); + this.container.bind('mouseleave.chosen', function(evt) { + _this.mouse_leave(evt); + }); + this.search_results.bind('mouseup.chosen', function(evt) { + _this.search_results_mouseup(evt); + }); + this.search_results.bind('mouseover.chosen', function(evt) { + _this.search_results_mouseover(evt); + }); + this.search_results.bind('mouseout.chosen', function(evt) { + _this.search_results_mouseout(evt); + }); + this.search_results.bind('mousewheel.chosen DOMMouseScroll.chosen', function(evt) { + _this.search_results_mousewheel(evt); + }); + this.form_field_jq.bind("chosen:updated.chosen", function(evt) { + _this.results_update_field(evt); + }); + this.form_field_jq.bind("chosen:activate.chosen", function(evt) { + _this.activate_field(evt); + }); + this.form_field_jq.bind("chosen:open.chosen", function(evt) { + _this.container_mousedown(evt); + }); + this.search_field.bind('blur.chosen', function(evt) { + _this.input_blur(evt); + }); + this.search_field.bind('keyup.chosen', function(evt) { + _this.keyup_checker(evt); + }); + this.search_field.bind('keydown.chosen', function(evt) { + _this.keydown_checker(evt); + }); + this.search_field.bind('focus.chosen', function(evt) { + _this.input_focus(evt); + }); + if (this.is_multiple) { + return this.search_choices.bind('click.chosen', function(evt) { + _this.choices_click(evt); + }); + } else { + return this.container.bind('click.chosen', function(evt) { + evt.preventDefault(); + }); + } + }; + + Chosen.prototype.destroy = function() { + $(document).unbind("click.chosen", this.click_test_action); + if (this.search_field[0].tabIndex) { + this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex; + } + this.container.remove(); + this.form_field_jq.removeData('chosen'); + return this.form_field_jq.show(); + }; + + Chosen.prototype.search_field_disabled = function() { + this.is_disabled = this.form_field_jq[0].disabled; + if (this.is_disabled) { + this.container.addClass('chosen-disabled'); + this.search_field[0].disabled = true; + if (!this.is_multiple) { + this.selected_item.unbind("focus.chosen", this.activate_action); + } + return this.close_field(); + } else { + this.container.removeClass('chosen-disabled'); + this.search_field[0].disabled = false; + if (!this.is_multiple) { + return this.selected_item.bind("focus.chosen", this.activate_action); + } + } + }; + + Chosen.prototype.container_mousedown = function(evt) { + if (!this.is_disabled) { + if (evt && evt.type === "mousedown" && !this.results_showing) { + evt.preventDefault(); + } + if (!((evt != null) && ($(evt.target)).hasClass("search-choice-close"))) { + if (!this.active_field) { + if (this.is_multiple) { + this.search_field.val(""); + } + $(document).bind('click.chosen', this.click_test_action); + this.results_show(); + } else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chosen-single").length)) { + evt.preventDefault(); + this.results_toggle(); + } + return this.activate_field(); + } + } + }; + + Chosen.prototype.container_mouseup = function(evt) { + if (evt.target.nodeName === "ABBR" && !this.is_disabled) { + return this.results_reset(evt); + } + }; + + Chosen.prototype.search_results_mousewheel = function(evt) { + var delta, _ref1, _ref2; + + delta = -((_ref1 = evt.originalEvent) != null ? _ref1.wheelDelta : void 0) || ((_ref2 = evt.originialEvent) != null ? _ref2.detail : void 0); + if (delta != null) { + evt.preventDefault(); + if (evt.type === 'DOMMouseScroll') { + delta = delta * 40; + } + return this.search_results.scrollTop(delta + this.search_results.scrollTop()); + } + }; + + Chosen.prototype.blur_test = function(evt) { + if (!this.active_field && this.container.hasClass("chosen-container-active")) { + return this.close_field(); + } + }; + + Chosen.prototype.close_field = function() { + $(document).unbind("click.chosen", this.click_test_action); + this.active_field = false; + this.results_hide(); + this.container.removeClass("chosen-container-active"); + this.clear_backstroke(); + this.show_search_field_default(); + return this.search_field_scale(); + }; + + Chosen.prototype.activate_field = function() { + this.container.addClass("chosen-container-active"); + this.active_field = true; + this.search_field.val(this.search_field.val()); + return this.search_field.focus(); + }; + + Chosen.prototype.test_active_click = function(evt) { + if (this.container.is($(evt.target).closest('.chosen-container'))) { + return this.active_field = true; + } else { + return this.close_field(); + } + }; + + Chosen.prototype.results_build = function() { + this.parsing = true; + this.selected_option_count = null; + this.results_data = SelectParser.select_to_array(this.form_field); + if (this.is_multiple) { + this.search_choices.find("li.search-choice").remove(); + } else if (!this.is_multiple) { + this.single_set_selected_text(); + if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) { + this.search_field[0].readOnly = true; + this.container.addClass("chosen-container-single-nosearch"); + } else { + this.search_field[0].readOnly = false; + this.container.removeClass("chosen-container-single-nosearch"); + } + } + this.update_results_content(this.results_option_build({ + first: true + })); + this.search_field_disabled(); + this.show_search_field_default(); + this.search_field_scale(); + return this.parsing = false; + }; + + Chosen.prototype.result_do_highlight = function(el) { + var high_bottom, high_top, maxHeight, visible_bottom, visible_top; + + if (el.length) { + this.result_clear_highlight(); + this.result_highlight = el; + this.result_highlight.addClass("highlighted"); + maxHeight = parseInt(this.search_results.css("maxHeight"), 10); + visible_top = this.search_results.scrollTop(); + visible_bottom = maxHeight + visible_top; + high_top = this.result_highlight.position().top + this.search_results.scrollTop(); + high_bottom = high_top + this.result_highlight.outerHeight(); + if (high_bottom >= visible_bottom) { + return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0); + } else if (high_top < visible_top) { + return this.search_results.scrollTop(high_top); + } + } + }; + + Chosen.prototype.result_clear_highlight = function() { + if (this.result_highlight) { + this.result_highlight.removeClass("highlighted"); + } + return this.result_highlight = null; + }; + + Chosen.prototype.results_show = function() { + if (this.is_multiple && this.max_selected_options <= this.choices_count()) { + this.form_field_jq.trigger("chosen:maxselected", { + chosen: this + }); + return false; + } + this.container.addClass("chosen-with-drop"); + this.form_field_jq.trigger("chosen:showing_dropdown", { + chosen: this + }); + this.results_showing = true; + this.search_field.focus(); + this.search_field.val(this.search_field.val()); + return this.winnow_results(); + }; + + Chosen.prototype.update_results_content = function(content) { + return this.search_results.html(content); + }; + + Chosen.prototype.results_hide = function() { + if (this.results_showing) { + this.result_clear_highlight(); + this.container.removeClass("chosen-with-drop"); + this.form_field_jq.trigger("chosen:hiding_dropdown", { + chosen: this + }); + } + return this.results_showing = false; + }; + + Chosen.prototype.set_tab_index = function(el) { + var ti; + + if (this.form_field.tabIndex) { + ti = this.form_field.tabIndex; + this.form_field.tabIndex = -1; + return this.search_field[0].tabIndex = ti; + } + }; + + Chosen.prototype.set_label_behavior = function() { + var _this = this; + + this.form_field_label = this.form_field_jq.parents("label"); + if (!this.form_field_label.length && this.form_field.id.length) { + this.form_field_label = $("label[for='" + this.form_field.id + "']"); + } + if (this.form_field_label.length > 0) { + return this.form_field_label.bind('click.chosen', function(evt) { + if (_this.is_multiple) { + return _this.container_mousedown(evt); + } else { + return _this.activate_field(); + } + }); + } + }; + + Chosen.prototype.show_search_field_default = function() { + if (this.is_multiple && this.choices_count() < 1 && !this.active_field) { + this.search_field.val(this.default_text); + return this.search_field.addClass("default"); + } else { + this.search_field.val(""); + return this.search_field.removeClass("default"); + } + }; + + Chosen.prototype.search_results_mouseup = function(evt) { + var target; + + target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); + if (target.length) { + this.result_highlight = target; + this.result_select(evt); + return this.search_field.focus(); + } + }; + + Chosen.prototype.search_results_mouseover = function(evt) { + var target; + + target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); + if (target) { + return this.result_do_highlight(target); + } + }; + + Chosen.prototype.search_results_mouseout = function(evt) { + if ($(evt.target).hasClass("active-result" || $(evt.target).parents('.active-result').first())) { + return this.result_clear_highlight(); + } + }; + + Chosen.prototype.choice_build = function(item) { + var choice, close_link, + _this = this; + + choice = $('
                      • ', { + "class": "search-choice" + }).html("" + item.html + ""); + if (item.disabled) { + choice.addClass('search-choice-disabled'); + } else { + close_link = $('', { + "class": 'search-choice-close', + 'data-option-array-index': item.array_index + }); + close_link.bind('click.chosen', function(evt) { + return _this.choice_destroy_link_click(evt); + }); + choice.append(close_link); + } + return this.search_container.before(choice); + }; + + Chosen.prototype.choice_destroy_link_click = function(evt) { + evt.preventDefault(); + evt.stopPropagation(); + if (!this.is_disabled) { + return this.choice_destroy($(evt.target)); + } + }; + + Chosen.prototype.choice_destroy = function(link) { + if (this.result_deselect(link[0].getAttribute("data-option-array-index"))) { + this.show_search_field_default(); + if (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) { + this.results_hide(); + } + link.parents('li').first().remove(); + return this.search_field_scale(); + } + }; + + Chosen.prototype.results_reset = function() { + this.form_field.options[0].selected = true; + this.selected_option_count = null; + this.single_set_selected_text(); + this.show_search_field_default(); + this.results_reset_cleanup(); + this.form_field_jq.trigger("change"); + if (this.active_field) { + return this.results_hide(); + } + }; + + Chosen.prototype.results_reset_cleanup = function() { + this.current_selectedIndex = this.form_field.selectedIndex; + return this.selected_item.find("abbr").remove(); + }; + + Chosen.prototype.result_select = function(evt) { + var high, item, selected_index; + + if (this.result_highlight) { + high = this.result_highlight; + this.result_clear_highlight(); + if (this.is_multiple && this.max_selected_options <= this.choices_count()) { + this.form_field_jq.trigger("chosen:maxselected", { + chosen: this + }); + return false; + } + if (this.is_multiple) { + high.removeClass("active-result"); + } else { + if (this.result_single_selected) { + this.result_single_selected.removeClass("result-selected"); + selected_index = this.result_single_selected[0].getAttribute('data-option-array-index'); + this.results_data[selected_index].selected = false; + } + this.result_single_selected = high; + } + high.addClass("result-selected"); + item = this.results_data[high[0].getAttribute("data-option-array-index")]; + item.selected = true; + this.form_field.options[item.options_index].selected = true; + this.selected_option_count = null; + if (this.is_multiple) { + this.choice_build(item); + } else { + this.single_set_selected_text(item.text); + } + if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) { + this.results_hide(); + } + this.search_field.val(""); + if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) { + this.form_field_jq.trigger("change", { + 'selected': this.form_field.options[item.options_index].value + }); + } + this.current_selectedIndex = this.form_field.selectedIndex; + return this.search_field_scale(); + } + }; + + Chosen.prototype.single_set_selected_text = function(text) { + if (text == null) { + text = this.default_text; + } + if (text === this.default_text) { + this.selected_item.addClass("chosen-default"); + } else { + this.single_deselect_control_build(); + this.selected_item.removeClass("chosen-default"); + } + return this.selected_item.find("span").text(text); + }; + + Chosen.prototype.result_deselect = function(pos) { + var result_data; + + result_data = this.results_data[pos]; + if (!this.form_field.options[result_data.options_index].disabled) { + result_data.selected = false; + this.form_field.options[result_data.options_index].selected = false; + this.selected_option_count = null; + this.result_clear_highlight(); + if (this.results_showing) { + this.winnow_results(); + } + this.form_field_jq.trigger("change", { + deselected: this.form_field.options[result_data.options_index].value + }); + this.search_field_scale(); + return true; + } else { + return false; + } + }; + + Chosen.prototype.single_deselect_control_build = function() { + if (!this.allow_single_deselect) { + return; + } + if (!this.selected_item.find("abbr").length) { + this.selected_item.find("span").first().after(""); + } + return this.selected_item.addClass("chosen-single-with-deselect"); + }; + + Chosen.prototype.get_search_text = function() { + if (this.search_field.val() === this.default_text) { + return ""; + } else { + return $('
                        ').text($.trim(this.search_field.val())).html(); + } + }; + + Chosen.prototype.winnow_results_set_highlight = function() { + var do_high, selected_results; + + selected_results = !this.is_multiple ? this.search_results.find(".result-selected.active-result") : []; + do_high = selected_results.length ? selected_results.first() : this.search_results.find(".active-result").first(); + if (do_high != null) { + return this.result_do_highlight(do_high); + } + }; + + Chosen.prototype.no_results = function(terms) { + var no_results_html; + + no_results_html = $('
                      • ' + this.results_none_found + ' ""
                      • '); + no_results_html.find("span").first().html(terms); + return this.search_results.append(no_results_html); + }; + + Chosen.prototype.no_results_clear = function() { + return this.search_results.find(".no-results").remove(); + }; + + Chosen.prototype.keydown_arrow = function() { + var next_sib; + + if (this.results_showing && this.result_highlight) { + next_sib = this.result_highlight.nextAll("li.active-result").first(); + if (next_sib) { + return this.result_do_highlight(next_sib); + } + } else { + return this.results_show(); + } + }; + + Chosen.prototype.keyup_arrow = function() { + var prev_sibs; + + if (!this.results_showing && !this.is_multiple) { + return this.results_show(); + } else if (this.result_highlight) { + prev_sibs = this.result_highlight.prevAll("li.active-result"); + if (prev_sibs.length) { + return this.result_do_highlight(prev_sibs.first()); + } else { + if (this.choices_count() > 0) { + this.results_hide(); + } + return this.result_clear_highlight(); + } + } + }; + + Chosen.prototype.keydown_backstroke = function() { + var next_available_destroy; + + if (this.pending_backstroke) { + this.choice_destroy(this.pending_backstroke.find("a").first()); + return this.clear_backstroke(); + } else { + next_available_destroy = this.search_container.siblings("li.search-choice").last(); + if (next_available_destroy.length && !next_available_destroy.hasClass("search-choice-disabled")) { + this.pending_backstroke = next_available_destroy; + if (this.single_backstroke_delete) { + return this.keydown_backstroke(); + } else { + return this.pending_backstroke.addClass("search-choice-focus"); + } + } + } + }; + + Chosen.prototype.clear_backstroke = function() { + if (this.pending_backstroke) { + this.pending_backstroke.removeClass("search-choice-focus"); + } + return this.pending_backstroke = null; + }; + + Chosen.prototype.keydown_checker = function(evt) { + var stroke, _ref1; + + stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode; + this.search_field_scale(); + if (stroke !== 8 && this.pending_backstroke) { + this.clear_backstroke(); + } + switch (stroke) { + case 8: + this.backstroke_length = this.search_field.val().length; + break; + case 9: + if (this.results_showing && !this.is_multiple) { + this.result_select(evt); + } + this.mouse_on_container = false; + break; + case 13: + evt.preventDefault(); + break; + case 38: + evt.preventDefault(); + this.keyup_arrow(); + break; + case 40: + evt.preventDefault(); + this.keydown_arrow(); + break; + } + }; + + Chosen.prototype.search_field_scale = function() { + var div, f_width, h, style, style_block, styles, w, _i, _len; + + if (this.is_multiple) { + h = 0; + w = 0; + style_block = "position:absolute; left: -1000px; top: -1000px; display:none;"; + styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing']; + for (_i = 0, _len = styles.length; _i < _len; _i++) { + style = styles[_i]; + style_block += style + ":" + this.search_field.css(style) + ";"; + } + div = $('
                        ', { + 'style': style_block + }); + div.text(this.search_field.val()); + $('body').append(div); + w = div.width() + 25; + div.remove(); + f_width = this.container.outerWidth(); + if (w > f_width - 10) { + w = f_width - 10; + } + return this.search_field.css({ + 'width': w + 'px' + }); + } + }; + + return Chosen; + + })(AbstractChosen); + +}).call(this); diff --git a/bueno/functions/assets/js/lib/jquery-chosen.min.js b/bueno/functions/assets/js/lib/jquery-chosen.min.js new file mode 100755 index 0000000..ad430c4 --- /dev/null +++ b/bueno/functions/assets/js/lib/jquery-chosen.min.js @@ -0,0 +1,2 @@ +/* Chosen v1.0.0 | (c) 2011-2013 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ +!function(){var a,AbstractChosen,Chosen,SelectParser,b,c={}.hasOwnProperty,d=function(a,b){function d(){this.constructor=a}for(var e in b)c.call(b,e)&&(a[e]=b[e]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a};SelectParser=function(){function SelectParser(){this.options_index=0,this.parsed=[]}return SelectParser.prototype.add_node=function(a){return"OPTGROUP"===a.nodeName.toUpperCase()?this.add_group(a):this.add_option(a)},SelectParser.prototype.add_group=function(a){var b,c,d,e,f,g;for(b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:this.escapeExpression(a.label),children:0,disabled:a.disabled}),f=a.childNodes,g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(this.add_option(c,b,a.disabled));return g},SelectParser.prototype.add_option=function(a,b,c){return"OPTION"===a.nodeName.toUpperCase()?(""!==a.text?(null!=b&&(this.parsed[b].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:a.value,text:a.text,html:a.innerHTML,selected:a.selected,disabled:c===!0?c:a.disabled,group_array_index:b,classes:a.className,style:a.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1):void 0},SelectParser.prototype.escapeExpression=function(a){var b,c;return null==a||a===!1?"":/[\&\<\>\"\'\`]/.test(a)?(b={"<":"<",">":">",'"':""","'":"'","`":"`"},c=/&(?!\w+;)|[\<\>\"\'\`]/g,a.replace(c,function(a){return b[a]||"&"})):a},SelectParser}(),SelectParser.select_to_array=function(a){var b,c,d,e,f;for(c=new SelectParser,f=a.childNodes,d=0,e=f.length;e>d;d++)b=f[d],c.add_node(b);return c.parsed},AbstractChosen=function(){function AbstractChosen(a,b){this.form_field=a,this.options=null!=b?b:{},AbstractChosen.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers())}return AbstractChosen.prototype.set_default_values=function(){var a=this;return this.click_test_action=function(b){return a.test_active_click(b)},this.activate_action=function(b){return a.activate_field(b)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.result_single_selected=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null!=this.options.enable_split_word_search?this.options.enable_split_word_search:!0,this.group_search=null!=this.options.group_search?this.options.group_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null!=this.options.single_backstroke_delete?this.options.single_backstroke_delete:!0,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null!=this.options.display_selected_options?this.options.display_selected_options:!0,this.display_disabled_options=null!=this.options.display_disabled_options?this.options.display_disabled_options:!0},AbstractChosen.prototype.set_default_text=function(){return this.default_text=this.form_field.getAttribute("data-placeholder")?this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text:this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text},AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=!0},AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=!1},AbstractChosen.prototype.input_focus=function(){var a=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return a.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},AbstractChosen.prototype.input_blur=function(){var a=this;return this.mouse_on_container?void 0:(this.active_field=!1,setTimeout(function(){return a.blur_test()},100))},AbstractChosen.prototype.results_option_build=function(a){var b,c,d,e,f;for(b="",f=this.results_data,d=0,e=f.length;e>d;d++)c=f[d],b+=c.group?this.result_add_group(c):this.result_add_option(c),(null!=a?a.first:void 0)&&(c.selected&&this.is_multiple?this.choice_build(c):c.selected&&!this.is_multiple&&this.single_set_selected_text(c.text));return b},AbstractChosen.prototype.result_add_option=function(a){var b,c;return a.search_match?this.include_option_in_results(a)?(b=[],a.disabled||a.selected&&this.is_multiple||b.push("active-result"),!a.disabled||a.selected&&this.is_multiple||b.push("disabled-result"),a.selected&&b.push("result-selected"),null!=a.group_array_index&&b.push("group-option"),""!==a.classes&&b.push(a.classes),c=""!==a.style.cssText?' style="'+a.style+'"':"",'
                      • '+a.search_text+"
                      • "):"":""},AbstractChosen.prototype.result_add_group=function(a){return a.search_match||a.group_match?a.active_options>0?'
                      • '+a.search_text+"
                      • ":"":""},AbstractChosen.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build(),this.results_showing?this.winnow_results():void 0},AbstractChosen.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},AbstractChosen.prototype.results_search=function(){return this.results_showing?this.winnow_results():this.results_show()},AbstractChosen.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m;for(this.no_results_clear(),e=0,g=this.get_search_text(),a=g.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),d=this.search_contains?"":"^",c=new RegExp(d+a,"i"),j=new RegExp(a,"i"),m=this.results_data,k=0,l=m.length;l>k;k++)b=m[k],b.search_match=!1,f=null,this.include_option_in_results(b)&&(b.group&&(b.group_match=!1,b.active_options=0),null!=b.group_array_index&&this.results_data[b.group_array_index]&&(f=this.results_data[b.group_array_index],0===f.active_options&&f.search_match&&(e+=1),f.active_options+=1),(!b.group||this.group_search)&&(b.search_text=b.group?b.label:b.html,b.search_match=this.search_string_match(b.search_text,c),b.search_match&&!b.group&&(e+=1),b.search_match?(g.length&&(h=b.search_text.search(j),i=b.search_text.substr(0,h+g.length)+"
                        "+b.search_text.substr(h+g.length),b.search_text=i.substr(0,h)+""+i.substr(h)),null!=f&&(f.group_match=!0)):null!=b.group_array_index&&this.results_data[b.group_array_index].search_match&&(b.search_match=!0)));return this.result_clear_highlight(),1>e&&g.length?(this.update_results_content(""),this.no_results(g)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},AbstractChosen.prototype.search_string_match=function(a,b){var c,d,e,f;if(b.test(a))return!0;if(this.enable_split_word_search&&(a.indexOf(" ")>=0||0===a.indexOf("["))&&(d=a.replace(/\[|\]/g,"").split(" "),d.length))for(e=0,f=d.length;f>e;e++)if(c=d[e],b.test(c))return!0},AbstractChosen.prototype.choices_count=function(){var a,b,c,d;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,d=this.form_field.options,b=0,c=d.length;c>b;b++)a=d[b],a.selected&&(this.selected_option_count+=1);return this.selected_option_count},AbstractChosen.prototype.choices_click=function(a){return a.preventDefault(),this.results_showing||this.is_disabled?void 0:this.results_show()},AbstractChosen.prototype.keyup_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:if(a.preventDefault(),this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},AbstractChosen.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},AbstractChosen.prototype.include_option_in_results=function(a){return this.is_multiple&&!this.display_selected_options&&a.selected?!1:!this.display_disabled_options&&a.disabled?!1:a.empty?!1:!0},AbstractChosen.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:/iP(od|hone)/i.test(window.navigator.userAgent)?!1:/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)?!1:!0},AbstractChosen.default_multiple_text="Select Some Options",AbstractChosen.default_single_text="Select an Option",AbstractChosen.default_no_result_text="No results match",AbstractChosen}(),a=jQuery,a.fn.extend({chosen:function(b){return AbstractChosen.browser_is_supported()?this.each(function(){var c,d;c=a(this),d=c.data("chosen"),"destroy"===b&&d?d.destroy():d||c.data("chosen",new Chosen(this,b))}):this}}),Chosen=function(c){function Chosen(){return b=Chosen.__super__.constructor.apply(this,arguments)}return d(Chosen,c),Chosen.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")},Chosen.prototype.set_up_html=function(){var b,c;return b=["chosen-container"],b.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&b.push(this.form_field.className),this.is_rtl&&b.push("chosen-rtl"),c={"class":b.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(c.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=a("
                        ",c),this.is_multiple?this.container.html('
                          '):this.container.html('
                          '+this.default_text+'
                            '),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior(),this.form_field_jq.trigger("chosen:ready",{chosen:this})},Chosen.prototype.register_observers=function(){var a=this;return this.container.bind("mousedown.chosen",function(b){a.container_mousedown(b)}),this.container.bind("mouseup.chosen",function(b){a.container_mouseup(b)}),this.container.bind("mouseenter.chosen",function(b){a.mouse_enter(b)}),this.container.bind("mouseleave.chosen",function(b){a.mouse_leave(b)}),this.search_results.bind("mouseup.chosen",function(b){a.search_results_mouseup(b)}),this.search_results.bind("mouseover.chosen",function(b){a.search_results_mouseover(b)}),this.search_results.bind("mouseout.chosen",function(b){a.search_results_mouseout(b)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(b){a.search_results_mousewheel(b)}),this.form_field_jq.bind("chosen:updated.chosen",function(b){a.results_update_field(b)}),this.form_field_jq.bind("chosen:activate.chosen",function(b){a.activate_field(b)}),this.form_field_jq.bind("chosen:open.chosen",function(b){a.container_mousedown(b)}),this.search_field.bind("blur.chosen",function(b){a.input_blur(b)}),this.search_field.bind("keyup.chosen",function(b){a.keyup_checker(b)}),this.search_field.bind("keydown.chosen",function(b){a.keydown_checker(b)}),this.search_field.bind("focus.chosen",function(b){a.input_focus(b)}),this.is_multiple?this.search_choices.bind("click.chosen",function(b){a.choices_click(b)}):this.container.bind("click.chosen",function(a){a.preventDefault()})},Chosen.prototype.destroy=function(){return a(document).unbind("click.chosen",this.click_test_action),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},Chosen.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field_jq[0].disabled,this.is_disabled?(this.container.addClass("chosen-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_action),this.close_field()):(this.container.removeClass("chosen-disabled"),this.search_field[0].disabled=!1,this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_action))},Chosen.prototype.container_mousedown=function(b){return this.is_disabled||(b&&"mousedown"===b.type&&!this.results_showing&&b.preventDefault(),null!=b&&a(b.target).hasClass("search-choice-close"))?void 0:(this.active_field?this.is_multiple||!b||a(b.target)[0]!==this.selected_item[0]&&!a(b.target).parents("a.chosen-single").length||(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(document).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},Chosen.prototype.container_mouseup=function(a){return"ABBR"!==a.target.nodeName||this.is_disabled?void 0:this.results_reset(a)},Chosen.prototype.search_results_mousewheel=function(a){var b,c,d;return b=-(null!=(c=a.originalEvent)?c.wheelDelta:void 0)||(null!=(d=a.originialEvent)?d.detail:void 0),null!=b?(a.preventDefault(),"DOMMouseScroll"===a.type&&(b=40*b),this.search_results.scrollTop(b+this.search_results.scrollTop())):void 0},Chosen.prototype.blur_test=function(){return!this.active_field&&this.container.hasClass("chosen-container-active")?this.close_field():void 0},Chosen.prototype.close_field=function(){return a(document).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},Chosen.prototype.activate_field=function(){return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},Chosen.prototype.test_active_click=function(b){return this.container.is(a(b.target).closest(".chosen-container"))?this.active_field=!0:this.close_field()},Chosen.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=SelectParser.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},Chosen.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){if(this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight(),b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(f>c)return this.search_results.scrollTop(c)}},Chosen.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},Chosen.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results())},Chosen.prototype.update_results_content=function(a){return this.search_results.html(a)},Chosen.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},Chosen.prototype.set_tab_index=function(){var a;return this.form_field.tabIndex?(a=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=a):void 0},Chosen.prototype.set_label_behavior=function(){var b=this;return this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=a("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0?this.form_field_label.bind("click.chosen",function(a){return b.is_multiple?b.container_mousedown(a):b.activate_field()}):void 0},Chosen.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},Chosen.prototype.search_results_mouseup=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c.length?(this.result_highlight=c,this.result_select(b),this.search_field.focus()):void 0},Chosen.prototype.search_results_mouseover=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c?this.result_do_highlight(c):void 0},Chosen.prototype.search_results_mouseout=function(b){return a(b.target).hasClass("active-result")?this.result_clear_highlight():void 0},Chosen.prototype.choice_build=function(b){var c,d,e=this;return c=a("
                          • ",{"class":"search-choice"}).html(""+b.html+""),b.disabled?c.addClass("search-choice-disabled"):(d=a("",{"class":"search-choice-close","data-option-array-index":b.array_index}),d.bind("click.chosen",function(a){return e.choice_destroy_link_click(a)}),c.append(d)),this.search_container.before(c)},Chosen.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),b.stopPropagation(),this.is_disabled?void 0:this.choice_destroy(a(b.target))},Chosen.prototype.choice_destroy=function(a){return this.result_deselect(a[0].getAttribute("data-option-array-index"))?(this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1&&this.results_hide(),a.parents("li").first().remove(),this.search_field_scale()):void 0},Chosen.prototype.results_reset=function(){return this.form_field.options[0].selected=!0,this.selected_option_count=null,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change"),this.active_field?this.results_hide():void 0},Chosen.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},Chosen.prototype.result_select=function(a){var b,c,d;return this.result_highlight?(b=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?b.removeClass("active-result"):(this.result_single_selected&&(this.result_single_selected.removeClass("result-selected"),d=this.result_single_selected[0].getAttribute("data-option-array-index"),this.results_data[d].selected=!1),this.result_single_selected=b),b.addClass("result-selected"),c=this.results_data[b[0].getAttribute("data-option-array-index")],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(c):this.single_set_selected_text(c.text),(a.metaKey||a.ctrlKey)&&this.is_multiple||this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[c.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,this.search_field_scale())):void 0},Chosen.prototype.single_set_selected_text=function(a){return null==a&&(a=this.default_text),a===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").text(a)},Chosen.prototype.result_deselect=function(a){var b;return b=this.results_data[a],this.form_field.options[b.options_index].disabled?!1:(b.selected=!1,this.form_field.options[b.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[b.options_index].value}),this.search_field_scale(),!0)},Chosen.prototype.single_deselect_control_build=function(){return this.allow_single_deselect?(this.selected_item.find("abbr").length||this.selected_item.find("span").first().after(''),this.selected_item.addClass("chosen-single-with-deselect")):void 0},Chosen.prototype.get_search_text=function(){return this.search_field.val()===this.default_text?"":a("
                            ").text(a.trim(this.search_field.val())).html()},Chosen.prototype.winnow_results_set_highlight=function(){var a,b;return b=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),a=b.length?b.first():this.search_results.find(".active-result").first(),null!=a?this.result_do_highlight(a):void 0},Chosen.prototype.no_results=function(b){var c;return c=a('
                          • '+this.results_none_found+' ""
                          • '),c.find("span").first().html(b),this.search_results.append(c)},Chosen.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},Chosen.prototype.keydown_arrow=function(){var a;return this.results_showing&&this.result_highlight?(a=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(a):void 0:this.results_show()},Chosen.prototype.keyup_arrow=function(){var a;return this.results_showing||this.is_multiple?this.result_highlight?(a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},Chosen.prototype.keydown_backstroke=function(){var a;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(a=this.search_container.siblings("li.search-choice").last(),a.length&&!a.hasClass("search-choice-disabled")?(this.pending_backstroke=a,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0)},Chosen.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},Chosen.prototype.keydown_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),8!==b&&this.pending_backstroke&&this.clear_backstroke(),b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:a.preventDefault(),this.keydown_arrow()}},Chosen.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){for(d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"],i=0,j=g.length;j>i;i++)e=g[i],f+=e+":"+this.search_field.css(e)+";";return b=a("
                            ",{style:f}),b.text(this.search_field.val()),a("body").append(b),h=b.width()+25,b.remove(),c=this.container.outerWidth(),h>c-10&&(h=c-10),this.search_field.css({width:h+"px"})}},Chosen}(AbstractChosen)}.call(this); \ No newline at end of file diff --git a/bueno/functions/assets/js/lib/jquery-masked-input.js b/bueno/functions/assets/js/lib/jquery-masked-input.js new file mode 100755 index 0000000..cd54339 --- /dev/null +++ b/bueno/functions/assets/js/lib/jquery-masked-input.js @@ -0,0 +1,338 @@ +/* + Masked Input plugin for jQuery + Copyright (c) 2007-2013 Josh Bush (digitalbush.com) + Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license) + Version: 1.3.1 +*/ +(function($) { + function getPasteEvent() { + var el = document.createElement('input'), + name = 'onpaste'; + el.setAttribute(name, ''); + return (typeof el[name] === 'function')?'paste':'input'; +} + +var pasteEventName = getPasteEvent() + ".mask", + ua = navigator.userAgent, + iPhone = /iphone/i.test(ua), + android=/android/i.test(ua), + caretTimeoutId; + +$.mask = { + //Predefined character definitions + definitions: { + '9': "[0-9]", + 'a': "[A-Za-z]", + '*': "[A-Za-z0-9]" + }, + dataName: "rawMaskFn", + placeholder: '_', +}; + +$.fn.extend({ + //Helper Function for Caret positioning + caret: function(begin, end) { + var range; + + if (this.length === 0 || this.is(":hidden")) { + return; + } + + if (typeof begin == 'number') { + end = (typeof end === 'number') ? end : begin; + return this.each(function() { + if (this.setSelectionRange) { + this.setSelectionRange(begin, end); + } else if (this.createTextRange) { + range = this.createTextRange(); + range.collapse(true); + range.moveEnd('character', end); + range.moveStart('character', begin); + range.select(); + } + }); + } else { + if (this[0].setSelectionRange) { + begin = this[0].selectionStart; + end = this[0].selectionEnd; + } else if (document.selection && document.selection.createRange) { + range = document.selection.createRange(); + begin = 0 - range.duplicate().moveStart('character', -100000); + end = begin + range.text.length; + } + return { begin: begin, end: end }; + } + }, + unmask: function() { + return this.trigger("unmask"); + }, + mask: function(mask, settings) { + var input, + defs, + tests, + partialPosition, + firstNonMaskPos, + len; + + if (!mask && this.length > 0) { + input = $(this[0]); + return input.data($.mask.dataName)(); + } + settings = $.extend({ + placeholder: $.mask.placeholder, // Load default placeholder + completed: null + }, settings); + + + defs = $.mask.definitions; + tests = []; + partialPosition = len = mask.length; + firstNonMaskPos = null; + + $.each(mask.split(""), function(i, c) { + if (c == '?') { + len--; + partialPosition = i; + } else if (defs[c]) { + tests.push(new RegExp(defs[c])); + if (firstNonMaskPos === null) { + firstNonMaskPos = tests.length - 1; + } + } else { + tests.push(null); + } + }); + + return this.trigger("unmask").each(function() { + var input = $(this), + buffer = $.map( + mask.split(""), + function(c, i) { + if (c != '?') { + return defs[c] ? settings.placeholder : c; + } + }), + focusText = input.val(); + + function seekNext(pos) { + while (++pos < len && !tests[pos]); + return pos; + } + + function seekPrev(pos) { + while (--pos >= 0 && !tests[pos]); + return pos; + } + + function shiftL(begin,end) { + var i, + j; + + if (begin<0) { + return; + } + + for (i = begin, j = seekNext(end); i < len; i++) { + if (tests[i]) { + if (j < len && tests[i].test(buffer[j])) { + buffer[i] = buffer[j]; + buffer[j] = settings.placeholder; + } else { + break; + } + + j = seekNext(j); + } + } + writeBuffer(); + input.caret(Math.max(firstNonMaskPos, begin)); + } + + function shiftR(pos) { + var i, + c, + j, + t; + + for (i = pos, c = settings.placeholder; i < len; i++) { + if (tests[i]) { + j = seekNext(i); + t = buffer[i]; + buffer[i] = c; + if (j < len && tests[j].test(t)) { + c = t; + } else { + break; + } + } + } + } + + function keydownEvent(e) { + var k = e.which, + pos, + begin, + end; + + //backspace, delete, and escape get special treatment + if (k === 8 || k === 46 || (iPhone && k === 127)) { + pos = input.caret(); + begin = pos.begin; + end = pos.end; + + if (end - begin === 0) { + begin=k!==46?seekPrev(begin):(end=seekNext(begin-1)); + end=k===46?seekNext(end):end; + } + clearBuffer(begin, end); + shiftL(begin, end - 1); + + e.preventDefault(); + } else if (k == 27) {//escape + input.val(focusText); + input.caret(0, checkVal()); + e.preventDefault(); + } + } + + function keypressEvent(e) { + var k = e.which, + pos = input.caret(), + p, + c, + next; + + if (e.ctrlKey || e.altKey || e.metaKey || k < 32) {//Ignore + return; + } else if (k) { + if (pos.end - pos.begin !== 0){ + clearBuffer(pos.begin, pos.end); + shiftL(pos.begin, pos.end-1); + } + + p = seekNext(pos.begin - 1); + if (p < len) { + c = String.fromCharCode(k); + if (tests[p].test(c)) { + shiftR(p); + + buffer[p] = c; + writeBuffer(); + next = seekNext(p); + + if(android){ + setTimeout($.proxy($.fn.caret,input,next),0); + }else{ + input.caret(next); + } + + if (settings.completed && next >= len) { + settings.completed.call(input); + } + } + } + e.preventDefault(); + } + } + + function clearBuffer(start, end) { + var i; + for (i = start; i < end && i < len; i++) { + if (tests[i]) { + buffer[i] = settings.placeholder; + } + } + } + + function writeBuffer() { input.val(buffer.join('')); } + + function checkVal(allow) { + //try to place characters where they belong + var test = input.val(), + lastMatch = -1, + i, + c; + + for (i = 0, pos = 0; i < len; i++) { + if (tests[i]) { + buffer[i] = settings.placeholder; + while (pos++ < test.length) { + c = test.charAt(pos - 1); + if (tests[i].test(c)) { + buffer[i] = c; + lastMatch = i; + break; + } + } + if (pos > test.length) { + break; + } + } else if (buffer[i] === test.charAt(pos) && i !== partialPosition) { + pos++; + lastMatch = i; + } + } + if (allow) { + writeBuffer(); + } else if (lastMatch + 1 < partialPosition) { + input.val(""); + clearBuffer(0, len); + } else { + writeBuffer(); + input.val(input.val().substring(0, lastMatch + 1)); + } + return (partialPosition ? i : firstNonMaskPos); + } + + input.data($.mask.dataName,function(){ + return $.map(buffer, function(c, i) { + return tests[i]&&c!=settings.placeholder ? c : null; + }).join(''); + }); + + if (!input.attr("readonly")) + input + .one("unmask", function() { + input + .unbind(".mask") + .removeData($.mask.dataName); + }) + .bind("focus.mask", function() { + clearTimeout(caretTimeoutId); + var pos, + moveCaret; + + focusText = input.val(); + pos = checkVal(); + + caretTimeoutId = setTimeout(function(){ + writeBuffer(); + if (pos == mask.length) { + input.caret(0, pos); + } else { + input.caret(pos); + } + }, 10); + }) + .bind("blur.mask", function() { + checkVal(); + if (input.val() != focusText) + input.change(); + }) + .bind("keydown.mask", keydownEvent) + .bind("keypress.mask", keypressEvent) + .bind(pasteEventName, function() { + setTimeout(function() { + var pos=checkVal(true); + input.caret(pos); + if (settings.completed && pos == input.val().length) + settings.completed.call(input); + }, 0); + }); + checkVal(); //Perform initial check for existing values + }); + } +}); + + +})(jQuery); \ No newline at end of file diff --git a/bueno/functions/assets/js/masked-inputs.js b/bueno/functions/assets/js/masked-inputs.js new file mode 100755 index 0000000..86957be --- /dev/null +++ b/bueno/functions/assets/js/masked-inputs.js @@ -0,0 +1,11 @@ +(function ($) { + $(document).ready(function () { + if ( $( 'input.woo-input-masked' ).length ) { + $( 'input.woo-input-masked' ).each ( function ( i ) { + var placeholder = '99:99'; + if ( '' != $( this ).attr( 'data-placeholder' ) ) { placeholder = $( this ).attr( 'data-placeholder' ); } + $( this ).mask( placeholder ); + }); + } + }); +}(jQuery)); \ No newline at end of file diff --git a/bueno/functions/assets/js/range-selectors.js b/bueno/functions/assets/js/range-selectors.js new file mode 100755 index 0000000..56c3b10 --- /dev/null +++ b/bueno/functions/assets/js/range-selectors.js @@ -0,0 +1,34 @@ +jQuery(document).ready( function($) { + jQuery( 'select.range-input' ).each( function () { + // Get the range field's ID value. + var idValue = jQuery( this ).attr( 'id' ); + + if ( idValue ) { + var select = jQuery( this ); + + var selectedValue = select.val(); + + var numberOfOptions = jQuery( this ).find( 'option' ).length; + + var slider = jQuery( '
                            ' ).insertAfter( select ).slider({ + min: 1, + max: parseInt( numberOfOptions ), + range: 'min', + value: select[0].selectedIndex + 1, + slide: function( event, ui ) { + select[0].selectedIndex = ui.value - 1; + jQuery( this ).parents( 'td' ).find( '.slider-value' ).text( select.val() ); + } + }); + + slider.after( '
                            ' + selectedValue + '
                            ' ); + + select.hide(); + + select.change(function() { + slider.slider( "value", this.selectedIndex + 1 ); + jQuery( this ).parents( 'td' ).find( '.slider-value' ).text( jQuery( this ).val() ); + }); + } + }); +}); \ No newline at end of file diff --git a/bueno/functions/assets/js/typography-preview.js b/bueno/functions/assets/js/typography-preview.js new file mode 100755 index 0000000..d1f3601 --- /dev/null +++ b/bueno/functions/assets/js/typography-preview.js @@ -0,0 +1,219 @@ +/** + * WooThemes Typography Live Preview + * 2011-10-07. + * + * @description The code below is designed to generate a live preview using the + * setting specified in a "custom typography" field in the WooFramework. + * + * @since 4.7.0 + */ + +(function ($) { + + wooTypographyPreview = { + + /** + * loadPreviewButtons() + * + * @description Setup a "preview" button next to each typography field. + * @since 4.7.0 + */ + + loadPreviewButtons: function () { + + var previewButtonHTML = '
                            ' + '+' + ''; + + $( 'input.woo-typography-color' ).each( function ( i ) { + $( this ).next( '.button' ).after( previewButtonHTML ); + }); + + // Register event handlers. + wooTypographyPreview.handleEvents(); + + }, // End loadPreviewButtons() + + /** + * handleEvents() + * + * @description Handle the events. + * @since 4.7.0 + */ + + handleEvents: function () { + $(document).on( 'click', 'a.woo-typography-preview-button', function () { + wooTypographyPreview.generatePreview( $( this ) ); + return false; + }); + + $(document).on( 'click', 'a.preview_remove', function () { + wooTypographyPreview.closePreview( $( this ) ); + return false; + }); + }, + + /** + * closePreview() + * + * @description Close the preview. + * @since 4.7.0 + */ + + closePreview: function ( target ) { + target.parents( '.section' ).find( '.woo-typography-preview-button .refresh' ).removeClass( 'refresh' ); + target.parents( '.typography-preview-container' ).remove(); + }, + + /** + * generatePreview() + * + * @description Generate the typography preview. + * @since 4.7.0 + */ + + generatePreview: function ( target ) { + var previewText = 'Grumpy wizards make toxic brew for the evil Queen and Jack.'; + var previewHTML = ''; + var previewStyles = ''; + + // Get the control parent element. + var controls = target.parents( '.wf-field-typography' ); + var explain = target.parents( '.wf-field-typography' ).find( '.description' ); + + var fontUnit = controls.find( '.woo-typography-unit' ).val(); + + var sizeSelector = '.woo-typography-size-px'; + if ( fontUnit == 'em' ) { sizeSelector = '.woo-typography-size-em'; } + + var fontSize = controls.find( sizeSelector ).val(); + + var fontFace = controls.find( '.woo-typography-face' ).val(); + var fontStyle = controls.find( '.woo-typography-style' ).val(); + var fontColor = controls.find( '.woo-typography-color' ).val(); + var lineHeight = ( parseInt( fontSize ) / 2 ) + parseInt( fontSize ); // Calculate pleasant line-height for the selected font size. + + // Fix the line-height if using "em". + if ( fontUnit == 'em' ) { lineHeight = 1; } + + // Generate array of non-Google fonts. + var nonGoogleFonts = new Array( + 'Arial, sans-serif', + 'Verdana, Geneva, sans-serif', + '"Trebuchet MS", Tahoma, sans-serif', + 'Georgia, serif', + '"Times New Roman", serif', + 'Tahoma, Geneva, Verdana, sans-serif', + 'Palatino, "Palatino Linotype", serif', + '"Helvetica Neue", Helvetica, sans-serif', + 'Calibri, Candara, Segoe, Optima, sans-serif', + '"Myriad Pro", Myriad, sans-serif', + '"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif', + '"Arial Black", sans-serif', + '"Gill Sans", "Gill Sans MT", Calibri, sans-serif', + 'Geneva, Tahoma, Verdana, sans-serif', + 'Impact, Charcoal, sans-serif', + 'Courier, "Courier New", monospace' + ); + + // Remove "current" class from previously modified typography field. + $( '.typography-preview' ).removeClass( 'current' ); + + // Prepare selected fontFace for testing. + var fontFaceTest = fontFace.replace( /"/g, '"' ); + + // Load Google WebFonts, if we need to. + if ( jQuery.inArray( fontFaceTest, nonGoogleFonts ) == -1 ) { // -1 is returned if the item is not found in the array. + + // Prepare fontFace for use in the WebFont loader. + var fontFaceString = fontFace; + + // Handle fonts that require specific weights when being included. + switch ( fontFaceString ) { + case 'Allan': + case 'Cabin Sketch': + case 'Corben': + case 'UnifrakturCook': + fontFaceString += ':700'; + break; + + case 'Buda': + case 'Open Sans Condensed': + fontFaceString += ':300'; + break; + + case 'Coda': + case 'Sniglet': + fontFaceString += ':800'; + break; + + case 'Raleway': + fontFaceString += ':100'; + break; + } + + + fontFaceString += '::latin'; + fontFaceString = fontFaceString.replace( / /g, '+' ); + + // Add the fontFace in quotes for use in the style declaration, if the selected font has a number in it. + var specificFonts = new Array( 'Goudy Bookletter 1911' ); + + if ( jQuery.inArray( fontFace, specificFonts ) > -1 || ! jQuery.inArray( fontFace, nonGoogleFonts ) > -1 ) { + var fontFace = "'" + fontFace + "'"; + } + + WebFontConfig = { + google: { families: [ fontFaceString ] } + }; + + if ( $( 'script.google-webfonts-script' ).length ) { $( 'script.google-webfonts-script' ).remove(); } + + (function() { + var wf = document.createElement( 'script' ); + wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; + wf.type = 'text/javascript'; + wf.async = 'true'; + var s = document.getElementsByTagName( 'script' )[0]; + s.parentNode.insertBefore( wf, s ); + + $( wf ).addClass( 'google-webfonts-script' ); + + })(); + + } + + // Construct styles. + previewStyles += 'font: ' + fontStyle + ' ' + fontSize + fontUnit + '/' + lineHeight + fontUnit + ' ' + fontFace + ';'; + if ( fontColor ) { previewStyles += ' color: ' + fontColor + ';'; } + + // Construct preview HTML. + var previewHTMLInner = jQuery( '
                            ' ).addClass( 'current' ).addClass( 'typography-preview' ).html( previewText ); + + previewHTML = jQuery( '
                            ' ).addClass( 'typography-preview-container' ).html( '' + 'Close Preview' + '' ); + previewHTML.find( '.preview_remove' ).before( previewHTMLInner ); + + // If no preview display is present, add one. + if ( ! explain.next( '.typography-preview-container' ).length ) { + previewHTML.find( '.typography-preview' ).attr( 'style', previewStyles ); + explain.after( previewHTML ); + } else { + // Otherwise, just update the styles of the existing preview. + explain.next( '.typography-preview-container' ).find( '.typography-preview' ).attr( 'style', previewStyles ); + } + + // Set the button to "refresh" mode. + controls.find( '.woo-typography-preview-button span' ).addClass( 'refresh' ); + } + + + }; // End wooTypographyPreview Object // Don't remove this, or the sky will fall on your head. + +/*-----------------------------------------------------------------------------------*/ +/* Execute the above methods in the wooTypographyPreview object. +/*-----------------------------------------------------------------------------------*/ + +$(document).ready(function () { + wooTypographyPreview.loadPreviewButtons(); +}); + +})(jQuery); diff --git a/bueno/functions/assets/js/typography.js b/bueno/functions/assets/js/typography.js new file mode 100755 index 0000000..b2cd961 --- /dev/null +++ b/bueno/functions/assets/js/typography.js @@ -0,0 +1,30 @@ +(function ($) { + $(document).ready(function () { + /* Remove the 'style' attribute from all '.chosen-container' select fields, to give more control over their widths. We need to specify the width to prevent hidden 'Chosen' fields from having a 0 width. */ + $( '.wf-field .chosen-container' ).removeAttr( 'style' ); + + $( '.wf-field-typography .woo-typography-unit' ).on( 'change', function () { + var $el, classes_string, classes, selected_unit; + + $el = $( this ).parent( '.unit-container' ); // The wrapping 'span' tag. + + /* Detect all the classes and remove any that aren't "unit-container". */ + classes_string = $el.attr( 'class' ); + if ( undefined !== classes_string ) { + classes = classes_string.split( ' ' ); + $( classes ).each( function ( i ) { + if ( 'unit-container' !== classes[i] ) { + $el.removeClass( classes[i] ); + } + }); + } + + /* Apply a new class with the selected value. */ + selected_unit = $( this ).find( 'option:selected' ).val(); + + if ( undefined !== selected_unit ) { + $el.addClass( 'unit-' + selected_unit ); + } + }); + }); +}(jQuery)); \ No newline at end of file diff --git a/bueno/functions/assets/js/uploaders.js b/bueno/functions/assets/js/uploaders.js new file mode 100755 index 0000000..d68df38 --- /dev/null +++ b/bueno/functions/assets/js/uploaders.js @@ -0,0 +1,86 @@ +(function($) { + $(document).ready(function() { + var frame, attachment, container, imagePreviewHTML, file_id_field, file_path_field, image_preview; + + /* Remove the image preview, URL and ID when we empty the URL field. */ + $( '.upload-field .input-upload' ).on( 'blur', function ( e ) { + var $el = $( this ); + + container = $el.parent( '.upload-field' ); + + file_id_field = container.find( '.input-upload-id' ); + image_preview = $el.parents( '.wf-field-upload' ).find( '.image-preview' ); + + if ( '' === $el.val() ) { + file_id_field.attr( 'value', '' ); + image_preview.removeClass( 'has-image' ).addClass( 'no-image' ); + image_preview.find( 'img' ).attr( 'src', '' ); + } + + return false; + } ); + + /* Remove the image preview, URL and ID when we click the "Remove" link. */ + $( '.wf-field-upload .remove, .wf-field-upload-min .remove' ).on( 'click', function ( e ) { + var $el = $( this ); + + container = $el.parents( 'td' ).find( '.upload-field' ); // We use td instead of a CSS class to cater for both wf-field-upload and wf-field-upload-min. + + file_path_field = container.find( '.input-upload' ); + file_id_field = container.find( '.input-upload-id' ); + image_preview = $el.parents( '.wf-field-upload' ).find( '.image-preview' ); + + file_path_field.attr( 'value', '' ); + file_id_field.attr( 'value', '' ); + image_preview.removeClass( 'has-image' ).addClass( 'no-image' ); + image_preview.find( 'img' ).attr( 'src', '' ); + + return false; + } ); + + $( '.upload-field a.button' ).on( 'click', function( e ) { + var $el = $( this ); + + container = $el.parent( '.upload-field' ); + + e.preventDefault(); + + file_path_field = container.find( '.input-upload' ); + file_id_field = container.find( '.input-upload-id' ); + + // If the media frame already exists, reopen it. + if ( frame ) { + frame.open(); + return; + } + + frame = wp.media({ + title: $el.data( 'uploader-title' ), + button: { + text: $el.data( 'uploader-button-text' ), + }, + multiple: false, // Set to true to allow multiple files to be selected + library: { + type: 'image' + } + }); + + // When an image is selected, run a callback. + frame.on( 'select', function() { + // We set multiple to false so only get one image from the uploader + var attachment = frame.state().get('selection').first().toJSON(); + + // Do something with attachment.id and/or attachment.url here + $( file_path_field ).val( attachment.url ); + $( file_id_field ).val( attachment.id ); + + // Small preview of the image + image_preview = container.parent( '.wf-field' ).find( '.image-preview' ); + image_preview.removeClass( 'no-image' ).addClass( 'has-image' ).find( 'img' ).attr( 'src', attachment.url ); + }); + + // Finally, open the modal + frame.open(); + }); + }); +})(jQuery); \ No newline at end of file diff --git a/bueno/functions/classes/class-wf-backup.php b/bueno/functions/classes/class-wf-backup.php new file mode 100755 index 0000000..618a33f --- /dev/null +++ b/bueno/functions/classes/class-wf-backup.php @@ -0,0 +1,469 @@ +_admin_page = ''; + $this->_token = 'woothemes-backup'; + + add_action( 'admin_menu', array( $this, 'register_admin_screen' ), 50 ); + } // End __construct() + + /** + * Register the admin screen within WordPress. + * @access public + * @since 6.0.0 + * @return void + */ + public function register_admin_screen () { + $this->_admin_page = add_submenu_page( 'woothemes', __( 'WooThemes Settings Backup', 'woothemes' ), __( 'Backup Settings', 'woothemes' ), 'manage_options', $this->_token, array( $this, 'admin_screen' ) ); + // Admin screen logic. + add_action( 'load-' . $this->_admin_page, array( $this, 'admin_screen_logic' ) ); + // Add admin notices to the backups screen. + add_action( 'admin_notices', array( $this, 'admin_notices' ), 10 ); + } // End register_admin_screen() + + /** + * Load the admin screen. + * @access public + * @since 6.0.0 + * @return void + */ + public function admin_screen () { + $export_type = 'all'; + + if ( isset( $_POST['export-type'] ) && in_array( $_POST['export-type'], array( 'theme', 'framework' ) ) ) { + $export_type = esc_attr( $_POST['export-type'] ); + } +?> + +

                            +

                            + +

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

                            + +
                            +

                            + +

                            +
                            +
                            + +

                            + +

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


                            + +
                            +
                            +
                            +
                            + +

                            + + +

                            + +
                            + +_token ) ) { return; } + + echo '

                            ' . sprintf( __( 'Please note that this backup manager backs up only your settings and not your content. To backup your content, please use the %sWordPress Export Tool%s.', 'woothemes' ), '', '' ) . '

                            ' . "\n"; + + if ( isset( $_GET['error'] ) && $_GET['error'] == 'true' ) { + echo '

                            ' . __( 'There was a problem importing your settings. Please try again.', 'woothemes' ) . '

                            '; + } else if ( isset( $_GET['error-export'] ) && $_GET['error-export'] == 'true' ) { + echo '

                            ' . __( 'There was a problem exporting your settings. Please try again.', 'woothemes' ) . '

                            '; + } else if ( isset( $_GET['invalid'] ) && $_GET['invalid'] == 'true' ) { + echo '

                            ' . __( 'The import file you\'ve provided is invalid. Please try again.', 'woothemes' ) . '

                            '; + } else if ( isset( $_GET['imported'] ) && $_GET['imported'] == 'true' ) { + echo '

                            ' . sprintf( __( 'Settings successfully imported. | Return to %sTheme Options%s', 'woothemes' ), '', '' ) . '

                            '; + } + } // End admin_notices() + + /** + * The processing code to generate the backup or restore from a previous backup. + * @access public + * @since 6.0.0 + * @return void + */ + public function admin_screen_logic () { + if ( ! isset( $_POST['woothemes-backup-export'] ) && isset( $_POST['woothemes-backup-import'] ) && ( $_POST['woothemes-backup-import'] == true ) ) { + $this->import(); + } + + if ( ! isset( $_POST['woothemes-backup-import'] ) && isset( $_POST['woothemes-backup-export'] ) && ( $_POST['woothemes-backup-export'] == true ) ) { + $this->export(); + } + } // End admin_screen_logic() + + /** + * Import settings from a backup file. + * @access private + * @since 6.0.0 + * @return void + */ + private function import() { + check_admin_referer( 'woothemes-backup-import' ); // Security check. + + if ( ! isset( $_FILES['woothemes-import-file'] ) ) { return; } // We can't import the settings without a settings file. + + // Extract file contents + $upload = file_get_contents( $_FILES['woothemes-import-file']['tmp_name'] ); + + // Decode the JSON from the uploaded file + $options = json_decode( $upload, true ); + + // Check for errors + if ( ! $options || $_FILES['woothemes-import-file']['error'] ) { + wp_redirect( admin_url( 'admin.php?page=' . $this->_token . '&error=true' ) ); + exit; + } + + // Make sure this is a valid backup file. + if ( ! isset( $options['woothemes-backup-validator'] ) ) { + wp_redirect( admin_url( 'admin.php?page=' . $this->_token . '&invalid=true' ) ); + exit; + } else { + unset( $options['woothemes-backup-validator'] ); // Now that we've checked it, we don't need the field anymore. + } + + // Make sure the options are saved to the global options collection as well. + $woo_options = get_option( 'woo_options' ); + + $has_updated = false; // If this is set to true at any stage, we update the main options collection. + + // Cycle through data, import settings + foreach ( (array)$options as $key => $settings ) { + $settings = maybe_unserialize( $settings ); // Unserialize serialized data before inserting it back into the database. + + // We can run checks using get_option(), as the options are all cached. See wp-includes/functions.php for more information. + if ( get_option( $key ) != $settings ) { + update_option( $key, $settings ); + } + + if ( is_array( $woo_options ) ) { + if ( isset( $woo_options[$key] ) && $woo_options[$key] != $settings ) { + $woo_options[$key] = $settings; + $has_updated = true; + } + } + } + + if ( $has_updated == true ) { + update_option( 'woo_options', $woo_options ); + } + + // Redirect, add success flag to the URI + wp_redirect( admin_url( 'admin.php?page=' . $this->_token . '&imported=true' ) ); + exit; + } // End import() + + /** + * Export settings to a backup file. + * @access private + * @since 6.0.0 + * @uses $wpdb WordPress database object. + * @return void + */ + private function export() { + global $wpdb; + check_admin_referer( 'woothemes-backup-export' ); // Security check. + + $export_options = array( 'all', 'theme', 'framework' ); + + if ( ! in_array( strip_tags( $_POST['export-type'] ), $export_options ) ) { return; } // No invalid exports, please. + + $export_type = esc_attr( strip_tags( $_POST['export-type'] ) ); + + $settings = array(); + + $query = $this->construct_database_query( $export_type ); + + // Error trapping for the export. + if ( $query == '' ) { + wp_redirect( admin_url( 'admin.php?page=' . $this->_token . '&error-export=true' ) ); + return; + } + + // If we get to this stage, all is safe so run the query. + $results = $wpdb->get_results( $query ); + + foreach ( $results as $result ) { + $settings[$result->option_name] = $result->option_value; + } + + // Remove the "blogname" and "blogdescription" fields + unset( $settings['blogname'] ); + unset( $settings['blogdescription'] ); + + if ( ! $settings ) { return; } + + // Add our custom marker, to ensure only valid files are imported successfully. + $settings['woothemes-backup-validator'] = date( 'Y-m-d h:i:s' ); + + // Generate the export file. + $output = json_encode( (array)$settings ); + + header( 'Content-Description: File Transfer' ); + header( 'Cache-Control: public, must-revalidate' ); + header( 'Pragma: hack' ); + header( 'Content-Type: text/plain' ); + header( 'Content-Disposition: attachment; filename="' . $this->_token . '-' . date( 'Ymd-His' ) . '.json"' ); + header( 'Content-Length: ' . strlen( $output ) ); + echo $output; + exit; + } // End export() + + /** + * Loop through an array of options and add them to the MySQL SELECT query string. + * @access private + * @since 6.0.0 + * @param $options array + * @param $count int + * @return $query array ( string, count ) + */ + private function add_to_export_query ( $options, $count ) { + $query = array(); + $query_inner = ''; + + foreach( $options as $option ) { + if( isset( $option['id'] ) ) { + $count++; + $option_id = $option['id']; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + if( $count > 1 ) { $query_inner .= ' OR '; } + $query_inner .= "option_name = '$option_id'"; + + // Width/Height-type fields + if ( is_array( $option['type'] ) ) { + foreach ( $option['type'] as $o ) { + if( $count > 1 ){ $query_inner .= ' OR '; } + if ( isset( $o['id'] ) ) { + $option_id = $o['id']; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + $query_inner .= "option_name = '$option_id'"; + } + } + } + + // Multicheck fields + if ( ! is_array( $option['type'] ) && $option['type'] == 'multicheck' ) { + foreach ( $option['options'] as $k => $v ) { + if( $count > 1 ){ $query_inner .= ' OR '; } + if ( ! is_numeric( $k ) ) { + $option_id = $option['id'] . '_' . $k; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + $query_inner .= "option_name = '$option_id'"; + } + } + } + } + } + + $query['string'] = $query_inner; + $query['count'] = $count; + + return $query; + } // End add_to_export_query() + + /** + * Add a single item to the MySQL SELECT query string. + * @access private + * @since 6.0.0 + * @param $option_id string + * @param $count int + * @return $query array ( string, count ) + */ + private function add_single_to_export_query ( $option_id, $count ) { + $query = array(); + $query_inner = ''; + + $option_id = esc_attr( $option_id ); + $option_id = sanitize_title( $option_id ); + + if( $count > 1 ) { $query_inner .= ' OR '; } + $query_inner .= "option_name = '$option_id'"; + + $query['string'] = $query_inner; + $query['count'] = $count; + + return $query; + } // End add_single_to_export_query() + + /** + * Constructs the database query based on the export type. + * @access private + * @since 6.0.0 + * @param $export_type string + * @uses global $wpdb + * @return string Constructed query. + */ + public function construct_database_query ( $export_type ) { + global $wpdb; + + $query = ''; + $query_inner = ''; + $count = 0; + + // Begin populating settings to be exported. + switch ( $export_type ) { + // All Settings + case 'all': + // Theme Options + $options = get_option( 'woo_template' ); + + if ( is_array( $options ) ) { + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + + // Framework Settings + $options = get_option( 'woo_framework_template' ); + + if ( is_array( $options ) ) { + // Remove the "framework_woo_export_options" and "framework_woo_import_options" items before constructing the query. + foreach ( (array) $options as $k => $v ) { + if ( isset( $options[$k]['id'] ) && in_array( $options[$k]['id'], array( 'framework_woo_import_options', 'framework_woo_export_options' ) ) ) { + unset( $options[$k] ); + } + } + + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + break; + + // Theme Options + case 'theme': + $options = get_option( 'woo_template' ); + + if ( is_array( $options ) ) { + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + break; + + // Framework Settings + case 'framework': + $options = get_option( 'woo_framework_template' ); + + if ( is_array( $options ) ) { + // Remove the "framework_woo_export_options" and "framework_woo_import_options" items before constructing the query. + foreach ( (array) $options as $k => $v ) { + if ( isset( $options[$k]['id'] ) && in_array( $options[$k]['id'], array( 'framework_woo_import_options', 'framework_woo_export_options' ) ) ) { + unset( $options[$k] ); + } + } + + $query = $this->add_to_export_query( $options, $count ); + + $query_inner .= $query['string']; + $count = $query['count']; + } + break; + } + + // Allow child themes/plugins to add their own data to the exporter. + $query_inner = (string)apply_filters( 'wooframework_export_query_inner', $query_inner ); + + if ( $query_inner != '' ) { + $query = 'SELECT option_name, option_value FROM ' . $wpdb->options . ' WHERE ' . $query_inner; + } + + return $query; + } // End construct_database_query() +} // End Class +?> \ No newline at end of file diff --git a/bueno/functions/classes/class-wf-fields-meta.php b/bueno/functions/classes/class-wf-fields-meta.php new file mode 100755 index 0000000..d492ecf --- /dev/null +++ b/bueno/functions/classes/class-wf-fields-meta.php @@ -0,0 +1,45 @@ += $post_id && isset( $_GET['post'] ) ) { + $id = intval( $_GET['post'] ); + } + + $response = false; + + if ( true == (bool)apply_filters( 'wf_meta_use_underscore_prefix', false ) ) { + $key = '_' . $key; + } + + $response = get_post_meta( $id, $key, true ); + + return $response; + } // End get_value() +} // End Class +?> \ No newline at end of file diff --git a/bueno/functions/classes/class-wf-fields-settings.php b/bueno/functions/classes/class-wf-fields-settings.php new file mode 100755 index 0000000..e0bf21e --- /dev/null +++ b/bueno/functions/classes/class-wf-fields-settings.php @@ -0,0 +1,133 @@ +_has_tabs = false; + + $this->_tabs = array(); + + // This must be present if using fields that require Javascript or styling. + add_action( 'admin_footer', array( $this, 'maybe_enqueue_field_assets' ) ); + } // End __construct() + + /** + * Validate the given data, assuming it is from a textarea field. + * @access public + * @since 6.0.0 + * @return void + */ + public function validate_field_textarea ( $v, $k ) { + // Allow iframe, object and embed tags in textarea fields. + $allowed = wp_kses_allowed_html( 'post' ); + $allowed['iframe'] = array( 'src' => true, 'width' => true, 'height' => true, 'id' => true, 'class' => true, 'name' => true ); + $allowed['object'] = array( 'src' => true, 'width' => true, 'height' => true, 'id' => true, 'class' => true, 'name' => true ); + $allowed['embed'] = array( 'src' => true, 'width' => true, 'height' => true, 'id' => true, 'class' => true, 'name' => true ); + + // Allow script tags in the Google Analytics field. + if ( is_array( $k ) && isset( $k['id'] ) && in_array( $k['id'], $this->get_script_supported_fields() ) ) { + $allowed['script'] = array( 'type' => true, 'id' => true, 'class' => true ); + } + + return wp_kses( $v, $allowed ); + } // End validate_field_textarea() + + /** + * Return an array of fields which are allowed to support + + + +
                            + +

                            + + +

                            + +

                            + +

                            + +

                            /functions/' ); ?>

                            + +

                            ', '' ); ?>

                            + +

                            Remember: Every Ninja has a backup plan. Safe or not, always backup your theme before you update it or make changes to it.', 'woothemes' ); ?>

                            + + + +

                            + +

                            + +

                            WooThemes Gallery and get one.', 'woothemes' ); ?>

                            + + + +
                            +
                            + + + + +
                            + + \ No newline at end of file diff --git a/bueno/functions/js/shortcode-generator/editor_plugin.js b/bueno/functions/js/shortcode-generator/editor_plugin.js new file mode 100755 index 0000000..5465cf4 --- /dev/null +++ b/bueno/functions/js/shortcode-generator/editor_plugin.js @@ -0,0 +1,140 @@ +( + function(){ + var icon_url = ''; + + tinymce.create( + 'tinymce.plugins.WooThemesShortcodes', + { + init: function(d,e) { + d.addCommand( 'wooVisitWooThemes', function() { window.open( 'http://woothemes.com/' ) } ); + + d.addCommand( 'wooOpenDialog', function( a, c ) { + // Grab the selected text from the content editor. + selectedText = ''; + + if ( d.selection.getContent().length > 0 ) { + selectedText = d.selection.getContent(); + } + + wooSelectedShortcodeType = c.identifier; + wooSelectedShortcodeTitle = c.title; + + //jQuery( '#woo-dialog' ).html( '', function( b ) { + + jQuery( '#woo-options' ).addClass( 'shortcode-' + wooSelectedShortcodeType ); + + // Skip the popup on certain shortcodes. + + switch ( wooSelectedShortcodeType ) { + // Highlight + case 'highlight': + + var a = '[highlight]'+selectedText+'[/highlight]'; + + tinyMCE.activeEditor.execCommand( "mceInsertContent", false, a); + + break; + + // Dropcap + case 'dropcap': + + var a = '[dropcap]'+selectedText+'[/dropcap]'; + + tinyMCE.activeEditor.execCommand( "mceInsertContent", false, a); + + break; + + default: + + wooDialogHelper.loadShortcodeDetails(); + wooDialogHelper.setupShortcodeType( wooSelectedShortcodeType ); + + /*jQuery( "#woo-dialog").hide(); + jQuery( 'body' ).append(b); + jQuery( "#woo-dialog").hide();*/ + var f=jQuery(window).width(); + b=jQuery(window).height(); + f=7200 ) } ) // Disables the button if text is highlighted in the editor. + }, + + createControl:function( d, e ) { + if( d == 'woothemes_shortcodes_button' ) { + + d = e.createMenuButton( 'woothemes_shortcodes_button', { + title: 'Insert WooThemes Shortcode', + image: icon_url, + icons: false + }); + + var a = this; d.onRenderMenu.add( function( c, b ) { + + a.addWithDialog(b,"Button","button" ); + a.addWithDialog(b,"Icon Link","ilink" );b.addSeparator(); + a.addWithDialog(b,"Info Box","box" ); + c=b.addMenu({title:"Typography"}); + a.addWithDialog(c,"Dropcap","dropcap" ); + a.addWithDialog(c,"Quote","quote" ); + a.addWithDialog(c,"Highlight","highlight" ); + a.addWithDialog(c,"Custom Typography","typography" ); + a.addWithDialog(c,"Abbreviation","abbr" ); + a.addWithDialog(b,"Content Toggle","toggle" ); + a.addWithDialog(b,"Related Posts","related" ); + a.addWithDialog(b,"Contact Form","contactform" ); + b.addSeparator(); + a.addWithDialog(b,"Column Layout","column" ); + a.addWithDialog(b,"Tab Layout","tab" ); + b.addSeparator(); + c=b.addMenu({title:"List Generator"}); + a.addWithDialog(c,"Unordered List","unordered_list" ); + a.addWithDialog(c,"Ordered List","ordered_list" ); + c=b.addMenu({title:"Dividers"}); + a.addImmediate(c,"Horizontal Rule","[hr] " ); + a.addImmediate(c,"Divider","[divider] " ); + a.addImmediate(c,"Flat Divider","[divider_flat] " ); + c=b.addMenu({title:"Social Buttons"}); + a.addWithDialog(c,"Social Profile Icon","social_icon" ); + c.addSeparator(); + a.addWithDialog(c,"Twitter","twitter" ); + a.addWithDialog(c,"Twitter Follow Button","twitter_follow" ); + a.addWithDialog(c,"Tweetmeme","tweetmeme" ); + a.addWithDialog(c,"Digg","digg" ); + a.addWithDialog(c,"Like on Facebook","fblike" ); + a.addWithDialog(c,"Share on Facebook","fbshare" ); + a.addWithDialog(c,"Share on LinkedIn","linkedin_share" ); + a.addWithDialog(c,"Google +1 Button","google_plusone" ); + a.addWithDialog(c,"StumbleUpon Badge","stumbleupon" ); + a.addWithDialog(c,"Pinterest Pin It Button","pinterest" ); + /*b.add({title:"Visit WooThemes.com","class":"woo-woolink",onclick:function(){tinyMCE.activeEditor.execCommand( "wooVisitWooThemes",false,"")}})*/ }); + return d + } + + return null + }, + + addImmediate:function(d,e,a){d.add({title:e,onclick:function(){tinyMCE.activeEditor.execCommand( "mceInsertContent",false,a)}})}, + + addWithDialog:function(d,e,a){d.add({title:e,onclick:function(){tinyMCE.activeEditor.execCommand( "wooOpenDialog",false,{title:e,identifier:a})}})}, + + getInfo:function(){ return{longname:"WooThemes Shortcode Generator",author:"VisualShortcodes.com",authorurl:"http://visualshortcodes.com",infourl:"http://visualshortcodes.com/shortcode-ninja",version:"1.0"} } + } + ); + + tinymce.PluginManager.add( "WooThemesShortcodes",tinymce.plugins.WooThemesShortcodes) + } +)(); \ No newline at end of file diff --git a/bueno/functions/js/shortcode-generator/editor_plugin_39.js b/bueno/functions/js/shortcode-generator/editor_plugin_39.js new file mode 100755 index 0000000..e77e4b3 --- /dev/null +++ b/bueno/functions/js/shortcode-generator/editor_plugin_39.js @@ -0,0 +1,86 @@ +( function() { + // TinyMCE plugin start. + tinymce.PluginManager.add( 'WooThemesShortcodes', function( editor, url ) { + // Register a command to open the dialog. + editor.addCommand( 'woo_open_dialog', function( ui, v ) { + wooSelectedShortcodeType = v; + selectedText = editor.selection.getContent({format: 'text'}); + wooDialogHelper.loadShortcodeDetails(); + wooDialogHelper.setupShortcodeType( v ); + + jQuery( '#woo-options' ).addClass( 'shortcode-' + v ); + + var f=jQuery(window).width(); + b=jQuery(window).height(); + f=720").attr( "id", "woo-column-select").addClass(f ? f : "" ); + var a = jQuery( "").attr( "value", "select").attr( "selected", "selected").text( "Number of columns..." ); + a.appendTo(this.selectControl); + for (var b = 2; b <= this.maxColumns; b++) { + a = jQuery( "").attr( "value", b).text(b + " columns" ); + a.appendTo(this.selectControl) + } + this.selectControl.change(function (c) { + (c = d.getTotalColumns()) && d.buildColumnButtons(c) + + // Update the text in the appropriate span tag. + var newText = jQuery(this).children( 'option:selected').text(); + + jQuery(this).parents( '.select_wrapper').find( 'span').text( newText ); + }); + this.parentControl.append(this.selectControl) + }; + this.buildTextControl = function () { + var a = jQuery( "
                            ").attr( "style", "position: relative;margin-top: 5px; width: " + this.width + "px;" ); + a.appendTo(this.parentControl); + this.textControl = jQuery( "
                             
                            ").attr( "id", "woo-column-text").attr( "style", "width: " + (this.width - 50) + "px" ); + a.append(this.textControl); + var b = jQuery( "").attr( "type", "button").attr( "style", "width: 40px;position:absolute;right: 0px;bottom: -2px;font-size: 22px; border:none;background:none;").attr( "value", "\u232b" ); + a.append(b); + b.click(function () { + d.deleteColumnButtonClicked() + }) + }; + this.buildColumnButtons = function (a) { + if (this.buttonsControl) { + this.buttonsControl.html( "" ); + this.textControl.html( " ") + } else { + this.buttonsControl = jQuery( "
                            ").attr( "id", "woo-column-buttons" ); + this.parentControl.append(this.buttonsControl); + jQuery( '
                            ').appendTo(this.parentControl) + } + for (var b = 1; b < a; b++) { + var c = jQuery( "").attr( "type", "button").attr( "value", b + "/" + a).attr( "name", b).attr( "style", "width:" + Math.floor(this.width * (b / a)) + "px").addClass( "column-button").addClass( "rounded5p" ); + c.click(function (e) { + d.columnButtonClicked(e) + }); + this.buttonsControl.append(c) + } + }; + this.deleteColumnButtonClicked = function () { + var a = jQuery.trim(this.textControl.text()), + b = a.lastIndexOf( "|" ); + a = b != -1 ? jQuery.trim(a.substring(0, b)) : " "; + this.textControl.html(a); + this.updateColumnButtonsState() + }; + this.columnButtonClicked = function (a) { + var b = Number(a.target.name); + if (b) { + a = ""; + for (var c = 0; c < b; c++) a += "x"; + b = jQuery.trim(this.textControl.text()); + if (b.length > 0) a = " | " + a; + this.textControl.text(b + a); + this.updateColumnButtonsState() + } + }; + this.updateColumnButtonsState = function () { + var a = this.getTotalColumns(); + if (a) { + var b = this.countCurrentColumns(), + c = a - b; + this.buttonsControl.find( "input").each(function (e, g) { + e >= c ? jQuery(g).attr( "disabled", "disabled") : jQuery(g).removeAttr( "disabled") + }) + } + }; + this.countCurrentColumns = function () { + for (var a = this.textControl.text(), b = 0, c = 0; c < a.length; c++) a.charAt(c) == "x" && b++; + return b + }; + this.init() +}; \ No newline at end of file diff --git a/bueno/functions/js/shortcode-generator/js/dialog-js.php b/bueno/functions/js/shortcode-generator/js/dialog-js.php new file mode 100755 index 0000000..e2b2c91 --- /dev/null +++ b/bueno/functions/js/shortcode-generator/js/dialog-js.php @@ -0,0 +1,672 @@ + $v ) { + $fonts_whitelist[$k] = str_replace( '|', '\"', $v ); + } + + $fonts = join( '|', $fonts_whitelist ); +?> + +var framework_url = ''; + +var shortcode_generator_path = ''; +var shortcode_generator_url = '' + 'js/shortcode-generator/'; + +var wooDialogHelper = { + wooSelectedShortcodeType: '', + needsPreview: false, + setUpButtons: function () { + var a = this; + jQuery( "#woo-btn-cancel").click(function () { + a.closeDialog() + }); + jQuery( "#woo-btn-insert").click(function () { + a.insertAction() + }); + }, + + setupShortcodeType: function ( shortcode ) { + wooSelectedShortcodeType = shortcode; + }, + + setUpColourPicker: function () { + var startingColour = '000000'; + + jQuery( '.woo-marker-colourpicker-control div.colorSelector').each ( function () { + + var colourPicker = jQuery(this).ColorPicker({ + + color: startingColour, + onShow: function (colpkr) { + jQuery(colpkr).fadeIn(500); + return false; + }, + onHide: function (colpkr) { + jQuery(colpkr).fadeOut(500); + return false; + }, + onChange: function (hsb, hex, rgb) { + jQuery(colourPicker).children( 'div').css( 'backgroundColor', '#' + hex); + jQuery(colourPicker).next( 'input').attr( 'value','#' + hex); + } + + }); + + // jQuery(colourPicker).children( 'div').css( 'backgroundColor', '#' + startingColour); + // jQuery(colourPicker).next( 'input').attr( 'value','#' + startingColour); + + + }); + + jQuery( '.colorpicker').css( 'position', 'absolute').css( 'z-index', '100100' ); + }, + + loadShortcodeDetails: function () { + if (wooSelectedShortcodeType) { + + var a = this; + jQuery.getScript(shortcode_generator_url + "shortcodes/" + wooSelectedShortcodeType + ".js", function () { + a.initializeDialog(); + + // Set the default content to the highlighted text, for certain shortcode types. + switch ( wooSelectedShortcodeType ) { + case 'box': + case 'ilink': + case 'quote': + case 'button': + case 'abbr': + case 'unordered_list': + case 'ordered_list': + case 'typography': + jQuery( 'input#woo-value-content').val( selectedText ); + case 'toggle': + jQuery( 'textarea#woo-value-content').val( selectedText ); + break; + } + }) + + } + + }, + initializeDialog: function () { + // Clean out the table rows before applying the new ones. + jQuery( '#woo-options-table' ).html( '' ); + if (typeof wooShortcodeMeta == "undefined") { + jQuery( '#woo-options' ).append( "

                            Error loading details for shortcode: " + wooSelectedShortcodeType + "

                            " ); + } else { + if (wooShortcodeMeta.disablePreview) { + jQuery( '#woo-preview' ).remove(); + jQuery( '#woo-btn-preview' ).remove() + } + var a = wooShortcodeMeta.attributes, + b = jQuery( '#woo-options-table' ); + + // Clean out the table rows before applying the new ones. + b.html( '' ); + + for (var c in a) { + var f = "woo-value-" + a[c].id, + d = a[c].isRequired ? "woo-required" : "", + g = jQuery( '' ); + + var requiredSpan = ''; + + if (a[c].isRequired) { + + requiredSpan = '*'; + + } // End IF Statement + jQuery( "
                            + + \ No newline at end of file diff --git a/bueno/psd/bueno-psd.zip b/bueno/psd/bueno-psd.zip new file mode 100644 index 0000000000000000000000000000000000000000..8d478a2b746a790875c22dded74af4b16b2bf0b1 GIT binary patch literal 1874978 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

                            +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

                            *j5^D|WZfHXJH0ombnxsmW8vl;QDR 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ⅅ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νRK!C}vZ)JXwf1c`RvX9`7ylK&n7=8F_`HVVj@NP(o zTU*s|%7}hT8FPS!nL5UHcZ82Cj(M_zQLTYwSep5s0cM(*e~s5@!j;E;A8PrM@C?<5 zUsDGH0N}$`PO){LxD_#^h}c+x1VmZl0A$ZF1(84knJ;;JzvN{BvZr7f;y|sQJ={>V z_Nu3dIEo6b3a6fkc&F!&E86@1iBGY{bAH5Td5XPPtx9~9H-%B5aK*D4R~daC}Rw8GB`__H<0BNMc6 zy&Wb4pXFHh{}FSRSw4W{`#yu8KtITC7X-lV@zHFzho zv0b9MqZzAysGZO)=Ldjkz-I8FeuX|xMi?RuP_hHq2A&KR~ z4yx{;>#8u#Jd`)>(}tio4V^k1bIQ{J!&pp`ham@R-LVC7!X3ot;n#S9dlohqf80{0 zbmbx|x2Qn&iE*R)DjTOaYnL&{_f_bsm|2M$eJHKjejZ#%-4p9z7fR%wg65Opw_M@1 z;=Bs6($oGm=c6)Pdx1vvJBv?lx0dJI68eGNrUl!>4S^gg7DF25s(TzVNR1vmq3Enm zE#FhLx-x;yRdVIib@x>tOKrKcH66vX5<+#Hl?r{MxAD)!Gr%F^O7}=4hY=i{BOhp9 zQFgvCs&O0BRrI&ISvrx*tEyqIT0K@Sh`*qHR?-q$rk`eW^mz>K<-Og*5C_($xlQih z(NGqwINLhLcor>d?$x#^D;tt>-l^lNN8?kqN#(N8t$?NYx=#!Ex%qeZ9q?(+x&ArP zn0dRnmw>aMl9vc3_lA0qI4o<*E+mHJcKYNK|XMR z)c|$EcQ705fm#j7vsM4n zVn>b`7_++27xdu2$*_PQjIW~lp$YC#5Rc4bGdA_0`{>_=A=opDto#H7l|SHb058kD z;R(H^G*n?RY%O+69|Kofr=pUf_2wHv!El<%zNrQ2<2-~Bn1ViBsnDq#=J4KtYwck; z0k~QEYT*99Ji((I0#lHmXH7lkS4ITk3XHjQT{MlDb_q!b}1FYulLXP;l{e?(ed>^eJvbK_Jk@ zwktAZi`ex=NXjSXoa#vUZ6;YWxpfZn8K4mL(YL|XYwyv$h>QIN)2)i3jxmYqZrxq_ zUs{(uf7-62Qg+jufr;>NYRUj@IY-@smWsZouD~M#2Wk*~WE-Q#K^6HebpYC+?V+Nf z2m1=B88DPwLk=Q>uph}DWN1r1*@d=?8pr{R5eTW-xW+n3Mw1kAo?Jp!Xhw)9B$r!B zoF+4pmlGA_=CDGdnRMCWOI#qGMCHUM;+Pq6_40})Mon<{jh(2 zq70i+oV{xa7GXW&Ux>BxFGUHsmvN@RjK5-5nrqPBCKgkm-#0u`HK2TLTTT|5Q?)$t z3shUi@4Sch6u>Nd&{b=s?%#>c1igc{fO17DwQv=#A{||)SF$j=9phi znn2&hgUE8T8W#aEybRamGp01WHa*xFiyx03<96fM zw!y3%e=DhGiitIzQu+pw=4zr>6Sc$;@5^=S+D#!`gzPtC0DCd*94BGFjE2}?CV5*p zBcsnq2>KYk*fX7;Lup)3QapK$h%jxpPuF=HGi**W11GgyP77e8%z;r;OrEJHSz3c(N-bU_HakbN@dg7wo)#2fT=F_ifW)wTSr5zw1fG8 zWHpsx%J57fUvmzw<75lnf)hrE`i0tDZcWXzye8JUYJMuf{6P?$fF*eV006bx$}(Hd zT)CBsW)|Y7EjmchOl5guc_5k!s34cfeaQWD{M-nF;w@^av%A*(mNhHdvTH?|owHgs z*SglV(%RmeV}FFfsFqttQ?W{xsc+L9#iZUEm#+Y|q?Mm5wgZL2b#79{8pesHZ;AfI zQ75Eo3cK0yIe9#bX**55o4n6LuU!h4n*3SPHBQ&3|TO5mwmUykG92jLqfn; zTi#0!6(*YJNj_%$XIvu1CSB0SOHad*ISqP8SRw)CZJoR41&ynkaB?tQBy5f^#K(E z(?@V&0nWHY`#1xo-=H~_MAnhjgYZ~QC(sH7)$>)#$V!!6N#!D~mu+;azh#Yebw#o% z)66XhGhmF;jQJo_Z%>NT9@YH-pQD+pnSwR~N_9Xas9LRB&-uri;Tormnme5SLH4y0{xE@Uo1Of(#0jV3I&lyW;_!VS}cMInCE@S1!x97SNV|lSKn!Y`;3A4w zGzamrb7q{8d_n4Ad#KuLE6qQ>Nt&mM5#S*70M}!#5G*1#Xf@-y8b(rQ35DVD>NR(G8&zn8=gZSO9$cBuf za}Jy}G5eqmZ@RtJYvvi;2&iEX$Vtf4z1EUfZ_qH+B@jLkt*RpqeLq(IHBQ>k!C%kY z*!!Sz1bw;dCFwU5rLB(|3g6Vcg3%s(#35kiM18RQ!b@M_G!%#mi6Miws!?40?nu(T zyw7^blmzrh=T6!_6svVXEfHSfvaqsZXBwutB`a&pHG-b7IQ>`Re+eV~cWEn&ul8~2 z$1vXRpKFC^WBZSFR8*N;z}CST&S35}*jihgV9QFc2`0J`wjZ1=;SlO}f6Xc?mi8QD zb1;;y5Y7NPzb%S4AC=hjfp3R197lvG7}i=Lo)sNr45@z<9-#}7dI?c|c7d>XlP5(8 z!K~@<2z}__mSIsND%#a2mci+EX}uQ4w|pmQkKS&Gl8%MTwOO*~_&dF2QhV`&?nTlu z%-nXC^lAEQw^_Cr73fsUGU2=iimVsrG;fzLiU##Ns@tud9f>& z{FX4RzDPA!2eLmgHrJ2|eszJgTNpGakSRjl=9hA6;#lGZf(J*~71Zj2J{hr!Jlr^0 zol0E_4Aq3ud8}z#Q0*;zcx@c3G}puua;8ybykP!h99pzU3_CQiQ_1Y@xmYpGn&n^- zud#QkimIP*ymdaxH#}rTEM3h1HRnp*0wEpwnDbP;B@QBtl@uQM12-i);|VP*62~@N zz;}zCiuaXI>gO>%8_^IbRf-! zFF&Rlm3I>3Ra&&2{v6RD%DIK~-n z$uGTXKPvsHLT5{*->GDneWlZ6o3SEGOM404OjOtPYvHhAo(Cu$n$CxGJ#KHq2DBeE zx0IY|!AJwkLDwxhlBjbqN*SaJ*0)(2=*a{oqC8|4yI6E>17q%}eLiSCV zgK__Mb0lEdiS}7EFX3Esb7>%HRbyo481!C80xtWIn5UMN_jstH~?r<|fn5Wd`tjnOwvbQ9g$U-76^(`VEwjUQ{_+?oi<5 zVJmo{Huur0RZq;EBZjeqqvH$7J+O)3Ai4gbH$pGmwOY9Ft5k_au{< z93%n46$qe!cp$i_>w?uPEM6_(0ou1)UF-QgDk|ufQXj6`?cebI^hq0tJVlFqPWb@v zLW$?T2Zd_S#45;3^F7y$y2Hak9Rwf$09Zh$zv}39VSqBLC05)8ys|HnE>c6dy9@_^ zmv$)Kw65Hxs!MQO!UN3-bRl;wJb}*(s>5M&Ti0emH!|ruCCo)Tt<~ZwED`-dYR4ue z4tW~hkrM?Z5Q2nwP)&wKjzAN-wLxaAS08wIsEDSeP3a|kdRN6Z(MsA2X)L>MxK`F) zK5lSiYZadi#k^J|6@;T7sfk1Of&u%j#?azE+Z{_-X|44X93n&aj@K{DhObEorO9=mNxLt|llYmw=&V24Wrv4wk`sUlg~ zp*n76zbx9ZnpX*U*k5jbpb4s|3KAh^)90O~{M;jh4c-OhLAJ@K7;lf(9w>FR1`21y zubWn9=9IV8&*w!cjnzMH?gB5^prB%8qv=!o5p^@)QMV4fQMi`*NxMQ|*Ia=R;X@%C zo|4352+<1JP~0re1HgzGGEqabm+M0a%W z(kJ~ad|5RdN1zupEfIahJh-3jt82hR_xs3Z6yA<+6$8rKhBE-Dva7GFH-h0M2F+5< z>-6Q2FEkkEh2$YU5ft_a8)2^}kCA_E{kyaVW>sg&Oo$JatSCcfRb4&NM!>y#c3+F_&6{_rKBAI z)l|+-FK7iNjra_8qiA*%5lpo;CyU0db1FS0b1TF;RyoVEPuV5soBNBNC1(Vk_TAJCi#nvF|bg3lmL+h5z)fy`Trn2Bq3k>kTbG# z+g|8C0&rL`wOvym&||oShSa%WXK9={1rdm*Q9qO`sVq;#d}V9$-r;K%Ln$_5tBT%c zAt{Y4%uV+J?g$vC`tYx6QLUToiOCyUtQbbtz+V9Sq*(}CEy>%6W@&aNzr+3pZQd40 z_#ug*&&dB^H34t+mr1Xhcy+%PWFCN%P$Tq4y9(}<5Kt!4&Bx%=XkRjjZozJCy@yQ@ zb3?BYKa!cOg}VRhzIXTlgXGWjPwExAbnRPEqH8PDYOd&R=Jr7e`UShkkh%JltpNH+ z-x}J1&+4aH0lF9}qk5gv*PLLO02)m1wTo0AOqlpE2pR9>{I318F?@GAG{rP;{Suj> ze-EYbD7uivB@Y?;s`&D;YSIv>%%}o2S-_1-U(x^6eB03+sb-~>o%9&;v>c6jhHNnV zhsrRQv6_`c`qNJT9@E2so?~Fb zG+lmjW*m(*&+2cMoW*N_mc z?}=fM_{}(tbHHn;4e!=|A+I6UKqq8Zkw?qa=Gy8C*u{}w8U z@?^Z>0j3?kgQ%H0*`LsrOnPAtI!e#%Wnug2=J+1GjplKW5tj|KoK)Q^!!iFNeYGKn z7C^ZDYnTPc+8WEV;oq#zLNDZOMS0qO^pIss{0{7&=A~Q`pEbVZB#;o(=TGQ8XszMj zTCDB@)DG>b&6D1O7daXWobc_c=CoksU-qWBhnTz7$=#0UTk1Kn#H5Mzuh(@lLW5j$ zruhvNu5~p%m6kxc&WwWfa6lcIdK(FJ9EdxNDl5O^F2?R!f99|Vi}{29VO_E@kicvg z`BK$W>+^yeqHnC>g23F#3Wv~|a@F!k@>%Q=ON6Xv(>${iVAjt!FV%eOD>R)!_u%^~ z@=MmJIF^gTF_F6^qzun3F?W=Qq?DK!%Rk1JnyP^5h$+)@&C>OL#!E2iJ7}!K1F8DTZ?Tjl;lj@&jXm`g!a^qnkD$Vw4$#&FdqWCT#UOcczB8k3MGJ zsKb?cOfT46TFm^P;rj4u@<0Fp&YdW&SC87Fb(9qlfsoS_f)Hdr1;S7QB3Y7<1PEj& zB!nd2%9roU9_*=B6s$@sSGPWJ6i17mTZHFch>yAsM-ke)-+%Grs^2nvO$#*}^74>t z+GA;ZksjSzN(W-AyGcw&JcedMKJpV#t@A?&x~)<-JY6T`cf#lOi%ZtSjrxJyQCMP- zrWL~y<0^^@)*1gKX2QFHhXfpc30|ztggT)q$z8|;2bFz-6maO~K`0-dpDTq@psBQ2 zr~rCJse;VVJ7O_(7n&g)g7e`y+TEbYLXeb!YW!fC3uNOyn+w3T7$MgOOgCqx-T~!k z9VHJuWI8}(L9xg~!X4;5vOpUJsNCO(p92n;f7ud1@8~X`0Qk1)oF1UYT9Rr5j^hKA zKyVQjL*#^aE~RVSMH>r@nG1>9YN?7$@s( z`EuRLQOmIUY;ZfS)Uo7yym4i`iU9Wm;R5y(m#yL)JIh5BVHR(TB<2yZ#ix<;BjC>IQb6qf63PFl498Zf6EqXO+Q8M$3M+lZ@b% z+U1cMSd#8hNVS=4I44VTyq24UjrM0sAC}Gbs|qSuW8GRae|?WduGy1B#dB(fWI0Bv zON`{3i3Uo@Aes%NNilnjRv~z9ORg6m1lNVEr{N3qUr}c-3q`2wcp5wM>r!Y6=N8%fwhFlgPR`5{2w3d0F`zT2I48(OBv`FGD;LU+o%|6G>)AiK=x4+xk+Q z6Xe8C=mUjKtt%^I*f*L}tMUquG{%ZyTC(>K>8;d*?j4Gp_|49Bsu!f~wh2w&id~jI zU2m`tw$sor^le@yJ;F|C%#{}uF0N-PK4f3=B&!ak3SIMS-0|PpZ)z>1z1Cg2jum(C zdj0KSf%#`(xj@}mQWMMSukY5-=pCL@T3$B8b+}fa8t(XB*B|e1tJnXX)Mv36gb{vN zm+?{X5%dYj=D)6gq3>ZOdvgs``Wm;!a5Q_av(`vVd1O}@`ze1}Rlp`vKkfkMMnsw~ zfG2}z(F91vH+fIP6U;{*3gS~R;i`o1XAL@}aBs>En-&Hsw=FJMMmm8VfMpTc<^Z@V zWQ}PL%;iUWF5|D6Zg&xGF6eZ+vC~F$9_({dLxczgkh>uj zrg$X0?5Sso^Ey-R+U@vQ068Ap%~=(;yVl_pmF0;gfpQLCf}JN_G)v6N2n?NvE(~!X zW5`){<1P;4kD`JdO&oI0(`~)n`i$((DnUeISL=g{kK~n2G2(wjalK-B9--7ZpuYZX zkF8WEVvTk8aTSF(wombca)7S)!s!g(_I;vxiC9aBIE$RzV3eJT+U35k;t?)8vb5B| z6sx~}F-!b?cln{h(yg1JoPH*lgQb*8ATirFP^spvKb189geO~P*GS&T+ZaR9o{jUDUuoISR zMr}|N76isHGdnlcPSJDQ-slEtD_RojjA_%2vHG(3>H25i+WBmy6!U=c^ zbS5|g9fcP&4z;gB^#$WC<0w1(UQ>eUW!l;LWK(&<6*n1qM_%nnK(0eqF=Xp>vt6T(vEpCd}+chm)<->UT=4yv(Yt{!|0-L0TyG5 z3&v1iq^b|%JT4|~{f;}!jBsIsgYJ}tLA;}BTtK1|-votd4%bIrO zi5NfKwD##<2jh2cS!X{-&gVH}x%bOUj4K5tqC9a|#gv%FdR~1_R+i(GT~T&Zd(?57 zIO2!ew{|;{NCDY%z(<}bqi=z@qhGN5}zvW z8Agfsv}*usPsYYtAfsit=m8+JoMjMzc3m7t2n>nXygR^02CcjkOv&C?-2%E3TjZ1A z6!E$Sg=9N#(e>RADM6%kKGYg<5!fqac@!~udbgn;aX zkdXbdUhm-q5UHUR=*2?FxDIjePnRZ&~0Mb2%@Cn|M-R}n#|yAI^DcmMA?UKm$q zLDv^|I)4PHQl4YF=%6IWu{kYH;juTY$=7~k8w$G$KeYwzJCs4MGc;CaPuC2V{g&V6 z2{q!J#41E~ga1`!U(r%=a)n>&u>7d2a7~Z~c9w@-fED(=d;8LxTRXP(X4N#WC=1ME zHQJF!?D_TgWSe;YwXub}Mbc_dsuP&5{4H(@eBzo6>xO4Ip6(4xgZA0B#j=Q9@11*c zGulcJs3@@cKhm+1wT*FwY~lBHJ5x6SqUy(SS3!Nn$FQ@8!_MhFx5aM?q8o0>6r6Zx zx_pdBLjqKoaE?@`VMv}A?9|#^hXTaFiN=STC9@d?vNKPBceUN#r?!_%VIu2 z20$LsXQWAZMtYxonESor1I6C7T$4pTh*_?GXExGdbifkQx+?#nQ(5(l-RJZ*`O-G#w9X)eQtpKw0%kPIWXOJAbL_CW{aYm&^T*P%gVf&9;j+ok#F@nDxrAV z{YW#)e_sg;Hi%bOc;_?$$6Py;HEMO)>gY>4tK$bcY3#BGH;Z!0wuie}1s#n+WD}>W zeptie_18K|e-JS|jGU#iJMMwxWvcE9DEd3-P1$q0#mI6LY#-XH+*Mn7HUGP|{p136 zcZ&fWC>d)CEzK4d*H3Kimj%`wNV=<{S7k@zkfZz--G)p#bDOxT=z_wEMsPN#kf3QM zcUj=PS!aia}u=?ydHb z>{rjzWC9($R;W{XCEMGOu9=-UV)WOkB2!FEgtqbn=`rOr*d#&#bNR?76c@3-6+*R_ zYO(6ECaGjVM157Y;Z(X1}*0Qz&Hk0Ht=ikLKx5aF~?{1@um+N1oZrf(fw;e=_@D3jdA>*OQA zbs~hjMERaL&kE20q&lHp??bJOxPZK+KF~Jc-sa(&+LDX5$M)RP*S7lzD)zA*k^9KP zZ9p+cQEdy#Yz4!tPZM%=bF610_8@d?6)oGOvhqBKivM;iYy_WG*#dV8T^02}k>pl6 z$T=tHxzaNO)vL3YRRxt_Zn&bQ$`?k!h8NDaGzCW4FIHRFn@c(=g1@>BbN`FI&=YtPutm zrC^^+z0(hvjwk}w;RFH-nS)fB-fxA?atlqZIIGR(e?~<^cZE!7RIiq75x<4!0iwd~ z$PJ}CJs9l*2iMU|*L1neUUDT8w4%#=%2ZfRsiR~B@lrESKB67g4yzKxUb-Hzx!|6m zNBb$Q4SBA&ul*g{f`l@U<9}lQE1pnih(uS6LZlhNJ5&_p(HsLS^fXbFc9)^2fT4Sc z6sLv2Iq1B#JB+WeA!fVjHhwR}mwZ6Ya(5325VQ_& zO|8BPn=?kew5zWxdM#Z7i8|JDBJYCcuH{(j zm%1)XSNuEps^uCJ!j@S^L$V3VI>SL1$CNA3N$FMB3w3~;<%%oqRX#2&&5Hz&JIhl} zKwXZL@s|zH?Bh%TRofSa$np2KSi4JjyEY8XkvKimDhKdYwXrl_al_r0+oe8J>7SCK z9V?f`y9|kC-Au0WfpcaEfxGPqc0a+T?QO;(vAgjn)#tK^27rHA{-Sm;m#cc_*^)9x z8{_Vc&(e2P#4*( z3`J;crzHv`7)4e@9~H#5jiIH~0dxy*r@+ZDNzvaIUmg_ZqRv=g4jv4=7QtH#(pm&w6QEq6L%g;7+}N zY%1vo4>QEnZS-l-n5Bzg5Rk4N1fbsybG4DuZdeNaRh)uc(4WX+p=mIgq{LnsOJf({ zJs6)MA$xFlaG-gB9K=hsnMkzuCiKXdFZorkL^mQWe(qX)L3k`#dKnI<{^d< z|7b}HCMl)mAl9ksa>ANoaGP_pnA8?K?y^I53`a)haRc3ceq%OLVo!|mpeJmX86rH* zmKnT@{KI+;TdI^)odW;QFnzE!c_07)R^faUMXgu4a*Tx0gaD0Pm@<@M5CTC6K@fth zFaimLtS`y8S0-WOfD=IqsO1sGK}%iNo(u7DTx*L^t+k$2v?9(*(YyCQyjSJV zb)zCJPxdza7}K) zQEF{1EAj<-vYyGkP0BQJES%f~bTCXL4|J|*A!e(y3x|nc<#}Qaak{ox@Rp#JK*C01 ztEw+@gy3jqxf8@%U^{D&@H9MO+$G{5OZi3YVtugWId)&wll=|$v&L1Bi;ZiI@prK^ zz@kX?|1WiOzsCM+%wV0znUFg(5SPRE%KwVI0_G$_G+cixI~3h&=u4eM^NbboAX*JZ zMvBmOh`}92r{Q(1dl(;aW6H2osH;>5OA)x>YxoLsQ#67sM&?r$h!6Tvyg!nOhC~J+ zyU`-tECE9R8U7H{=;!!@P)|z#f!!f`RtG6s!ivZCgcNke~JMDStp&=AlhfP=_feVisOS zyK#@g1LR}2KcXi_nZKdAc>9j~Z5Hw5w(iz-d2Jak&4(lve6OZYi%Vji9f-6s^ke&_ zs&|1`Y;KC(enJbXqP37KVUc1t3n7(4jDa>oEEM1qwcSxn*rq49QRg#;dZO^JpV_>U8A?3|l zxXO;8HKs}RL%&z_ARzZpSxxLR-5If<88S<3xsqZYo3pOj`!P(P2JF@9hA1kGzM4_pV8O#9nk~S&xVt{edGt@ z>!5#-kx;z9mDmM0GlB>YWFmjgWCk7Ct|kV=7CfcZ(C);8R2TFjSeGz!XEH4iAZcbXcOLs z{o8*E=V3<}yYQ8mEkBe>F{g-difx(^7{~$B^28$I8uc=|6rZP7@p|xlQWykbcZq)g z1#AR=%s7n=;p@fI|1^pHg!az-+#mS!yO{;U8yOvki_S%`THj0ExW&!kRY%!;he81{ zpV=lpHYwx3XT z_>@>TY2J7$%uItQ8{T!cxII0+)JJS_WmJ@S!Fjxr3YEu%~XGJ!)g9 zX`gS*(?E>p9R19AFMC;ssG=|Ja@%m#lg$||*K4w3r<)EaZilNJnMyl1!}d;H#GbMo z(+Panm<9|vUQ+52lq|Bgape7J87;?ZHAxSfephD4l8!qnet3rcm`2J?wc2(2*>B8% ze#SSG?gW#)&QmThE^=)VtNH}LG_O#>fn znTdYzZX}|y4Ot&KP_j$l+R#J7i7)MO4ot zIMe$p{0Hp&{o&iX{>KoVa5Zrt006dHt*e6ci6|cRQ4rI(sX9{LH*v&cUN-CM*Uvec;PRdBGG}3bQdsiv`34GOMZGD(t5F7}FWecm$ z*}Dq12QKM$maO()6E0;ZRNg7^Ry6yjC`RcH?{CTfRcCr;@Y68WJ==1B`?|)X)mtcN z!w=X;YD?V%-O{3-+IfO~toNafCF_7)!2-&kCH8?UMtiZo8-1FwQ;L=PTF~Pl= zbJ|idcV14jO50EOH}(sJ%-M!{#cz1SwV9Mp#pBgr@@X(Bpu)d4RQZIh5;-NfMe!Qpvq=DLuc-^-;c2da5hP!bER=UOBbc)d~8VRgqH%h(M z=R8c2tPT^{Ra3x-s&~|DUc!w@*>D&#jgwl+&;yMNi>|99DxJ*DnrREn zG3zd>egUrOyLi_{AY4s5F3&fGc0{T*=ANVo{m<4m2QzCKJiGri6%)&55j0 zbEa~LYqMnX777&BLfSHE7phMG8~BCoo5Y`?C)n?}I%LRUt&gSFInq3D>8%bulEUyh z+7(YY4#xnOT5;U*xUgN4;#`{!DF1MZ5-&gz&Xc&kNQ^7GZfS00V6kUGq1dl5X-XO@ z`xU8WSAB2G`+ywZw!(PvB5!SaoN|fhQR3fq9M4~HJ*GWwU+tFcCG{b9etuJ3gz-wz zuQgWrQI@=VqCAxs6-+NUBZ>_4knby~{;0&=+Vegw?zoBQIbE}lg0{A}hNv5xbB#3m zvBoiZ9y7mz#(Bz(sr{+IFU$$a$VcRdtA0tuv^0M)?yT`&-ZM34B|wqb1<5WkPQs^@ z3{JSrq5cF=uz~Lp+a8z_Kyt!*%Q)m(KZp$=?CNR$JI-e33ejWUMZ-?% zPl9r3K=DNUoE@Q#lkcSZb$dbXHUuuwu@gQq^WhWgU)ee=p&*0%N)%>4$S;*l=zteop9pSao7Su2-jFPLNY;|XuvwE%o z3zX#;Wi9@Q)LwOj??<9jf5GdG-)|Oqh@LkEo~AeE@nSwKpKJy~)I?rmbuIM~+LZe~Ks-Ej0PG&`q zz8?5%NjN+zoXwIV+hwg=(k%Bu6`|L59Xb+gbG$=rE|FZwnPbu`zvDG3@2gh})&ry3 zCh_;hfPRx)OPMsz1#?nfm_O5%6857UcrbR*K4NKcybymmwAO*@@y%^)=BG9 z#$aig|3Ac@k*4%P`w@Z@S?H*Y^PoDX7|mseyX$n1xi0`4K;*yO4bpl1b8ZFakht4T zpskS)x;|v=Q%AWbNW)OG>jJ@LDsUZ(`_?+?>a=#Sz79s~^2*bzv=V&EyhI!pI0ZE8q#0uy+Hri0ArYCGGZ|(x1I}Vv0g<^ zu^iY6tQTNbv|B(0Eo+6OV!e{EZq8p&>*2-eW!gIU0sl5Ij*NtlnzPXHfEMT%Y?gHa zEhk*{1?6gdME-4MJF%{GNZv<8=F6%ki1@UJ)uBWo->Sbr(BYR&g~UGt4niE_J?kEF zo8;-vl^t|Ekw-}1IGRcmWC`~FZ2L{Q*B+h*Y20jfK2vv{o(^v^?x%|bj#=udA=W!Y zOoi#9#lDSQvZ3;>hJli?ouAgrw(U~X*8ZFptY$mQx4zOXa{L~yFwEPJ2JEu9+fsej zB8#X$H6!rNZEGtt5vM4)xEie}F3>5OU$e|9PbPI*_3E+cL&$0!HzWidHuU(_<9#6Fok4yE ztE)JASpKlw)4;FdZNFlCu5Qgg%HU) zP(_S7z`U_cQe6!ui-L3qEyAo`;3_0dj5IB^V!WH60q*0@LJQ~;zn_p}n4Ia3v++SW zTD25)6aP!?MB9X?tEbWVtWS16B{eh0>+eLqAeBhOD1E9|GB-FF4 zrDz2@DLs;F$69vwr8eWiif4QhA66$tv=NQk>w!DSQUmDwh{^?}Uj1|iTp|%#SINo> zS+Kj}ZcZoSqLQTihD>P|_)F1Sx}FFjHe%Qvn1lanZf36}J)kQL4=MwhF4Kd#8pie< zOPh8{_G4&J_bMgTdJmY{+KDVNEsAhQbHJ#;MC>?3u|o(qc!r@SwOE?C(>P_gA!;>i zOw8;w@RnJd{0+ne2e&3zaflPX0MA*!2uwjKB$Zu&bI@NIXNg`ME}a9eTa$&e#%6e# zpx4ZSdy;d&(@1g53>1m32_LqOqrU`-5eN2fwiT1$-HgWsgCI-g`VWXkVXa{)F(gnJ zZxh#&*O`q(Pt1_TgSZm@cjy^$KQIvKm+PO2fr`jUUsIAWs#iDH8V5+CW)(;CrBh>xM?i`TzlozDl zqc>MAjq{-+)Z?4;XpZ&=?f@MKJmXBzab`BFpEf|0=P-Q{84|e>{;HMPgT!gg#?)xy z53L}!l?>I>o0pSP!zA}G*l3qFOp=veY7vJng7*B}!Z z9Tkr@Vzb;WSUwKk@kK^Pm#xkOfJd-oN_kHg1^vpf>f{_GZw_B0t7Jjp%v?FY? z>8=#qbfwWpzL%X)538pb`)XeUx((}`UxCxv-?uD?`qJ{7pBH2C_U?NObJ_abM$@yUh@HEGa^>@`jEB{xzVn*t>saifj?6?WcC{ZqL| zm|I<4)#FXp+R*9=c1z83;Ei{Q<37msh;e)f#|oeZH|cQ7Og*}@BQCVAThYuzYR{;S zhF*8pRZnb^)#!j!cDF-i`r7-Xy%oy#=(f%Ok6rSLYBJ5^FqRp0bw*~!)v>OO%Btu( zgh9rJB1Nexf)x?5Qv?L0q$ghr1Ob5n0wIL-kRB3R2#^pugrbO1aC8N+j5NFAH=lBL z_w1a#S#z8JInTv=_dLJz!Udj2a^U$6*Mnrs5GzM92_8mxFw6KW=jj z7oLc-{vP`pvB>H;wia2ioP`ymMm)T5773f2AK`Km#&=M0l0>@0AzUE*i0ww~69ml0 z6-z;`v|fURp%z*J*u|)~%Z=C#=u-Fh7zB##oP+g6-Pz%frJ;r#Y_Vaex3;UX^U*)s z_+eVm21Z9;Ohpbj4SgdW@fi1ql9!@N+S?7SPR@X=PzC&EmiBf4!$opE2{R zuV>Ak^Ow2vzWH{(<#*rzu;8x?7yY<+$$kAiR15N~<3_2Bj z`pnsL=Pz6g2@MOs6cHJ9IXWixN?d$GA{>E4p)pt-9v~1&V^ecWYg>DV zp|h*I=f=(6TYa~UckcEN-23hRgMU689C|eT_{q~}zds)t9UGr`@$%K{H*ep)|1kLx zw3s$+`t%tyWj*B=FXe<4K&4kOUv(|HGWtC?XhqXw8-Km&?e9*&??X@ z&@Rw0pO*PN&D1u38t3yi&@^7&`}X@D^gn#$SU_M<@R@TLLc$}WVy+}0P*^-MiISS0 zLCv|IPop!KY%WhA6iK9V1r+(Y@lT0Ujh`bwRYI9iClm^mLa9*e;1E2MUPKRynwo2y?*`X&0DDb{f7^elON6fAZH5|k~W)g4G=tN^CjWS>=AopJm9w*1Sdm|qS-LQ8hdosGEK8zOG zVNsJRSgNlKQ&uYCHF7alFM=GnT!Nv91@z=H2)EMcWTUA}Ik6yv89*?bmX&vt}G^SBZWb_Whx-oVakEM zCvZaGa_O@t-p2WL-^=X~O&WM|m3@~w#vbq=Kd9{cpVdUvj@GEm7^UQ)AU ziM7QNTs=($H0BC{<_rPQdX-OTC-aCMrULRe!$9_KPf*|#@JhZd`j@&`LTN2 zsC&0I!1bN>RH@d7&niD%Mps@|(-erBd>OtjM*`?FAdgfLp&?mFY$6Fs&87kheu06U zU7nzH%aOO$w!x1&HeT%fZ8f^W;E==B`tl1a&nfei(N(z$q$Wp>ug#JX>e8hI-Bk&p zK1oc}6UC$kQvpltV4z@|JE(#k9Bo{GtZ%^Toc7*ooTy`aE?swsdtH4&o?RAOo>hvh z&Q#zv*W`qnR5`JhA|uw3r6es;O4gYQD6)ltQajf-wd=g@^{(=699|is7_bHy2B++t zhNG;^+7My7I#!-mfmEfH;mcE0KxML$peC0RtBDGd22hY|Oa+u|f`Jw5b`E!}*x5F; z)VJ)pRXBTK13stQH6y+CI4wmV%BE;z1<5rC5lMrV0&0v5ug1x-Rd@xu5-3Gg5|yR` z%Gblj8kX60Jy@_+J+br<@40n&?tOc7YM)06x$^{-*cO@(G{+QS8{?TMJ)DiGM{?lx zC~krd!;9DA_;Fgiz*OF8maXmW|8`aF=z^WX$rXnSMmL6}4LT+e2Ym3@zLOO6jnMSO zuE?x7LrhL=M_g`ndqUpjc6feN8!|t#6Cpx&=|Jn=t zv!thPk?29c1o-_^=qvpffXjC-ks@wKC589JP(u6SQbKwYu3qd-OucXuk$V0nD$P_t z=9cv!-E9|0+wcFbX#d#}=7HFUtb;^j@$u}=qO+_fTBKB809R@Y@D(+ANg6ekqOD9% z(U+&BHLJ)OZ3-aAAji_XMd;$5FU9O&b}&1b9n219hyTl=aG&2hhR>N1*1p(5&H;jv zeT3Ro9L#K{hfDPIIHk4_Q&B@BYt+}1bQM{YMpfF?Rz-5UK}O8JA;uTo;$j&$zm(4o zMV}me{N5FNpBZKQ#0>KG0e86mS>5cDj27lak-j*lRLekC)D#gkRW!1$JU6LHnMrAv zrKa|Xld}7`1e%dSDC+%E{_Q~b_WOhVIt^+%zvDRmxSjUV&UV`Fw4JVXXO^+6)+%(g z;sFQ&ML90UjiLK2dH?mOflA%qZe5dujFhC@JBK*bYXkM6pP z-Cwh|wbO^>Q6Ko={rolG`8@eh(eb|?bSvDf*bEXXTlsQKnuoS8$hOcU!gAL{Z z1ID3^{Jl~+VX{|Dn(2h;^K^dCEgFZn5N+=bf`~zwlJ!n@B=4mrsq&E_3B59Kgtjnr ztb2MSn?E&LARcv8YOI#J0bRtP&=AI8ITY-c5W;i;`6dZwERY1;`Dg>;*oYzF01zc- zzEdRTz0xLBJT@I}ykkosFS!sM^Ajg}CcOD#+i%2*gR5|4=4e_`Cj4`4h{*hI`IK#N|Lz%XBES+v&-Z8HdV@Did-@ z5;5?#ke8)`CfelCWV4ib11F|UW5kT8`(ThHX8fQ&l>2ReeCbo$e&mC(1K5?hB+_^= zgKcqLP^ztECW#4YgChox78+$nHbGZHev+IxiIY)7Xld(Iv;oPU7$7`+5XcT62io}a zuLt&BdhXg=b$=?pZh9e}V)tkC_Bry@lEHE_Y^t+y4Oj=O4{|dix1gyBK9Z6&fm2Wd zXazkOZ9w{?;m|>#IFJqud(XZZjw@XE$CWKD?M9Bx?WY^ZGhvydK*JxbG_y_hHkJW9 z(y1r7TKfnds+KrP)R4w-YKjl7Y8j6HP#7)kw5A8%Pd< zp6tZyDNd}8=886;_)`o}#r+jnwkJOGeVIJByfxFk{$;6tc_&T~PGodX zZCsD35H0Ve#=4>A zr~{g>VtyFfy5ny6*MA&;_}M}8>n%Bw^{*BYzeM?vTg9Y&yr+szc|Z!w!4(J zmQWAf&cb6B@+qj<(pF^nYDdjf4YMkQ?7li#&#DZfdMbiV?D7DHQx?E+OZ`yPee3-6 zS2vb__DkEVPj)K7Z;!CwZ97AMxvv;{oO-Qs?R0(JN&%+&_GPH@Rt2eSv5I_Up_X!a z9!b4)vz}HmhiWOFYoZs;V(5jl*w$zZhkyE$k%vG3jRt(Ws~2oZYy-Pa5MCe7ZF-SW za((?=MdhRX>MIY5ua~Tq)fL^VY$&{2)mU(+wlRMd*_6Lpht6AVKwnsC#N@7^vC#(L zzx*C>llB011_JbEo_Wnbap@_Xjl9c0M_S|-Gs8WVf};o7M`&%s!_6HI8`SN#VmYIOP4JinCG!~?ls;V) z0XXjSh#?km(h-24e&&1O@sekvtm|vyY{HW8LdP`kGC#H;ke=kZe{zj5fyCyveeJwfP zJ|isZ4e~4HK5o6v!^WANEQ;06pp6W*w0bPf9X>O@C(w@(gw&0akhDn_5ToV(%?1Sj zHuN4%0fMyCZzM;HzLBNZ+*f4bZ_9JqW~KSukf>BT4%cc&d1#Z9OS0O#DGqB}i`PtL z`1_mLlLn&rh7=>d0b^xBK2{dkZ0`-ch=G@u0)(mAZ=`8O&lSh2AE+{L%c^YpO=T{7 zN`6V~msF{}B9zeuLxXm1vtzJ}<~6l5{CzE~kdh(@!;om214$>@kSw^_{%c500U|{9 zTUl!1b5&Z^LrpqnrSC+`g7zFMtSJ%%Rh0^#vQFogVF&C2$YJ7;y;^2#K;F&_3F*8r zn=G8}B1u9_l5}#j0YPlUkPr*_h!h}BIrUbaa`A;a_1YudQS_=YgSu$UVa^x}cp+oC z#BW5Z+-lT-MS>ma;}N~`9-3dkWK3}woM|RqIMYs(Otn*`lbh{>0ZvHLpHL9tb{EgWFh;WKp+7^LN>BO*u;VbQAELxh-<4B zr{iyMrq4P5=QIZopZoXvO{d&)WwMvO7di93Dxu#F(~X*&hWm^dmr_mei)7R=SKKh_7YBFFhYRR{3Zw0e;_?g1tL?mbCPBF*Ovf;M>M)wS6|YMQ%Ym`2Bcq zhk+boXz5cVb;m4DC7i>_m9sdhY6hye4f5kBfbQs-*8_0{FRXFpPd&$An^P%>+so(B zvkUnw_f(m{?5)?R?Fe)45Z2y3Kpby1k^?Pz>Lgyvnnr85GboL08l_c12IN0ADB}}= zA@($|9M0Qz9J%r+6km0BF|B6dW;)(?ExUba;)+=7snbh#8hVCtwyr_4o7qqCQH<0e zPS2b`>pCWpdf_BOFNO@r{~7@#M`M60?l|Z_l=0enF#9{-mzVBcjW1eSjfaI+lF1`; zSsY!kSSE4T8hUI9OV>_AyP51{3{X5|6V;3FWB4(~wgA%Dy@L-KQ0$8U(zqC)Jrobj z`_s0aF`1iF2eNP6JXjdsI0CmXCDQaWSv*OgSiy7G89MDqbDI@!We$;cZk6IB57OND z0fwj9#2!bPy1Yme7qWjh$PY&Y5nbY3KZr73Ph?7_&-Zi( zN)#QQdVQ+{Wn$X!7OIsvLK-2D5{9UDtcC7Cn^{hzx!r{{cR~hKUqk@afqh^w>d;Gf zb()b5VaSK?up)<+8sT=wmZ)A__G|-!>DTM+953GdK!~8 zm(QhzD@2rFgN*1ys<2*+7VW|5k#2$k;UXE~PD+2HlV*ZBm;*2e3o@XM{1})&-Sf;J z@!8_7-+%6X_{oXE?LB$2t>_xgoue4W@@Xph>x*rKxk_&H6ik4cg!eX0pd?>~nq>_^ zoE#P)DC+zqWv#D8RqdmztGx`!fZ@}RUOE00v9k33hyDkSw-JS zLJ(Ka5t^5aXvoFN)~~MBwZrBcyXxi;oSIowchyWYuW|<0Q!!28mrs)fWm7G}(kUur zVEB)}Tc7*Y2ci4F`DkeS!x$yloznek-v!3gqost+llAD0TqJz02wQ)voLIe5OR2ok zKrLT_(@K{RjFNBAj4RihnZ=7ZR?#A%_3{FlUHCt^AN=JnCYRs)^~lTj|Evao*v|ud zl9;a#WD#E^T|z&}ENk4#uc^L&xuN{qGI+^GHKKUE9(DO{Bf9Vo9CPUoqWR()3R|#- z!4}-c;_`13@Oi65$ij0!|C#O1dmm`PZ+G*-$1yCh_c#f}W}tseKi}{}RzcPGc||49 z3QI0ODJ{SBsIs!)VQp33!}^*FTa7ijTkzVP2Z*|y2gthYO?3VFP3#*msDSWqy8u7o zbI^S%4)D*Md@an(e=f|a+!7QZ*LzA@R=9N?3!Nz8Y#T`tZe{92^fr^frOV95)*XF^<>~555%#F}HTup-xdy^TGcMb0v-ZlK6Hi+Id9FGLu8F4^x>Ld`I&3oQ^ zzG6$1hgcUBQC4`>9SfW$;amq^5oXi$K^A+!PwO1=lDnnFk%prw++0Lu|SlO4#cM~ypUv;Ka}J&ZHO@ znzbPg#pLT?4SSgFb|;1F8p8{{wq}KY1g#GmQTl)yZS*NHeO@TuHV9HcTE=VwmP4=tSIGPlh%o6L`d~S53%3Rp$~c3Y`cTT@z}^B-!MTDG~sk1 zHAWYbH5>e5Y@Zj3w++ISBS4y*3Y00?+nV$%Pj#nY_w||BJNjJu4Q+APf~s0HD~Bs5 z#W;h%hhlMcGRLf}PR}5%$KOYhhIAzDgcPTp6ygm50p93?0`x}j0>U>9$wz=JDHW)a zv$wUW#ZL_<>o)t&V(#{5Q*ZVawl5kh_*Zp}vak}P_lSs=Q7&z4u)WP=U~&U$nkXc1 zQB4YnnlO*34{}LHKNSCIh>rxKq$5C{m;%&E=U?elik|hQ*FG3HjaoNnkykAjTbIn` z+^YkPy#WnMKPJIj%>0%yLlfgf-jpH64mZFjn})7i0=*_oYf zb-SbMu`23{xPpL+5(EUfFC#ZdAmmO+ARGx0j*vhONJ4;wT;wD-HzDB=5l|PQh>Cas zqD9ay_;0j!pUGPv_TlsXo!?L57q+Q5m$;_6khx+AL_V>G=Fj)U7T@m9pxO1X2CD)o zQH$`}HbH?|z%A`z*H_wVnM_AjEpNEIMm$2TlsKp~navfyH1PaRffiqXAoUI1RQe^X zcbrdOwLsvDy`k7SdjfI1FRh~Al-*!Z=e5bDSdFlSXyyotdukgh256jGJC)TiRLl|& z7uQN0#Whl!D*(^k4K#S~2Yg>oAo4j6e?xqRL`bz~hgJd4tLF9>sNNkC{pk8Wo1>k>d5cqfkvG+O9 z?iB($ykj;x{jMzy2Bbf{6`px}A^|fvlw5A?&E&`|IU+#^QdO_Q8!P1nouv{=UxB#F zh8MBy7*UG@+a$H)8)Y_E{L;|meG*7cp9ShuL0hKN5&!D*iGMN%xjHu!kvw)c9^E~b zL{;0<*{!|VtsD!Yz1o1)Q*WKOh1FoaYjMi3JklH#cLMyPsH7%X4 z08P#Y{;B;y^20Hpb^md_+udhz><8aFb0;r37QLY61wVvr22#YEh^%3ZBy(xb9jLu% zNl_O;L3BQWHx+9!MrsGrKr`g&>Bd|=+llWIAUxy-geSfOiX%tfnZ7@?;fP2b|Si_VkCuAYR?gn`_Zk$Uc3a?O_HNKi`tRaQYG9{rp_@} zX|l}>?R68|C7}7B8xXng0onrx*ZTH+|IfR7_l-Q>?`wVK9w}e($lyKl!P4&qm6T1! zRuzw>)fWusHW2J60mg=FM)nh1^ZE+KxxK}0upWx^dUu5^v%5x~(Zz5HXgS~p$bW-MQHaTquUYv3dRhl%7rCj?7PletkmL=XTEKj&yR1trhLW`R!bICj7 zjz3M_`t*0bE1&I9ZSLID1a^DYfj8cCff%E11kB;e_V2L9(^Aox-$ z2oJrw6%!u!^VO*6x5+V)Z_?w!H?rcdY`_x2*5L`E>xjh5uaQ?nUZbyutl^-+YXoS} z8u6Md0Q2w{fN^Fws0lg->Oy=0>q^KLD=PkVeM06kBL%%slS7`X#L=e9i|`&m<@h->I+^>-jfC>ah{!3c8`gy zovJ2sZ_+5j5lUs7gUnD264~kjJYUy`5$StT3S&1?XEdO6Mip9Tlwr2-Lqol@q5k4g zz`b||@F9VqDJc4lFf?VgDGL5nkdXhNF^w|A&ZXaG;5g&eMZ%Ht@-{~az1>#8()1Dd z`d*CK*n?7;jVO&ph1Qs*7_C`^)tR;nus$}hE*u4o7rcSsA_O!CM!jtbNqX55p7X3Z z7XPp*sbsb>yZR0b#k$2H2}Ua^Z4PR6`#@p6wl|+=u;N5!6GmxOW7M5etlHX&(^!Of zt!cYHHhcqE{zn1N-x~-oKtL-b;@{$+Yp=v%+0Vt%*acBy(VQ@Y_7g9!Zh}qVjna$7 z0~HnRT_v?TVa9oQkzu1s1whdJ2g~hrS9?PKQ@QhMcjakHyTZMG> z0Iyg(z%6O(uPABnv)9K4H(SFwM^Nu^8Z>(N0F7tphc=(s&CWphqnYl2No$QAww; zieuyn1ZECbY-Ms)1N8FN0Xj!#p|kZSd;QiRaX$)_ZZ4q3%?q@-2fgX?ihO4BkAE-} zmU3q#0d>uqLbmpxIEFTysHHi(L9QgVR?CVyxnfptX${Xz6N)TFRf>UvO6@=)PiHBr z(3|b`vEj@QK=i&jn z&OkOS9>EVs{KM|fM21gILeqvuVEG0sqO{qVUM=m!D=KxlYPOo9FKME6kyRXHZbPLx zODXHeH)#5^>e~8q#d@>7fY{a`vNgzEe*(?UPN3b{?XA(p``NHNx(;cbfw*Rt-y$FmG+^vEhcPpdmmnDzmE;4 ze*g++2cS850vJxZZd#qsu3mF@zjGVnIkgxZad9ph-ZdSc+ccKUsJ)yfs2IXZ=@x>D zY|7VU8;ja9dRZOm-TW?Om$)0z)!372Fm$7|ojvvfk|W!I*yVemI(Z1R9Y6NA@3_<2 zh?Dc;EqAA>yPkfR?n0nFcS6wW*(jp)dIFt40p~GC(?tcBvgE`;QX|1qq{f+<+VsAP zHdLQbpJuFUM;JBwlwL!Jy@1r#AamLSnjH^-&Lcmq4<0#s@A?Uc=_O~^;T5-_p8H;j z>bnq}bRmSyn~h;Irc!u?W0;!!kt}KUaJ~XRRH(uX(3{X!P7Bh)S0nmGn$&)!2HxLl zHz0G^2I`OR23m)`Z~G4JUl}{FcV^MS;nL~}_nyZt;p$b76v;2XncT%-3S$<^D7X%< zAWmQ_vq!T;_$&Dm%;kbQ^d(w-+C`Q!b*Q`nK2)hn9+WgD4Jz#h>JD!MjfZ!F&V9R| z4e!}?^Y%Z#yS#evSnrEt-sEpyI z&P=9b6X#Lmr*ZtpZzjNase;rxb{eADo zekb*7M~LK=b2Rt)xm5aUU2bG;7_qZ7X3R|%EBfd1 z(x@AJw!MJv+t1gAw{97m`+SRW{hRG-uS0uTEoJuBfpJ|}KDJ2&=TUS7;S5;6KNH9u;ph!nX*Ctp}Br9>>2QSG&E`tsA! z@jv~+bpMMl)Zp*mO2D4OTyXdl4V>~O1Mi^hcOj9O*O9TQ8?i9hi=>qJXNXkjQ*>JN z6C5gPjew4PoRc2$n1~5~M8bqUqGCfI7U4o3(ldfrS$KPm4sZFybbZSoHJe-iECt(l z^1zP=>A>+M3Amlj0uUcG2o6jE7eW)>K_j4VVNp^4g~wcYjf953!o-EW%7_nrNk|CU z%uWd2%u5W~$cLTZpuhsx3zGuYOOowny878Ct#hA!Dg|GC#REHb(80dFByi#g0k}J% zfbW?kaQ<8@2=|TxF@6ys!9Nrv2L=Pg`5=G_3Iv$o0Duee2bm!dkQE96IiY?Z^1^&S zkivc5Q|$)W2e*P!mmPrVcL;EU{{#5pUO*5X@}8Fvw^@Nmd&VWXMF>w5Mg5%vDw{d6`y7TPR?%=Sk(<+1$#i8(E^7 z8N5t9jZ;deFimxn=vMgzs-u1a*{hg94k)gmhZIBU_5mDQ1IO0D@jV0t=beBs#1jZ3 zf6&JB=UtbIW@J@1gUf~Lm{8QHY>){waRN~ zL&G(cNp%JNKSt*}s_8oc0QkGtKl*yT(R+8j_FXNn@4T~B)TdR8AR;1rDkwunmZx0IY-nz&REUc*%+Hx#?N2*f~WT%)-h?Gz50Fqn^0fitm^|+s3%wKR&L8j+!hj&@ z7!agpyyj&UKIIf3A2CbnS83J6MKZ2qzPXh-hof?5FkPanwF22hm8@qRsZm`ix2VU; z+?o+&zs6nBueDe9X-!pqI&T1~=RoxwI-_;~POLu=#D@aWv70baq1aA7qQMR zs#{}J;Fl#prFI8g=@ zgmRe;)h@HT)@ANSyUfzMb0%+mJg_6S13`ozkVGB^-7&F1aWwfi<%yhMmFe)uik!+d zc@cI&RM9-k#!$y-c;YU9HWkL_4kWI;T~PaasfzmsbGY zbD;lz2=@iT@SlJz;xJG|#Q=5uiMN`htY_M^!iU;y#ImXoeY3mb>^L7y8DZkM?v55I z)IwF6@GQNyQDjnL71nNy$tJ-#>;kOA#%*v~IgKuhH$EOXVZJ~Vx(~?1f`KYB3TR`K zUh5MxeleyN+%v&S7K}xxX%(XBqPT|A&&F~gIzehAlU3>#hF(tKo5f9Xn*gV`a~mOu zg@f$OCa0Cr!NF`Sl!A*IB8WMpDVhG`+BuW9BqVY+VEm)Jd>IG&}@R2@V^T;Iw+(( zD?aIde{$NwV0QN8xl@QC%Nd+QgY3}DYuMdFtVGDgD_LD+J*|^rCe!$~7D^99pqLzl z4m(6_ci5ZB4x2XsWBXqK!*dV>Zw2z8AA#o30bmLVdF_aZdfXSEur`{KbZayVHrAJq z=(86$S`6jwDiw+?meotxq9!Gc*Qz6N=w?C}*M?)tp$4WN!ZIKTM}zE5RENzQ9}mJq zKY*TtyMZpqA6O3uzvvAQTOW>#TAoOanYo;iH9DAA?sOG4=&hw>nZA<6RiQ=n?nVVk z(yYacD5eGh%UZ{m*lT!NsG0}a(JY6pp6RrD128=Yrsp6&_&rb_*aeJ%e(xNI0-p|q z20s{!4_TNw5j`=Uo_T&Wr_|bi8mn}ckOWpFlVPY4wrQ~4cqKuN=^-0x5X<=Rod>$egkFHWar zxW-^5x{-o<$$5Ay%T?alZb$L)mU=11cve}hCuxzoPD80yV1jFv<|3Wld`5ZBR3`Hd zV0jMQ1K$F<-+zJbCtm>h?Rq{Gu>0QCBfD-dM(>+kOpF+~k$TcHl?Cq^%R_T76cH(d zrBq^nB^%R=7NJ}?dAXxi35V#KLWr*`fE4>wgIUUMK;14Pmft|M!LQX&3TGPV1ye*u?qqvc_5_2SHNoR#j?1_i z<2r8oIOG)|@EnxB{{YZ`zFfb&>2EVjK7Sux_uT?L-Me4C5f~--B{YThBqopeII#rt zAib(;CAYqO366u`K@tjY)wJZ_#J1&L$G5|-kvg(wsnm=aChg=5pPn`??@XQ6dId;) z{|pS9|N3I^t3S=%`Qp=&b)T=Hms@>Rul58AUIxa{UWKL-U&iHPHj;}`>sg4>`}wHi zRXF<8G7^)&RNa`fh-rc?G~qMvG!xQqlZhwiY0as(x>{0h3R;tI%1GV-%FUm>bN=(w zxv9@T8GZD{=k`}V->Tki-N}EyH;4*?Vu&wP~w(bm~e=eaZ?Mle|pB9>2?KNV?1S3NU^7$?S#C{xCZC$N#fi zXF*LMb{xm;bh~z^GwpQS(V2Eyb=9t2@6~mYL+(3rhC@U|Adrwi0tq2t5<)^qNJ8#} z90YQZJAj}Z1zbW974g98S`kpRSc{5o#fx?2-wfUN_}GVi_`ZK;elNeD_rCe`H#XR? zQ48Dmh~YpG8$x1e5T9J}9+_FPoOP_|b#7k%QX%U23v5yLcLYqNpsI08-i?cJ9OLNlRmLEsHA?K#Nt~!zYnwFRJijklA zvaTTEC8yxAk*ojcxH)A8TR#@5Hcm0~_{!L50BmM2HF~21IB+ zq(PKBZ%Y{j?m$EMmnR_Z>!XkqkPhiVsgNC#1i7IJ zP!Ns)bVM9rBV(b|dw9yCqJb101>~4WsEUaIYHT<#V#9zH_aOmu+b6(0xDIM#wgNA4 zF9_3vK$IN|!hGZkuQ=x|yA1t;QB8P8WmP_=@M(`oQs#V_iv0ku3}qf`q*wP74Cb(HIb) zNL^_}=e*_O(JxpO!XlkXS*YgG|3#Lt=7~+52Lv5&uGA>FhqVf4i(TSbbhl)ts9!c+ zIPC3$e5!C#ehob-o4`!UeFdyl!+NNX+5*DEdq9Q^1bJpONOMv_j5_vKP*U`wzJjn= zTSHl(ap(`LM0F1;6x_LTt>7-+AezNlB{Nu;Y#MV~eg{3EoGKbsP8D8hn#5dHUM#-a zbPjvPXHe%g)Oiiu$Soj2>;Xk`04UR=L6MyTvb^kNQE}lCubi;RK1o?%)YUvZDPTXS zl=1EnHNshfUNT)`k>A0#E2l7Lnr@@ds%{ruRA0wjR*z#Zt39~OnzJPnJ_EMb!1fw= z5nDhOzZ;qo{XvC{f~F%$pv*nGEGE*BT4i@i zEy~-t4%I)3do{PvBib973GF59gw|7Xsd=#UlCB@`yH!KI*C2@442rnjpg!ymn&b%3 zq$h&OcRVK^VRnnqqf>CjKBaCx(L#nE=gMneQ~Yd9Rdc z+;a)O;xWI9{*cXL&(#P7vsDVo6iKJNNib_BOFMK|aDA;4*irpx=>`2D{(_;W?7X3~ z{Jg=$+6U>j$lfFwiF>K%bHRt|ce;r507ZsKgN;iOJOaJVxDg zT?79HT_U|oQLDyDhUW8S_Ery}+vvuhH4PBPOsC7o+B%41ZFbU_$x`9FRRh;=JxD@7 z15M-(Xo)@mhPV(gCB?0n(vYu>*~gyi^NRl6j3L}tlB({AY0T>l_54fBM%frmp>|j4 zT87AGLqD;-t*5--++99uagjzXR`RIDRC&&9p!g2BKN@6SgEnFZ=p(-ZQ*1Dp6Jp+3 zk;zMztfNoNxds0;qDy9UMDle-HFLa?$@g%0vLU8K(??Ucc2^rrot1WrlYH80C%bKJ zl^&a+%45}4k6N|WqZVJS8XCL?MaU-5g>468#C|Zx1c40^_12M+_}rP9@yK~Rcg}{v z+%ym>Ce)N#kF?)earlfhS zzJi7y4a(q6&=UFun8NmfH7a1m86WYgBN_4ZR0eXsD<^xp9bI_MTv{=vtEe4PQu#e% zmb`<<*V^i(dJ|J)ZebX0TDr@jqW3!h7eMI0m2|gLUgLJi7$Y_*!{f761J7$v1#g7b z;J<=7^h~V^i!%iW~?Pz3;*uB|&1w5~T?=`3oZ3M%iZD0x61Fmqt<*u0E z?|Kp<9}T3%-yO_BPM#@1jk&PI!L~9+R||z_SJ7og8C#W1EvD=ycUKo^>$=!%h~@ZD;XD zdn};=tXBl;Er9k0g7($<6ESFC;j-a5RIfoU5`@Bw`a? z)u3m$Fm;V4npSD0s9Wt7Du;up?sJkcUY`$7GNWNMJt$u$3tKVkmJh*MS zKXAu0PuQ-9R}edIPbLP9k7pzejppQ@8Y;k>`--XBZbH4Zoh;)0m)-jOYr??eI8Hf5 z?P;sko~O`OPXzlq#bc-l0ot`nlUAPEivhQ+_Q;A*$yT@%}APC0~}EWnL;Mr`D8IkZP)`h&2sW#M+iha>e~h zYME}3t8FN@+y)n{cEV4V-+ykh*tPiJ(5~?w2cv;eSCdCWzBadef_>^bBcm_0VW_9> z$Fdb_njrIbLKg3rl>Fo-{>ixOQWd2!{|w=p>O8igvJ7*rz8u|nuMB(TVLASiZji5S zC^7#As?4`Tz1hy?I|p`7cbab>96h?DW87umy)j?w#-Sju>b?kMX*Y_L-%d!Bv{BR2 z9>$B4@3ZBMmh^mbv!n>G&MQW%RjO!pWl5yEz69CaToQTfQEBvzM`v__0&T;&gIl2X zz&5zC@7wubO}=?P{Nq>c6NkTRo;q%JecZ#ob`0Tjb|f^S@Od;r){l!z@1>-$o-+B2 zZnl`z#m~ZZN)@Qi{QSrcRbfO&r82DZsxq|eo-*`tcTw1bt`oX|QrmE0|5s3F^7WGX zhfOc~4A*r`m~L&>SnX+?wX>|5c6B;4>Fr-I9vCHg8BXMlp%_Uoh{?23I)^x#%*TwR z38RN4V&qVsEPU`(cIZHvJb2);){UH?fi`(if4@#pY`g(#OuqcwWVB(bbIaP!@$Ku? z3ntsIEn4iWUa++;op*LCnDY*l%mqgAG!ghjO$?PXi)RvMXvvtVq?DKm9yju(C@o@4 z&JTT2CtX!d+@LN>V>~=Z1`YebaBai zf60=qP5zRLyLibbfVUKcOk9dUQ{SP8ghe6+Gf$^SYm%7ASx#d3j36m=TFMHZQltb; z7NrJElyLkf%D8^xwLHXlola0~q_4TP@r#c34SLOE8`oU@W5?#o71Ld+PZnl*pX_YK zpIu$K;EPCr;1KFZBohBS8ioE4i;a3uCq%qWhz)y_LJnC>rv$wg(E=8-=>GG048&Yf zoUca3^wE^Xd(T!S=(60fNw2+Sz24m?>-Fkie`QbshFed=kGpfh$}AHcj&i}>F&+>e z6bMG(02vtb86ApTA%=&2q#;B8h>r^T4=X0%cMi&LnU6+%$i(<8WnsOSa&cboi}0TB zR0NNAXNkIW++3@7yVXFieqh}f7hv=HQ}Dw!1?=A?f+PRrfTI-?+-*tV>xhA1*C;@G zh6Bnw1PH!?K=JbjMgRg50)2oTN;RHfYN04YwsodKE@^rfLP+zaSUtjO!@|XH@_}e-m z7=O)%1KVj}`8^J7jHAG5UnqF)4*|qxm9&rY;wIk51j|20l z10>qm1KY+9xVFb2{g@4iv?O-AK(es`unuhowzCmrc$tDY&=MpO_8>-kfPfSTyg1|v zI~BW}C?dU&%VE5sDHC2(RLS$P=Tqhgl^hMemN$#NlJ*MIm_CEP$)7>BWK5$T3#MZF z1Y_tS!87crpcnUIRsV1Jvw@{;U~3yvos6_oG6iXX1<1nfK#KAJ5itPL8OV>RZ0vHf zko-PAoAHKTn7BYa&6*>fOVto7xU=}$v{$$*{26Rx#x&-ZU>bd2IECsIj-#H5hA~5; zr??SO7k+iX);6SQ8+eXJAoehYY(ERg3AF=xv^z-g0U)FyKk|~W%PD;FyChlMA~Qc} zo>rWqp`7KuimgbWA=YM0|hbgOt0-6I~s4vKs5!{T+)Y4%Fo(R5V~`u^26C)FNXQW@8S&Ug{C1$=($W5MOoJgIemZr^+FJw#; zYlM@8y37gO4e#;0MyzBqFw5yF2Bo1V^#y*p)N&Pu@$gBHb14r8+vNr^U>t0a$9E1}AHc%Ai z0)^2C$R&iY$f%fQVG{W*kI!6S%UGJk0^UsA>5M6AS>^<(M*5OipY{(VWZz{f6Fit-w8KYEZjl|aFJSW~%^b=ZhpAdWVT1h>5cPTyj zKU1F;G|-+FT&1rLxY`Du)fSK)+X;ov#&F8x0H}P9fGW@tPKSG~6r+MaD2dUF3I

                            e`TQEE19 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¥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%0D5+2f~OYWrwDevtijD{8Jjw9uFo5gGg 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

                            + + diff --git a/bueno/style.css b/bueno/style.css new file mode 100755 index 0000000..6a53678 --- /dev/null +++ b/bueno/style.css @@ -0,0 +1,371 @@ +/* +Theme Name: Bueno +Version: 1.8.0 +Description: Designed by WooThemes. +Author: WooThemes +Author URI: http://www.woothemes.com + +Copyright: (c) 2009 WooThemes. + License: GNU General Public License v2.0 + License URI: http://www.gnu.org/licenses/gpl-2.0.html + +*/ + +/* + +WARNING! DO NOT EDIT THIS FILE! + +To make it easy to update your theme, you should not edit the styles in this file. Instead use +the custom.css file to add your styles. You can copy a style from this file and paste it in +custom.css and it will override the style in this file. You have been warned! :) + +*/ + +/* Default styles */ +@import "css/reset.css"; + +/*------------------------------------------------------------------------------------------- + +INDEX: + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks + +2. SITE STRUCTURE & APPEARANCE +-2.1 Containers & Columns +-2.2 Navigation +-2.2.1 Drop-down menus +-2.3 Header +-2.4 Content +-2.5 Sidebar +-2.6 Extended Footer +-2.7 Footer + +3. POSTS +-3.1 Typographic Elements +-3.2 Images +-3.3 Pagination / WP-Pagenavi + +4. WIDGETS +-4.1 Generic Widgets +-4.2 Specific Widgets +-4.3 Extended Footer Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Pingbacks / Trackbacks +-5.3 Comments Form +-5.4 Gravity forms + +-------------------------------------------------------------------------------------------*/ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ + +/* 1.1 Defaults */ + +body { font: 14px Georgia, Times, Serif; line-height: 1.5; color: #7a7a7a; } + +h1, h2, h3, h4, h5, h6 { margin: 0; font-family: 'Anton', arial, serif; color: #000; } +h1 {font-size: 30px;} h2 {font-size: 24px;} h3 {font-size: 20px;} h4 {font-size: 18px;} h5 {font-size: 14px;} h6 {font-size: 12px;} + +p {margin: 0;} + +/* 1.2 Hyperlinks */ + +h1 a:link, h1 a:visited, h2 a:link, h2 a:visited, h3 a:link, h3 a:visited, +h4 a:link, h4 a:visited, h5 a:link, h5 a:visited, h6 a:link, h6 a:visited { text-decoration: none; } +h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {text-decoration: underline;} + + + +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ + +/* 2.1 Containers & Columns */ +#container { +} + +.col-left { float: left; } +.col-right { float: right; } +.col-full { width: 940px; margin: 0 auto; } + +/* 2.2 Navigation */ + +#navigation { text-transform: uppercase; font-size:11px; background-color: #000; } +.nav, .nav ul { z-index:100; margin:0; padding:0; list-style:none; line-height:1; } +.nav li { float:left; width: auto; } + +/* 2.2.1 Drop-down menus */ +.nav li ul { position: absolute; left: -999em; width: 160px; } +.nav li ul li { border: 1px solid #d8d8d8; background: #FFF; border-width: 0 1px 1px; } +.nav li ul li a { width:148px; line-height:25px!important; font-size:11px; color:#555!important; padding: 0 0 0 10px; } +.nav li ul ul { margin: -26px 0 0 158px!important; } +.nav li ul ul li a { } +.nav li ul li ul li a { } +.nav li:hover ul ul, .nav li:hover ul ul ul, .nav li:hover ul ul ul ul, .nav li.sfhover ul ul, .nav li.sfhover ul ul ul, .nav li.sfhover ul ul ul ul { left: -999em; } +.nav li:hover ul, .nav li li:hover ul, .nav li li li:hover ul, .nav li li li li:hover ul, .nav li.sfhover ul, .nav li li.sfhover ul, .nav li li li.sfhover ul, .nav li li li li.sfhover ul { left: auto;} +.nav li:hover,.nav li.hover { position:static; } + + +/* CATEGORY NAVIGATION */ +#catnav { width: 620px; } +#catnav a:link, #catnav a:visited { display:block; z-index:100; padding:0 20px 0 0; line-height:55px; font-family: Helvetica, Arial, sans-serif; text-decoration: none; color: #fff; } +#catnav a:hover { text-decoration: underline; } +#catnav li ul { margin-top: -15px; border-top: 1px solid #d8d8d8; } +#catnav li ul a:link, #catnav li ul a:visited { padding: 0 0 0 10px; } +#catnav li ul a:hover { color: #000!important; background: #d8d8d8; } + +/* PAGES NAVIGATION */ +#pagenav { margin-top: 20px; } +#pagenav a { display:block; z-index:100; margin: 0; padding:0 15px 10px 15px; text-decoration: none; text-transform: uppercase; font-size: 25px; font-family: 'Anton', Helvetica, arial, sans-serif; color: #000; } +#pagenav li ul a:link, #pagenav li ul a:visited { padding: 0 0 0 10px; font-family: Helvetica, Arial, sans-serif !important; font-size: 14px; text-transform: none; border: none; } +#pagenav li.rss a { padding-right: 25px; } + + + +/* 2.3 Header */ +#topsearch { width: 300px; line-height: 0; } +#topsearch #searchform_top { margin: 14px 0 0 0; } + +#header{padding:45px 0;clear:both;position:relative;} + +#logo { } +#logo img { } +#logo .site-title a { font-family: 'Anton', arial, serif;color:#222; font-size:48px; line-height:48px; text-transform:uppercase; font-weight:normal; text-decoration:none; } +#logo .site-title a:hover { text-decoration:underline; } +#logo .site-description { color:#999; font:italic 14px Georgia, serif; } +#logo .site-title, #logo .site-description { display:none; } + +/* 2.4 Content */ +#content{min-height:550px;padding:0;} +* html #content{height:550px;} + +#main{width:620px;} +#main.fullwidth { width: 940px; } + +/* 2.5 Sidebar */ +#sidebar{width:300px;overflow:hidden;} + +/* 2.6 Extended Footer */ +#extended-footer { margin: 50px 0 0 0; padding: 40px 0; } +.block { float: left; width: 300px; padding: 0 10px 0 0; } +.one, .two { margin: 0 9px 0 0; } +.three { padding: 0; } + +/* 2.7 Footer */ +#footer { font-family: Helvetica, Arial, sans-serif; font-size: 11px; padding: 20px 0; background-color: #000; color: #fff; text-transform: uppercase; } +#footer a:link, #footer a:visited { color: #fff; } +#footer p { margin: 5px 0 0 0; } +#footer #credit img { vertical-align: middle; } +#footer #credit span { display: none; } + + + +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ + +#breadcrumb, .archive_header { font-family: Helvetica, Arial, sans-serif; display: block; margin:10px 0; padding: 0 55px; font-size: 18px; font-weight: bold; color: #000; } +#breadcrumb { font-size: 14px; font-weight: normal; padding: 0; } +.archive_header .catrss a { font-size: 14px; text-decoration: none; line-height: 28px; } + +.post { position: relative; margin: 0 0 60px 0; padding: 40px 55px; background-color: #fff; border: 5px solid #efefef; } + +.post .title { width:100%; position:relative; margin: 0 0 30px 0; padding: 0 0 25px 0; color: #000; border-bottom: 1px solid #e7e7e7; font-size: 32px; } +.post .title a:link, .post .title a:visited { color: #000; } +.post .title a:hover { text-decoration: none; } + +.post .date { position: absolute; top: 30px; left: -40px; width: 71px; height: 60px; padding: 10px 0 0 0; text-align: center; color: #fff; } + +.post .date .day { display: block; font-size: 36px; line-height: 32px; } +.post .date .month { display: block; font-size: 12px; text-transform: uppercase; font-weight: bold; } + +.post-meta { margin: 30px 0 0 0; font-size: 11px; color: #9F9F9F; border-top: 1px solid #c4c4c4; border-bottom: 1px solid #c4c4c4; } + +.post-meta li { float: left; width: 154px; padding: 10px 0 7px 10px; } +.post-meta li.categories { border-left: 1px solid #e7e7e7; border-right: 1px solid #e7e7e7; } +.post-meta li span { display: block; } +.post-meta li .head { font-size: 10px; text-transform: uppercase; font-weight: bold; font-family: Helvetica, Arial, sans-serif; color: #000; } +.post-meta li .body, .post-meta li .body a:link, .post-meta li .body a:visited { font-size: 13px; color: #7a7a7a; font-style: italic; text-decoration: none; } + +.post img.thumbnail { margin: 0 0 20px 0; } + +.post #nav-below{ margin: 20px 0 0 0;} + +.entry {} + +/* 3.1 Typographic Elements */ +.entry h1 {} .entry h2 {} .entry h3 {} .entry h4 {} .entry h5 {} .entry h6 {} +.entry h1, .entry h2, .entry h3, .entry h4, .entry h5, .entry h6 { margin: 0 0 15px 0; } + +.entry p { margin: 0 0 15px 0; } + +.entry blockquote { padding: 10px 30px; color: #666; font-style: italic; font-size: 16px; } +.entry blockquote p {} + +.entry ul { margin: 0 0 15px 0; padding: 0 0 0 30px; } +.entry ul ul { margin: 0; } +.entry ul li { list-style-type: circle; } +.entry ul ul li { list-style-type: disc; } + +.entry ol { margin: 0 0 15px 0; padding: 0 0 0 30px; } +.entry ol ol { margin: 0; } +.entry ol li { list-style-type: upper-latin; } +.entry ol li ol li { list-style-type: lower-latin; } + +/* 3.2 Images */ +img.wp-smiley { padding: 0; border: none; } + +.entry .alignleft { float: left; width: auto; margin: 10px 15px 10px 0; } +.entry .alignright { float: right; width: auto; margin: 10px 0 10px 15px; } +.entry .aligncenter { text-align: center; } + +.entry img.aligncenter { margin-left:auto; margin-right:auto; display:block; } + +.entry .wp-caption { padding: 1px; text-align:center; background:#F8F8F4; border: solid 1px #e6e6e6; } +.entry .wp-caption img{ margin:0; padding:4px 0; background:none; border:0; } +.entry .wp-caption-text { margin:0; padding:0; font-size:11px; text-align:center; } + +/* 3.3 Pagination / WP-Pagenavi */ +.more_entries { margin-top: -30px; padding: 10px 55px; background-color: #fff; border: 5px solid #efefef; } +.more_entries a { display: block; margin: 0 0 0 0; text-transform: uppercase; font-weight: bold; text-decoration: none; } + +.more_entries .wp-pagenavi { margin: 0; text-align: center; } +.more_entries .wp-pagenavi a:link, +.more_entries .wp-pagenavi a:visited { display: inline; text-decoration: none !important; padding: 4px 6px!important; } +.more_entries .wp-pagenavi .current, +.more_entries .wp-pagenavi .on, +.more_entries .wp-pagenavi a:hover { padding: 4px 7px; font-weight: bold; } +.more_entries .wp-pagenavi .extend { background:none; border:none; } + + +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 4.1 Generic Widgets */ +.widget { margin: 0 0 30px 0; } +.widget h3 { margin: 0; padding: 10px 0; text-transform:uppercase; color: #404040; font-weight:normal; } + +.widget ul { clear:both; } +.widget ul li {} +.widget ul li a:link, .widget ul li a:visited { display: block; padding: 0 0 0 25px; line-height: 30px; text-decoration: none; color:#666; } +.widget ul ul { padding: 0 0 0 15px; border-top: none; } + +.widget_recent_comments li, #twitter li { padding: 6px 0 6px 10px; line-height: 18px; } /* RESET LI STYLING FOR RECENT COMMENT & TWITTER */ +.widget_recent_comments li a, #twitter a { display: inline; padding: 0; line-height: 18px!important; background: none!important; border: none!important; } /* RESET STYLING FOR RECENT COMMENT & TWITTER */ + + +/* 4.2 Specific Widgets */ + +/* FEATURED POSTS */ + +#featured li { float: left; width: 300px; padding: 10px 0; list-style: none; } +#featured li a { padding: 0; background: none; border: none; } +#featured span { display: block; } +#featured span.thumb { float: left; width: 80px; } +#featured .right { float: right; width: 200px; font-size: 12px; line-height: 18px; } +#featured .right h4 { margin: 0 0 5px 0; font-size: 16px; line-height: 18px; font-weight:normal; } +#featured .right h4 a { line-height: 18px; } + +/* WIDGET FORMS */ +#searchform { margin: 15px 0 0 0; } +input#s, input.field { float: left; width: 216px; padding: 5px 0 5px 5px; } +input.submit { display:block; float: right; line-height: 17px; border: none; padding: 4px 5px; color: #fff; text-shadow: 1px 1px 0 #424242; text-transform: uppercase; font-size: 12px; } +.widget .screen-reader-text { display: none; } + +/* FLICKR */ +.widget_woo_flickr h3 {} +.widget_woo_flickr h3 span{ color:#0061D8; } +.widget_woo_flickr h3 span span{ color:#FF1183; } +.widget_woo_flickr .flickr_badge_image { width: 75px; float: left; margin: 15px 34px 0 0; } +.widget_woo_flickr .pictures { margin-right: -28px; } +.widget_woo_flickr a img { float: left; display: block;} + +/* LIFESTREAM */ +.widget_lifestream ul li a { border:none; background:none!important; } +.widget_lifestream ul .lifestream_meta { color: inherit; } + +/* TEXT WIDGET */ +.textwidget { padding: 10px 0; } + +/* CALENDAR */ +#wp-calendar{width:95%;margin-bottom:15px;clear:both;padding:0;} +#wp-calendar caption{padding:10px;} +#wp-calendar th,#wp-calendar td{text-align:center;padding:5px;} +#wp-calendar td{background:transparent;} +#wp-calendar td,table#wp-calendar th{padding:3px 0;} + +/* 4.3 Extended Footer Widgets */ +#extended-footer .widget { margin: 0 0 30px 0; padding: 0 10px; } +#extended-footer .widget h3 { font-size: 16px; margin: 0 0 10px 0; padding: 0; border-bottom: none; } +#extended-footer .widget ul li a { padding: 0; line-height: 24px; background: none; border-bottom: none; } +#extended-footer .widget ul li a:hover { background: none; } + +#extended-footer .textwidget { padding: 0; } +#extended-footer #flickr .flickr_badge_image { width: 75px; float: left; margin: 15px 25px 0 0; } +#extended-footer #flickr .pictures { margin-right: -28px; } +#extended-footer input#s, #extended-footer input.field { width: 210px; } +#extended-footer #advert_300x250 { padding-left: 0; padding-right: 0; } +#extended-footer .ads125 img { margin: 14px 13px 0 0; } +#extended-footer .widget_recent_comments li, #extended-footer #twitter li { padding: 6px 0 6px 0; } + +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 5.1 Comments */ +#comments { position:relative; margin: 0 0 60px 0; padding: 50px 55px; background-color: #fff; border: 5px solid #efefef; } +#comments h3{ margin: 0 0 20px 0; } +#comments .comment{margin-top:10px;width:100%;list-style-type:none;} +#comments .comment .comment-container { padding: 10px 0; border-bottom: 3px solid #eee;} +#comments .comment-head { margin: 0 0 15px 0; } +#comments .comment-head .avatar { float: left; } +#comments .comment-head .avatar img{margin: 0 10px 0 0;vertical-align: middle;border:3px solid #eee;} +#comments .comment-head .name { display: block; margin: 0 0 -5px 0; font-weight: bold; font-size: 15px; } +#comments .comment-head .date, #comments .comment-head .edit, #comments .comment-head .perma { font-size: 11px; } +#comments .comment-entry p { margin: 0 0 10px 0;} + +#comments ul.children{margin:10px 0 0 25px;padding:0;} +#comments .cancel-comment-reply a, #comments .comment-reply-link { text-transform: uppercase; font-family: helvetica, arial, sans-serif; font-weight: bold; text-decoration: none; font-size: 11px;} + +#comments .navigation { } +#comments .navigation a{ display: block; margin: 15px 0 0 0; text-decoration: none; } +#comments .navigation a:hover{} + +/* 5.2 Pingbacks / Trackbacks */ +#pings { margin: 0 0 60px 0; padding: 50px 55px; background-color: #fff; border: 5px solid #efefef; } +#pings h3 { margin: 0 0 20px 0; } +.pinglist li { margin: 0 0 0 20px; list-style-type: decimal; } +.pinglist li .author { font-weight: bold; font-size: 15px; } +.pinglist li .date { font-size: 11px; } +.pinglist li .pingcontent { display: block; margin: 10px 0; } + +/* 5.3 Comments Form */ +#respond { margin: 15px 0 0 0; padding: 50px 55px; background-color: #fff; border: 5px solid #efefef; } +#comments #respond { padding: 20px 0; margin: 0; border: none; } +#comments #respond h3 { margin-bottom: 0; } +#respond h3 { } + +#commentform { margin: 15px 0 0 0; } +#commentform input.txt { width: 260px; margin: 0 5px 10px 0; padding: 7px 5px; border: 1px solid #eee; } +#commentform label { font-family: Helvetica, Arial, sans-serif; font-size: 11px; text-transform: uppercase; font-weight: bold; } +#commentform textarea { width: 95%!important; padding: 5px; border: 1px solid #eee; } +#commentform #submit { border: none; margin: 20px 0 0 0; padding: 4px 10px; color: #fff; text-shadow: 1px 1px 0 #424242; text-transform: uppercase; font-size: 12px; } + +/* 5.4 Gravity forms */ +.gfield { margin-bottom: 10px; } +.gform_wrapper .top_label .gfield_label { display:block; padding-right:20px; width: 100px; margin: 5px 0px 4px !important; } +.gform_wrapper input.button { padding: 4px 10px 4px !important; color: #fff !important; text-shadow: 1px 1px 0 #424242; text-transform: uppercase; font-size: 12px !important; } +.gform_wrapper input { padding: 7px 3px !important; border: 1px solid #EEE; } +.gform_wrapper .top_label input.large, .gform_wrapper .top_label select.large, .gform_wrapper .top_label textarea.textarea { width: 350px !important; padding: 7px 3px !important; border: 1px solid #EEE; } +.gform_wrapper .entry img, .gform_wrapper img.thumbnail { padding: 0px !important; border: 0px !important; } +ul.top_label .clear-multi { clear: none !important; } +.gform_wrapper .gfield_checkbox, .gform_wrapper .gfield_radio { margin-left: 120px !important; } +img.ui-datepicker-trigger { border: 0px !important; padding: 0px; } \ No newline at end of file diff --git a/bueno/styles/blue.css b/bueno/styles/blue.css new file mode 100644 index 0000000..3f30eb1 --- /dev/null +++ b/bueno/styles/blue.css @@ -0,0 +1,143 @@ +/* Blue Colors Stylesheet */ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ + +/* 1.1 Defaults */ + +body { background: #fff url(blue/bodytile.jpg) repeat left top; } + +/* 1.2 Hyperlinks */ + +a:link, a:visited { color: #17517b; } +a:hover {} + + + +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ + +/* 2.1 Containers & Columns */ + + +/* 2.2 Navigation */ + + +/* 2.2.1 Drop-down menus */ + + + +/* CATEGORY NAVIGATION */ + +/* PAGES NAVIGATION */ +#pagenav a { border-bottom: 4px solid #9fcef1; } +#pagenav li.current_page_item a, #pagenav li a:hover, #pagenav li.current-menu-item a { border-color: #17517b; } +#pagenav li ul { border-top: 1px solid #9fcef1; } +#pagenav li ul li { border-color: #9fcef1; } +#pagenav li ul a:hover { color: #fff!important; background: #17517b; } +#pagenav li.rss a { color: #17517b; background: url(blue/ico-rss.png) no-repeat right 4px; } + + + +/* 2.3 Header */ + + +/* 2.4 Content */ + + +/* 2.5 Sidebar */ + + +/* 2.6 Extended Footer */ +#extended-footer { background-color: #9fcef1; } +.one, .two { border-right: 1px solid #7ebdec; } + +/* 2.7 Footer */ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ + +.post .date { background: url(blue/date.png) no-repeat left top; } + +.post-meta li .body a:hover { color: #17517b; } + + +/* 3.1 Typographic Elements */ + +/* 3.2 Images */ +.post img.thumbnail { border: 5px solid #9fcef1; } +.entry img { border: 5px solid #9fcef1; } + +/* 3.3 Pagination / WP-Pagenavi */ + +.more_entries .wp-pagenavi a:link, +.more_entries .wp-pagenavi a:visited { color: #17517b; } +.more_entries .wp-pagenavi .current, +.more_entries .wp-pagenavi .on, +.more_entries .wp-pagenavi a:hover { background: #9fcef1 !important; color: #17517b; } + + +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 4.1 Generic Widgets */ +.widget h3 { border-bottom: 1px solid #17517b; } + +.widget ul li a:link, .widget ul li a:visited { background: url(blue/bullet.png) no-repeat 10px center; border-bottom: 1px solid #9fcef1; } +.widget ul li a:hover { color: #17517b; background: url(blue/bullet_hover.png) no-repeat 10px center; font-weight: bold; } + +.widget_recent_comments li, #twitter li { border-bottom: 1px solid #9fcef1; } /* RESET LI STYLING FOR RECENT COMMENT & TWITTER */ +.widget_recent_comments li a, #twitter a { color: #17517b!important; } /* RESET STYLING FOR RECENT COMMENT & TWITTER */ + + +/* 4.2 Specific Widgets */ + +/* FEATURED POSTS */ + +#featured li { border-bottom: 1px solid #9fcef1; } +#featured span.thumb img { border: 5px solid #9fcef1; } +#featured span.thumb img:hover { border-color: #17517b; } + +/* WIDGET FORMS */ +input#s, input.field { border: 1px solid #9fcef1; } +input#s:focus, input.field:focus { border: 1px solid #17517b; } +input.submit { background-color: #17517b; } + +/* FLICKR */ +.widget_woo_flickr a img { border: #9fcef1 3px solid;} +.widget_woo_flickr a:hover img { border:#17517b 3px solid; } + +/* LIFESTREAM */ +.widget_lifestream ul li { border-bottom: 1px solid #9fcef1; } + +/* TEXT WIDGET */ + +/* CALENDAR */ +#wp-calendar th,#wp-calendar td{background:#9fcef1;} +#wp-calendar th { color: #17517b; } + +/* 4.3 Extended Footer Widgets */ + + +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 5.1 Comments */ + + +/* 5.2 Pingbacks / Trackbacks */ + +/* 5.3 Comments Form */ +#commentform #submit { background-color: #17517b; } + +/* 5.4 Gravity forms */ +.gform_wrapper input.button { background-color: #17517b; } diff --git a/bueno/styles/blue/bodytile.jpg b/bueno/styles/blue/bodytile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7fbf5854116d871a603c053f31a2902f929df40d GIT binary patch literal 63637 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 literal 0 HcmV?d00001 diff --git a/bueno/styles/blue/bullet.png b/bueno/styles/blue/bullet.png new file mode 100755 index 0000000000000000000000000000000000000000..e1b9d3a8f1a163e9ab35355eea90fa5f33e4dbbc GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gww^AIAr-fh)~s4JDJ>yk2HO!ihds<4n-X01aaBboFyt=akR{0J@ef AA^-pY literal 0 HcmV?d00001 diff --git a/bueno/styles/blue/bullet_hover.png b/bueno/styles/blue/bullet_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..d7f5ded0e2387b28806fc532f755590782859657 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gww^AIAr-fhMEKWCOG`+Y!FEK>VGnc1=7@$PH40^^4Gi`Q z&(fKMrtz#eAf!?uRCwC#oMB`fK@`U)n+PElLL`*b zkw}Da74oSZjZ`TmB}zC_qNG$m)J3>xsYJO@r8H8lRzs+AA4;i2PeZ>(j}R)6BOFI4 zr{O*weeb-{-OX(7ZnL|0yZiq99Z7cg&F^O4yqVceOYc-tc&Ki03_L&{qo0o{{&rXQ zc}U&?|8X*)LVDTqcWoX3xdy%so&-nhIL-=O7Q7Aq0{-b{;BLXW489MJgCh=~J4#M~ zbKni|8*tv~MraP7uM7Mfd;osp0vNL*be#jbZdWtHX$L<7AAuLa9l~36&~=X}j`n7O z6Q^(PB_-TOs+;0Cptu?arw6dYm4Ia6b_C+zi0$%W=&F@F|Xjvf`8D6 zMu;g)X))W+zBAiN^dyl55X(Azo6EW95W;lx? z+)7x%!TWABi(B`oY5sM1j`b3HHvTsn1gycfpB`5gHk;Rr;|A-)yZ(G zz+qVk;hZuCrA`@66*wo%L8%jjlVc7_3B?dairV;%-=>*4J4kp6!NmxGjqQwDD`mx?wa8JG2NP#es}$UzThmunue2fb!j z1qbya%ZW`a8E3}M!I}f#2zJ-wCWCTJaZOyL zhdc3<1$NhA@MCbX!BC16$FQB-$PGBMn#P5)EA(0N7)ptft)ti1T>9n)!Ow*IJE?iP z&L9obj`rL(7lVFE#s|P}k%t^O_iyl5a>h;aUi{Cl3>kYAKAagNNca>hzQTmBE{|Bu p>+tr#MgK#Bf;*9(?XUe4U;y&j!enfXqK^Oo002ovPDHLkV1m{T?IZvI literal 0 HcmV?d00001 diff --git a/bueno/styles/blue/ico-rss.png b/bueno/styles/blue/ico-rss.png new file mode 100644 index 0000000000000000000000000000000000000000..73cce25a404a570384bab446347659f416122b48 GIT binary patch literal 395 zcmV;60d)R}P)NKnDLGZsDN~ks6bS}qc`aw_RJnTJL_a;zRADKFT3CFrP&_MtHw79P!2kS z(ngJV9M|uoV)uKXDd+@xf|j754p4cXSwI51A@DD#1qwkU&=$*+fESSVflBnndNKp` zQ3s*y3m$8iX0wVBSg`Ce31&eRDnllL0xu($baCa=vNl p3;IV!#?4VdYLA6Z{*9La0|2ptOlc=6ce(%o002ovPDHLkV1k*msq6p% literal 0 HcmV?d00001 diff --git a/bueno/styles/brown.css b/bueno/styles/brown.css new file mode 100644 index 0000000..81d271c --- /dev/null +++ b/bueno/styles/brown.css @@ -0,0 +1,145 @@ +/* Brown Colors Stylesheet */ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ + +/* 1.1 Defaults */ + +body { background: #fff url(brown/bodytile.jpg) repeat left top; } + +/* 1.2 Hyperlinks */ + +a:link, a:visited { color: #472300; } +a:hover {} + + + +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ + +/* 2.1 Containers & Columns */ + + +/* 2.2 Navigation */ + + +/* 2.2.1 Drop-down menus */ + + + +/* CATEGORY NAVIGATION */ + +/* PAGES NAVIGATION */ +#pagenav a { border-bottom: 4px solid #d3975d; } +#pagenav li.current_page_item a, #pagenav li a:hover, #pagenav li.current-menu-item a { border-color: #472300; } +#pagenav li ul { border-top: 1px solid #d3975d; } +#pagenav li ul li { border-color: #d3975d; } +#pagenav li ul a:hover { color: #fff!important; background: #472300; } +#pagenav li.rss a { color: #472300; background: url(brown/ico-rss.png) no-repeat right 4px; } + + + +/* 2.3 Header */ + + +/* 2.4 Content */ + + +/* 2.5 Sidebar */ + + +/* 2.6 Extended Footer */ +#extended-footer { background-color: #d3975d; color: #824b15; } +#extended-footer .widget h3 { color: #472300; } +#extended-footer li a:link, #extended-footer li a:visited { color:#824b15; } +.one, .two { border-right: 1px solid #b87b40; } + +/* 2.7 Footer */ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ + +.post .date { background: url(brown/date.png) no-repeat left top; } + +.post-meta li .body a:hover { color: #472300; } + + +/* 3.1 Typographic Elements */ + +/* 3.2 Images */ +.post img.thumbnail { border: 5px solid #d3975d; } +.entry img { border: 5px solid #d3975d; } + +/* 3.3 Pagination / WP-Pagenavi */ + +.more_entries .wp-pagenavi a:link, +.more_entries .wp-pagenavi a:visited { color: #472300; } +.more_entries .wp-pagenavi .current, +.more_entries .wp-pagenavi .on, +.more_entries .wp-pagenavi a:hover { background: #d3975d !important; color: #472300; } + + +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 4.1 Generic Widgets */ +.widget h3 { border-bottom: 1px solid #472300; } + +.widget ul li a:link, .widget ul li a:visited { background: url(brown/bullet.png) no-repeat 10px center; border-bottom: 1px solid #d3975d; } +.widget ul li a:hover { color: #472300; background: url(brown/bullet_hover.png) no-repeat 10px center; font-weight: bold; } + +.widget_recent_comments li, #twitter li { border-bottom: 1px solid #d3975d; } /* RESET LI STYLING FOR RECENT COMMENT & TWITTER */ +.widget_recent_comments li a, #twitter a { color: #472300!important; } /* RESET STYLING FOR RECENT COMMENT & TWITTER */ + + +/* 4.2 Specific Widgets */ + +/* FEATURED POSTS */ + +#featured li { border-bottom: 1px solid #d3975d; } +#featured span.thumb img { border: 5px solid #d3975d; } +#featured span.thumb img:hover { border-color: #472300; } + +/* WIDGET FORMS */ +input#s, input.field { border: 1px solid #d3975d; } +input#s:focus, input.field:focus { border: 1px solid #472300; } +input.submit { background-color: #472300; } + +/* FLICKR */ +.widget_woo_flickr a img { border: #d3975d 3px solid;} +.widget_woo_flickr a:hover img { border:#472300 3px solid; } + +/* LIFESTREAM */ +.widget_lifestream ul li { border-bottom: 1px solid #d3975d; } + +/* TEXT WIDGET */ + +/* CALENDAR */ +#wp-calendar th,#wp-calendar td{background:#d3975d;} +#wp-calendar th { color: #472300; } + +/* 4.3 Extended Footer Widgets */ + + +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 5.1 Comments */ + + +/* 5.2 Pingbacks / Trackbacks */ + +/* 5.3 Comments Form */ +#commentform #submit { background-color: #472300; } + +/* 5.4 Gravity forms */ +.gform_wrapper input.button { background-color: #472300; } diff --git a/bueno/styles/brown/bodytile.jpg b/bueno/styles/brown/bodytile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b03ad5457f57cfe8c27028e428d607ea55bfa4ce GIT binary patch literal 64573 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%0A-1=Jl5s0p-#nWBVG zWOwQ&JmZ1OrVn};2m2@{N|fLbxamFn;esSJT=@^THvJa;q8+#IpZ#8R4dy^M@G~^M>eku8w*-DZlU5W%>S3 zkg8LAg{G0NvV8o4#^&w&jX(poY=6^mdx;jiMR|Z-R`w}e ze&!XSJxZ(vvz&ku`!|8=@+6~;?mHJB=EUZCowD0;S#gQ{sKlBIUl{+e73 zM#9F|s!5dp_}FP0o{QfTTUre5@gcuL*&^+T?RMy%)^Di^Do(geboHOH=W}xt(!}>= zau*zK^4bBTDt*g+fYv@*wVTs3ztXUYszcOI4bHC94p|&Zo_Cd-+R!Y=P$@j!%SF~F zVSuBkoRqM)F*pvBgJl8&a!b(5=$TNRDSK z3TO$0M31EhsSONNS2{YRcE^{1p438QkQU^Q&oSU2`V+=exqIdYz=H{#`+#rR-<73F zRKRe;tco$2 zE}B*f7!LezEb*)^F}x(UZI5ai2h07AJM_?BM+wXPXRI$*47#TwE^%h{NXvBcdr(suEoZ` z+m8N4SCyUo+;W*(b+PWo$X8yt=KiWHq@4f*3cFTQKw+04QN}5|XsPF1#?Yr$vR*Hy zb$5`gX_kj0M&Z3v5e9JBZT)fB)g+1ZK_6hClby-D`eP3tq&3;{4`!`mSbN))o|LFz zF|^)$I9PU1GC`G-JGlR3F+EM?;yUwhS5!d01MOo!NL|B9D&N~*g89=El@!6Xgc}Z? zh~(xxfzk8-)z_yy_oe7^5QXlR1VGdW?!%TKV*;&Yb>#%O0Gu$O@~&ni3@&$J=Es_G zl{!XNS3rZq7>KQ)vtRWloi3bK>PJfPV)5<#i9a#k5n{nx4nx4LU>fI9$S9WoJg(=eHSwvaRg;GWC|`X#jD<*7$fq9D0^C-=$xl|G{`yJ!EHEY zVs#hJqc?o(70HnQvrv%%log&cxz(V%)hpsQm_FsU#RsFz(b@iVbAOO2X3UA!bfOQ& zq6m9+->=Vo-VwNWmB1jW5+q?E8Dm<7;?O|Vew2aY z>`eR2*o^U|<9qg>L?YlKh+8}E%2j8x3+d$0)IsBK(DdG?ToVFOfRKc2ACuM_RgyKE`Sh zr>*m&BOG$yO>(>(`(?MZFSx(E*`i4J6G$yi<_Uv~14Z3hPJ$RK+ng zQVmGgs|G#*h33C=xIA1jaq?U*-;?tD4GKmyy&C#* z^!yiGx4TfX#{&CJME7>ow2|J}t9JAkb#;xV(^nVHCAU^~2cUrw^YvK`ql z;!{8lRtXNZj>+-&dvNTv($A@nizVme(s)cVNiXsnLf3nJyaUU+H0{31OU<8^L4Q6Gl3zYrO+ z0@h1E4a=Uk3*1dOi0Y)Ah0spJnpYS)RomX<0(tM{w9JXKad>fEd!qujT zw~w!%4mM9pnP3i0eT+R@b}xK9>}Fd2>jzsWVjy)ui99{O-g4faId%Y#v`chntBQ-R z1j4=Bjag1AMQjy~?eCEdFSYD=lX*{h5ZfLO+F_1qPArFJ`jtm*Ck*U1iCnqkUT@`i z=VW7^=?~Yqn}mB1qw5Up!kfsoe}k@T(kW{t58{Bmr0ZOFnVv;+ZOEr4e$l-G_j7Ge zh*|ai)IwJ{e5~(N!=Z6a={MjLvFquGBhwnoAd{VoQv0#yBgk1{fVx0Mfl#no=LRs^ z=RQj~bSs+XGpY9$b}vw*n=-Nwxx9BNakMI(8N|ri7FTEtJ6@263$S`afz2hI=~M+r z_ur*YTIw&Sm2mtTIrC3Nf3H1&SfM;qL64;!&C+JuZTOfspC7iQXdHdneh!SPdo07O zdmY=Xe?_~V2b{2Ohn{%&kgk~)xQ1R5UP{!!i(apXepxO_R`p653*jRT@f5XlF+JPp zzowL+y?>ICT-XvsYpuvO^~z_N&wlUdYC`Y-xyq(&03%uH3N`g^MIm|LE_!d_JbpBE zJMBd3NU5;@oBM^x$Jttd14GbUjdh`}G-Nv3ob||4T(?%3Q3YJfNh@?xv|z0C?l)+m zRzT`{VP`CEDNxR_Id{FZaXCC&RU)yuNlI+y)Mw$E>YzCj*lzy@EdyuiSu@eVR|Bx6 J6}J2y|6ja-gpU9K literal 0 HcmV?d00001 diff --git a/bueno/styles/brown/bullet.png b/bueno/styles/brown/bullet.png new file mode 100755 index 0000000000000000000000000000000000000000..e1b9d3a8f1a163e9ab35355eea90fa5f33e4dbbc GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gww^AIAr-fh)~s4JDJ>yk2HO!ihds<4n-X01aaBboFyt=akR{0J@ef AA^-pY literal 0 HcmV?d00001 diff --git a/bueno/styles/brown/bullet_hover.png b/bueno/styles/brown/bullet_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4821f0d9ec1027cb8fe8daff5f2fa5cf08c7c0 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gww^AIAr-fhO2X47q$MQGU^^n`u!p&0b40_D8ilgd1_pbD zXX#8r(|A@K5K^g-@%>=oVZfRt#yq8unZtl#*-Z|X74zOV0S#jCboFyt=akR{0Hjtf AbpQYW literal 0 HcmV?d00001 diff --git a/bueno/styles/brown/date.png b/bueno/styles/brown/date.png new file mode 100644 index 0000000000000000000000000000000000000000..5207f281914979cf2648de66a57e218a1b82b629 GIT binary patch literal 1071 zcmV+~1kn45P)RCwC#oL^)dQ544SPAY^D!V*Gi zHIZ1tR>)IXT4_V+Ta*w|qNG$GDiOB&P>qsMr8H8lRzs-Lhf*TZ=+f8KC4|b#5|$83 z2>TT2IqO`VncUewvv(#tGw0*8q@9^_e|zWLbMKwm*sUwVPj!RS;C}K5{e497e{-hK z0yzu*t23aD!kOd0UGf3QHSitq7&z6yaZcd!;4Sbs@Gma|_X+Vw=?X3c5 zioUs5lyEOn-4w?j#dTqD;^0m2Cvcx=E%i}cn-r(7aBu|rO(Re%YmDMd`vqqj{F6qc zAPD39L2-Ku2ZzrO;5HE~wNc!2Ucq?|UJ}996177soLO*2ghLr>j}|z0!LLQQ^oH8i z6r4fuy8z~xdW7vtx`l&P=T~s22&b@JU&i}m9d6(()gl`LC94fGPH;x+O~#aHd6Li&9}wN>xD{3W^yKO=ax8$57NXiHO2U*lQmYFFl*60@+Vv{5)amP2`-d03Q}LpdtT zJS@tZ;cPGui?+;gc6mtuKZMIcO2Rn>uQQj5)*%_6n&F_6CBjX2v*E_YPYBb2kAYe&nT$UUVE=` zf`h^rOIIQSX9d70U!<+JhCEM|bEuaksGXuwIA!pJ2=6i~wrc`cr`Ddoq zol(!$%x6l_VbTL?muMD_pyV8u`e(7;!KRT-y(iU@S3opR?GU=*$hpV80Op`m$}!80 z9OPy@7%Rz};KP7`Iiz^sH+rDkz4C4FRYA*%Ei4)5wwr?u4c`cM*Mk;=azJt2Xr_nj zc*+91>k#-c`1pdM98(-aZf+wl;K*tk7s@WvXW3^cWlFYMuWxwt%?*H`3Ga7OOLUz9 z8m6`O+?Wr)*@X{)-zE=gINu-eck*_#C#&|GT``}3&3dBPbwL z;LQn+p#!Ia&_SSrKn0|O_?Vkb1%x{ibbvcBZ($5i!`SgipS1qjH#2X?&aTc~=l
                            !KL@v94?e*i$fpSUk!ML@1KvgOq|g~yfE(~2?OB2^APfm*@W_hP z;u@6dek)0jr#xcQSKv}rn5wHK(ZAL@p%yQK5=>${Lo6RMJCeDz5?mQ#`zfauMX($Z zi!v&|W=F|hfTb}vERd_yOXkmDcCJRo2RT++u09){5Z^S@*G}DjK1W z^_WMEk$FSckF*Zg7unpCv7PF_Qs$QAU!^LJUXC%)L~rQ@?blLO-ACb#Q{t)pP`{Ic z*00>US0y^*qvZ`@prY^A_#>>8$<9b*#+LvC0COKs?~ErDU;qFB07*qoM6N<$g4xco AwEzGB literal 0 HcmV?d00001 diff --git a/bueno/styles/default.css b/bueno/styles/default.css new file mode 100755 index 0000000..0ca27b6 --- /dev/null +++ b/bueno/styles/default.css @@ -0,0 +1,143 @@ +/* Default Colors Stylesheet */ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ + +/* 1.1 Defaults */ + +body { background: #fff url(default/bodytile.jpg) repeat left top; } + +/* 1.2 Hyperlinks */ + +a:link, a:visited { color: #f3686d; } +a:hover {} + + + +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ + +/* 2.1 Containers & Columns */ + + +/* 2.2 Navigation */ + + +/* 2.2.1 Drop-down menus */ + + + +/* CATEGORY NAVIGATION */ + +/* PAGES NAVIGATION */ +#pagenav a { border-bottom: 4px solid #fbdddf; } +#pagenav li.current_page_item a, #pagenav li a:hover, #pagenav li.current-menu-item a { border-color: #f3686d; } +#pagenav li ul { border-top: 1px solid #fbdddf; } +#pagenav li ul li { border-color: #fbdddf; } +#pagenav li ul a:hover { color: #fff!important; background: #f3686d; } +#pagenav li.rss a { color: #f3686d; background: url(default/ico-rss.png) no-repeat right 4px; } + + + +/* 2.3 Header */ + + +/* 2.4 Content */ + + +/* 2.5 Sidebar */ + + +/* 2.6 Extended Footer */ +#extended-footer { background-color: #fbdddf; } +.one, .two { border-right: 1px solid #f49096; } + +/* 2.7 Footer */ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ + +.post .date { background: url(default/date.png) no-repeat left top; } + +.post-meta li .body a:hover { color: #f3686d; } + + +/* 3.1 Typographic Elements */ + +/* 3.2 Images */ +.post img.thumbnail { border: 5px solid #fbdddf; } +.entry img { border: 5px solid #fbdddf; } + +/* 3.3 Pagination / WP-Pagenavi */ + +.more_entries .wp-pagenavi a:link, +.more_entries .wp-pagenavi a:visited { color: #f3686d; } +.more_entries .wp-pagenavi .current, +.more_entries .wp-pagenavi .on, +.more_entries .wp-pagenavi a:hover { background: #fbdddf !important; color: #f3686d; } + + +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 4.1 Generic Widgets */ +.widget h3 { border-bottom: 1px solid #f3686d; } + +.widget ul li a:link, .widget ul li a:visited { background: url(default/bullet.png) no-repeat 10px center; border-bottom: 1px solid #fbdddf; } +.widget ul li a:hover { color: #f3686d; background: url(default/bullet_hover.png) no-repeat 10px center; font-weight: bold; } + +.widget_recent_comments li, #twitter li { border-bottom: 1px solid #fbdddf; } /* RESET LI STYLING FOR RECENT COMMENT & TWITTER */ +.widget_recent_comments li a, #twitter a { color: #f3686d!important; } /* RESET STYLING FOR RECENT COMMENT & TWITTER */ + + +/* 4.2 Specific Widgets */ + +/* FEATURED POSTS */ + +#featured li { border-bottom: 1px solid #fbdddf; } +#featured span.thumb img { border: 5px solid #fbdddf; } +#featured span.thumb img:hover { border-color: #f3686d; } + +/* WIDGET FORMS */ +input#s, input.field { border: 1px solid #fbdddf; } +input#s:focus, input.field:focus { border: 1px solid #f3686d; } +input.submit { background-color: #f3686d; } + +/* FLICKR */ +.widget_woo_flickr a img { border: #fbdddf 3px solid;} +.widget_woo_flickr a:hover img { border:#f3686d 3px solid; } + +/* LIFESTREAM */ +.widget_lifestream ul li { border-bottom: 1px solid #fbdddf; } + +/* TEXT WIDGET */ + +/* CALENDAR */ +#wp-calendar th,#wp-calendar td{background:#fbdddf;} +#wp-calendar th { color: #f3686d; } + +/* 4.3 Extended Footer Widgets */ + + +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 5.1 Comments */ + + +/* 5.2 Pingbacks / Trackbacks */ + +/* 5.3 Comments Form */ +#commentform #submit { background-color: #f3686d; } + +/* 5.4 Gravity forms */ +.gform_wrapper input.button { background-color: #f3686d; } \ No newline at end of file diff --git a/bueno/styles/default/bodytile.jpg b/bueno/styles/default/bodytile.jpg new file mode 100755 index 0000000000000000000000000000000000000000..727f48c8b65cae3c06a5050b42844a50f36124cf GIT binary patch literal 35272 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%0D|e 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 AA^-pY literal 0 HcmV?d00001 diff --git a/bueno/styles/default/bullet_hover.png b/bueno/styles/default/bullet_hover.png new file mode 100755 index 0000000000000000000000000000000000000000..24777a7a9ba39ed6683e3fa622004e8c3ec40e23 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gww^AIAr-fh{>+)EefGcs1KtkXh6;9p^oFVdQ&MBb@01H(w A4*&oF literal 0 HcmV?d00001 diff --git a/bueno/styles/default/date.png b/bueno/styles/default/date.png new file mode 100755 index 0000000000000000000000000000000000000000..73f03308813ff48b39af2aa44e3b936e3b8fdb24 GIT binary patch literal 1035 zcmV+m1oZofP)xx450?=G>wcUFXl8Uv@nQ{;L2`@G5jmNcLH zc zio@SG3Vs5vfFHU5#;7Eg9#9;^eu0yrGxv-N?jSWr zaa1U-fx$_Dcfjw#lfqw`q_}n{PEX-r5A>6IAU|t?;!Jx5=O*|&^+-Vw#`%rnb`=hG zpKrlKB3K%txU+7-c?@0`!PYwE;V7JCa886nIm*WoI5)u0MY!~W^6CrD4ES{bYfLx7 zyi#`I;HdKxI4;5|%w7G+^pG$X}v=F-x*oEbj0uudz^a5}(YSqR}Y7=x)A45tH}W9DG0V}w&> z4yLLioL|hrRC}`K)R=`%$fGX1@-p+#sVuv4RFQe;RMf)x$~<)1)xz21F8zNOE;}g+ z=LEdXTw2;D9=d(2E#{)eq7{AL$E0DhG`JD@^$6a>`;}hqnhVdhZhy+==vTf9;n!002ovPDHLk FV1hsa?2G^a literal 0 HcmV?d00001 diff --git a/bueno/styles/default/ico-rss.png b/bueno/styles/default/ico-rss.png new file mode 100755 index 0000000000000000000000000000000000000000..8f8d249379b6d4f97d8a930768d5de4d0725b5fc GIT binary patch literal 399 zcmV;A0dW3_P)&K@v>F$0Z& zA%oov;HC#%jR1{6cP}0_1IPf3K#V{#kgE00_H6ZNS64gIRj>FPKDuA`(Epvz+uk!O zPzgGL@?M7+?0^1`irpWBmY@uD1Fb&XfE~Oa+#vYi# zQF(wOvZ!Ie1B2OS)Z{w7&lZ6Ll?bu05oqIqHMowJ7)zx!Xn4f3+Y--8l#4H)N2T!P zlw5z4a}DK<6*0DD)0;DMW76`RWo#6-QIqN2k_Fta504$q002ovPDHLkV1j^1s1N`E literal 0 HcmV?d00001 diff --git a/bueno/styles/green.css b/bueno/styles/green.css new file mode 100644 index 0000000..2236620 --- /dev/null +++ b/bueno/styles/green.css @@ -0,0 +1,144 @@ +/* Green Colors Stylesheet */ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ + +/* 1.1 Defaults */ + +body { background: #fff url(green/bodytile.jpg) repeat left top; } + +/* 1.2 Hyperlinks */ + +a:link, a:visited { color: #115900; } +a:hover {} + + + +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ + +/* 2.1 Containers & Columns */ + + +/* 2.2 Navigation */ + + +/* 2.2.1 Drop-down menus */ + + + +/* CATEGORY NAVIGATION */ + +/* PAGES NAVIGATION */ +#pagenav a { border-bottom: 4px solid #9bd28e; } +#pagenav li.current_page_item a, #pagenav li a:hover, #pagenav li.current-menu-item a { border-color: #115900; } +#pagenav li ul { border-top: 1px solid #9bd28e; } +#pagenav li ul li { border-color: #9bd28e; } +#pagenav li ul a:hover { color: #fff!important; background: #115900; } +#pagenav li.rss a { color: #115900; background: url(green/ico-rss.png) no-repeat right 4px; } + + + +/* 2.3 Header */ + + +/* 2.4 Content */ + + +/* 2.5 Sidebar */ + + +/* 2.6 Extended Footer */ +#extended-footer { background-color: #9bd28e; color: #585858; } +#extended-footer li a:link, #extended-footer li a:visited { color:#585858; } +.one, .two { border-right: 1px solid #6cad5d; } + +/* 2.7 Footer */ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ + +.post .date { background: url(green/date.png) no-repeat left top; } + +.post-meta li .body a:hover { color: #115900; } + + +/* 3.1 Typographic Elements */ + +/* 3.2 Images */ +.post img.thumbnail { border: 5px solid #9bd28e; } +.entry img { border: 5px solid #9bd28e; } + +/* 3.3 Pagination / WP-Pagenavi */ + +.more_entries .wp-pagenavi a:link, +.more_entries .wp-pagenavi a:visited { color: #115900; } +.more_entries .wp-pagenavi .current, +.more_entries .wp-pagenavi .on, +.more_entries .wp-pagenavi a:hover { background: #9bd28e !important; color: #115900; } + + +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 4.1 Generic Widgets */ +.widget h3 { border-bottom: 1px solid #115900; } + +.widget ul li a:link, .widget ul li a:visited { background: url(green/bullet.png) no-repeat 10px center; border-bottom: 1px solid #9bd28e; } +.widget ul li a:hover { color: #115900; background: url(green/bullet_hover.png) no-repeat 10px center; font-weight: bold; } + +.widget_recent_comments li, #twitter li { border-bottom: 1px solid #9bd28e; } /* RESET LI STYLING FOR RECENT COMMENT & TWITTER */ +.widget_recent_comments li a, #twitter a { color: #115900!important; } /* RESET STYLING FOR RECENT COMMENT & TWITTER */ + + +/* 4.2 Specific Widgets */ + +/* FEATURED POSTS */ + +#featured li { border-bottom: 1px solid #9bd28e; } +#featured span.thumb img { border: 5px solid #9bd28e; } +#featured span.thumb img:hover { border-color: #115900; } + +/* WIDGET FORMS */ +input#s, input.field { border: 1px solid #9bd28e; } +input#s:focus, input.field:focus { border: 1px solid #115900; } +input.submit { background-color: #115900; } + +/* FLICKR */ +.widget_woo_flickr a img { border: #9bd28e 3px solid;} +.widget_woo_flickr a:hover img { border:#115900 3px solid; } + +/* LIFESTREAM */ +.widget_lifestream ul li { border-bottom: 1px solid #9bd28e; } + +/* TEXT WIDGET */ + +/* CALENDAR */ +#wp-calendar th,#wp-calendar td{background:#9bd28e;} +#wp-calendar th { color: #115900; } + +/* 4.3 Extended Footer Widgets */ + + +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 5.1 Comments */ + + +/* 5.2 Pingbacks / Trackbacks */ + +/* 5.3 Comments Form */ +#commentform #submit { background-color: #115900; } + +/* 5.4 Gravity forms */ +.gform_wrapper input.button { background-color: #115900; } \ No newline at end of file diff --git a/bueno/styles/green/bodytile.jpg b/bueno/styles/green/bodytile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..222e9d3e6141028637b1cfd68aa7e81b6ccabdcd GIT binary patch literal 60371 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
                            +
                            + +
                            + +

                            + +
                            + +

                            + +
                            + +

                            + +
                              + +
                            + +

                            + +
                              + +
                            + +
                            + +
                            + +
                            + + + +
                            + + diff --git a/bueno/template-fullwidth.php b/bueno/template-fullwidth.php new file mode 100755 index 0000000..70b3565 --- /dev/null +++ b/bueno/template-fullwidth.php @@ -0,0 +1,36 @@ + + +
                            +
                            + + + + +
                            + +

                            + +
                            + +
                            + +
                            + + +
                            +

                            +
                            + + +
                            + +
                            + + \ No newline at end of file diff --git a/bueno/template-redirect.php b/bueno/template-redirect.php new file mode 100755 index 0000000..5de1123 --- /dev/null +++ b/bueno/template-redirect.php @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + diff --git a/bueno/template-sitemap.php b/bueno/template-sitemap.php new file mode 100755 index 0000000..500ba90 --- /dev/null +++ b/bueno/template-sitemap.php @@ -0,0 +1,60 @@ + + + +
                            +
                            + +
                            + +

                            + +
                            + +

                            + +
                              + +
                            + +

                            + +
                              + +
                            + +

                            Posts per category

                            + + cat_ID); + + ?> + +

                            cat_name; ?>

                            + +
                              + +
                            • - (comment_count ?>)
                            • + +
                            + + + +
                            + +
                            + +
                            + + + +
                            + + diff --git a/mystile/404.php b/mystile/404.php new file mode 100644 index 0000000..340e32d --- /dev/null +++ b/mystile/404.php @@ -0,0 +1,34 @@ + + + +
                            + + + +
                            + +
                            + +
                            +

                            +
                            +
                            +

                            +
                            + +
                            + +
                            + + + + + +
                            + + \ No newline at end of file diff --git a/mystile/README.md b/mystile/README.md new file mode 100644 index 0000000..e69de29 diff --git a/mystile/archive.php b/mystile/archive.php new file mode 100644 index 0000000..ea849d0 --- /dev/null +++ b/mystile/archive.php @@ -0,0 +1,92 @@ + + + +
                            + + + +
                            + + + + +
                            +

                            /

                            + ' . __( 'RSS feed for this section', 'woothemes' ) . ''; ?> +
                            + + +
                            +

                            /

                            +
                            + + +
                            +

                            /

                            +
                            + + +
                            +

                            /

                            +
                            + + +
                            +

                            +
                            + + +
                            +

                            +
                            + + + + + +
                            + + + + + + + + + + + + +
                            > +

                            +
                            + + + + + + + +
                            + + + + + +
                            + + \ No newline at end of file diff --git a/mystile/changelog.txt b/mystile/changelog.txt new file mode 100644 index 0000000..7067d99 --- /dev/null +++ b/mystile/changelog.txt @@ -0,0 +1,127 @@ +*** Mystile Changelog *** + +2014.09.10 - version 1.3.3 + * Removed - Unused 'adsense' embed setting. Please use a dedicated plugin for this functionality. + includes/theme-options.php + + * Fix - Strict standards notice + comments.php + +2014.06.23 - version 1.3.2 + * Removed 'category exclusion' theme options. Use pre_get_posts filter instead. + includes/theme-functions.php + includes/theme-options.php + +2014.05.19 - version 1.3.1 + * Fix - Fixed duplicate markup in header cart link + includes/theme-woocommerce.php + + * Fix - Use the icon font for the humburger icon + header.php + style.less + style.css + +2014.03.06 - version 1.3.0 + * New - Full integration with Sensei + includes/theme-plugin-integrations.php + includes/integrations/ + functions.php + + * Fix - Updated fitvids to the latest stable version + includes/js/third-party.js + +2013.09.16 - version 1.2.17 + * includes/js/third-party.js + includes/js/general.js - Added doubleTapToGo script to improve dropdown UX on Android touch devices. + +2013.09.11 - version 1.2.16 + * template-contact.php - Removed Twitter from Contact Page. + * includes/theme-options.php - Removed Twitter from Contact Page. + * includes/theme-functions.php - Fixed map mousescroll option. + +2013.08.22 - version 1.2.15 + * includes/theme-woocommerce.php - Tweaked how WooCommerce css is dequeued for 2.1. + +2013.08.01 - version 1.2.14 + * includes/theme-woocommerce.php - Homepage category shortcode now filterable. + +2013.07.22 - version 1.2.13 + * style.css - Add review form layout tweak. Removed some redundant styles and images. + * header.php - Logo now displays correct alt - tag. + +2013.06.25 - version 1.2.12 + * includes/theme-woocommerce.php - Search form now has textdomain for localisation. WooCommerce styles dequeued for WooCommerce 2.1. Related products prep for WooCommerce 2.1. + * template-sitemap.php - Hidden products are now hidden on sitemap. + +2013.06.17 - version 1.2.11 + * style.css - Fixed star ratings in widgets. + +2013.05.28 - version 1.2.10 + * style.css - Switched ratings to stars instead of bar. + +2013.04.25 - version 1.2.9 + * includes/theme-woocommerce.php - added mini cart in the header to add_to_cart_fragments filter to fix cache bug + +2013.04.17 - version 1.2.8 + * header.php - Removed mfunc_wrapper. + +2013.03.08 - version 1.2.7 + * style.css - Cart contents hidden on mobile to save layout. + +2013.03.06 - version 1.2.6 + * includes/theme-woocommerce.php - fixed related products option / layout. + * style.css - Checkout field validation. + +2013.03.05 - version 1.2.5 + * css/layout.css - sale marker no longer obstructs product heading on single product page. + +2013.02.20 - version 1.2.4 + * includes/theme-woocommerce.php + includes/theme-actions.php - breadcrumb is filtered regardless of whether WooCommerce is activated + * includes/theme-woocommerce.php - Pagination preparation for WooCommerce 2.0 + +2013.02.11 - version 1.2.3 + * includes/theme-woocommerce.php - added WooCommerce support flag + +2013.01.30 - version 1.2.2 + * includes/theme-woocommerce.php + css/layout.css - Header-cart now displays item total + +2013.01.21 - version 1.2.1 + * style.css - rating alignment in product loops + * header.php + includes/theme-woocommerce.php - Cache compatibility with header-cart + +2013.01.07 - version 1.2 + * style.css + * css/layout.css - Styling preparation for WooCommerce 2.0 standardised class names (.woocommerce-) + * style.css - fixed twitter icon position + +2012.12.06 - version 1.1 + * style.css - Styling preparation for WooCommerce 2.0 + * layout.css - removed widths from hgroup / #navigation in the header so logos can be full width + * index.php - WC_Product class replaced with get_product + * includes/theme-woocommerce.php - disable WooCommerce lightbox when prettyPhoto is enabled + +2012.11.13 - version 1.0.4 + * Fixed duplicated upsells bug on WooCommerce product pages + +2012.10.30 - version 1.0.3 + * Fixed theme options naming conflict + * Added missing textdomain in my_search_form() + * Removed child theme constants from theme-actions.php. + * Removed esc_url() from e-mail address output in template-contact.php + +2012.08.13 - version 1.0.2 + * Fixed checkbox on contact form + * Fixed styling of subscribe + connect widget + * Disable WooCommerce lightbox of theme lightbox is enabled + +2012.08.13 - version 1.0.1 + * Added background colour to body tag + * Added options to display product categories and featured products on the homepage + * Fixed logo link bug + * Styled demo store notice banner + +2012.08.09 - version 1.0 + * First release! \ No newline at end of file diff --git a/mystile/comments.php b/mystile/comments.php new file mode 100644 index 0000000..7e9d13e --- /dev/null +++ b/mystile/comments.php @@ -0,0 +1,80 @@ + + +

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

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

                            + +
                              + +
                            + + + +
                            + + + + + +
                            +
                            +
                            + + + \ No newline at end of file diff --git a/mystile/content-search.php b/mystile/content-search.php new file mode 100644 index 0000000..7f28266 --- /dev/null +++ b/mystile/content-search.php @@ -0,0 +1,33 @@ + + + +
                            > + + + +
                            +

                            + +
                            + +
                            + +
                            + +
                            \ No newline at end of file diff --git a/mystile/content.php b/mystile/content.php new file mode 100644 index 0000000..90cd741 --- /dev/null +++ b/mystile/content.php @@ -0,0 +1,59 @@ + + 787, + 'thumb_h' => 300, + 'thumb_align' => 'aligncenter' + ); + + $settings = woo_get_dynamic_values( $settings ); + +?> + +
                            > + + +
                            + + +
                            +

                            + +
                            + +
                            + +
                            + + +
                            + +
                            \ No newline at end of file diff --git a/mystile/css/layout.css b/mystile/css/layout.css new file mode 100644 index 0000000..97c8785 --- /dev/null +++ b/mystile/css/layout.css @@ -0,0 +1,964 @@ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. General layout +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ +/*----------------------*/ +/*----------------------*/ +@media only screen and (min-width: 768px) { + html.boxed { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAG0lEQVQIW2NkYGAwBuKzQAwGjDAGNgGwSgwVAFCGAgUGpiTrAAAAAElFTkSuQmCC) #e6e6e6; + } + html.boxed body { + margin: 2.618em; + box-shadow: 0 0 1em 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 0 1em 0 rgba(0, 0, 0, 0.1); + } + body { + padding: 0 3.631em; + } + table { + font-size: 1em !important; + } + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom: 0; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + ul.nav li { + position: relative; + float: left; + zoom: 1; + list-style: none; + } + ul.nav li a { + display: block; + padding: .53em 1em; + } + ul.nav ul { + width: 15.379em; + visibility: hidden; + display: none; + position: absolute; + top: 100%; + left: 0; + z-index: 9999; + margin: 0; + } + ul.nav ul li { + float: none; + } + ul.nav ul li a { + width: 100%; + display: inline-block; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + ul.nav ul ul { + left: 100%; + top: 0; + } + ul.nav li:hover > ul { + visibility: visible; + display: block; + } + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: #f7f7f7; + margin: 0 -3.631em; + padding: 0 3.631em; + } + #top #top-nav { + display: block; + } + #top ul.nav { + font-size: .857em; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #top ul.nav > li a { + padding: 1.387em 1em; + color: #9f9693; + } + #top ul.nav > li a:hover { + background: #f7f7f7; + text-decoration: none; + color: #6c6360; + } + #top ul.nav > li:hover { + background: #f7f7f7; + } + #top ul.nav ul { + background: #f7f7f7; + } + #top ul.nav ul li a { + padding: .53em 1em; + } + #top .wc-nav { + width: auto; + float: right; + } + #top .wc-nav li.checkout { + display: inline-block; + } + #top .wc-nav li.checkout a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + content: ")"; + font-weight: normal; + } + #top .wc-nav li.search { + width: auto; + } + #top .wc-nav li.search form { + margin-bottom: 0; + padding-top: 1.1em; + } + #top .wc-nav li.search label { + display: none; + } + #top .wc-nav li.search .button { + position: absolute; + top: 0; + left: -999em; + } + #top .wc-nav li.search:hover { + background: none; + } + #top .wc-nav li.cart { + width: auto; + text-align: right; + } + #top .wc-nav li.cart a { + padding-top: 1.387em; + padding-left: 1em; + } + #top .wc-nav li.cart a .contents { + padding: .2em .618em; + background: #fff; + -webkit-border-radius: 1em; + border-radius: 1em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-left: 1em; + display: inline; + } + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #header #navigation { + display: block !important; + margin-top: .382em; + } + #header #navigation ul.nav { + float: right; + /* LEVEL 2 */ + /* LEVEL 3 */ + } + #header #navigation ul.nav > li a { + border: 1px solid #fcfcfc; + background: #fcfcfc; + font-weight: bold; + position: relative; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #header #navigation ul.nav > li a:hover { + border-color: #e8e4e3; + background: #fff; + } + #header #navigation ul.nav > li:hover a { + border-color: #e8e4e3; + background: #fff; + } + #header #navigation ul.nav > li.current-menu-item > a, + #header #navigation ul.nav > li.current_page_item > a { + color: #ff4800; + } + #header #navigation ul.nav > li.parent a { + -webkit-border-bottom-left-radius: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + #header #navigation ul.nav > li.parent a:after { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-left: .618em; + content: ";"; + color: #e3dad7; + font-weight: normal; + } + #header #navigation ul.nav > li.parent a:hover:before { + content: ""; + display: block; + height: 2px; + position: absolute; + bottom: -1px; + left: 0; + right: 0; + background: #fff; + z-index: 99999; + } + #header #navigation ul.nav > li.parent:hover a:before { + content: ""; + display: block; + height: 2px; + position: absolute; + bottom: -1px; + left: 0; + right: 0; + background: #fff; + z-index: 99999; + } + #header #navigation ul.nav > li.parent:hover a:after { + color: #ff4800; + } + #header #navigation ul.nav > li.parent ul li a:after { + visibility: hidden; + } + #header #navigation ul.nav > li.parent ul li.parent a:after { + visibility: visible; + content: "]"; + float: right; + } + #header #navigation ul.nav > li.parent ul li.parent ul li a:after { + visibility: hidden; + } + #header #navigation ul.nav > li.parent ul li.parent ul li.parent a:after { + visibility: visible; + content: "]"; + } + #header #navigation ul.nav > li.parent ul li.parent ul li.parent ul li a:after { + visibility: hidden; + } + #header #navigation ul.nav ul { + border: 1px solid #e8e4e3; + margin-top: -1px; + padding: .372em 0; + box-shadow: 0 0.202em 0 0 rgba(232, 228, 227, 0.4); + -webkit-box-shadow: 0 0.202em 0 0 rgba(232, 228, 227, 0.4); + background: #fff; + } + #header #navigation ul.nav ul li a { + border: 0; + background: #fff; + } + #header #navigation ul.nav ul ul { + left: 100%; + top: -0.372em; + } + h3.nav-toggle { + display: none; + } + /* 4. GENERAL LAYOUT */ + #breadcrumbs { + display: block; + } + .homepage-banner { + position: relative; + max-width: 95.949em; + margin-left: auto; + margin-right: auto; + margin-bottom: 3.631em; + display: block; + } + .homepage-banner img { + margin-bottom: 0; + width: 100%; + position: relative; + } + .homepage-banner h1, + .homepage-banner .description { + z-index: 55; + } + .homepage-banner h1 { + position: absolute; + top: 30%; + left: 20%; + right: 20%; + color: #fff; + text-align: left; + font-size: 3.631em; + } + .homepage-banner h1 span { + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7); + } + .homepage-banner .description { + position: absolute; + top: 50%; + left: 25%; + right: 20%; + color: #fff; + font-size: 1.618em; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7); + font-weight: bold; + -webkit-border-radius: 0.236em; + border-radius: 0.236em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + .homepage-banner .description p { + text-align: left; + } + .homepage-banner .description p:last-child { + margin-bottom: 0; + } + .homepage-banner:after { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + right: 0; + z-index: 50; + bottom: 0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAG0lEQVQIW2NkYGAwBuKzQAwGjDAGNgGwSgwVAFCGAgUGpiTrAAAAAElFTkSuQmCC); + } + .home #content.with-banner { + border-top: 4px double #e8e4e3; + padding-top: 3.631em; + } + .archive-header h1 { + float: left; + } + .archive-header .archive-rss { + float: right; + padding-top: 1em; + } + .archive-header .archive-rss a:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + font-weight: normal; + content: "r"; + color: orange; + } + .type-post:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .type-post .meta { + display: block; + width: 11%; + float: left; + } + .type-post .meta .day, + .type-post .meta .month, + .type-post .meta .year { + display: block; + text-align: center; + width: 65.4%; + margin: 0 auto; + background: #fff; + } + .type-post .meta .month { + text-transform: uppercase; + font-weight: bold; + background: #ff4800; + border-top: 0.202em solid #dd2600; + color: #fff; + font-size: .857em; + padding: .202em 0; + } + .type-post .meta .day { + font-size: 2em; + line-height: 1.387; + border: 1px solid #e8e4e3; + border-width: 0 1px; + font-weight: bold; + } + .type-post .meta .year { + border: 1px solid #e8e4e3; + border-top: 0; + -webkit-border-bottom-left-radius: 0.327em; + -webkit-border-bottom-right-radius: 0.327em; + border-bottom-left-radius: 0.327em; + border-bottom-right-radius: 0.327em; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-bottom: 1em; + font-size: .857em; + padding-bottom: .53em; + color: #b0a7a4; + } + .type-post .meta img { + padding: 0; + border: 0; + -webkit-border-radius: 100%; + border-radius: 100%; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin-bottom: 1em; + display: block; + height: auto; + } + .type-post .post-content { + width: 82.7%; + float: right; + } + .single .type-post p:first-child { + font-size: 1.387em; + } + #post-entries { + width: 82.7%; + float: right; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + #comments, + #respond { + clear: both; + } + #comments .commentlist li.comment ul.children { + float: right; + width: 82.7%; + clear: right; + padding-top: 2.618em; + } + .single-post #comments h2:first-child { + width: 82.7%; + float: right; + } + #respond { + width: 82.7%; + float: right; + } + #fancybox-outer #respond { + width: 100%; + float: none; + } + #fancybox-outer #respond textarea { + width: 90%; + } + .col2-set { + clear: both; + } + .col2-set:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .col2-set .col-1 { + width: 48%; + float: left; + } + .col2-set .col-2 { + width: 48%; + float: right; + } + .form-row { + width: 48%; + float: left; + margin-bottom: 2.053em; + } + .form-row label { + display: block; + padding: .206em 0; + } + .form-row .input-text, + .form-row select { + width: 100%; + *width: 90%; + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + } + .form-row input[type=checkbox] { + float: left; + } + .form-row.notes { + width: 100%; + float: none; + } + .form-row.notes textarea { + width: 100%; + *width: 90%; + } + .form-row.notes + h3 { + clear: both; + } + .form-row-first { + clear: left; + } + .form-row-last { + float: right; + } + .form-row-wide { + float: left; + width: 100%; + clear: both; + } + header.title { + overflow: hidden; + zoom: 1; + } + header.title h1, + header.title h2, + header.title h3, + header.title h4, + header.title h5 { + float: left; + } + header.title a.edit { + float: right; + font-weight: bold; + line-height: 2.4em; + } + header.title a.edit:before { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size: .857em; + margin-right: .618em; + font-weight: normal; + content: "S"; + } + #header { + padding-bottom: 1.618em; + padding-top: 3.631em; + } + #header:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + #header hgroup { + float: left; + } + #header #navigation { + float: right; + clear: none; + border: 0; + background: 0; + -webkit-box-shadow: none; + box-shadow: none; + width: auto; + } + #main.fullwidth, + .layout-full #main, + .col-full, + .no-sidebar #main { + max-width: 75.998em; + margin: 0 auto; + width: 100%; + } + #main { + width: 69.2%; + } + #sidebar { + margin-top: 0; + width: 22.05%; + font-size: .857em; + } + .entry:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content #main { + float: right; + } + .layout-right-content #sidebar { + float: left; + } + .layout-full #main { + width: 100%; + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php .location-twitter .col-left { + float: left; + } + .page-template-template-contact-php .location-twitter #office-location { + width: 48%; + margin: 0; + } + .page-template-template-contact-php .location-twitter .contact-social { + float: right; + width: 48%; + } + .page-template-template-contact-php .location-twitter .contact-social #twitter { + margin: 0; + } + .footer-wrap { + background: #f7f7f7; + margin: 0 -3.631em; + padding: 0 3.631em; + } + /*-------------------------------------------------------------------------------------------*/ + /* 7. WOOCOMMERCE */ + /*-------------------------------------------------------------------------------------------*/ + /* 7.1 Messages */ + /* 7.2 Products */ + ul.products li.product { + position: relative; + width: 22.05%; + } + ul.products li.product:nth-child(2n) { + margin-right: 3.8%; + } + ul.products li.product.first { + clear: both; + } + ul.products li.product.last { + margin-right: 0; + } + /* 7.2.1 Single Product */ + .single-product .images { + width: 48%; + float: left; + } + .single-product .summary { + width: 48%; + float: right; + } + .single-product .woocommerce_tabs, + .single-product .woocommerce-tabs { + clear: both; + } + .single-product .related { + clear: both; + } + .single-product .sale .summary h1 { + width: 80%; + } + .woocommerce_tabs ul.tabs, + .woocommerce-tabs ul.tabs, + .ui-tabs ul.tabs, + .woocommerce_tabs .ui-tabs-nav, + .woocommerce-tabs .ui-tabs-nav, + .ui-tabs .ui-tabs-nav { + margin-bottom: 0; + margin-left: 2.618em; + } + .woocommerce_tabs ul.tabs li, + .woocommerce-tabs ul.tabs li, + .ui-tabs ul.tabs li, + .woocommerce_tabs .ui-tabs-nav li, + .woocommerce-tabs .ui-tabs-nav li, + .ui-tabs .ui-tabs-nav li { + width: auto; + float: left; + clear: none; + margin-bottom: 0; + } + .woocommerce_tabs ul.tabs li:nth-child(2n), + .woocommerce-tabs ul.tabs li:nth-child(2n), + .ui-tabs ul.tabs li:nth-child(2n), + .woocommerce_tabs .ui-tabs-nav li:nth-child(2n), + .woocommerce-tabs .ui-tabs-nav li:nth-child(2n), + .ui-tabs .ui-tabs-nav li:nth-child(2n) { + float: left; + clear: none; + } + .woocommerce_tabs ul.tabs li a, + .woocommerce-tabs ul.tabs li a, + .ui-tabs ul.tabs li a, + .woocommerce_tabs .ui-tabs-nav li a, + .woocommerce-tabs .ui-tabs-nav li a, + .ui-tabs .ui-tabs-nav li a { + border-bottom: 0; + background: rgba(232, 228, 227, 0.5); + color: #6c6360; + } + .woocommerce_tabs ul.tabs li a:hover, + .woocommerce-tabs ul.tabs li a:hover, + .ui-tabs ul.tabs li a:hover, + .woocommerce_tabs .ui-tabs-nav li a:hover, + .woocommerce-tabs .ui-tabs-nav li a:hover, + .ui-tabs .ui-tabs-nav li a:hover { + color: #ff4800; + } + .woocommerce_tabs ul.tabs li.active, + .woocommerce-tabs ul.tabs li.active, + .ui-tabs ul.tabs li.active, + .woocommerce_tabs .ui-tabs-nav li.active, + .woocommerce-tabs .ui-tabs-nav li.active, + .ui-tabs .ui-tabs-nav li.active, + .woocommerce_tabs ul.tabs li.ui-state-active, + .woocommerce-tabs ul.tabs li.ui-state-active, + .ui-tabs ul.tabs li.ui-state-active, + .woocommerce_tabs .ui-tabs-nav li.ui-state-active, + .woocommerce-tabs .ui-tabs-nav li.ui-state-active, + .ui-tabs .ui-tabs-nav li.ui-state-active { + position: relative; + } + .woocommerce_tabs ul.tabs li.active:before, + .woocommerce-tabs ul.tabs li.active:before, + .ui-tabs ul.tabs li.active:before, + .woocommerce_tabs .ui-tabs-nav li.active:before, + .woocommerce-tabs .ui-tabs-nav li.active:before, + .ui-tabs .ui-tabs-nav li.active:before, + .woocommerce_tabs ul.tabs li.ui-state-active:before, + .woocommerce-tabs ul.tabs li.ui-state-active:before, + .ui-tabs ul.tabs li.ui-state-active:before, + .woocommerce_tabs .ui-tabs-nav li.ui-state-active:before, + .woocommerce-tabs .ui-tabs-nav li.ui-state-active:before, + .ui-tabs .ui-tabs-nav li.ui-state-active:before { + content: ""; + display: block; + position: absolute; + top: -0.236em; + left: 0; + right: 0; + height: .236em; + background: #ff4800; + border-top: 1px solid #ff5911; + -webkit-border-top-left-radius: 2px; + -webkit-border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-top-right-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + } + .woocommerce_tabs ul.tabs li.active a, + .woocommerce-tabs ul.tabs li.active a, + .ui-tabs ul.tabs li.active a, + .woocommerce_tabs .ui-tabs-nav li.active a, + .woocommerce-tabs .ui-tabs-nav li.active a, + .ui-tabs .ui-tabs-nav li.active a, + .woocommerce_tabs ul.tabs li.ui-state-active a, + .woocommerce-tabs ul.tabs li.ui-state-active a, + .ui-tabs ul.tabs li.ui-state-active a, + .woocommerce_tabs .ui-tabs-nav li.ui-state-active a, + .woocommerce-tabs .ui-tabs-nav li.ui-state-active a, + .ui-tabs .ui-tabs-nav li.ui-state-active a { + position: relative; + background: #fff; + box-shadow: 0 1px 2px 0 #e8e4e3; + -webkit-box-shadow: 0 1px 2px 0 #e8e4e3; + color: #ff4800; + border-top-color: #ff4800; + } + .woocommerce_tabs ul.tabs li.active a:after, + .woocommerce-tabs ul.tabs li.active a:after, + .ui-tabs ul.tabs li.active a:after, + .woocommerce_tabs .ui-tabs-nav li.active a:after, + .woocommerce-tabs .ui-tabs-nav li.active a:after, + .ui-tabs .ui-tabs-nav li.active a:after, + .woocommerce_tabs ul.tabs li.ui-state-active a:after, + .woocommerce-tabs ul.tabs li.ui-state-active a:after, + .ui-tabs ul.tabs li.ui-state-active a:after, + .woocommerce_tabs .ui-tabs-nav li.ui-state-active a:after, + .woocommerce-tabs .ui-tabs-nav li.ui-state-active a:after, + .ui-tabs .ui-tabs-nav li.ui-state-active a:after { + content: ""; + display: block; + position: absolute; + bottom: -4px; + left: 0; + right: 0; + height: 4px; + background: #fff; + } + .woocommerce_tabs .panel, + .woocommerce-tabs .panel, + .ui-tabs .panel { + background: #fff; + padding: 2.618em; + border: 1px solid #e8e4e3; + } + .woocommerce_tabs table.shop_attributes p, + .woocommerce-tabs table.shop_attributes p, + .ui-tabs table.shop_attributes p { + margin-bottom: 0; + } + /* 7.3 Cart */ + table.cart { + margin-bottom: 2.618em; + } + table.cart .product-remove, + table.cart .product-thumbnail, + table.cart .product-price { + position: static; + } + table.cart td.actions { + text-align: right; + } + table.cart td.actions .coupon { + width: 50%; + float: left; + } + table.cart td.actions .input-text, + table.cart td.actions .button, + table.cart td.actions .checkout-button { + width: auto !important; + display: inline-block; + margin-bottom: 0 !important; + } + table.cart td.actions .button { + margin-left: .618em; + float: none !important; + } + .cart-collaterals:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } + .cart-collaterals .cross-sells, + .cart-collaterals .cart_totals, + .cart-collaterals .shipping_calculator { + width: 48%; + font-size: .857em; + float: left; + } + .cart-collaterals .cart_totals { + float: right; + } + .cart-collaterals .shipping_calculator { + float: right; + clear: right; + } + .cart-collaterals .cross-sells ul.products li.product { + width: 48%; + } + /* 7.4 Checkout */ + .checkout #order_review { + padding: 1.618em; + } + .checkout #shiptobilling { + float: right; + margin: 0; + text-align: right; + width: 48%; + } + .checkout #shiptobilling label { + white-space: nowrap; + } + .checkout #shiptobilling input[type="checkbox"] { + float: right; + margin-left: 1em; + margin-right: 0; + } + /* 7.5 Widgets */ + /* 7.6 Account */ + /* 7.7 Shortcodes */ + /* 6. FOOTER WIDGETS */ + #footer-widgets { + border-top: 0; + } + #footer-widgets .block { + margin-right: 3.8%; + float: left; + } + #footer-widgets.col-1 .block { + width: 100%; + float: none; + } + #footer-widgets.col-1 .footer-widget-1 { + margin-right: 0; + } + #footer-widgets.col-2 .block { + width: 48%; + } + #footer-widgets.col-2 .footer-widget-2 { + margin-right: 0; + } + #footer-widgets.col-3 .block { + width: 30.75%; + } + #footer-widgets.col-3 .footer-widget-3 { + margin-right: 0; + } + #footer-widgets.col-4 .block { + width: 22.05%; + } + #footer-widgets.col-4 .footer-widget-4 { + margin-right: 0; + } + /* 7. IE FIXES */ + .ie7 #top-nav { + position: relative; + z-index: 9999999; + } + .ie7 #header { + position: relative; + z-index: 9999999; + } +} +@media only screen and (min-width: 768px) and (max-width: 1025px) { + .homepage-banner h1 { + font-size: 2.244em; + } + .homepage-banner .description { + font-size: 1.387em; + } +} diff --git a/mystile/css/layout.less b/mystile/css/layout.less new file mode 100644 index 0000000..dd1289a --- /dev/null +++ b/mystile/css/layout.less @@ -0,0 +1,961 @@ +/* +The styles in this stylesheet only apply to resolutions 768px and up + +CALCULATING DIMENSIONS: +---------------------- +The layout is fluid. The sote wrapper (.col-full) has a fixed pixel max-width. +All subsequent dimensions are calculated based on that fixed pixel width, using the formula: target / context = result +Credit - http://www.alistapart.com/articles/fluidgrids/ + +----- +INDEX +----- + +1. Global dropdown styles +2. Top Navigation +3. Main navigation dropdown menus + -3.1 General dropdown menus +4. General layout +5. WOOCOMMERCE +-5.1 Messages +-5.2 Products + -5.2.1 Single Product +-5.3 Cart +-5.4 Checkout +-5.5 Widgets +-5.6 Account +-5.7 Shortcodes +6. Footer widgets +7. IE Fixes + +*/ + + +/*----------------------*/ + +@import url(mixins.less); + +/*----------------------*/ + +@media only screen and (min-width: 768px) { + html.boxed { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAG0lEQVQIW2NkYGAwBuKzQAwGjDAGNgGwSgwVAFCGAgUGpiTrAAAAAElFTkSuQmCC) @bg_light - #111; + body { + margin:2.618em; + .box_shadow(0,0,1em,0,rgba(0,0,0,0.1)); + } + } + body { + padding: 0 3.631em; + } + + table { + font-size: 1em !important; + } + + /* 1. GLOBAL DROPDOWN STYLES (these are purely for the dropdown layout and you should only edit the width of the dropdowns) */ + ul.nav { + position: relative; + margin-bottom:0; + li { + position: relative; + float: left; + zoom:1; + list-style: none; + a { + display: block; + padding:.53em 1em; + } + &.parent { // Styles applied to all parent list items + } + } + /* LEVEL 2 */ + ul { + width:15.379em; + visibility: hidden; + display: none; + position: absolute; + top:100%; + left: 0; + z-index: 9999; + margin:0; + li { + float: none; + a { + width: 100%; + display: inline-block; + .borderbox(); + } + &.parent { // Styles applied to parent items in level 2 + } + } + } + /* LEVEL 3 */ + ul ul { + left:100%; + top:0; + li { + &.parent { // Styles applied to parent items in level 3 + } + } + } + li:hover > ul { + visibility: visible; + display: block; + } + } + + /* 2. TOP NAVIGATION (Add top navigation presentational styles here) */ + #top { + background: @bg_light; + margin: 0 -3.631em; + padding:0 3.631em; + #top-nav { + display: block; + } + ul.nav { + font-size:.857em; + > li { // The following styles are applied ONLY to the top level list items + a { + padding:1.387em 1em; + color: @color_body + #333; + &:hover { + background: @bg_light; + text-decoration: none; + color: @color_body; + } + } + &:hover { + background: @bg_light; + } + } + /* LEVEL 2 */ + ul { + background: @bg_light; + + li { + a { + padding:.53em 1em; + } + } + } + /* LEVEL 3 */ + ul ul { + } + li:hover > ul { + } + } + .wc-nav { + width: auto; + float: right; + li.checkout { + display: inline-block; + a { + &:before { + .iconbefore; + content: ")"; + font-weight: normal; + } + } + } + li.search { + width:auto; + form { + margin-bottom:0; + padding-top:1.1em; + } + label { + display: none; + } + .button { + position: absolute; + top:0; + left:-999em; + } + &:hover { + background: none; + } + } + li.cart { + width:auto; + text-align: right; + a { + padding-top:1.387em; + padding-left:1em; + .contents { + padding:.2em .618em; + background: #fff; + .border_radius(1em); + margin-left:1em; + display: inline; + } + } + } + } + } + + /* 3. MAIN NAVIGATION DROPDOWN MENUS (Add main navigation presentational styles here) */ + #header #navigation { + display:block !important; + margin-top:.382em; + ul.nav { + float:right; + > li { // The following styles are applied ONLY to the top level list items + a { + border:1px solid @color_body_bg; + background: @color_body_bg; + font-weight: bold; + position: relative; + .border_radius(.236em); + &:hover { + border-color:@border_main; + background: #fff; + } + } + &:hover { + a { + border-color:@border_main; + background: #fff; + } + } + &.current-menu-item, &.current_page_item { + > a { + color: @color_links; + } + } + } + > li.parent { + a { + .border_radius_bottom(0); + } + a:after { + .iconafter; + content: ";"; + color: @color_body + #777; + font-weight: normal; + } + a:hover { + &:before { + content: ""; + display: block; + height:2px; + position: absolute; + bottom:-1px; + left:0; + right:0; + background: #fff; + z-index: 99999; + } + } + &:hover { + a { + &:before { + content: ""; + display: block; + height:2px; + position: absolute; + bottom:-1px; + left:0; + right:0; + background: #fff; + z-index: 99999; + } + &:after { + color: @color_links; + } + } + } + ul { + li { + a { + &:after { + visibility:hidden; + } + } + &.parent { + a { + &:after { + visibility: visible; + content: "]"; + float: right; + } + } + ul { + li { + a:after { + visibility: hidden; + } + &.parent { + a { + &:after { + visibility: visible; + content: "]"; + } + } + ul { + li { + a:after { + visibility: hidden; + } + } + } + } + } + } + } + } + } + } + /* LEVEL 2 */ + ul { + border:1px solid @border_main; + margin-top:-1px; + padding:.372em 0; + .box_shadow(0,.202em,0,0,fade(@border_main,40%)); + background: #fff; + li { + a { + border:0; + background: #fff; + } + } + } + /* LEVEL 3 */ + ul ul { + left:100%; // reapply left 100% as we're offsetting the first child by 1px + top: -.372em; + } + li:hover > ul { + } + } + } + // Hide the nav toggle link in desktop orientation + h3.nav-toggle { + display: none; + } + + /* 4. GENERAL LAYOUT */ + // Breadcrumbs + #breadcrumbs { + display: block; + } + // Homepage + + .homepage-banner { + position: relative; + max-width:95.949em; + margin-left:auto; + margin-right:auto; + margin-bottom:3.631em; + display: block; + img { + margin-bottom:0; + width:100%; + position: relative; + + } + h1, .description { + z-index: 55; + } + h1 { + position: absolute; + top:30%; + left:20%; + right:20%; + color: #fff; + text-align: left; + font-size: 3.631em; + span { + //background: rgba(0,0,0,0.7); + //padding:.618em 1.387em; + .border_radius(.236em); + .text_shadow(0,1px,2px,rgba(0,0,0,0.7)); + } + } + .description { + position: absolute; + top:50%; + left:25%; + right:20%; + color: #fff; + font-size: 1.618em; + .text_shadow(0,1px,2px,rgba(0,0,0,0.7)); + font-weight: bold; + //background: rgba(0,0,0,0.5); + .border_radius(.236em); + //padding:.857em 1.618em; + p { + text-align: left; + &:last-child { + margin-bottom:0; + } + } + } + &:after { + content: ""; + display: block; + position: absolute; + top:0; + left:0; + right:0; + z-index: 50; + bottom:0; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAG0lEQVQIW2NkYGAwBuKzQAwGjDAGNgGwSgwVAFCGAgUGpiTrAAAAAElFTkSuQmCC); + } + } + + .home { + #content.with-banner { + border-top:4px double @border_main; + padding-top:3.631em; + } + } + + // Posts + .archive-header { + h1 { + float: left; + } + .archive-rss { + float: right; + padding-top:1em; + a { + &:before { + .iconbefore; + content: "r"; + color: orange; + } + } + } + } + .type-post { + .clearfix; + .meta { + display: block; + width:11%; + float: left; + .day, .month, .year { + display: block; + text-align: center; + width:65.4%; + margin:0 auto; + background: #fff; + } + .month { + text-transform: uppercase; + font-weight: bold; + background: @color_links; + border-top:.202em solid @color_links - #222; + color: #fff; + font-size: .857em; + padding:.202em 0; + } + .day { + font-size:2em; + line-height: 1.387; + border:1px solid @border_main; + border-width:0 1px; + font-weight: bold; + } + .year { + border:1px solid @border_main; + border-top:0; + .border_radius_bottom(.327em); + margin-bottom:1em; + font-size: .857em; + padding-bottom:.53em; + color: @color_body + #444; + } + img { + padding:0; + border: 0; + .border_radius(100%); + margin-bottom:1em; + display: block; + height: auto; + } + } + .post-content { + width:82.7%; + float: right; + } + } + + .single { + .type-post { + p:first-child { + font-size:1.387em; + } + } + } + + #post-entries { + width:82.7%; + float: right; + .borderbox; + } + + #comments, #respond { + clear: both; + } + + #comments { + .commentlist { + li.comment { + ul.children { + float: right; + width:82.7%; + clear: right; + padding-top:2.618em; + } + } + } + } + + .single-post { + #comments { + h2:first-child { + width:82.7%; + float: right + } + } + } + + #respond { + width:82.7%; + float: right + } + + #fancybox-outer { + #respond { + width:100%; + float: none; + textarea { + width:90%; + } + } + } + + // General layouts + .col2-set { + clear: both; + .clearfix(); + + .col-1 { + width:48%; + float: left; + } + + .col-2 { + width:48%; + float: right; + } + } + + .form-row { + width:48%; + float: left; + margin-bottom:2.053em; + + label { + display: block; + padding:.206em 0; + } + + .input-text, select { + width:100%; + *width:90%; + .borderbox(); + } + + input[type=checkbox] { + float: left; + } + + &.notes { + width:100%; + float: none; + + textarea { + width:100%; + *width:90%; + } + } + + &.notes + h3 { + clear: both; + } + } + + .form-row-first { + clear: left; + } + + .form-row-last { + float: right; + } + + .form-row-wide { + float: left; + width:100%; + clear: both; + } + + header.title { + overflow: hidden; + zoom:1; + + h1, h2, h3, h4, h5 { + float: left; + } + + a.edit { + float: right; + font-weight: bold; + line-height: 2.4em; + &:before { + .iconbefore; + content: "S"; + } + } + } + #header { + padding-bottom:1.618em; + padding-top:3.631em; + .clearfix; + hgroup { + float: left; + } + #navigation { + float: right; + clear: none; + border:0; + background: 0; + -webkit-box-shadow:none; + box-shadow:none; + width:auto; + } + } + #main.fullwidth, .layout-full #main, .col-full, .no-sidebar #main { + max-width:75.998em; + margin:0 auto; + width:100%; + } + #main { + width: 69.2%; + } + #sidebar { + margin-top: 0; + width: 22.05%; + font-size: .857em; + } + .entry { + .clearfix; + } + .entry img { + max-width: 100%; + } + .layout-full .entry img { + max-width: 100%; + } + .layout-right-content { + #main { + float: right; + } + #sidebar { + float: left; + } + } + .layout-full #main { + width: 100%; // full-width template + } + .col-left { + float: left; + } + .col-right { + float: right; + } + .page-template-template-contact-php { + .location-twitter { + .col-left { + float: left; + } + #office-location { + width: 48%; + margin: 0; + } + .contact-social { + float: right; + width: 48%; + #twitter { + margin: 0; + } + } + } + } + + .footer-wrap { + background: @bg_light; + margin:0 -3.631em; + padding:0 3.631em; + } + + /*-------------------------------------------------------------------------------------------*/ + /* 7. WOOCOMMERCE */ + /*-------------------------------------------------------------------------------------------*/ + + /* 7.1 Messages */ + + /* 7.2 Products */ + ul.products { + li.product { + position: relative; + width:22.05%; + &:nth-child(2n) { + margin-right:3.8%; + } + &.first { + clear: both; + } + &.last { + margin-right:0; + } + } + } + /* 7.2.1 Single Product */ + .single-product { + .images { + width:48%; + float: left; + } + .summary { + width:48%; + float: right; + } + .woocommerce_tabs, .woocommerce-tabs { + clear: both; + } + .related { + clear: both; + } + .sale { + .summary { + h1 { + width:80%; + } + } + } + } + .woocommerce_tabs, + .woocommerce-tabs, + .ui-tabs { + ul.tabs, + .ui-tabs-nav { + margin-bottom:0; + margin-left:2.618em; + li { + width:auto; + float: left; + clear: none; + margin-bottom:0; + &:nth-child(2n) { + float: left; + clear: none; + } + a { + border-bottom:0; + background: fade(@border_main,50%); + color: @color_body; + &:hover { + color: @color_links; + } + } + &.active, + &.ui-state-active { + position: relative; + &:before { + content: ""; + display: block; + position: absolute; + top:-.236em; + left:0; + right:0; + height: .236em; + background: @color_links; + border-top:1px solid @color_links + #111; + .border_radius_top(2px); + } + a { + position: relative; + background: #fff; + .box_shadow(0,1px,2px,0,@border_main); + color: @color_links; + border-top-color: @color_links; + &:after { + content: ""; + display: block; + position: absolute; + bottom:-4px; + left:0; + right:0; + height:4px; + background: #fff; + } + } + } + } + } + .panel { + background: #fff; + padding:2.618em; + border:1px solid @border_main; + } + table.shop_attributes { + p { + margin-bottom:0; + } + } + } + /* 7.3 Cart */ + table.cart { + margin-bottom:2.618em; + .product-remove, .product-thumbnail, .product-price { + position: static; + } + + td.actions { + text-align: right; + + .coupon { + width:50%; + float: left; + } + + .input-text, .button, .checkout-button { + width:auto !important; + display: inline-block; + margin-bottom:0 !important; + } + .button { + margin-left:.618em; + float: none !important; + } + } + } + .cart-collaterals { + .clearfix(); + + .cross-sells, .cart_totals, .shipping_calculator { + width:48%; + font-size:.857em; + float: left; + } + + .cart_totals { + float: right; + } + + .shipping_calculator { + float: right; + clear: right; + } + .cross-sells { + ul.products { + li.product { + width:48%; + } + } + } + } + /* 7.4 Checkout */ + .checkout { + #order_review { + padding:1.618em; + } + #shiptobilling { + float: right; + margin: 0; + text-align: right; + width:48%; + label { + white-space: nowrap; + } + input[type="checkbox"] { + float: right; + margin-left:1em; + margin-right:0; + } + } + } + /* 7.5 Widgets */ + /* 7.6 Account */ + /* 7.7 Shortcodes */ + + + /* 6. FOOTER WIDGETS */ + #footer-widgets { + border-top:0; + .block { + margin-right:3.8%; + float: left; + } + &.col-1 { + .block { + width: 100%; + float: none; + } + .footer-widget-1 { + margin-right:0; + } + } + &.col-2 { + .block { + width: 48%; + } + .footer-widget-2 { + margin-right:0; + } + } + &.col-3 { + .block { + width: 30.75%; + } + .footer-widget-3 { + margin-right:0; + } + } + &.col-4 { + .block { + width: 22.05% + } + .footer-widget-4 { + margin-right:0; + } + } + } + + /* 7. IE FIXES */ + + .ie7 { + #top-nav { + position: relative; + z-index: 9999999; + } + #header { + position: relative; + z-index: 9999999; + } + } + +} + +@media only screen and (min-width: 768px) and (max-width:1025px) { + .homepage-banner { + h1 { + font-size:2.244em; + } + .description { + font-size: 1.387em; + } + } +} \ No newline at end of file diff --git a/mystile/css/mixins.less b/mystile/css/mixins.less new file mode 100644 index 0000000..8c1c347 --- /dev/null +++ b/mystile/css/mixins.less @@ -0,0 +1,162 @@ +// VARIABLES +// Colors +@color_links: #ff4800; // Links / Main theme colour +@color_alt: darken(desaturate(@color_links,100%),10%); +@color_body: darken(desaturate(@color_links,94%),10%); // Body Copy +@info: #4d65a4; +@success: #84ac50; +@error: #b85f56; +@color_body_bg: desaturate(@bg_light + #050505 ,100%); +// Borders +@border_main: lighten(desaturate(@color_links,90%),40%); // The 1px grey rules used throughout the WF +// Backgrounds +@bg_light: lighten(desaturate(@color_links,100%),47%); +@bg_dark: darken(desaturate(@color_links,20%),30%); +// Fonts +@sans: sans-serif; +@serif: Georgia, serif; +// Google fonts - These are also defined in Theme Setup (theme-actions.php) +@sans_google: "Open Sans", sans-serif; +@serif_google: "Bree Serif", sans-serif; +@handwriting: 'Schoolbell', cursive; +// Image path +@img_path: "images"; +@typeface_path: "typefaces"; +// FUNCTIONS +.iconafter() { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size:.857em; + margin-left:.618em; + font-weight: normal; +} + +.iconbefore() { + font-family: 'WebSymbolsRegular'; + display: inline-block; + font-size:.857em; + margin-right:.618em; + font-weight: normal; +} + +// MIXINS +.clearfix() { + &:after { + content: "\0020"; + display: block; + height: 0; + overflow: hidden; + clear: both; + } +} +.border_radius(@radius:10px) +{ + -webkit-border-radius:@radius; + border-radius:@radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_right(@radius:10px) +{ + -webkit-border-top-right-radius: @radius; + -webkit-border-bottom-right-radius: @radius; + border-top-right-radius: @radius; + border-bottom-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_left(@radius:10px) +{ + -webkit-border-top-left-radius: @radius; + -webkit-border-bottom-left-radius: @radius; + border-top-left-radius: @radius; + border-bottom-left-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_bottom(@radius:10px) +{ + -webkit-border-bottom-left-radius: @radius; + -webkit-border-bottom-right-radius: @radius; + border-bottom-left-radius: @radius; + border-bottom-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.border_radius_top(@radius:10px) +{ + -webkit-border-top-left-radius: @radius; + -webkit-border-top-right-radius: @radius; + border-top-left-radius: @radius; + border-top-right-radius: @radius; + -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; +} + +.box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) +{ + box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; + -webkit-box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; +} + +.inset_box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) +{ + box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; + -webkit-box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; +} + +.text_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_color:#fff) +{ + text-shadow:@shadow_x @shadow_y @shadow_rad @shadow_color; +} + +.vertical_gradient(@from: #000, @to: #FFF) { + background-color: @from; + background-image: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient(top, @from, @to); /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, @from, @to); /* FF3.6+ */ + background-image: -ms-linear-gradient(top, @from, @to); /* IE10 */ + background-image: -o-linear-gradient(top, @from, @to); /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, @from, @to); +} + +.transition(@selector:all, @animation:ease-in-out, @duration:.2s) { + -webkit-transition:@selector @animation @duration; + -moz-transition:@selector @animation @duration; + -ms-transition:@selector @animation @duration; + -o-transition:@selector @animation @duration; + transition:@selector @animation @duration; +} + +.opacity(@opacity:0.75) { + opacity: @opacity; + filter:~"alpha(opacity=@opacity * 100)"; +} + +.rotate(@degree:1deg) { + -webkit-transform: rotate(@degree); /* Saf3.1+, Chrome */ + -moz-transform: rotate(@degree); /* FF3.5+ */ + -ms-transform: rotate(@degree); /* IE9 */ + -o-transform: rotate(@degree); /* Opera 10.5 */ + transform: rotate(@degree); + zoom: 1; +} + +.scale(@ratio:1.5){ + -webkit-transform:scale(@ratio); + -moz-transform:scale(@ratio); + -ms-transform:scale(@ratio); + -o-transform:scale(@ratio); + transform:scale(@ratio); +} + +.radial_gradient(@from: #000, @to: #FFF) { + background: @from; + background: -webkit-gradient(radial, 50% 10%, 0, 50% 10%, 1000, from(@from), to(@to)); + background: -moz-radial-gradient(center top, @from 0%, @to 100%); +} + +.borderbox () { + -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; /* Firefox, other Gecko */ + box-sizing: border-box; /* Opera/IE 8+ */ +} \ No newline at end of file diff --git a/mystile/custom.css b/mystile/custom.css new file mode 100644 index 0000000..fde238d --- /dev/null +++ b/mystile/custom.css @@ -0,0 +1,25 @@ +/* +WOO CUSTOM STYLESHEET +--------------------- + +Instructions: + +Add your custom styles in this file instead of style.css so it +is easier to update the theme. Simply copy an existing style +from style.css to this file, and modify it to your liking. */ + + +/* +GLOBAL STYLES +---------------- +Add styles beneath this line that you want to be applied across your entire site */ + + +/* +DESKTOP STYLES +----------------- +Add styles inside the media query below that you only want to be applied to the desktop layout of your site */ + +@media only screen and (min-width: 768px) { + /* Desktop styles go here */ +} \ No newline at end of file diff --git a/mystile/footer.php b/mystile/footer.php new file mode 100644 index 0000000..daf31a0 --- /dev/null +++ b/mystile/footer.php @@ -0,0 +1,77 @@ + +'; + + $total = 4; + if ( isset( $woo_options['woo_footer_sidebars'] ) && ( $woo_options['woo_footer_sidebars'] != '' ) ) { + $total = $woo_options['woo_footer_sidebars']; + } + + if ( ( woo_active_sidebar( 'footer-1' ) || + woo_active_sidebar( 'footer-2' ) || + woo_active_sidebar( 'footer-3' ) || + woo_active_sidebar( 'footer-4' ) ) && $total > 0 ) { + +?> + + + + +
                            + + + +
                            + +

                            WordPress. Woo Themes

                            + +
                            + +
                            + +

                            b(s* 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 AA^-pY literal 0 HcmV?d00001 diff --git a/bueno/styles/green/bullet_hover.png b/bueno/styles/green/bullet_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..da24ec10bb61d4fafb001b92ccc2cb9f070a4689 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gww^AIAr-fhM0!#tq$MQGU^^n`u!p&0b40_D8ilgd1_pbD zXX#8r(|A@K5K^g-@%>=oVZfRt#yq8unZtl#*UnK!X@OUHx3vIVCg!0E0>_ A>i_@% literal 0 HcmV?d00001 diff --git a/bueno/styles/green/date.png b/bueno/styles/green/date.png new file mode 100644 index 0000000000000000000000000000000000000000..d345ecd4c6ca3761527d1d1cf2f2fe5150f07d42 GIT binary patch literal 1072 zcmV-01kd}4P) zOCk}%R>)IXT3e;`Eh@{B5+$YjP>HbBhia6BDy5NXwHlTxeJG_8jfTEPmk=tEB`hI? zXxOJn&spc{%;e7gnY}aFnK>VyCGE_d``bI`o_p`i#yZD^pXvf9!F}Wr`um9D|8AH* zcgXADL!AK~=1v{|?Sc{!N0r=+$%Vj!1urza9s1b6Xa=d z0lW-;11{=rgrWI-9pLBSZSWHhz}OY1>ul3?JDL$rEBGOJ7d#7Y6aK1=uDeTdv^EQz z41IGiDdC={x+soqitF6qbc0vGAHlt%xztN>tx%l4!od;fH;q8etQ5tW^b5`e_$Q4> zK@i6IgW~oS4i2C1!7Uh zAvgozw*kyCwFuiaT}7mWxkOSsiA!s%lU>gfc+>1GZ}bt9a1=AcwN!>Iy? z?IGfBtsV$jvip;{I;$iOeNDk$B=3!A@4&|tI z=3&vg8P0d+VbQ7?&K3{p|A%lnNJ%&+;2d))D+kH=#0&?u%v`J-%y2fi<`J9FYc^DH zP%k15XTd%zw|A+iPA3ZXylaPpiD)jOaOPwpc7lWY5W$K$Pwf`f;2^yR^ce+}+iUMN zPH<58V(DT;;4A_d<%_hH){tkYat`&f1hrGt3#SAg6X9J(#deKBuPM2KBgsyNH2+Li zyEAIpn)yTtI!wAx?GlZ`5tN+6Qvb}=I@r{+srR^2@(PG%s2xH#969&68^9cNLOEuk zo`c+M2V*691H2y)F#8nmyLu0FyH~yjz9MKjv56()Tyt}y7kq z9Zy+ccO3*j0w0|-lp~5`(9Lb+1sqvT<3ibG`Yibjr9{bA>-7zfzPWzzQ{nwiYLTwf zPs6m{v73%=%}aq_?uO+1hpPFHWEV z&!BP>;^XOOyI1!Y;07GQC%6Uq6hS}oED7wun+Tp2nt>&_0{7CMCHMlukWdDXtVk_x zL8(r8x>^$bYpoM%@ggX}Bz7>w@*%S$nOiHtjUjfNa%xco%Mr0C zqw;HZlu_V`fiOs!b+L!j6`O92`~V1=}zydfjHFw0000 STYLING FOR RECENT COMMENT & TWITTER */ + + +/* 4.2 Specific Widgets */ + +/* FEATURED POSTS */ + +#featured li { border-bottom: 1px solid #b0b0b0; } +#featured span.thumb img { border: 5px solid #b0b0b0; } +#featured span.thumb img:hover { border-color: #333333; } + +/* WIDGET FORMS */ +input#s, input.field { border: 1px solid #b0b0b0; } +input#s:focus, input.field:focus { border: 1px solid #333333; } +input.submit { background-color: #333333; } + +/* FLICKR */ +.widget_woo_flickr a img { border: #b0b0b0 3px solid;} +.widget_woo_flickr a:hover img { border:#333333 3px solid; } + +/* LIFESTREAM */ +.widget_lifestream ul li { border-bottom: 1px solid #b0b0b0; } + +/* TEXT WIDGET */ + +/* CALENDAR */ +#wp-calendar th,#wp-calendar td{background:#b0b0b0;} +#wp-calendar th { color: #333333; } + +/* 4.3 Extended Footer Widgets */ + + +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 5.1 Comments */ + + +/* 5.2 Pingbacks / Trackbacks */ + +/* 5.3 Comments Form */ +#commentform #submit { background-color: #333333; } + +/* 5.4 Gravity forms */ +.gform_wrapper input.button { background-color: #333333; } \ No newline at end of file diff --git a/bueno/styles/grey/bodytile.jpg b/bueno/styles/grey/bodytile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7107b1b40353f6fd5959a2cd0a4066b0a765451a GIT binary patch literal 56744 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 HTF-v~@ypEd literal 0 HcmV?d00001 diff --git a/bueno/styles/grey/bullet.png b/bueno/styles/grey/bullet.png new file mode 100755 index 0000000000000000000000000000000000000000..e1b9d3a8f1a163e9ab35355eea90fa5f33e4dbbc GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gww^AIAr-fh)~s4JDJ>yk2HO!ihds<4n-X01aaBboFyt=akR{0J@ef AA^-pY literal 0 HcmV?d00001 diff --git a/bueno/styles/grey/bullet_hover.png b/bueno/styles/grey/bullet_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..e11b2f1d9dd29f9c809a50db804936d9042d3295 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gww^AIAr-fhOw7!tr6nZHU^^n`u!p&0b40_D8ilgd1_pbD zXX#8r(|A@K5K^g-@%>=oVZfRt#yq8unZtl#XElehs%c~@&>#j+S3j3^P6rdj=|1<# zJK*0=2Bc}4<#+8K0J#dj4bFg5bsT2}E)U)Ye+K_>GjO-y^nve!r@(QC&z&OAfs5b` z@GJ0<(@8`eK3_NZ8Mpv`>;f3G;&hz?UAMax;dFo>fDgb6;7;MKI_bIx6h}v^z?q_7 zZj}mdGu1P((M~&XmaCBsfRdFu87nwrwHB=aXck(}Sgmld zzN`nd&RC6s)&Wqo7C6(QzD21ZD5V-fx0#knqco$9i|`2-&JvoYom;h>iI9R3l=noX z+iF3CTXR-$@V*-kIh+&}=9CJ~lwcV+M0ACClDU*MDZBNEZlu`DT*~T|GXn`H!%Pgi zsfTloc^H(|!$~oZ3nS+82pOmDf0)MwU5bQYS;DS{5zYW}P){ciPK-Gy6+<{(%t5Ix zhEoL&%R&g}j4>#6#&D{@IbjY;ogkbdb5N>?aCVu4QhV)GbMP_MKIZXHN1CRc%C0=m zJPgXqt{k<)JPg{=!}-cQ4BFPi+2bz#e-|!0DG3L+KsT97S(|c8SUIbULYiCo>rrx7U#mgs}r#ytyaOB+M zjt^_lIn|hzdJeL)9gHK%8{lJ~fH|gk-_(1c-M#WG_==$A#1@u}Gi&GIhy%X}HrK-z zgK|i5U2mj?JMokSHrFBWL-1*np`212Lw0T>H{i(8G%l1~rq7bcP)by69ld_UrC%-q zej;4>!yl85=sF4NrX6j$Z65q*7d`-fi#+JS`F?@Fkh6`Rtl9tBl_g_~!iO`{1PPyF y#aEc{)#aqcybf;PeF~d>s$%+aBXE4ExbH8c+qgf{M|A zsO$QDRP6o?v<6*3PtX<=3;`<7GYiN;4+Q=NO+X1~2|8eT67UAnK2V3gSWh;fIqEEw zeZ%A6(ri{40vncHDZwnLN0sP>W>u?<{F_lW|(C~z1wJZAN0sp9oLnEtxrXv) ziWu9o=`EPKDQS7ZGByg^sLAy1$pY@zf@SR@R>JP4Q`@rNNleb~v~(r3oNrqCg8q?_ kadXs=+B2b(f8!;<0E&f6)pt6cL;wH)07*qoM6N<$f=YOwVE_OC literal 0 HcmV?d00001 diff --git a/bueno/styles/purple.css b/bueno/styles/purple.css new file mode 100644 index 0000000..33cee7a --- /dev/null +++ b/bueno/styles/purple.css @@ -0,0 +1,144 @@ +/* Purple Colors Stylesheet */ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ + +/* 1.1 Defaults */ + +body { background: #fff url(purple/bodytile.jpg) repeat left top; } + +/* 1.2 Hyperlinks */ + +a:link, a:visited { color: #3b0466; } +a:hover {} + + + +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ + +/* 2.1 Containers & Columns */ + + +/* 2.2 Navigation */ + + +/* 2.2.1 Drop-down menus */ + + + +/* CATEGORY NAVIGATION */ + +/* PAGES NAVIGATION */ +#pagenav a { border-bottom: 4px solid #d7bced; } +#pagenav li.current_page_item a, #pagenav li a:hover, #pagenav li.current-menu-item a { border-color: #3b0466; } +#pagenav li ul { border-top: 1px solid #d7bced; } +#pagenav li ul li { border-color: #d7bced; } +#pagenav li ul a:hover { color: #fff!important; background: #3b0466; } +#pagenav li.rss a { color: #3b0466; background: url(purple/ico-rss.png) no-repeat right 4px; } + + + +/* 2.3 Header */ + + +/* 2.4 Content */ + + +/* 2.5 Sidebar */ + + +/* 2.6 Extended Footer */ +#extended-footer { background-color: #d7bced; color: #585858; } +#extended-footer li a:link, #extended-footer li a:visited { color:#585858; } +.one, .two { border-right: 1px solid #9e6cc7; } + +/* 2.7 Footer */ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ + +.post .date { background: url(purple/date.png) no-repeat left top; } + +.post-meta li .body a:hover { color: #3b0466; } + + +/* 3.1 Typographic Elements */ + +/* 3.2 Images */ +.post img.thumbnail { border: 5px solid #d7bced; } +.entry img { border: 5px solid #d7bced; } + +/* 3.3 Pagination / WP-Pagenavi */ + +.more_entries .wp-pagenavi a:link, +.more_entries .wp-pagenavi a:visited { color: #3b0466; } +.more_entries .wp-pagenavi .current, +.more_entries .wp-pagenavi .on, +.more_entries .wp-pagenavi a:hover { background: #d7bced !important; color: #3b0466; } + + +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 4.1 Generic Widgets */ +.widget h3 { border-bottom: 1px solid #3b0466; } + +.widget ul li a:link, .widget ul li a:visited { background: url(purple/bullet.png) no-repeat 10px center; border-bottom: 1px solid #d7bced; } +.widget ul li a:hover { color: #3b0466; background: url(purple/bullet_hover.png) no-repeat 10px center; font-weight: bold; } + +.widget_recent_comments li, #twitter li { border-bottom: 1px solid #d7bced; } /* RESET LI STYLING FOR RECENT COMMENT & TWITTER */ +.widget_recent_comments li a, #twitter a { color: #3b0466!important; } /* RESET STYLING FOR RECENT COMMENT & TWITTER */ + + +/* 4.2 Specific Widgets */ + +/* FEATURED POSTS */ + +#featured li { border-bottom: 1px solid #d7bced; } +#featured span.thumb img { border: 5px solid #d7bced; } +#featured span.thumb img:hover { border-color: #3b0466; } + +/* WIDGET FORMS */ +input#s, input.field { border: 1px solid #d7bced; } +input#s:focus, input.field:focus { border: 1px solid #3b0466; } +input.submit { background-color: #3b0466; } + +/* FLICKR */ +.widget_woo_flickr a img { border: #d7bced 3px solid;} +.widget_woo_flickr a:hover img { border:#3b0466 3px solid; } + +/* LIFESTREAM */ +.widget_lifestream ul li { border-bottom: 1px solid #d7bced; } + +/* TEXT WIDGET */ + +/* CALENDAR */ +#wp-calendar th,#wp-calendar td{background:#d7bced;} +#wp-calendar th { color: #3b0466; } + +/* 4.3 Extended Footer Widgets */ + + +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 5.1 Comments */ + + +/* 5.2 Pingbacks / Trackbacks */ + +/* 5.3 Comments Form */ +#commentform #submit { background-color: #3b0466; } + +/* 5.4 Gravity forms */ +.gform_wrapper input.button { background-color: #3b0466; } \ No newline at end of file diff --git a/bueno/styles/purple/bodytile.jpg b/bueno/styles/purple/bodytile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..17ce283cd4a9bfeed46ea3ed5fbe17ed129054b2 GIT binary patch literal 80260 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 FKLDXf`LF;0 literal 0 HcmV?d00001 diff --git a/bueno/styles/purple/bullet.png b/bueno/styles/purple/bullet.png new file mode 100755 index 0000000000000000000000000000000000000000..e1b9d3a8f1a163e9ab35355eea90fa5f33e4dbbc GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gww^AIAr-fh)~s4JDJ>yk2HO!ihds<4n-X01aaBboFyt=akR{0J@ef AA^-pY literal 0 HcmV?d00001 diff --git a/bueno/styles/purple/bullet_hover.png b/bueno/styles/purple/bullet_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..160ec767d08df78961f3040a90ef9584cc10a0d4 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gww^AIAr-fhwxoGZPD@Cb!FEK>VGnc1=7@$PH40^^4Gi`Q z&(fKMrtz#eAf!?uP<9miRLD}dL*U$Jd&2JRM|OJMAhDR9i;b0^5N z;39Yh{03Zdx)GYg=j#AJ2XBKPy8y4G%r$sQ7ruH}j=QjA22$o(` zyBdPi4}R;z98-(1U2(f`u=Ji%NlnvjWE(^ZPy%%!4kIWv%O#+ZpgH}r6> zG7p22dN>K@ajIe#EhEusoVx#I9;b9s3&FC4T@50fUgn^lP9U5v=Acv;!f9s?O0_eb zDsWg9LO4f^L8&8#Qw7ceb5QC4;S`yJQbmNb$sCm0k~ycuEDS1b9A^&YP+njj1{LH` zj><6)gK~N}-v}j_Jf#00!sQ?(;hcb1nM*~hkc?0Ca8N7E#mGSqC(kvH*o0n_ zSHVHO2sxZ3^Q_$5rNTO$D4O%G84f0*g^De0h*zHg|bh099^2tDn($;vMVK+1$C$rz0eHEvvaVpFC#v(0G8b+&j}hYnOB#KK-dpB`9?>u8CIR9cIM$1J;?cvhiYYk8+^;v5wTnmzyPHmJ!+s|bIX~0V vmC$m&Y3U2PCnMwLs3x_iLMI2~Uw{Dsx+6>N54m8h00000NkvXXu0mjf7CWcP literal 0 HcmV?d00001 diff --git a/bueno/styles/red.css b/bueno/styles/red.css new file mode 100644 index 0000000..a99dad6 --- /dev/null +++ b/bueno/styles/red.css @@ -0,0 +1,145 @@ +/* Red Colors Stylesheet */ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ + +/* 1.1 Defaults */ + +body { background: #fff url(red/bodytile.jpg) repeat left top; } + +/* 1.2 Hyperlinks */ + +a:link, a:visited { color: #c40000; } +a:hover {} + + + +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ + +/* 2.1 Containers & Columns */ + + +/* 2.2 Navigation */ + + +/* 2.2.1 Drop-down menus */ + + + +/* CATEGORY NAVIGATION */ + +/* PAGES NAVIGATION */ +#pagenav a { border-bottom: 4px solid #ffc1c1; } +#pagenav li.current_page_item a, #pagenav li a:hover, #pagenav li.current-menu-item a { border-color: #c40000; } +#pagenav li ul { border-top: 1px solid #ffc1c1; } +#pagenav li ul li { border-color: #ffc1c1; } +#pagenav li ul a:hover { color: #fff!important; background: #c40000; } +#pagenav li.rss a { color: #c40000; background: url(red/ico-rss.png) no-repeat right 4px; } + + + +/* 2.3 Header */ + + +/* 2.4 Content */ + + +/* 2.5 Sidebar */ + + +/* 2.6 Extended Footer */ +#extended-footer { background-color: #ffc1c1; color: #bd2828; } +#extended-footer .widget h3 { color: #c40000; } +#extended-footer li a:link, #extended-footer li a:visited { color:#bd2828; } +.one, .two { border-right: 1px solid #bd2828; } + +/* 2.7 Footer */ + + + +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ + +.post .date { background: url(red/date.png) no-repeat left top; } + +.post-meta li .body a:hover { color: #c40000; } + + +/* 3.1 Typographic Elements */ + +/* 3.2 Images */ +.post img.thumbnail { border: 5px solid #ffc1c1; } +.entry img { border: 5px solid #ffc1c1; } + +/* 3.3 Pagination / WP-Pagenavi */ + +.more_entries .wp-pagenavi a:link, +.more_entries .wp-pagenavi a:visited { color: #c40000; } +.more_entries .wp-pagenavi .current, +.more_entries .wp-pagenavi .on, +.more_entries .wp-pagenavi a:hover { background: #ffc1c1 !important; color: #c40000; } + + +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 4.1 Generic Widgets */ +.widget h3 { border-bottom: 1px solid #c40000; } + +.widget ul li a:link, .widget ul li a:visited { background: url(red/bullet.png) no-repeat 10px center; border-bottom: 1px solid #ffc1c1; } +.widget ul li a:hover { color: #c40000; background: url(red/bullet_hover.png) no-repeat 10px center; font-weight: bold; } + +.widget_recent_comments li, #twitter li { border-bottom: 1px solid #ffc1c1; } /* RESET LI STYLING FOR RECENT COMMENT & TWITTER */ +.widget_recent_comments li a, #twitter a { color: #c40000!important; } /* RESET STYLING FOR RECENT COMMENT & TWITTER */ + + +/* 4.2 Specific Widgets */ + +/* FEATURED POSTS */ + +#featured li { border-bottom: 1px solid #ffc1c1; } +#featured span.thumb img { border: 5px solid #ffc1c1; } +#featured span.thumb img:hover { border-color: #c40000; } + +/* WIDGET FORMS */ +input#s, input.field { border: 1px solid #ffc1c1; } +input#s:focus, input.field:focus { border: 1px solid #c40000; } +input.submit { background-color: #c40000; } + +/* FLICKR */ +.widget_woo_flickr a img { border: #ffc1c1 3px solid;} +.widget_woo_flickr a:hover img { border:#c40000 3px solid; } + +/* LIFESTREAM */ +.widget_lifestream ul li { border-bottom: 1px solid #ffc1c1; } + +/* TEXT WIDGET */ + +/* CALENDAR */ +#wp-calendar th,#wp-calendar td{background:#ffc1c1;} +#wp-calendar th { color: #c40000; } + +/* 4.3 Extended Footer Widgets */ + + +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 5.1 Comments */ + + +/* 5.2 Pingbacks / Trackbacks */ + +/* 5.3 Comments Form */ +#commentform #submit { background-color: #c40000; } + +/* 5.4 Gravity forms */ +.gform_wrapper input.button { background-color: #c40000; } \ No newline at end of file diff --git a/bueno/styles/red/bodytile.jpg b/bueno/styles/red/bodytile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7c0ef3d09ccf5e7b6f0b0c450730d9e7ac6356ce GIT binary patch literal 79068 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 AA^-pY literal 0 HcmV?d00001 diff --git a/bueno/styles/red/bullet_hover.png b/bueno/styles/red/bullet_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..096401ceec2793946bc4d08a00564d178df09ce4 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1GcAhSdAr-fhYz`ezID6oL0dI$GLj}7)x*-#5Iiut{9*zP5 zl^>EP9ykj9Im)8aXS|^4vBE)-6_GpvR(uKv7?xLZzwj~*=L4F=;OXk;vd$@?2>{4a BE|>rS literal 0 HcmV?d00001 diff --git a/bueno/styles/red/date.png b/bueno/styles/red/date.png new file mode 100644 index 0000000000000000000000000000000000000000..58fa14ba5369266a3d2dd83d7bbc16741be63cff GIT binary patch literal 1074 zcmV-21kL-2P)4i?4JAEd(ZuxiG6`U)rwA|yV(Q${($6vS1hj^ z>>T=!%76yTW!JwQ3joM@^i}i_I#tJYZs79hW%PTrufJ`~r%&%d-$aj~yL^nlfL=g9 zLl;%o9My16peNB|=#~JRYY9Dvet_Ol1t+d3xZ@1u7sCk>4Dk0&^7oH%JPk_)9BMl2 z=trDzk5a81$2!M#WN_NhOX%0=PG~N5a$HLsXP|JX2l~N1P%~?Y<4gwy=NkGm_efz7 z#rcWj_7%=J`XxF6;ZlO*9`_5*ee?{3TQgh^rEqScryv@d;_@hglR-a*Xz2-;t06c& z=;tBKF|~-w)#nusjXK|90KxG6EOeEi_I%h3mh6rra&*HWFu&2vr6!cwhQzVEu5Xk=C$Wmb26HO0WNo@ zQnQ)_y*2IzhuU4g=5SJ&m{T%1BVc6XAQCbq;@{|Y!v?m{Cn+({Wj1ZUS^kZRY!sRC!)aFA-7;1mo8sR{&V)o_q%P2`-SVPR8ouw32| zU3uQ{uqiLPa#GIluqkJS^U?6IY1s;A&2;JiyKvD-2{^O`x@frUYf)?oTjy2_hKrqp z70!wo^S~;bQ}14-N^7$2n%Uo{PL}2h&LM5*(bm41=~f-WT;==yk6=i#`LqoY=$?ab~?-99Qs* zP<7pGGANrI*TqI^xQbI2R9$<~ccIQFkoce-j-%I0Gx7tD7){ec*(rW41q`Lc$yVw2 z`~7gC8{qFr)gsrBP&`~nCOQCqh25jz^M0Z~u(OSR*ipl=iVkO{84{ghrCXTj*5y8z sc^x$mTJ+ywD6|u)bbqZ9oWBAL0F;>4kq#2Yng9R*07*qoM6N<$g1q(k`v3p{ literal 0 HcmV?d00001 diff --git a/bueno/styles/red/ico-rss.png b/bueno/styles/red/ico-rss.png new file mode 100644 index 0000000000000000000000000000000000000000..8830451b74613f133ba6f48753ed09925e63c3fd GIT binary patch literal 402 zcmV;D0d4+?P)zHCC>I}7ckrAPi?IL6;6FnnpyJW wN1li)?Xe*1QFLz&f5M7Pc0+Fw#=igq0Bqe@uj@K3X8-^I07*qoM6N<$f*?YpGynhq literal 0 HcmV?d00001 diff --git a/bueno/template-archives.php b/bueno/template-archives.php new file mode 100755 index 0000000..d732d43 --- /dev/null +++ b/bueno/template-archives.php @@ -0,0 +1,49 @@ + + + +

                            + +
                            + + + + \ No newline at end of file diff --git a/mystile/functions.php b/mystile/functions.php new file mode 100644 index 0000000..d68ca7d --- /dev/null +++ b/mystile/functions.php @@ -0,0 +1,59 @@ + + \ No newline at end of file diff --git a/mystile/functions/admin-backup.php b/mystile/functions/admin-backup.php new file mode 100755 index 0000000..5ba7767 --- /dev/null +++ b/mystile/functions/admin-backup.php @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/mystile/functions/admin-custom-nav.php b/mystile/functions/admin-custom-nav.php new file mode 100755 index 0000000..9f60354 --- /dev/null +++ b/mystile/functions/admin-custom-nav.php @@ -0,0 +1,99 @@ + +deprecated since version %2$s of the WooFramework! Use %3$s instead.', 'woothemes' ), $function, '5.4', __( 'WordPress Menu Management', 'woothemes' ) ) ); +} + +/*-----------------------------------------------------------------------------------*/ +/* Woothemes Custom Navigation Menu Setup +/* Setup of the Menu +/* Add Menu Item to the theme +/* Scripts - JS and CSS +/*-----------------------------------------------------------------------------------*/ + +function woo_custom_navigation_setup() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +function woo_custom_nav_reset() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +function woo_custom_navigation_menu() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +function woo_custom_nav_scripts() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + + +/*-----------------------------------------------------------------------------------*/ +/* Woothemes Custom Navigation Menu Interface +/* woo_custom_navigation() is the main function for the Custom Navigation +/* See functions in admin-functions.php +/*-----------------------------------------------------------------------------------*/ + +function woo_custom_navigation() { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +/*-----------------------------------------------------------------------------------*/ +/* WooThemes Custom Navigation Functions */ +/* woo_custom_navigation_output() displays the menu in the back/frontend +/* woo_custom_navigation_sub_items() is a recursive sub menu item function +/* woo_get_pages() +/* woo_get_categories() +/* woo_custom_navigation_default_sub_items() is a recursive sub menu item function +/*-----------------------------------------------------------------------------------*/ + +/*-----------------------------------------------------------------------------------*/ +/* Main Output Function +/* args list +/* type - frontend or backend +/* name - name of your menu +/* id - id of menu in db +/* desc - 1 = show descriptions, 2 = dont show descriptions +/* before_title - html before title is outputted in tag +/* after_title - html after title is outputted in tag +/*-----------------------------------------------------------------------------------*/ + +function woo_custom_navigation_output($args = array()) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); wp_list_pages( 'sort_column=menu_order&depth=6&title_li=&exclude=' ); } + +//RECURSIVE Sub Menu Items +function woo_custom_navigation_sub_items($post_id,$type,$table_name,$output_type,$menu_id = 0,$depth = 0,$depth_counter = 0) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//Checks if any of parent menu items children are the current page +function woo_child_is_current($parent_id, $menu_id, $table_name, $queried_id, $type_settings, $full_web_address) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//Outputs All Pages and Sub Items +function woo_get_pages($counter,$type) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//Outputs All Categories and Sub Items +function woo_get_categories($counter, $type) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +//RECURSIVE Sub Menu Items of default categories and pages +function woo_custom_navigation_default_sub_items($childof, $intCounter, $parentli, $type, $output_type) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +/*-----------------------------------------------------------------------------------*/ +/* Recursive get children */ +/*-----------------------------------------------------------------------------------*/ + +function get_children_menu_elements($childof, $intCounter, $parentli, $type, $menu_id, $table_name) { woo_custom_navigation_deprecation_notice( __FUNCTION__ ); } + +?> \ No newline at end of file diff --git a/mystile/functions/admin-custom.php b/mystile/functions/admin-custom.php new file mode 100755 index 0000000..4563424 --- /dev/null +++ b/mystile/functions/admin-custom.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/mystile/functions/admin-express-functions-deprecated.php b/mystile/functions/admin-express-functions-deprecated.php new file mode 100755 index 0000000..c48ecb7 --- /dev/null +++ b/mystile/functions/admin-express-functions-deprecated.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/mystile/functions/admin-express-functions.php b/mystile/functions/admin-express-functions.php new file mode 100755 index 0000000..c48ecb7 --- /dev/null +++ b/mystile/functions/admin-express-functions.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/mystile/functions/admin-framework-settings.php b/mystile/functions/admin-framework-settings.php new file mode 100755 index 0000000..7f3077c --- /dev/null +++ b/mystile/functions/admin-framework-settings.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/mystile/functions/admin-functions.php b/mystile/functions/admin-functions.php new file mode 100755 index 0000000..eb345f0 --- /dev/null +++ b/mystile/functions/admin-functions.php @@ -0,0 +1,3684 @@ + +ID; + } + + $thumb_id = esc_html( get_post_meta( $id, '_thumbnail_id', true ) ); + + // Set alignment + if ( $alignment == '' ) + $alignment = esc_html( get_post_meta( $id, '_image_alignment', true ) ); + + // Get standard sizes + if ( ! $width && ! $height ) { + $width = '100'; + $height = '100'; + } + + // Cast $width and $height to integer + $width = intval( $width ); + $height = intval( $height ); + + /* ------------------------------------------------------------------------- */ + /* FIND IMAGE TO USE */ + /* ------------------------------------------------------------------------- */ + + // When a custom image is sent through + if ( $src != '' ) { + $custom_field = esc_url( $src ); + $link = 'img'; + + // WP 2.9 Post Thumbnail support + } elseif ( get_option( 'woo_post_image_support' ) == 'true' && ! empty( $thumb_id ) ) { + + if ( get_option( 'woo_pis_resize' ) == 'true' ) { + + if ( 0 == $height ) { + $img_data = wp_get_attachment_image_src( $thumb_id, array( intval( $width ), 9999 ) ); + $height = $img_data[2]; + } + + // Dynamically resize the post thumbnail + $vt_crop = get_option( 'woo_pis_hard_crop' ); + if ($vt_crop == 'true' ) $vt_crop = true; else $vt_crop = false; + $vt_image = vt_resize( $thumb_id, '', $width, $height, $vt_crop ); + + // Set fields for output + $custom_field = esc_url( $vt_image['url'] ); + $width = $vt_image['width']; + $height = $vt_image['height']; + + } else { + // Use predefined size string + if ( $size ) + $thumb_size = $size; + else + $thumb_size = array( $width, $height ); + + $img_link = get_the_post_thumbnail( $id, $thumb_size, array( 'class' => 'woo-image ' . esc_attr( $class ) ) ); + } + + // Grab the image from custom field + } else { + $custom_field = esc_url( get_post_meta( $id, $key, true ) ); + } + + // Automatic Image Thumbs - get first image from post attachment + if ( empty( $custom_field ) && get_option( 'woo_auto_img' ) == 'true' && empty( $img_link ) && ! ( is_singular() && in_the_loop() && $link == 'src' ) ) { + + if( $offset >= 1 ) + $repeat = $repeat + $offset; + + $attachments = get_children( array( 'post_parent' => $id, + 'numberposts' => $repeat, + 'post_type' => 'attachment', + 'post_mime_type' => 'image', + 'order' => 'DESC', + 'orderby' => 'menu_order date') + ); + + // Search for and get the post attachment + if ( ! empty( $attachments ) ) { + $counter = -1; + foreach ( $attachments as $att_id => $attachment ) { + $counter++; + if ( $counter < $offset ) + continue; + + if ( get_option( 'woo_post_image_support' ) == 'true' && get_option( 'woo_pis_resize' ) == 'true' ) { + // Dynamically resize the post thumbnail + $vt_crop = get_option( 'woo_pis_hard_crop' ); + if ( $vt_crop == 'true' ) $vt_crop = true; else $vt_crop = false; + $vt_image = vt_resize( $att_id, '', $width, $height, $vt_crop ); + + // Set fields for output + $custom_field = esc_url( $vt_image['url'] ); + $width = $vt_image['width']; + $height = $vt_image['height']; + } else { + $src = wp_get_attachment_image_src( $att_id, 'large', true ); + $custom_field = esc_url( $src[0] ); + $attachment_id[] = $att_id; + $src_arr[] = $custom_field; + } + $thumb_id = $att_id; + $is_auto_image = true; + } + + // Get the first img tag from content + } else { + + $first_img = ''; + $post = get_post( $id ); + ob_start(); + ob_end_clean(); + $output = preg_match_all( '//i', $post->post_content, $matches ); + if ( !empty($matches[1][0]) ) { + + // Save Image URL + $custom_field = esc_url( $matches[1][0] ); + + // Search for ALT tag + $output = preg_match_all( '//i', $post->post_content, $matches ); + if ( !empty($matches[1][0]) ) { + $alt = esc_attr( $matches[1][0] ); + } + } + + } + + } + + // Check if there is YouTube embed + if ( empty( $custom_field ) && empty( $img_link ) ) { + $embed = esc_html( get_post_meta( $id, 'embed', true ) ); + if ( $embed ) + $custom_field = esc_url( woo_get_video_image( $embed ) ); + } + + // Return if there is no attachment or custom field set + if ( empty( $custom_field ) && empty( $img_link ) ) { + + // Check if default placeholder image is uploaded + // $placeholder = get_option( 'framework_woo_default_image' ); + $placeholder = WF()->get_placeholder_image_url(); + if ( $placeholder && !(is_singular() && in_the_loop()) ) { + $custom_field = esc_url( $placeholder ); + + // Resize the placeholder if + if ( get_option( 'woo_post_image_support' ) == 'true' && get_option( 'woo_pis_resize' ) == 'true' ) { + // Dynamically resize the post thumbnail + $vt_crop = get_option( 'woo_pis_hard_crop' ); + if ($vt_crop == 'true' ) $vt_crop = true; else $vt_crop = false; + $vt_image = vt_resize( '', $placeholder, $width, $height, $vt_crop ); + + // Set fields for output + $custom_field = esc_url( $vt_image['url'] ); + $width = $vt_image['width']; + $height = $vt_image['height']; + } + } else { + return; + } + } + + if(empty( $src_arr ) && empty( $img_link ) ) { $src_arr[] = $custom_field; } + + /* ------------------------------------------------------------------------- */ + /* BEGIN OUTPUT */ + /* ------------------------------------------------------------------------- */ + + $output = ''; + + // Set output height and width + $set_width = ' width="' . esc_attr( $width ) . '" '; + $set_height = ''; + + if ( ! $noheight && 0 < $height ) + $set_height = ' height="' . esc_attr( $height ) . '" '; + + // Set standard class + if ( $class ) $class = 'woo-image ' . esc_attr( $class ); else $class = 'woo-image'; + + // Do check to verify if images are smaller then specified. + if($force == true){ $set_width = ''; $set_height = ''; } + + // WP Post Thumbnail + if( ! empty( $img_link ) ) { + + if( $link == 'img' ) { // Output the image without anchors + $output .= wp_kses_post( $before ); + $output .= $img_link; + $output .= wp_kses_post( $after ); + } elseif( $link == 'url' ) { // Output the large image + $src = wp_get_attachment_image_src( $thumb_id, 'large', true ); + $custom_field = esc_url( $src[0] ); + $output .= $custom_field; + } else { // Default - output with link + if ( ( is_single() || is_page() ) && $single == false ) { + $rel = 'rel="lightbox"'; + $href = false; + } else { + $href = get_permalink( $id ); + $rel = ''; + } + + $title = 'title="' . esc_attr( get_the_title( $id ) ) .'"'; + + $output .= wp_kses_post( $before ); + if($href == false){ + $output .= $img_link; + } else { + $output .= '' . $img_link . ''; + } + + $output .= wp_kses_post( $after ); + } + } + + // Use thumb.php to resize. Skip if image has been natively resized with vt_resize. Make sure thumb.php exists on purpose in a child theme. + elseif ( get_option( 'woo_resize') == 'true' && empty( $vt_image['url'] )/* && file_exists( get_stylesheet_directory_uri() . '/thumb.php' )*/ ) { + + foreach( $src_arr as $key => $custom_field ) { + + // Clean the image URL + $href = esc_url( $custom_field ); + $custom_field = cleanSource( $custom_field ); + + // Check if WPMU and set correct path AND that image isn't external + if ( function_exists( 'get_current_site') ) { + get_current_site(); + //global $blog_id; Breaks with WP3 MS + if ( !$blog_id ) { + global $current_blog; + $blog_id = $current_blog->blog_id; + } + if ( isset($blog_id) && $blog_id > 0 ) { + $imageParts = explode( 'files/', $custom_field ); + if ( isset( $imageParts[1] ) ) + $custom_field = '/blogs.dir/' . $blog_id . '/files/' . $imageParts[1]; + } + } + + //Set the ID to the Attachment's ID if it is an attachment + if($is_auto_image == true){ + $quick_id = $attachment_id[$key]; + } else { + $quick_id = $id; + } + + //Set custom meta + if ($meta) { + $alt = $meta; + $title = 'title="' . esc_attr( $meta ) . '"'; + } else { + if ( ( $alt != '' ) || ! ( $alt = get_post_meta( $thumb_id, '_wp_attachment_image_alt', true ) ) ) { + $alt = esc_attr( get_post_meta( $thumb_id, '_wp_attachment_image_alt', true ) ); + } else { + $alt = esc_attr( get_the_title( $quick_id ) ); + } + $title = 'title="'. esc_attr( get_the_title( $quick_id ) ) .'"'; + } + + // Set alignment parameter + if ( $alignment != '' ) + $alignment = '&a=' . urlencode( $alignment ); + + $img_url = esc_url( get_template_directory_uri() . '/functions/thumb.php?src=' . $custom_field . '&w=' . $width . '&h=' . $height . '&zc=1&q=' . $quality . $alignment ); + $img_link = '' . esc_attr( $alt ) . ''; + + if( $link == 'img' ) { // Just output the image + $output .= wp_kses_post( $before ); + $output .= $img_link; + $output .= wp_kses_post( $after ); + + } elseif( $link == 'url' ) { // Output the image without anchors + + if($is_auto_image == true){ + $src = wp_get_attachment_image_src($thumb_id, 'large', true); + $custom_field = esc_url( $src[0] ); + } + $output .= $href; + + } else { // Default - output with link + + if ( ( is_single() || is_page() ) && $single == false ) { + $rel = 'rel="lightbox"'; + } else { + $href = get_permalink( $id ); + $rel = ''; + } + + $output .= wp_kses_post( $before ); + $output .= '' . $img_link . ''; + $output .= wp_kses_post( $after ); + } + } + + // No dynamic resizing + } else { + foreach( $src_arr as $key => $custom_field ) { + + //Set the ID to the Attachment's ID if it is an attachment + if( $is_auto_image == true && isset( $attachment_id[$key] ) ){ + $quick_id = $attachment_id[$key]; + } else { + $quick_id = $id; + } + + //Set custom meta + if ($meta) { + $alt = esc_attr( $meta ); + $title = 'title="'. esc_attr( $meta ) .'"'; + } else { + if ( empty( $alt ) ) $alt = esc_attr( get_post_meta( $thumb_id, '_wp_attachment_image_alt', true ) ); + $title = 'title="'. esc_attr( get_the_title( $quick_id ) ) .'"'; + } + + if ( empty( $alt ) ) { + $alt = esc_attr( get_post( $thumb_id )->post_excerpt ); // If not, Use the Caption + } + + if ( empty( $alt ) ) { + $alt = esc_attr( get_post( $thumb_id )->post_title ); // Finally, use the title + } + + $img_link = '' . esc_attr( $alt ) . ''; + + if ( $link == 'img' ) { // Just output the image + $output .= wp_kses_post( $before ); + $output .= $img_link; + $output .= wp_kses_post( $after ); + + } elseif( $link == 'url' ) { // Output the URL to original image + if ( $vt_image['url'] || $is_auto_image ) { + $src = wp_get_attachment_image_src( $thumb_id, 'full', true ); + $custom_field = esc_url( $src[0] ); + } + $output .= $custom_field; + + } else { // Default - output with link + + if ( ( is_single() || is_page() ) && $single == false ) { + + // Link to the large image if single post + if ( $vt_image['url'] || $is_auto_image ) { + $src = wp_get_attachment_image_src( $thumb_id, 'full', true ); + $custom_field = esc_url( $src[0] ); + } + + $href = $custom_field; + $rel = 'rel="lightbox"'; + } else { + $href = get_permalink( $id ); + $rel = ''; + } + + $output .= wp_kses_post( $before ); + $output .= '' . $img_link . ''; + $output .= wp_kses_post( $after ); + } + } + } + + // Remove no height attribute - IE fix when no height is set + $output = str_replace( 'height=""', '', $output ); + $output = str_replace( 'height="0"', '', $output ); + + // Return or echo the output + if ( $return == TRUE ) + return $output; + else + echo $output; // Done + +} +} + +/* Get thumbnail from Video Embed code */ +if ( ! function_exists( 'woo_get_video_image' ) ) { +function woo_get_video_image( $embed ) { + $video_thumb = ''; + + // YouTube - get the video code if this is an embed code (old embed) + preg_match( '/youtube\.com\/v\/([\w\-]+)/', $embed, $match ); + + // YouTube - if old embed returned an empty ID, try capuring the ID from the new iframe embed + if( ! isset( $match[1] ) ) + preg_match( '/youtube\.com\/embed\/([\w\-]+)/', $embed, $match ); + + // YouTube - if it is not an embed code, get the video code from the youtube URL + if( ! isset( $match[1] ) ) + preg_match( '/v\=(.+)&/', $embed, $match ); + + // YouTube - get the corresponding thumbnail images + if( isset( $match[1] ) ) + $video_thumb = "http://img.youtube.com/vi/" . urlencode( $match[1] ) . "/0.jpg"; + + // return whichever thumbnail image you would like to retrieve + return $video_thumb; +} // End woo_get_video_image() +} + + +/*-----------------------------------------------------------------------------------*/ +/* vt_resize - Resize images dynamically using wp built in functions +/*-----------------------------------------------------------------------------------*/ +/* + * Resize images dynamically using wp built in functions + * Victor Teixeira + * + * php 5.2+ + * + * Exemplo de uso: + * + * + * + * + * @param int $attach_id + * @param string $img_url + * @param int $width + * @param int $height + * @param bool $crop + * @return array + */ +if ( ! function_exists( 'vt_resize' ) ) { + function vt_resize( $attach_id = null, $img_url = null, $width, $height, $crop = false ) { + + // Cast $width and $height to integer + $width = intval( $width ); + $height = intval( $height ); + + // this is an attachment, so we have the ID + if ( $attach_id ) { + $image_src = wp_get_attachment_image_src( $attach_id, 'full' ); + $file_path = get_attached_file( $attach_id ); + // this is not an attachment, let's use the image url + } else if ( $img_url ) { + $file_path = parse_url( esc_url( $img_url ) ); + $file_path = $_SERVER['DOCUMENT_ROOT'] . $file_path['path']; + + //$file_path = ltrim( $file_path['path'], '/' ); + //$file_path = rtrim( ABSPATH, '/' ).$file_path['path']; + + $orig_size = getimagesize( $file_path ); + + $image_src[0] = $img_url; + $image_src[1] = $orig_size[0]; + $image_src[2] = $orig_size[1]; + } + + $file_info = pathinfo( $file_path ); + + // check if file exists + if ( !isset( $file_info['dirname'] ) && !isset( $file_info['filename'] ) && !isset( $file_info['extension'] ) ) + return; + + $base_file = $file_info['dirname'].'/'.$file_info['filename'].'.'.$file_info['extension']; + if ( !file_exists($base_file) ) + return; + + $extension = '.'. $file_info['extension']; + + // the image path without the extension + $no_ext_path = $file_info['dirname'].'/'.$file_info['filename']; + + $cropped_img_path = $no_ext_path.'-'.$width.'x'.$height.$extension; + + // checking if the file size is larger than the target size + // if it is smaller or the same size, stop right here and return + if ( $image_src[1] > $width ) { + // the file is larger, check if the resized version already exists (for $crop = true but will also work for $crop = false if the sizes match) + if ( file_exists( $cropped_img_path ) ) { + $cropped_img_url = str_replace( basename( $image_src[0] ), basename( $cropped_img_path ), $image_src[0] ); + + $vt_image = array ( + 'url' => $cropped_img_url, + 'width' => $width, + 'height' => $height + ); + return $vt_image; + } + + // $crop = false or no height set + if ( $crop == false OR !$height ) { + // calculate the size proportionaly + $proportional_size = wp_constrain_dimensions( $image_src[1], $image_src[2], $width, $height ); + $resized_img_path = $no_ext_path.'-'.$proportional_size[0].'x'.$proportional_size[1].$extension; + + // checking if the file already exists + if ( file_exists( $resized_img_path ) ) { + $resized_img_url = str_replace( basename( $image_src[0] ), basename( $resized_img_path ), $image_src[0] ); + + $vt_image = array ( + 'url' => $resized_img_url, + 'width' => $proportional_size[0], + 'height' => $proportional_size[1] + ); + return $vt_image; + } + } + + // check if image width is smaller than set width + $img_size = getimagesize( $file_path ); + if ( $img_size[0] <= $width ) $width = $img_size[0]; + + // Check if GD Library installed + if ( ! function_exists ( 'imagecreatetruecolor' ) ) { + echo 'GD Library Error: imagecreatetruecolor does not exist - please contact your webhost and ask them to install the GD library'; + return; + } + + // no cache files - let's finally resize it + if ( function_exists( 'wp_get_image_editor' ) ) { + $image = wp_get_image_editor( $file_path ); + if ( ! is_wp_error( $image ) ) { + $image->resize( $width, $height, $crop ); + $save_data = $image->save(); + if ( isset( $save_data['path'] ) ) $new_img_path = $save_data['path']; + } + } else { + $new_img_path = image_resize( $file_path, $width, $height, $crop ); + } + + $new_img_size = getimagesize( $new_img_path ); + $new_img = str_replace( basename( $image_src[0] ), basename( $new_img_path ), $image_src[0] ); + + // resized output + $vt_image = array ( + 'url' => $new_img, + 'width' => $new_img_size[0], + 'height' => $new_img_size[1] + ); + + return $vt_image; + } + + // default output - without resizing + $vt_image = array ( + 'url' => $image_src[0], + 'width' => $width, + 'height' => $height + ); + + return $vt_image; + } +} + +/*-----------------------------------------------------------------------------------*/ +/* Depreciated - woo_get_image - Get Image from custom field */ +/*-----------------------------------------------------------------------------------*/ + +// Depreciated +function woo_get_image($key = 'image', $width = null, $height = null, $class = "thumbnail", $quality = 90,$id = null,$link = 'src',$repeat = 1,$offset = 0,$before = '', $after = '',$single = false, $force = false, $return = false) { + // Run new function + woo_image( 'key='.$key.'&width='.$width.'&height='.$height.'&class='.$class.'&quality='.$quality.'&id='.$id.'&link='.$link.'&repeat='.$repeat.'&offset='.$offset.'&before='.$before.'&after='.$after.'&single='.$single.'&fore='.$force.'&return='.$return ); + return; +} // End woo_get_image() + +/*-----------------------------------------------------------------------------------*/ +/* woo_embed - Get Video embed code from custom field */ +/*-----------------------------------------------------------------------------------*/ + +/* +Get Video +This function gets the embed code from the custom field +Parameters: + $key = Custom field key eg. "embed" + $width = Set width manually without using $type + $height = Set height manually without using $type + $class = Custom class to apply to wrapping div + $id = ID from post to pull custom field from +*/ + +if ( ! function_exists( 'woo_embed' ) ) { +function woo_embed( $args ) { + //Defaults + $key = 'embed'; + $width = null; + $height = null; + $class = 'video'; + $id = null; + $preserve_dimensions = false; + + if ( ! is_array( $args ) ) + parse_str( $args, $args ); + + extract( $args ); + + if( empty( $id ) ) { + global $post; + $id = $post->ID; + } + +// Cast $width and $height to integer +$width = intval( $width ); +$height = intval( $height ); + +$custom_field = esc_textarea( get_post_meta( $id, $key, true ) ); +if ( $custom_field ) : + $custom_field = html_entity_decode( $custom_field ); // Decode HTML entities. + + // Only run oEmbed checks if we definitely don't have any HTML tags in the field. + if ( $custom_field == strip_tags( $custom_field ) ) { + $custom_field = wp_oembed_get( $custom_field ); + } + + // If we definitely don't have a video, get out. + if ( '' == $custom_field ) return false; + + // Store dimensions that were passed through the arguments. + $org_width = $width; + $org_height = $height; + + // Store the dimensions present in the embed code. + $embed_width = ''; + $embed_height = ''; + + $raw_values = explode( ' ', $custom_field ); + + if ( 0 < count( $raw_values ) ) { + foreach ( $raw_values as $raw ) { + $embed_params = explode( '=', $raw ); + if ( 'width' == $embed_params[0] ) { + $embed_width = preg_replace( '/[^0-9]/', '', $embed_params[1]); + } elseif ( 'height' == $embed_params[0] ) { + $embed_height = preg_replace( '/[^0-9]/', '', $embed_params[1]); + } + } + } + + // If we have a width and no height, calculate the height. + if ( '' == $org_height && '' != $org_width ) { + // Store a calculated height ratio. + $calculated_height = ''; + + $float_width = floatval( $embed_width ); + $float_height = floatval( $embed_height ); + $float_ratio = floatval( $float_height / $float_width ); + $calculated_height = intval( $float_ratio * $width ); + + // Set the height. + $height = $calculated_height; + } + + // Custom height check (last minute). + if ( 0 >= intval( $width ) ) $width = intval( ( get_post_meta( $id, 'width', true ) ) ); + if ( 0 >= intval( $height ) ) $height = intval( get_post_meta( $id, 'height', true ) ); + + $atts = array( 'width' => $width, 'height' => $height ); + $styles = array(); + $styles_string = ''; + + if ( 0 < count( $atts ) ) { + foreach ( $atts as $k => $v ) { + $atts[$k] = $k . '="' . esc_attr( $v ) . '"'; + $styles_string .= $k . ':' . intval( $v ) . 'px;'; + } + } + + if ( '' != $styles_string ) { + $styles_string = ' style="' . $styles_string . '"'; + } + + $custom_field = stripslashes( $custom_field ); + if ( true != $preserve_dimensions ) { + $custom_field = preg_replace( '/width="([0-9]*)"/' , $atts['width'], $custom_field ); + $custom_field = preg_replace( '/height="([0-9]*)"/' , $atts['height'], $custom_field ); + $custom_field = str_replace( ' src="', $styles_string . ' src="', $custom_field ); + } + + // Suckerfish menu hack + $custom_field = str_replace( '' . $custom_field . '
                            '; + + return apply_filters( 'woo_embed', $output ); +else : + return false; +endif; +} +} + +/*-----------------------------------------------------------------------------------*/ +/* Add default filters to woo_embed() */ +/*-----------------------------------------------------------------------------------*/ + +add_filter( 'woo_embed', 'do_shortcode' ); + +/*-----------------------------------------------------------------------------------*/ +/* Depreciated - woo_get_embed - Get Video embed code from custom field */ +/*-----------------------------------------------------------------------------------*/ +// Depreciated +function woo_get_embed( $key = 'embed', $width, $height, $class = 'video', $id = null, $preserve_dimensions = false ) { + // Run new function + return woo_embed( 'key=' . $key . '&width=' . $width . '&height=' . $height . '&class=' . $class . '&id=' . $id . '&preserve_dimensions=' . $preserve_dimensions ); +} // End woo_get_embed() + +/*-----------------------------------------------------------------------------------*/ +/* Woo Show Page Menu */ +/*-----------------------------------------------------------------------------------*/ +// Show menu in header.php +// Exlude the pages from the slider +function woo_show_pagemenu( $exclude = '' ) { + // Split the featured pages from the options, and put in an array + if ( get_option( 'woo_ex_featpages') ) { + $menupages = get_option( 'woo_featpages' ); + $exclude = $menupages . ',' . $exclude; + } + + $pages = wp_list_pages( 'sort_column=menu_order&title_li=&echo=0&depth=1&exclude=' . $exclude ); + $pages = preg_replace( '%]+)>%U','', $pages ); + $pages = str_replace( '','', $pages ); + echo $pages; +} // End woo_show_pagemenu() + +/*-----------------------------------------------------------------------------------*/ +/* Get the style path currently selected */ +/*-----------------------------------------------------------------------------------*/ +function woo_style_path() { + $return = ''; + + $style = $_REQUEST['style']; + + // Sanitize request input. + $style = esc_attr( strtolower( trim( strip_tags( $style ) ) ) ); + + if ( $style != '' ) { + $style_path = $style; + } else { + $stylesheet = esc_attr( get_option( 'woo_alt_stylesheet' ) ); + + // Prevent against an empty return to $stylesheet. + if ( $stylesheet == '' ) { + $stylesheet = 'default.css'; + } + + $style_path = str_replace( '.css', '', $stylesheet ); + } + + if ( $style_path == 'default' ) { + $return = 'images'; + } else { + $return = 'styles/' . $style_path; + } + + echo esc_html( $return ); +} // End woo_style_path() + + +/*-----------------------------------------------------------------------------------*/ +/* Get page ID */ +/*-----------------------------------------------------------------------------------*/ +function get_page_id( $page_slug ) { + $page_id = get_page_by_path( $page_slug ); + if ($page_id) { + return $page_id->ID; + } else { + return null; + } +} // End get_page_id() + +/*-----------------------------------------------------------------------------------*/ +/* Tidy up the image source url */ +/*-----------------------------------------------------------------------------------*/ +function cleanSource( $src ) { + // remove slash from start of string + if(strpos($src, "/") == 0) { + $src = substr($src, -(strlen($src) - 1)); + } + + // Check if same domain so it doesn't strip external sites + $host = str_replace( 'www.', '', $_SERVER['HTTP_HOST'] ); + if ( ! strpos( $src, $host ) ) + return $src; + + + $regex = "/^((ht|f)tp(s|):\/\/)(www\.|)" . $host . "/i"; + $src = preg_replace ( $regex, '', $src ); + $src = htmlentities ( $src ); + + // remove slash from start of string + if ( strpos( $src, '/' ) === 0 ) { + $src = substr ( $src, -( strlen( $src ) - 1 ) ); + } + + return $src; +} // End cleanSource() + +/*-----------------------------------------------------------------------------------*/ +/* Show image in RSS feed */ +/* Original code by Justin Tadlock */ +/*-----------------------------------------------------------------------------------*/ +if ( 'true' == get_option( 'woo_rss_thumb', false ) || true == apply_filters( 'wf_add_image_to_rss', false ) ) { + if ( get_option( 'rss_use_excerpt' ) ) + add_filter( 'the_excerpt_rss', 'add_image_RSS' ); + else + add_filter( 'the_content_feed', 'add_image_RSS' ); +} + +/** + * Maybe add the featured image to the RSS feed. + * @param string $content The content of the specified RSS feed item. + * @since 1.0.0 + * @return string + */ +function add_image_RSS ( $content ) { + if ( ! is_feed() ) return $content; + global $post, $id; + + // Get the "image" from custom field + $image = woo_image( 'return=true&link=url' ); + $image_width = intval( apply_filters( 'wf_add_image_to_rss_width', 240 ) ); + + // If there's an image, display the image with the content + if( '' != $image ) { + $content = '

                            + +

                            ' . $content; + } + return $content; +} // End add_image_RSS() + + + +/*-----------------------------------------------------------------------------------*/ +/* Show analytics code in footer */ +/*-----------------------------------------------------------------------------------*/ +function woo_analytics(){ + $output = get_option( 'woo_google_analytics' ); + if ( $output != '' ) + echo stripslashes( $output ) . "\n"; +} // End woo_analytics() +add_action( 'wp_footer','woo_analytics' ); + + + +/*-----------------------------------------------------------------------------------*/ +/* Browser detection body_class() output */ +/*-----------------------------------------------------------------------------------*/ +add_filter( 'body_class','browser_body_class' ); +function browser_body_class( $classes ) { + global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone; + + if($is_lynx) $classes[] = 'lynx'; + elseif($is_gecko) $classes[] = 'gecko'; + elseif($is_opera) $classes[] = 'opera'; + elseif($is_NS4) $classes[] = 'ns4'; + elseif($is_safari) $classes[] = 'safari'; + elseif($is_chrome) $classes[] = 'chrome'; + elseif($is_IE) { + $browser = $_SERVER['HTTP_USER_AGENT']; + $browser = substr( "$browser", 25, 8); + if ($browser == "MSIE 7.0" ) { + $classes[] = 'ie7'; + $classes[] = 'ie'; + } elseif ($browser == "MSIE 6.0" ) { + $classes[] = 'ie6'; + $classes[] = 'ie'; + } elseif ($browser == "MSIE 8.0" ) { + $classes[] = 'ie8'; + $classes[] = 'ie'; + } elseif ($browser == "MSIE 9.0" ) { + $classes[] = 'ie9'; + $classes[] = 'ie'; + } else { + $classes[] = 'ie'; + } + } + else $classes[] = 'unknown'; + + if( $is_iphone ) $classes[] = 'iphone'; + + // Alternative style body class. + $style = get_option( 'woo_alt_stylesheet', 'default' ); + $style = str_replace( '.css', '', $style ); + if ( '' != $style ) { + $classes[] = 'alt-style-' . esc_attr( $style ); + } + return $classes; +} // End browser_body_class() + +/*-----------------------------------------------------------------------------------*/ +/* Twitter's Blogger.js output for Twitter widgets */ +/*-----------------------------------------------------------------------------------*/ + +if ( ! function_exists( 'woo_twitter_script' ) ) { + function woo_twitter_script() { + _deprecated_function( __FUNCTION__, '6.0.0', __( 'WooDojo Twitter widgets.', 'woothemes' ) ); + return false; + } // End woo_twitter_script() +} + +/*-----------------------------------------------------------------------------------*/ +/* Deprecated: Template Detector */ +/*-----------------------------------------------------------------------------------*/ +function woo_active_template( $filename = null ) { + _deprecated_function( __FUNCTION__, '5.4.0' ); + return false; // No $filename argument was set +} // End woo_active_template() + +/*-----------------------------------------------------------------------------------*/ +/* WooFramework Update Page */ +/*-----------------------------------------------------------------------------------*/ + +function woothemes_framework_update_page() { + // Clear transients. + delete_transient( 'woo_framework_critical_update' ); + delete_transient( 'woo_framework_critical_update_data' ); + delete_transient( 'wooframework_version_data' ); + + $method = get_filesystem_method(); + + $to = ABSPATH . 'wp-content/themes/' . get_option( 'template' ) . '/functions/'; + if(isset($_POST['password'])){ + + $cred = $_POST; + $filesystem = WP_Filesystem($cred); + + } + elseif(isset($_POST['woo_ftp_cred'])){ + + $cred = unserialize(base64_decode($_POST['woo_ftp_cred'])); + $filesystem = WP_Filesystem($cred); + + } else { + + $filesystem = WP_Filesystem(); + + }; + $url = admin_url( 'admin.php?page=woothemes_framework_update' ); + ?> +
                            + + +

                            + +
                            + + + +

                            +

                            +

                            +

                            Your version:

                            + +

                            Current Version:

                            + + +

                            You have the latest version of WooFramework

                            +

                            Your version:

                            + +

                            + + + +
                            + +
                            +

                            Failed: Filesystem preventing downloads. ( ". $method .")